# # Copyright (c) 2010-2017 Ralf Corsepius, Ulm, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # %global coin_includedir %{_includedir}/Coin3 %global coin_htmldir %{_datadir}/Coin3 %global libopenal_SONAME libopenal.so.1 %global libsimage_SONAME libsimage.so.20 Summary: High-level 3D visualization library Name: Coin3 Version: 3.1.3 Release: 38%{?dist} # https://bitbucket.org/Coin3D/coin/wiki/Home tells BSD, # but the tarball is GPLv2 License: GPL-2.0-only # Note: Upstream moved # Original upstream site was URL: http://www.coin3d.org # Now 404... # URL: https://bitbucket.org/Coin3D/coin/wiki/Home URL: https://www.coin3d.org/ # Original coin3d.org tarball: # Source0: ftp://ftp.coin3d.org/pub/coin/src/all/Coin-3.1.3.tar.gz # Meanwhile, the coin3d.org-tarball moved to Source0: https://bitbucket.org/Coin3D/coin/downloads/Coin-%{version}.tar.gz Patch1: 0001-simage-soname.patch Patch2: 0002-openal-soname.patch Patch3: 0003-man3.patch Patch4: 0004-doxygen.patch Patch5: 0005-gcc-4.7.patch Patch6: 0006-inttypes.patch Patch7: 0007-Convert-to-utf-8.patch Patch8: 0008-Convert-to-utf-8.patch Patch9: 0009-Convert-to-utf-8.patch Patch10: 0010-GCC-4.8.0-fixes.patch Patch11: 0011-Fix-SoCamera-manpage.patch Patch12: 0012-memhandler-initialization.patch Patch13: 0013-Use-NULL-instead-of-0.patch BuildRequires: libGLU-devel BuildRequires: libXext-devel BuildRequires: gcc-c++ BuildRequires: zlib-devel BuildRequires: bzip2-devel BuildRequires: fontconfig-devel BuildRequires: freetype-devel BuildRequires: doxygen BuildRequires: /usr/bin/rename BuildRequires: boost-devel BuildRequires: /usr/bin/perl BuildRequires: make %description Coin is a 3D graphics library with an Application Programming Interface based on the Open Inventor 2.1 API. %package devel Summary: Development files for Coin Requires: %{name}%{?_isa} = %{version}-%{release} Requires: zlib-devel bzip2-devel Requires: fontconfig-devel Requires: freetype-devel Requires: libGLU-devel Requires: pkgconfig Requires(post): /usr/sbin/alternatives Requires(preun): /usr/sbin/alternatives Provides: pkgconfig(Coin) %description devel Development package for Coin3 %prep %setup -q -n Coin-%{version} %patch -P1 -p1 %patch -P2 -p1 %patch -P3 -p1 %patch -P4 -p1 %patch -P5 -p1 %patch -P6 -p1 %patch -P7 -p1 %patch -P8 -p1 %patch -P9 -p1 %patch -P10 -p1 %patch -P11 -p1 %patch -P12 -p1 %patch -P13 -p1 # Update doxygen configuration doxygen -u docs/coin.doxygen.in find -name 'Makefile.*' -exec sed -i -e 's,\$(datadir)/Coin,$(datadir)/Coin3,' {} \; # bogus permissions find . \( -name '*.h' -o -name '*.cpp' -o -name '*.c' \) -a -executable -exec chmod -x {} \; # convert sources to utf-8 for a in $(find . -type f -exec file -i {} \; | grep -i iso | sed -e 's,:.*,,'); do \ /usr/bin/iconv -f ISO-8859-1 -t utf-8 $a > $a~; \ mv $a~ $a; \ done sed -i -e 's,@LIBSIMAGE_SONAME@,"%{libsimage_SONAME}",' \ src/glue/simage_wrapper.cpp sed -i -e 's,@LIBOPENAL_SONAME@,"%{libopenal_SONAME}",' \ src/glue/openal_wrapper.cpp # HACK: Remove rid of %%optflags and friends sed -i -e "s| @COIN_EXTRA_LDFLAGS@||" -e "s| @COIN_EXTRA_CFLAGS@||" Coin.pc.in coin.cfg.in # get rid of bundled boost headers rm -rf include/boost %build %configure \ --includedir=%{coin_includedir} \ --disable-dependency-tracking \ --enable-shared \ --disable-dl-libbzip2 \ --disable-dl-glu \ --disable-dl-zlib \ --disable-dl-freetype \ --disable-dl-fontconfig \ --disable-spidermonkey \ --enable-man \ --enable-html \ --enable-3ds-import \ htmldir=%{coin_htmldir}/Coin \ CPPFLAGS="$(pkg-config --cflags freetype2)" make %{?_smp_mflags} # Strip the default libdir sed -i -e "s,\-L%{_libdir} ,," coin-default.cfg # coin-config is arch dependent sed -i -e "s,/share/Coin/conf/,/%{_lib}/Coin3/conf/,g" bin/coin-config %install make DESTDIR=$RPM_BUILD_ROOT install pushd $RPM_BUILD_ROOT%{_mandir} > /dev/null /usr/bin/rename .1 .1coin3 man1/* /usr/bin/rename .3 .3coin3 man3/* popd > /dev/null rm -f ${RPM_BUILD_ROOT}%{_libdir}/lib*.la install -d -m 755 ${RPM_BUILD_ROOT}%{_libdir}/Coin3 mv ${RPM_BUILD_ROOT}%{_datadir}/Coin3/conf ${RPM_BUILD_ROOT}%{_libdir}/Coin3 mv ${RPM_BUILD_ROOT}%{_bindir}/coin-config ${RPM_BUILD_ROOT}%{_libdir}/Coin3/coin-config ln -s %{_libdir}/Coin3/coin-config ${RPM_BUILD_ROOT}%{_bindir}/coin-config mv ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/Coin.pc ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/Coin3.pc ln -s %{_libdir}/pkgconfig/Coin3.pc ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/Coin.pc mv ${RPM_BUILD_ROOT}%{_datadir}/aclocal/coin.m4 ${RPM_BUILD_ROOT}%{_datadir}/aclocal/coin3.m4 ln -s %{_datadir}/aclocal/coin3.m4 ${RPM_BUILD_ROOT}%{_datadir}/aclocal/coin.m4 %ldconfig_scriptlets %post devel link=$(readlink -e "%{_bindir}/coin-config") if [ "$link" = "%{_bindir}/coin-config" ]; then rm -f %{_bindir}/coin-config fi if [ "$link" = "%{_libdir}/Coin3/coin-config" ]; then rm -f %{_bindir}/coin-config fi /usr/sbin/alternatives --install "%{_bindir}/coin-config" coin-config \ "%{_libdir}/Coin3/coin-config" 60 \ --slave %{_libdir}/pkgconfig/Coin.pc Coin.pc %{_libdir}/pkgconfig/Coin3.pc \ --slave %{_datadir}/aclocal/coin.m4 coin.m4 %{_datadir}/aclocal/coin3.m4 \ --slave %{_libdir}/libCoin.so libCoin.so %{_libdir}/libCoin.so.60 %preun devel if [ $1 = 0 ]; then /usr/sbin/alternatives --remove coin-config "%{_libdir}/Coin3/coin-config" fi %files %doc AUTHORS README THANKS FAQ* %license LICENSE.GPL COPYING %dir %{_datadir}/Coin3 %{_datadir}/Coin3/scxml %{_libdir}/libCoin.so.* %files devel %ghost %{_bindir}/coin-config %{coin_includedir} %ghost %{_libdir}/libCoin.so %{_datadir}/aclocal/coin3.m4 %ghost %{_datadir}/aclocal/coin.m4 %dir %{_datadir}/Coin3 %{_datadir}/Coin3/draggerDefaults %{_datadir}/Coin3/shaders %{_libdir}/Coin3 %{_mandir}/man?/* %doc %{coin_htmldir}/Coin %{_libdir}/pkgconfig/Coin3.pc %ghost %{_libdir}/pkgconfig/Coin.pc %changelog * Wed Jul 17 2024 Fedora Release Engineering - 3.1.3-38 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Mon Jan 22 2024 Fedora Release Engineering - 3.1.3-37 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 3.1.3-36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Thu Jan 18 2024 Fedora Release Engineering - 3.1.3-35 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jul 19 2023 Fedora Release Engineering - 3.1.3-34 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Wed Jan 18 2023 Fedora Release Engineering - 3.1.3-33 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Wed Jul 20 2022 Fedora Release Engineering - 3.1.3-32 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Feb 8 2022 Zbigniew Jędrzejewski-Szmek - 3.1.3-31 - Drop ldflags from Libs line in pkgconf file (avoids issues with https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects) * Wed Jan 19 2022 Fedora Release Engineering - 3.1.3-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Jul 21 2021 Fedora Release Engineering - 3.1.3-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Mon Jan 25 2021 Fedora Release Engineering - 3.1.3-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 3.1.3-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jan 28 2020 Fedora Release Engineering - 3.1.3-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Wed Jul 24 2019 Fedora Release Engineering - 3.1.3-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Jan 31 2019 Fedora Release Engineering - 3.1.3-24 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Jul 12 2018 Fedora Release Engineering - 3.1.3-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 3.1.3-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Aug 02 2017 Fedora Release Engineering - 3.1.3-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 3.1.3-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed Feb 08 2017 Ralf Corsépius - 3.1.3-19 - Add 0013-Use-NULL-instead-of-0.patch (Fix F26FTBFS, GCC-7.0). - Drop fedora < 24. * Mon Sep 05 2016 Ralf Corsépius - 3.1.3-18 - BR: /usr/bin/perl (Fix F25FTBFS). * Fri Apr 22 2016 Mamoru TASAKA - 3.1.3-17 - Initialize memhandler member properly (bug 1323159) * Wed Feb 03 2016 Fedora Release Engineering - 3.1.3-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jan 27 2016 Ralf Corsépius - 3.1.3-15 - Move COPYING to %%license. * Wed Jan 27 2016 Ralf Corsépius - 3.1.3-14 - Work-around Fedora's freetype header chaos. * Thu Jan 14 2016 Jonathan Wakely - 3.1.3-13 - Rebuilt for Boost 1.60 * Thu Aug 27 2015 Jonathan Wakely - 3.1.3-12 - Rebuilt for Boost 1.59 * Wed Jul 29 2015 Fedora Release Engineering - 3.1.3-11 - Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 * Wed Jul 22 2015 David Tardon - 3.1.3-10 - rebuild for Boost 1.58 * Tue Jun 16 2015 Fedora Release Engineering - 3.1.3-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 3.1.3-8 - Rebuilt for GCC 5 C++11 ABI change * Wed Feb 25 2015 Ralf Corsépius - 3.1.3-7 - Remove %%optflags and %%__global_ld_flags from *.pc and *.cfg. * Sun Feb 22 2015 Ralf Corsépius - 3.1.3-6 - Don't use bundled boost-headers. - Add %%license. * Fri Feb 20 2015 Ralf Corsépius - 3.1.3-5 - Fix SoCamera manpage (Add 0011-Fix-SoCamera-manpage.patch). - Reflect Fedora > 20 freetype2 header location having changed. - More minor spec changes. * Tue Aug 20 2013 Ralf Corsépius - 3.1.3-4 - Minor spec update. * Fri Apr 19 2013 Ralf Corsépius - 3.1.3-3.20130419.0 - Rebase patches. - Move utf-8 changes into patches. - Fix GCC-4.8.0 FTBFS. * Mon Jan 09 2012 Ralf Corsépius - 3.1.3-3 - Add Coin-3.1.3-gcc-4.7.patch (Address gcc-4.7.0 FTBS). - Update spec file copyright/licence. - Reflect package being licensed GPLv2. - Add Coin-3.1.3-inttypes.patch (Make *-devel multilib compliant; Fix autoconf clashes). * Mon Nov 07 2011 Ralf Corsépius - 3.1.3-2 - Modernize spec. - Don't use bash's "==" in alternatives' scriptlets. - Don't ship README.*. - Don't add build-time to doxygen generated docs. - Eliminate warnings from doxygen-generated manpages. * Sun Dec 26 2010 Ralf Corsépius - 3.1.3-1 - Fedora submission.