%if 0%{?rhel} %bcond_with workshop %else %bcond_without workshop %endif # skip all tests %global skip_all_checks 1 # skip tests known to be problematic in a specific version %global skip_checks_version 0.2.0 # for some reason or other comparing generated to reference images segfaults in # two test cases # Well, now it is all of them, not just two. :/ %global skip_checks compositions/run-*.xml.sh Summary: A graph based image processing framework Name: gegl Version: 0.2.0 Release: 39%{?dist} # Compute some version related macros # Ugly hack, you need to get your quoting backslashes/percent signs straight %global major %(ver=%version; echo ${ver%%%%.*}) %global minor %(ver=%version; ver=${ver#%major.}; echo ${ver%%%%.*}) %global micro %(ver=%version; ver=${ver#%major.%minor.}; echo ${ver%%%%.*}) %global apiver %major.%minor # The binary is under the GPL, while the libs are under LGPL License: LGPLv3+ and GPLv3+ URL: http://www.gegl.org/ Source0: http://download.gimp.org/pub/gegl/%{apiver}/%{name}-%{version}.tar.bz2 Patch0: gegl-0.2.0-lua-5.2.patch Patch1: gegl-0.2.0-CVE-2012-4433.patch Patch2: gegl-0.2.0-remove-src-over-op.patch Patch3: 0001-matting-levin-Fix-the-build-with-recent-suitesparse-.patch Patch4: gegl-0.2.0-linker-flags.patch Patch5: gegl-0.2.0-libopenraw.patch Patch6: gegl-0.2.0-ppc64-rand-fix.patch Patch7: gegl-build-without-exiv2.patch BuildRequires: asciidoc BuildRequires: babl-devel >= 0.1.10 BuildRequires: cairo-devel BuildRequires: enscript BuildRequires: gdk-pixbuf2-devel >= 2.18.0 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: glib2-devel >= 2.28.0 BuildRequires: graphviz BuildRequires: gtk2-devel >= 2.18.0 BuildRequires: intltool >= 0.40.1 BuildRequires: jasper-devel >= 1.900.1 %if %{with workshop} BuildRequires: lensfun-devel >= 0.2.5 %endif BuildRequires: libjpeg-devel BuildRequires: libopenraw-devel >= 0.0.5 BuildRequires: libpng-devel BuildRequires: librsvg2-devel >= 2.14.0 BuildRequires: libspiro-devel BuildRequires: libv4l-devel BuildRequires: lua-devel >= 5.1.0 BuildRequires: OpenEXR-devel BuildRequires: pango-devel BuildRequires: perl-devel BuildRequires: pkgconfig BuildRequires: rubygems BuildRequires: SDL-devel BuildRequires: suitesparse-devel Requires: babl%{?_isa} >= 0.1.10 Requires: dcraw %description GEGL (Generic Graphics Library) is a graph based image processing framework. GEGLs original design was made to scratch GIMPs itches for a new compositing and processing core. This core is being designed to have minimal dependencies. and a simple well defined API. %if %{with workshop} %package operations-workshop Summary: Experimental operations for GEGL Requires: %{name}%{_isa} = %{version}-%{release} %description operations-workshop This package contains experimental operations for GEGL. If used they may yield unwanted results, or even crash. You're warned! %endif %package devel Summary: Headers for developing programs that will use %{name} Requires: %{name}%{_isa} = %{version}-%{release} Requires: pkgconfig Requires: babl-devel%{_isa} Requires: glib2-devel%{_isa} %description devel This package contains the libraries and header files needed for developing with %{name}. %prep %autosetup -p1 %build # use hardening compiler/linker flags because gegl is likely to deal with # untrusted input %global _hardened_build 1 # Needed by Ruby 1.9.3. export LANG=en_US.utf8 %configure \ %if %{with workshop} --enable-workshop \ %else --disable-workshop \ %endif --with-pic \ --with-gio \ --with-gtk \ --with-cairo \ --with-pango \ --with-pangocairo \ --with-gdk-pixbuf \ --with-lensfun \ --with-libjpeg \ --with-libpng \ --with-librsvg \ --with-openexr \ --with-sdl \ --with-libopenraw \ --with-jasper \ --with-graphviz \ --with-lua \ --without-libavformat \ --with-libv4l \ --with-libspiro \ --with-exiv2 \ --with-umfpack \ --disable-static \ --disable-gtk-doc \ --disable-silent-rules %make_build %install %make_install pushd operations # favor non-workshop binaries make SUBDIRS= install INSTALL='install -p' for d in */; do d="${d%/}" if [ "$d" != "workshop" ]; then pushd "$d" make DESTDIR=%{buildroot} install INSTALL='install -p' popd fi done popd rm -f %{buildroot}%{_libdir}/*.la rm -f %{buildroot}%{_libdir}/gegl-%{apiver}/*.la # keep track of workshop/non-workshop operations opsdir="$PWD/operations" files_ws="$PWD/operations_files_workshop" files_non_ws="$PWD/operations_files" non_ws_filenames_file="$PWD/non_ws_filenames" find "$opsdir" -path "$opsdir/workshop" -prune -o -regex '.*/\.libs/.*\.so' -printf '%f\n' > "$non_ws_filenames_file" echo '%%defattr(-, root, root, -)' > "$files_non_ws" echo '%%defattr(-, root, root, -)' > "$files_ws" pushd %{buildroot}%{_libdir}/gegl-%{apiver} for opfile in *.so; do if fgrep -q -x "$opfile" "$non_ws_filenames_file"; then echo "%{_libdir}/gegl-%{apiver}/$opfile" >> "$files_non_ws" else echo "%{_libdir}/gegl-%{apiver}/$opfile" >> "$files_ws" fi done popd %find_lang %{name}-%{apiver} %check %if 0%{skip_all_checks} < 1 # skip tests known to be problematic in a specific version %if "%version" == "%skip_checks_version" pushd tests for problematic in %skip_checks; do rm -f "$problematic" cat << EOF > "$problematic" #!/bin/sh echo Skipping test "$problematic" EOF chmod +x "$problematic" done popd %endif make check %endif %ldconfig_scriptlets %files -f operations_files -f %{name}-%{apiver}.lang %doc AUTHORS ChangeLog COPYING COPYING.LESSER NEWS README %{_bindir}/gegl %{_libdir}/*.so.* %dir %{_libdir}/gegl-%{apiver}/ %if %{with workshop} %files operations-workshop -f operations_files_workshop %endif %files devel %doc %{_datadir}/gtk-doc/ %{_includedir}/gegl-%{apiver}/ %{_libdir}/*.so %{_libdir}/pkgconfig/%{name}-%{apiver}.pc %changelog * Mon Nov 04 2019 Jan Grulich - 0.2.0-39 - Build without exiv2 Resolves: bz#1767748 * Wed Feb 21 2018 Josef Ridky - 0.2.0-38 - Remove Group tag from spec file * Tue Feb 20 2018 Nils Philippsen - 0.2.0-37 - require gcc, gcc-c++ for building * Wed Feb 07 2018 Fedora Release Engineering - 0.2.0-36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sat Feb 03 2018 Igor Gnatenko - 0.2.0-35 - Switch to %%ldconfig_scriptlets * Wed Aug 02 2017 Fedora Release Engineering - 0.2.0-34 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 0.2.0-33 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 0.2.0-32 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sun Dec 04 2016 Josef Ridky - 0.2.0-31 - rebuild for jasper library * Sat Dec 03 2016 Julian Sikorski - 0.2.0-30 - Fixed building with libopenraw-0.1 - Added rubygems to BuildRequires to fix build error - Modernised the .spec file a bit - Disabled silent build * Wed Apr 27 2016 Nils Philippsen - 0.2.0-29 - require dcraw (#1279143) * Wed Feb 03 2016 Fedora Release Engineering - 0.2.0-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Jan 19 2016 Nils Philippsen - use %%global instead of %%define * Sun Jan 03 2016 Rex Dieter 0.2.0-27 - rebuild (lensfun) * Wed Jun 24 2015 Rex Dieter - 0.2.0-26 - rebuild (exiv2) * Wed Jun 17 2015 Fedora Release Engineering - 0.2.0-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Thu Jun 11 2015 Nils Philippsen - 0.2.0-24 - rebuild for suitesparse-4.4.4 * Thu May 14 2015 Nils Philippsen - 0.2.0-23 - rebuild for lensfun-0.3.1 * Thu May 07 2015 Debarshi Ray - 0.2.0-22 - Add -lm to linker flags because of sqrt * Thu Dec 04 2014 Kalev Lember - 0.2.0-21 - Fix the build with recent suitesparse versions * Sat Aug 16 2014 Fedora Release Engineering - 0.2.0-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Tue Aug 05 2014 Nils Philippsen - 0.2.0-19 - update source URL * Sat Jun 07 2014 Fedora Release Engineering - 0.2.0-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri Dec 06 2013 Nils Philippsen - 0.2.0-17 - rebuild (suitesparse) * Wed Dec 04 2013 Nils Philippsen - 0.2.0-16 - remove BR: w3m, it's only needed for "make dist" * Tue Dec 03 2013 Rex Dieter - 0.2.0-15 - rebuild (exiv2) * Wed Nov 27 2013 Rex Dieter - 0.2.0-14 - rebuild (openexr) * Thu Sep 12 2013 Kalev Lember - 0.2.0-13 - Rebuilt for ilmbase soname bump * Sat Aug 03 2013 Fedora Release Engineering - 0.2.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Mon Jul 01 2013 Nils Philippsen - 0.2.0-11 - replace lua-5.2 patch by upstream commit - fix buffer overflow in and add plausibility checks to ppm-load op (CVE-2012-4433) - fix multi-lib issue in generated documentation * Wed May 15 2013 Tom Callaway - 0.2.0-10 - rebuild for lua 5.2 - disable check suite (so broken) * Sun Mar 10 2013 Rex Dieter - 0.2.0-9 - rebuild (OpenEXR) * Wed Feb 13 2013 Fedora Release Engineering - 0.2.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jan 18 2013 Adam Tkac - 0.2.0-7 - rebuild due to "jpeg8-ABI" feature drop * Fri Dec 21 2012 Adam Tkac - 0.2.0-6 - rebuild against new libjpeg * Fri Oct 19 2012 Nils Philippsen - 0.2.0-5 - don't catch "make check" errors but skip known problematic tests * Fri Oct 19 2012 Nils Philippsen - 0.2.0-4 - don't require lensfun-devel for building without workshop ops * Thu Jul 19 2012 Fedora Release Engineering - 0.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed May 02 2012 Rex Dieter - 0.2.0-2 - rebuild (exiv2) * Tue Apr 03 2012 Nils Philippsen - 0.2.0-1 - version 0.2.0 - split off workshop (i.e. experimental) operations - don't build/package workshop operations on EL * Mon Feb 06 2012 Vít Ondruch - 0.1.8-3 - Rebuilt for Ruby 1.9.3. * Tue Jan 10 2012 Nils Philippsen - 0.1.8-2 - rebuild for gcc 4.7 * Tue Dec 13 2011 Nils Philippsen - 0.1.8-1 - version 0.1.8 - drop all patches - add BRs: gdk-pixbuf2-devel, lensfun-devel - update BR version: glib2-devel - use %%_hardened_build macro instead of supplying our own hardening flags * Thu Nov 17 2011 Nils Philippsen - 0.1.6-5 - don't require gtk-doc (#707554) * Mon Nov 07 2011 Nils Philippsen - 0.1.6-4 - rebuild (libpng) * Fri Oct 14 2011 Rex Dieter - 0.1.6-3 - rebuild (exiv2) * Wed Apr 06 2011 Nils Philippsen - 0.1.6-2 - fix crash when using hstack operation (#661533) * Tue Feb 22 2011 Nils Philippsen - 0.1.6-1 - version 0.1.6 - remove obsolete patches - fix erroneous use of destdir - correct source URL - add BR: exiv2-devel, jasper-devel, suitesparse-devel - update BR versions - update --with-*/--without-* configure flags - replace tabs with spaces for consistency * Tue Feb 08 2011 Fedora Release Engineering - 0.1.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Tue Oct 19 2010 Nils Philippsen - 0.1.2-4 - don't leak "root" symbol which clashes with (equally broken) xvnkb input method (#642992) * Wed Jun 23 2010 Nils Philippsen - 0.1.2-3 - build with -fno-strict-aliasing - use PIC/PIE because gegl is likely to deal with data coming from untrusted sources * Fri Feb 26 2010 Nils Philippsen - use tabs consistently - let devel depend on gtk-doc * Fri Feb 19 2010 Nils Philippsen - 0.1.2-2 - ignore make check failures for now * Wed Feb 17 2010 Nils Philippsen - avoid buffer overflow in gegl_buffer_header_init() - correct gegl library version, use macro for it * Tue Feb 16 2010 Nils Philippsen - 0.1.2-1 - version 0.1.2 - remove obsolete cflags, babl-instrumentation, autoreconf patches - backported: don't leak each node set on a GeglProcessor * Sat Jan 23 2010 Deji Akingunola - 0.1.0-3 - Rebuild for babl-0.1.2 - Backport upstream patch that removed babl processing time instrumentation * Wed Jan 20 2010 Nils Philippsen - use tabs consistently to appease rpmdiff * Tue Aug 18 2009 Nils Philippsen - explain patches * Fri Jul 24 2009 Fedora Release Engineering - 0.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Jul 02 2009 Nils Philippsen - 0.1.0-1 - fix cflags for building * Thu Jul 02 2009 Nils Philippsen - version 0.1.0 - use "--disable-gtk-doc" to avoid rebuilding documentation (#481404) - remove *.la files in %%{_libdir}/gegl-*/ (#509292) * Thu Jun 04 2009 Deji Akingunola - 0.0.22-5 - Apply patch to build with babl-0.1.0 API changes * Thu Jun 04 2009 Nils Philippsen - 0.0.22-4 - rebuild against babl-0.1.0 * Tue Feb 24 2009 Fedora Release Engineering - 0.0.22-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Jan 29 2009 Nils Philippsen - 0.0.22-2 - use the same timestamps for certain documentation files on all architectures to avoid multi-lib conflicts (#481404) - consolidate spec files between OS releases - reenable building documentation on ppc64 - explicitly list more build requirements and/or versions to catch eventual problems during future builds * Tue Jan 13 2009 Deji Akingunola - 0.0.22-1 - Update to version 0.0.22 * Tue Oct 07 2008 Deji Akingunola - 0.0.20-1 - Update to latest release * Thu Jul 10 2008 Deji Akingunola - 0.0.18-1 - Update to latest release * Thu Feb 28 2008 Deji Akingunola - 0.0.16-1 - New release * Thu Jan 17 2008 Deji Akingunola - 0.0.15-1.svn20080117 - Update to a svn snapshot for gnome-scan - Apply patch to fix extensions loading on 64bit systems - Building the docs on ppc64 segfaults, avoid it for now. * Sat Dec 08 2007 Deji Akingunola - 0.0.14-1 - Update to 0.0.14 release - License change from GPLv2+ to GPLv3+ * Thu Oct 25 2007 Deji Akingunola - 0.0.13-0.7.20071011svn - Include missing requires for the devel subpackage * Thu Oct 25 2007 Deji Akingunola - 0.0.13-0.6.20071011svn - BR graphiz instead of graphiz-devel - Remove the spurious exec flag from a couple of source codes * Tue Oct 23 2007 Deji Akingunola - 0.0.13-0.5.20071011svn - Fix missing directory ownership * Mon Oct 22 2007 Deji Akingunola - 0.0.13-0.4.20071011svn - Update the License field * Fri Oct 12 2007 Deji Akingunola - 0.0.13-0.3.20071011svn - Package the extension libraries in the main package - Run 'make check' * Fri Oct 12 2007 Deji Akingunola - 0.0.13-0.2.20071011svn - Remove the use of inexistent source * Thu Oct 11 2007 Deji Akingunola - 0.0.13-0.1.20071011svn - Initial packaging for Fedora