From 7fcf5ae9c55badccb801130097f67a69775545d9 Mon Sep 17 00:00:00 2001 From: Timothy Gu Date: Wed, 17 Sep 2014 17:11:17 -0700 Subject: librsvg: update Signed-off-by: Timothy Gu --- src/librsvg-1-fixes.patch | 151 ++++++++++++++++++++++++++++++++++++---------- src/librsvg.mk | 4 +- 2 files changed, 122 insertions(+), 33 deletions(-) diff --git a/src/librsvg-1-fixes.patch b/src/librsvg-1-fixes.patch index 8e25e66..85de7fb 100644 --- a/src/librsvg-1-fixes.patch +++ b/src/librsvg-1-fixes.patch @@ -1,19 +1,19 @@ This file is part of MXE. See index.html for further information. -Contains an ad hoc patch for cross building. +Contains ad hoc patches for cross building. -From 1ff5a73bee660f1d61f9cdd7c8d7aff29e959c4c Mon Sep 17 00:00:00 2001 -From: MXE +From 6cf410c4901e851d53e6dd211b5cad0ca48ff61a Mon Sep 17 00:00:00 2001 +From: MXE Date: Mon, 27 Sep 2010 12:00:52 +0200 -Subject: [PATCH 1/2] fix .pc requirements +Subject: [PATCH 1/3] fix .pc requirements diff --git a/librsvg.pc.in b/librsvg.pc.in -index 372f199..b6ee7a9 100644 +index a451de0..9488551 100644 --- a/librsvg.pc.in +++ b/librsvg.pc.in -@@ -9,7 +9,7 @@ css_supported=@CSS_SUPPORTED@ +@@ -9,7 +9,7 @@ css_supported=true Name: librsvg Description: library that renders svg files Version: @VERSION@ @@ -23,36 +23,125 @@ index 372f199..b6ee7a9 100644 Libs: -L${libdir} -lrsvg-@RSVG_API_MAJOR_VERSION@ -lm Cflags: -I${includedir}/librsvg-@RSVG_API_VERSION@ -- -1.7.1 +1.8.3.2 -[PATCH 2/2] Work around use of canonicalize_file_name() +From 8b8816e8d52da47ce9e14f6ec1f823f17184c29d Mon Sep 17 00:00:00 2001 +From: Chun-wei Fan +Date: Mon, 18 Aug 2014 12:27:28 +0800 +Subject: [PATCH 2/3] rsvg-base.c: Have realpath() Work On Windows +Use _fullpath() on Windows to do the job for realpath() as realpath() does +not exist on Windows. -diff -ur librsvg-2.40.0.orig/rsvg-base.c librsvg-2.40.0/rsvg-base.c ---- librsvg-2.40.0.orig/rsvg-base.c 2013-05-11 11:19:07.000000000 +0200 -+++ librsvg-2.40.0/rsvg-base.c 2013-11-09 15:24:47.865999754 +0100 -@@ -2191,7 +2191,11 @@ - g_object_unref (base); +https://bugzilla.gnome.org/show_bug.cgi?id=710163 + +Taken from: https://bug710163.bugzilla-attachments.gnome.org/attachment.cgi?id=283702 + +Signed-off-by: Timothy Gu + +diff --git a/rsvg-base.c b/rsvg-base.c +index 683d607..c40669a 100644 +--- a/rsvg-base.c ++++ b/rsvg-base.c +@@ -58,6 +58,15 @@ + #include "rsvg-xml.h" - /* FIXME portability */ -+#ifndef __MINGW32__ - cdir = canonicalize_file_name (dir); -+#else -+ cdir = dir; + /* ++ * XXX: Perhaps do a GIO-based implementation for ++ * realpath() or use gnulib implementation for this ++ * https://bugzilla.gnome.org/show_bug.cgi?id=710163 ++ */ ++#ifdef G_OS_WIN32 ++#define realpath(a,b) _fullpath(b,a,_MAX_PATH) +#endif - g_free (dir); - if (cdir == NULL) - goto deny; -@@ -2201,7 +2205,11 @@ - goto deny; ++ ++/* + * This is configurable at runtime + */ + #define RSVG_DEFAULT_DPI_X 90.0 +-- +1.8.3.2 + + +From 4a2811e8f55e757d36bfb182990038bdfb48e514 Mon Sep 17 00:00:00 2001 +From: Timothy Gu +Date: Wed, 17 Sep 2014 17:00:13 -0700 +Subject: [PATCH 3/3] [MXE] Disable checking gio-unix-2.0 and disable + rsvg_convert program + +rsvg_convert uses Unix features. + +I decided not to change the Makefile.am and configure.in because autoreconf +doesn't work on librsvg. Didn't investigate further. + +diff --git a/Makefile.in b/Makefile.in +index 782d576..d2e21e8 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -81,7 +81,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-bin_PROGRAMS = rsvg-convert$(EXEEXT) $(am__EXEEXT_1) ++#bin_PROGRAMS = rsvg-convert$(EXEEXT) $(am__EXEEXT_1) + @HAVE_GTK_3_TRUE@am__append_1 = rsvg-view-3 + @OS_WIN32_TRUE@am__append_2 = -mwindows + @HAVE_INTROSPECTION_TRUE@am__append_3 = $(nodist_gir_DATA) $(nodist_typelibs_DATA) +diff --git a/configure b/configure +index 6c4d27f..0a4dfb7 100755 +--- a/configure ++++ b/configure +@@ -13662,12 +13662,12 @@ if test -n "$RSVG_CONVERT_CFLAGS"; then + pkg_cv_RSVG_CONVERT_CFLAGS="$RSVG_CONVERT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 gdk-pixbuf-2.0 cairo pangocairo\""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "gio-2.0 gdk-pixbuf-2.0 cairo pangocairo") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_RSVG_CONVERT_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>/dev/null` ++ pkg_cv_RSVG_CONVERT_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -13679,12 +13679,12 @@ if test -n "$RSVG_CONVERT_LIBS"; then + pkg_cv_RSVG_CONVERT_LIBS="$RSVG_CONVERT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo") 2>&5 ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 gdk-pixbuf-2.0 cairo pangocairo\""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "gio-2.0 gdk-pixbuf-2.0 cairo pangocairo") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- pkg_cv_RSVG_CONVERT_LIBS=`$PKG_CONFIG --libs "gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>/dev/null` ++ pkg_cv_RSVG_CONVERT_LIBS=`$PKG_CONFIG --libs "gio-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes + else + pkg_failed=yes +@@ -13705,14 +13705,14 @@ else + _pkg_short_errors_supported=no + fi + if test $_pkg_short_errors_supported = yes; then +- RSVG_CONVERT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>&1` ++ RSVG_CONVERT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gio-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>&1` + else +- RSVG_CONVERT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>&1` ++ RSVG_CONVERT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gio-2.0 gdk-pixbuf-2.0 cairo pangocairo" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$RSVG_CONVERT_PKG_ERRORS" >&5 - /* FIXME portability */ -+#ifndef __MINGW32__ - cpath = canonicalize_file_name (path); -+#else -+ cpath = path; -+#endif - g_free (path); +- as_fn_error $? "Package requirements (gio-2.0 gio-unix-2.0 gdk-pixbuf-2.0 cairo pangocairo) were not met: ++ as_fn_error $? "Package requirements (gio-2.0 gdk-pixbuf-2.0 cairo pangocairo) were not met: - if (cpath == NULL) + $RSVG_CONVERT_PKG_ERRORS + +-- +1.8.3.2 + diff --git a/src/librsvg.mk b/src/librsvg.mk index 4bdc193..b51d6e3 100644 --- a/src/librsvg.mk +++ b/src/librsvg.mk @@ -3,8 +3,8 @@ PKG := librsvg $(PKG)_IGNORE := -$(PKG)_VERSION := 2.40.1 -$(PKG)_CHECKSUM := abbfed10433b26e88f18fe62a9b84d48fc00b9e1 +$(PKG)_VERSION := 2.40.4 +$(PKG)_CHECKSUM := 840f1d56c1dc9dfe291049dfc9e46da0d1915bf3 $(PKG)_SUBDIR := librsvg-$($(PKG)_VERSION) $(PKG)_FILE := librsvg-$($(PKG)_VERSION).tar.xz $(PKG)_URL := http://ftp.gnome.org/pub/GNOME/sources/librsvg/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE) -- cgit v0.12