summaryrefslogtreecommitdiffstats
path: root/eclass/rusxmms-plugin.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/rusxmms-plugin.eclass')
-rw-r--r--eclass/rusxmms-plugin.eclass122
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