[bullet] package additional libs

Dan Horák sharkcz at fedoraproject.org
Wed Oct 20 08:12:06 UTC 2010


commit f7576b9ed6420f932c3b76b301df6f1a42d12d79
Author: Dan Horák <dan at danny.cz>
Date:   Thu Oct 14 21:58:36 2010 +0200

    package additional libs
    
    - strip only problematic sources from original source archive
    - add extras/extras-devel subpackage with ConvexDecomposition and GLUI libraries
    - install headers into /usr/include/bullet, pkgconfig returns the right path when asked for CFLAGS
    - don't list dirs and files with headers, use whole dir instead

 bullet-2.77-extras-version.patch      |   36 +++++++++
 suffix.patch => bullet-2.77-lib.patch |   14 ++--
 bullet.spec                           |  133 ++++++++++++++++++++-------------
 generate-tarball.sh                   |    8 ++-
 sources                               |    3 +-
 5 files changed, 134 insertions(+), 60 deletions(-)
---
diff --git a/bullet-2.77-extras-version.patch b/bullet-2.77-extras-version.patch
new file mode 100644
index 0000000..6086640
--- /dev/null
+++ b/bullet-2.77-extras-version.patch
@@ -0,0 +1,36 @@
+diff -up bullet-2.77/Extras/glui/CMakeLists.txt.extras-version bullet-2.77/Extras/glui/CMakeLists.txt
+--- bullet-2.77/Extras/glui/CMakeLists.txt.extras-version	2010-03-06 16:23:36.000000000 +0100
++++ bullet-2.77/Extras/glui/CMakeLists.txt	2010-07-26 12:09:01.000000000 +0200
+@@ -61,6 +61,8 @@ arcball.cpp			glui_button.cpp			glui_fil
+ 	
+ )
+ 
++SET_TARGET_PROPERTIES(GLUI PROPERTIES VERSION ${BULLET_VERSION})
++SET_TARGET_PROPERTIES(GLUI PROPERTIES SOVERSION ${BULLET_VERSION})
+ IF (BUILD_SHARED_LIBS)
+   TARGET_LINK_LIBRARIES(GLUI ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
+ ENDIF (BUILD_SHARED_LIBS)
+diff -up bullet-2.77/Extras/Serialize/BulletFileLoader/CMakeLists.txt.extras-version bullet-2.77/Extras/Serialize/BulletFileLoader/CMakeLists.txt
+--- bullet-2.77/Extras/Serialize/BulletFileLoader/CMakeLists.txt.extras-version	2010-07-26 12:10:36.000000000 +0200
++++ bullet-2.77/Extras/Serialize/BulletFileLoader/CMakeLists.txt	2010-07-26 12:10:57.000000000 +0200
+@@ -16,6 +16,8 @@ btBulletFile.cpp 
+ btBulletFile.h 
+ )
+ 
++SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES VERSION ${BULLET_VERSION})
++SET_TARGET_PROPERTIES(BulletFileLoader PROPERTIES SOVERSION ${BULLET_VERSION})
+ IF (BUILD_SHARED_LIBS)
+         TARGET_LINK_LIBRARIES(BulletFileLoader LinearMath)
+ ENDIF (BUILD_SHARED_LIBS)
+diff -up bullet-2.77/Extras/Serialize/BulletWorldImporter/CMakeLists.txt.extras-version bullet-2.77/Extras/Serialize/BulletWorldImporter/CMakeLists.txt
+--- bullet-2.77/Extras/Serialize/BulletWorldImporter/CMakeLists.txt.extras-version	2010-07-26 12:11:08.000000000 +0200
++++ bullet-2.77/Extras/Serialize/BulletWorldImporter/CMakeLists.txt	2010-07-26 12:11:26.000000000 +0200
+@@ -9,6 +9,8 @@ btBulletWorldImporter.cpp 
+ btBulletWorldImporter.h 
+ )
+ 
++SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES VERSION ${BULLET_VERSION})
++SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION})
+ IF (BUILD_SHARED_LIBS)
+         TARGET_LINK_LIBRARIES(BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath)
+ ENDIF (BUILD_SHARED_LIBS)
diff --git a/suffix.patch b/bullet-2.77-lib.patch
similarity index 58%
rename from suffix.patch
rename to bullet-2.77-lib.patch
index 20477d1..9575add 100644
--- a/suffix.patch
+++ b/bullet-2.77-lib.patch
@@ -1,6 +1,7 @@
---- src/BulletMultiThreaded/CMakeLists.txt	2010-09-22 01:14:10.000000000 +0200
-+++ src/BulletMultiThreaded/CMakeLists.txt	2010-09-29 00:57:58.526399758 +0200
-@@ -84,7 +84,7 @@
+diff -up bullet-2.77/src/BulletMultiThreaded/CMakeLists.txt.lib bullet-2.77/src/BulletMultiThreaded/CMakeLists.txt
+--- bullet-2.77/src/BulletMultiThreaded/CMakeLists.txt.lib	2010-10-08 12:45:59.000000000 +0200
++++ bullet-2.77/src/BulletMultiThreaded/CMakeLists.txt	2010-10-08 12:46:26.000000000 +0200
+@@ -84,7 +84,7 @@ IF (INSTALL_LIBS)
  				IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
  					INSTALL(TARGETS BulletMultiThreaded DESTINATION .)
  				ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
