Accepting request 250049 from GNOME:Apps

1

OBS-URL: https://build.opensuse.org/request/show/250049
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dia?expand=0&rev=40
This commit is contained in:
Stephan Kulow 2014-09-23 11:46:23 +00:00 committed by Git OBS Bridge
commit 32d4ad4409
8 changed files with 25 additions and 336 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a761478fb98697f71b00d3041d7c267f3db4b94fe33ac07c689cb89c4fe5eae1
size 5507004

BIN
dia-0.97.3.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -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 <string.h>
#include <stdarg.h>
-#include <glib/gstrfuncs.h>
+#include <glib.h>
#include <glib/gstdio.h>
#include <libxml/parser.h>
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 <errno.h>
-#include <glib/gprintf.h>
+#include <glib.h>
#include <glib/gstdio.h>
#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 <glib.h>
#include <glib-object.h>
-#if GLIB_CHECK_VERSION(2,16,0)
+#if GLIB_CHECK_VERSION(2,16,0) && !GLIB_CHECK_VERSION(2,31,0)
#include <glib/gtestutils.h>
#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 <glib.h>
#include <glib-object.h>
-#if GLIB_CHECK_VERSION(2,16,0)
+#if GLIB_CHECK_VERSION(2,16,0) && !GLIB_CHECK_VERSION(2,31,0)
#include <glib/gtestutils.h>
#endif

View File

@ -1,101 +0,0 @@
From 7ac3e9ffac09f99a1aa2fe97a4dc0a688c9746b0 Mon Sep 17 00:00:00 2001
From: Hans Breuer <hans@breuer.org>
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

View File

@ -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 <sebastian-huber@web.de>
+# Copyright (c) 2006 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+# Copyright (c) 2006 Rafael Laboissiere <rafael@laboissiere.net>
+# Copyright (c) 2006 Andrew Collier <colliera@ukzn.ac.za>
+#
+# 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])
])
-

View File

@ -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 <pango/pangoft2.h>
#include <pango/pango-engine.h>
/* I'd really rather avoid this */
-#include <freetype/ftglyph.h>
-#include <freetype/ftoutln.h>
+#include <ft2build.h>
+#include FT_GLYPH_H
+#include FT_OUTLINE_H
#define DPI 300

View File

@ -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

View File

@ -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 .