/[gentoo-x86]/eclass/ruby-ng-gnome2.eclass
Gentoo

Diff of /eclass/ruby-ng-gnome2.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.14
1# Copyright 1999-2010 Gentoo Foundation 1# Copyright 1999-2011 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng-gnome2.eclass,v 1.1 2010/01/13 18:33:32 graaff Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng-gnome2.eclass,v 1.14 2011/10/21 06:31:39 graaff Exp $
4# 4
5# @ECLASS: ruby-ng-gnome2.eclass 5# @ECLASS: ruby-ng-gnome2.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Ruby herd <ruby@gentoo.org> 7# Ruby herd <ruby@gentoo.org>
8# 8# @AUTHOR:
9# Author: Hans de Graaff <graaff@gentoo.org> 9# Author: Hans de Graaff <graaff@gentoo.org>
10# 10# @BLURB: An eclass to simplify handling of various ruby-gnome2 parts.
11# @BLURB: 11# @DESCRIPTION:
12# This eclass simplifies installation of the various pieces of 12# This eclass simplifies installation of the various pieces of
13# ruby-gnome2 since they share a very common installation procedure. 13# ruby-gnome2 since they share a very common installation procedure.
14 14
15inherit ruby-ng multilib 15RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN#ruby-}}"
16RUBY_FAKEGEM_TASK_TEST=""
17RUBY_FAKEGEM_TASK_DOC=""
18
19inherit ruby-fakegem multilib versionator
16 20
17IUSE="" 21IUSE=""
18 22
19subbinding=${PN#ruby-} ; subbinding=${subbinding%2} 23# Define EPREFIX if needed
24has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
25
26subbinding=${PN#ruby-}
27if [ $(get_version_component_range "1-2") == "0.19" ]; then
28 subbinding=${subbinding/%2}
29else
30 subbinding=${subbinding/-/_}
31 DEPEND="dev-util/pkgconfig"
32 ruby_add_bdepend "dev-ruby/pkg-config"
33fi
20S=${WORKDIR}/ruby-gnome2-all-${PV}/${subbinding} 34S=${WORKDIR}/ruby-gnome2-all-${PV}/${subbinding}
21SRC_URI="mirror://sourceforge/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz" 35SRC_URI="mirror://sourceforge/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
22HOMEPAGE="http://ruby-gnome2.sourceforge.jp/" 36HOMEPAGE="http://ruby-gnome2.sourceforge.jp/"
23LICENSE="Ruby" 37LICENSE="Ruby"
24SLOT="0" 38SLOT="0"
32 46
33# @FUNCTION: each_ruby_compile 47# @FUNCTION: each_ruby_compile
34# @DESCRIPTION: 48# @DESCRIPTION:
35# Compile the C bindings in the subbinding for each specific ruby target. 49# Compile the C bindings in the subbinding for each specific ruby target.
36each_ruby_compile() { 50each_ruby_compile() {
51 # We have injected --no-undefined in Ruby as a safety precaution
52 # against broken ebuilds, but the Ruby-Gnome bindings
53 # unfortunately rely on the lazy load of other extensions; see bug
54 # #320545.
55 find . -name Makefile -print0 | xargs -0 \
56 sed -i -e 's:-Wl,--no-undefined ::' \
57 -e "s/^ldflags = /ldflags = $\(LDFLAGS\) /" \
58 || die "--no-undefined removal failed"
59
37 emake || die "emake failed" 60 emake || die "emake failed"
38} 61}
39 62
40# @FUNCTION: each_ruby_install 63# @FUNCTION: each_ruby_install
41# @DESCRIPTION: 64# @DESCRIPTION:
42# Install the files in the subbinding for each specific ruby target. 65# Install the files in the subbinding for each specific ruby target.
43each_ruby_install() { 66each_ruby_install() {
44 # Create the directories, or the package will create them as files. 67 # Create the directories, or the package will create them as files.
45 dodir $(${RUBY} -r rbconfig -e 'print Config::CONFIG["sitearchdir"]') /usr/$(get_libdir)/pkgconfig 68 local archdir=$(ruby_rbconfig_value "sitearchdir")
69 dodir ${archdir#${EPREFIX}} /usr/$(get_libdir)/pkgconfig
46 70
47 emake DESTDIR="${D}" install || die "make install failed" 71 emake DESTDIR="${D}" install || die "make install failed"
72
73 each_fakegem_install
48} 74}
49 75
50# @FUNCTION: all_ruby_install 76# @FUNCTION: all_ruby_install
51# @DESCRIPTION: 77# @DESCRIPTION:
52# Install the files common to all ruby targets. 78# Install the files common to all ruby targets.
53all_ruby_install() { 79all_ruby_install() {
54 for doc in ../AUTHORS ../NEWS ChangeLog README; do 80 for doc in ../AUTHORS ../NEWS ChangeLog README; do
55 [ -s "$doc" ] && dodoc $doc 81 [ -s "$doc" ] && dodoc $doc
56 done 82 done
57 if [[ -d sample ]]; then 83 if [[ -d sample ]]; then
58 dodir /usr/share/doc/${PF} 84 insinto /usr/share/doc/${PF}
59 cp -a sample "${D}"/usr/share/doc/${PF} || die "cp failed" 85 doins -r sample || die "sample install failed"
60 fi 86 fi
87
88 all_fakegem_install
61} 89}

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.20