@@ -9,9 +10,10 @@
  					INSTALL(DIRECTORY
  ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING
  PATTERN "*.h"  PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE)
---- src/MiniCL/CMakeLists.txt	2010-09-22 01:14:10.000000000 +0200
-+++ src/MiniCL/CMakeLists.txt	2010-09-29 00:58:20.786294661 +0200
-@@ -32,7 +32,7 @@
+diff -up bullet-2.77/src/MiniCL/CMakeLists.txt.lib bullet-2.77/src/MiniCL/CMakeLists.txt
+--- bullet-2.77/src/MiniCL/CMakeLists.txt.lib	2010-10-08 12:44:50.000000000 +0200
++++ bullet-2.77/src/MiniCL/CMakeLists.txt	2010-10-08 12:46:42.000000000 +0200
+@@ -32,7 +32,7 @@ IF (INSTALL_LIBS)
  				IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
  					INSTALL(TARGETS MiniCL DESTINATION .)
  				ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
diff --git a/bullet.spec b/bullet.spec
index faf65a3..9396cb6 100644
--- a/bullet.spec
+++ b/bullet.spec
@@ -14,17 +14,21 @@ Source0: %{name}-%{version}-free.tar.gz
 # ./generate-tarball.sh 2.77
 Source1: generate-tarball.sh
 
-# See http://code.google.com/p/bullet/issues/detail?id=174
-Patch0: suffix.patch
+Patch1: %{name}-2.77-extras-version.patch
+Patch2: %{name}-2.77-lib.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-BuildRequires: cmake, libGL-devel, libGLU-devel, freeglut-devel, libICE-devel
+BuildRequires: cmake
+BuildRequires: freeglut-devel
+BuildRequires: libICE-devel
+
 
 %description
 Bullet is a 3D Collision Detection and Rigid Body Dynamics Library for games
 and animation.
 
+
 %package devel
 Summary: Development files for %{name}
 Group: Development/Libraries
@@ -34,10 +38,31 @@ Requires: %{name} = %{version}-%{release}
 Development headers and libraries for %{name}.
 
 
+%package extras
+Summary: Extra libraries for %{name}
+Group: Development/Libraries
+License: zlib and LGPLv2+
+
+%description extras
+Extra libraries for %{name}.
+
+
+%package extras-devel
+Summary: Development files for %{name} extras
+Group: Development/Libraries
+License: zlib and LGPLv2+
+Requires: %{name}-extras = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+
+%description extras-devel
+Development headers and libraries for %{name} extra libraries.
+
+
 %prep
 %setup -q
