blob: fd78546145859b37a76e382ef9b8ccf65da5df3c [file] [log] [blame]
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-gnome2.eclass,v 1.16 2009/09/13 12:30:44 flameeyes Exp $
#
# This eclass simplifies installation of the various pieces of
# ruby-gnome2 since they share a very common installation procedure.
# It's possible that this could provide a foundation for a generalized
# ruby-module.eclass, but at the moment it contains some things
# specific to ruby-gnome2
# Variables:
# PATCHES Space delimited list of patch files.
inherit multilib
EXPORT_FUNCTIONS src_compile src_install src_unpack
IUSE=""
subbinding=${PN#ruby-} ; subbinding=${subbinding%2}
S=${WORKDIR}/ruby-gnome2-all-${PV}/${subbinding}
SRC_URI="mirror://sourceforge/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
HOMEPAGE="http://ruby-gnome2.sourceforge.jp/"
LICENSE="Ruby"
SLOT="0"
# This eclass can currently only deal with a single ruby version, see
# bug 278012. Since the code is know to work with Ruby 1.8 we
# hard-code it to that version for now.
DEPEND="=dev-lang/ruby-1.8*"
RDEPEND="${DEPEND}"
USE_RUBY="ruby18"
RUBY=/usr/bin/ruby18
ruby-gnome2_src_unpack() {
if [ ! -x /bin/install -a -x /usr/bin/install ]; then
cat <<END >"${T}"/mkmf.rb
require 'mkmf'
STDERR.puts 'patching mkmf'
CONFIG['INSTALL'] = '/usr/bin/install'
END
# save it because rubygems needs it (for unsetting RUBYOPT)
export GENTOO_RUBYOPT="-r${T}/mkmf.rb"
export RUBYOPT="${RUBYOPT} ${GENTOO_RUBYOPT}"
fi
unpack ${A}
cd "${S}"
# apply bulk patches
if [[ ${#PATCHES[@]} -gt 1 ]]; then
for x in "${PATCHES[@]}"; do
epatch "${x}"
done
else
for x in ${PATCHES}; do
epatch "${x}"
done
fi
}
ruby-gnome2_src_compile() {
${RUBY} extconf.rb || die "extconf.rb failed"
emake CC=${CC:-gcc} CXX=${CXX:-g++} || die "emake failed"
}
ruby-gnome2_src_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
make DESTDIR="${D}" install || die "make install failed"
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
}