Update to dia-0.97.3.

This commit is contained in:
ajacoutot 2014-09-05 17:39:03 +00:00
parent 83556ea0f3
commit 5c1dad1f06
12 changed files with 7 additions and 286 deletions

View File

@ -1,12 +1,11 @@
# $OpenBSD: Makefile,v 1.104 2014/04/02 09:36:11 jasper Exp $
# $OpenBSD: Makefile,v 1.105 2014/09/05 17:39:03 ajacoutot Exp $
SHARED_ONLY= Yes
COMMENT= technical diagrams drawing tool
GNOME_PROJECT= dia
GNOME_VERSION= 0.97.2
REVISION= 11
GNOME_VERSION= 0.97.3
CATEGORIES= graphics
@ -44,7 +43,7 @@ CONFIGURE_ARGS= --without-hardbooks \
post-install:
mv ${PREFIX}/share/man/fr ${PREFIX}/man
rmdir ${PREFIX}/share/man/ ${PREFIX}/share/oaf/
rmdir ${PREFIX}/share/man
rm ${PREFIX}/lib/dia/*.{a,la}
.include <bsd.port.mk>

View File

@ -1,5 +1,2 @@
MD5 (dia-0.97.2.tar.xz) = HhGApRP7VncJsJvBnxIQXg==
RMD160 (dia-0.97.2.tar.xz) = +ScPHyy2rVBSGUY4J9AuN1lpN5Y=
SHA1 (dia-0.97.2.tar.xz) = 3H7W+M2DrMj0IdKPMOQEL+Nw6bo=
SHA256 (dia-0.97.2.tar.xz) = p2FHj7mGl/cbANMEHXwmfz20uU/jOsB8aJy4nE/l6uE=
SIZE (dia-0.97.2.tar.xz) = 5507004
SHA256 (dia-0.97.3.tar.xz) = IpFOSO9I+JS7UUPF78PQGrluCgzegN4RBY07QwE3fTQ=
SIZE (dia-0.97.3.tar.xz) = 5548500

View File

@ -1,91 +0,0 @@
$OpenBSD: patch-app_render_gdk_c,v 1.1 2013/04/16 13:53:40 ajacoutot Exp $
From 213bdfe956bf8fe57c86316f68a09408fef1647e 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
--- app/render_gdk.c.orig Sat Nov 7 18:13:53 2009
+++ app/render_gdk.c Tue Apr 16 15:42:03 2013
@@ -50,8 +50,22 @@ 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;
iface->draw_pixel_line = draw_pixel_line;
@@ -61,35 +75,35 @@ static void dia_gdk_renderer_iface_init (DiaInteractiv
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);
}

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-objects_custom_shape_typeinfo_c,v 1.2 2012/04/27 09:59:05 ajacoutot Exp $
From f4c743e2ef079bfe288d37d9056a8827c684d01e Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Thu, 01 Dec 2011 21:08:12 +0000
Subject: Bug 665335: Only #include <glib.h>: the other headers are implicit
--- objects/custom/shape_typeinfo.c.orig Sat Nov 7 15:28:34 2009
+++ objects/custom/shape_typeinfo.c Fri Apr 27 11:47:46 2012
@@ -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>

View File

@ -1,54 +0,0 @@
$OpenBSD: patch-plug-ins_cairo_diacairo-renderer_c,v 1.1 2014/03/09 21:47:44 ajacoutot Exp $
From 226fb87f34d4b49e700fb9cb340b49b67fd59540 Mon Sep 17 00:00:00 2001
From: Hans Breuer <hans@breuer.org>
Date: Fri, 14 Feb 2014 18:23:44 +0000
Subject: Bug 573261 - Avoid font kerning problems with pangocairo(fc)
--- plug-ins/cairo/diacairo-renderer.c.orig Fri Jan 7 12:54:21 2011
+++ plug-ins/cairo/diacairo-renderer.c Mon Mar 3 10:11:18 2014
@@ -315,6 +315,15 @@ set_fillstyle(DiaRenderer *self, FillStyle mode)
DIAG_STATE(DIA_CAIRO_RENDERER (self)->cr)
}
+/* There is a recurring bug with pangocairo related to kerning and font scaling.
+ * See: https://bugzilla.gnome.org/buglist.cgi?quicksearch=341481+573261+700592
+ * Rather than waiting for another fix let's try to implement the ultimate work
+ * around. With Pango-1.32 and HarfBuzz the kludge in Pango is gone and apparently
+ * substituted with a precision problem. If we now use huge fonts when talking
+ * to Pango and downscale these with cairo it should work with all Pango versions.
+ */
+#define FONT_SIZE_TWEAK (72.0)
+
static void
set_font(DiaRenderer *self, DiaFont *font, real height)
{
@@ -327,7 +336,7 @@ set_font(DiaRenderer *self, DiaFont *font, real height
#ifdef HAVE_PANGOCAIRO_H
/* select font and size */
- pango_font_description_set_absolute_size (pfd, (int)(size * PANGO_SCALE));
+ pango_font_description_set_absolute_size (pfd, (int)(size * FONT_SIZE_TWEAK * PANGO_SCALE));
pango_layout_set_font_description (renderer->layout, pfd);
pango_font_description_free (pfd);
#else
@@ -714,14 +723,17 @@ draw_string(DiaRenderer *self,
pango_layout_iter_get_line_extents (iter, NULL, &extents);
shift = alignment == ALIGN_CENTER ? PANGO_RBEARING(extents)/2 :
alignment == ALIGN_RIGHT ? PANGO_RBEARING(extents) : 0;
+ shift /= FONT_SIZE_TWEAK;
+ bline /= FONT_SIZE_TWEAK;
cairo_move_to (renderer->cr, pos->x - (double)shift / PANGO_SCALE, pos->y - (double)bline / PANGO_SCALE);
pango_layout_iter_free (iter);
}
/* does this hide bug #341481? */
- pango_cairo_update_context (renderer->cr, pango_layout_get_context (renderer->layout));
- pango_layout_context_changed (renderer->layout);
+ cairo_scale (renderer->cr, 1.0/FONT_SIZE_TWEAK, 1.0/FONT_SIZE_TWEAK);
+ pango_cairo_update_layout (renderer->cr, renderer->layout);
pango_cairo_show_layout (renderer->cr, renderer->layout);
+ /* restoring the previous scale */
cairo_restore (renderer->cr);
#else
/* using the 'toy API' */

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-plug-ins_pgf_render_pgf_c,v 1.1 2012/04/27 09:59:05 ajacoutot Exp $
From f4c743e2ef079bfe288d37d9056a8827c684d01e Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Thu, 01 Dec 2011 21:08:12 +0000
Subject: Bug 665335: Only #include <glib.h>: the other headers are implicit
--- plug-ins/pgf/render_pgf.c.orig Fri Apr 27 11:47:07 2012
+++ plug-ins/pgf/render_pgf.c Fri Apr 27 11:46:58 2012
@@ -61,7 +61,7 @@ TODO:
#endif
#include <errno.h>
-#include <glib/gprintf.h>
+#include <glib.h>
#include <glib/gstdio.h>
#include "intl.h"

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-plug-ins_postscript_diapsft2renderer_c,v 1.2 2014/01/10 19:36:00 ajacoutot Exp $
From 0b863adcad031c70601e375d72dae64fdd967752 Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Mon, 16 Dec 2013 22:30:40 +0000
Subject: plugin: Use the Freetype developer's proposed way if #include'ing their headers.
--- plug-ins/postscript/diapsft2renderer.c.orig Sat Nov 7 18:13:53 2009
+++ plug-ins/postscript/diapsft2renderer.c Fri Jan 10 19:19:13 2014
@@ -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,17 +0,0 @@
$OpenBSD: patch-plug-ins_vdx_vdx_c,v 1.1 2013/04/16 13:53:40 ajacoutot Exp $
From 79c3d5c775759d5c868c1ecd31f4fd7ffadff7c1 Mon Sep 17 00:00:00 2001
From: Jiri Popelka <jpopelka@redhat.com>
Date: Wed, 05 Sep 2012 09:12:59 +0000
Subject: Unregister vdx, xfig import filters during plugin unloading.
--- plug-ins/vdx/vdx.c.orig Sat Nov 7 15:28:34 2009
+++ plug-ins/vdx/vdx.c Tue Apr 16 15:42:01 2013
@@ -43,6 +43,7 @@ static void
_plugin_unload (PluginInfo *info)
{
filter_unregister_export(&vdx_export_filter);
+ filter_unregister_import(&vdx_import_filter);
}

View File

@ -1,17 +0,0 @@
$OpenBSD: patch-plug-ins_xfig_xfig_c,v 1.1 2013/04/16 13:53:40 ajacoutot Exp $
From 79c3d5c775759d5c868c1ecd31f4fd7ffadff7c1 Mon Sep 17 00:00:00 2001
From: Jiri Popelka <jpopelka@redhat.com>
Date: Wed, 05 Sep 2012 09:12:59 +0000
Subject: Unregister vdx, xfig import filters during plugin unloading.
--- plug-ins/xfig/xfig.c.orig Sat Nov 7 15:28:34 2009
+++ plug-ins/xfig/xfig.c Tue Apr 16 15:42:01 2013
@@ -41,6 +41,7 @@ static void
_plugin_unload (PluginInfo *info)
{
filter_unregister_export(&xfig_export_filter);
+ filter_unregister_import(&xfig_import_filter);
}

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-tests_test-boundingbox_c,v 1.2 2012/04/27 09:59:05 ajacoutot Exp $
From f4c743e2ef079bfe288d37d9056a8827c684d01e Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Thu, 01 Dec 2011 21:08:12 +0000
Subject: Bug 665335: Only #include <glib.h>: the other headers are implicit
--- tests/test-boundingbox.c.orig Sat Nov 7 15:28:35 2009
+++ tests/test-boundingbox.c Wed Mar 21 20:59:52 2012
@@ -28,9 +28,6 @@
#include <glib.h>
#include <glib-object.h>
-#if GLIB_CHECK_VERSION(2,16,0)
-#include <glib/gtestutils.h>
-#endif
#include "dialib.h"
/*

View File

@ -1,20 +0,0 @@
$OpenBSD: patch-tests_test-objects_c,v 1.2 2012/04/27 09:59:05 ajacoutot Exp $
From f4c743e2ef079bfe288d37d9056a8827c684d01e Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Thu, 01 Dec 2011 21:08:12 +0000
Subject: Bug 665335: Only #include <glib.h>: the other headers are implicit
--- tests/test-objects.c.orig Sat Nov 7 15:28:35 2009
+++ tests/test-objects.c Wed Mar 21 20:59:52 2012
@@ -28,10 +28,6 @@
#include <glib.h>
#include <glib-object.h>
-#if GLIB_CHECK_VERSION(2,16,0)
-#include <glib/gtestutils.h>
-#endif
-
#include "object.h"
#include "plug-ins.h"
#include "dialib.h"

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.28 2013/12/07 09:18:36 ajacoutot Exp $
@comment $OpenBSD: PLIST,v 1.29 2014/09/05 17:39:03 ajacoutot Exp $
@pkgpath graphics/dia,gnome
@bin bin/dia
lib/dia/
@ -1674,7 +1674,6 @@ share/dia/sheets/Misc.sheet
share/dia/sheets/Pneumatic.sheet
share/dia/sheets/SADT.sheet
share/dia/sheets/SDL.sheet
share/dia/sheets/SISSI/
share/dia/sheets/UML/
share/dia/sheets/UML.sheet
share/dia/sheets/UML/aggregation.png
@ -1793,6 +1792,7 @@ share/locale/sr/LC_MESSAGES/dia.mo
share/locale/sr@Latn/
share/locale/sr@Latn/LC_MESSAGES/
share/locale/sr@Latn/LC_MESSAGES/dia.mo
share/locale/sr@latin/LC_MESSAGES/dia.mo
share/locale/sv/LC_MESSAGES/dia.mo
share/locale/ta/LC_MESSAGES/dia.mo
share/locale/th/LC_MESSAGES/dia.mo