commit:     e9aa0cde103128dad32502db4f43e1c058ce800e
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 12 08:24:57 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 08:24:57 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9aa0cde

media-sound/timidity++: Bump to version 2.15.0

Thanks-to: Robert Gill <locke <AT> 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 <AT> gentoo.org>

 media-sound/timidity++/Manifest                    |   1 +
 .../files/timidity++-2.15.0-pkg-config.patch       | 118 ++++++++++++
 media-sound/timidity++/timidity++-2.15.0.ebuild    | 210 +++++++++++++++++++++
 3 files changed, 329 insertions(+)

diff --git a/media-sound/timidity++/Manifest b/media-sound/timidity++/Manifest
index 0ff73fe8285..6417e3383c2 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 00000000000..3c2e269be02
--- /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 <vap...@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 00000000000..286e33775ee
--- /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
+}

Reply via email to