#
-%define patch %{nil}
-
-Summary: Bullet - Collision Detection and Rigid Body Dynamics Library.
-Summary(pl.UTF-8): Bullet
+# Conditional build:
+%bcond_with opencl_amd # AMD OpenCL
+%bcond_with opencl_intel # Intel OpenCL (64-bit)
+%bcond_with opencl_nvidia # NVidia OpenCL
+#
+Summary: Bullet - collision detection and rigid body dynamics library
+Summary(pl.UTF-8): Bullet - biblioteka wykrywania kolizji oraz dynamiki ciała sztywnego
Name: bullet
-Version: 2.74
-Release: 0.99
-License: Zlib
-Group: Applications
-Source0: http://bullet.googlecode.com/files/%{name}-%{version}%{patch}.tgz
-# Source0-md5: a444e0a5cd528c91356490ed7f25e262
-URL: http://www.bulletphysics.com/Bullet/wordpress/
+Version: 2.82
+Release: 1
+License: Zlib (BSD-like)
+Group: Libraries
+#Source0Download: https://code.google.com/p/bullet/downloads/list
+Source0: http://bullet.googlecode.com/files/%{name}-%{version}-r2704.tgz
+# Source0-md5: 70b3c8d202dee91a0854b4cbc88173e8
+Patch0: %{name}-link.patch
+URL: http://bulletphysics.org/wordpress/
+BuildRequires: OpenCL-devel
+BuildRequires: OpenGL-GLU-devel
+BuildRequires: OpenGL-glut-devel
+BuildRequires: cmake >= 2.4.3
+BuildRequires: libstdc++-devel
+BuildRequires: rpmbuild(macros) >= 1.600
+BuildRequires: unzip
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Bullet is a Collision Detection and Rigid Body Dynamics Library.
+Bullet is a collision detection and rigid nody dynamics library.
%description -l pl.UTF-8
+Bullet to biblioteka wykrywania kolizji oraz dynamiki ciała sztywnego.
%package devel
-Summary: Header files for ... library
-Summary(pl.UTF-8): Pliki nagłówkowe biblioteki ...
+Summary: Header files for bullet libraries
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek bullet
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: OpenCL-devel
+Requires: OpenGL-GLU-devel
+Requires: OpenGL-glut-devel
%description devel
-Header files for ... library.
+Header files for bullet libraries.
%description devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki ....
-
-%package static
-Summary: Static ... library
-Summary(pl.UTF-8): Statyczna biblioteka ...
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-
-%description static
-Static ... library.
-
-%description static -l pl.UTF-8
-Statyczna biblioteka ....
+Pliki nagłówkowe bibliotek bullet.
%prep
-%setup -q
+%setup -q -n %{name}-%{version}-r2704
+%patch0 -p1
%build
-./autogen.sh
-%configure
+install -d pkgbuild
+cd pkgbuild
+%cmake .. \
+ %{!?with_opencl_amd:-DAMD_OPENCL_BASE_DIR:BOOL=OFF} \
+ %{!?with_opencl_intel:-DINTEL_OPENCL_ICD_CFG:BOOL=OFF} \
+ %{!?with_opencl_nvidia:-DNVIDIA_OPENCL_ICD_CFG:BOOL=OFF} \
+ -DBUILD_DEMOS=OFF \
+ -DBUILD_EXTRAS=ON \
+ -DBUILD_MULTITHREADING=ON \
+ -DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \
+
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-cat install-sh | tr -d '\r' > install-sh2
-mv install-sh2 install-sh
-
-%{__make} install \
+%{__make} -C pkgbuild install \
DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
-%if %{with ldconfig}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%endif
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README
-%attr (755,root,root) %{_libdir}/lib%{name}*.so.*.*
+%doc AUTHORS COPYING ChangeLog NEWS README
+%attr(755,root,root) %{_libdir}/libBulletCollision.so.*.*
+%attr(755,root,root) %{_libdir}/libBulletDynamics.so.*.*
+%attr(755,root,root) %{_libdir}/libBulletMultiThreaded.so.*.*
+%attr(755,root,root) %{_libdir}/libBulletSoftBody.so.*.*
+%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_Mini.so.*.*
+%{?with_opencl_amd:%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_AMD.so.*.*}
+%{?with_opencl_intel:%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_Intel.so.*.*}
+%{?with_opencl_nvidia:%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_NVidia.so.*.*}
+%attr(755,root,root) %{_libdir}/libLinearMath.so.*.*
+%attr(755,root,root) %{_libdir}/libMiniCL.so.*.*
%files devel
-%defattr(644,root,root)
-%attr(755,root,root) %{_libdir}/lib%{name}*.so
-%attr(755,root,root) %{_libdir}/lib%{name}*.so.*
-%attr(644,root,root) %{_libdir}/lib%{name}*.la
-%{_includedir}/%{name}/
-%{_pkgconfigdir}/%{name}.pc
-
-%files static
-%{_libdir}/lib%{name}*.a
+%defattr(644,root,root,755)
+%doc Bullet_User_Manual.pdf
+%attr(755,root,root) %{_libdir}/libBulletCollision.so
+%attr(755,root,root) %{_libdir}/libBulletDynamics.so
+%attr(755,root,root) %{_libdir}/libBulletMultiThreaded.so
+%attr(755,root,root) %{_libdir}/libBulletSoftBody.so
+%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_Mini.so
+%{?with_opencl_amd:%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_AMD.so}
+%{?with_opencl_intel:%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_Intel.so}
+%{?with_opencl_nvidia:%attr(755,root,root) %{_libdir}/libBulletSoftBodySolvers_OpenCL_NVidia.so}
+%attr(755,root,root) %{_libdir}/libLinearMath.so
+%attr(755,root,root) %{_libdir}/libMiniCL.so
+%{_includedir}/bullet
+%{_libdir}/cmake/bullet
+%{_pkgconfigdir}/bullet.pc