Accepting request 102529 from GNOME:Apps
Update to 2.6.12 (forwarded request 102347 from vuntz) OBS-URL: https://build.opensuse.org/request/show/102529 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gimp?expand=0&rev=74
This commit is contained in:
parent
67dbebd0df
commit
c89b1f9fcc
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9b6d08d0803b3912ea596d1b77b9c21ee13778c23388a225c004b8c1587cb0a1
|
|
||||||
size 16473561
|
|
3
gimp-2.6.12.tar.bz2
Normal file
3
gimp-2.6.12.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d553c9f1c07f59fa7b7ce9cc5f84ce59bf4e9dfb5b6ee4bd8718b74b947aec62
|
||||||
|
size 16745411
|
@ -1,129 +0,0 @@
|
|||||||
From 7fb0300e1cfdb98a3bde54dbc73a0f3eda375162 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Simon Budig <simon@budig.de>
|
|
||||||
Date: Tue, 11 Jan 2011 22:28:16 +0000
|
|
||||||
Subject: fixes for some buffer overflow problems (see bug #639203)
|
|
||||||
|
|
||||||
---
|
|
||||||
diff --git a/plug-ins/common/sphere-designer.c b/plug-ins/common/sphere-designer.c
|
|
||||||
index 4e5b982..6dea871 100644
|
|
||||||
--- a/plug-ins/common/sphere-designer.c
|
|
||||||
+++ b/plug-ins/common/sphere-designer.c
|
|
||||||
@@ -1993,6 +1993,7 @@ loadit (const gchar * fn)
|
|
||||||
gchar endbuf[21 * (G_ASCII_DTOSTR_BUF_SIZE + 1)];
|
|
||||||
gchar *end = endbuf;
|
|
||||||
gchar line[1024];
|
|
||||||
+ gchar fmt_str[16];
|
|
||||||
gint i;
|
|
||||||
texture *t;
|
|
||||||
gint majtype, type;
|
|
||||||
@@ -2017,6 +2018,8 @@ loadit (const gchar * fn)
|
|
||||||
|
|
||||||
s.com.numtexture = 0;
|
|
||||||
|
|
||||||
+ snprintf (fmt_str, sizeof (fmt_str), "%%d %%d %%%lds", sizeof (endbuf) - 1);
|
|
||||||
+
|
|
||||||
while (!feof (f))
|
|
||||||
{
|
|
||||||
|
|
||||||
@@ -2027,7 +2030,7 @@ loadit (const gchar * fn)
|
|
||||||
t = &s.com.texture[i];
|
|
||||||
setdefaults (t);
|
|
||||||
|
|
||||||
- if (sscanf (line, "%d %d %s", &t->majtype, &t->type, end) != 3)
|
|
||||||
+ if (sscanf (line, fmt_str, &t->majtype, &t->type, end) != 3)
|
|
||||||
t->color1.x = g_ascii_strtod (end, &end);
|
|
||||||
if (end && errno != ERANGE)
|
|
||||||
t->color1.y = g_ascii_strtod (end, &end);
|
|
||||||
diff --git a/plug-ins/gfig/gfig-style.c b/plug-ins/gfig/gfig-style.c
|
|
||||||
index ee1c7b2..eae78f8 100644
|
|
||||||
--- a/plug-ins/gfig/gfig-style.c
|
|
||||||
+++ b/plug-ins/gfig/gfig-style.c
|
|
||||||
@@ -164,6 +164,7 @@ gfig_read_parameter_gimp_rgb (gchar **text,
|
|
||||||
gchar *ptr;
|
|
||||||
gchar *tmpstr;
|
|
||||||
gchar *endptr;
|
|
||||||
+ gchar fmt_str[32];
|
|
||||||
gchar colorstr_r[G_ASCII_DTOSTR_BUF_SIZE];
|
|
||||||
gchar colorstr_g[G_ASCII_DTOSTR_BUF_SIZE];
|
|
||||||
gchar colorstr_b[G_ASCII_DTOSTR_BUF_SIZE];
|
|
||||||
@@ -171,6 +172,10 @@ gfig_read_parameter_gimp_rgb (gchar **text,
|
|
||||||
|
|
||||||
style_entry->r = style_entry->g = style_entry->b = style_entry->a = 0.;
|
|
||||||
|
|
||||||
+ snprintf (fmt_str, sizeof (fmt_str), "%%%lds %%%lds %%%lds %%%lds",
|
|
||||||
+ sizeof (colorstr_r) - 1, sizeof (colorstr_g) - 1,
|
|
||||||
+ sizeof (colorstr_b) - 1, sizeof (colorstr_a) - 1);
|
|
||||||
+
|
|
||||||
while (n < nitems)
|
|
||||||
{
|
|
||||||
ptr = strchr (text[n], ':');
|
|
||||||
@@ -180,7 +185,8 @@ gfig_read_parameter_gimp_rgb (gchar **text,
|
|
||||||
ptr++;
|
|
||||||
if (!strcmp (tmpstr, name))
|
|
||||||
{
|
|
||||||
- sscanf (ptr, "%s %s %s %s", colorstr_r, colorstr_g, colorstr_b, colorstr_a);
|
|
||||||
+ sscanf (ptr, fmt_str,
|
|
||||||
+ colorstr_r, colorstr_g, colorstr_b, colorstr_a);
|
|
||||||
style_entry->r = g_ascii_strtod (colorstr_r, &endptr);
|
|
||||||
style_entry->g = g_ascii_strtod (colorstr_g, &endptr);
|
|
||||||
style_entry->b = g_ascii_strtod (colorstr_b, &endptr);
|
|
||||||
diff --git a/plug-ins/lighting/lighting-ui.c b/plug-ins/lighting/lighting-ui.c
|
|
||||||
index 99fb348..126f6e2 100644
|
|
||||||
--- a/plug-ins/lighting/lighting-ui.c
|
|
||||||
+++ b/plug-ins/lighting/lighting-ui.c
|
|
||||||
@@ -1345,6 +1345,7 @@ load_preset_response (GtkFileChooser *chooser,
|
|
||||||
gchar buffer3[G_ASCII_DTOSTR_BUF_SIZE];
|
|
||||||
gchar type_label[21];
|
|
||||||
gchar *endptr;
|
|
||||||
+ gchar fmt_str[32];
|
|
||||||
|
|
||||||
if (response_id == GTK_RESPONSE_OK)
|
|
||||||
{
|
|
||||||
@@ -1384,23 +1385,41 @@ load_preset_response (GtkFileChooser *chooser,
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- fscanf (fp, " Position: %s %s %s", buffer1, buffer2, buffer3);
|
|
||||||
+ snprintf (fmt_str, sizeof (fmt_str),
|
|
||||||
+ " Position: %%%lds %%%lds %%%lds",
|
|
||||||
+ sizeof (buffer1) - 1,
|
|
||||||
+ sizeof (buffer2) - 1,
|
|
||||||
+ sizeof (buffer3) - 1);
|
|
||||||
+ fscanf (fp, fmt_str, buffer1, buffer2, buffer3);
|
|
||||||
source->position.x = g_ascii_strtod (buffer1, &endptr);
|
|
||||||
source->position.y = g_ascii_strtod (buffer2, &endptr);
|
|
||||||
source->position.z = g_ascii_strtod (buffer3, &endptr);
|
|
||||||
|
|
||||||
- fscanf (fp, " Direction: %s %s %s", buffer1, buffer2, buffer3);
|
|
||||||
+ snprintf (fmt_str, sizeof (fmt_str),
|
|
||||||
+ " Direction: %%%lds %%%lds %%%lds",
|
|
||||||
+ sizeof (buffer1) - 1,
|
|
||||||
+ sizeof (buffer2) - 1,
|
|
||||||
+ sizeof (buffer3) - 1);
|
|
||||||
+ fscanf (fp, fmt_str, buffer1, buffer2, buffer3);
|
|
||||||
source->direction.x = g_ascii_strtod (buffer1, &endptr);
|
|
||||||
source->direction.y = g_ascii_strtod (buffer2, &endptr);
|
|
||||||
source->direction.z = g_ascii_strtod (buffer3, &endptr);
|
|
||||||
|
|
||||||
- fscanf (fp, " Color: %s %s %s", buffer1, buffer2, buffer3);
|
|
||||||
+ snprintf (fmt_str, sizeof (fmt_str),
|
|
||||||
+ " Color: %%%lds %%%lds %%%lds",
|
|
||||||
+ sizeof (buffer1) - 1,
|
|
||||||
+ sizeof (buffer2) - 1,
|
|
||||||
+ sizeof (buffer3) - 1);
|
|
||||||
+ fscanf (fp, fmt_str, buffer1, buffer2, buffer3);
|
|
||||||
source->color.r = g_ascii_strtod (buffer1, &endptr);
|
|
||||||
source->color.g = g_ascii_strtod (buffer2, &endptr);
|
|
||||||
source->color.b = g_ascii_strtod (buffer3, &endptr);
|
|
||||||
source->color.a = 1.0;
|
|
||||||
|
|
||||||
- fscanf (fp, " Intensity: %s", buffer1);
|
|
||||||
+ snprintf (fmt_str, sizeof (fmt_str),
|
|
||||||
+ " Intensity: %%%lds",
|
|
||||||
+ sizeof (buffer1) - 1);
|
|
||||||
+ fscanf (fp, fmt_str, buffer1);
|
|
||||||
source->intensity = g_ascii_strtod (buffer1, &endptr);
|
|
||||||
|
|
||||||
}
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,23 +0,0 @@
|
|||||||
From 48ec15890e1751dede061f6d1f469b6508c13439 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Simon Budig <simon@budig.de>
|
|
||||||
Date: Mon, 14 Feb 2011 20:46:31 +0000
|
|
||||||
Subject: file-psp: fix for bogus input data. Fixes bug #639203
|
|
||||||
|
|
||||||
---
|
|
||||||
diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c
|
|
||||||
index ef39d5b..04897d5 100644
|
|
||||||
--- a/plug-ins/common/file-psp.c
|
|
||||||
+++ b/plug-ins/common/file-psp.c
|
|
||||||
@@ -1197,6 +1197,10 @@ read_channel_data (FILE *f,
|
|
||||||
}
|
|
||||||
else
|
|
||||||
fread (buf, runcount, 1, f);
|
|
||||||
+
|
|
||||||
+ /* prevent buffer overflow for bogus data */
|
|
||||||
+ runcount = MIN (runcount, endq - q);
|
|
||||||
+
|
|
||||||
if (bytespp == 1)
|
|
||||||
{
|
|
||||||
memmove (q, buf, runcount);
|
|
||||||
--
|
|
||||||
cgit v0.8.3.1
|
|
@ -1,109 +0,0 @@
|
|||||||
From 0eae221c7c6eb84591d718587a17ea90c8852d5b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nils Philippsen <nils@redhat.com>
|
|
||||||
Date: Thu, 04 Aug 2011 10:47:44 +0000
|
|
||||||
Subject: file-gif-load: ensure return value of LZWReadByte() is <= 255
|
|
||||||
|
|
||||||
(cherry picked from commit b1a3de761362db982c0ddfaff60ab4a3c4267f32)
|
|
||||||
---
|
|
||||||
diff --git a/plug-ins/common/file-gif-load.c b/plug-ins/common/file-gif-load.c
|
|
||||||
index 9a0720b..a4d98fc 100644
|
|
||||||
--- a/plug-ins/common/file-gif-load.c
|
|
||||||
+++ b/plug-ins/common/file-gif-load.c
|
|
||||||
@@ -743,11 +743,11 @@ LZWReadByte (FILE *fd,
|
|
||||||
}
|
|
||||||
while (firstcode == clear_code);
|
|
||||||
|
|
||||||
- return firstcode;
|
|
||||||
+ return firstcode & 255;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sp > stack)
|
|
||||||
- return *--sp;
|
|
||||||
+ return (*--sp) & 255;
|
|
||||||
|
|
||||||
while ((code = GetCode (fd, code_size, FALSE)) >= 0)
|
|
||||||
{
|
|
||||||
@@ -770,7 +770,7 @@ LZWReadByte (FILE *fd,
|
|
||||||
sp = stack;
|
|
||||||
firstcode = oldcode = GetCode (fd, code_size, FALSE);
|
|
||||||
|
|
||||||
- return firstcode;
|
|
||||||
+ return firstcode & 255;
|
|
||||||
}
|
|
||||||
else if (code == end_code)
|
|
||||||
{
|
|
||||||
@@ -826,10 +826,10 @@ LZWReadByte (FILE *fd,
|
|
||||||
oldcode = incode;
|
|
||||||
|
|
||||||
if (sp > stack)
|
|
||||||
- return *--sp;
|
|
||||||
+ return (*--sp) & 255;
|
|
||||||
}
|
|
||||||
|
|
||||||
- return code;
|
|
||||||
+ return code & 255;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gint32
|
|
||||||
--
|
|
||||||
cgit v0.9.0.2
|
|
||||||
From 62718f821b7c79a6860b8b25f0a21a91daa6e22d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nils Philippsen <nils@redhat.com>
|
|
||||||
Date: Thu, 04 Aug 2011 10:51:42 +0000
|
|
||||||
Subject: file-gif-load: fix heap corruption and buffer overflow (CVE-2011-2896)
|
|
||||||
|
|
||||||
(cherry picked from commit 376ad788c1a1c31d40f18494889c383f6909ebfc)
|
|
||||||
---
|
|
||||||
diff --git a/plug-ins/common/file-gif-load.c b/plug-ins/common/file-gif-load.c
|
|
||||||
index a4d98fc..8460ec0 100644
|
|
||||||
--- a/plug-ins/common/file-gif-load.c
|
|
||||||
+++ b/plug-ins/common/file-gif-load.c
|
|
||||||
@@ -697,7 +697,8 @@ LZWReadByte (FILE *fd,
|
|
||||||
static gint firstcode, oldcode;
|
|
||||||
static gint clear_code, end_code;
|
|
||||||
static gint table[2][(1 << MAX_LZW_BITS)];
|
|
||||||
- static gint stack[(1 << (MAX_LZW_BITS)) * 2], *sp;
|
|
||||||
+#define STACK_SIZE ((1 << (MAX_LZW_BITS)) * 2)
|
|
||||||
+ static gint stack[STACK_SIZE], *sp;
|
|
||||||
gint i;
|
|
||||||
|
|
||||||
if (just_reset_LZW)
|
|
||||||
@@ -772,7 +773,7 @@ LZWReadByte (FILE *fd,
|
|
||||||
|
|
||||||
return firstcode & 255;
|
|
||||||
}
|
|
||||||
- else if (code == end_code)
|
|
||||||
+ else if (code == end_code || code > max_code)
|
|
||||||
{
|
|
||||||
gint count;
|
|
||||||
guchar buf[260];
|
|
||||||
@@ -791,13 +792,14 @@ LZWReadByte (FILE *fd,
|
|
||||||
|
|
||||||
incode = code;
|
|
||||||
|
|
||||||
- if (code >= max_code)
|
|
||||||
+ if (code == max_code)
|
|
||||||
{
|
|
||||||
- *sp++ = firstcode;
|
|
||||||
+ if (sp < &(stack[STACK_SIZE]))
|
|
||||||
+ *sp++ = firstcode;
|
|
||||||
code = oldcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
- while (code >= clear_code)
|
|
||||||
+ while (code >= clear_code && sp < &(stack[STACK_SIZE]))
|
|
||||||
{
|
|
||||||
*sp++ = table[1][code];
|
|
||||||
if (code == table[0][code])
|
|
||||||
@@ -808,7 +810,8 @@ LZWReadByte (FILE *fd,
|
|
||||||
code = table[0][code];
|
|
||||||
}
|
|
||||||
|
|
||||||
- *sp++ = firstcode = table[1][code];
|
|
||||||
+ if (sp < &(stack[STACK_SIZE]))
|
|
||||||
+ *sp++ = firstcode = table[1][code];
|
|
||||||
|
|
||||||
if ((code = max_code) < (1 << MAX_LZW_BITS))
|
|
||||||
{
|
|
||||||
--
|
|
||||||
cgit v0.9.0.2
|
|
@ -1,39 +0,0 @@
|
|||||||
From 582cb0f14eb9f145bd2a2f5c9fda12309ae0229f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Manish Singh <yosh@gimp.org>
|
|
||||||
Date: Sun, 24 May 2009 17:42:39 +0000
|
|
||||||
Subject: Explicitly specify library dependencies at link time, so we can use gold.
|
|
||||||
|
|
||||||
---
|
|
||||||
(limited to 'libgimpthumb/Makefile.am')
|
|
||||||
|
|
||||||
diff --git a/libgimpthumb/Makefile.am b/libgimpthumb/Makefile.am
|
|
||||||
index a78a83a..98acd24 100644
|
|
||||||
--- a/libgimpthumb/Makefile.am
|
|
||||||
+++ b/libgimpthumb/Makefile.am
|
|
||||||
@@ -86,7 +86,10 @@ noinst_PROGRAMS = gimp-thumbnail-list
|
|
||||||
|
|
||||||
gimp_thumbnail_list_SOURCES = gimp-thumbnail-list.c
|
|
||||||
|
|
||||||
-gimp_thumbnail_list_LDADD = libgimpthumb-$(GIMP_API_VERSION).la
|
|
||||||
+gimp_thumbnail_list_LDADD = \
|
|
||||||
+ libgimpthumb-$(GIMP_API_VERSION).la \
|
|
||||||
+ $(GDK_PIXBUF_LIBS) \
|
|
||||||
+ $(GLIB_LIBS)
|
|
||||||
|
|
||||||
|
|
||||||
install-data-local: install-ms-lib install-libtool-import-lib
|
|
||||||
--
|
|
||||||
cgit v0.9.0.2
|
|
||||||
Index: gimp-2.6.11/plug-ins/script-fu/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- gimp-2.6.11.orig/plug-ins/script-fu/Makefile.am
|
|
||||||
+++ gimp-2.6.11/plug-ins/script-fu/Makefile.am
|
|
||||||
@@ -8,7 +8,7 @@ libgimpbase = $(top_builddir)/libgimpbas
|
|
||||||
libgimpconfig = $(top_builddir)/libgimpconfig/libgimpconfig-$(GIMP_API_VERSION).la
|
|
||||||
libgimpmath = $(top_builddir)/libgimpmath/libgimpmath-$(GIMP_API_VERSION).la
|
|
||||||
|
|
||||||
-libtinyscheme=tinyscheme/libtinyscheme.a
|
|
||||||
+libtinyscheme=tinyscheme/libtinyscheme.a -lm
|
|
||||||
libftx=ftx/libftx.a
|
|
||||||
|
|
||||||
if OS_WIN32
|
|
@ -1,476 +0,0 @@
|
|||||||
From 69f69eed816b89be9a01a48a1f0643d1fd496118 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nils Philippsen <nils@redhat.com>
|
|
||||||
Date: Fri, 6 May 2011 11:58:44 +0200
|
|
||||||
Subject: [PATCH] patch: poppler-0.17
|
|
||||||
|
|
||||||
Squashed commit of the following:
|
|
||||||
|
|
||||||
commit 529d940222dfc352d41fbf72de29134421aa4002
|
|
||||||
Author: Nils Philippsen <nils@redhat.com>
|
|
||||||
Date: Fri May 6 11:50:30 2011 +0200
|
|
||||||
|
|
||||||
use code based on pixbufs instead of cairo surfaces
|
|
||||||
|
|
||||||
this is done to avoid adding to libgimp, thanks to Mukund Sivaraman for
|
|
||||||
hints how to do this
|
|
||||||
|
|
||||||
commit f8671d8767d4cdab830dc06310e96c63a88ec0fd
|
|
||||||
Author: Mukund Sivaraman <muks@banu.com>
|
|
||||||
Date: Thu Apr 21 13:57:13 2011 +0530
|
|
||||||
|
|
||||||
file-pdf-load: Update attribution, removing bogus copyright
|
|
||||||
(cherry picked from commit e999122e0b20b6ccd6bde3ce039bb64068fc0019)
|
|
||||||
|
|
||||||
commit 89a78f2590d298dac2f42e6d9a3016fc5d672c70
|
|
||||||
Author: Nils Philippsen <nils@redhat.com>
|
|
||||||
Date: Thu Apr 21 13:52:18 2011 +0200
|
|
||||||
|
|
||||||
file-pdf-load: Use better API + cleanups
|
|
||||||
|
|
||||||
* fixes issues with poppler 0.17 completely
|
|
||||||
* uses new libgimp API to pass surfaces instead of pixbufs
|
|
||||||
* uses GTK+ 3 API to convert surfaces to pixbufs where available
|
|
||||||
(backported from commit 7bdadd80ba479d6ff904e276d805e16f6b940ee2)
|
|
||||||
|
|
||||||
commit 4e92302c4a14a961f112587a0ad86696c88da2f8
|
|
||||||
Author: Nils Philippsen <nils@redhat.com>
|
|
||||||
Date: Thu Apr 21 13:38:08 2011 +0200
|
|
||||||
|
|
||||||
file-pdf-load: Don't use deprecated API (bug #646947)
|
|
||||||
|
|
||||||
(cherry picked from commit 9b3e1c91fd2eac69da6947ec9c7fbf10096ba237)
|
|
||||||
|
|
||||||
Conflicts:
|
|
||||||
|
|
||||||
plug-ins/common/file-pdf.c
|
|
||||||
---
|
|
||||||
plug-ins/common/file-pdf.c | 323 ++++++++++++++++++++++++++++++++++++++------
|
|
||||||
1 files changed, 283 insertions(+), 40 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/plug-ins/common/file-pdf.c b/plug-ins/common/file-pdf.c
|
|
||||||
index a43b459..43c2b7d 100644
|
|
||||||
--- a/plug-ins/common/file-pdf.c
|
|
||||||
+++ b/plug-ins/common/file-pdf.c
|
|
||||||
@@ -4,6 +4,9 @@
|
|
||||||
*
|
|
||||||
* Copyright (C) 2005 Nathan Summers
|
|
||||||
*
|
|
||||||
+ * Some code in render_page_to_surface() borrowed from
|
|
||||||
+ * poppler.git/glib/poppler-page.cc.
|
|
||||||
+ *
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
@@ -80,16 +83,20 @@ static gboolean load_dialog (PopplerDocument *doc,
|
|
||||||
static PopplerDocument * open_document (const gchar *filename,
|
|
||||||
GError **error);
|
|
||||||
|
|
||||||
-static GdkPixbuf * get_thumbnail (PopplerDocument *doc,
|
|
||||||
+static cairo_surface_t * get_thumb_surface (PopplerDocument *doc,
|
|
||||||
+ gint page,
|
|
||||||
+ gint preferred_size);
|
|
||||||
+
|
|
||||||
+static GdkPixbuf * get_thumb_pixbuf (PopplerDocument *doc,
|
|
||||||
gint page,
|
|
||||||
gint preferred_size);
|
|
||||||
|
|
||||||
static gint32 layer_from_pixbuf (gint32 image,
|
|
||||||
- const gchar *layer_name,
|
|
||||||
- gint position,
|
|
||||||
- GdkPixbuf *buf,
|
|
||||||
- gdouble progress_start,
|
|
||||||
- gdouble progress_scale);
|
|
||||||
+ const gchar *layer_name,
|
|
||||||
+ gint position,
|
|
||||||
+ GdkPixbuf *pixbuf,
|
|
||||||
+ gdouble progress_start,
|
|
||||||
+ gdouble progress_scale);
|
|
||||||
|
|
||||||
/**
|
|
||||||
** the following was formerly part of
|
|
||||||
@@ -433,11 +440,12 @@ run (const gchar *name,
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- gdouble width = 0;
|
|
||||||
- gdouble height = 0;
|
|
||||||
- gdouble scale;
|
|
||||||
- gint32 image = -1;
|
|
||||||
- GdkPixbuf *pixbuf = NULL;
|
|
||||||
+ gdouble width = 0;
|
|
||||||
+ gdouble height = 0;
|
|
||||||
+ gdouble scale;
|
|
||||||
+ gint32 image = -1;
|
|
||||||
+ gint num_pages = 0;
|
|
||||||
+ GdkPixbuf *pixbuf = NULL;
|
|
||||||
|
|
||||||
/* Possibly retrieve last settings */
|
|
||||||
gimp_get_data (LOAD_PROC, &loadvals);
|
|
||||||
@@ -455,7 +463,10 @@ run (const gchar *name,
|
|
||||||
g_object_unref (page);
|
|
||||||
}
|
|
||||||
|
|
||||||
- pixbuf = get_thumbnail (doc, 0, param[1].data.d_int32);
|
|
||||||
+ num_pages = poppler_document_get_n_pages (doc);
|
|
||||||
+
|
|
||||||
+ pixbuf = get_thumb_pixbuf (doc, 0, param[1].data.d_int32);
|
|
||||||
+
|
|
||||||
g_object_unref (doc);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -548,6 +559,187 @@ open_document (const gchar *filename,
|
|
||||||
return doc;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* FIXME: Remove this someday when we depend fully on GTK+ >= 3 */
|
|
||||||
+
|
|
||||||
+#if (!GTK_CHECK_VERSION (3, 0, 0))
|
|
||||||
+
|
|
||||||
+static cairo_format_t
|
|
||||||
+gdk_cairo_format_for_content (cairo_content_t content)
|
|
||||||
+{
|
|
||||||
+ switch (content)
|
|
||||||
+ {
|
|
||||||
+ case CAIRO_CONTENT_COLOR:
|
|
||||||
+ return CAIRO_FORMAT_RGB24;
|
|
||||||
+ case CAIRO_CONTENT_ALPHA:
|
|
||||||
+ return CAIRO_FORMAT_A8;
|
|
||||||
+ case CAIRO_CONTENT_COLOR_ALPHA:
|
|
||||||
+ default:
|
|
||||||
+ return CAIRO_FORMAT_ARGB32;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static cairo_surface_t *
|
|
||||||
+gdk_cairo_surface_coerce_to_image (cairo_surface_t *surface,
|
|
||||||
+ cairo_content_t content,
|
|
||||||
+ int src_x,
|
|
||||||
+ int src_y,
|
|
||||||
+ int width,
|
|
||||||
+ int height)
|
|
||||||
+{
|
|
||||||
+ cairo_surface_t *copy;
|
|
||||||
+ cairo_t *cr;
|
|
||||||
+
|
|
||||||
+ copy = cairo_image_surface_create (gdk_cairo_format_for_content (content),
|
|
||||||
+ width,
|
|
||||||
+ height);
|
|
||||||
+
|
|
||||||
+ cr = cairo_create (copy);
|
|
||||||
+ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
|
|
||||||
+ cairo_set_source_surface (cr, surface, -src_x, -src_y);
|
|
||||||
+ cairo_paint (cr);
|
|
||||||
+ cairo_destroy (cr);
|
|
||||||
+
|
|
||||||
+ return copy;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+convert_alpha (guchar *dest_data,
|
|
||||||
+ int dest_stride,
|
|
||||||
+ guchar *src_data,
|
|
||||||
+ int src_stride,
|
|
||||||
+ int src_x,
|
|
||||||
+ int src_y,
|
|
||||||
+ int width,
|
|
||||||
+ int height)
|
|
||||||
+{
|
|
||||||
+ int x, y;
|
|
||||||
+
|
|
||||||
+ src_data += src_stride * src_y + src_x * 4;
|
|
||||||
+
|
|
||||||
+ for (y = 0; y < height; y++) {
|
|
||||||
+ guint32 *src = (guint32 *) src_data;
|
|
||||||
+
|
|
||||||
+ for (x = 0; x < width; x++) {
|
|
||||||
+ guint alpha = src[x] >> 24;
|
|
||||||
+
|
|
||||||
+ if (alpha == 0)
|
|
||||||
+ {
|
|
||||||
+ dest_data[x * 4 + 0] = 0;
|
|
||||||
+ dest_data[x * 4 + 1] = 0;
|
|
||||||
+ dest_data[x * 4 + 2] = 0;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ dest_data[x * 4 + 0] = (((src[x] & 0xff0000) >> 16) * 255 + alpha / 2) / alpha;
|
|
||||||
+ dest_data[x * 4 + 1] = (((src[x] & 0x00ff00) >> 8) * 255 + alpha / 2) / alpha;
|
|
||||||
+ dest_data[x * 4 + 2] = (((src[x] & 0x0000ff) >> 0) * 255 + alpha / 2) / alpha;
|
|
||||||
+ }
|
|
||||||
+ dest_data[x * 4 + 3] = alpha;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ src_data += src_stride;
|
|
||||||
+ dest_data += dest_stride;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+convert_no_alpha (guchar *dest_data,
|
|
||||||
+ int dest_stride,
|
|
||||||
+ guchar *src_data,
|
|
||||||
+ int src_stride,
|
|
||||||
+ int src_x,
|
|
||||||
+ int src_y,
|
|
||||||
+ int width,
|
|
||||||
+ int height)
|
|
||||||
+{
|
|
||||||
+ int x, y;
|
|
||||||
+
|
|
||||||
+ src_data += src_stride * src_y + src_x * 4;
|
|
||||||
+
|
|
||||||
+ for (y = 0; y < height; y++) {
|
|
||||||
+ guint32 *src = (guint32 *) src_data;
|
|
||||||
+
|
|
||||||
+ for (x = 0; x < width; x++) {
|
|
||||||
+ dest_data[x * 3 + 0] = src[x] >> 16;
|
|
||||||
+ dest_data[x * 3 + 1] = src[x] >> 8;
|
|
||||||
+ dest_data[x * 3 + 2] = src[x];
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ src_data += src_stride;
|
|
||||||
+ dest_data += dest_stride;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * gdk_pixbuf_get_from_surface:
|
|
||||||
+ * @surface: surface to copy from
|
|
||||||
+ * @src_x: Source X coordinate within @surface
|
|
||||||
+ * @src_y: Source Y coordinate within @surface
|
|
||||||
+ * @width: Width in pixels of region to get
|
|
||||||
+ * @height: Height in pixels of region to get
|
|
||||||
+ *
|
|
||||||
+ * Transfers image data from a #cairo_surface_t and converts it to an RGB(A)
|
|
||||||
+ * representation inside a #GdkPixbuf. This allows you to efficiently read
|
|
||||||
+ * individual pixels from cairo surfaces. For #GdkWindows, use
|
|
||||||
+ * gdk_pixbuf_get_from_window() instead.
|
|
||||||
+ *
|
|
||||||
+ * This function will create an RGB pixbuf with 8 bits per channel.
|
|
||||||
+ * The pixbuf will contain an alpha channel if the @surface contains one.
|
|
||||||
+ *
|
|
||||||
+ * Return value: (transfer full): A newly-created pixbuf with a reference
|
|
||||||
+ * count of 1, or %NULL on error
|
|
||||||
+ */
|
|
||||||
+static GdkPixbuf *
|
|
||||||
+gdk_pixbuf_get_from_surface (cairo_surface_t *surface,
|
|
||||||
+ gint src_x,
|
|
||||||
+ gint src_y,
|
|
||||||
+ gint width,
|
|
||||||
+ gint height)
|
|
||||||
+{
|
|
||||||
+ cairo_content_t content;
|
|
||||||
+ GdkPixbuf *dest;
|
|
||||||
+
|
|
||||||
+ /* General sanity checks */
|
|
||||||
+ g_return_val_if_fail (surface != NULL, NULL);
|
|
||||||
+ g_return_val_if_fail (width > 0 && height > 0, NULL);
|
|
||||||
+
|
|
||||||
+ content = cairo_surface_get_content (surface) | CAIRO_CONTENT_COLOR;
|
|
||||||
+ dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
|
|
||||||
+ !!(content & CAIRO_CONTENT_ALPHA),
|
|
||||||
+ 8,
|
|
||||||
+ width, height);
|
|
||||||
+
|
|
||||||
+ surface = gdk_cairo_surface_coerce_to_image (surface, content,
|
|
||||||
+ src_x, src_y,
|
|
||||||
+ width, height);
|
|
||||||
+ cairo_surface_flush (surface);
|
|
||||||
+ if (cairo_surface_status (surface) || dest == NULL)
|
|
||||||
+ {
|
|
||||||
+ cairo_surface_destroy (surface);
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (gdk_pixbuf_get_has_alpha (dest))
|
|
||||||
+ convert_alpha (gdk_pixbuf_get_pixels (dest),
|
|
||||||
+ gdk_pixbuf_get_rowstride (dest),
|
|
||||||
+ cairo_image_surface_get_data (surface),
|
|
||||||
+ cairo_image_surface_get_stride (surface),
|
|
||||||
+ 0, 0,
|
|
||||||
+ width, height);
|
|
||||||
+ else
|
|
||||||
+ convert_no_alpha (gdk_pixbuf_get_pixels (dest),
|
|
||||||
+ gdk_pixbuf_get_rowstride (dest),
|
|
||||||
+ cairo_image_surface_get_data (surface),
|
|
||||||
+ cairo_image_surface_get_stride (surface),
|
|
||||||
+ 0, 0,
|
|
||||||
+ width, height);
|
|
||||||
+
|
|
||||||
+ cairo_surface_destroy (surface);
|
|
||||||
+ return dest;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
static gint32
|
|
||||||
layer_from_pixbuf (gint32 image,
|
|
||||||
const gchar *layer_name,
|
|
||||||
@@ -566,6 +758,54 @@ layer_from_pixbuf (gint32 image,
|
|
||||||
return layer;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static cairo_surface_t *
|
|
||||||
+render_page_to_surface (PopplerPage *page,
|
|
||||||
+ int width,
|
|
||||||
+ int height,
|
|
||||||
+ double scale)
|
|
||||||
+{
|
|
||||||
+ cairo_surface_t *surface;
|
|
||||||
+ cairo_t *cr;
|
|
||||||
+
|
|
||||||
+ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
|
|
||||||
+ cr = cairo_create (surface);
|
|
||||||
+
|
|
||||||
+ cairo_save (cr);
|
|
||||||
+ cairo_translate (cr, 0.0, 0.0);
|
|
||||||
+
|
|
||||||
+ if (scale != 1.0)
|
|
||||||
+ cairo_scale (cr, scale, scale);
|
|
||||||
+
|
|
||||||
+ poppler_page_render (page, cr);
|
|
||||||
+ cairo_restore (cr);
|
|
||||||
+
|
|
||||||
+ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OVER);
|
|
||||||
+ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
|
|
||||||
+ cairo_paint (cr);
|
|
||||||
+
|
|
||||||
+ cairo_destroy (cr);
|
|
||||||
+
|
|
||||||
+ return surface;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static GdkPixbuf *
|
|
||||||
+render_page_to_pixbuf (PopplerPage *page,
|
|
||||||
+ int width,
|
|
||||||
+ int height,
|
|
||||||
+ double scale)
|
|
||||||
+{
|
|
||||||
+ GdkPixbuf *pixbuf;
|
|
||||||
+ cairo_surface_t *surface;
|
|
||||||
+
|
|
||||||
+ surface = render_page_to_surface (page, width, height, scale);
|
|
||||||
+ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0,
|
|
||||||
+ cairo_image_surface_get_width (surface),
|
|
||||||
+ cairo_image_surface_get_height (surface));
|
|
||||||
+ cairo_surface_destroy (surface);
|
|
||||||
+
|
|
||||||
+ return pixbuf;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static gint32
|
|
||||||
load_image (PopplerDocument *doc,
|
|
||||||
const gchar *filename,
|
|
||||||
@@ -597,7 +837,7 @@ load_image (PopplerDocument *doc,
|
|
||||||
gdouble page_width;
|
|
||||||
gdouble page_height;
|
|
||||||
|
|
||||||
- GdkPixbuf *buf;
|
|
||||||
+ GdkPixbuf *pixbuf;
|
|
||||||
gint width;
|
|
||||||
gint height;
|
|
||||||
|
|
||||||
@@ -627,15 +867,13 @@ load_image (PopplerDocument *doc,
|
|
||||||
gimp_image_set_resolution (image_ID, resolution, resolution);
|
|
||||||
}
|
|
||||||
|
|
||||||
- buf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
|
|
||||||
-
|
|
||||||
- poppler_page_render_to_pixbuf (page, 0, 0, width, height, scale, 0, buf);
|
|
||||||
+ pixbuf = render_page_to_pixbuf (page, width, height, scale);
|
|
||||||
|
|
||||||
- layer_from_pixbuf (image_ID, page_label, i, buf,
|
|
||||||
+ layer_from_pixbuf (image_ID, page_label, i, pixbuf,
|
|
||||||
doc_progress, 1.0 / pages->n_pages);
|
|
||||||
|
|
||||||
g_free (page_label);
|
|
||||||
- g_object_unref (buf);
|
|
||||||
+ g_object_unref(pixbuf);
|
|
||||||
|
|
||||||
doc_progress = (double) (i + 1) / pages->n_pages;
|
|
||||||
gimp_progress_update (doc_progress);
|
|
||||||
@@ -676,30 +914,22 @@ load_image (PopplerDocument *doc,
|
|
||||||
return image_ID;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static GdkPixbuf *
|
|
||||||
-get_thumbnail (PopplerDocument *doc,
|
|
||||||
- gint page_num,
|
|
||||||
- gint preferred_size)
|
|
||||||
+static cairo_surface_t *
|
|
||||||
+get_thumb_surface (PopplerDocument *doc,
|
|
||||||
+ gint page_num,
|
|
||||||
+ gint preferred_size)
|
|
||||||
{
|
|
||||||
PopplerPage *page;
|
|
||||||
- GdkPixbuf *pixbuf;
|
|
||||||
+ cairo_surface_t *surface;
|
|
||||||
|
|
||||||
page = poppler_document_get_page (doc, page_num);
|
|
||||||
|
|
||||||
if (! page)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
- /* XXX: Remove conditional when we depend on poppler 0.8.0, but also
|
|
||||||
- * add configure check to make sure POPPLER_WITH_GDK is enabled!
|
|
||||||
- */
|
|
||||||
-#ifdef POPPLER_WITH_GDK
|
|
||||||
- pixbuf = poppler_page_get_thumbnail_pixbuf (page);
|
|
||||||
-#else
|
|
||||||
- pixbuf = poppler_page_get_thumbnail (page);
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
+ surface = poppler_page_get_thumbnail (page);
|
|
||||||
|
|
||||||
- if (! pixbuf)
|
|
||||||
+ if (! surface)
|
|
||||||
{
|
|
||||||
gdouble width;
|
|
||||||
gdouble height;
|
|
||||||
@@ -712,15 +942,28 @@ get_thumbnail (PopplerDocument *doc,
|
|
||||||
width *= scale;
|
|
||||||
height *= scale;
|
|
||||||
|
|
||||||
- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8,
|
|
||||||
- width, height);
|
|
||||||
-
|
|
||||||
- poppler_page_render_to_pixbuf (page,
|
|
||||||
- 0, 0, width, height, scale, 0, pixbuf);
|
|
||||||
+ surface = render_page_to_surface (page, width, height, scale);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_unref (page);
|
|
||||||
|
|
||||||
+ return surface;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static GdkPixbuf *
|
|
||||||
+get_thumb_pixbuf (PopplerDocument *doc,
|
|
||||||
+ gint page_num,
|
|
||||||
+ gint preferred_size)
|
|
||||||
+{
|
|
||||||
+ cairo_surface_t *surface;
|
|
||||||
+ GdkPixbuf *pixbuf;
|
|
||||||
+
|
|
||||||
+ surface = get_thumb_surface (doc, page_num, preferred_size);
|
|
||||||
+ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0,
|
|
||||||
+ cairo_image_surface_get_width (surface),
|
|
||||||
+ cairo_image_surface_get_height (surface));
|
|
||||||
+ cairo_surface_destroy (surface);
|
|
||||||
+
|
|
||||||
return pixbuf;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -769,8 +1012,8 @@ thumbnail_thread (gpointer data)
|
|
||||||
idle_data->page_no = i;
|
|
||||||
|
|
||||||
/* FIXME get preferred size from somewhere? */
|
|
||||||
- idle_data->pixbuf = get_thumbnail (thread_data->document, i,
|
|
||||||
- THUMBNAIL_SIZE);
|
|
||||||
+ idle_data->pixbuf = get_thumb_pixbuf (thread_data->document, i,
|
|
||||||
+ THUMBNAIL_SIZE);
|
|
||||||
|
|
||||||
g_idle_add (idle_set_thumbnail, idle_data);
|
|
||||||
|
|
||||||
--
|
|
||||||
1.7.5
|
|
@ -1,24 +0,0 @@
|
|||||||
From 16d77f975b2c398a515f91e34ef868dc3bb49228 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nils Philippsen <nils@redhat.com>
|
|
||||||
Date: Wed, 02 Feb 2011 16:11:28 +0000
|
|
||||||
Subject: Bug 641259 - [abrt] gimp-2:2.6.11-1.fc14: py-slice.py:172:slice:TypeError: integer argument expected, got float
|
|
||||||
|
|
||||||
py-slice: cast cellspacing to int in pyslice() to avoid tracebacks
|
|
||||||
(cherry picked from commit 0af966b63fcc55b36380d6538dfb30000f71fef9)
|
|
||||||
---
|
|
||||||
diff --git a/plug-ins/pygimp/plug-ins/py-slice.py b/plug-ins/pygimp/plug-ins/py-slice.py
|
|
||||||
index 40743f3..ac35f23 100755
|
|
||||||
--- a/plug-ins/pygimp/plug-ins/py-slice.py
|
|
||||||
+++ b/plug-ins/pygimp/plug-ins/py-slice.py
|
|
||||||
@@ -36,6 +36,9 @@ gettext.install("gimp20-python", gimp.locale_directory, unicode=True)
|
|
||||||
def pyslice(image, drawable, save_path, html_filename,
|
|
||||||
image_basename, image_extension, separate,
|
|
||||||
image_path, cellspacing, animate, skip_caps):
|
|
||||||
+
|
|
||||||
+ cellspacing = int (cellspacing)
|
|
||||||
+
|
|
||||||
if animate:
|
|
||||||
count = 0
|
|
||||||
drw = []
|
|
||||||
--
|
|
||||||
cgit v0.9.0.2
|
|
17
gimp.changes
17
gimp.changes
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 1 09:09:46 UTC 2012 - vuntz@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 2.6.12:
|
||||||
|
+ Bugs fixed: bgo#623045, bgo#627328, bgo#631728, bgo#631885,
|
||||||
|
bgo#639203, bgo#640219, bgo#640612, bgo#641259, bgo#646947,
|
||||||
|
bgo#652280, bgo#660305.
|
||||||
|
+ Updated translations.
|
||||||
|
- Drop gimp-CVE-2010-4540-and-more.patch: fixed upstream.
|
||||||
|
- Drop gimp-CVE-2010-4543.patch: fixed upstream.
|
||||||
|
- Drop gimp-fix-linking.patch: fixed upstream.
|
||||||
|
- Drop gimp-CVE-2011-2896.patch: fixed upstream.
|
||||||
|
- Drop gimp-pyslice-cellspacing-fix.patch: fixed upstream.
|
||||||
|
- Drop gimp-poppler-0.18.patch: fixed upstream.
|
||||||
|
- Remove call to autoreconf and libtool BuildRequires: they were
|
||||||
|
only needed for gimp-fix-linking.patch.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Oct 21 11:19:42 UTC 2011 - vuntz@opensuse.org
|
Fri Oct 21 11:19:42 UTC 2011 - vuntz@opensuse.org
|
||||||
|
|
||||||
|
45
gimp.spec
45
gimp.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package gimp
|
# spec file for package gimp
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -15,7 +15,6 @@
|
|||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define build_hal 0%{?suse_version} <= 1140
|
%define build_hal 0%{?suse_version} <= 1140
|
||||||
|
|
||||||
%global abiver 4
|
%global abiver 4
|
||||||
@ -44,7 +43,6 @@ BuildRequires: libpoppler-glib-devel
|
|||||||
BuildRequires: librsvg-devel
|
BuildRequires: librsvg-devel
|
||||||
BuildRequires: libtiff-devel
|
BuildRequires: libtiff-devel
|
||||||
BuildRequires: libwebkit-devel
|
BuildRequires: libwebkit-devel
|
||||||
BuildRequires: libtool
|
|
||||||
BuildRequires: libwmf-devel
|
BuildRequires: libwmf-devel
|
||||||
BuildRequires: pango-devel
|
BuildRequires: pango-devel
|
||||||
BuildRequires: python-gtk-devel
|
BuildRequires: python-gtk-devel
|
||||||
@ -52,28 +50,16 @@ BuildRequires: translation-update-upstream
|
|||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: xorg-x11-libXfixes-devel
|
BuildRequires: xorg-x11-libXfixes-devel
|
||||||
Url: http://www.gimp.org/
|
Url: http://www.gimp.org/
|
||||||
Version: 2.6.11
|
Version: 2.6.12
|
||||||
Release: 23
|
Release: 0
|
||||||
|
Summary: The GNU Image Manipulation Program
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
Summary: The GNU Image Manipulation Program
|
Source: ftp://ftp.gimp.org/pub/gimp/stable/%{name}-%{version}.tar.bz2
|
||||||
Source: ftp://ftp.gimp.org/pub/gimp/v2.6/%{name}-%{version}.tar.bz2
|
|
||||||
Source1: macros.gimp
|
Source1: macros.gimp
|
||||||
# openSUSE palette file
|
# openSUSE palette file
|
||||||
Source2: openSUSE.gpl
|
Source2: openSUSE.gpl
|
||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
# PATCH-FIX-UPSTREAM gimp-CVE-2010-4540-and-more.patch CVE-2010-4540 CVE-2010-4541 CVE-2010-4542 bgo#639203 bnc#662043 vuntz@opensuse.org -- Fix various buffer overflows
|
|
||||||
Patch0: gimp-CVE-2010-4540-and-more.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gimp-CVE-2010-4543.patch CVE-2010-4543 bgo#639203 bnc#662043 vuntz@opensuse.org -- Fix a buffer overflow when reading a psp file
|
|
||||||
Patch1: gimp-CVE-2010-4543.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gimp-fix-linking.patch bgo#659586 vuntz@opensuse.org -- Fix linking issue because of missing libs
|
|
||||||
Patch2: gimp-fix-linking.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gimp-CVE-2011-2896.patch CVE-2011-2896 bnc#711491 vuntz@opensuse.org -- Fix heap corruption and buffer overflow
|
|
||||||
Patch3: gimp-CVE-2011-2896.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gimp-pyslice-cellspacing-fix.patch vuntz@opensuse.org -- Fix pyslice to not crash
|
|
||||||
Patch4: gimp-pyslice-cellspacing-fix.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gimp-poppler-0.18.patch vuntz@opensuse.org -- Fix build with poppler 0.18, taken from fedora
|
|
||||||
Patch5: gimp-poppler-0.18.patch
|
|
||||||
Requires: %{name}-branding = %{version}
|
Requires: %{name}-branding = %{version}
|
||||||
Recommends: %{name}-lang
|
Recommends: %{name}-lang
|
||||||
Recommends: %{name}-help-browser
|
Recommends: %{name}-help-browser
|
||||||
@ -104,7 +90,6 @@ distribute.
|
|||||||
|
|
||||||
|
|
||||||
%package -n libgimp-2_0-0
|
%package -n libgimp-2_0-0
|
||||||
License: GPL-2.0+
|
|
||||||
Summary: The GNU Image Manipulation Program - Libraries
|
Summary: The GNU Image Manipulation Program - Libraries
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
|
|
||||||
@ -124,7 +109,6 @@ This package provides GIMP libraries.
|
|||||||
|
|
||||||
|
|
||||||
%package -n libgimpui-2_0-0
|
%package -n libgimpui-2_0-0
|
||||||
License: GPL-2.0+
|
|
||||||
Summary: The GNU Image Manipulation Program - UI Libraries
|
Summary: The GNU Image Manipulation Program - UI Libraries
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
|
|
||||||
@ -144,7 +128,6 @@ This package provides GIMP UI libraries.
|
|||||||
|
|
||||||
|
|
||||||
%package branding-upstream
|
%package branding-upstream
|
||||||
License: GPL-2.0+
|
|
||||||
Summary: The GNU Image Manipulation Program -- Upstream Splash Screen
|
Summary: The GNU Image Manipulation Program -- Upstream Splash Screen
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
@ -177,13 +160,12 @@ This package contains the upstream splash screen for the GIMP.
|
|||||||
|
|
||||||
|
|
||||||
%package plugins-python
|
%package plugins-python
|
||||||
License: GPL-2.0+
|
|
||||||
Summary: The GNU Image Manipulation Program - python-gtk based plugins
|
Summary: The GNU Image Manipulation Program - python-gtk based plugins
|
||||||
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
Requires: %{name} = %{version} python-gtk
|
Requires: %{name} = %{version} python-gtk
|
||||||
Supplements: %{name}
|
Supplements: %{name}
|
||||||
Provides: gimp-2.0-plugins-python = %{version}
|
Provides: gimp-2.0-plugins-python = %{version}
|
||||||
Obsoletes: gimp-unstable-plugins-python < 2.6.0
|
Obsoletes: gimp-unstable-plugins-python < 2.6.0
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
|
||||||
# For update from <= 10.3 and SLED 10:
|
# For update from <= 10.3 and SLED 10:
|
||||||
Provides: %{name}:%{_libdir}/gimp/2.0/plug-ins/pyconsole.py = %{version}
|
Provides: %{name}:%{_libdir}/gimp/2.0/plug-ins/pyconsole.py = %{version}
|
||||||
%py_requires
|
%py_requires
|
||||||
@ -202,13 +184,12 @@ distribute.
|
|||||||
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
License: GPL-2.0+
|
|
||||||
Summary: The GNU Image Manipulation Program
|
Summary: The GNU Image Manipulation Program
|
||||||
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
Requires: libgimp-2_0-0 = %{version}
|
Requires: libgimp-2_0-0 = %{version}
|
||||||
Requires: libgimpui-2_0-0 = %{version}
|
Requires: libgimpui-2_0-0 = %{version}
|
||||||
Provides: gimp-2.0-devel = %{version}
|
Provides: gimp-2.0-devel = %{version}
|
||||||
Obsoletes: gimp-unstable-devel < 2.6.0
|
Obsoletes: gimp-unstable-devel < 2.6.0
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
|
||||||
Obsoletes: gimp-doc <= 2.6.4
|
Obsoletes: gimp-doc <= 2.6.4
|
||||||
Provides: gimp-doc = 2.6.4
|
Provides: gimp-doc = 2.6.4
|
||||||
|
|
||||||
@ -226,7 +207,6 @@ distribute.
|
|||||||
|
|
||||||
|
|
||||||
%package help-browser
|
%package help-browser
|
||||||
License: GPL-2.0+
|
|
||||||
Summary: The GNU Image Manipulation Program - Help Browser
|
Summary: The GNU Image Manipulation Program - Help Browser
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
@ -239,11 +219,10 @@ This package contains the help browser for the GIMP.
|
|||||||
%if %{build_hal}
|
%if %{build_hal}
|
||||||
|
|
||||||
%package module-hal
|
%package module-hal
|
||||||
License: GPL-2.0+
|
|
||||||
Summary: The GNU Image Manipulation Program - module to detect input devices with HAL
|
Summary: The GNU Image Manipulation Program - module to detect input devices with HAL
|
||||||
|
Group: Productivity/Graphics/Bitmap Editors
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
Supplements: packageand(%{name}:hal)
|
Supplements: packageand(%{name}:hal)
|
||||||
Group: Productivity/Graphics/Bitmap Editors
|
|
||||||
|
|
||||||
%description module-hal
|
%description module-hal
|
||||||
The GIMP (GNU Image Manipulation Program) is a powerful image
|
The GIMP (GNU Image Manipulation Program) is a powerful image
|
||||||
@ -270,12 +249,6 @@ translation-update-upstream po-python gimp20-python
|
|||||||
translation-update-upstream po-script-fu gimp20-script-fu
|
translation-update-upstream po-script-fu gimp20-script-fu
|
||||||
translation-update-upstream po-plug-ins gimp20-std-plug-ins
|
translation-update-upstream po-plug-ins gimp20-std-plug-ins
|
||||||
translation-update-upstream po-tips gimp20-tips
|
translation-update-upstream po-tips gimp20-tips
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
|
||||||
# Safety check for ABI version change.
|
# Safety check for ABI version change.
|
||||||
vabi=`printf "%d" $(sed -n '/#define GIMP_MODULE_ABI_VERSION/{s/.* //;p}' libgimpmodule/gimpmodule.h)`
|
vabi=`printf "%d" $(sed -n '/#define GIMP_MODULE_ABI_VERSION/{s/.* //;p}' libgimpmodule/gimpmodule.h)`
|
||||||
if test "x${vabi}" != "x%{abiver}"; then
|
if test "x${vabi}" != "x%{abiver}"; then
|
||||||
@ -292,8 +265,6 @@ if test "x${vapi}" != "x%{apiver}"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# needed for patch2
|
|
||||||
autoreconf -fi
|
|
||||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||||
%configure --with-pic\
|
%configure --with-pic\
|
||||||
--disable-static\
|
--disable-static\
|
||||||
|
Loading…
x
Reference in New Issue
Block a user