summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2007-11-24 15:41:14 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2007-11-24 15:41:14 +0000
commite028ed5be94383bfb015ba875b27d424a8aa65da (patch)
tree6a7f9a0c5bda593be262c1da70ef9c9236120b1c /media-sound
parentStable on x86 wrt bug #200198 (diff)
downloadgentoo-2-e028ed5be94383bfb015ba875b27d424a8aa65da.tar.gz
gentoo-2-e028ed5be94383bfb015ba875b27d424a8aa65da.tar.bz2
gentoo-2-e028ed5be94383bfb015ba875b27d424a8aa65da.zip
Revision bump with a new init script. Now TiMidity++'s init script starts the synthesizer as the timidity user, to improve security. This should also solve bug #169453.
(Portage version: 2.1.4_rc3)
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/timidity++/ChangeLog10
-rw-r--r--media-sound/timidity++/files/digest-timidity++-2.13.2-r66
-rw-r--r--media-sound/timidity++/files/init.d.timidity.220
-rw-r--r--media-sound/timidity++/timidity++-2.13.2-r6.ebuild175
4 files changed, 210 insertions, 1 deletions
diff --git a/media-sound/timidity++/ChangeLog b/media-sound/timidity++/ChangeLog
index f0b5798720a8..a4c63405c9e1 100644
--- a/media-sound/timidity++/ChangeLog
+++ b/media-sound/timidity++/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-sound/timidity++
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/ChangeLog,v 1.95 2007/11/24 12:41:13 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/ChangeLog,v 1.96 2007/11/24 15:41:13 flameeyes Exp $
+
+*timidity++-2.13.2-r6 (24 Nov 2007)
+
+ 24 Nov 2007; Diego Pettenò <flameeyes@gentoo.org>
+ +files/init.d.timidity.2, +timidity++-2.13.2-r6.ebuild:
+ Revision bump with a new init script. Now TiMidity++'s init script starts
+ the synthesizer as the timidity user, to improve security. This should also
+ solve bug #169453.
24 Nov 2007; Diego Pettenò <flameeyes@gentoo.org> -files/timidity-update,
-timidity++-2.13.2-r2.ebuild, -timidity++-2.13.2-r3.ebuild,
diff --git a/media-sound/timidity++/files/digest-timidity++-2.13.2-r6 b/media-sound/timidity++/files/digest-timidity++-2.13.2-r6
new file mode 100644
index 000000000000..7a95c8bb2fb6
--- /dev/null
+++ b/media-sound/timidity++/files/digest-timidity++-2.13.2-r6
@@ -0,0 +1,6 @@
+MD5 a82ceeb2245e22f4de2b41da21eaee32 TiMidity++-2.13.2.tar.bz2 1581230
+RMD160 0156221846a88abef9312700a050972d85084fd8 TiMidity++-2.13.2.tar.bz2 1581230
+SHA256 0a8524b789b57eaf944c3d9bce32c21a4e893016b22a02a24cd0a4c6afee7260 TiMidity++-2.13.2.tar.bz2 1581230
+MD5 31bdaea612f18e2c3d45a8a73ab44c81 timidity++-2.13.2-exiterror.patch 21406
+RMD160 6b73552e18580422ca4471f12142440a4f3760a9 timidity++-2.13.2-exiterror.patch 21406
+SHA256 ccf1a3678beff5cd143bec07b64ca35620b8eac98b093898c072459051752b77 timidity++-2.13.2-exiterror.patch 21406
diff --git a/media-sound/timidity++/files/init.d.timidity.2 b/media-sound/timidity++/files/init.d.timidity.2
new file mode 100644
index 000000000000..e949000b537d
--- /dev/null
+++ b/media-sound/timidity++/files/init.d.timidity.2
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+
+depend() {
+ after alsasound esound
+}
+
+start() {
+ ebegin "Starting TiMidity++ Virtual Midi Sequencer"
+ test -n "$TIMIDITY_PCM_NAME" && export TIMIDITY_PCM_NAME
+ start-stop-daemon --start --background --chuid timidity:nobody \
+ --make-pidfile --pidfile /var/run/timidity.pid \
+ --exec /usr/bin/timidity -- -iA ${TIMIDITY_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping TiMidity++"
+ start-stop-daemon --stop --quiet --pidfile /var/run/timidity.pid
+ eend $?
+}
diff --git a/media-sound/timidity++/timidity++-2.13.2-r6.ebuild b/media-sound/timidity++/timidity++-2.13.2-r6.ebuild
new file mode 100644
index 000000000000..4a08d93f3112
--- /dev/null
+++ b/media-sound/timidity++/timidity++-2.13.2-r6.ebuild
@@ -0,0 +1,175 @@
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/timidity++-2.13.2-r6.ebuild,v 1.1 2007/11/24 15:41:13 flameeyes Exp $
+
+inherit eutils elisp-common
+
+MY_PV=${PV/_/-}
+MY_P=TiMidity++-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="A handy MIDI to WAV converter with OSS and ALSA output support"
+HOMEPAGE="http://timidity.sourceforge.net/"
+SRC_URI="mirror://sourceforge/timidity/${MY_P}.tar.bz2 mirror://gentoo/${P}-exiterror.patch"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="oss nas esd motif X gtk vorbis tk slang alsa arts jack portaudio emacs ao speex flac ncurses"
+
+DEPEND="ncurses? ( >=sys-libs/ncurses-5.0 )
+ emacs? ( virtual/emacs )
+ gtk? ( >=x11-libs/gtk+-2.0 )
+ tk? ( >=dev-lang/tk-8.1 )
+ motif? ( virtual/motif )
+ esd? ( >=media-sound/esound-0.2.22 )
+ nas? ( >=media-libs/nas-1.4 )
+ alsa? ( media-libs/alsa-lib )
+ slang? ( =sys-libs/slang-1.4* )
+ arts? ( kde-base/arts )
+ jack? ( media-sound/jack-audio-connection-kit )
+ portaudio? ( media-libs/portaudio )
+ vorbis? ( >=media-libs/libvorbis-1.0_beta4 )
+ flac? ( >=media-libs/flac-1.1.2 )
+ speex? ( >=media-libs/speex-1.1.5 )
+ ao? ( >=media-libs/libao-0.8.5 )"
+
+RDEPEND="${DEPEND}
+ alsa? ( media-sound/alsa-utils )
+
+ app-admin/eselect-timidity"
+
+PDEPEND="|| ( media-sound/timidity-eawpatches media-sound/timidity-shompatches media-sound/timidity-freepats )"
+
+SITEFILE=50${PN}-gentoo.el
+
+pkg_setup() {
+ if use alsa && ! built_with_use --missing true media-libs/alsa-lib midi; then
+ eerror ""
+ eerror "To be able to build TiMidity++ with ALSA support you need"
+ eerror "to have built media-libs/alsa-lib with midi USE flag."
+ die "Missing midi USE flag on media-libs/alsa-lib"
+ fi
+
+ enewgroup audio 18 # Just make sure it exists
+ enewuser timidity -1 -1 /var/lib/timidity audio
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${DISTDIR}/${P}-exiterror.patch"
+ epatch "${FILESDIR}/${P}-gtk26.patch"
+ epatch "${FILESDIR}/${P}-gcc4.patch"
+ epatch "${FILESDIR}/${P}-flac.patch"
+ epatch "${FILESDIR}/${P}-flac113.patch"
+
+ # fix header location of speex
+ sed -i -e "s:#include <speex:#include <speex/speex:g" configure* timidity/speex_a.c
+}
+
+src_compile() {
+ local myconf
+ local audios
+
+ use flac && audios="${audios},flac"
+ use speex && audios="${audios},speex"
+ use vorbis && audios="${audios},vorbis"
+
+ use oss && audios="${audios},oss"
+ use esd && audios="${audios},esd"
+ use arts && audios="${audios},arts"
+ use jack && audios="${audios},jack"
+ use portaudio && audios="${audios},portaudio"
+ use ao && audios="${audios},ao"
+
+ if use nas; then
+ audios="${audios},nas"
+ myconf="${myconf} --with-nas-library=/usr/$(get_libdir)/libaudio.so --with-x"
+ use X || ewarn "Basic X11 support will be enabled because required by nas."
+ fi
+
+ if use alsa; then
+ audios="${audios},alsa"
+ myconf="${myconf} --with-default-output=alsa --enable-alsaseq"
+ fi
+
+ # We disable motif by default and then only enable it if it's requested.
+ if use motif; then
+ myconf="${myconf} --enable-motif --with-x"
+ use X || ewarn "Basic X11 support will be enabled because required by motif."
+ fi
+
+ econf \
+ --localstatedir=/var/state/timidity++ \
+ --with-lispdir="${SITELISP}/${PN}" \
+ --with-elf \
+ --enable-audio=${audios} \
+ --enable-server \
+ --enable-network \
+ --enable-dynamic \
+ --enable-vt100 \
+ --enable-spline=cubic \
+ $(use_enable emacs) \
+ $(use_enable slang) \
+ $(use_enable ncurses) \
+ $(use_with X x) \
+ $(use_enable X spectrogram) \
+ $(use_enable X wrd) \
+ $(use_enable X xskin) \
+ $(use_enable X xaw) \
+ $(use_enable gtk) \
+ $(use_enable tk tcltk) \
+ --disable-motif \
+ ${myconf} || die
+
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+
+ dodoc AUTHORS ChangeLog*
+ dodoc NEWS README* "${FILESDIR}/timidity.cfg"
+
+ # these are only for the ALSA sequencer mode
+ if use alsa; then
+ newconfd "${FILESDIR}/conf.d.timidity" timidity
+ newinitd "${FILESDIR}/init.d.timidity.2" timidity
+ fi
+
+ insinto /etc
+ newins "${FILESDIR}/timidity.cfg-r1" timidity.cfg
+
+ dodir /usr/share/timidity
+ dosym /etc/timidity.cfg /usr/share/timidity/timidity.cfg
+
+ if use emacs ; then
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ diropts -o timidity -g nobody -m 0700
+ keepdir /var/lib/timidity
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "A timidity config file has been installed in /etc/timidity.cfg."
+ elog "Do not edit this file as it will interfere with the eselect timidity tool."
+ elog "The tool 'eselect timidity' can be used to switch between installed patchsets."
+
+ if use alsa; then
+ elog "An init script for the alsa timidity sequencer has been installed."
+ elog "If you wish to use the timidity virtual sequencer, edit /etc/conf.d/timidity"
+ elog "and run 'rc-update add timidity <runlevel> && /etc/init.d/timidity start'"
+ fi
+
+ if use sparc; then
+ ewarn "sparc support is experimental. oss, alsa, esd, and portaudio do not work."
+ ewarn "-Ow (save to wave file) does..."
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}