diff options
Diffstat (limited to 'eclass/rusxmms-plugin.eclass')
-rw-r--r-- | eclass/rusxmms-plugin.eclass | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/eclass/rusxmms-plugin.eclass b/eclass/rusxmms-plugin.eclass new file mode 100644 index 0000000..cd16832 --- /dev/null +++ b/eclass/rusxmms-plugin.eclass @@ -0,0 +1,122 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: +# +# Jeremy Huddleston <eradicator@gentoo.org> + +# Usage: +# This eclass is used to create ebuilds for xmms plugins which are contained +# within the main xmms tarball. Usage: + +# PATCH_VER: +# M4_VER: +# GENTOO_URI: +GENTOO_URI=${GENTOO_URI-"http://dside.dyndns.org/files/rusxmms"} +# Set this variable if you want to use a gentoo specific patchset. This adds +# ${GENTOO_URI}/xmms-${PV}-gentoo-patches-${PATCH_VER}.tar.bz2 to the SRC_URI + +# PLUGIN_PATH: +# Set this variable to the plugin location you want to build. +# Example: +# PLUGIN_PATH="Input/mpg123" + +# SONAME: +# Set this variable to the filename of the plugin that is copied over +# Example: +# SONAME="libmpg123.so" + +inherit eutils + +DESCRIPTION="Xmms Plugin: ${PN}" +HOMEPAGE="http://www.xmms.org" +LICENSE="GPL-2" + +SRC_URI="http://www.xmms.org/files/1.2.x/xmms-${PV}.tar.bz2 + http://dside.dyndns.org/files/rusxmms/RusXMMS2-csa${RUSXMMS_VER}.tar.bz2 + http://dside.dyndns.org/files/rusxmms/xmms-1.2.10-gentoo-m4-${M4_VER}.tar.bz2 + http://dside.dyndns.org/files/rusxmms/xmms-${PV}-gentoo-patches-${PATCH_VER}.tar.bz2" + +# Set S to something which exists +S="${WORKDIR}/xmms-${PV}" + +IUSE="${IUSE} rcc" +RDEPEND="${RDEPEND+${RDEPEND}}${RDEPEND-${DEPEND}}" +DEPEND="${DEPEND} + =sys-devel/automake-1.7* + sys-devel/autoconf + sys-devel/libtool + rcc? ( app-i18n/librcc )" + + +rusxmms-plugin_src_unpack() { + if ! has_version '>=media-sound/xmms-1.2.10-r13'; then + ewarn "You don't have >=media-sound/xmms-1.2.10-r13, so we are using the SDK in" + ewarn "this package rather that the one installed on your system. It is recommended" + ewarn "that you cancel this emerge and grab >=media-sound/xmms-1.2.10-r13 first." + epause 5 + fi + + unpack ${A} + + cd ${S} + + if [[ ${PV} != *1.2.10* ]]; then + use rcc && ../RusXMMS2/apply.sh + fi + + if [[ -n "${PATCH_VER}" ]]; then + EPATCH_SUFFIX="patch" + epatch ${WORKDIR}/patches + fi + + cd ${S}/${PLUGIN_PATH} + sed -i -e "s:-I\$(top_srcdir)::g" \ + -e "s:\$(top_builddir)/libxmms/libxmms.la:/usr/$(get_libdir)/libxmms.la:g" \ + Makefile.am || die "Failed to edit Makefile.am" + + cd ${S} + + if [[ ${PV} == *1.2.10* ]]; then + use rcc && ../RusXMMS2/apply-gentoo.sh + + export WANT_AUTOMAKE=1.7 + export WANT_AUTOCONF=2.5 + fi + + libtoolize --force --copy || die "libtoolize --force --copy failed" + + if [[ -n "${M4_VER}" ]]; then + rm acinclude.m4 + aclocal -I ${WORKDIR}/m4 || die "aclocal failed" + else + aclocal || die "aclocal failed" + fi + autoheader || die "autoheader failed" + automake --gnu --add-missing --include-deps --force-missing --copy || die "automake failed" + + cd ${S}/${PLUGIN_PATH} + if has_version '>=media-sound/xmms-1.2.10-r13'; then + sed -i -e "s:^DEFAULT_INCLUDES = .*$:DEFAULT_INCLUDES = -I. $(xmms-config --cflags):" \ + Makefile.in || die "Failed to edit Makefile.in" + fi + + cd ${S} + autoconf || die "autoconf failed" +} + +rusxmms-plugin_src_compile() { + filter-flags -fforce-addr -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE + + econf ${myconf} + cp config.h ${S}/${PLUGIN_PATH} + + cd ${S}/${PLUGIN_PATH} + emake -j1 || die +} + +rusxmms-plugin_src_install() { + cd ${S}/${PLUGIN_PATH} + make DESTDIR="${D}" install || die +} + +EXPORT_FUNCTIONS src_unpack src_compile src_install |