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
|
Wed Mar 7 10:35:17 UTC 2018 - jengelh@inai.de
|
||||||
|
|
||||||
|
218
gegl.spec
218
gegl.spec
@ -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"
|
|
||||||
## 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 \
|
%configure \
|
||||||
--enable-workshop=yes\
|
--disable-static \
|
||||||
--disable-static --disable-silent-rules
|
%{nil}
|
||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user