# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: # # Jeremy Huddleston # 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