%global somajor 4 Name: ode Version: 0.14 Release: 7%{?dist} Summary: High performance library for simulating rigid body dynamics Group: System Environment/Libraries License: BSD or LGPLv2+ URL: https://bitbucket.org/odedevs/ode Source0: https://bitbucket.org/odedevs/ode/downloads/ode-%{version}.tar.gz Patch1: ode-0.11.1-multilib.patch # Modify ode-double.pc and ode-double.config to set dDOUBLE, link right lib Patch2: ode-0.13.1-double-config.patch Patch3: ode-0.14-gcc7.patch BuildRequires: libGL-devel libGLU-devel libtool %description ODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures. It is currently used in many computer games, 3D authoring tools and simulation tools. %package double Summary: Ode physics library compiled with double precision Group: Development/Libraries %description double The %{name}-double package contains a version of the ODE library for simulating rigid body dynamics compiled with double precision. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-double = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name} or %{name}-double. %prep %setup -q ./bootstrap %patch1 -p1 %patch3 -p1 # allow overriding EXTRA_LIBTOOL_LDFLAGS from the make cmdline sed -i 's/libode_la_LDFLAGS = @EXTRA_LIBTOOL_LDFLAGS@/libode_la_LDFLAGS = $(EXTRA_LIBTOOL_LDFLAGS)/' \ ode/src/Makefile.in # mv some license files around to give them all a unique name mv OPCODE/COPYING OPCODE-COPYING for i in ou/LICENSE*.TXT; do sed -i.bak 's/\r//' $i touch -r $i.bak $i mv $i `echo $i|sed 's|ou/LICENSE|OU-LICENSE|'` done mv libccd/BSD-LICENSE LIBCCD-LICENSE.TXT %build # Use internal libccd as system libccd is not build with double support ODE_CONFIGURE_FLAGS="--enable-shared --disable-static --with-libccd=internal \ --with-cylinder-cylinder=libccd --with-capsule-cylinder=libcdd \ --with-convex-box=libccd --with-convex-capsule=libccd \ --with-convex-cylinder=libccd" %configure $ODE_CONFIGURE_FLAGS --enable-double-precision make %{?_smp_mflags} X_LIBS=-lX11 EXTRA_LIBTOOL_LDFLAGS="-release double" mv ode-config ode-double-config mv ode.pc ode-double.pc # Adjust ode-double-config and ode-double.pc to set dDOUBLE, use proper lib patch -p1 < %{PATCH2} mv ode/src/.libs/libode-double.so.%{somajor}.?.? . make distclean CFLAGS="%{optflags} -ffast-math" CXXFLAGS="%{optflags} -ffast-math" %configure $ODE_CONFIGURE_FLAGS make %{?_smp_mflags} X_LIBS=-lX11 %install make install DESTDIR=$RPM_BUILD_ROOT rm $RPM_BUILD_ROOT%{_libdir}/libode.la # DIY libode-double install install -m 755 ode-double-config $RPM_BUILD_ROOT%{_bindir} install -m 755 libode-double.so.%{somajor}.?.? $RPM_BUILD_ROOT%{_libdir} ln -s libode-double.so.%{somajor}.?.? $RPM_BUILD_ROOT%{_libdir}/libode-double.so.%{somajor} ln -s libode-double.so.%{somajor}.?.? $RPM_BUILD_ROOT%{_libdir}/libode-double.so install -m 644 ode-double.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post double -p /sbin/ldconfig %postun double -p /sbin/ldconfig %files %doc CHANGELOG.txt README.md %license *COPYING *LICENSE*.TXT %{_libdir}/libode.so.%{somajor}* %files double %doc CHANGELOG.txt README.md %license *COPYING *LICENSE*.TXT %{_libdir}/libode-double.so.%{somajor}* %files devel %{_bindir}/%{name}-config %{_bindir}/%{name}-double-config %{_includedir}/%{name} %{_libdir}/libode.so %{_libdir}/libode-double.so %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}-double.pc %changelog * Tue Oct 17 2017 Tomasz Tomasik - 0.14-7 - Rebuilt for EL7 * Thu Aug 03 2017 Fedora Release Engineering - 0.14-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 0.14-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Feb 21 2017 Hans de Goede - 0.14-4 - Fix FTBFS (rhbz#1424008) * Sat Feb 11 2017 Fedora Release Engineering - 0.14-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Feb 04 2016 Fedora Release Engineering - 0.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Dec 18 2015 Hans de Goede - 0.14-1 - Update to 0.14 (rhbz#1292651) * Wed Dec 16 2015 Hans de Goede - 0.13.2-1 - Update to 0.13.2 (rhbz#1291676) * Wed Sep 9 2015 Hans de Goede - 0.13.1-4 - Enable libccd colliders for collision types for which ode has no builtin colission detection (rhbz#1260964) * Wed Jun 17 2015 Fedora Release Engineering - 0.13.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 0.13.1-2 - Rebuilt for GCC 5 C++11 ABI change * Wed Oct 29 2014 Hans de Goede - 0.13.1-1 - Fix URLs to point to new upstream (rhbz#1131050) - Update to 0.13.1 (rhbz#1131050) * Sun Aug 17 2014 Fedora Release Engineering - 0.12-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 0.12-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Aug 03 2013 Fedora Release Engineering - 0.12-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Mon Mar 18 2013 Hans de Goede - 0.12-3 - Fix ode-double soname not version tracking the ode soname (rhbz#922812) * Thu Feb 14 2013 Fedora Release Engineering - 0.12-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Aug 19 2012 Jon Ciesla - 0.12-1 - New upstream, BZ 845478. * Fri Jul 20 2012 Fedora Release Engineering - 0.11.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Fri Jan 13 2012 Fedora Release Engineering - 0.11.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Feb 08 2011 Fedora Release Engineering - 0.11.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Nov 8 2010 Hans de Goede 0.11.1-5 - Add a -double subpackage providing a version of ode compiled with double precision (#574034) * Tue Feb 16 2010 Hans de Goede 0.11.1-4 - Fix FTBFS (#564642) * Thu Nov 12 2009 Hans de Goede 0.11.1-3 - Fix multilib conflict in -devel sub package (#507981) * Sat Jul 25 2009 Fedora Release Engineering - 0.11.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Mon May 25 2009 Hans de Goede 0.11.1-1 - New upstream release 0.11.1 * Thu Feb 26 2009 Fedora Release Engineering - 0.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Jan 30 2009 Hans de Goede 0.11-1 - New upstream release 0.11 * Mon Sep 15 2008 Hans de Goede 0.10.1-1 - New upstream release 0.10.1 (bz 460033) * Thu Apr 3 2008 Hans de Goede 0.9-4 - Force proper use of RPM_OPT_FLAGS during build * Tue Feb 19 2008 Fedora Release Engineering - 0.9-3 - Autorebuild for GCC 4.3 * Thu Oct 18 2007 Hans de Goede 0.9-2 - Drop workaround for stormbaancoureur crash, it is now fixed in stormbaancoureur * Fri Oct 12 2007 Hans de Goede 0.9-1 - New upstream release 0.9 (final) * Fri Sep 28 2007 Hans de Goede 0.9-0.1.rc1 - New upstream release 0.9-rc1 * Tue Sep 11 2007 Hans de Goede 0.8.1-0.1.rc1 - New upstream release 0.8.1-rc1 * Wed Aug 15 2007 Hans de Goede 0.8-2 - Update License tag for new Licensing Guidelines compliance * Wed Feb 14 2007 Hans de Goede 0.8-1 - New upstream release 0.8 * Thu Oct 05 2006 Christian Iseli 0.7-2 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 * Fri Sep 22 2006 Hans de Goede 0.7-1 - New upstream release 0.7 * Mon Aug 28 2006 Hans de Goede 0.6-3 - FE6 Rebuild * Wed Jul 5 2006 Hans de Goede 0.6-2 - Change name from libode to ode - Fix soname & /usr/lib64 usage - Patch configure to accept our CFLAGS instead of always using its own - Patch configure to never activate the generation of asm-code which is then used unconditionally, the build CPU may be very different from the CPU on which the package gets run. * Sun Jun 18 2006 Hugo Cisneiros 0.6-1 - Initial RPM release