1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
# 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-r18.ebuild,v 1.4 2003/02/13 13:21:49 vapier Exp $
IUSE="xml nls esd gnome opengl mmx oggvorbis 3dnow mikmod directfb ipv6"
inherit libtool flag-o-matic eutils
filter-flags "-fforce-addr"
S="${WORKDIR}/${P}"
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"
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
use x86 && ( \
# 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
)
[ ! -f ${S}/config.rpath ] && ( \
touch ${S}/config.rpath
chmod +x ${S}/config.rpath
)
# 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
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 gnome \
&& myconf="${myconf} --with-gnome" \
|| myconf="${myconf} --without-gnome"
use 3dnow || use mmx \
&& myconf="${myconf} --enable-simd" \
|| myconf="${myconf} --disable-simd"
use esd \
&& myconf="${myconf} --enable-esd --enable-esdtest" \
|| myconf="${myconf} --disable-esd --disable-esdtest"
use mikmod \
&& myconf="${myconf} --enable-mikmod --enable-mikmodtest \
--with-libmikmod" \
|| myconf="${myconf} --disable-mikmod --disable-mikmodtest \
--without-libmikmod"
use opengl \
&& myconf="${myconf} --enable-opengl" \
|| myconf="${myconf} --disable-opengl"
use oggvorbis \
&& myconf="${myconf} --enable-vorbis --enable-oggtest \
--enable-vorbistest --with-ogg" \
|| myconf="${myconf} --disable-vorbis --disable-oggtest \
--disable-vorbistest --without-ogg"
use xml \
|| myconf="${myconf} --disable-cdindex"
use nls \
|| myconf="${myconf} --disable-nls"
use ipv6 && myconf="${myconf} --enable-ipv6"
econf ${myconf} || die
### emake seems to break some compiles, please keep @ make
make || die
}
src_install() {
einstall \
sysdir=${D}/usr/share/applets/Multimedia \
GNOME_SYSCONFDIR=${D}/etc || die
dodoc AUTHORS ChangeLog COPYING FAQ NEWS README TODO
dodir /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
use gnome && ( \
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
) || ( \
rm ${D}/usr/share/man/man1/gnomexmms*
)
# 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
}
|