1 |
%define major 2 |
2 |
%define libname %mklibname %{name} %{major} |
3 |
%define develname %mklibname %{name} -d |
4 |
%define svnrev 2613 |
5 |
|
6 |
Summary: Professional 3D collision detection library |
7 |
Name: bullet |
8 |
Version: 2.81 |
9 |
Release: %mkrel 2 |
10 |
License: Zlib |
11 |
Group: System/Libraries |
12 |
URL: http://www.bulletphysics.com |
13 |
Source0: http://bullet.googlecode.com/files/%{name}-%{version}-rev%{svnrev}.tgz |
14 |
Patch0: bullet-2.77-extras-version.patch |
15 |
BuildRequires: doxygen |
16 |
BuildRequires: GL-devel |
17 |
BuildRequires: freeglut-devel |
18 |
BuildRequires: cmake |
19 |
BuildRequires: libtool |
20 |
BuildRequires: libxml2-devel |
21 |
BuildRequires: graphviz |
22 |
BuildRequires: perl-Template-Toolkit |
23 |
|
24 |
%description |
25 |
Bullet is a professional open source multi-threaded |
26 |
3D Collision Detection and Rigid Body Dynamics Library |
27 |
for games and animation. |
28 |
|
29 |
%package demo |
30 |
Summary: A demo programs using bullet library |
31 |
Group: Graphics/Utilities |
32 |
Requires: %{libname} = %{version}-%{release} |
33 |
|
34 |
%description demo |
35 |
A demo programs using bullet library. |
36 |
|
37 |
%package -n %{libname} |
38 |
Summary: Professional 3D collision detection library |
39 |
Group: System/Libraries |
40 |
|
41 |
%description -n %{libname} |
42 |
Bullet 3D Game Multiphysics Library provides state of the art |
43 |
collision detection, soft body and rigid body dynamics. |
44 |
|
45 |
* Modular extendible C++ design with hot-swap of most components |
46 |
* Optimized back-ends with multi-threaded support for Playstation 3 |
47 |
Cell SPU and other platforms |
48 |
* Discrete and continuous collision detection (CCD) |
49 |
* Swept collision queries |
50 |
* Ray casting with custom collision filtering |
51 |
* Generic convex support (using GJK), capsule, cylinder, cone, sphere, |
52 |
box and non-convex triangle meshes. |
53 |
* Rigid body dynamics including constraint solvers, generic |
54 |
constraints, ragdolls, hinge, ball-socket |
55 |
* Support for constraint limits and motors |
56 |
* Soft body support including cloth, rope and deformable |
57 |
* Bullet is integrated into Blender 3D and provides a Maya Plugin |
58 |
* Supports import and export into COLLADA 1.4 Physics format |
59 |
* Support for dynamic deformation of non-convex triangle meshes, by |
60 |
refitting the acceleration structures |
61 |
|
62 |
The Library is free for commercial use and open source |
63 |
under the ZLib License. |
64 |
|
65 |
%package -n %{develname} |
66 |
Summary: Development headers for bullet |
67 |
Group: Development/C |
68 |
Provides: %{name}-devel = %{version}-%{release} |
69 |
Provides: lib%{name}-devel = %{version}-%{release} |
70 |
Requires: %{libname} = %{version}-%{release} |
71 |
Requires: libxml2-devel |
72 |
|
73 |
%description -n %{develname} |
74 |
Development headers for bullet 3D collision library. |
75 |
|
76 |
%prep |
77 |
%setup -q -n %{name}-%{version}-rev%{svnrev} |
78 |
%patch0 -p1 |
79 |
rm -f src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/CMakeLists.txt Demos/OpenCLClothDemo/CMakeLists.txt |
80 |
|
81 |
%build |
82 |
%cmake \ |
83 |
-DBUILD_EXTRAS=ON -DINCLUDE_INSTALL_DIR=%{_includedir}/bullet |
84 |
%make |
85 |
|
86 |
%install |
87 |
cd build |
88 |
%makeinstall_std |
89 |
|
90 |
#install demos |
91 |
mkdir -p %{buildroot}%{_bindir} |
92 |
for i in `find -type f -name *Demo`; do |
93 |
install -m 755 $i %{buildroot}%{_bindir}/bullet-`basename $i` |
94 |
done |
95 |
|
96 |
# install libs from Extras |
97 |
pushd Extras |
98 |
find . -name '*.so*' -exec cp -a {} %{buildroot}%{_libdir} \; |
99 |
popd |
100 |
# install libs from Demos |
101 |
pushd Demos |
102 |
find . -name '*.so*' -exec cp -a {} %{buildroot}%{_libdir} \; |
103 |
popd |
104 |
|
105 |
pushd %{buildroot}%{_libdir} |
106 |
for f in lib*.so.*.* |
107 |
do |
108 |
ln -sf $f ${f%\.*} |
109 |
done |
110 |
popd |
111 |
|
112 |
%files demo |
113 |
%{_bindir}/%{name}-* |
114 |
|
115 |
%files -n %{libname} |
116 |
%{_libdir}/*.so.%{major}* |
117 |
|
118 |
%files -n %{develname} |
119 |
%doc AUTHORS README ChangeLog NEWS VERSION *.pdf |
120 |
%dir %{_includedir}/%{name} |
121 |
%{_libdir}/*.so |
122 |
%{_includedir}/%{name}/* |
123 |
%{_libdir}/pkgconfig/%{name}.pc |