2ae6d09
%bcond_with debug
2ae6d09
f68f18c
Name: gtengine
f68f18c
Summary: Library for computations in mathematics, graphics, image analysis, and physics
b73d1f5
Version: 6.6
b73d1f5
Release: 1%{?dist}
3b91617
Epoch: 1
3b91617
License: Boost
f68f18c
URL: http://www.geometrictools.com
cd2c189
Source0: https://github.com/davideberly/GeometricTools/archive/GTE-version-%{version}/GeometricTools-GTE-version-%{version}.tar.gz
f68f18c
f68f18c
BuildRequires: pkgconfig(gl)
f68f18c
BuildRequires: pkgconfig(xext)
f68f18c
BuildRequires: pkgconfig(x11)
2ae6d09
BuildRequires: pkgconfig(libpng)
b0a010d
BuildRequires: pkgconfig(egl)
f68f18c
BuildRequires: glibc-devel
9cc3a1a
BuildRequires: gcc-c++
9cc3a1a
BuildRequires: gcc
9cc3a1a
BuildRequires: cmake
9cc3a1a
BuildRequires: dos2unix
f68f18c
BuildRequires: libstdc++-devel
0d72d21
BuildRequires: make
f68f18c
f68f18c
%description
f68f18c
A library of source code for computing in the fields of mathematics,
f68f18c
graphics, image analysis, and physics.
f68f18c
The engine is written in C++ 11 and, as such, has portable access
f68f18c
to standard constructs for multithreading programming on cores.
f68f18c
The engine also supports high-performance computing using general
f68f18c
purpose GPU programming (GPGPU).
f68f18c
SIMD code is also available using Intel Streaming SIMD Extensions (SSE).
f68f18c
3b91617
GTEngine requires OpenGL 4.5.0 (or later).
f68f18c
f68f18c
%package devel
f68f18c
Summary: Development files for %{name}
3b91617
Requires: %{name}%{?_isa} = 1:%{version}-%{release}
f68f18c
%description devel
f68f18c
The %{name}-devel package contains libraries and header files for
f68f18c
developing applications that use %{name}.
f68f18c
2ae6d09
%package samples
2ae6d09
Summary: Samples files of %{name}
3b91617
Requires: %{name}%{?_isa} = 1:%{version}-%{release}
2ae6d09
%description samples
2ae6d09
This package contains samples files for
2ae6d09
testing that use %{name}.
2ae6d09
f68f18c
%prep
cd2c189
%autosetup -n GeometricTools-GTE-version-%{version}
f68f18c
056251d
# Remove -Werror flags (rhbz#1923590)
056251d
find . -type f \( -name "CMakeLists.txt" \) -exec sed -i 's| -Werror||g' '{}' \;
056251d
b73d1f5
sed -i 's|GTE_VERSION_MINOR 5|GTE_VERSION_MINOR 6|g' -i GTE/CMakeLists.txt
b73d1f5
f68f18c
%build
9cc3a1a
%define __cmake_in_source_build .
9cc3a1a
pushd GTE
2ae6d09
%if %{with debug}
9cc3a1a
%cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DBUILD_RELEASE_LIB:BOOL=ON -DBUILD_SHARED_LIB:BOOL=ON %_vpath_srcdir
2ae6d09
%else
9cc3a1a
%cmake -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_RELEASE_LIB:BOOL=ON -DBUILD_SHARED_LIB:BOOL=ON %_vpath_srcdir
2ae6d09
%endif
9cc3a1a
%make_build
9cc3a1a
popd
2ae6d09
9cc3a1a
pushd GTE/Samples
2ae6d09
%if %{with debug}
9cc3a1a
%cmake -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Debug \
9cc3a1a
 -DBUILD_RELEASE_LIB:BOOL=ON -DBUILD_SHARED_LIB:BOOL=ON %_vpath_srcdir
2ae6d09
%else
9cc3a1a
%cmake -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release \
9cc3a1a
 -DBUILD_RELEASE_LIB:BOOL=ON -DBUILD_SHARED_LIB:BOOL=ON %_vpath_srcdir
