summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/librsvg
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/librsvg')
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/gtk-option.patch59
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/vapigen.m496
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.40.1.bb55
3 files changed, 210 insertions, 0 deletions
diff --git a/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch b/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch
new file mode 100644
index 0000000..9185041
--- /dev/null
+++ b/meta/recipes-gnome/librsvg/librsvg/gtk-option.patch
@@ -0,0 +1,59 @@
1From 18917f7fd3160afe06019f4b6234aeb78a3fdb4e Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Tue, 19 Nov 2013 16:00:29 +0000
4Subject: [PATCH] configure: add option to enable/disable use of GTK+
5
6Distro packagers like predictability and automatically detected optional
7dependencies are not predicable. Add a --with-gtk3 option (default to "auto")
8for forcibly controlling whether GTK+ will be used or not.
9
10Signed-off-by: Ross Burton <ross.burton@intel.com>
11
12https://bugzilla.gnome.org/show_bug.cgi?id=712693
13---
14 configure.in | 17 +++++++++++------
15 1 file changed, 11 insertions(+), 6 deletions(-)
16
17diff --git a/configure.in b/configure.in
18index f7a89dc..1498f72 100644
19--- a/configure.in
20+++ b/configure.in
21@@ -119,17 +119,22 @@ AC_CHECK_FUNCS(strtok_r)
22 # GTK
23 # ===========================================================================
24
25-PKG_CHECK_MODULES([GTK3],[gtk+-3.0 >= $GTK3_REQUIRED],[have_gtk_3=yes],[have_gtk_3=no])
26-
27 GTK3_BINARY_VERSION=
28
29-if test "$have_gtk_3" = "yes"; then
30- GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`"
31+AC_MSG_CHECKING([whether to use GTK+ 3])
32+AC_ARG_WITH([gtk3],
33+ [AS_HELP_STRING([--without-gtk3],[Don't build GTK+3 tools (default=auto)])],
34+ [],[PKG_CHECK_EXISTS([gtk+-3.0 >= $GTK3_REQUIRED],[with_gtk3=yes],[with_gtk3=no])])
35+AC_MSG_RESULT([$with_gtk3])
36+
37+if test "$with_gtk3" = "yes"; then
38+ PKG_CHECK_MODULES(GTK3, [gtk+-3.0 >= $GTK3_REQUIRED])
39+ GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`"
40 fi
41
42 AC_SUBST([GTK3_BINARY_VERSION])
43
44-AM_CONDITIONAL([HAVE_GTK_3],[test "$have_gtk_3" = "yes"])
45+AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk3" = "yes"])
46
47 dnl ===========================================================================
48 dnl GDK-Pixbuf SVG loader
49@@ -305,6 +310,6 @@ librsvg-$VERSION
50 Build introspectable bindings: ${found_introspection}
51 Build Vala bindings: ${enable_vala}
52 Build GdkPixbuf loader: ${enable_pixbuf_loader}
53- GTK 3.0: ${have_gtk_3}
54+ GTK 3.0: ${with_gtk3}
55 Build miscellaenous tools: ${build_misc_tools}
56 "
57--
581.7.10.4
59
diff --git a/meta/recipes-gnome/librsvg/librsvg/vapigen.m4 b/meta/recipes-gnome/librsvg/librsvg/vapigen.m4
new file mode 100644
index 0000000..f2df12f
--- /dev/null
+++ b/meta/recipes-gnome/librsvg/librsvg/vapigen.m4
@@ -0,0 +1,96 @@
1dnl vapigen.m4
2dnl
3dnl Copyright 2012 Evan Nemerson
4dnl
5dnl This library is free software; you can redistribute it and/or
6dnl modify it under the terms of the GNU Lesser General Public
7dnl License as published by the Free Software Foundation; either
8dnl version 2.1 of the License, or (at your option) any later version.
9dnl
10dnl This library is distributed in the hope that it will be useful,
11dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13dnl Lesser General Public License for more details.
14dnl
15dnl You should have received a copy of the GNU Lesser General Public
16dnl License along with this library; if not, write to the Free Software
17dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
19# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND-INTROSPECTION], [DEFAULT])
20# --------------------------------------
21# Check vapigen existence and version
22#
23# See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation
24AC_DEFUN([VAPIGEN_CHECK],
25[
26 AC_BEFORE([GOBJECT_INTROSPECTION_CHECK],[$0])
27 AC_BEFORE([GOBJECT_INTROSPECTION_REQUIRE],[$0])
28
29 AC_ARG_ENABLE([vala],
30 [AS_HELP_STRING([--enable-vala[=@<:@no/auto/yes@:>@]],[build Vala bindings @<:@default=]ifelse($4,,auto,$4)[@:>@])],,[
31 AS_IF([test "x$4" = "x"], [
32 enable_vala=auto
33 ], [
34 enable_vala=$4
35 ])
36 ])
37
38 AS_CASE([$enable_vala], [no], [enable_vala=no],
39 [yes], [
40 AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
41 AC_MSG_ERROR([Vala bindings require GObject Introspection])
42 ])
43 ], [auto], [
44 AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
45 enable_vala=no
46 ])
47 ], [
48 AC_MSG_ERROR([Invalid argument passed to --enable-vala, should be one of @<:@no/auto/yes@:>@])
49 ])
50
51 AS_IF([test "x$2" = "x"], [
52 vapigen_pkg_name=vapigen
53 ], [
54 vapigen_pkg_name=vapigen-$2
55 ])
56 AS_IF([test "x$1" = "x"], [
57 vapigen_pkg="$vapigen_pkg_name"
58 ], [
59 vapigen_pkg="$vapigen_pkg_name >= $1"
60 ])
61
62 PKG_PROG_PKG_CONFIG
63
64 PKG_CHECK_EXISTS([$vapigen_pkg], [
65 AS_IF([test "$enable_vala" = "auto"], [
66 enable_vala=yes
67 ])
68 ], [
69 AS_CASE([$enable_vala], [yes], [
70 AC_MSG_ERROR([$vapigen_pkg not found])
71 ], [auto], [
72 enable_vala=no
73 ])
74 ])
75
76 AC_MSG_CHECKING([for vala])
77
78 AS_CASE([$enable_vala],
79 [yes], [
80 VAPIGEN=`$PKG_CONFIG --variable=vapigen vapigen`
81 VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir vapigen`/vala/Makefile.vapigen
82 AS_IF([test "x$2" = "x"], [
83 VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir vapigen`
84 ], [
85 VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir_versioned vapigen`
86 ])
87 ])
88
89 AC_MSG_RESULT([$enable_vala])
90
91 AC_SUBST([VAPIGEN])
92 AC_SUBST([VAPIGEN_VAPIDIR])
93 AC_SUBST([VAPIGEN_MAKEFILE])
94
95 AM_CONDITIONAL(ENABLE_VAPIGEN, test "x$enable_vala" = "xyes")
96])
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.40.1.bb b/meta/recipes-gnome/librsvg/librsvg_2.40.1.bb
new file mode 100644
index 0000000..7b97df5
--- /dev/null
+++ b/meta/recipes-gnome/librsvg/librsvg_2.40.1.bb
@@ -0,0 +1,55 @@
1SUMMARY = "Library for rendering SVG files"
2HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/librsvg/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
7 file://rsvg.h;beginline=3;endline=24;md5=20b4113c4909bbf0d67e006778302bc6"
8
9SECTION = "x11/utils"
10DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango"
11BBCLASSEXTEND = "native"
12
13inherit autotools pkgconfig gnomebase gtk-doc pixbufcache
14
15GNOME_COMPRESS_TYPE = "xz"
16
17SRC_URI += "file://gtk-option.patch \
18 file://vapigen.m4"
19
20SRC_URI[archive.md5sum] = "a31eb5d66c3fe94d888a6b17a287ea42"
21SRC_URI[archive.sha256sum] = "8813b4fe776d5e7acbce28bacbaed30ccb0cec3734eb3632c711a16ebe2961d7"
22
23EXTRA_OECONF = "--disable-introspection --disable-vala"
24
25PACKAGECONFIG ??= "gdkpixbuf"
26# The gdk-pixbuf loader
27PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
28# GTK+ test application (rsvg-view)
29PACKAGECONFIG[gtk] = "--with-gtk3,--without-gtk3,gtk+3"
30
31# The tarball doesn't ship with macros, so drop a vapigen in there so we don't
32# need to build vala to configure.
33do_configure_prepend() {
34 if test ! -e ${S}/m4/vapigen.m4; then
35 mkdir --parents ${S}/m4
36 mv ${WORKDIR}/vapigen.m4 ${S}/m4/
37 fi
38}
39
40do_install_append() {
41 # Loadable modules don't need .a or .la on Linux
42 rm -f ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.a ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.la
43}
44
45PACKAGES =+ "librsvg-gtk rsvg"
46FILES_${PN} = "${libdir}/*.so.*"
47FILES_${PN}-dbg += "${libdir}/gdk-pixbuf-2.0/*/loaders/.debug"
48FILES_rsvg = "${bindir}/rsvg* \
49 ${datadir}/pixmaps/svg-viewer.svg \
50 ${datadir}/themes"
51FILES_librsvg-gtk = "${libdir}/gdk-pixbuf-2.0/*/*/*.so"
52
53PIXBUF_PACKAGES = "librsvg-gtk"
54
55PIXBUFCACHE_SYSROOT_DEPS_append_class-native = " harfbuzz-native:do_populate_sysroot_setscene pango-native:do_populate_sysroot_setscene icu-native:do_populate_sysroot_setscene"