Accepting request 587684 from home:iznogood:branches:graphics
- 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 OBS-URL: https://build.opensuse.org/request/show/587684 OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=48
This commit is contained in:
parent
ccb1066c50
commit
bb26fb31ac
@ -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
|
||||
|
@ -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)
|
@ -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
3
gegl-0.3.28.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:152f87604a5a191775329dfb63764efa1d5c32403d1438da68e242f96b7d23ff
|
||||
size 6530569
|
@ -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;
|
@ -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);
|
@ -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"
|
15
gegl.changes
15
gegl.changes
@ -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
|
||||
|
||||
|
220
gegl.spec
220
gegl.spec
@ -16,206 +16,184 @@
|
||||
#
|
||||
|
||||
|
||||
%define debug_package_requires libgegl-0_2-0 = %{version}-%{release}
|
||||
Name: gegl
|
||||
Version: 0.2.0
|
||||
Version: 0.3.28
|
||||
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/
|
||||
Source: http://ftp.gtk.org/pub/gegl/0.2/%{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
|
||||
URL: http://gegl.org/
|
||||
Source0: https://download.gimp.org/pub/gegl/0.3/%{name}-%{version}.tar.bz2
|
||||
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: OpenEXR-devel
|
||||
BuildRequires: SDL-devel
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: babl-devel >= 0.1.10
|
||||
BuildRequires: enscript
|
||||
BuildRequires: gcc-c++
|
||||
# multiple provides by gd and gd-tools
|
||||
BuildRequires: gd
|
||||
BuildRequires: glib2-devel >= 2.16.1
|
||||
BuildRequires: gobject-introspection-devel >= 1.32.0
|
||||
BuildRequires: graphviz-gd
|
||||
# Only for directory ownership:
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: intltool
|
||||
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: libopenraw-devel >= 0.0.5
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: librsvg-devel
|
||||
BuildRequires: libspiro-devel
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: lua-devel
|
||||
BuildRequires: ruby
|
||||
# For umfpack
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: suitesparse-devel
|
||||
%if 0%{?BUILD_ORIG}
|
||||
BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavformat)
|
||||
BuildRequires: pkgconfig(libswscale)
|
||||
%if 0%{?BUILD_ORIG_ADDON}
|
||||
Provides: patched_subset
|
||||
%else
|
||||
Provides: %{name}-orig-addon = %{version}
|
||||
Obsoletes: %{name}-orig-addon
|
||||
%endif
|
||||
%else
|
||||
Provides: patched_subset
|
||||
%endif
|
||||
BuildRequires: pkgconfig(OpenEXR)
|
||||
BuildRequires: pkgconfig(babl) >= 0.1.44
|
||||
BuildRequires: pkgconfig(exiv2)
|
||||
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.18.0
|
||||
BuildRequires: pkgconfig(gexiv2)
|
||||
BuildRequires: pkgconfig(gio-2.0)
|
||||
BuildRequires: pkgconfig(gio-unix-2.0)
|
||||
BuildRequires: pkgconfig(gmodule-2.0)
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gthread-2.0)
|
||||
BuildRequires: pkgconfig(jasper) >= 1.900.1
|
||||
BuildRequires: pkgconfig(json-glib-1.0)
|
||||
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
|
||||
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
|
||||
support for a wide range of color models and pixel storage formats for
|
||||
input and output.
|
||||
|
||||
%package 0_2
|
||||
%package -n %{name}-0_3
|
||||
Summary: Generic Graphics Library
|
||||
Group: System/Libraries
|
||||
Recommends: %{name}-0_2-lang
|
||||
Recommends: %{name}-0_3-lang
|
||||
|
||||
%description 0_2
|
||||
GEGL provides infrastructure to do demand-based cached non-destructive
|
||||
%description -n %{name}-0_3
|
||||
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 0_2-orig-addon
|
||||
%package -n libgegl-0_3-0
|
||||
Summary: Generic Graphics Library
|
||||
# The plugins are required for the lib to be usable
|
||||
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
|
||||
GEGL provides infrastructure to do demand-based cached non-destructive
|
||||
%description -n libgegl-0_3-0
|
||||
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 libgegl-0_2-0
|
||||
Summary: Generic Graphics Library
|
||||
%package -n typelib-1_0-Gegl-0_3
|
||||
Summary: Introspection bindings for the GEGL "Generic Graphics Library"
|
||||
Group: System/Libraries
|
||||
Recommends: %{name}-0_2 >= %{version}
|
||||
|
||||
%description -n libgegl-0_2-0
|
||||
GEGL provides infrastructure to do demand-based cached non-destructive
|
||||
%description -n typelib-1_0-Gegl-0_3
|
||||
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 GEGL, the "Generic Graphics Library"
|
||||
Summary: Development files for the GEGL "Generic Graphics Library"
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: babl-devel
|
||||
Requires: glib2-devel
|
||||
Requires: glibc-devel
|
||||
Requires: libgegl-0_2-0 = %{version}
|
||||
Requires: pcre-devel
|
||||
Requires: libgegl-0_3-0 = %{version}
|
||||
Requires: typelib-1_0-Gegl-0_3 = %{version}
|
||||
|
||||
%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
|
||||
support for a wide range of color models and pixel storage formats for
|
||||
input and output.
|
||||
|
||||
This subpackage contains the C headers for the GEGL API.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for GEGL, the "Generic Graphics Library"
|
||||
Summary: Documentation for the GEGL "Generic Graphics Library"
|
||||
Group: Documentation/HTML
|
||||
|
||||
%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
|
||||
support for a wide range of color models and pixel storage formats for
|
||||
input and output.
|
||||
|
||||
This subpackage contains the documentation for GEGL.
|
||||
|
||||
%lang_package -n %{name}-0_2
|
||||
%lang_package -n %{name}-0_3
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%if 0%{?suse_version} > 1310
|
||||
%patch2 -p1
|
||||
%endif
|
||||
%patch3 -p1
|
||||
# docs-build-fix.diff
|
||||
%patch4 -p1
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
export RPM_OPT_FLAGS="%{optflags} -fno-strict-aliasing"
|
||||
## do not use autogen.sh, it intentionally fails, if there is no ruby.
|
||||
## so why use autogen, when you do not want portability?
|
||||
# ./autogen.sh
|
||||
%configure\
|
||||
--enable-workshop=yes\
|
||||
--disable-static --disable-silent-rules
|
||||
%configure \
|
||||
--disable-static \
|
||||
%{nil}
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%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_lang %{name}-0.2 %{?no_lang_C}
|
||||
%find_lang %{name}-0.3 %{?no_lang_C}
|
||||
|
||||
%post -n libgegl-0_2-0 -p /sbin/ldconfig
|
||||
%postun -n libgegl-0_2-0 -p /sbin/ldconfig
|
||||
%post -n gegl-0_3 -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
|
||||
%{_bindir}/gegl
|
||||
%{_bindir}/gegl-imgcmp
|
||||
%{_bindir}/gcut
|
||||
|
||||
%files 0_2
|
||||
%dir %{_libdir}/gegl-0.2/
|
||||
%{_libdir}/gegl-0.2/*.so
|
||||
%if 0%{?BUILD_ORIG}
|
||||
%if 0%{?BUILD_ORIG_ADDON}
|
||||
%exclude %{_libdir}/gegl-0.2/ff-load.so
|
||||
%files -n %{name}-0_3
|
||||
%dir %{_libdir}/gegl-0.3/
|
||||
%{_libdir}/gegl-0.3/*.so
|
||||
# libgegl-sc-0.3.so is a support library for the seamless-clone module
|
||||
%{_libdir}/libgegl-sc-0.3.so
|
||||
%{_libdir}/libgegl-npd-0.3.so
|
||||
%{_libdir}/gegl-0.3/grey2.json
|
||||
|
||||
%files 0_2-orig-addon
|
||||
%{_libdir}/gegl-0.2/ff-load.so
|
||||
%endif
|
||||
%endif
|
||||
%files -n libgegl-0_3-0
|
||||
%license COPYING COPYING.LESSER
|
||||
%{_libdir}/libgegl-0.3.so.*
|
||||
|
||||
%files -n libgegl-0_2-0
|
||||
%license COPYING
|
||||
%doc AUTHORS ChangeLog NEWS README
|
||||
%{_libdir}/libgegl-0.2.so.*
|
||||
%files -n typelib-1_0-Gegl-0_3
|
||||
%{_libdir}/girepository-1.0/Gegl-0.3.typelib
|
||||
|
||||
%files devel
|
||||
%{_includedir}/gegl-0.2/
|
||||
%{_libdir}/libgegl-0.2.so
|
||||
%{_libdir}/pkgconfig/gegl-0.2.pc
|
||||
%{_includedir}/gegl-0.3/
|
||||
%{_libdir}/libgegl-0.3.so
|
||||
%{_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
|
||||
%doc AUTHORS ChangeLog NEWS
|
||||
%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
|
||||
|
Loading…
Reference in New Issue
Block a user