Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:redwil:15.4
wildmagic5
wildmagic5.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File wildmagic5.spec of Package wildmagic5
# # spec file for package wildmagic5 # # Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro} Name: wildmagic5 Version: 5.17 Release: 0 Summary: Wild Magic libraries Group: Development/Libraries/C and C++ License: BSL-1.0 URL: https://www.geometrictools.com Source: https://www.geometrictools.com/Downloads/WildMagic5p17.zip # PATCH-FIX-OPENSUSE - Use CWD for sample output instead of readonly data dir Patch0: %{name}-fix-SimplePendulum_output_files.patch # PATCH-FIX-OPENSUSE - Use CWD for sample output instead of readonly data dir Patch1: %{name}-fix-DistancePointEllipseEllipsoid.patch # PATCH-FIX-OPENSUSE - Add LDFLAGS when linking sample apps Patch2: %{name}-fix_ldflags.patch # PATCH-FIX-OPENSUSE Patch3: 0001-Add-default-for-WM5_PATH.patch BuildRequires: dos2unix BuildRequires: gcc-c++ BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libstdc++-devel BuildRequires: make BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) BuildRequires: unzip BuildRequires: fdupes %description A library of source code for computing in the fields of graphics, mathematics, physics, and image analysis. Web page documentation: geometrictools.com/Documentation/Documentation.html %package devel Summary: Development files for WildMagic5 Requires: %{name} = %{version} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package samples Summary: Samples files for %{name} Requires: %{name}-data = %{version} %description samples Graphics, Physics, Imagics and Mathematics directories containing sample files. Execute the sample files in a dedicated directory because they generate their own output files. Web page documentation: geometrictools.com/Documentation/Documentation.html %package data Summary: WildMagic5 data files BuildArch: noarch %description data This package provides the %{name} data files. They are generally required when either using the library or developing with it or developing it. %prep %autosetup -n GeometricTools -N dos2unix WildMagic5/SamplePhysics/SimplePendulum/SimplePendulum.cpp dos2unix WildMagic5/SampleMathematics/DistancePointEllipseEllipsoid/DistancePointEllipseEllipsoid.cpp dos2unix WildMagic5/SampleGraphics/makeapp.wm5 dos2unix WildMagic5/SamplePhysics/makeapp.wm5 dos2unix WildMagic5/SampleImagics/makeapp.wm5 dos2unix WildMagic5/SampleMathematics/makeapp.wm5 dos2unix WildMagic5/Documentation/ImFileFormat.txt dos2unix WildMagic5/Documentation/StreamingChanges.txt %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 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 %build shopt -s extglob pushd WildMagic5 mkdir -p SDK/Include mkdir -p SDK/Library/releaseDynamic export CFLAGS="%{optflags} -pthread -DNDEBUG" export LDFLAGS="%{__global_ldflags} -Wl,--no-undefined -lpthread -LSDK/Library/releaseDynamic" # Build all library objects, but skip linking ("AR=true") for lib in LibCore LibMathematics LibPhysics LibImagics LibGraphics; do mkdir ${lib}/releaseDynamic cp ${lib}/*.h SDK/Include/ for d in ${lib}/[A-Z]*([A-Za-z23]); do if [ $d == "LibGraphics/Renderers" ]; then %make_build CC=g++ AR="/usr/bin/true" CFG=releaseDynamic -f makerend.wm5 -C $d/GlxRenderer else %make_build CC=g++ AR="/usr/bin/true" CFG=releaseDynamic -f ../makeprj.wm5 -C $d fi done done # Manually link each library with appropriate flags, and with correct object order to avoid underlinkage /usr/bin/g++ ${LDFLAGS} -shared -fPIC -Wl,-soname,libWm5Core.so.5 LibCore/releaseDynamic/*.o -o SDK/Library/releaseDynamic/libWm5Core.so.5.17 -lpthread ln -s libWm5Core.so.5.17 SDK/Library/releaseDynamic/libWm5Core.so.5; ln -s libWm5Core.so.5.17 SDK/Library/releaseDynamic/libWm5Core.so /usr/bin/g++ ${LDFLAGS} -shared -fPIC -Wl,-soname,libWm5Mathematics.so.5 LibMathematics/releaseDynamic/*.o -o SDK/Library/releaseDynamic/libWm5Mathematics.so.5.17 -lWm5Core ln -s libWm5Mathematics.so.5.17 SDK/Library/releaseDynamic/libWm5Mathematics.so.5; ln -s libWm5Mathematics.so.5.17 SDK/Library/releaseDynamic/libWm5Mathematics.so /usr/bin/g++ ${LDFLAGS} -shared -fPIC -Wl,-soname,libWm5Physics.so.5 LibPhysics/releaseDynamic/*.o -o SDK/Library/releaseDynamic/libWm5Physics.so.5.17 -lWm5Core -lWm5Mathematics ln -s libWm5Physics.so.5.17 SDK/Library/releaseDynamic/libWm5Physics.so.5; ln -s libWm5Physics.so.5.17 SDK/Library/releaseDynamic/libWm5Physics.so /usr/bin/g++ ${LDFLAGS} -shared -fPIC -Wl,-soname,libWm5Imagics.so.5 LibImagics/releaseDynamic/*.o -o SDK/Library/releaseDynamic/libWm5Imagics.so.5.17 -lWm5Core -lWm5Mathematics ln -s libWm5Imagics.so.5.17 SDK/Library/releaseDynamic/libWm5Imagics.so.5; ln -s libWm5Imagics.so.5.17 SDK/Library/releaseDynamic/libWm5Imagics.so /usr/bin/g++ ${LDFLAGS} -shared -fPIC -Wl,-soname,libWm5Graphics.so.5 LibGraphics/releaseDynamic/*.o -o SDK/Library/releaseDynamic/libWm5Graphics.so.5.17 -lWm5Core -lWm5Mathematics -lGL -LGLU ln -s libWm5Graphics.so.5.17 SDK/Library/releaseDynamic/libWm5Graphics.so.5; ln -s libWm5Graphics.so.5.17 SDK/Library/releaseDynamic/libWm5Graphics.so %global WILD_OPT_FLAGS %(echo "-c -D__LINUX__ -DWM5_USE_OPENGL %{optflags} -fPIC -pthread -DNDEBUG") %make_build CC=g++ AR="/usr/bin/true" CFG=releaseDynamic -f makefile.wm5 -C LibApplications CFLAGS="%{WILD_OPT_FLAGS}" /usr/bin/g++ ${LDFLAGS} -shared -fPIC -Wl,-soname,libWm5Applications.so.5 LibApplications/releaseDynamic/*.o -o SDK/Library/releaseDynamic/libWm5Applications.so.5.17 -lWm5Core -lWm5Mathematics -lWm5Graphics -lX11 %make_build CC=g++ CFG=releaseDynamic -f makefile.wm5 -C SampleGraphics %make_build CC=g++ CFG=releaseDynamic -f makefile.wm5 -C SamplePhysics %make_build CC=g++ CFG=releaseDynamic -f makefile.wm5 -C SampleImagics %make_build CC=g++ CFG=releaseDynamic -f makefile.wm5 -C SampleMathematics %install mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_includedir}/WildMagic mkdir -p %{buildroot}%{_datadir}/WildMagic/SampleImagics mkdir -p %{buildroot}%{_datadir}/WildMagic/SampleMathematics mkdir -p %{buildroot}%{_datadir}/WildMagic/SampleGraphics/BlendedAnimations mkdir -p %{buildroot}%{_datadir}/WildMagic/SamplePhysics/SimplePendulum/Data cp -a WildMagic5/SDK/Library/releaseDynamic/*.so* %{buildroot}%{_libdir} cp -a WildMagic5/SDK/Include/* %{buildroot}%{_includedir}/WildMagic cp -a WildMagic5/Data %{buildroot}%{_datadir}/WildMagic mkdir -p %{buildroot}%{_libexecdir}/WildMagic/SampleGraphics mkdir -p %{buildroot}%{_libexecdir}/WildMagic/SamplePhysics mkdir -p %{buildroot}%{_libexecdir}/WildMagic/SampleImagics mkdir -p %{buildroot}%{_libexecdir}/WildMagic/SampleMathematics cp -a WildMagic5/SampleGraphics/BlendedAnimations/Data %{buildroot}%{_datadir}/WildMagic/BlendedAnimations cp -a WildMagic5/SampleGraphics/BlendedTerrain/Shaders %{buildroot}%{_datadir}/WildMagic/BlendedTerrain cp -a WildMagic5/SampleGraphics/BumpMaps/Shaders %{buildroot}%{_datadir}/WildMagic/BumpMaps cp -a WildMagic5/SampleGraphics/Castle/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/Castle cp -a WildMagic5/SampleGraphics/Castle/Geometry %{buildroot}%{_datadir}/WildMagic/SampleGraphics/Castle cp -a WildMagic5/SampleGraphics/Castle/Textures %{buildroot}%{_datadir}/WildMagic/SampleGraphics/Castle cp -a WildMagic5/SampleGraphics/CubeMaps/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/CubeMaps cp -a WildMagic5/SampleGraphics/CubeMaps/Data %{buildroot}%{_datadir}/WildMagic/SampleGraphics/CubeMaps cp -a WildMagic5/SampleGraphics/GlossMaps/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/GlossMaps cp -a WildMagic5/SampleGraphics/MorphControllers/Data %{buildroot}%{_datadir}/WildMagic/SampleGraphics/MorphControllers cp -a WildMagic5/SampleGraphics/MorphFaces/Data %{buildroot}%{_datadir}/WildMagic/SampleGraphics/MorphFaces cp -a WildMagic5/SampleGraphics/MultipleRenderTargets/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/MultipleRenderTargets cp -a WildMagic5/SampleGraphics/ProjectedTextures/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/ProjectedTextures cp -a WildMagic5/SampleGraphics/ShadowMaps/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/ShadowMaps cp -a WildMagic5/SampleGraphics/SkinnedBiped/Data %{buildroot}%{_datadir}/WildMagic/SampleGraphics/SkinnedBiped cp -a WildMagic5/SampleGraphics/Skinning/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/Skinning cp -a WildMagic5/SampleGraphics/SphereMaps/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/SphereMaps mkdir -p %{buildroot}%{_datadir}/WildMagic/SampleGraphics/Terrains/Data cp -a WildMagic5/SampleGraphics/Terrains/Data/* %{buildroot}%{_datadir}/WildMagic/SampleGraphics/Terrains/Data cp -a WildMagic5/SampleGraphics/Terrains/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/Terrains cp -a WildMagic5/SampleGraphics/VolumeFog/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/VolumeFog cp -a WildMagic5/SampleGraphics/VolumeTextures/Shaders %{buildroot}%{_datadir}/WildMagic/SampleGraphics/VolumeTextures cp -a WildMagic5/SampleImagics/GpuGaussianBlur2/Data %{buildroot}%{_datadir}/WildMagic/SampleImagics/GpuGaussianBlur2 cp -a WildMagic5/SampleImagics/GpuGaussianBlur2/Shaders %{buildroot}%{_datadir}/WildMagic/SampleImagics/GpuGaussianBlur2 cp -a WildMagic5/SampleImagics/GpuGaussianBlur3/Data %{buildroot}%{_datadir}/WildMagic/SampleImagics/GpuGaussianBlur3 cp -a WildMagic5/SampleImagics/GpuGaussianBlur3/Shaders %{buildroot}%{_datadir}/WildMagic/SampleImagics/GpuGaussianBlur3 cp -a WildMagic5/SampleMathematics/BSplineFitContinuous/Data %{buildroot}%{_datadir}/WildMagic/SampleMathematics/BSplineFitContinuous mkdir -p %{buildroot}%{_datadir}/WildMagic/SampleMathematics/DistancePointEllipseEllipsoid mkdir -p %{buildroot}%{_datadir}/WildMagic/SampleMathematics/NonlocalBlowup/Data cp -a WildMagic5/SampleMathematics/NonlocalBlowup/Data/* %{buildroot}%{_datadir}/WildMagic/SampleMathematics/NonlocalBlowup/Data mkdir -p %{buildroot}%{_datadir}/WildMagic/SampleMathematics/GeodesicHeightField/Data cp -a WildMagic5/SampleMathematics/GeodesicHeightField/Data/* %{buildroot}%{_datadir}/WildMagic/SampleMathematics/GeodesicHeightField/Data cp -a WildMagic5/SampleGraphics/BlendedAnimations/Data %{buildroot}%{_datadir}/WildMagic/SampleGraphics/BlendedAnimations cp -p WildMagic5/SampleGraphics/BlendedTerrain/Shaders/BlendedTerrain.wmfx %{buildroot}%{_datadir}/WildMagic/Data/Im cp -p WildMagic5/SampleGraphics/BumpMaps/Shaders/SimpleBumpMap.wmfx %{buildroot}%{_datadir}/WildMagic/Data/Im pushd WildMagic5/SampleGraphics/BlendedAnimations/Data find . -type f \( -name "*.bmp" \) -exec cp -a '{}' %{buildroot}%{_datadir}/WildMagic/Data/Bmp \; find . -type f \( -name "*.txt" \) -exec cp -a '{}' %{buildroot}%{_datadir}/WildMagic/Data/Wmfx \; find . -type f \( -name "*.wmtf" \) -exec cp -a '{}' %{buildroot}%{_datadir}/WildMagic/Data/Wmtf \; popd pushd WildMagic5/SampleGraphics/BlendedTerrain/Shaders find . -type f \( -name "*.fx" \) -exec cp -a '{}' %{buildroot}%{_datadir}/WildMagic/Data/CgShaders \; find . -type f \( -name "*.wmtf" \) -exec cp -a '{}' %{buildroot}%{_datadir}/WildMagic/Data/Wmtf \; popd pushd WildMagic5/SampleGraphics/BumpMaps/Shaders find . -type f \( -name "*.fx" \) -exec cp -a '{}' %{buildroot}%{_datadir}/WildMagic/Data/CgShaders \; find . -type f \( -name "*.wmtf" \) -exec cp -a '{}' %{buildroot}%{_datadir}/WildMagic/Data/Wmtf \; popd for bin in WildMagic5/Sample*/*/*.releaseDynamic ; do install -m 755 -D -T ${bin} %{buildroot}%{_bindir}/WM5_`basename ${bin} .releaseDynamic` done %fdupes %{buildroot}%{_datadir}/WildMagic/ %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %license WildMagic5/License/LICENSE_1_0.txt %doc WildMagic5/Documentation/WildMagic5Overview.pdf %{_libdir}/*.so.* %files devel %{_includedir}/WildMagic/ %{_libdir}/*.so %files samples %{_bindir}/WM5_* %files data %doc WildMagic5/Documentation/*.txt %doc WildMagic5/Documentation/Wm5InitTerm.pdf %license WildMagic5/License/LICENSE_1_0.txt %{_datadir}/WildMagic/ %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor