File gegl.spec of Package gegl
#
# spec file for package gegl
#
# Copyright (c) 2020 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/
#
# docs are turned off atm as our graphviz doesnt support png output format
%bcond_with docs
%define requires_file() %( readlink -f '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %%{name} >= %%{epoch}:%%{version}\\n' -f | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
%define lib_package libgegl-0_4-0
%if 0%{?suse_version}
%define modules_package %{name}-0_4
%else
%define modules_package gegl04
%endif
%if 0%{?fedora_version}
%bcond_with ffmpeg
%else
%bcond_without ffmpeg
%endif
%ifarch ppc64
%bcond_with luajit
%else
%bcond_without luajit
%endif
%if 0%{?suse_version}
%bcond_without maxflow
%else
%bcond_with maxflow
%endif
%if 0%{?suse_version}
%bcond_without mrg
%else
%bcond_with mrg
%endif
Name: gegl
Version: 0.4.22
Release: 0
Summary: Generic Graphics Library
License: GPL-3.0-or-later AND LGPL-3.0-or-later
Group: Productivity/Graphics/Other
URL: http://gegl.org/
Source0: https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.xz
Source99: baselibs.conf
BuildRequires: ImageMagick
BuildRequires: asciidoc
BuildRequires: gcc-c++
BuildRequires: graphviz
BuildRequires: gtk-doc
BuildRequires: libstdc++-devel
BuildRequires: meson >= 0.50.0
BuildRequires: pkgconfig
BuildRequires: suitesparse-devel
BuildRequires: pkgconfig(OpenEXR) >= 1.6.1
BuildRequires: pkgconfig(babl-0.1) >= 0.1.106
BuildRequires: pkgconfig(cairo) >= 1.12.2
BuildRequires: pkgconfig(exiv2) >= 0.25
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.32.0
BuildRequires: pkgconfig(gexiv2)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.44.0
BuildRequires: pkgconfig(gmodule-2.0) >= 2.44.0
BuildRequires: pkgconfig(gobject-2.0) >= 2.44.0
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gthread-2.0) >= 2.44.0
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(lcms2) >= 2.8
BuildRequires: pkgconfig(lensfun) >= 0.2.5
BuildRequires: pkgconfig(libpng) >= 1.6.0
BuildRequires: pkgconfig(libraw) >= 0.15.4
BuildRequires: pkgconfig(librsvg-2.0) >= 2.40.6
BuildRequires: pkgconfig(sdl2) >= 2.0.5
BuildRequires: pkgconfig(libtiff-4) >= 4.0.0
BuildRequires: pkgconfig(libv4l1) >= 1.0.1
BuildRequires: pkgconfig(libv4l2) >= 1.0.1
BuildRequires: pkgconfig(libwebp) >= 0.5.0
BuildRequires: pkgconfig(gi-docgen)
%if %{with mrg}
BuildRequires: pkgconfig(mrg)
%endif
%if %{with luajit}
BuildRequires: pkgconfig(luajit)
%endif
%if %{with maxflow}
BuildRequires: pkgconfig(maxflow)
%endif
BuildRequires: babl-vala
# TODO: BuildRequires: pkgconfig(mrg)
BuildRequires: pkgconfig(pango) >= 1.38.0
BuildRequires: pkgconfig(pangocairo) >= 1.38.0
BuildRequires: pkgconfig(poppler-glib) >= 0.71.0
BuildRequires: pkgconfig(pygobject-3.0) >= 3.2.0
BuildRequires: pkgconfig(libspiro)
BuildRequires: pkgconfig(vapigen) >= 0.20.0
%if %{with ffmpeg}
BuildRequires: pkgconfig(libavcodec) >= 55.69.100
BuildRequires: pkgconfig(libavformat) >= 55.48.100
BuildRequires: pkgconfig(libavutil) >= 55.92.100
BuildRequires: pkgconfig(libswscale) >= 2.6.100
%endif
# since version 0.3.5, we no longer provide an orig-addon package, as ffmpeg/libav
# exists in Tumbleweed and we use it to build
Provides: %{name}-0_3-orig-addon = %{version}
Obsoletes: %{name}-0_3-orig-addon < 0.3.5
# Since 13/02/18 (version 0.3.28) gegl-unstable is obsolete, gegl is now on "0.4" branch.
Provides: gegl-unstable = %{version}
Obsoletes: gegl-unstable < 0.3.28
Requires: %{lib_package} >= %{version}
%if ! 0%{?suse_version}
Conflicts: gegl04-tools
Provides: gegl04-tools = %{version}-%{release}
%endif
%description
GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for
input and output.
%package -n %{modules_package}
Summary: Generic Graphics Library
Group: System/Libraries
Requires: luajit
Requires: graphviz
PreReq: %{lib_package} = %{version}
%description -n %{modules_package}
GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for
input and output.
%package -n %{lib_package}
Summary: Generic Graphics Library
# The plugins are required for the lib to be usable
Group: System/Libraries
Requires: %{modules_package} >= %{version}
%requires_file %{_libdir}/libbabl-0.1.so
%description -n %{lib_package}
GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for
input and output.
%package -n typelib-1_0-Gegl-0_4
Summary: Introspection bindings for the GEGL "Generic Graphics Library"
Group: System/Libraries
%description -n typelib-1_0-Gegl-0_4
GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for
input and output.
This package provides the GObject Introspection bindings for the
libgegl library.
%package devel
Summary: Development files for the GEGL "Generic Graphics Library"
Group: Development/Libraries/C and C++
Requires: %{lib_package} = %{version}
%if 0%{?suse_version}
Requires: typelib-1_0-Gegl-0_4 = %{version}
%endif
%description devel
GEGL provides infratructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for
input and output.
%package doc
Summary: Documentation for the GEGL "Generic Graphics Library"
Group: Documentation/HTML
%description doc
GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for
input and output.
%if 0%{?suse_version}
%lang_package -n %{modules_package}
%endif
%prep
%autosetup -p1
%build
%meson \
%if %{with mrg}
-Dmrg=enabled \
%else
-Dmrg=disabled \
%endif
%if %{without maxflow}
-Dmaxflow=disabled \
%endif
%if %{without luajit}
-Dlua=disabled \
%endif
%if %{with ffmpeg}
-Dlibav=enabled \
%else
-Dlibav=disabled \
%endif
-Dworkshop=true \
-Djasper=disabled \
%if %{with docs}
-Ddocs=true \
%else
-Ddocs=false \
%endif
%{nil}
%meson_build
%install
%meson_install
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name}-0.4 %{?no_lang_C}
%post -n %{modules_package} -p /sbin/ldconfig
%postun -n %{modules_package} -p /sbin/ldconfig
%post -n %{lib_package} -p /sbin/ldconfig
%postun -n %{lib_package} -p /sbin/ldconfig
%files
%{_bindir}/gegl
%{_bindir}/gegl-imgcmp
%if 0%{?suse_version}
%files -n %{modules_package}-lang -f %{name}-0.4.lang
%files -n %{modules_package}
%else
%files -n %{modules_package} -f %{name}-0.4.lang
%endif
%dir %{_libdir}/gegl-0.4/
%{_libdir}/gegl-0.4/*.so
# libgegl-sc-0.4.so is a support library for the seamless-clone module
%{_libdir}/libgegl-sc-0.4.so
%{_libdir}/libgegl-npd-0.4.so
%{_libdir}/gegl-0.4/grey2.json
%{_libdir}/gegl-0.4/dropshadow2.json
%if %{with luajit}
# lua files
%dir %{_datadir}/gegl-0.4/
%{_datadir}/gegl-0.4/lua/
%endif
%files -n %{lib_package}
%license COPYING COPYING.LESSER
%{_libdir}/libgegl-0.4.so.*
%if 0%{?suse_version}
%files -n typelib-1_0-Gegl-0_4
%endif
%{_libdir}/girepository-1.0/Gegl-0.4.typelib
%files devel
%{_includedir}/gegl-0.4/
%{_libdir}/libgegl-0.4.so
%{_libdir}/pkgconfig/gegl-0.4.pc
%{_libdir}/pkgconfig/gegl-sc-0.4.pc
%{_datadir}/gir-1.0/Gegl-0.4.gir
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/gegl-0.4.deps
%{_datadir}/vala/vapi/gegl-0.4.vapi
%files doc
%doc %{_datadir}/doc/gegl-0.4/
%doc AUTHORS docs/ChangeLog
%if %{with docs}
%doc %{_datadir}/gtk-doc/html/gegl/
%endif
%changelog