Accepting request 589853 from graphics

OBS-URL: https://build.opensuse.org/request/show/589853
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gegl?expand=0&rev=36
This commit is contained in:
Dominique Leuenberger 2018-03-24 15:08:43 +00:00 committed by Git OBS Bridge
commit 03187a93bb
9 changed files with 117 additions and 445 deletions

View File

@ -1,159 +0,0 @@
From ffa77a246652c7e706d690682fe659f50fbe5656 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Mon, 1 Jul 2013 12:03:51 +0200
Subject: [PATCH] patch: CVE-2012-4433
Squashed commit of the following:
commit 2a9071e2dc4cfe1aaa7a726805985281936f9874
Author: Nils Philippsen <nils@redhat.com>
Date: Tue Oct 16 16:57:37 2012 +0200
ppm-load: bring comment in line with reality
(cherry picked from commit 6975a9cfeaf0698b42ac81b1c2f00d13c8755453)
commit 8bb88ebf78e54837322d3be74688f98800e9f33a
Author: Nils Philippsen <nils@redhat.com>
Date: Tue Oct 16 16:56:40 2012 +0200
ppm-load: CVE-2012-4433: add plausibility checks for header fields
Refuse values that are non-decimal, negative or overflow the target
type.
(cherry picked from commit 4757cdf73d3675478d645a3ec8250ba02168a230)
commit 2b099886969bf055a8635d06a4d89f20fed1ee42
Author: Nils Philippsen <nils@redhat.com>
Date: Tue Oct 16 16:58:27 2012 +0200
ppm-load: CVE-2012-4433: don't overflow memory allocation
Carefully selected width/height values could cause the size of a later
allocation to overflow, resulting in a buffer much too small to store
the data which would then written beyond its end.
(cherry picked from commit 1e92e5235ded0415d555aa86066b8e4041ee5a53)
---
operations/external/ppm-load.c | 64 +++++++++++++++++++++++++++++++++++-------
1 file changed, 54 insertions(+), 10 deletions(-)
diff --git a/operations/external/ppm-load.c b/operations/external/ppm-load.c
index efe6d56..e22521c 100644
--- a/operations/external/ppm-load.c
+++ b/operations/external/ppm-load.c
@@ -36,6 +36,7 @@ gegl_chant_file_path (path, _("File"), "", _("Path of file to load."))
#include "gegl-chant.h"
#include <stdio.h>
#include <stdlib.h>
+#include <errno.h>
typedef enum {
PIXMAP_ASCII = 51,
@@ -44,8 +45,8 @@ typedef enum {
typedef struct {
map_type type;
- gint width;
- gint height;
+ glong width;
+ glong height;
gsize numsamples; /* width * height * channels */
gsize bpc; /* bytes per channel */
guchar *data;
@@ -61,7 +62,7 @@ ppm_load_read_header(FILE *fp,
gchar header[MAX_CHARS_IN_ROW];
gint maxval;
- /* Check the PPM file Type P2 or P5 */
+ /* Check the PPM file Type P3 or P6 */
fgets (header,MAX_CHARS_IN_ROW,fp);
if (header[0] != ASCII_P ||
@@ -82,12 +83,33 @@ ppm_load_read_header(FILE *fp,
}
/* Get Width and Height */
- img->width = strtol (header,&ptr,0);
- img->height = atoi (ptr);
- img->numsamples = img->width * img->height * CHANNEL_COUNT;
+ errno = 0;
+ img->width = strtol (header,&ptr,10);
+ if (errno)
+ {
+ g_warning ("Error reading width: %s", strerror(errno));
+ return FALSE;
+ }
+ else if (img->width < 0)
+ {
+ g_warning ("Error: width is negative");
+ return FALSE;
+ }
+
+ img->height = strtol (ptr,&ptr,10);
+ if (errno)
+ {
+ g_warning ("Error reading height: %s", strerror(errno));
+ return FALSE;
+ }
+ else if (img->width < 0)
+ {
+ g_warning ("Error: height is negative");
+ return FALSE;
+ }
fgets (header,MAX_CHARS_IN_ROW,fp);
- maxval = strtol (header,&ptr,0);
+ maxval = strtol (header,&ptr,10);
if ((maxval != 255) && (maxval != 65535))
{
@@ -109,6 +131,16 @@ ppm_load_read_header(FILE *fp,
g_warning ("%s: Programmer stupidity error", G_STRLOC);
}
+ /* Later on, img->numsamples is multiplied with img->bpc to allocate
+ * memory. Ensure it doesn't overflow. */
+ if (!img->width || !img->height ||
+ G_MAXSIZE / img->width / img->height / CHANNEL_COUNT < img->bpc)
+ {
+ g_warning ("Illegal width/height: %ld/%ld", img->width, img->height);
+ return FALSE;
+ }
+ img->numsamples = img->width * img->height * CHANNEL_COUNT;
+
return TRUE;
}
@@ -229,12 +261,24 @@ process (GeglOperation *operation,
if (!ppm_load_read_header (fp, &img))
goto out;
- rect.height = img.height;
- rect.width = img.width;
-
/* Allocating Array Size */
+
+ /* Should use g_try_malloc(), but this causes crashes elsewhere because the
+ * error signalled by returning FALSE isn't properly acted upon. Therefore
+ * g_malloc() is used here which aborts if the requested memory size can't be
+ * allocated causing a controlled crash. */
img.data = (guchar*) g_malloc (img.numsamples * img.bpc);
+ /* No-op without g_try_malloc(), see above. */
+ if (! img.data)
+ {
+ g_warning ("Couldn't allocate %" G_GSIZE_FORMAT " bytes, giving up.", ((gsize)img.numsamples * img.bpc));
+ goto out;
+ }
+
+ rect.height = img.height;
+ rect.width = img.width;
+
switch (img.bpc)
{
case 1:
--
1.8.3.1

View File

@ -1,36 +0,0 @@
diff -urNp gegl-0.2.0.orig/bin/Makefile.in gegl-0.2.0/bin/Makefile.in
--- gegl-0.2.0.orig/bin/Makefile.in 2015-05-07 15:06:23.716649233 +0200
+++ gegl-0.2.0/bin/Makefile.in 2015-05-07 15:08:38.104260506 +0200
@@ -363,7 +363,7 @@ AM_CFLAGS = \
AM_LDFLAGS = \
$(no_undefined) ../gegl/libgegl-$(GEGL_API_VERSION).la \
- $(DEP_LIBS) $(BABL_LIBS) $(PNG_LIBS) $(LIBSPIRO)
+ $(DEP_LIBS) $(BABL_LIBS) $(PNG_LIBS) $(LIBSPIRO) -lm
gegl_SOURCES = gegl.c gegl-options.c gegl-options.h gegl-path-smooth.c \
gegl-path-smooth.h $(am__append_1)
diff -urNp gegl-0.2.0.orig/examples/Makefile.in gegl-0.2.0/examples/Makefile.in
--- gegl-0.2.0.orig/examples/Makefile.in 2015-05-07 15:06:23.674649046 +0200
+++ gegl-0.2.0/examples/Makefile.in 2015-05-07 16:13:36.057203261 +0200
@@ -376,7 +376,7 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(DEP_CFLAGS) $(GTK_CFLAGS) $(BABL_CFLAGS) $(PNG_CFLAGS)
AM_LDFLAGS = \
$(top_builddir)/gegl/libgegl-$(GEGL_API_VERSION).la \
- $(DEP_LIBS) $(GTK_LIBS) $(BABL_LIBS) $(PNG_LIBS)
+ $(DEP_LIBS) $(GTK_LIBS) $(BABL_LIBS) $(PNG_LIBS) -lm
all: all-recursive
diff -urNp gegl-0.2.0.orig/tools/Makefile.in gegl-0.2.0/tools/Makefile.in
--- gegl-0.2.0.orig/tools/Makefile.in 2015-05-07 15:06:23.716649233 +0200
+++ gegl-0.2.0/tools/Makefile.in 2015-05-07 15:31:43.643298848 +0200
@@ -394,7 +394,7 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(DEP_CFLAGS) $(BABL_CFLAGS)
AM_LDFLAGS = \
$(top_builddir)/gegl/libgegl-$(GEGL_API_VERSION).la \
- $(DEP_LIBS) $(BABL_LIBS)
+ $(DEP_LIBS) $(BABL_LIBS) -lm
@HAVE_EXIV2_TRUE@exp_combine_SOURCES = exp_combine.cpp
@HAVE_EXIV2_TRUE@exp_combine_LDADD = $(EXIV2_LIBS)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426
size 7502040

3
gegl-0.3.28.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:152f87604a5a191775329dfb63764efa1d5c32403d1438da68e242f96b7d23ff
size 6530569

View File

@ -1,44 +0,0 @@
Index: gegl-0.2.0/operations/external/matting-levin.c
===================================================================
--- gegl-0.2.0.orig/operations/external/matting-levin.c
+++ gegl-0.2.0/operations/external/matting-levin.c
@@ -848,8 +848,8 @@ matting_sparse_new (guint cols, guint ro
sparse_t *s = g_new (sparse_t, 1);
s->columns = cols;
s->rows = rows;
- s->col_idx = g_new (UF_long, cols + 1);
- s->row_idx = g_new (UF_long, elems);
+ s->col_idx = g_new (SuiteSparse_long, cols + 1);
+ s->row_idx = g_new (SuiteSparse_long, elems);
s->values = g_new0 (gdouble, elems);
return s;
@@ -948,7 +948,7 @@ matting_get_laplacian (const gdouble
image_elems = roi->width * roi->height,
i, j, k, x, y,
status;
- UF_long *trip_col,
+ SuiteSparse_long *trip_col,
*trip_row;
glong trip_nz = 0,
trip_cursor = 0,
@@ -979,8 +979,8 @@ matting_get_laplacian (const gdouble
trip_nz = trip_masked * window_elems * window_elems;
trip_nz += image_elems; // Sparse diagonal and row summing at conclusion
- trip_col = g_new (UF_long, trip_nz);
- trip_row = g_new (UF_long, trip_nz);
+ trip_col = g_new (SuiteSparse_long, trip_nz);
+ trip_row = g_new (SuiteSparse_long, trip_nz);
trip_val = g_new0 (gdouble, trip_nz);
/* Compute the contribution of each pixel in the image to the laplacian */
@@ -1066,7 +1066,7 @@ matting_get_laplacian (const gdouble
for (y = 0; y < window_elems; ++y)
for (x = 0; x < window_elems; ++x)
{
- UF_long yx = y % diameter,
+ SuiteSparse_long yx = y % diameter,
yy = y / diameter,
xx = x % diameter,
xy = x / diameter;

View File

@ -1,39 +0,0 @@
commit a5b601502d3293966994911cfcab6a0eb0d68e41
Author: Vincent Untz <vuntz@gnome.org>
Date: Wed Jan 11 09:52:25 2012 +0100
Fix build with lua 5.2 by not using API deprecated in 5.1 already
https://bugzilla.gnome.org/show_bug.cgi?id=667675
diff --git a/operations/workshop/external/gluas.c b/operations/workshop/external/gluas.c
index 536f1d9..dbcc362 100644
--- a/operations/workshop/external/gluas.c
+++ b/operations/workshop/external/gluas.c
@@ -97,7 +97,7 @@ static int l_progress (lua_State * lua);
static int l_flush (lua_State * lua);
static int l_print (lua_State * lua);
-static const luaL_reg gluas_functions[] =
+static const luaL_Reg gluas_functions[] =
{
{"set_rgba", l_set_rgba},
{"get_rgba", l_get_rgba},
@@ -122,7 +122,7 @@ static const luaL_reg gluas_functions[] =
};
static void
register_functions (lua_State *L,
- const luaL_reg *l)
+ const luaL_Reg *l)
{
for (;l->name; l++)
lua_register (L, l->name, l->func);
@@ -146,7 +146,7 @@ drawable_lua_process (GeglOperation *op,
lua_State *L;
Priv p;
- L = lua_open ();
+ L = luaL_newstate ();
luaL_openlibs (L);
register_functions (L, gluas_functions);

View File

@ -1,43 +0,0 @@
commit 809642a08787638d9682149de25d36ee273902ff
Author: Øvind Kolå<pippin gimp org>
Date: Thu Apr 5 18:49:54 2012 +0200
tools/create-reference.rb: fix utf8 handling for ruby >= 1.9.x
A patch from Tim Mooney, fixing bug #673523
tools/create-reference.rb | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
---
Index: gegl-0.2.0/tools/create-reference.rb
===================================================================
--- gegl-0.2.0.orig/tools/create-reference.rb
+++ gegl-0.2.0/tools/create-reference.rb
@@ -5,6 +5,11 @@
# Use under a public domain license.
#
+if RUBY_VERSION =~ /^1.9/ or RUBY_VERSION =~ /^[2345]/
+ Encoding.default_external = Encoding::UTF_8
+ Encoding.default_internal = Encoding::UTF_8
+end
+
class Argument
attr_accessor :name, :data_type, :doc
def initialize
Index: gegl-0.2.0/tools/gobj2dot.rb
===================================================================
--- gegl-0.2.0.orig/tools/gobj2dot.rb
+++ gegl-0.2.0/tools/gobj2dot.rb
@@ -15,6 +15,11 @@
#
# Copyright (C) 2009 Henrik Akesson
+if RUBY_VERSION =~ /^1.9/ or RUBY_VERSION =~ /^[2345]/
+ Encoding.default_external = Encoding::UTF_8
+ Encoding.default_internal = Encoding::UTF_8
+end
+
require 'find'
if ARGV[0] == nil or ARGV.length != 1 or ARGV[0] == "-h"

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Tue Mar 13 00:18:49 UTC 2018 - bjorn.lie@gmail.com
- Update to version 0.3.28:
+ New stable branch, long packaged as gegl-unstable in openSUSE,
changes far to many to list, please see NEWS packaged in
docs sub-package.
- Lots of BuildRequires, Requires and sub-package changes.
- Drop upstream fixed patches:
+ gegl-UF_long.patch.
+ gegl-lua52.patch.
+ gegl-0.2.0-CVE-2012-4433.patch.
+ gegl-ruby19.patch.
+ gegl-0.2.0-linker-flags.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Mar 7 10:35:17 UTC 2018 - jengelh@inai.de Wed Mar 7 10:35:17 UTC 2018 - jengelh@inai.de

220
gegl.spec
View File

@ -16,206 +16,184 @@
# #
%define debug_package_requires libgegl-0_2-0 = %{version}-%{release}
Name: gegl Name: gegl
Version: 0.2.0 Version: 0.3.28
Release: 0 Release: 0
Summary: Generic Graphics Library Summary: Generic Graphics Library
License: GPL-3.0-or-later AND LGPL-3.0-or-later License: GPL-3.0-or-later AND LGPL-3.0-or-later
Group: Productivity/Graphics/Other Group: Productivity/Graphics/Other
Url: http://gegl.org/ URL: http://gegl.org/
Source: http://ftp.gtk.org/pub/gegl/0.2/%{name}-%{version}.tar.bz2 Source0: https://download.gimp.org/pub/gegl/0.3/%{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM gegl-lua52.patch bgo#667675 vuntz@opensuse.org -- Fix build with lua 5.2
Patch0: gegl-lua52.patch
# PATCH-FIX-UPSTREAM gegl-ruby19.patch dimstar@opensuse.org -- Fix build with ruby 1.9
Patch1: gegl-ruby19.patch
# Patched code is built by default.
# Use rpmbuild -D 'BUILD_ORIG 1' to build original code.
# Use rpmbuild -D 'BUILD_ORIG 1' -D 'BUILD_ORIG_ADDON 1' to build patched build plus original as addon.
# PATCH-FIX-UPSTREAM sutesparse changed UF_long for SuiteSparse_long
Patch2: gegl-UF_long.patch
# PATCH-FIX-UPSTREAM gegl-0.2.0-linker-flags.patch idoenmez@suse.de -- Add -lm to linker flags
Patch3: gegl-0.2.0-linker-flags.patch
# PATCH-FIX-SECURITY gegl-0.2.0-CVE-2012-4433.patch bsc789835 CVE-2012-4433 zaitor@opensuse.org -- Fix buffer overflow in and add plausibility checks to ppm-load op
Patch4: gegl-0.2.0-CVE-2012-4433.patch
BuildRequires: ImageMagick BuildRequires: ImageMagick
BuildRequires: OpenEXR-devel
BuildRequires: SDL-devel BuildRequires: SDL-devel
BuildRequires: asciidoc
BuildRequires: babl-devel >= 0.1.10
BuildRequires: enscript BuildRequires: enscript
BuildRequires: gcc-c++ BuildRequires: gcc-c++
# multiple provides by gd and gd-tools BuildRequires: gobject-introspection-devel >= 1.32.0
BuildRequires: gd
BuildRequires: glib2-devel >= 2.16.1
BuildRequires: graphviz-gd BuildRequires: graphviz-gd
# Only for directory ownership:
BuildRequires: gtk-doc BuildRequires: gtk-doc
BuildRequires: gtk2-devel
BuildRequires: intltool
BuildRequires: lensfun-devel BuildRequires: lensfun-devel
# Needed to build the doc, as Bitstream Vera Sans is the referenced font.
BuildRequires: liberation-fonts
BuildRequires: libexiv2-devel
BuildRequires: libjasper-devel >= 1.900.1
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
BuildRequires: libopenraw-devel >= 0.0.5
BuildRequires: libpng-devel
BuildRequires: librsvg-devel
BuildRequires: libspiro-devel BuildRequires: libspiro-devel
BuildRequires: libstdc++-devel BuildRequires: libstdc++-devel
BuildRequires: lua-devel BuildRequires: libtool
BuildRequires: ruby BuildRequires: pkgconfig
# For umfpack
BuildRequires: suitesparse-devel BuildRequires: suitesparse-devel
%if 0%{?BUILD_ORIG} BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(babl) >= 0.1.44
BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(exiv2)
BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.18.0
%if 0%{?BUILD_ORIG_ADDON} BuildRequires: pkgconfig(gexiv2)
Provides: patched_subset BuildRequires: pkgconfig(gio-2.0)
%else BuildRequires: pkgconfig(gio-unix-2.0)
Provides: %{name}-orig-addon = %{version} BuildRequires: pkgconfig(gmodule-2.0)
Obsoletes: %{name}-orig-addon BuildRequires: pkgconfig(gobject-2.0)
%endif BuildRequires: pkgconfig(gthread-2.0)
%else BuildRequires: pkgconfig(jasper) >= 1.900.1
Provides: patched_subset BuildRequires: pkgconfig(json-glib-1.0)
%endif BuildRequires: pkgconfig(lcms2) >= 2.2
BuildRequires: pkgconfig(libavcodec) >= 55.69.100
BuildRequires: pkgconfig(libavformat) >= 55.48.100
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libraw)
BuildRequires: pkgconfig(librsvg-2.0) >= 2.14.0
BuildRequires: pkgconfig(libswscale) >= 2.6.100
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libv4l2) >= 1.0.1
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(lua) >= 5.1.0
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(vapigen) >= 0.20.0
# 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.3" branch.
Provides: gegl-unstable = %{version}
Obsoletes: gegl-unstable < %{version}
%description %description
GEGL provides infrastructure to do demand-based cached non-destructive GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for support for a wide range of color models and pixel storage formats for
input and output. input and output.
%package 0_2 %package -n %{name}-0_3
Summary: Generic Graphics Library Summary: Generic Graphics Library
Group: System/Libraries Group: System/Libraries
Recommends: %{name}-0_2-lang Recommends: %{name}-0_3-lang
%description 0_2 %description -n %{name}-0_3
GEGL provides infrastructure to do demand-based cached non-destructive GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for support for a wide range of color models and pixel storage formats for
input and output. input and output.
%package 0_2-orig-addon %package -n libgegl-0_3-0
Summary: Generic Graphics Library Summary: Generic Graphics Library
# The plugins are required for the lib to be usable
Group: System/Libraries Group: System/Libraries
Supplements: packageand(%{name}-0_2:%(cd %{_libdir} ; rpm -qf --queryformat=%%{NAME} `readlink %{_libdir}/libavcodec.so` )) Requires: %{name}-0_3 >= %{version}
%description 0_2-orig-addon %description -n libgegl-0_3-0
GEGL provides infrastructure to do demand-based cached non-destructive GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for support for a wide range of color models and pixel storage formats for
input and output. input and output.
%package -n libgegl-0_2-0 %package -n typelib-1_0-Gegl-0_3
Summary: Generic Graphics Library Summary: Introspection bindings for the GEGL "Generic Graphics Library"
Group: System/Libraries Group: System/Libraries
Recommends: %{name}-0_2 >= %{version}
%description -n libgegl-0_2-0 %description -n typelib-1_0-Gegl-0_3
GEGL provides infrastructure to do demand-based cached non-destructive GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for support for a wide range of color models and pixel storage formats for
input and output. input and output.
This package provides the GObject Introspection bindings for the
libgegl library.
%package devel %package devel
Summary: Development files for GEGL, the "Generic Graphics Library" Summary: Development files for the GEGL "Generic Graphics Library"
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: babl-devel Requires: libgegl-0_3-0 = %{version}
Requires: glib2-devel Requires: typelib-1_0-Gegl-0_3 = %{version}
Requires: glibc-devel
Requires: libgegl-0_2-0 = %{version}
Requires: pcre-devel
%description devel %description devel
GEGL provides infrastructure to do demand-based cached non-destructive GEGL provides infratructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for support for a wide range of color models and pixel storage formats for
input and output. input and output.
This subpackage contains the C headers for the GEGL API.
%package doc %package doc
Summary: Documentation for GEGL, the "Generic Graphics Library" Summary: Documentation for the GEGL "Generic Graphics Library"
Group: Documentation/HTML Group: Documentation/HTML
%description doc %description doc
GEGL provides infrastructure to do demand-based cached non-destructive GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl, it provides image editing on larger than RAM buffers. Through babl, it provides
support for a wide range of color models and pixel storage formats for support for a wide range of color models and pixel storage formats for
input and output. input and output.
This subpackage contains the documentation for GEGL. %lang_package -n %{name}-0_3
%lang_package -n %{name}-0_2
%prep %prep
%setup -q %autosetup
%patch0 -p1
%patch1 -p1
%if 0%{?suse_version} > 1310
%patch2 -p1
%endif
%patch3 -p1
# docs-build-fix.diff
%patch4 -p1
%build %build
export RPM_OPT_FLAGS="%{optflags} -fno-strict-aliasing" %configure \
## do not use autogen.sh, it intentionally fails, if there is no ruby. --disable-static \
## so why use autogen, when you do not want portability? %{nil}
# ./autogen.sh
%configure\
--enable-workshop=yes\
--disable-static --disable-silent-rules
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
%make_install %make_install
%if ! 0%{?BUILD_ORIG}
for MODULE in \
%{_libdir}/gegl-0.2/ff-load.so \
; do
rm -f %{buildroot}$MODULE
done
%endif
find %{buildroot} -type f -name "*.la" -delete -print find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name}-0.2 %{?no_lang_C} %find_lang %{name}-0.3 %{?no_lang_C}
%post -n libgegl-0_2-0 -p /sbin/ldconfig %post -n gegl-0_3 -p /sbin/ldconfig
%postun -n libgegl-0_2-0 -p /sbin/ldconfig %postun -n gegl-0_3 -p /sbin/ldconfig
%post -n libgegl-0_3-0 -p /sbin/ldconfig
%postun -n libgegl-0_3-0 -p /sbin/ldconfig
%files %files
%{_bindir}/gegl %{_bindir}/gegl
%{_bindir}/gegl-imgcmp
%{_bindir}/gcut
%files 0_2 %files -n %{name}-0_3
%dir %{_libdir}/gegl-0.2/ %dir %{_libdir}/gegl-0.3/
%{_libdir}/gegl-0.2/*.so %{_libdir}/gegl-0.3/*.so
%if 0%{?BUILD_ORIG} # libgegl-sc-0.3.so is a support library for the seamless-clone module
%if 0%{?BUILD_ORIG_ADDON} %{_libdir}/libgegl-sc-0.3.so
%exclude %{_libdir}/gegl-0.2/ff-load.so %{_libdir}/libgegl-npd-0.3.so
%{_libdir}/gegl-0.3/grey2.json
%files 0_2-orig-addon %files -n libgegl-0_3-0
%{_libdir}/gegl-0.2/ff-load.so %license COPYING COPYING.LESSER
%endif %{_libdir}/libgegl-0.3.so.*
%endif
%files -n libgegl-0_2-0 %files -n typelib-1_0-Gegl-0_3
%license COPYING %{_libdir}/girepository-1.0/Gegl-0.3.typelib
%doc AUTHORS ChangeLog NEWS README
%{_libdir}/libgegl-0.2.so.*
%files devel %files devel
%{_includedir}/gegl-0.2/ %{_includedir}/gegl-0.3/
%{_libdir}/libgegl-0.2.so %{_libdir}/libgegl-0.3.so
%{_libdir}/pkgconfig/gegl-0.2.pc %{_libdir}/pkgconfig/gegl-0.3.pc
%{_libdir}/pkgconfig/gegl-sc-0.3.pc
%{_datadir}/gir-1.0/Gegl-0.3.gir
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/gegl-0.3.deps
%{_datadir}/vala/vapi/gegl-0.3.vapi
%files doc %files doc
%doc AUTHORS ChangeLog NEWS
%doc %{_datadir}/gtk-doc/html/gegl/ %doc %{_datadir}/gtk-doc/html/gegl/
%files -n %{name}-0_2-lang -f %{name}-0.2.lang %files -n %{name}-0_3-lang -f %{name}-0.3.lang
%changelog %changelog