diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2019-03-12 09:24:57 +0100 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2019-03-12 09:24:57 +0100 |
commit | e9aa0cde103128dad32502db4f43e1c058ce800e (patch) | |
tree | ed0053da0cfe804e581c21a8eebcc3ea4a8089be | |
parent | sys-apps/portage: remove version 2.3.8 (diff) | |
download | gentoo-e9aa0cde103128dad32502db4f43e1c058ce800e.tar.gz gentoo-e9aa0cde103128dad32502db4f43e1c058ce800e.tar.bz2 gentoo-e9aa0cde103128dad32502db4f43e1c058ce800e.zip |
media-sound/timidity++: Bump to version 2.15.0
Thanks-to: Robert Gill <locke@sdf.lonestar.org>
Closes: https://bugs.gentoo.org/676610
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
-rw-r--r-- | media-sound/timidity++/Manifest | 1 | ||||
-rw-r--r-- | media-sound/timidity++/files/timidity++-2.15.0-pkg-config.patch | 118 | ||||
-rw-r--r-- | media-sound/timidity++/timidity++-2.15.0.ebuild | 210 |
3 files changed, 329 insertions, 0 deletions
diff --git a/media-sound/timidity++/Manifest b/media-sound/timidity++/Manifest index 0ff73fe8285a..6417e3383c21 100644 --- a/media-sound/timidity++/Manifest +++ b/media-sound/timidity++/Manifest @@ -1 +1,2 @@ DIST TiMidity++-2.14.0.tar.xz 1356476 BLAKE2B 8d4a360d1c16b250f3bef7c010e1e263fdda13446437ff2454dc2c2a717246c4d27836a3b40586b12b33e175bc54ee211a3a1798005733461cf5833eda11811a SHA512 d8fc06fa36e4dd42de80c61943da4cd9aec5f8aaf31057a9ededa633d2d48e64c4e53391378d82a7a46ffe4f96c756b010ea9727270f80b134ae1f8bad535bd3 +DIST TiMidity++-2.15.0.tar.xz 1363040 BLAKE2B 63612dc96ddef9b24ca35a8fa24c22fee8b0573efb09543e6017070b2d0a68494bc34afe8ffc50b5f7fe2d95397a971d5dc7afd4c9adbb524b119012e716b7f7 SHA512 36c3c79d941903109d5d6d529963d12e8192a857e80402ad5ab0d1e223451a7cf5dc8fdd046b22ae7da96f413d68db8587a8fce348635838eba2f30f7019192f diff --git a/media-sound/timidity++/files/timidity++-2.15.0-pkg-config.patch b/media-sound/timidity++/files/timidity++-2.15.0-pkg-config.patch new file mode 100644 index 000000000000..3c2e269be029 --- /dev/null +++ b/media-sound/timidity++/files/timidity++-2.15.0-pkg-config.patch @@ -0,0 +1,118 @@ +use $PKG_CONFIG rather than `pkg-config` + +https://bugs.gentoo.org/497362 +get ncurses info via pkg-config while we're at it + +patch by Mike Frysinger <vapier@gentoo.org> + +--- a/configure.in ++++ b/configure.in +@@ -163,6 +163,7 @@ AC_SUBST(xawresdir) + + # Checks for programs. + AM_PATH_LISPDIR ++PKG_PROG_PKG_CONFIG + AC_PROG_CC + AC_PROG_GCC_TRADITIONAL + AC_PROG_INSTALL +@@ -1348,8 +1349,8 @@ AC_MSG_CHECKING(enable_audio=jack) + if test "x$au_enable_jack" = xyes; then + AC_MSG_RESULT(yes) + SYSEXTRAS="$SYSEXTRAS jack_a.c" +- EXTRALIBS="$EXTRALIBS $(pkg-config --libs jack)" +- EXTRADEFS="$EXTRADEFS -DAU_JACK $(pkg-config --cflags jack)" ++ EXTRALIBS="$EXTRALIBS $(${PKG_CONFIG} --libs jack)" ++ EXTRADEFS="$EXTRADEFS -DAU_JACK $(${PKG_CONFIG} --cflags jack)" + else + AC_MSG_RESULT(no) + fi +@@ -1665,69 +1666,8 @@ dnl ncurses + AM_CONDITIONAL(ENABLE_NCURSES, false) + CONFIG_INTERFACE(ncurses,NCURSES,n, + AS_HELP_STRING([--enable-ncurses], [Enable ncurses interface (default is no)]), +- [ AC_CHECK_HEADERS(ncurses.h ncurses/curses.h curses.h) +- +-dnl #include <ncurses/curses.h> is failure on Plamo Linux 1.3/ncurses 1.9.9e +-dnl because <ncurses/curses.h> includes <unctrl.h>: +-dnl /usr/include/ncurses/curses.h:34: unctrl.h: No such file or directory +-dnl But surely there is unctl.h at /usr/include/ncurses/unctrl.h. +-dnl configure must check ncurses header with -I/usr/include/ncurses option. +- +- case "$ac_cv_header_curses_h$ac_cv_header_ncurses_curses_h$ac_cv_header_ncurses_h" in +- *yes*);; +- *) for i in /usr/include /usr/local/include; do +- if test -f "$i/ncurses/curses.h" -a -f "$i/ncurses/unctrl.h"; then +- AC_MSG_WARN(ncurses test is failure. Please check config.h and common.makefile later) +- CPPFLAGS="$CPPFLAGS -I$i/ncurses" +- break +- fi +- done +- ;; +- esac +- +- AC_CHECK_LIB(ncurses,initscr,lib_curses_opt=-lncurses, +- [ dnl checking pdcurses +- AC_CHECK_LIB(curses,PDC_set_ctrl_break, +- [ lib_curses_opt=-lcurses +- AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses) +- lib_user32_opt="$lib_user32_test" +- AC_CHECK_LIB(curses, vwprintw, +- AC_DEFINE(HAVE_VWPRINTW, 1, +- [Define to 1 if you have the `vwprintw' function.])) +- ], +- [ dnl checking libpdcurses +- AC_CHECK_LIB(pdcurses,PDC_set_ctrl_break, +- [ lib_curses_opt=-lpdcurses +- AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses) +- lib_user32_opt="$lib_user32_test" +- AC_CHECK_LIB(pdcurses, vwprintw, +- AC_DEFINE(HAVE_VWPRINTW, 1, +- [Define to 1 if you have the `vwprintw' function.])) +- ], +- [ dnl OpenBSD use -lcurses instead of -lncurses. +- case "$target" in +- *openbsd*) +- AC_CHECK_LIB(curses,initscr,lib_curses_opt=-lcurses, +- [ AC_MSG_WARN(ncurses interface is not enabled) +- enable_ncurses=no ]) +- ;; +- *) +- if test "x$VCPP" = xyes || test "x$BORLANDC" = xyes || test "x$WATCOM_C" = xyes || test "x$DMC" = xyes || test "x$POCC" = xyes; then +- lib_curses_opt=libpdcurses.lib +- AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses) +- AC_CHECK_LIB(pdcurses, vwprintw, +- AC_DEFINE(HAVE_VWPRINTW, 1, +- [Define to 1 if you have the `vwprintw' function.])) +- else +- AC_MSG_WARN(ncurses interface is not enabled) +- enable_ncurses=no +- fi +- ;; +- esac +- ]) +- ], +- $lib_user32_test) +- ]) ++ [ CPPFLAGS="$CPPFLAGS $(${PKG_CONFIG} --cflags ncurses)" ++ lib_curses_opt=$(${PKG_CONFIG} --libs ncurses) + ], + [ LIBS="$LIBS $lib_curses_opt" + case "$target" in +@@ -1894,7 +1834,7 @@ CONFIG_INTERFACE(xaw,XAW,a, + lib_xmu_opt=-lXmu + lib_xt_opt=-lXt + if test "x$enable_xft" = "xyes" && test "x$have_xaw" != "xno"; then +- XFT_CFLAGS="$(pkg-config --cflags xft)"; ++ XFT_CFLAGS="$(${PKG_CONFIG} --cflags xft)"; + EXTRACT_CPPFLAGS(CPPFLAGS,CFLAGS,$XFT_CFLAGS) + lib_xft_opt="-lXft"; + fi +@@ -1948,7 +1888,7 @@ CONFIG_INTERFACE(xaw,XAW,a, + ;; + esac + if test "x$enable_xft" = "xyes" && test "x$have_xaw" != "xno"; then +- XFT_CFLAGS="$(pkg-config --cflags xft)"; ++ XFT_CFLAGS="$(${PKG_CONFIG} --cflags xft)"; + EXTRACT_CPPFLAGS(CPPFLAGS,CFLAGS,$XFT_CFLAGS) + a_so_libs="$a_so_libs -lXft"; + fi diff --git a/media-sound/timidity++/timidity++-2.15.0.ebuild b/media-sound/timidity++/timidity++-2.15.0.ebuild new file mode 100644 index 000000000000..286e33775eea --- /dev/null +++ b/media-sound/timidity++/timidity++-2.15.0.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools desktop elisp-common systemd toolchain-funcs user xdg + +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.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="alsa ao emacs flac gtk jack motif nas ncurses oss selinux slang speex tk vorbis X" + +REQUIRED_USE="tk? ( X )" + +DEPEND=" + alsa? ( media-libs/alsa-lib ) + ao? ( >=media-libs/libao-0.8.5 ) + emacs? ( virtual/emacs ) + flac? ( media-libs/flac ) + gtk? ( x11-libs/gtk+:2 ) + jack? ( virtual/jack ) + motif? ( >=x11-libs/motif-2.3:0 ) + nas? ( >=media-libs/nas-1.4 ) + ncurses? ( sys-libs/ncurses:0= ) + slang? ( sys-libs/slang ) + speex? ( media-libs/speex ) + tk? ( dev-lang/tk:0= ) + vorbis? ( media-libs/libvorbis ) + X? ( + media-libs/libpng:0= + x11-libs/libXaw + x11-libs/libXext + ) +" +RDEPEND="${DEPEND} + app-eselect/eselect-timidity + alsa? ( media-sound/alsa-utils ) + selinux? ( sec-policy/selinux-timidity ) +" + +PDEPEND="|| ( media-sound/timidity-eawpatches media-sound/timidity-freepats )" + +SITEFILE=50${PN}-gentoo.el + +pkg_setup() { + enewgroup audio 18 # Just make sure it exists + enewuser timidity -1 -1 /var/lib/timidity audio +} + +DOCS=( AUTHORS ChangeLog NEWS README "${FILESDIR}"/timidity.cfg-r1 ) + +PATCHES=( + "${FILESDIR}"/${PN}-2.14.0-params.patch + "${FILESDIR}"/${PN}-2.14.0-ar.patch + "${FILESDIR}"/${PN}-2.14.0-configure-flags.patch + "${FILESDIR}"/${PN}-2.15.0-pkg-config.patch + "${FILESDIR}"/${PN}-2.14.0-CVE-2017-1154{6,7}.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + export EXTRACFLAGS="${CFLAGS}" #385817 + + local audios + local myeconfargs=( + --localstatedir=/var/state/${PN} + --with-module-dir="${EPREFIX}/usr/share/timidity" + --with-lispdir="${SITELISP}/${PN}" + --with-elf + --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) + $(use_enable motif) + ) + + use flac && audios+=",flac" + use speex && audios+=",speex" + use vorbis && audios+=",vorbis" + use oss && audios+=",oss" + use jack && audios+=",jack" + use ao && audios+=",ao" + + if use nas; then + audios+=",nas" + myeconfargs+=( + --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+=",alsa" + myeconfargs+=( + --with-default-output=alsa + --enable-alsaseq + ) + fi + + if use motif; then + myeconfargs+=( + --with-x + ) + use X || ewarn "Basic X11 support will be enabled because required by motif." + fi + + # needs to come after all audios have been collected + myeconfargs+=( + --enable-audio=${audios} + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + emake DESTDIR="${D}" install + einstalldocs + + # these are only for the ALSA sequencer mode + if use alsa; then + newconfd "${FILESDIR}"/conf.d.timidity.2 timidity + newinitd "${FILESDIR}"/init.d.timidity.4 timidity + + systemd_dounit "${FILESDIR}"/timidity.service + 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 + + doicon "${FILESDIR}"/timidity.xpm + newmenu "${FILESDIR}"/timidity.desktop.2 timidity.desktop + + # Order of preference: gtk, X (Xaw), ncurses, slang + # Do not create menu item for terminal ones + local interface="-id" + local terminal="true" + local nodisplay="true" + if use gtk || use X; then + interface="-ia" + terminal="false" + nodisplay="false" + use gtk && interface="-ig" + elif use ncurses || use slang; then + local interface="-is" + use ncurses && interface="-in" + fi + sed -e "s/Exec=timidity/Exec=timidity ${interface}/" \ + -e "s/Terminal=.*/Terminal=${terminal}/" \ + -e "s/NoDisplay=.*/NoDisplay=${nodisplay}/" \ + -i "${ED}"/usr/share/applications/timidity.desktop || die +} + +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 + elog "Only saving to wave file and ALSA soundback has been tested working." + fi + + xdg_desktop_database_update +} + +pkg_postrm() { + use emacs && elisp-site-regen + xdg_desktop_database_update +} |