import gegl-0.2.0-38.el8

This commit is contained in:
CentOS Sources 2019-05-06 23:59:00 -04:00 committed by Andrew Lukoshko
commit 40ec863d55
10 changed files with 1087 additions and 0 deletions

1
.gegl.metadata Normal file
View File

@ -0,0 +1 @@
764cc66cb3c7b261b8fc18a6268a0e264a91d573 SOURCES/gegl-0.2.0.tar.bz2

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/gegl-0.2.0.tar.bz2

View File

@ -0,0 +1,68 @@
From 012b0b019ede3cfa7df20bf60c7915a771ecff78 Mon Sep 17 00:00:00 2001
From: Kalev Lember <kalevlember@gmail.com>
Date: Thu, 4 Dec 2014 11:22:04 +0100
Subject: [PATCH] matting-levin: Fix the build with recent suitesparse versions
Stop using the UF_long define that was deprecated previously and has
completely disappeared in suitesparse 4.3.
https://bugzilla.gnome.org/show_bug.cgi?id=741105
---
operations/external/matting-levin.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/operations/external/matting-levin.c b/operations/external/matting-levin.c
index 63e85d1..cf84699 100644
--- a/operations/external/matting-levin.c
+++ b/operations/external/matting-levin.c
@@ -850,8 +850,8 @@ matting_sparse_new (guint cols, guint rows, guint elems)
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;
@@ -964,8 +964,8 @@ matting_get_laplacian (const gdouble *restrict image,
image_elems = roi->width * roi->height,
i, j, k, x, y,
status;
- UF_long *trip_col,
- *trip_row;
+ SuiteSparse_long *trip_col,
+ *trip_row;
glong trip_nz = 0,
trip_cursor = 0,
trip_masked = 0;
@@ -995,8 +995,8 @@ matting_get_laplacian (const gdouble *restrict image,
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 */
@@ -1082,10 +1082,10 @@ matting_get_laplacian (const gdouble *restrict image,
for (y = 0; y < window_elems; ++y)
for (x = 0; x < window_elems; ++x)
{
- UF_long yx = y % diameter,
- yy = y / diameter,
- xx = x % diameter,
- xy = x / diameter;
+ SuiteSparse_long yx = y % diameter,
+ yy = y / diameter,
+ xx = x % diameter,
+ xy = x / diameter;
g_return_val_if_fail (trip_cursor < trip_nz, FALSE);
trip_col[trip_cursor] = (i - radius + yx) + (j - radius + yy) * roi->width,
--
2.1.0

View File

@ -0,0 +1,159 @@
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

@ -0,0 +1,71 @@
diff -up gegl-0.2.0/configure.ac.libopenraw gegl-0.2.0/configure.ac
--- gegl-0.2.0/configure.ac.libopenraw 2016-12-03 08:11:31.968387802 +0100
+++ gegl-0.2.0/configure.ac 2016-12-03 08:12:19.398987931 +0100
@@ -790,7 +790,7 @@ AC_ARG_WITH(libopenraw, [ --without-lib
have_libopenraw="no"
if test "x$with_libopenraw" != "xno"; then
- PKG_CHECK_MODULES(OPENRAW, libopenraw-1.0 >= openraw_required_version,
+ PKG_CHECK_MODULES(OPENRAW, libopenraw-0.1 >= openraw_required_version,
have_libopenraw="yes",
have_libopenraw="no (openraw library not found)")
fi
diff -up gegl-0.2.0/configure.libopenraw gegl-0.2.0/configure
--- gegl-0.2.0/configure.libopenraw 2016-12-03 08:11:33.954412931 +0100
+++ gegl-0.2.0/configure 2016-12-03 08:12:15.506938686 +0100
@@ -20760,12 +20760,12 @@ if test -n "$OPENRAW_CFLAGS"; then
pkg_cv_OPENRAW_CFLAGS="$OPENRAW_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-1.0 >= 0.0.5\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libopenraw-1.0 >= 0.0.5") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-0.1 >= 0.0.5\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libopenraw-0.1 >= 0.0.5") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_OPENRAW_CFLAGS=`$PKG_CONFIG --cflags "libopenraw-1.0 >= 0.0.5" 2>/dev/null`
+ pkg_cv_OPENRAW_CFLAGS=`$PKG_CONFIG --cflags "libopenraw-0.1 >= 0.0.5" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -20777,12 +20777,12 @@ if test -n "$OPENRAW_LIBS"; then
pkg_cv_OPENRAW_LIBS="$OPENRAW_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-1.0 >= 0.0.5\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libopenraw-1.0 >= 0.0.5") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libopenraw-0.1 >= 0.0.5\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libopenraw-0.1 >= 0.0.5") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_OPENRAW_LIBS=`$PKG_CONFIG --libs "libopenraw-1.0 >= 0.0.5" 2>/dev/null`
+ pkg_cv_OPENRAW_LIBS=`$PKG_CONFIG --libs "libopenraw-0.1 >= 0.0.5" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -20803,9 +20803,9 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- OPENRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libopenraw-1.0 >= 0.0.5" 2>&1`
+ OPENRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libopenraw-0.1 >= 0.0.5" 2>&1`
else
- OPENRAW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libopenraw-1.0 >= 0.0.5" 2>&1`
+ OPENRAW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libopenraw-0.1 >= 0.0.5" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$OPENRAW_PKG_ERRORS" >&5
diff -up gegl-0.2.0/operations/external/openraw.c.libopenraw gegl-0.2.0/operations/external/openraw.c
--- gegl-0.2.0/operations/external/openraw.c.libopenraw 2016-12-03 08:28:14.284333843 +0100
+++ gegl-0.2.0/operations/external/openraw.c 2016-12-03 08:29:01.495751180 +0100
@@ -116,7 +116,7 @@ load_buffer (GeglOperation *operation)
goto clean_file;
}
- if(or_rawdata_format (rawdata) != OR_DATA_TYPE_CFA)
+ if(or_rawdata_format (rawdata) != OR_DATA_TYPE_RAW)
{
goto clean_file;
}

View File

@ -0,0 +1,36 @@
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

@ -0,0 +1,53 @@
From 1e12a153d9a82a771c3bfd95c0265b810a424b3c Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Mon, 1 Jul 2013 14:41:33 +0200
Subject: [PATCH] patch: lua-5.2
Squashed commit of the following:
commit 96f65d260c6e40940f2818b721c19565c1b40607
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
(cherry picked from commit a14a29c39352c60f003a65b721c9af8a1d8d20df)
---
operations/workshop/external/gluas.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/operations/workshop/external/gluas.c b/operations/workshop/external/gluas.c
index 8ba1101..63e82a2 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.8.3.1

View File

@ -0,0 +1,11 @@
diff -uNrp old/operations/common/matting-global.c new/operations/common/matting-global.c
--- old/operations/common/matting-global.c 2012-04-02 23:15:26.000000000 +0200
+++ new/operations/common/matting-global.c 2016-12-04 11:10:25.255103750 +0100
@@ -19,6 +19,7 @@
#include "config.h"
#include <glib/gi18n-lib.h>
#include <math.h>
+#include <stdlib.h>
#ifdef GEGL_CHANT_PROPERTIES

View File

@ -0,0 +1,195 @@
From 72168aba34445e4cd99aaed32d8e6a80e89ce729 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Mon, 1 Jul 2013 13:53:18 +0200
Subject: [PATCH] patch: remove-src-over-op
Squashed commit of the following:
commit b766094d951bf1515a75408ee85d4e1af432e6bd
Author: Daniel Sabo <DanielSabo@gmail.com>
Date: Tue Jun 4 20:57:03 2013 -0700
Remove auto-generated svg:src-over
It was already shadowed by gegl:over, which declares
svg:src-over as a compat-name.
(cherry picked from commit c1caf2401271e8a17fd1937bf84279c250bd8e2a)
Conflicts:
po/POTFILES.in
---
operations/generated/src-over.c | 122 -----------------------------
operations/generated/svg-12-porter-duff.rb | 5 +-
po/POTFILES.in | 3 +-
3 files changed, 4 insertions(+), 126 deletions(-)
delete mode 100644 operations/generated/src-over.c
diff --git a/operations/generated/src-over.c b/operations/generated/src-over.c
deleted file mode 100644
index e586087..0000000
--- a/operations/generated/src-over.c
+++ /dev/null
@@ -1,122 +0,0 @@
-
-/* !!!! AUTOGENERATED FILE generated by svg-12-porter-duff.rb !!!!!
- *
- * This file is an image processing operation for GEGL
- *
- * GEGL is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * GEGL is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GEGL; if not, see <http://www.gnu.org/licenses/>.
- *
- * Copyright 2006, 2007 Øyvind Kolås <pippin@gimp.org>
- * 2007 John Marshall
- *
- * SVG rendering modes; see:
- * http://www.w3.org/TR/SVG12/rendering.html
- * http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html#comp-op-prop
- *
- * aA = aux(src) alpha aB = in(dst) alpha aD = out alpha
- * cA = aux(src) colour cB = in(dst) colour cD = out colour
- *
- * !!!! AUTOGENERATED FILE !!!!!
- */
-#include "config.h"
-#include <glib/gi18n-lib.h>
-
-
-#ifdef GEGL_CHANT_PROPERTIES
-
-/* no properties */
-
-#else
-
-#define GEGL_CHANT_TYPE_POINT_COMPOSER
-#define GEGL_CHANT_C_FILE "src-over.c"
-
-#include "gegl-chant.h"
-
-static void prepare (GeglOperation *operation)
-{
- const Babl *format = babl_format ("RaGaBaA float");
-
- gegl_operation_set_format (operation, "input", format);
- gegl_operation_set_format (operation, "aux", format);
- gegl_operation_set_format (operation, "output", format);
-}
-
-static gboolean
-process (GeglOperation *op,
- void *in_buf,
- void *aux_buf,
- void *out_buf,
- glong n_pixels,
- const GeglRectangle *roi,
- gint level)
-{
- gint i;
- gfloat * GEGL_ALIGNED in = in_buf;
- gfloat * GEGL_ALIGNED aux = aux_buf;
- gfloat * GEGL_ALIGNED out = out_buf;
-
- if (aux==NULL)
- return TRUE;
-
- for (i = 0; i < n_pixels; i++)
- {
- gint j;
- gfloat aA G_GNUC_UNUSED, aB G_GNUC_UNUSED, aD G_GNUC_UNUSED;
-
- aB = in[3];
- aA = aux[3];
- aD = aA + aB - aA * aB;
-
- for (j = 0; j < 3; j++)
- {
- gfloat cA G_GNUC_UNUSED, cB G_GNUC_UNUSED;
-
- cB = in[j];
- cA = aux[j];
- out[j] = cA + cB * (1.0f - aA);
- }
- out[3] = aD;
- in += 4;
- aux += 4;
- out += 4;
- }
- return TRUE;
-}
-
-
-static void
-gegl_chant_class_init (GeglChantClass *klass)
-{
- GeglOperationClass *operation_class;
- GeglOperationPointComposerClass *point_composer_class;
-
- operation_class = GEGL_OPERATION_CLASS (klass);
- point_composer_class = GEGL_OPERATION_POINT_COMPOSER_CLASS (klass);
-
- point_composer_class->process = process;
- operation_class->prepare = prepare;
-
-
- operation_class->compat_name = "gegl:src-over";
- gegl_operation_class_set_keys (operation_class,
- "name" , "svg:src-over",
- "categories", "compositors:porter-duff",
- "description",
- _("Porter Duff operation src-over (d = cA + cB * (1.0f - aA))"),
- NULL);
-
-
-}
-
-#endif
diff --git a/operations/generated/svg-12-porter-duff.rb b/operations/generated/svg-12-porter-duff.rb
index 5516802..dab5d2f 100755
--- a/operations/generated/svg-12-porter-duff.rb
+++ b/operations/generated/svg-12-porter-duff.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby
+# encoding: utf-8
copyright = '
/* !!!! AUTOGENERATED FILE generated by svg-12-porter-duff.rb !!!!!
@@ -38,8 +39,8 @@ a = [
'aA'],
['dst', 'cB',
'aB'],
- ['src_over', 'cA + cB * (1.0f - aA)',
- 'aA + aB - aA * aB'],
+# ['src_over', 'cA + cB * (1.0f - aA)',
+# 'aA + aB - aA * aB'],
['dst_over', 'cB + cA * (1.0f - aB)',
'aA + aB - aA * aB'],
['dst_in', 'cB * aA', # <- XXX: typo?
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e309594..d36cbc2 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -115,10 +115,9 @@ operations/generated/plus.c
operations/generated/screen.c
operations/generated/soft-light.c
operations/generated/src-atop.c
+operations/generated/src.c
operations/generated/src-in.c
operations/generated/src-out.c
-operations/generated/src-over.c
-operations/generated/src.c
operations/generated/subtract.c
operations/generated/svg-multiply.c
operations/generated/xor.c
--
1.8.3.1

492
SPECS/gegl.spec Normal file
View File

@ -0,0 +1,492 @@
%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: 38%{?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
BuildRequires: asciidoc
BuildRequires: babl-devel >= 0.1.10
BuildRequires: cairo-devel
BuildRequires: enscript
BuildRequires: exiv2-devel
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
* Wed Feb 21 2018 Josef Ridky <jridky@redhat.com> - 0.2.0-38
- Remove Group tag from spec file
* Tue Feb 20 2018 Nils Philippsen <nils@tiptoe.de> - 0.2.0-37
- require gcc, gcc-c++ for building
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.2.0-35
- Switch to %%ldconfig_scriptlets
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sun Dec 04 2016 Josef Ridky <jridky@redhat.com> - 0.2.0-31
- rebuild for jasper library
* Sat Dec 03 2016 Julian Sikorski <belegdol@fedoraproject.org> - 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 <nils@redhat.com> - 0.2.0-29
- require dcraw (#1279143)
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jan 19 2016 Nils Philippsen <nils@redhat.com>
- use %%global instead of %%define
* Sun Jan 03 2016 Rex Dieter <rdieter@fedoraproject.org> 0.2.0-27
- rebuild (lensfun)
* Wed Jun 24 2015 Rex Dieter <rdieter@fedoraproject.org> - 0.2.0-26
- rebuild (exiv2)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Jun 11 2015 Nils Philippsen <nils@redhat.com> - 0.2.0-24
- rebuild for suitesparse-4.4.4
* Thu May 14 2015 Nils Philippsen <nils@redhat.com> - 0.2.0-23
- rebuild for lensfun-0.3.1
* Thu May 07 2015 Debarshi Ray <rishi@fedoraproject.org> - 0.2.0-22
- Add -lm to linker flags because of sqrt
* Thu Dec 04 2014 Kalev Lember <kalevlember@gmail.com> - 0.2.0-21
- Fix the build with recent suitesparse versions
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Tue Aug 05 2014 Nils Philippsen <nils@redhat.com> - 0.2.0-19
- update source URL
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Dec 06 2013 Nils Philippsen <nils@redhat.com> - 0.2.0-17
- rebuild (suitesparse)
* Wed Dec 04 2013 Nils Philippsen <nils@redhat.com> - 0.2.0-16
- remove BR: w3m, it's only needed for "make dist"
* Tue Dec 03 2013 Rex Dieter <rdieter@fedoraproject.org> - 0.2.0-15
- rebuild (exiv2)
* Wed Nov 27 2013 Rex Dieter <rdieter@fedoraproject.org> - 0.2.0-14
- rebuild (openexr)
* Thu Sep 12 2013 Kalev Lember <kalevlember@gmail.com> - 0.2.0-13
- Rebuilt for ilmbase soname bump
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jul 01 2013 Nils Philippsen <nils@redhat.com> - 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 <spot@fedoraproject.org> - 0.2.0-10
- rebuild for lua 5.2
- disable check suite (so broken)
* Sun Mar 10 2013 Rex Dieter <rdieter@fedoraproject.org> - 0.2.0-9
- rebuild (OpenEXR)
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 0.2.0-7
- rebuild due to "jpeg8-ABI" feature drop
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 0.2.0-6
- rebuild against new libjpeg
* Fri Oct 19 2012 Nils Philippsen <nils@redhat.com> - 0.2.0-5
- don't catch "make check" errors but skip known problematic tests
* Fri Oct 19 2012 Nils Philippsen <nils@redhat.com> - 0.2.0-4
- don't require lensfun-devel for building without workshop ops
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Wed May 02 2012 Rex Dieter <rdieter@fedoraproject.org> - 0.2.0-2
- rebuild (exiv2)
* Tue Apr 03 2012 Nils Philippsen <nils@redhat.com> - 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 <vondruch@redhat.com> - 0.1.8-3
- Rebuilt for Ruby 1.9.3.
* Tue Jan 10 2012 Nils Philippsen <nils@redhat.com> - 0.1.8-2
- rebuild for gcc 4.7
* Tue Dec 13 2011 Nils Philippsen <nils@redhat.com> - 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 <nils@redhat.com> - 0.1.6-5
- don't require gtk-doc (#707554)
* Mon Nov 07 2011 Nils Philippsen <nils@redhat.com> - 0.1.6-4
- rebuild (libpng)
* Fri Oct 14 2011 Rex Dieter <rdieter@fedoraproject.org> - 0.1.6-3
- rebuild (exiv2)
* Wed Apr 06 2011 Nils Philippsen <nils@redhat.com> - 0.1.6-2
- fix crash when using hstack operation (#661533)
* Tue Feb 22 2011 Nils Philippsen <nils@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 0.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Oct 19 2010 Nils Philippsen <nils@redhat.com> - 0.1.2-4
- don't leak "root" symbol which clashes with (equally broken) xvnkb input
method (#642992)
* Wed Jun 23 2010 Nils Philippsen <nils@redhat.com> - 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 <nils@redhat.com>
- use tabs consistently
- let devel depend on gtk-doc
* Fri Feb 19 2010 Nils Philippsen <nils@redhat.com> - 0.1.2-2
- ignore make check failures for now
* Wed Feb 17 2010 Nils Philippsen <nils@redhat.com>
- avoid buffer overflow in gegl_buffer_header_init()
- correct gegl library version, use macro for it
* Tue Feb 16 2010 Nils Philippsen <nils@redhat.com> - 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 <dakingun@gmail.com> - 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 <nils@redhat.com>
- use tabs consistently to appease rpmdiff
* Tue Aug 18 2009 Nils Philippsen <nils@redhat.com>
- explain patches
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 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 <dakingun@gmail.com> - 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 <rel-eng@lists.fedoraproject.org> - 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 <dakingun@gmail.com> - 0.0.22-1
- Update to version 0.0.22
* Tue Oct 07 2008 Deji Akingunola <dakingun@gmail.com> - 0.0.20-1
- Update to latest release
* Thu Jul 10 2008 Deji Akingunola <dakingun@gmail.com> - 0.0.18-1
- Update to latest release
* Thu Feb 28 2008 Deji Akingunola <dakingun@gmail.com> - 0.0.16-1
- New release
* Thu Jan 17 2008 Deji Akingunola <dakingun@gmail.com> - 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 <dakingun@gmail.com> - 0.0.14-1
- Update to 0.0.14 release
- License change from GPLv2+ to GPLv3+
* Thu Oct 25 2007 Deji Akingunola <dakingun@gmail.com> - 0.0.13-0.7.20071011svn
- Include missing requires for the devel subpackage
* Thu Oct 25 2007 Deji Akingunola <dakingun@gmail.com> - 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 <dakingun@gmail.com> - 0.0.13-0.5.20071011svn
- Fix missing directory ownership
* Mon Oct 22 2007 Deji Akingunola <dakingun@gmail.com> - 0.0.13-0.4.20071011svn
- Update the License field
* Fri Oct 12 2007 Deji Akingunola <dakingun@gmail.com> - 0.0.13-0.3.20071011svn
- Package the extension libraries in the main package
- Run 'make check'
* Fri Oct 12 2007 Deji Akingunola <dakingun@gmail.com> - 0.0.13-0.2.20071011svn
- Remove the use of inexistent source
* Thu Oct 11 2007 Deji Akingunola <dakingun@gmail.com> - 0.0.13-0.1.20071011svn
- Initial packaging for Fedora