#
# Conditional build:
-%bcond_with tests # build with tests
-%bcond_without tests # build without tests
+%bcond_with opencl_amd # AMD OpenCL
+%bcond_with opencl_intel # Intel OpenCL (64-bit)
+%bcond_with opencl_nvidia # NVidia OpenCL
#
-%define patch -beta1
-
-Summary: Bullet
-Summary(pl.UTF-8): Bullet
+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.1
-License: GPL
-Group: Applications
-Source0: http://bullet.googlecode.com/files/%{name}-%{version}%{patch}.tgz
-# Source0-md5: 7c3daad95d1a07be0fea35aaa9c67db7
-#Source1: -
-# Source1-md5: -
-#Patch0: %{name}-DESTDIR.patch
-URL: -
-%if %{with initscript}
-BuildRequires: rpmbuild(macros) >= 1.228
-Requires(post,preun): /sbin/chkconfig
-%endif
-#BuildRequires: -
-#BuildRequires: autoconf
-#BuildRequires: automake
-#BuildRequires: intltool
-#BuildRequires: libtool
-#Requires(postun): -
-#Requires(pre,post): -
-#Requires(preun): -
-#Requires: -
-#Provides: -
-#Provides: group(foo)
-#Provides: user(foo)
-#Obsoletes: -
-#Conflicts: -
-#BuildArch: noarch
-#ExclusiveArch: %{ix86}
+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 nody dynamics library.
%description -l pl.UTF-8
-
-%package subpackage
-Summary: -
-Summary(pl.UTF-8): -
-Group: -
-
-%description subpackage
-
-%description subpackage -l pl.UTF-8
-
-%package libs
-Summary: -
-Summary(pl.UTF-8): -
-Group: Libraries
-
-%description libs
-
-%description libs -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
-# if base package contains shared library for which these headers are
-#Requires: %{name} = %{version}-%{release}
-# if -libs package contains shared library for which these headers are
-#Requires: %{name}-libs = %{version}-%{release}
+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
-%{__make}
+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} \
-# CFLAGS="%{rpmcflags}" \
-# LDFLAGS="%{rpmldflags}"
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-# create directories if necessary
-#install -d $RPM_BUILD_ROOT
-#install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-%{__make} install \
+%{__make} -C pkgbuild install \
DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
-%groupadd -g xxx %{name}
-%useradd -u xxx -d /var/lib/%{name} -g %{name} -c "XXX User" %{name}
-
-%post
-
-%preun
-
-%postun
-if [ "$1" = "0" ]; then
- %userremove %{name}
- %groupremove %{name}
-fi
-
-%if %{with ldconfig}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%endif
-
-%if %{with initscript}
-%post init
-/sbin/chkconfig --add %{name}
-%service %{name} restart
-
-%preun init
-if [ "$1" = "0" ]; then
- %service -q %{name} stop
- /sbin/chkconfig --del %{name}
-fi
-%endif
%files
%defattr(644,root,root,755)
-%doc AUTHORS CREDITS ChangeLog NEWS README THANKS TODO
-
-%if 0
-# if _sysconfdir != /etc:
-#%%dir %{_sysconfdir}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
-%attr(755,root,root) %{_bindir}/*
-%{_datadir}/%{name}
-%endif
-
-# initscript and its config
-%if %{with initscript}
-%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%endif
-
-#%{_examplesdir}/%{name}-%{version}
-
-%if %{with subpackage}
-%files subpackage
+%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,755)
-#%doc extras/*.gz
-#%{_datadir}/%{name}-ext
-%endif
+%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