diff options
author | Pacho Ramos <pacho@gentoo.org> | 2013-09-22 11:21:59 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2013-09-22 11:21:59 +0000 |
commit | 2da856df35aa1212eeb53f06b64f1482ae678ea2 (patch) | |
tree | 13f5a4ac68e085090ec827aa33f73fc24b998372 /app-office/dia | |
parent | Stable for amd64, wrt bug #472086 (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | app-office/dia/dia-0.97.2-r2.ebuild | 102 | ||||
-rw-r--r-- | app-office/dia/files/dia-0.97.2-glib2.36.patch | 100 | ||||
-rw-r--r-- | app-office/dia/files/dia-0.97.2-implicit-declaration.patch | 30 |
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 |