I'd like to request feedback on the attached new ruby-ng-gnome2.eclass.
This eclass supersedes the current ruby-gnome2 eclass. It builds on
ruby-ng.eclass and is used to install the various components and
bindings of the ruby-gnome2 project.
This eclass fixes https://bugs.gentoo.org/show_bug.cgi?id=278012 (can't
install ruby-gnome2 for ruby targets other than Ruby 1.8.
Kind regards,
Hans
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
#
# @ECLASS: ruby-ng-gnome2.eclass
# @MAINTAINER:
# Ruby herd <ruby@gentoo.org>
#
# Author: Hans de Graaff <graaff@gentoo.org>
#
# @BLURB:
# This eclass simplifies installation of the various pieces of
# ruby-gnome2 since they share a very common installation procedure.
# @FUNCTION: each_ruby_configure
# @DESCRIPTION:
# Run the configure script in the subbinding for each specific ruby target.
each_ruby_configure() {
${RUBY} extconf.rb || die "extconf.rb failed"
}
# @FUNCTION: each_ruby_compile
# @DESCRIPTION:
# Compile the C bindings in the subbinding for each specific ruby target.
each_ruby_compile() {
emake || die "emake failed"
}
# @FUNCTION: each_ruby_install
# @DESCRIPTION:
# Install the files in the subbinding for each specific ruby target.
each_ruby_install() {
# Create the directories, or the package will create them as files.
dodir $(${RUBY} -r rbconfig -e 'print Config::CONFIG["sitearchdir"]') /usr/$(get_libdir)/pkgconfig
emake DESTDIR="${D}" install || die "make install failed"
}
# @FUNCTION: all_ruby_install
# @DESCRIPTION:
# Install the files common to all ruby targets.
all_ruby_install() {
for doc in ../AUTHORS ../NEWS ChangeLog README; do
[ -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"
fi
}