mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-19 19:59:43 +00:00
Update librsvg2 to 2.40.16.
* Use USES=localbase. * add missing cairo dependancy. Obtained from: gnome devel repo
This commit is contained in:
parent
2c9e29f522
commit
2ffe743d0a
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=420540
@ -2,8 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= librsvg
|
||||
PORTVERSION= 2.40.13
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 2.40.16
|
||||
CATEGORIES= graphics gnome
|
||||
MASTER_SITES= GNOME
|
||||
PKGNAMESUFFIX= 2
|
||||
@ -16,13 +15,11 @@ LIB_DEPENDS= libfreetype.so:print/freetype2 \
|
||||
libpng.so:graphics/png \
|
||||
libcroco-0.6.so:textproc/libcroco
|
||||
|
||||
USES= gettext gmake gnome libtool pathfix pkgconfig tar:xz
|
||||
USE_GNOME= gnomeprefix libgsf gdkpixbuf2 introspection:build libxml2 \
|
||||
pango
|
||||
USES= gettext gmake gnome libtool localbase pathfix pkgconfig tar:xz
|
||||
USE_GNOME= cairo gnomeprefix libgsf gdkpixbuf2 introspection:build \
|
||||
libxml2 pango
|
||||
USE_LDCONFIG= yes
|
||||
GNU_CONFIGURE= yes
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
LDFLAGS+= -L${LOCALBASE}/lib
|
||||
INSTALL_TARGET= install-strip
|
||||
CONFIGURE_ARGS= --disable-vala \
|
||||
--disable-Bsymbolic
|
||||
|
@ -1,2 +1,3 @@
|
||||
SHA256 (gnome2/librsvg-2.40.13.tar.xz) = 4d6ea93ec05f5dabe7262d711d246a0a99b2311e215360dd3dcabd6afe3b9804
|
||||
SIZE (gnome2/librsvg-2.40.13.tar.xz) = 552900
|
||||
TIMESTAMP = 1469027928
|
||||
SHA256 (gnome2/librsvg-2.40.16.tar.xz) = d48bcf6b03fa98f07df10332fb49d8c010786ddca6ab34cbba217684f533ff2e
|
||||
SIZE (gnome2/librsvg-2.40.16.tar.xz) = 560800
|
||||
|
@ -1,153 +0,0 @@
|
||||
From 34f63da0ca65aef62c151dab9497cb3995e2bf9e Mon Sep 17 00:00:00 2001
|
||||
From: Michael Biebl <biebl@debian.org>
|
||||
Date: Tue, 17 Nov 2015 16:47:20 +0100
|
||||
Subject: [PATCH] Revert "bgo#520654 - Support --export-id in rsvg-convert(1)"
|
||||
|
||||
This reverts commit fecfcce44a959daff80a4e0f9ced83d7cdcb5903.
|
||||
---
|
||||
rsvg-cairo-render.c | 4 ++--
|
||||
rsvg-convert.c | 64 +++++++++++++----------------------------------------
|
||||
2 files changed, 17 insertions(+), 51 deletions(-)
|
||||
|
||||
Index: b/rsvg-cairo-render.c
|
||||
===================================================================
|
||||
--- rsvg-cairo-render.c
|
||||
+++ rsvg-cairo-render.c
|
||||
@@ -205,8 +205,8 @@
|
||||
drawsub = rsvg_defs_lookup (handle->priv->defs, id);
|
||||
|
||||
if (drawsub == NULL && id != NULL) {
|
||||
- /* todo: there's no way to signal that @id doesn't exist */
|
||||
- return FALSE;
|
||||
+ /* todo: there's no way to signal that @id doesn't exist */
|
||||
+ return FALSE;
|
||||
}
|
||||
|
||||
draw = rsvg_cairo_new_drawing_ctx (cr, handle);
|
||||
Index: b/rsvg-convert.c
|
||||
===================================================================
|
||||
--- rsvg-convert.c
|
||||
+++ rsvg-convert.c
|
||||
@@ -78,6 +78,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
+static void
|
||||
+rsvg_cairo_size_callback (int *width, int *height, gpointer data)
|
||||
+{
|
||||
+ RsvgDimensionData *dimensions = data;
|
||||
+ *width = dimensions->width;
|
||||
+ *height = dimensions->height;
|
||||
+}
|
||||
+
|
||||
static cairo_status_t
|
||||
rsvg_cairo_write_func (void *closure, const unsigned char *data, unsigned int length)
|
||||
{
|
||||
@@ -86,26 +94,6 @@
|
||||
return CAIRO_STATUS_WRITE_ERROR;
|
||||
}
|
||||
|
||||
-static char *
|
||||
-get_lookup_id_from_command_line (const char *lookup_id)
|
||||
-{
|
||||
- char *export_lookup_id;
|
||||
-
|
||||
- if (lookup_id == NULL)
|
||||
- export_lookup_id = NULL;
|
||||
- else {
|
||||
- /* rsvg_handle_has_sub() and rsvg_defs_lookup() expect ids to have a
|
||||
- * '#' prepended to them, so they can lookup ids in externs like
|
||||
- * "subfile.svg#subid". For the user's convenience, we include this
|
||||
- * '#' automatically; we only support specifying ids from the
|
||||
- * toplevel, and don't expect users to lookup things in externs.
|
||||
- */
|
||||
- export_lookup_id = g_strdup_printf ("#%s", lookup_id);
|
||||
- }
|
||||
-
|
||||
- return export_lookup_id;
|
||||
-}
|
||||
-
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
@@ -120,7 +108,6 @@
|
||||
int bVersion = 0;
|
||||
char *format = NULL;
|
||||
char *output = NULL;
|
||||
- char *export_id = NULL;
|
||||
int keep_aspect_ratio = FALSE;
|
||||
guint32 background_color = 0;
|
||||
char *background_color_str = NULL;
|
||||
@@ -139,7 +126,6 @@
|
||||
RsvgHandleFlags flags = RSVG_HANDLE_FLAGS_NONE;
|
||||
RsvgDimensionData dimensions;
|
||||
FILE *output_file = stdout;
|
||||
- char *export_lookup_id;
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
HANDLE handle;
|
||||
@@ -164,8 +150,6 @@
|
||||
N_("save format [optional; defaults to 'png']"), N_("[png, pdf, ps, eps, svg, xml, recording]")},
|
||||
{"output", 'o', 0, G_OPTION_ARG_STRING, &output,
|
||||
N_("output filename [optional; defaults to stdout]"), NULL},
|
||||
- {"export-id", 'i', 0, G_OPTION_ARG_STRING, &export_id,
|
||||
- N_("SVG id of object to export [optional; defaults to exporting all objects]"), N_("<object id>")},
|
||||
{"keep-aspect-ratio", 'a', 0, G_OPTION_ARG_NONE, &keep_aspect_ratio,
|
||||
N_("whether to preserve the aspect ratio [optional; defaults to FALSE]"), NULL},
|
||||
{"background-color", 'b', 0, G_OPTION_ARG_STRING, &background_color_str,
|
||||
@@ -306,18 +290,13 @@
|
||||
exit (1);
|
||||
}
|
||||
|
||||
- export_lookup_id = get_lookup_id_from_command_line (export_id);
|
||||
- if (export_lookup_id != NULL
|
||||
- && !rsvg_handle_has_sub (rsvg, export_lookup_id)) {
|
||||
- g_printerr (_("File %s does not have an object with id \"%s\"\n"), args[i], export_id);
|
||||
- exit (1);
|
||||
- }
|
||||
+ /* in the case of multi-page output, all subsequent SVGs are scaled to the first's size */
|
||||
+ rsvg_handle_set_size_callback (rsvg, rsvg_cairo_size_callback, &dimensions, NULL);
|
||||
|
||||
if (i == 0) {
|
||||
struct RsvgSizeCallbackData size_data;
|
||||
|
||||
- if (!rsvg_handle_get_dimensions_sub (rsvg, &dimensions, export_lookup_id))
|
||||
- g_printerr ("Could not get dimensions for file %s\n", args[i]);
|
||||
+ rsvg_handle_get_dimensions (rsvg, &dimensions);
|
||||
|
||||
/* if both are unspecified, assume user wants to zoom the image in at least 1 dimension */
|
||||
if (width == -1 && height == -1) {
|
||||
@@ -325,7 +304,9 @@
|
||||
size_data.x_zoom = x_zoom;
|
||||
size_data.y_zoom = y_zoom;
|
||||
size_data.keep_aspect_ratio = keep_aspect_ratio;
|
||||
- } else if (x_zoom == 1.0 && y_zoom == 1.0) {
|
||||
+ }
|
||||
+ /* if both are unspecified, assume user wants to resize image in at least 1 dimension */
|
||||
+ else if (x_zoom == 1.0 && y_zoom == 1.0) {
|
||||
/* if one parameter is unspecified, assume user wants to keep the aspect ratio */
|
||||
if (width == -1 || height == -1) {
|
||||
size_data.type = RSVG_SIZE_WH_MAX;
|
||||
@@ -404,21 +385,7 @@
|
||||
cairo_fill (cr);
|
||||
}
|
||||
|
||||
- if (export_lookup_id) {
|
||||
- RsvgPositionData pos;
|
||||
-
|
||||
- if (!rsvg_handle_get_position_sub (rsvg, &pos, export_lookup_id)) {
|
||||
- g_printerr (_("File %s does not have an object with id \"%s\"\n"), args[i], export_id);
|
||||
- exit (1);
|
||||
- }
|
||||
-
|
||||
- /* Move the whole thing to 0, 0 so the object to export is at the origin */
|
||||
- cairo_translate (cr, -pos.x, -pos.y);
|
||||
- }
|
||||
-
|
||||
- rsvg_handle_render_cairo_sub (rsvg, cr, export_lookup_id);
|
||||
-
|
||||
- g_free (export_lookup_id);
|
||||
+ rsvg_handle_render_cairo (rsvg, cr);
|
||||
|
||||
if (!format || !strcmp (format, "png"))
|
||||
cairo_surface_write_to_png_stream (surface, rsvg_cairo_write_func, output_file);
|
Loading…
Reference in New Issue
Block a user