%global _docdir_fmt %{name}
Name: bullet
Version: 2.87
Release: 5%{?dist}
Summary: 3D Collision Detection and Rigid Body Dynamics Library
License: zlib and MIT and BSD and Boost
URL: http://www.bulletphysics.com
Source0: %{name}3-%{version}-free.tar.xz
# bullet contains non-free code that we cannot ship. Therefore we use
# this script to remove the non-free code before shipping it.
# Download the upstream tarball and invoke this script while in the
# tarball's directory:
# ./generate-tarball.sh 2.87
Source1: generate-tarball.sh
# Build against system tinyxml
Patch0: %{name}-2.87-tinyxml.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: dos2unix
BuildRequires: doxygen
BuildRequires: freeglut-devel
BuildRequires: libICE-devel
BuildRequires: tinyxml-devel
%description
Bullet is a 3D Collision Detection and Rigid Body Dynamics Library for games
and animation.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: cmake
%description devel
Development headers and libraries for %{name}.
%package devel-doc
Summary: Documentation for developing programs that will use %{name}-devel
License: zlib and LGPLv2+
Requires: %{name}-extras%{?_isa} = %{version}-%{release}
%description devel-doc
Documentation (PDF) for developing programs that will use %{name}-devel.
%package extras
Summary: Extra libraries for %{name}
License: zlib and LGPLv2+
%description extras
Extra libraries for %{name}.
%package extras-devel
Summary: Development files for %{name} extras
License: zlib and LGPLv2+
Requires: %{name}-extras%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description extras-devel
Development headers and libraries for %{name} extra libraries.
%prep
%setup -q -n %{name}3-%{version}
%patch0 -p0 -b .tinyxml
# The examples directory isn't needed for building
rm -r examples
# Fix the pkg-config module so it doesn't list the prefix twice in the include install dir.
sed -i 's|-I@CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@|-I@INCLUDE_INSTALL_DIR@|' bullet.pc.cmake
# BulletRobotics and obj2sdf require several bundled libs not yet packaged in the distribution
sed -i 's|BulletRobotics||' Extras/CMakeLists.txt
sed -i 's|obj2sdf||' Extras/CMakeLists.txt
# Fix up file permissions and formats
dos2unix README.md
chmod -x src/BulletDynamics/ConstraintSolver/btSliderConstraint.h
chmod -x src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp
%build
mkdir build
pushd build
%cmake .. \
-DCLSOCKET_DEP_ONLY=ON \
-DBUILD_BULLET2_DEMOS=OFF \
-DBUILD_EXTRAS=ON \
-DBUILD_OPENGL_DEMOS=OFF \
-DBUILD_CPU_DEMOS=OFF \
-DBUILD_UNIT_TESTS=OFF \
-DINSTALL_EXTRA_LIBS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DINCLUDE_INSTALL_DIR=%{_includedir}/bullet/
%make_build
popd
doxygen Doxyfile
%install
%make_install -C build
%ldconfig_scriptlets
%ldconfig_scriptlets extras
%files
%license LICENSE.txt
%doc README.md AUTHORS.txt VERSION
%{_libdir}/libBullet3Collision.so.*
%{_libdir}/libBullet3Common.so.*
%{_libdir}/libBullet3Dynamics.so.*
%{_libdir}/libBullet3Geometry.so.*
%{_libdir}/libBullet3OpenCL_clew.so.*
%{_libdir}/libBulletCollision.so.*
%{_libdir}/libBulletDynamics.so.*
%{_libdir}/libBulletInverseDynamics.so.*
%{_libdir}/libBulletSoftBody.so.*
%{_libdir}/libLinearMath.so.*
%files devel
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*.h
%{_includedir}/%{name}/Bullet3Collision
%{_includedir}/%{name}/Bullet3Common
%{_includedir}/%{name}/Bullet3Dynamics
%{_includedir}/%{name}/Bullet3Geometry
%{_includedir}/%{name}/Bullet3OpenCL
%{_includedir}/%{name}/BulletCollision
%{_includedir}/%{name}/BulletDynamics
%{_includedir}/%{name}/BulletInverseDynamics
%{_includedir}/%{name}/BulletSoftBody
%{_includedir}/%{name}/InverseDynamics
%{_includedir}/%{name}/LinearMath
%{_libdir}/libBullet3Collision.so
%{_libdir}/libBullet3Common.so
%{_libdir}/libBullet3Dynamics.so
%{_libdir}/libBullet3Geometry.so
%{_libdir}/libBullet3OpenCL_clew.so
%{_libdir}/libBulletCollision.so
%{_libdir}/libBulletDynamics.so
%{_libdir}/libBulletInverseDynamics.so
%{_libdir}/libBulletSoftBody.so
%{_libdir}/libLinearMath.so
%{_libdir}/pkgconfig/bullet.pc
%{_libdir}/cmake/%{name}
%files devel-doc
%doc docs/Bullet_User_Manual.pdf
%doc docs/BulletQuickstart.pdf
%doc docs/GPU_rigidbody_using_OpenCL.pdf
%doc html
%files extras
%{_libdir}/libConvexDecomposition.so.*
%{_libdir}/libGIMPACTUtils.so.*
%{_libdir}/libHACD.so.*
%{_libdir}/libBulletFileLoader.so.*
%{_libdir}/libBullet2FileLoader.so.*
%{_libdir}/libBulletInverseDynamicsUtils.so.*
%{_libdir}/libBulletWorldImporter.so.*
%{_libdir}/libBulletXmlWorldImporter.so.*
%files extras-devel
%{_includedir}/%{name}/ConvexDecomposition
%{_includedir}/%{name}/GIMPACTUtils
%{_includedir}/%{name}/HACD
%{_includedir}/%{name}/BulletFileLoader
%{_includedir}/%{name}/Bullet2FileLoader
%{_includedir}/%{name}/BulletWorldImporter
%{_includedir}/%{name}/BulletXmlWorldImporter
%{_libdir}/libConvexDecomposition.so
%{_libdir}/libGIMPACTUtils.so
%{_libdir}/libHACD.so
%{_libdir}/libBulletFileLoader.so
%{_libdir}/libBullet2FileLoader.so
%{_libdir}/libBulletInverseDynamicsUtils.so
%{_libdir}/libBulletWorldImporter.so
%{_libdir}/libBulletXmlWorldImporter.so
%changelog
* Mon Aug 27 2018 Nicolas Chauvet <kwizart@gmail.com> - 2.87-5
- Spec clean-up
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.87-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Mar 07 2018 Adam Williamson <awilliam@redhat.com> - 2.87-3
- Rebuild to fix GCC 8 mis-compilation
See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.87-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Dec 18 2017 Rich Mattes <richmattes@gmail.com> - 2.87-1
- Update to release 2.87 (rhbz#1442838)
* Sun Aug 06 2017 Björn Esser <besser82@fedoraproject.org> - 2.83-6
- Rebuilt for AutoReq cmake-filesystem
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.83-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.83-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.83-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.83-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Jan 04 2016 Rich Mattes <richmattes@gmail.com> - 2.83-1
- Update to release 2.83
* Sat Oct 03 2015 François Cami <fcami@fedoraproject.org> - 2.82-7
- Move Bullet_User_Manual.pdf to a separate devel-doc package.
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.82-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.82-5
- Rebuilt for GCC 5 C++11 ABI change
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.82-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.82-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri May 16 2014 Rich Mattes <richmattes@gmail.com> - 2.82-2
- Install all of the bullet extras (rhbz#1097452)
- Spec file cleanup
* Sun Feb 09 2014 Rich Mattes <richmattes@gmail.com> - 2.82-1
- Update to version 2.82
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.81-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.81-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sat Oct 13 2012 Rich Mattes <richmattes@gmail.com> - 2.81-1
- Update to version 2.81
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.80-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri May 25 2012 Rich Mattes <richmattes@gmail.com> - 2.80-1
- Update to version 2.80
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.79-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sun Dec 18 2011 Rich Mattes <richmattes@gmail.com> - 2.79-1
- Update to version 2.79
* Wed May 11 2011 Rich Mattes <richmattes@gmail.com> - 2.78-1
- Update to version 2.78
- Remove upstreamed patches
* Sat Feb 19 2011 Rich Mattes <richmattes@gmail.com> - 2.77-4
- Fix gcc 4.6 build error
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.77-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Oct 20 2010 Dan Horák <dan[at]danny.cz> - 2.77-3
- add extras subpackage with additional libs
- install headers into /usr/include/bullet
* Wed Sep 29 2010 Thomas Kowaliczek <linuxdonald@linuxdonald.de> - 2.77-2
- Added LibSuffix patch
* Wed Sep 29 2010 Thomas Kowaliczek <linuxdonald@linuxdonald.de> - 2.77-1
- Updatet to version 2.77
- Droped all patches because they are all in upstream
* Sat Aug 21 2010 Thomas Kowaliczek <linuxdonald@linuxdonald.de> - 2.75-4
- Hope fix (#599495)
* Sat Aug 21 2010 Thomas Kowaliczek <linuxdonald@linuxdonald.de> - 2.75-3
- Hope fix (#619885)
* Tue Mar 09 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.75-2
- pkgconfig file not installed (#549051)
* Sat Oct 03 2009 Thomas Kowaliczek <linuxdonald@linuxdonald.de> - 2.75-1
- Updatet to new upstream version 2.75
- Updatet the patch file to work agian
* Thu Jun 25 2009 Thomas Kowaliczek <linuxdonald@linuxdonald.de> - 2.74-1
- Updatet to version 2.74
- Updatet the patch file to work agian
* Sun Feb 22 2009 Bruno Mahé <bruno at gnoll.org> - 2.73-5
- Shortened the description
- Fix directory ownership for directories BulletCollision and BulletDynamics
- Convert ChangeLog to UTF-8
- chmod generate-tarball.sh to 644
* Fri Feb 20 2009 Bruno Mahé <bruno at gnoll.org> - 2.73-4
- Remove gcc-g++ in BuildRequires
- Add option -DCMAKE_BUILD_TYPE=NONE to %%cmake. This will make CMake using default compiler flags
- Use %% instead of single % in %%changelog to prevent macros from being expanded
- Specify we are not shipping pristine source because of some non-free parts
- Change licence to "zlib and MIT and BSD"
- Make include directory being owned by this package
- Remove duplicate documents
- Convert spec file to UTF8
- Set some files permission to 644
* Sun Feb 15 2009 Bruno Mahé <bruno at gnoll.org> - 2.73-3
- Remove non-free directories Demos/, Extras/ and Glut/ from the source
* Sun Jan 18 2009 Bruno Mahé <bruno at gnoll.org> - 2.73-2
- Add "rm -rf $RPM_BUILD_ROOT" to the install target
- Moved unversioned shared libraries (e.g. libfoo.so) to the -devel package
- Update %%post and %%postrun
- Change %%description
- Reduce length of %%summary
- Changed %%group to Development/Libraries
- Changed Zlib licence to lowercase zlib
- %%description kept below 80 characters wide
* Sat Dec 13 2008 Bruno Mahé <bruno at gnoll.org> - 2.73-1
- Initial build.