-
-%patch0
+#%patch0 -p1 -b .version
+%patch1 -p1 -b .extras-version
+%patch2 -p1 -b .lib
 
 # Set these files to right permission
 chmod 644 src/LinearMath/btPoolAllocator.h
@@ -47,13 +72,28 @@ chmod 644 src/BulletDynamics/ConstraintSolver/btSliderConstraint.h
 iconv -f ISO-8859-1 -t UTF-8 -o ChangeLog.utf8 ChangeLog
 mv ChangeLog.utf8 ChangeLog
 
+
 %build
-%cmake -DBUILD_DEMOS=OFF -DBUILD_EXTRAS=OFF -DCMAKE_BUILD_TYPE=NONE .
+mkdir build
+pushd build
+%cmake -DBUILD_DEMOS=OFF -DBUILD_EXTRAS=ON -DCMAKE_BUILD_TYPE=NONE -DINCLUDE_INSTALL_DIR=%{_includedir}/bullet ..
 make %{?_smp_mflags}
+popd
+
 
 %install
 rm -rf $RPM_BUILD_ROOT
-make install/fast DESTDIR=$RPM_BUILD_ROOT
+pushd build
+#make install/fast DESTDIR=$RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+
+# install libs from Extras
+pushd Extras
+cp -a ConvexDecomposition/*so* $RPM_BUILD_ROOT%{_libdir}
+cp -a glui/*so* $RPM_BUILD_ROOT%{_libdir}
+popd
+
+popd
 
 pushd $RPM_BUILD_ROOT%{_libdir}
 for f in lib*.so.*.*
@@ -62,69 +102,60 @@ do
 done
 popd
 
+# install includes from Extras
+pushd Extras
+install -p -m 644 ConvexDecomposition/Convex*.h $RPM_BUILD_ROOT%{_includedir}/bullet
+install -p -m 644 ConvexDecomposition/vlookup.h $RPM_BUILD_ROOT%{_includedir}/bullet
+cp -a glui/GL $RPM_BUILD_ROOT%{_includedir}/bullet
+popd
+
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
 
+%post extras -p /sbin/ldconfig
+
+%postun extras -p /sbin/ldconfig
+
 
 %files
 %defattr(-,root,root,-)
-%doc README AUTHORS LICENSE NEWS ChangeLog Bullet_User_Manual.pdf
+%doc README AUTHORS LICENSE NEWS ChangeLog
 %{_libdir}/*.so.*
+%exclude %{_libdir}/libConvexDecomposition.so.*
+%exclude %{_libdir}/libGLUI.so.*
 
 %files devel
 %defattr(-,root,root,-)
 %doc Bullet_User_Manual.pdf
-%dir %{_includedir}/BulletCollision
-%dir %{_includedir}/BulletCollision/BroadphaseCollision
-%dir %{_includedir}/BulletCollision/CollisionDispatch
-%dir %{_includedir}/BulletCollision/CollisionShapes
-%dir %{_includedir}/BulletCollision/Gimpact
-%dir %{_includedir}/BulletCollision/NarrowPhaseCollision
-%dir %{_includedir}/LinearMath
-%dir %{_includedir}/BulletDynamics
-%dir %{_includedir}/BulletDynamics/Character
-%dir %{_includedir}/BulletDynamics/ConstraintSolver
-%dir %{_includedir}/BulletDynamics/Dynamics
-%dir %{_includedir}/BulletDynamics/Vehicle
-%dir %{_includedir}/BulletSoftBody
-%dir %{_includedir}/BulletMultiThreaded/GpuSoftBodySolvers/CPU/
-%dir %{_includedir}/BulletMultiThreaded/GpuSoftBodySolvers/DX11/
-%dir %{_includedir}/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/
-%dir %{_includedir}/BulletMultiThreaded/
-%dir %{_includedir}/MiniCL/MiniCLTask/
-%dir %{_includedir}/MiniCL/
-%dir %{_includedir}/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/
-%dir %{_includedir}/BulletMultiThreaded/SpuSampleTask/
-%{_includedir}/*.h
-%{_includedir}/BulletCollision/BroadphaseCollision/*.h
-%{_includedir}/BulletCollision/CollisionDispatch/*.h
-%{_includedir}/BulletCollision/CollisionShapes/*.h
-%{_includedir}/BulletCollision/Gimpact/*.h
-%{_includedir}/BulletCollision/NarrowPhaseCollision/*.h
-%{_includedir}/BulletCollision/*.h
-%{_includedir}/BulletDynamics/Character/*.h
-%{_includedir}/BulletDynamics/ConstraintSolver/*.h
-%{_includedir}/BulletDynamics/Dynamics/*.h
-%{_includedir}/BulletDynamics/Vehicle/*.h
-%{_includedir}/BulletDynamics/*.h
-%{_includedir}/BulletSoftBody/*.h
-%{_includedir}/LinearMath/*.h
-%{_includedir}/BulletMultiThreaded/GpuSoftBodySolvers/CPU/*.h
-%{_includedir}/BulletMultiThreaded/GpuSoftBodySolvers/DX11/*.h
-%{_includedir}/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/*.h
-%{_includedir}/BulletMultiThreaded/*.h
-%{_includedir}/MiniCL/MiniCLTask/*.h
-%{_includedir}/MiniCL/*.h
-%{_includedir}/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/*.h
-%{_includedir}/BulletMultiThreaded/SpuSampleTask/*.h
+%{_includedir}/bullet
+%exclude %{_includedir}/bullet/Convex*.h
+%exclude %{_includedir}/bullet/vlookup.h
+%exclude %{_includedir}/bullet/GL
 %{_libdir}/*.so
+%exclude %{_libdir}/libConvexDecomposition.so
+%exclude %{_libdir}/libGLUI.so
 %{_libdir}/pkgconfig/bullet.pc
 
+%files extras
+%defattr(-,root,root,-)
+%{_libdir}/libConvexDecomposition.so.*
+%{_libdir}/libGLUI.so.*
+
+%files extras-devel
+%defattr(-,root,root,-)
+%doc Extras/glui/readme.txt
+%{_includedir}/bullet/Convex*.h
+%{_includedir}/bullet/vlookup.h
+%{_includedir}/bullet/GL
+%{_libdir}/libConvexDecomposition.so
+%{_libdir}/libGLUI.so
+
 
 %changelog
 * Wed Sep 29 2010 Thomas Kowaliczek <linuxdonald at linuxdonald.de> - 2.77-2
diff --git a/generate-tarball.sh b/generate-tarball.sh
old mode 100755
new mode 100644
index c9755c3..9e0fb41
--- a/generate-tarball.sh
+++ b/generate-tarball.sh
@@ -1,11 +1,17 @@
 #!/bin/sh
 
+if [ $# -ne 1 ]; then
+    echo "Usage: $0 <version>"
+    exit 1
+fi
+
 VERSION=$1
 NAME=bullet
 
 tar -xzvf $NAME-$VERSION.tgz
+rm -f $NAME-$VERSION/*.{DLL,dll}
 rm -rf $NAME-$VERSION/Demos
-rm -rf $NAME-$VERSION/Extras
+rm -rf $NAME-$VERSION/Extras/{CUDA,khx2dae,software_cache,sph}
 rm -rf $NAME-$VERSION/Glut
 
 tar -czvf $NAME-$VERSION-free.tar.gz $NAME-$VERSION
diff --git a/sources b/sources
index 5504d2f..a8fd72a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-ac92978bb8d808ac5e5f9cbd246fe334  bullet-2.75-free.tar.gz
-36dc0ef7f0905925bc33e14abfa60f86  bullet-2.77-free.tar.gz
+23d34bea3049a8419977fda81c7d00e4  bullet-2.77-free.tar.gz


More information about the scm-commits mailing list