commit:     9dafd4f5e7373393f09024ec05693c6844694882
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 29 07:39:17 2018 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Mon Jan 29 07:45:37 2018 +0000
URL:        https://gitweb.gentoo.org/proj/gnome.git/commit/?id=9dafd4f5

gnome-base/librsvg: experimental rust based ebuild

While build goes just fine, lots of unit tests are broken and there is
no multilib support for now.

Requires rust >=1.20 for bundled rust packages.

 .../files/librsvg-2.40.12-gtk-optional.patch       |  58 ++++++++++++
 .../files/librsvg-2.40.2-vala-out-of-source.patch  |  28 ++++++
 gnome-base/librsvg/librsvg-2.42.1.ebuild           | 101 +++++++++++++++++++++
 gnome-base/librsvg/metadata.xml                    |  11 +++
 profiles/package.mask                              |   4 +
 5 files changed, 202 insertions(+)

diff --git a/gnome-base/librsvg/files/librsvg-2.40.12-gtk-optional.patch 
b/gnome-base/librsvg/files/librsvg-2.40.12-gtk-optional.patch
new file mode 100644
index 00000000..b7c5b852
--- /dev/null
+++ b/gnome-base/librsvg/files/librsvg-2.40.12-gtk-optional.patch
@@ -0,0 +1,58 @@
+From 18917f7fd3160afe06019f4b6234aeb78a3fdb4e Mon Sep 17 00:00:00 2001
+From: Ross Burton <[email protected]>
+Date: Tue, 19 Nov 2013 16:00:29 +0000
+Subject: [PATCH] configure: add option to enable/disable use of GTK+
+
+Distro packagers like predictability and automatically detected optional
+dependencies are not predicable.  Add a --with-gtk3 option (default to "auto")
+for forcibly controlling whether GTK+ will be used or not.
+
+Signed-off-by: Ross Burton <[email protected]>
+
+https://bugzilla.gnome.org/show_bug.cgi?id=712693
+---
+ configure.in |   17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index f7a89dc..1498f72 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -119,17 +119,22 @@ AC_CHECK_FUNCS(strtok_r)
+ # GTK
+ # ===========================================================================
+ 
+-PKG_CHECK_MODULES([GTK3],[gtk+-3.0 >= 
$GTK3_REQUIRED],[have_gtk_3=yes],[have_gtk_3=no])
+-
+ GTK3_BINARY_VERSION=
+ 
+-if test "$have_gtk_3" = "yes"; then
+-    GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`"
++AC_MSG_CHECKING([whether to use GTK+ 3])
++AC_ARG_WITH([gtk3],
++  [AS_HELP_STRING([--without-gtk3],[Don't build GTK+3 tools (default=auto)])],
++  [],[PKG_CHECK_EXISTS([gtk+-3.0 >= 
$GTK3_REQUIRED],[with_gtk3=yes],[with_gtk3=no])])
++AC_MSG_RESULT([$with_gtk3])
++
++if test "$with_gtk3" = "yes"; then
++  PKG_CHECK_MODULES(GTK3, [gtk+-3.0 >= $GTK3_REQUIRED])
++  GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`"
+ fi
+ 
+ AC_SUBST([GTK3_BINARY_VERSION])
+ 
+-AM_CONDITIONAL([HAVE_GTK_3],[test "$have_gtk_3" = "yes"])
++AM_CONDITIONAL([HAVE_GTK_3],[test "$with_gtk3" = "yes"])
+ 
+ dnl 
===========================================================================
+ dnl GDK-Pixbuf SVG loader
+@@ -305,6 +310,6 @@ librsvg-$VERSION
+       Build introspectable bindings:  ${found_introspection}
+       Build Vala bindings:            ${enable_vala}
+       Build GdkPixbuf loader:         ${enable_pixbuf_loader}
+-        GTK+ $GTK3_REQUIRED or later:           ${have_gtk_3}
++        GTK 3.0:                        ${with_gtk3}
+       Build miscellaneous tools:      ${build_misc_tools}
+ "
+-- 
+1.7.10.4
\ No newline at end of file

diff --git a/gnome-base/librsvg/files/librsvg-2.40.2-vala-out-of-source.patch 
b/gnome-base/librsvg/files/librsvg-2.40.2-vala-out-of-source.patch
new file mode 100644
index 00000000..bda09057
--- /dev/null
+++ b/gnome-base/librsvg/files/librsvg-2.40.2-vala-out-of-source.patch
@@ -0,0 +1,28 @@
+From bf4da5524d50e1068f851bcbe50c8f8ae1948d73 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
+Date: Wed, 18 Jun 2014 09:44:51 +0200
+Subject: [PATCH] build: Fix building .vapi out-of-source.
+
+Rsvg-2.0-custom.vala file resides in $(srcdir), and therefore full path
+needs to be given to vapigen. Otherwise, the build fails when build is
+performed out-of-source.
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e881100..dc6b0c9 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -257,7 +257,7 @@ VAPIGEN_VAPIS = librsvg-$(RSVG_API_VERSION).vapi
+ 
+ librsvg_@RSVG_API_VERSION_U@_vapi_DEPS = gio-2.0 cairo
+ librsvg_@RSVG_API_VERSION_U@_vapi_METADATADIRS = $(srcdir)
+-librsvg_@RSVG_API_VERSION_U@_vapi_FILES = Rsvg-$(RSVG_API_VERSION).gir 
Rsvg-$(RSVG_API_VERSION)-custom.vala
++librsvg_@RSVG_API_VERSION_U@_vapi_FILES = Rsvg-$(RSVG_API_VERSION).gir 
$(srcdir)/Rsvg-$(RSVG_API_VERSION)-custom.vala
+ 
+ vapidir = $(datadir)/vala/vapi
+ vapi_DATA = $(VAPIGEN_VAPIS)
+-- 
+2.0.0
+

