diff options
author | Nick Hadaway <raker@gentoo.org> | 2003-07-28 02:22:24 +0000 |
---|---|---|
committer | Nick Hadaway <raker@gentoo.org> | 2003-07-28 02:22:24 +0000 |
commit | ca890971ec303cbc8a8a2987872655f116dbf857 (patch) | |
tree | 8146901e2ecd74da5957f21583a3b314a935d270 /media-sound/xmms | |
parent | add a diskwriter plugin patch (diff) | |
download | gentoo-2-ca890971ec303cbc8a8a2987872655f116dbf857.tar.gz gentoo-2-ca890971ec303cbc8a8a2987872655f116dbf857.tar.bz2 gentoo-2-ca890971ec303cbc8a8a2987872655f116dbf857.zip |
add a diskwriter plugin patch
Diffstat (limited to 'media-sound/xmms')
-rw-r--r-- | media-sound/xmms/ChangeLog | 9 | ||||
-rw-r--r-- | media-sound/xmms/Manifest | 4 | ||||
-rw-r--r-- | media-sound/xmms/files/digest-xmms-1.2.7-r24 | 2 | ||||
-rw-r--r-- | media-sound/xmms/files/xmms-diskwriter-audio.patch | 35 | ||||
-rw-r--r-- | media-sound/xmms/xmms-1.2.7-r24.ebuild | 187 |
5 files changed, 234 insertions, 3 deletions
diff --git a/media-sound/xmms/ChangeLog b/media-sound/xmms/ChangeLog index ebd9ea309474..c7f877288830 100644 --- a/media-sound/xmms/ChangeLog +++ b/media-sound/xmms/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-sound/xmms # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms/ChangeLog,v 1.58 2003/07/22 23:00:12 gmsoft Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms/ChangeLog,v 1.59 2003/07/28 02:22:19 raker Exp $ + +*xmms-1.2.7-r24 (28 Jul 2003) + + 28 Jul 2003; Nick Hadaway <raker@gentoo.org> xmms-1.2.7-r24.ebuild, + files/xmms-diskwriter-audio.patch: + Adds a patch for running audio through output effect plugins + before recording to disk with the diskwriter plugin. See bug #25380. 18 Jul 2003; Seemant Kulleen <seemant@gentoo.org> xmms-1.2.7-r23.ebuild: gettext patch only applied if gettext-0.12 or greater is installed diff --git a/media-sound/xmms/Manifest b/media-sound/xmms/Manifest index 5fbe972c88c8..7b913b2f70c8 100644 --- a/media-sound/xmms/Manifest +++ b/media-sound/xmms/Manifest @@ -2,8 +2,8 @@ MD5 5618f4d14fd98b813b7be2b4df0087e7 xmms-1.2.7-r21.ebuild 4830 MD5 38f3c86b97d6c40051d4964d1994bcff xmms-1.2.7-r23.ebuild 5233 MD5 9babb98a35c1c40729cdede9bd3588a3 xmms-1.2.7-r20.ebuild 4960 MD5 90740c69a0e1cdd3a65b037af5fe8a5a xmms-1.2.7-r22.ebuild 4989 -MD5 fe0fc77c8f5fc4abad82b6aeff3af96e xmms-1.2.7-r24.ebuild 5349 -MD5 23e66c69baea4f23fe9a0474e12c5268 ChangeLog 10889 +MD5 bdd53d025963ea79c56c4edd097044a2 xmms-1.2.7-r24.ebuild 5472 +MD5 6829972053892f6e0a13f4b4c235c491 ChangeLog 11162 MD5 e7e0c91780b115aaad1a1ed534bf7ae8 files/xmms-ipv6-20020408-mmx.patch 9210 MD5 7ab233f0953be4760d3e5b784cc0bba4 files/xmms-fhs-skinsdir.patch 372 MD5 3268d7f38e954fd7ab541fa9e6f385ca files/digest-xmms-1.2.7-r20 130 diff --git a/media-sound/xmms/files/digest-xmms-1.2.7-r24 b/media-sound/xmms/files/digest-xmms-1.2.7-r24 new file mode 100644 index 000000000000..89cc7eba5fd4 --- /dev/null +++ b/media-sound/xmms/files/digest-xmms-1.2.7-r24 @@ -0,0 +1,2 @@ +MD5 8aa14a305d1eeb1bb53dba2197ba695a xmms-1.2.7.tar.gz 2860908 +MD5 daea40648c3ae296597dcd3e78500279 xmms-1.2.7-mmx.patch.gz 14990 diff --git a/media-sound/xmms/files/xmms-diskwriter-audio.patch b/media-sound/xmms/files/xmms-diskwriter-audio.patch new file mode 100644 index 000000000000..d752dde70d72 --- /dev/null +++ b/media-sound/xmms/files/xmms-diskwriter-audio.patch @@ -0,0 +1,35 @@ +diff -urN xmms-1.2.7/Output/disk_writer/disk_writer.c xmms-1.2.7-modified/Output/disk_writer/disk_writer.c +--- xmms-1.2.7/Output/disk_writer/disk_writer.c 2002-01-08 08:09:07.000000000 -0600 ++++ xmms-1.2.7-modified/Output/disk_writer/disk_writer.c 2003-07-27 20:36:59.000000000 -0500 +@@ -56,6 +56,8 @@ + static struct wavhead header; + static guint64 written = 0; + static AFormat afmt; ++static gint arate, anch; ++static EffectPlugin *ep; + gint ctrlsocket_get_session_id(void); /* FIXME */ + + static void disk_init(void); +@@ -121,6 +123,12 @@ + + written = 0; + afmt = fmt; ++ arate = rate; ++ anch = nch; ++ if (effects_enabled()) ++ ep = get_current_effect_plugin(); ++ else ++ ep = NULL; + + if (xmms_check_realtime_priority()) + { +@@ -234,6 +242,9 @@ + + static void disk_write(void *ptr, gint length) + { ++ if (ep) ++ length = ep->mod_samples(&ptr, length, afmt, arate, anch); ++ + #ifdef WORDS_BIGENDIAN + if (afmt == FMT_S8 || afmt == FMT_S16_BE || afmt == FMT_S16_NE || afmt == FMT_U16_LE || afmt == FMT_U16_BE || afmt == FMT_U16_NE) + #else diff --git a/media-sound/xmms/xmms-1.2.7-r24.ebuild b/media-sound/xmms/xmms-1.2.7-r24.ebuild new file mode 100644 index 000000000000..55c834cb946d --- /dev/null +++ b/media-sound/xmms/xmms-1.2.7-r24.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms/xmms-1.2.7-r24.ebuild,v 1.1 2003/07/28 02:22:19 raker Exp $ + +IUSE="xml nls esd gnome opengl mmx oggvorbis 3dnow mikmod directfb ipv6 cjk" + +inherit libtool flag-o-matic eutils +filter-flags -fforce-addr -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE + +DESCRIPTION="X MultiMedia System" +SRC_URI="http://www.xmms.org/files/1.2.x/${P}.tar.gz + mmx? ( http://members.jcom.home.ne.jp/jacobi/linux/etc/${P}-mmx.patch.gz )" +HOMEPAGE="http://www.xmms.org/" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~ppc ~sparc ~alpha ~hppa" + +DEPEND="app-arch/unzip + =x11-libs/gtk+-1.2* + mikmod? ( >=media-libs/libmikmod-3.1.6 ) + esd? ( >=media-sound/esound-0.2.22 ) + xml? ( >=dev-libs/libxml-1.8.15 ) + gnome? ( <gnome-base/gnome-panel-1.5.0 ) + opengl? ( virtual/opengl ) + oggvorbis? ( >=media-libs/libvorbis-1.0_beta4 )" +RDEPEND="${DEPEND} + directfb? ( dev-libs/DirectFB ) + nls? ( dev-util/intltool )" + +src_unpack() { + unpack ${P}.tar.gz + cd ${S} + + # Patch to allow external programmes to have the "jump to" dialog box + epatch ${FILESDIR}/xmms-jump.patch + + # Save playlist, etc on SIGTERM and SIGINT, bug #13604. + epatch ${FILESDIR}/xmms-sigterm.patch + + # The following optimisations are ONLY for x86 platform + if [ `use x86` ] ; then + # For mmx/3dnow enabled CPUs, this patch adds mmx/3dnow optimisations + # + # ( use mmx || use 3dnow ) && \ + # cat ${DISTDIR}/${P}-mmx.patch.gz | gunzip -c | patch -p1 || die + # + # For you guys who favour this kind of USE flag checking ... this + # is exactly why I do NOT like it, because the actual + # "cat ${DISTDIR}/${P}-mmx.patch.gz | gunzip -c | patch -p1 || die" + # was not in a subshell, it would ALWAYS fail to build if "mmx" or + # "3dnow" was not in USE, because of the || die at the end. So + # PLEASE, PLEASE test things with all possible USE flags if you use + # this style!!!! Then, if in a subshell, it do not detect if the + # command fails :/ + # + # Azarah - 30 Jun 2002 + # + if use mmx || use 3dnow + then + epatch ${DISTDIR}/${P}-mmx.patch.gz + use ipv6 && epatch ${FILESDIR}/xmms-ipv6-20020408-mmx.patch + else + use ipv6 && epatch ${FILESDIR}/xmms-ipv6-20020408-nommx.patch + fi + else + use ipv6 && epatch ${FILESDIR}/xmms-ipv6-20020408-nommx.patch + fi + + # Patch for mpg123 to convert Japanese character code of MP3 tag info + # the Japanese patch and the Russian one overlap, so its one or the other + if use cjk; then + epatch ${FILESDIR}/${P}-mpg123j.patch + else + # add russian charset support + epatch ${FILESDIR}/xmms-russian-charset.patch + fi + + if [ ! -f ${S}/config.rpath ] ; then + touch ${S}/config.rpath + chmod +x ${S}/config.rpath + fi + + # Add /usr/local/share/xmms/Skins to the search path for skins + epatch ${FILESDIR}/${PN}-fhs-skinsdir.patch + + # We run automake and autoconf here else we get a lot of warning/errors. + # I have tested this with gcc-2.95.3 and gcc-3.1. + elibtoolize + + if use nls; then + if has_version '>=sys-devel/gettext-0.12'; then + epatch ${FILESDIR}/${PN}-gettext-fix.patch + fi + fi + + # This patch passes audio output through the output plugin + # before recording via the diskwriter plugin + # http://forum.xmms.org/viewtopic.php?t=500&sid=c286e1c01fb924a2f81f519969f33764 + epatch ${FILESDIR}/xmms-diskwriter-audio.patch + + echo ">>> Reconfiguring..." + for x in ${S} ${S}/libxmms + do + cd ${x} + aclocal + export WANT_AUTOCONF_2_5=1 + automake --gnu --add-missing --include-deps Makefile || die + autoconf || die + done +} + +src_compile() { + local myconf="" + + use 3dnow || use mmx \ + && myconf="${myconf} --enable-simd" \ + || myconf="${myconf} --disable-simd" + + use xml \ + || myconf="${myconf} --disable-cdindex" + + econf \ + --with-dev-dsp=/dev/sound/dsp \ + --with-dev-mixer=/dev/sound/mixer \ + `use_with gnome` \ + `use_enable oggvorbis vorbis` \ + `use_enable oggvorbis oggtest` \ + `use_enable oggvorbis vorbistest` \ + `use_with oggvorbis ogg` \ + `use_enable esd` \ + `use_enable esd esdtest` \ + `use_enable mikmod` \ + `use_enable mikmod mikmodtest` \ + `use_with mikmod libmikmod` \ + `use_enable opengl` \ + `use_enable nls` \ + `use_enable ipv6` \ + ${myconf} || die + + ### emake seems to break some compiles, please keep @ make + make || die +} + +src_install() { + make prefix=${D}/usr \ + datadir=${D}/usr/share \ + incdir=${D}/usr/include \ + infodir=${D}/usr/share/info \ + localstatedir=${D}/var/lib \ + mandir=${D}/usr/share/man \ + sysconfdir=${D}/etc \ + sysdir=${D}/usr/share/applets/Multimedia \ + GNOME_SYSCONFDIR=${D}/etc install || die "FOO" + + dodoc AUTHORS ChangeLog COPYING FAQ NEWS README TODO + + keepdir /usr/share/xmms/Skins + insinto /usr/share/pixmaps/ + donewins gnomexmms/gnomexmms.xpm xmms.xpm + doins xmms/xmms_logo.xpm + insinto /usr/share/pixmaps/mini + doins xmms/xmms_mini.xpm + + insinto /etc/X11/wmconfig + donewins xmms/xmms.wmconfig xmms + + if [ `use gnome` ] ; then + insinto /usr/share/gnome/apps/Multimedia + doins xmms/xmms.desktop + dosed "s:xmms_mini.xpm:mini/xmms_mini.xpm:" \ + /usr/share/gnome/apps/Multimedia/xmms.desktop + else + rm ${D}/usr/share/man/man1/gnomexmms* + fi + + # causes segfaults for ppc users #10309 and after talking + # to xmms dev's, they've punted this from the src tree anyways ... + rm -rf ${D}/usr/lib/xmms/Input/libidcin.so +} + +pkg_postrm() { + if [ -x ${ROOT}/usr/bin/xmms ] && [ ! -d ${ROOT}/usr/share/xmms/Skins ] + then + mkdir -p ${ROOT}/usr/share/xmms/Skins + fi +} |