summaryrefslogtreecommitdiff
blob: 943af593de6530c6442c0051281103e8e05a6fce (plain)
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
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/timidity++-2.12.0-r3.ebuild,v 1.14 2004/06/15 08:33:05 eradicator Exp $

inherit gnuconfig eutils

MY_P=TiMidity++-${PV}-pre1
S=${WORKDIR}/${MY_P}
DESCRIPTION="A handy MIDI to WAV converter with OSS and ALSA output support"
HOMEPAGE="http://www.goice.co.jp/member/mo/timidity/"
SRC_URI="http://www.goice.co.jp/member/mo/timidity/dist/${MY_P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 ppc amd64 ~sparc"
IUSE="oss nas esd motif X gtk oggvorbis tcltk slang alsa"

RDEPEND=">=sys-libs/ncurses-5.0
	X? ( virtual/x11 )
	esd? ( >=media-sound/esound-0.2.22 )
	gtk? ( =x11-libs/gtk+-1.2* )
	nas? ( >=media-libs/nas-1.4 )
	alsa? ( media-libs/alsa-lib )
	motif? ( >=x11-libs/openmotif-2.1 )
	slang? ( >=sys-libs/slang-1.4 )
	tcltk? ( >=dev-lang/tk-8.1 )
	oggvorbis? ( >=media-libs/libvorbis-1.0_beta4 )"
DEPEND="${RDEPEND}
	sys-devel/autoconf"

src_unpack() {
	unpack ${A}
	cd ${S}
	epatch ${FILESDIR}/${P}-alsalib-fix.patch
}

src_compile() {
	local myconf
	local audios
	local interfaces

	if use amd64 ; then
		epatch ${FILESDIR}/gnuconfig_update.patch
		epatch ${FILESDIR}/long-64bit.patch
		gnuconfig_update
	fi

	interfaces="dynamic,ncurses,emacs,vt100"
	use oss && audios="oss";

	use X \
		&& myconf="${myconf} --with-x \
			--enable-spectrogram --enable-wrd" \
		&& interfaces="${interfaces},xskin,xaw" \
		|| myconf="${myconf} --without-x "

	use slang && interfaces="${interfaces},slang"
	if use X ; then \
		use gtk && interfaces="${interfaces},gtk";
		use motif && interfaces="${interfaces},motif";
	fi

	use alsa \
		&& audios="${audios},alsa" \
		&& interfaces="${interfaces},alsaseq" \
		&& myconf="${myconf} --with-default-output=alsa"

	use esd && audios="${audios},esd"
	use oggvorbis && audios="${audios},vorbis"
	use nas && audios="${audios},nas"

	econf \
		--localstatedir=/var/state/timidity++ \
		--with-elf \
		--enable-audio=${audios} \
		--enable-interface=${interfaces} \
		--enable-server \
		--enable-network \
		${myconf} || die

	emake || die
}

src_install() {
	make DESTDIR=${D} install || die
	dodir /usr/share/timidity/config
	insinto /usr/share/timidity/config
	doins ${FILESDIR}/timidity.cfg
	dodoc AUTHORS ChangeLog* INSTALL*
	dodoc NEWS README*

	if use alsa; then
		insinto /etc/conf.d
		newins ${FILESDIR}/conf.d.timidity timidity

		exeinto /etc/init.d
		newexe ${FILESDIR}/init.d.timidity timidity
	fi
}

pkg_postinst() {
	einfo ""
	einfo "A timidity config file has been installed in"
	einfo "/usr/share/timitidy/config/timidity.cfg. This"
	einfo "file must to copied into /usr/share/timidity/"
	einfo "and edited to match your configuration."
	einfo ""
	if use alsa; then
		einfo "An init script for the alsa timidity sequencer has been installed."
		einfo "If you wish to use the timidity virtual sequencer, edit /etc/conf.d/timidity"
		einfo "and run 'rc-update add timidity <runlevel> && /etc/init.d/timidity start'"
	fi
}