diff --git a/gnome-base/librsvg/librsvg-2.42.1.ebuild 
b/gnome-base/librsvg/librsvg-2.42.1.ebuild
new file mode 100644
index 00000000..43fd2555
--- /dev/null
+++ b/gnome-base/librsvg/librsvg-2.42.1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+GNOME2_EAUTORECONF="yes"
+VALA_USE_DEPEND="vapigen"
+
+inherit gnome2 multilib-minimal vala
+
+DESCRIPTION="Scalable Vector Graphics (SVG) rendering library"
+HOMEPAGE="https://wiki.gnome.org/Projects/LibRsvg";
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~amd64 ~arm64 ~sparc ~x86"
+
+IUSE="debug +introspection tools vala"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+       >=dev-libs/glib-2.52.3:2[${MULTILIB_USEDEP}]
+       >=x11-libs/cairo-1.12.14-r4[${MULTILIB_USEDEP}]
+       >=x11-libs/pango-1.38.0[${MULTILIB_USEDEP}]
+       >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
+       >=dev-libs/libcroco-0.6.8-r1[${MULTILIB_USEDEP}]
+       >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,${MULTILIB_USEDEP}]
+       introspection? ( >=dev-libs/gobject-introspection-0.10.8:= )
+       tools? ( >=x11-libs/gtk+-3.10.0:3 )
+"
+DEPEND="${RDEPEND}
+       dev-libs/gobject-introspection-common
+       dev-libs/vala-common
+       dev-util/cargo
+       >=virtual/rust-1.20
+       >=dev-util/gtk-doc-am-1.13
+       >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+       vala? ( $(vala_depend) )
+"
+# >=gtk-doc-am-1.13, gobject-introspection-common, vala-common needed by 
eautoreconf
+
+PATCHES=(
+       # https://bugzilla.gnome.org/show_bug.cgi?id=653323
+       "${FILESDIR}"/${PN}-2.40.12-gtk-optional.patch
+
+       # https://bugzilla.gnome.org/show_bug.cgi?id=731826
+       "${FILESDIR}"/${PN}-2.40.2-vala-out-of-source.patch
+)
+
+src_prepare() {
+       use vala && vala_src_prepare
+       gnome2_src_prepare
+}
+
+multilib_src_configure() {
+       local myconf=()
+
+       # -Bsymbolic is not supported by the Darwin toolchain
+       if [[ ${CHOST} == *-darwin* ]]; then
+               myconf+=( --disable-Bsymbolic )
+       fi
+
+       # --disable-tools even when USE=tools; the tools/ subdirectory is useful
+       # only for librsvg developers
+       ECONF_SOURCE=${S} \
+       gnome2_src_configure \
+               --disable-static \
+               --disable-tools \
+               $(use_enable debug) \
+               $(multilib_native_use_enable introspection) \
+               $(multilib_native_use_with tools gtk3) \
+               $(multilib_native_use_enable vala) \
+               --enable-pixbuf-loader \
+               "${myconf[@]}"
+
+       if multilib_is_native_abi; then
+               ln -s "${S}"/doc/html doc/html || die
+       fi
+}
+
+multilib_src_compile() {
+       # causes segfault if set, see bug #411765
+       unset __GL_NO_DSO_FINALIZER
+       gnome2_src_compile
+}
+
+multilib_src_install() {
+       gnome2_src_install
+}
+
+pkg_postinst() {
+       # causes segfault if set, see bug 375615
+       unset __GL_NO_DSO_FINALIZER
+       multilib_foreach_abi gnome2_pkg_postinst
+}
+
+pkg_postrm() {
+       # causes segfault if set, see bug 375615
+       unset __GL_NO_DSO_FINALIZER
+       multilib_foreach_abi gnome2_pkg_postrm
+}

diff --git a/gnome-base/librsvg/metadata.xml b/gnome-base/librsvg/metadata.xml
new file mode 100644
index 00000000..fb664414
--- /dev/null
+++ b/gnome-base/librsvg/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<maintainer type="project">
+       <email>[email protected]</email>
+       <name>Gentoo GNOME Desktop</name>
+</maintainer>
+<use>
+       <flag name="tools">Build svg viewer tool</flag>
+</use>
+</pkgmetadata>

diff --git a/profiles/package.mask b/profiles/package.mask
index 5247ae13..390424ef 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -10,3 +10,7 @@
 # Sobhan Mohammadpour <[email protected]> (21 Dec 2017)
 # Depends on masked dev-lang/spidermonkey:52
 =dev-libs/gjs-1.50.2
+
+# Gilles Dartiguelongue <[email protected]> (29 Jan 2018)
+# Lots of unittests broken, no multilib support
+>=gnome-base/librsvg-2.41

Reply via email to