From 6afd5f22e41bf13c28805b5da65dcb6610c066701435c2dda9987fc51f981bce Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 18 Sep 2014 08:20:27 +0000 Subject: [PATCH] Accepting request 250028 from home:dimstar:branches:GNOME:Apps Update to 0.97.3 OBS-URL: https://build.opensuse.org/request/show/250028 OBS-URL: https://build.opensuse.org/package/show/GNOME:Apps/dia?expand=0&rev=30 --- dia-0.97.2.tar.xz | 3 - dia-0.97.3.tar.xz | 3 + dia-glib-2.31.patch | 52 ------- dia-glib-2.35.patch | 101 -------------- dia-swig-2x.patch | 153 --------------------- dia-use-recommended-freetype-include.patch | 14 -- dia.changes | 21 +++ dia.spec | 14 +- 8 files changed, 25 insertions(+), 336 deletions(-) delete mode 100644 dia-0.97.2.tar.xz create mode 100644 dia-0.97.3.tar.xz delete mode 100644 dia-glib-2.31.patch delete mode 100644 dia-glib-2.35.patch delete mode 100644 dia-swig-2x.patch delete mode 100644 dia-use-recommended-freetype-include.patch diff --git a/dia-0.97.2.tar.xz b/dia-0.97.2.tar.xz deleted file mode 100644 index 3960e30..0000000 --- a/dia-0.97.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a761478fb98697f71b00d3041d7c267f3db4b94fe33ac07c689cb89c4fe5eae1 -size 5507004 diff --git a/dia-0.97.3.tar.xz b/dia-0.97.3.tar.xz new file mode 100644 index 0000000..c8cf09d --- /dev/null +++ b/dia-0.97.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22914e48ef48f894bb5143c5efc3d01ab96e0a0cde80de11058d3b4301377d34 +size 5548500 diff --git a/dia-glib-2.31.patch b/dia-glib-2.31.patch deleted file mode 100644 index cd6cca0..0000000 --- a/dia-glib-2.31.patch +++ /dev/null @@ -1,52 +0,0 @@ -Index: dia-0.97.1/objects/custom/shape_typeinfo.c -=================================================================== ---- dia-0.97.1.orig/objects/custom/shape_typeinfo.c -+++ dia-0.97.1/objects/custom/shape_typeinfo.c -@@ -27,7 +27,7 @@ - #include "custom_util.h" - #include - #include --#include -+#include - #include - #include - -Index: dia-0.97.1/plug-ins/pgf/render_pgf.c -=================================================================== ---- dia-0.97.1.orig/plug-ins/pgf/render_pgf.c -+++ dia-0.97.1/plug-ins/pgf/render_pgf.c -@@ -61,7 +61,7 @@ TODO: - #endif - #include - --#include -+#include - #include - - #include "intl.h" -Index: dia-0.97.1/tests/test-boundingbox.c -=================================================================== ---- dia-0.97.1.orig/tests/test-boundingbox.c -+++ dia-0.97.1/tests/test-boundingbox.c -@@ -28,7 +28,7 @@ - #include - #include - --#if GLIB_CHECK_VERSION(2,16,0) -+#if GLIB_CHECK_VERSION(2,16,0) && !GLIB_CHECK_VERSION(2,31,0) - #include - #endif - #include "dialib.h" -Index: dia-0.97.1/tests/test-objects.c -=================================================================== ---- dia-0.97.1.orig/tests/test-objects.c -+++ dia-0.97.1/tests/test-objects.c -@@ -28,7 +28,7 @@ - #include - #include - --#if GLIB_CHECK_VERSION(2,16,0) -+#if GLIB_CHECK_VERSION(2,16,0) && !GLIB_CHECK_VERSION(2,31,0) - #include - #endif - diff --git a/dia-glib-2.35.patch b/dia-glib-2.35.patch deleted file mode 100644 index 9e77e51..0000000 --- a/dia-glib-2.35.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 7ac3e9ffac09f99a1aa2fe97a4dc0a688c9746b0 Mon Sep 17 00:00:00 2001 -From: Hans Breuer -Date: Sat, 16 Mar 2013 16:56:58 +0000 -Subject: Bug 694025 - GLib drop support for adding interfaces after class_init - -Without this Dia crashes at startup with new GLib version and the -DiaGdkRenderer being default. Make a new DiaGdkInteractiveRenderer which -follows the pattern also used for DiaCairoInteraciveRenderer. This should -be functional equivalent to what was there before and should work for all -current GLib versions. - -(cherry picked from commit 213bdfe956bf8fe57c86316f68a09408fef1647e) ---- -diff --git a/app/render_gdk.c b/app/render_gdk.c -index 60ccb7a..b1e7ba4 100644 ---- a/app/render_gdk.c -+++ b/app/render_gdk.c -@@ -50,7 +50,21 @@ static void copy_to_window (DiaRenderer *renderer, - gpointer window, - int x, int y, int width, int height); - --static void dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface) -+typedef struct _DiaGdkInteractiveRenderer DiaGdkInteractiveRenderer; -+struct _DiaGdkInteractiveRenderer -+{ -+ DiaGdkRenderer parent_instance; /*!< inheritance in object oriented C */ -+}; -+typedef struct _DiaGdkInteractiveRendererClass DiaGdkInteractiveRendererClass; -+struct _DiaGdkInteractiveRendererClass -+{ -+ DiaGdkRendererClass parent_class; /*!< the base class */ -+}; -+#define DIA_TYPE_GDK_INTERACTIVE_RENDERER (dia_gdk_interactive_renderer_get_type ()) -+#define DIA_GDK_INTERACTIVE_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_GDK_INTERACTIVE_RENDERER, DiaGdkInteractiveRenderer)) -+ -+static void -+dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface) - { - iface->clip_region_clear = clip_region_clear; - iface->clip_region_add_rect = clip_region_add_rect; -@@ -61,35 +75,35 @@ static void dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface) - iface->set_size = set_size; - } - -+G_DEFINE_TYPE_WITH_CODE (DiaGdkInteractiveRenderer, dia_gdk_interactive_renderer, DIA_TYPE_GDK_RENDERER, -+ G_IMPLEMENT_INTERFACE (DIA_TYPE_INTERACTIVE_RENDERER_INTERFACE, dia_gdk_renderer_iface_init)); -+ -+static void -+dia_gdk_interactive_renderer_class_init(DiaGdkInteractiveRendererClass *klass) -+{ -+} -+static void -+dia_gdk_interactive_renderer_init(DiaGdkInteractiveRenderer *object) -+{ -+ DiaGdkInteractiveRenderer *ia_renderer = DIA_GDK_INTERACTIVE_RENDERER (object); -+ DiaGdkRenderer *renderer = DIA_GDK_RENDERER(object); -+ DiaRenderer *dia_renderer = DIA_RENDERER(object); -+ -+ dia_renderer->is_interactive = 1; -+ -+ renderer->gc = NULL; -+ renderer->pixmap = NULL; -+ renderer->clip_region = NULL; -+} -+ - DiaRenderer * - new_gdk_renderer(DDisplay *ddisp) - { - DiaGdkRenderer *renderer; - GType renderer_type = 0; - -- renderer = g_object_new (DIA_TYPE_GDK_RENDERER, NULL); -+ renderer = g_object_new (DIA_TYPE_GDK_INTERACTIVE_RENDERER, NULL); - renderer->transform = dia_transform_new (&ddisp->visible, &ddisp->zoom_factor); -- if (!DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer)) -- { -- static const GInterfaceInfo irenderer_iface_info = -- { -- (GInterfaceInitFunc) dia_gdk_renderer_iface_init, -- NULL, /* iface_finalize */ -- NULL /* iface_data */ -- }; -- -- renderer_type = DIA_TYPE_GDK_RENDERER; -- /* register the interactive renderer interface */ -- g_type_add_interface_static (renderer_type, -- DIA_TYPE_INTERACTIVE_RENDERER_INTERFACE, -- &irenderer_iface_info); -- -- } -- renderer->parent_instance.is_interactive = 1; -- renderer->gc = NULL; -- -- renderer->pixmap = NULL; -- renderer->clip_region = NULL; - - return DIA_RENDERER(renderer); - } --- -cgit v0.9.2 - diff --git a/dia-swig-2x.patch b/dia-swig-2x.patch deleted file mode 100644 index c5847d5..0000000 --- a/dia-swig-2x.patch +++ /dev/null @@ -1,153 +0,0 @@ ---- acinclude.m4.orig 2011-05-26 11:30:59.298022408 +0200 -+++ acinclude.m4 2011-05-26 11:31:24.602022413 +0200 -@@ -391,9 +391,87 @@ - AC_SUBST(FT2_LIBS) - ]) - --## --## SWIG check from http://autoconf-archive.cryp.to/ac_pkg_swig.html --## -+ -+##### http://autoconf-archive.cryp.to/ac_pkg_swig.html -+# -+# SYNOPSIS -+# -+# AC_PROG_SWIG([major.minor.micro]) -+# -+# DESCRIPTION -+# -+# This macro searches for a SWIG installation on your system. If -+# found you should call SWIG via $(SWIG). You can use the optional -+# first argument to check if the version of the available SWIG is -+# greater than or equal to the value of the argument. It should have -+# the format: N[.N[.N]] (N is a number between 0 and 999. Only the -+# first N is mandatory.) -+# -+# If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks -+# that the swig package is this version number or higher. -+# -+# In configure.in, use as: -+# -+# AC_PROG_SWIG(1.3.17) -+# SWIG_ENABLE_CXX -+# SWIG_MULTI_MODULE_SUPPORT -+# SWIG_PYTHON -+# -+# LAST MODIFICATION -+# -+# 2006-10-22 -+# -+# COPYLEFT -+# -+# Copyright (c) 2006 Sebastian Huber -+# Copyright (c) 2006 Alan W. Irwin -+# Copyright (c) 2006 Rafael Laboissiere -+# Copyright (c) 2006 Andrew Collier -+# -+# 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 (at your option) any later version. -+# -+# This program 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 -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+# 02111-1307, USA. -+# -+# As a special exception, the respective Autoconf Macro's copyright -+# owner gives unlimited permission to copy, distribute and modify the -+# configure scripts that are the output of Autoconf when processing -+# the Macro. You need not follow the terms of the GNU General Public -+# License when using or distributing such scripts, even though -+# portions of the text of the Macro appear in them. The GNU General -+# Public License (GPL) does govern all other use of the material that -+# constitutes the Autoconf Macro. -+# -+# This special exception to the GPL applies to versions of the -+# Autoconf Macro released by the Autoconf Macro Archive. When you -+# make and distribute a modified version of the Autoconf Macro, you -+# may extend this special exception to the GPL to apply to your -+# modified version as well. -+ -+AC_DEFUN([SWIG_VERSION_GOOD],[ -+ AC_MSG_NOTICE([SWIG executable is '$SWIG']) -+ SWIG_LIB=`$SWIG -swiglib` -+ AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB']) -+ SWIG_VERSION=`echo $(( $available_major * 100 * 100 + $available_minor * 100 + $available_patch ))` -+ AC_MSG_NOTICE([SWIG version is '$SWIG_VERSION']) -+ # AM_CONDITIONAL(SWIG_NEW_OPTIONS, test "$SWIG_VERSION" \> 10331) -+]) -+ -+AC_DEFUN([SWIG_VERSION_BAD],[ -+ AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) -+ SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' -+]) -+ - AC_DEFUN([AC_PROG_SWIG],[ - AC_PATH_PROG([SWIG],[swig]) - if test -z "$SWIG" ; then -@@ -436,16 +514,44 @@ - if test -z "$available_patch" ; then - [available_patch=0] - fi -- if test $available_major -ne $required_major \ -- -o $available_minor -ne $required_minor \ -- -o $available_patch -lt $required_patch ; then -- AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) -- SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' -- else -- AC_MSG_NOTICE([SWIG executable is '$SWIG']) -- SWIG_LIB=`$SWIG -swiglib` -- AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB']) -- fi -+ -+ -+ -+ if test $available_major -gt $required_major; then -+ # the available major is greater than required major --GOOD -+ SWIG_VERSION_GOOD() -+ -+ elif test $available_major -lt $required_major ; then -+ # the avialable major is less than required major -- BAD -+ SWIG_VERSION_BAD() -+ else -+ # the available and require major are equal check the minor and patch versions. -+ -+ if test $available_minor -gt $required_minor ; then -+ # GOOD -+ SWIG_VERSION_GOOD() -+ elif test $avaialble_minor -lt $required_minor ; then -+ # BAD -+ SWIG_VERSION_BAD() -+ else -+ # the minor version are also equal -+ -+ if test $available_patch -gt $required_patch ; then -+ # GOOD -+ SWIG_VERSION_GOOD() -+ elif test $available_minor -lt $required_minor ; then -+ # BAD -+ SWIG_VERSION_BAD() -+ else -+ # all the available major, minor and patch levels are the same as the required -- GOOD -+ SWIG_VERSION_GOOD() -+ fi -+ fi -+ fi -+ -+ -+ -+ - else - AC_MSG_WARN([cannot determine SWIG version]) - SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false' -@@ -453,4 +559,3 @@ - fi - AC_SUBST([SWIG_LIB]) - ]) -- diff --git a/dia-use-recommended-freetype-include.patch b/dia-use-recommended-freetype-include.patch deleted file mode 100644 index d8f2d0b..0000000 --- a/dia-use-recommended-freetype-include.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/plug-ins/postscript/diapsft2renderer.c 2009-11-07 11:13:53.000000000 -0600 -+++ b/plug-ins/postscript/diapsft2renderer.c 2013-12-02 18:49:27.000000000 -0600 -@@ -29,8 +29,9 @@ - #include - #include - /* I'd really rather avoid this */ --#include --#include -+#include -+#include FT_GLYPH_H -+#include FT_OUTLINE_H - - #define DPI 300 - diff --git a/dia.changes b/dia.changes index 171e8f0..fb0ef11 100644 --- a/dia.changes +++ b/dia.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Sep 17 23:44:48 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.97.3: + + Fix double free with some SVG rendering (regression from Dia + 0.97.2). + + Fixes to cope better with updated versions of Dia's + dependencies: + - don't crash at start-up with ABI breaking GLib 2-36. + - don't assert in cairo 1.12 with invalid arc parameters. + - avoid kerning problems (character overlap) for all Pango + versions. + - fix image files to be loadable by libpng16. + + Backport fixes for some seldom crashes and other annoyances. + + Updated translations. +- Drop upstream fixed patches: + + dia-glib-2.31.patch. + + dia-glib-2.35.patch. + + dia-swig-2x.patch. + + dia-use-recommended-freetype-include.patch. + ------------------------------------------------------------------- Wed Feb 26 21:43:05 UTC 2014 - mgorse@suse.com diff --git a/dia.spec b/dia.spec index c6bdd92..91791b7 100644 --- a/dia.spec +++ b/dia.spec @@ -48,7 +48,7 @@ Requires: xdg-utils Summary: A Diagram Creation Program License: GPL-2.0+ Group: Productivity/Graphics/Other -Version: 0.97.2 +Version: 0.97.3 Release: 0 Source: http://download.gnome.org/sources/dia/0.97/%{name}-%{version}.tar.xz Source1: font-test-japanese.dia @@ -58,16 +58,8 @@ Source3: font-test-german-euro.dia Patch3: dia-0.92.2-no-strict-aliasing.patch # PATCH-FIX-OPENSUSE dia-remove-datetime.patch vuntz@novell.com -- Do not put date/time in the compiled binary (needed for build-compare) Patch17: dia-remove-datetime.patch -# PATCH-FIX-UPSTREAM dia-swig-2x.patch bgo#651127 idoenmez@suse.de -- Support swig 2.x -Patch18: dia-swig-2x.patch -# PATCH-FIX-UPSTREAM dia-glib-2.31.patch bgo#655335 dimstar@opensuse.org -- Fix build with glib 2.31. -Patch19: dia-glib-2.31.patch # PATCH-FIX-UPSTREAM dia-libemf-64bit.patch bgo#675495 sbrabec@suse.cz -- Fix build with libEMF on 64-bit platforms. Patch20: dia-libemf-64bit.patch -# PATCH-FIX-UPSTREAM dia-glib-2.35.patch bgo#694025 bnc#835972 dimstar@opensuse.org -- GLib drop support for adding interfaces after class_init, taken from git -Patch21: dia-glib-2.35.patch -# PATCH-FIX-UPSTREAM dia-use-recommended-freetype-include.patch bgo#720573 hrvoje.senjan@gmail.com -- Freetype upstream recommends using their macros together with ft2build include. Fix build with old and new freetype versions -Patch22: dia-use-recommended-freetype-include.patch # PATCH-FIX-OPENSUSE dia-enable-html-doc.patch mgorse@suse.com -- Always enable html docs if xsltproc present. Patch23: dia-enable-html-doc.patch Url: http://live.gnome.org/Dia @@ -93,11 +85,7 @@ pages). translation-update-upstream %patch3 %patch17 -p1 -%patch18 -%patch19 -p1 %patch20 -p1 -%patch21 -p1 -%patch22 -p1 %patch23 -p1 cp $RPM_SOURCE_DIR/font-test*dia .