2ae6d09
%endif
9cc3a1a
%make_build
9cc3a1a
popd
f68f18c
f68f18c
%install
9cc3a1a
echo 'Manual installation...'
f68f18c
f68f18c
mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
9cc3a1a
install -pm 755 GTE/lib/ReleaseShared/* $RPM_BUILD_ROOT%{_libdir}/
3b91617
3b91617
ln -sf libgtapplications.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libgtapplications.so
3b91617
ln -sf libgtgraphics.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libgtgraphics.so
3b91617
ln -sf libgtmathematicsgpu.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libgtmathematicsgpu.so
7a3f809
ln -sf libgtapplications.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libgtapplications.so.6
7a3f809
ln -sf libgtgraphics.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libgtgraphics.so.6
7a3f809
ln -sf libgtmathematicsgpu.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libgtmathematicsgpu.so.6
3b91617
3b91617
mkdir -p $RPM_BUILD_ROOT%{_includedir}/GTE
3b91617
cp -a GTE/Applications $RPM_BUILD_ROOT%{_includedir}/GTE/
3b91617
cp -a GTE/Graphics $RPM_BUILD_ROOT%{_includedir}/GTE/
3b91617
cp -a GTE/Mathematics $RPM_BUILD_ROOT%{_includedir}/GTE/
9cc3a1a
find $RPM_BUILD_ROOT%{_includedir}/GTE -type f -name "*.cpp" -exec rm -f '{}' \;
3b91617
b73d1f5
mkdir -p $RPM_BUILD_ROOT%{_includedir}/GTL
b73d1f5
cp -a GTL/Mathematics $RPM_BUILD_ROOT%{_includedir}/GTL/
b73d1f5
cp -a GTL/Utility $RPM_BUILD_ROOT%{_includedir}/GTL/
b73d1f5
find $RPM_BUILD_ROOT%{_includedir}/GTL -type f -name "*.vcxproj" -exec rm -f '{}' \;
b73d1f5
find $RPM_BUILD_ROOT%{_includedir}/GTL -type f -name "*.sln" -exec rm -f '{}' \;
b73d1f5
b73d1f5
## Install GTL files
2ae6d09
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/%{name}
3b91617
cp -a GTE/Samples $RPM_BUILD_ROOT%{_libexecdir}/%{name}/
3b91617
3b91617
# Remove unused files
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.h" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.cpp" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.filters" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.vcxproj" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.csproj" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.sln" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.gte" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.o" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "cmake*" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "CMake*" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "Makefile" -exec rm -f '{}' \;
9cc3a1a
find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type f -name "*.json" -exec rm -f '{}' \;
9cc3a1a
9cc3a1a
for i in `find $RPM_BUILD_ROOT%{_libexecdir}/%{name}/Samples -type d -name "CMakeFiles"`; do
9cc3a1a
 rm -rf $i
9cc3a1a
done
3b91617
##
3b91617
3b91617
# Edit a pkg-config file
f68f18c
cat > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gtengine.pc <
f68f18c
prefix=%{_prefix}
f68f18c
exec_prefix=%{_prefix}
f68f18c
libdir=%{_libdir}
f68f18c
includedir=%{_includedir}
f68f18c
f68f18c
xthreadlib=-lpthread
f68f18c
f68f18c
Name: GTEngine
2ae6d09
Description: Library for computations in mathematics, graphics, image analysis, and physics
f68f18c
Version: %{version}
3b91617
Cflags: -I%{_includedir}/GTE
3b91617
Libs: -lgtgraphics -lgtmathematicsgpu -lgtapplications
f68f18c
Libs.private: -lpthread
f68f18c
EOF
f68f18c
f68f18c
%files
9cc3a1a
%license LICENSE
9cc3a1a
%doc README.md
7a3f809
%{_libdir}/libgt*.so.%{version}
7a3f809
%{_libdir}/libgt*.so.6
f68f18c
f68f18c
%files devel
3b91617
%{_includedir}/GTE/
b73d1f5
%{_includedir}/GTL/
3b91617
%{_libdir}/libgt*.so
f68f18c
%{_libdir}/pkgconfig/gtengine.pc
f68f18c
2ae6d09
%files samples
b73d1f5
%doc GTE/*InstallationRelease.pdf GTL/Documentation/GTLUtility.pdf
2ae6d09
%{_libexecdir}/%{name}/
2ae6d09
f68f18c
%changelog
b73d1f5
* Sat Jun 17 2023 Antonio Trande <sagitter@fedoraproject.org> 1:6.6-1
b73d1f5
- Release 6.6
b73d1f5
a83152b
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.4-3
a83152b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
a83152b
9b49583
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.4-2
9b49583
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
9b49583
7a3f809
* Sun Jul 10 2022 Antonio Trande <sagitter@fedoraproject.org> 1:6.4-1
7a3f809
- Release 6.4
7a3f809
73057a3
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.12-2
73057a3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
73057a3
5d8e8e7
* Fri Sep 03 2021 Antonio Trande <sagitter@fedoraproject.org> 1:5.12-1
5d8e8e7
- Release 5.12
5d8e8e7
5f7226f
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.10-2
5f7226f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
5f7226f
cd2c189
* Mon Jun 14 2021 Antonio Trande <sagitter@fedoraproject.org> 1:5.10-1
cd2c189
- Release 5.10
cd2c189
42c0e99
* Wed May 05 2021 Antonio Trande <sagitter@fedoraproject.org> 1:5.9-1
42c0e99
- Release 5.9
42c0e99
056251d
* Sun Feb 14 2021 Antonio Trande <sagitter@fedoraproject.org> 1:5.6-1
fbf43f2
- Release 5.6
056251d
- Remove -Werror flags (rhbz#1923590)
fbf43f2
b0d0661
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.1-2
b0d0661
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
b0d0661
9cc3a1a
* Sun Oct 11 2020 Antonio Trande <sagitter@fedoraproject.org> 1:5.1-1
9cc3a1a
- Release 5.1
9cc3a1a
- Switch to CMake build method
9cc3a1a
b92bc7b
* Wed Sep 16 2020 Antonio Trande <sagitter@fedoraproject.org> 1:5.0-1
b92bc7b
- Release 5.0
b92bc7b
62b11f8
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.6-2
62b11f8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
62b11f8
b1f44e4
* Fri Jun 12 2020 Antonio Trande <sagitter@fedoraproject.org> 1:4.6-1
b1f44e4
- Release 4.6
b1f44e4
3b91617
* Sat Feb 01 2020 Antonio Trande <sagitter@fedoraproject.org> 1:4.5-1
3b91617
- Release 4.5
3b91617
- Epoch 1
3b91617
498c36a
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.28-4
498c36a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
498c36a
954c57e
* Sat Dec 14 2019 Jeff Law <law@redhat.com> 3.28-3
954c57e
- Add missing #include for gcc-10
954c57e
2aad5fb
* Tue Sep 17 2019 Gwyn Ciesla <gwync@protonmail.com> - 3.28-2
2aad5fb
- Rebuilt for new freeglut
2aad5fb
962c435
* Thu Sep 05 2019 Antonio Trande <sagitter@fedoraproject.org> 3.28-1
962c435
- Release 3.28
962c435
7019383
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.21-2
7019383
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
7019383
f7346e2
* Tue Feb 19 2019 Antonio Trande <sagitter@fedoraproject.org> 3.21-1
f7346e2
- Release 3.21
f7346e2
8c52a26
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.19-2
8c52a26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
8c52a26
cf3c936
* Thu Dec 13 2018 Antonio Trande <sagitter@fedoraproject.org> 3.19-1
cf3c936
- Release 3.19
cf3c936
f986cc9
* Thu Oct 18 2018 Antonio Trande <sagitter@fedoraproject.org> 3.16-1
f986cc9
- Update to 3.16
f986cc9
05267d6
* Thu Sep 13 2018 Antonio Trande <sagitter@fedoraproject.org> 3.15-1
05267d6
- Update to 3.15
05267d6
b0a010d
* Sun Jul 22 2018 Antonio Trande <sagitter@fedoraproject.org> 3.14-1
b0a010d
- Update to 3.14
b0a010d
- Include EGL support
b0a010d
211dc50
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.12-2
211dc50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
211dc50
befdc38
* Sun May 20 2018 Antonio Trande <sagitter@fedoraproject.org> 3.12-1
befdc38
- Update to 3.12
befdc38
5e64186
* Sat Feb 17 2018 Antonio Trande <sagitter@fedoraproject.org> 3.11-1
5e64186
- Update to 3.11
5e64186
91feb18
* Fri Feb 16 2018 Antonio Trande <sagitter@fedoraproject.org> - 3.10-3
91feb18
- Use %%ldconfig_scriptlets
91feb18
e60eb6b
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.10-2
e60eb6b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
e60eb6b
07b0068
* Sat Oct 14 2017 Antonio Trande <sagitter@fedoraproject.org> 3.10-1
07b0068
- Update to 3.10
07b0068
4b79a7e
* Sun Aug 06 2017 Antonio Trande <sagitter@fedoraproject.org> 3.9-1
4b79a7e
- Update to 3.9
4b79a7e
f7be34f
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-3
f7be34f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
f7be34f
d319e59
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-2
d319e59
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
d319e59
065b4a2
* Sun Jun 11 2017 Antonio Trande <sagitter@fedoraproject.org> 3.8-1
065b4a2
- Update to 3.8
065b4a2
a32220a
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.7-2
a32220a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
a32220a
21f70ac
* Tue Feb 07 2017 Antonio Trande <sagitter@fedoraproject.org> 3.7-1
21f70ac
- Update to 3.7
21f70ac
3bc6649
* Sun Feb 05 2017 Antonio Trande <sagitter@fedoraproject.org> 3.6-1
3bc6649
- Update to 3.6
3bc6649
7ffc20e
* Sun Dec 25 2016 Antonio Trande <sagitter@fedoraproject.org> 3.5-1
7ffc20e
- Update to 3.5
7ffc20e
c524ebc
* Tue Nov 15 2016 Antonio Trande <sagitter@fedoraproject.org> 3.4-1
c524ebc
- Update to 3.4
c524ebc
1ece92f
* Sat Oct 01 2016 Antonio Trande <sagitter@fedoraproject.org> 3.3-1
1ece92f
- Update to 3.3
1ece92f
f85a0b3
* Thu Jul 07 2016 Antonio Trande <sagitter@fedoraproject.org> 3.2-2
f85a0b3
- Make obj directories (strange assembler error)
f85a0b3
2ae6d09
* Thu Jul 07 2016 Antonio Trande <sagitter@fedoraproject.org> 3.2-1
2ae6d09
- Update to 3.2
2ae6d09
2ae6d09
* Sun Jun 26 2016 Antonio Trande <sagitter@fedoraproject.org> 3.1-1
2ae6d09
- Update to 3.1
2ae6d09
229041e
* Sun May 29 2016 Antonio Trande <sagitter@fedoraproject.org> 2.5-1
229041e
- Update to 2.5
229041e
e4251b4
* Sat Apr 09 2016 Antonio Trande <sagitter@fedoraproject.org> 2.4-1
e4251b4
- Update to 2.4
e4251b4
8798e79
* Sat Apr 02 2016 Antonio Trande <sagitter@fedoraproject.org> 2.3-4
8798e79
- Parallel Make disabled
8798e79
f68f18c
* Fri Apr 01 2016 Antonio Trande <sagitter@fedoraproject.org> 2.3-3
f68f18c
- Install commands modified
f68f18c
f68f18c
* Fri Apr 01 2016 Antonio Trande <sagitter@fedoraproject.org> 2.3-2
f68f18c
- Renamed as gtengine
f68f18c
f68f18c
* Wed Mar 16 2016 Antonio Trande <sagitter@fedoraproject.org> 2.3-1
f68f18c
- Update to 2.3
f68f18c
f68f18c
* Mon Feb 22 2016 Antonio Trande <sagitter@fedoraproject.org> 2.2-1
f68f18c
- Update to 2.2
f68f18c
f68f18c
* Wed Jan 27 2016 Antonio Trande <sagitter@fedoraproject.org> 2.1-1
f68f18c
- Update to 2.1
f68f18c
f68f18c
* Tue Sep 29 2015 Antonio Trande <sagitter@fedoraproject.org> 2.0-1
f68f18c
- Update to 2.0
f68f18c
f68f18c
* Mon Jun 29 2015 Antonio Trande <sagitter@fedoraproject.org> 1.14-1
f68f18c
- First package