diff --git a/.gitignore b/.gitignore index 2e8c010..9a1dd95 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ /WildMagic5p13_k82Z1pAr.zip +/WildMagic5p14.zip +/WildMagic5p15.zip +/WildMagic5p17.zip diff --git a/sources b/sources index 6efd9c6..fdd7f51 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2ffafbdfe8571ae2854a9b837033d1c7 WildMagic5p13_k82Z1pAr.zip +SHA512 (WildMagic5p17.zip) = 80f736f533625ff26a7f4acb7010870fc8acbaa8cb892be8046a353eb7d9f0b5ba5374006495d032da561356db2b29a8600a97b34485a23417d1062ae23c966f diff --git a/wildmagic5.spec b/wildmagic5.spec index 38a8945..f68787f 100644 --- a/wildmagic5.spec +++ b/wildmagic5.spec @@ -1,25 +1,28 @@ -%if 0%{?fedora} <= 22 -%global _hardened_build 1 -%endif - ##Source code includes PDF documentation that is copyrighted ##You may download them for your personal use from upstream website -## The RPM macro for the linker flags does not exist on EPEL -%if 0%{?epel} < 7 -%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro} -%endif +%undefine _package_note_file +%undefine _ld_as_needed -Name: wildmagic5 +Name: wildmagic5 Summary: Wild Magic libraries -Version: 5.13 -Release: 12%{?dist} -License: Boost -URL: http://www.geometrictools.com -Source0: http://www.geometrictools.com/Downloads/WildMagic5p13_k82Z1pAr.zip +Version: 5.17 +Release: %autorelease +License: BSL-1.0 +URL: https://www.geometrictools.com +Source0: https://www.geometrictools.com/Downloads/WildMagic5p17.zip -BuildRequires: freeglut-devel, mesa-libGL-devel, mesa-libGLU-devel, libXext-devel -BuildRequires: libX11-devel, glibc-devel, libstdc++-devel, dos2unix +BuildRequires: make +BuildRequires: freeglut-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLU-devel +BuildRequires: libXext-devel +BuildRequires: libX11-devel +BuildRequires: glibc-devel +BuildRequires: libstdc++-devel +BuildRequires: dos2unix +BuildRequires: gcc +BuildRequires: gcc-c++ Patch0: %{name}-fix-SimplePendulum_output_files.patch Patch1: %{name}-fix-DistancePointEllipseEllipsoid.patch @@ -29,7 +32,7 @@ Patch2: %{name}-fix_ldflags.patch A library of source code for computing in the fields of graphics, mathematics, physics, and image analysis. Web page documentation: -http://www.geometrictools.com/Documentation/Documentation.html +geometrictools.com/Documentation/Documentation.html %package devel Summary: Development files for %{name} @@ -48,7 +51,7 @@ directories containing sample files. Execute the sample files in a dedicated directory because they generate their own output files. Web page documentation: -http://www.geometrictools.com/Documentation/Documentation.html +geometrictools.com/Documentation/Documentation.html %package data Summary: %{name} data files @@ -59,7 +62,7 @@ They are generally required when either using the library or developing with it or developing it. %prep -%setup -q -n GeometricTools +%autosetup -n GeometricTools -N dos2unix WildMagic5/SamplePhysics/SimplePendulum/SimplePendulum.cpp dos2unix WildMagic5/SampleMathematics/DistancePointEllipseEllipsoid/DistancePointEllipseEllipsoid.cpp @@ -67,55 +70,63 @@ dos2unix WildMagic5/SampleGraphics/makeapp.wm5 dos2unix WildMagic5/SamplePhysics/makeapp.wm5 dos2unix WildMagic5/SampleImagics/makeapp.wm5 dos2unix WildMagic5/SampleMathematics/makeapp.wm5 -%patch0 -p0 -%patch1 -p0 -%patch2 -p0 +%patch -P 0 -p0 +%patch -P 1 -p0 +%patch -P 2 -p0 -sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} %{__global_ldflags} -Wl,-z,now -fPIC -pthread -DNDEBUG|g' WildMagic5/LibGraphics/Renderers/GlxRenderer/makerend.wm5 -sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread -DNDEBUG|g' WildMagic5/SamplePhysics/makeapp.wm5 -sed -i 's|@@LDFLAGS@@|%{__global_ldflags} -fPIC -pie -Wl,-z,now|g' WildMagic5/SamplePhysics/makeapp.wm5 -sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread -DNDEBUG|g' WildMagic5/SampleGraphics/makeapp.wm5 -sed -i 's|@@LDFLAGS@@|%{__global_ldflags} -fPIC -pie -Wl,-z,now|g' WildMagic5/SampleGraphics/makeapp.wm5 -sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread -DNDEBUG|g' WildMagic5/SampleImagics/makeapp.wm5 -sed -i 's|@@LDFLAGS@@|%{__global_ldflags} -fPIC -pie -Wl,-z,now|g' WildMagic5/SampleImagics/makeapp.wm5 -sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -Wl,-z,relro -fPIC -pie -Wl,-z,now -pthread -DNDEBUG|g' WildMagic5/SampleMathematics/makeapp.wm5 -sed -i 's|@@LDFLAGS@@|%{__global_ldflags} -fPIC -pie -Wl,-z,now|g' WildMagic5/SampleMathematics/makeapp.wm5 +sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -pthread -DNDEBUG|g' WildMagic5/LibGraphics/Renderers/GlxRenderer/makerend.wm5 +sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -pthread -DNDEBUG|g' WildMagic5/SamplePhysics/makeapp.wm5 +sed -i 's|@@LDFLAGS@@|%{__global_ldflags}|g' WildMagic5/SamplePhysics/makeapp.wm5 +sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -pthread -DNDEBUG|g' WildMagic5/SampleGraphics/makeapp.wm5 +sed -i 's|@@LDFLAGS@@|%{__global_ldflags}|g' WildMagic5/SampleGraphics/makeapp.wm5 +sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -pthread -DNDEBUG|g' WildMagic5/SampleImagics/makeapp.wm5 +sed -i 's|@@LDFLAGS@@|%{__global_ldflags}|g' WildMagic5/SampleImagics/makeapp.wm5 +sed -i 's|CFLAGS += -O2 -DNDEBUG|CFLAGS += %{optflags} -pthread -DNDEBUG|g' WildMagic5/SampleMathematics/makeapp.wm5 +sed -i 's|@@LDFLAGS@@|%{__global_ldflags}|g' WildMagic5/SampleMathematics/makeapp.wm5 + +##Fix soname bug +for i in `find . -type f \( -name "*makefile.wm5" \)`; do +sed -e 's|so.5.15|so.%{version}|g' -i $i +done +sed -e 's|15|17|g' -i WildMagic5/LibGraphics/Renderers/GlxRenderer/makerend.wm5 +# %build ##Build LibCore --> LibMathematics -export LDFLAGS="%{__global_ldflags} -Wl,-z,now -lpthread -Wl,--as-needed -lm" -export CFLAGS="%{optflags} %{__global_ldflags} -Wl,-z,now -fPIC -pthread -DNDEBUG" -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibCore %{?_smp_mflags} +export LDFLAGS="%{__global_ldflags} -lpthread -lm" +export CFLAGS="%{optflags} -pthread -DNDEBUG" +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibCore -j1 -export LDFLAGS="%{__global_ldflags} -Wl,-z,now -lpthread -L../../SDK/Library/ReleaseDynamic -lWm5Core" -export CFLAGS="%{optflags} %{__global_ldflags} -Wl,-z,now -fPIC -pthread -DNDEBUG" -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibMathematics %{?_smp_mflags} +export LDFLAGS="%{__global_ldflags} -lpthread -L../../SDK/Library/ReleaseDynamic -lWm5Core" +export CFLAGS="%{optflags} -pthread -DNDEBUG" +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibMathematics -j1 ##Build LibPhysics -> LibImagics -> LibGraphics -export LDFLAGS="%{__global_ldflags} -Wl,-z,now -L../../SDK/Library/ReleaseDynamic -lWm5Mathematics -Wl,--as-needed -lpthread -L../../SDK/Library/ReleaseDynamic -lWm5Core" -export CFLAGS="%{optflags} %{__global_ldflags} -Wl,-z,now -fPIC -pthread -DNDEBUG" -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibPhysics %{?_smp_mflags} +export LDFLAGS="%{__global_ldflags} -L../../SDK/Library/ReleaseDynamic -lWm5Mathematics -lpthread -L../../SDK/Library/ReleaseDynamic -lWm5Core" +export CFLAGS="%{optflags} -pthread -DNDEBUG" +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibPhysics -j1 -export LDFLAGS="%{__global_ldflags} -Wl,-z,now -lpthread -L../../SDK/Library/ReleaseDynamic -lWm5Mathematics" -export CFLAGS="%{optflags} %{__global_ldflags} -Wl,-z,now -fPIC -pthread -DNDEBUG" -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibImagics %{?_smp_mflags} +export LDFLAGS="%{__global_ldflags} -lpthread -L../../SDK/Library/ReleaseDynamic -lWm5Mathematics" +export CFLAGS="%{optflags} -pthread -DNDEBUG" +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibImagics -j1 -export LDFLAGS="%{__global_ldflags} -Wl,-z,now -L../../SDK/Library/ReleaseDynamic -lWm5Mathematics -L%{_libdir} -lGL -Wl,--as-needed -lGLU -L../../SDK/Library/ReleaseDynamic -lWm5Core" -export CFLAGS="%{optflags} %{__global_ldflags} -Wl,-z,now -fPIC -pthread -DNDEBUG" -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibGraphics %{?_smp_mflags} +export LDFLAGS="%{__global_ldflags} -L../../SDK/Library/ReleaseDynamic -lWm5Mathematics -L%{_libdir} -lGL -lGLU -L../../SDK/Library/ReleaseDynamic -lWm5Core" +export CFLAGS="%{optflags} -pthread -DNDEBUG" +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibGraphics -j1 ##Build LibApplications -export LDFLAGS="%{__global_ldflags} -fPIC -Wl,-z,now \ - -L../../SDK/Library/ReleaseDynamic -lWm5Core -lWm5Mathematics -lWm5Graphics -Wl,--as-needed -lGL -lGLU \ - -Wl,--as-needed -L../../SDK/Library/ReleaseDynamic -lWm5Imagics -lWm5Physics" -export CFLAGS="%{optflags} %{__global_ldflags} -fPIC -Wl,-z,now -pthread -DNDEBUG" -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibApplications %{?_smp_mflags} +export LDFLAGS="%{__global_ldflags} \ + -L../../SDK/Library/ReleaseDynamic -lWm5Core -lWm5Mathematics -lWm5Graphics -lGL -lGLU \ + -L../../SDK/Library/ReleaseDynamic -lWm5Imagics -lWm5Physics" + +%global WILD_OPT_FLAGS %(echo "-c -D__LINUX__ -DWM5_USE_OPENGL %{optflags} -fPIC -pthread -DNDEBUG") +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/LibApplications CFLAGS="%{WILD_OPT_FLAGS}" ##Build sample applications -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SampleGraphics %{?_smp_mflags} -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SamplePhysics %{?_smp_mflags} -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SampleImagics %{?_smp_mflags} -make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SampleMathematics %{?_smp_mflags} +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SampleGraphics -j1 +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SamplePhysics -j1 +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SampleImagics -j1 +make CFG=ReleaseDynamic -f makefile.wm5 -C WildMagic5/SampleMathematics -j1 %install #make install DESTDIR=$RPM_BUILD_ROOT @@ -264,15 +275,9 @@ EOF done ######################################################################################## -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig - %files -%if 0%{?fedora} %license WildMagic5/License/LICENSE_1_0.txt -%else -%doc WildMagic5/License/LICENSE_1_0.txt -%endif +%doc WildMagic5/Documentation/WildMagic5Overview.pdf %{_libdir}/*.so.* %files devel @@ -283,52 +288,10 @@ done %{_libexecdir}/WildMagic/ %files data -%if 0%{?fedora} +%doc WildMagic5/Documentation/*.txt +%doc WildMagic5/Documentation/Wm5InitTerm.pdf %license WildMagic5/License/LICENSE_1_0.txt -%else -%doc WildMagic5/License/LICENSE_1_0.txt -%endif %{_datadir}/WildMagic/ %changelog -* Wed Nov 04 2015 Antonio Trande - 5.13-12 -- Rebuild with -fPIC - -* Sat Oct 31 2015 Antonio Trande - 5.13-11 -- Hardened builds on - 5.13-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Apr 29 2015 Antonio Trande - 5.13-9 -- Added global ldflags -- Defined global ldflags macro for EPEL6 - -* Tue Apr 28 2015 Antonio Trande - 5.13-8 -- Added DistancePointEllipseEllipsoid patch - -* Sat Apr 25 2015 Antonio Trande - 5.13-7 -- Fixed script's arguments -- Installed additional data files for execution of the samples - -* Sat Apr 18 2015 Antonio Trande - 5.13-6 -- Packaged some data files needed to graphic tests - -* Sat Apr 18 2015 Antonio Trande - 5.13-5 -- Removed source code from Sample* directories -- Packaged PDF documentation in the data sub-package - -* Thu Apr 16 2015 Antonio Trande - 5.13-4 -- %%build section re-arranged -- Set LDFLAGS/CFLAGS separately -- Built samples sub-package - -* Tue Apr 14 2015 Antonio Trande - 5.13-3 -- Set LDFLAGS - -* Sun Apr 12 2015 Antonio Trande - 5.13-2 -- Fixed BR packages -- Set C/C++ optimization flags - -* Sun Apr 12 2015 Antonio Trande - 5.13-1 -- First package +%autochangelog