summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2013-09-22 11:21:59 +0000
committerPacho Ramos <pacho@gentoo.org>2013-09-22 11:21:59 +0000
commit2da856df35aa1212eeb53f06b64f1482ae678ea2 (patch)
tree13f5a4ac68e085090ec827aa33f73fc24b998372 /app-office/dia
parentStable for amd64, wrt bug #472086 (diff)
downloadgentoo-2-2da856df35aa1212eeb53f06b64f1482ae678ea2.tar.gz
gentoo-2-2da856df35aa1212eeb53f06b64f1482ae678ea2.tar.bz2
gentoo-2-2da856df35aa1212eeb53f06b64f1482ae678ea2.zip
Migrate to new python eclasses, improve desktop file translations, drop unneeded libgnome* deps, let it compile with latest automake, don't mess with localedir, fix glib-2.36 compat, apply upstream patch to fix some warnings.
(Portage version: 2.2.6/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
Diffstat (limited to 'app-office/dia')
-rw-r--r--app-office/dia/ChangeLog11
-rw-r--r--app-office/dia/dia-0.97.2-r2.ebuild102
-rw-r--r--app-office/dia/files/dia-0.97.2-glib2.36.patch100
-rw-r--r--app-office/dia/files/dia-0.97.2-implicit-declaration.patch30
4 files changed, 242 insertions, 1 deletions
diff --git a/app-office/dia/ChangeLog b/app-office/dia/ChangeLog
index b126416c19ff..fbc7b8eddad9 100644
--- a/app-office/dia/ChangeLog
+++ b/app-office/dia/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for app-office/dia
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/dia/ChangeLog,v 1.155 2013/03/05 22:59:41 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/dia/ChangeLog,v 1.156 2013/09/22 11:21:59 pacho Exp $
+
+*dia-0.97.2-r2 (22 Sep 2013)
+
+ 22 Sep 2013; Pacho Ramos <pacho@gentoo.org> +dia-0.97.2-r2.ebuild,
+ +files/dia-0.97.2-glib2.36.patch,
+ +files/dia-0.97.2-implicit-declaration.patch:
+ Migrate to new python eclasses, improve desktop file translations, drop
+ unneeded libgnome* deps, let it compile with latest automake, don't mess with
+ localedir, fix glib-2.36 compat, apply upstream patch to fix some warnings.
05 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> -dia-0.97.1.ebuild,
-files/dia-0.97.1-libpng15.patch, -dia-0.97.2.ebuild,
diff --git a/app-office/dia/dia-0.97.2-r2.ebuild b/app-office/dia/dia-0.97.2-r2.ebuild
new file mode 100644
index 000000000000..0905892a1416
--- /dev/null
+++ b/app-office/dia/dia-0.97.2-r2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-office/dia/dia-0.97.2-r2.ebuild,v 1.1 2013/09/22 11:21:59 pacho Exp $
+
+EAPI=5
+GCONF_DEBUG=yes
+GNOME2_LA_PUNT=yes
+PYTHON_COMPAT=( python{2_6,2_7} )
+
+inherit autotools eutils gnome2 python-single-r1 multilib
+
+DESCRIPTION="Diagram/flowchart creation program"
+HOMEPAGE="http://live.gnome.org/Dia"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos"
+# the doc USE flag doesn't seem to do anything without docbook2html
+IUSE="cairo doc python"
+
+RDEPEND="
+ >=dev-libs/glib-2:2
+ dev-libs/libxml2
+ dev-libs/libxslt
+ dev-libs/popt
+ >=media-libs/freetype-2
+ >=media-libs/libart_lgpl-2
+ media-libs/libpng:0
+ sys-libs/zlib
+ x11-libs/gtk+:2
+ x11-libs/pango
+ cairo? ( x11-libs/cairo )
+ doc? (
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets )
+ python? (
+ >=dev-python/pygtk-2
+ ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ dev-util/intltool
+ sys-apps/sed
+ virtual/pkgconfig
+ doc? ( dev-libs/libxslt )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ DOCS="AUTHORS ChangeLog KNOWN_BUGS MAINTAINERS NEWS README RELEASE-PROCESS THANKS TODO"
+
+ epatch "${FILESDIR}"/${PN}-0.97.0-gnome-doc.patch #159831
+ epatch "${FILESDIR}"/${PN}-0.97.2-glib-2.31.patch #401331
+ epatch "${FILESDIR}"/${PN}-0.97.2-underlinking.patch #420685
+ epatch "${FILESDIR}"/${PN}-0.97.2-implicit-declaration.patch #468166
+ epatch "${FILESDIR}"/${PN}-0.97.2-glib2.36.patch #469040
+
+ if use python; then
+ python_fix_shebang .
+ sed -i -e "s/\.so/$(get_libname)/" acinclude.m4 || die #298232
+ fi
+
+ if ! use doc; then
+ # Skip man generation
+ sed -i -e '/if HAVE_DB2MAN/,/endif/d' doc/*/Makefile.am || die
+ fi
+
+ # Fix naming conflict on Darwin/OSX
+ sed -i -e 's/isspecial/char_isspecial/' objects/GRAFCET/boolequation.c || die
+
+ sed -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die
+
+ sed -i -e "/localedir/d" configure.in || die
+
+ eautoreconf
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # --exec-prefix makes Python look for modules in the Prefix
+ gnome2_src_configure \
+ --exec-prefix=${EPREFIX}/usr \
+ --docdir=${EPREFIX}/usr/share/doc/${PF} \
+ --enable-gnome \
+ --disable-libemf \
+ $(use_enable doc db2html) \
+ $(use_with cairo) \
+ $(use_with python) \
+ --without-swig \
+ --without-hardbooks
+}
+
+src_install() {
+ gnome2_src_install
+
+ # Install second desktop file for integrated mode (bug #415495)
+ sed -e 's|^Exec=dia|Exec=dia --integrated|' \
+ -e '/^Name/ s|$| (integrated mode)|' \
+ "${ED}"/usr/share/applications/dia.desktop \
+ > "${ED}"/usr/share/applications/dia-integrated.desktop || die
+}
diff --git a/app-office/dia/files/dia-0.97.2-glib2.36.patch b/app-office/dia/files/dia-0.97.2-glib2.36.patch
new file mode 100644
index 000000000000..eab83b8801d0
--- /dev/null
+++ b/app-office/dia/files/dia-0.97.2-glib2.36.patch
@@ -0,0 +1,100 @@
+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
diff --git a/app-office/dia/files/dia-0.97.2-implicit-declaration.patch b/app-office/dia/files/dia-0.97.2-implicit-declaration.patch
new file mode 100644
index 000000000000..e37138a80bc7
--- /dev/null
+++ b/app-office/dia/files/dia-0.97.2-implicit-declaration.patch
@@ -0,0 +1,30 @@
+From 8f363f6dd82f9fbf502fceaf1d73a258c17593db Mon Sep 17 00:00:00 2001
+From: Hans Breuer <hans@breuer.org>
+Date: Sat, 06 Jun 2009 18:01:38 +0000
+Subject: Bug #585004 - implicit declaration of function 'finite' (2nd iteration)
+
+To get the definition either _BSD_SOURCE or _SVID_SOURCE needs to
+be defined before inclusion of <math.h>.
+Removed HAVE_CONFIG_H and chanegd inclusion order
+---
+diff --git a/objects/standard/arc.c b/objects/standard/arc.c
+index 28302a6..3a50838 100644
+--- a/objects/standard/arc.c
++++ b/objects/standard/arc.c
+@@ -16,13 +16,11 @@
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+-#ifdef HAVE_CONFIG_H
+ #include <config.h>
+-#endif
+
+-#include <assert.h>
+ #define _BSD_SOURCE 1 /* to get finite */
+ #include <math.h>
++#include <assert.h>
+
+ #include "intl.h"
+ #include "object.h"
+--
+cgit v0.9.2