diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2007-11-24 15:41:14 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2007-11-24 15:41:14 +0000 |
commit | e028ed5be94383bfb015ba875b27d424a8aa65da (patch) | |
tree | 6a7f9a0c5bda593be262c1da70ef9c9236120b1c /media-sound | |
parent | Stable on x86 wrt bug #200198 (diff) | |
download | gentoo-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++/ChangeLog | 10 | ||||
-rw-r--r-- | media-sound/timidity++/files/digest-timidity++-2.13.2-r6 | 6 | ||||
-rw-r--r-- | media-sound/timidity++/files/init.d.timidity.2 | 20 | ||||
-rw-r--r-- | media-sound/timidity++/timidity++-2.13.2-r6.ebuild | 175 |
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 +} |