From 1c8bc4fc0c710a51aa8aa75aeb916d2abbcb3d7f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Diego=20Elio=20Petten=C3=B2?= Date: Fri, 21 May 2010 16:54:25 +0000 Subject: [PATCH] Solve bug #320545 in the least hacky way: disable --no-undefined for the Ruby-Gnome2 bindings. Unfortunately they rely on a partially-undefined behaviour, let's just hope they'll never come giving us trouble for this. Also avoid using cp -a (non-portable) for installing samples, use insinto/doins instead. --- eclass/ruby-ng-gnome2.eclass | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass index ca0165e1a125..51eb6b16537b 100644 --- a/eclass/ruby-ng-gnome2.eclass +++ b/eclass/ruby-ng-gnome2.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng-gnome2.eclass,v 1.1 2010/01/13 18:33:32 graaff Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng-gnome2.eclass,v 1.2 2010/05/21 16:54:25 flameeyes Exp $ # # @ECLASS: ruby-ng-gnome2.eclass # @MAINTAINER: @@ -34,6 +34,13 @@ each_ruby_configure() { # @DESCRIPTION: # Compile the C bindings in the subbinding for each specific ruby target. each_ruby_compile() { + # We have injected --no-undefined in Ruby as a safety precaution + # against broken ebuilds, but the Ruby-Gnome bindings + # unfortunately rely on the lazy load of other extensions; see bug + # #320545. + find . -name Makefile -print0 | xargs -0 \ + sed -i -e 's:-Wl,--no-undefined ::' || die "--no-undefined removal failed" + emake || die "emake failed" } @@ -55,7 +62,7 @@ all_ruby_install() { [ -s "$doc" ] && dodoc $doc done if [[ -d sample ]]; then - dodir /usr/share/doc/${PF} - cp -a sample "${D}"/usr/share/doc/${PF} || die "cp failed" + insinto /usr/share/doc/${PF} + doins -r sample || die "sample install failed" fi } -- 2.26.2