aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerion Entrup <gerion.entrup@flump.de>2017-09-30 16:50:26 +0200
committerGerion Entrup <gerion.entrup@flump.de>2017-09-30 16:50:26 +0200
commit5e41636c50b17957df5c3f633dfda3b601a43bc1 (patch)
tree7df9c663af39631256b54e401e9acaa26ac7d19e /media-sound/timidity++
parentmedia-sound/projectm-jack: fix jack dependency and RUNPATH (diff)
downloadgerislay-5e41636c50b17957df5c3f633dfda3b601a43bc1.tar.gz
gerislay-5e41636c50b17957df5c3f633dfda3b601a43bc1.tar.bz2
gerislay-5e41636c50b17957df5c3f633dfda3b601a43bc1.zip
fix jack dependency
- media-gfx/blender - media-sound/rosegarden - media-sound/patchage - media-sound/timidity++
Diffstat (limited to 'media-sound/timidity++')
-rw-r--r--media-sound/timidity++/Manifest16
-rw-r--r--media-sound/timidity++/files/50timidity++-gentoo.el6
-rw-r--r--media-sound/timidity++/files/conf.d.timidity.227
-rw-r--r--media-sound/timidity++/files/init.d.timidity.420
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-ar.patch23
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-configure-flags.patch140
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-params.patch22
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-pkg-config.patch109
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch28
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch13
-rw-r--r--media-sound/timidity++/files/timidity.cfg-r124
-rw-r--r--media-sound/timidity++/files/timidity.desktop.210
-rw-r--r--media-sound/timidity++/files/timidity.service10
-rw-r--r--media-sound/timidity++/files/timidity.xpm56
-rw-r--r--media-sound/timidity++/metadata.xml11
-rw-r--r--media-sound/timidity++/timidity++-2.14.0-r3.ebuild185
16 files changed, 700 insertions, 0 deletions
diff --git a/media-sound/timidity++/Manifest b/media-sound/timidity++/Manifest
new file mode 100644
index 0000000..40d0fbd
--- /dev/null
+++ b/media-sound/timidity++/Manifest
@@ -0,0 +1,16 @@
+AUX 50timidity++-gentoo.el 180 SHA256 a5ca92074ec2b79251bf33a1fb9c4007f528c036f951c6e4fa87311d7acc11a0 SHA512 21df87bf47d56c1072fc3942f3c988293106028dd0473dd1a03b66edc4e7586a3cf5150abdf3c932e44dc32a97ce9cbaa8016dcb28e5e60195f1fe9418ab3bd6 WHIRLPOOL 6b48cab95dc59524d11972ce36e81ac1b3bc13f38a4a45eb9e1098b3c2a47ee300ba82e618edb7f518544477ff5d34de1a47a7fc4bfe1659d5308ef6ae5f1764
+AUX conf.d.timidity.2 972 SHA256 a3a6fc74fc1353f2c5e7eda51a244fb3212cd5f33b407fe5ce1245ca2757593e SHA512 67668a6a00408ecc1e467be8f372b78be318e940d75c0fb856fadc5e5446e5d1a461c004856ab851968d6c146e662e766c09da6b815fd14b7675b92b975cabd9 WHIRLPOOL fe67d80414a6b4a88eae3bc3ae35a466f8e66378aa9190b804852d613392ba765d0e02b7743ee890ac37cdcb986fbf1b868c6f1cabf640e66cdd7b91c2b12c2c
+AUX init.d.timidity.4 510 SHA256 fb7eb433af9fa7e9df6eede45e748a0f42c425d6945f63d9085c8e3c140f4b5f SHA512 597b79bbeac3c3365cf3b0d6defe7b3f031bf1acbefd33094e76f07394a4d5b21a79ce62c276928fed68de1eb02a30ec1eb8204be6d034d8c2dd92145e82faa3 WHIRLPOOL 3fa4980d8036e5953383a9d823c8dc0098b46ebf628731b94471072881cc89106e21344e457c9ca7d7b27786276444611d17df28edd3165416f0434b36199459
+AUX timidity++-2.14.0-ar.patch 822 SHA256 83008c1c49e712de73d5757da950afb61f576aa40db75b6861e014737a8e50dd SHA512 b0c26daa94361bc471034431c0632052ceb2a8e001caabfb7e08bd3f401932724981dc2c903132f9319d16038f7bac05843ca8da1112a5a3bab626c88244514b WHIRLPOOL 2bfec4e128f58aa8cc14cce6070d19f79ca014cffd16597eb5fc73ad0970436c4125c016658cb4c694060c0375b5f52d64770ce5db9dc214ac168ab61d0e8424
+AUX timidity++-2.14.0-configure-flags.patch 4241 SHA256 4f3f9f2b3c652e61726eda54c43a18d32dca5322b996b4e27d8e44f0b202504c SHA512 be9ca5a580a47af5eb29e180c81b141628692e2cb538113b3ec596e4b800fb6d4792fa4c72921414ba41a8e6932ae655e9b9a1428021333471e2929fdab07b17 WHIRLPOOL ae0316647291b4081290ca491ef544c8bd073c10d344fce92dfe7af5618b58b7f2c1ca72e5e5d57b7ebfd87f82ce418e58bff95d43e4cac545d19deed11a371b
+AUX timidity++-2.14.0-params.patch 712 SHA256 cf78561c620f55c6dfc21f3650e9d0e55603aa991aef9c2179363bd3d608191f SHA512 63e2a1be6fec715680230de158d1fb09d5288a068288ac33b37320491ac29ec1c66f60d05ffb352c4a192540163e9c93369115fe606aa25295b727332e92874c WHIRLPOOL a6de7b97de6282980a2850636fc72a4ca47efc79afabe81417426015126d1e4f2cabbf040ca6b559b924d4ae44fe3ca930fb3a3042d54845d0c0095b0b7371d0
+AUX timidity++-2.14.0-pkg-config.patch 3836 SHA256 a2daa38a4da6240e76c52c19e02ea5ccca1419ab45950c8df37248c0e5c4dd1c SHA512 2dba5ca948d31d4498f44f8b4c67d59294e7cf722652b62f9502222867f1c93fa491b9741c049bde7ac976c74e52639bfc359a88e2c7f3728b723e272e40692d WHIRLPOOL f05b9476760061b7663e3aa12ef187e4466c26abab96d24d7c6f74d5f8b818dbc5cf2d399111e70310be1da74858c65499885ca3dbbf670d741b61cbaac1d498
+AUX timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch 697 SHA256 1c0c5f672679750289b65bd8bfb42bd6ced489c2b085b2a4024351548499e9b5 SHA512 d5716b7977f5c013c61da2e9f3e233b17e3b4b95cb14b2e459bae3c69316440be899278b44566a1640d8d82b683811348c22f5e859512c523baee4939bc2a497 WHIRLPOOL 58e2ac706564baa1520c586420dd3ac044eb468812d74b35455c0469b36c7c9a6581d5db26c2b2c0ee66f919708f55e1b352de3696ab77ef6ef33a665ff4f504
+AUX timidity++-2.14.0-tcltk86.patch 308 SHA256 aae1aa02206ffa62e1e48746d59d965ba0d3eec4096c4e7ab70afc2628871505 SHA512 37e8a97fe1a09382234011ab253443ba9e9be78cdb7bb4dd03ee5756bda8e614bc627a091d10b480a3ef5bca9e3961c2f14e92a548782145d2bb61da991d5f62 WHIRLPOOL 2efae14055ce713ee8f5079c5829b8a06e4cfa1af8ddda9ec620d328d00ac53817795ef393f6d661b2f60b859cde3a4d8a14f8773906c497f5069cb09f4a0792
+AUX timidity.cfg-r1 669 SHA256 50fb27ea57cc225fcb8e8368e8afc130f2bba22d0787ebb6beacd2112550f9ce SHA512 98f0690bda6deed6022e97e74a6114334d5f965d646d7c7d150ac177f6eb78277e931ed0b4c5613ef16ba648eaad66a3ed72ed933ca936698ca81365151b223b WHIRLPOOL d2e0e504275c59177b936591c703b5ad1f75e9e00ed0331d3c5a2c720bf6b85f39e4e531b5639f83be74f24144c3dd00b897e51de07d2248c268f342b8b52475
+AUX timidity.desktop.2 257 SHA256 9e9d89fe6c03067d90d2786f0c41415cfa379b6d8635e1b206fffd7dd68e65aa SHA512 34312594866d77244d0eb77b4111a8e7998bd20bcb3542b036b1626d73bf4672eef677a926badceaaee517f1d32752b3e3b1ea4d3f2cc0703d66c1c740e0dc2e WHIRLPOOL 8fe3b0df3377c9146399c6b2cad7c9fa497dfae433cd903843caef1eb21ac2bc1b39631d5334ab4bc033e1e3e4525bfaecefe4c8f73b1a32d42b98d2b7fb8a55
+AUX timidity.service 190 SHA256 e0490abaded5d7a7d6c82e6a61669f486461c1e39c7d64ddd63b056f7b888c2f SHA512 1022c1e37e2a97fba414673860ec89bc146da208981dd50d9486c525b47c74ae146acef2d75ceec26335c3ab98b2c928ce480a161637990ecd737507a6c21b49 WHIRLPOOL 895c0bc5f8a6f0730f4c24fb7a4c68dee6a1e72abf4c9252a912752c047fae22ef14523a6a83d664e5faeb96cc8534d95dde000382519a9fb7f9bd741901964f
+AUX timidity.xpm 1522 SHA256 4b085a4b8af1648495dccc36bcb7b7637318ffb3e9c2011cc8ac43119a8b4db6 SHA512 1630fc235e450e5420c598357ad98eed6f04b1d1035fd6284dfeb2e633ce5d80135f89ea593d58b4eac2b9405383787e4d891b9c22ff8b5ac3ece64e9abe7d4e WHIRLPOOL 8d1279dac550131b15639602972861b90e724f5391eefa7f72b3c190681b2e5a081ab2380e3717e94ed0b05b4738bad627021588d872d76ff48ff8e8a142f56a
+DIST TiMidity++-2.14.0.tar.xz 1356476 SHA256 abf0c8367959e85c9e635b8fbd5183fc27bd380e0ef5e45de4158784538c86fc SHA512 d8fc06fa36e4dd42de80c61943da4cd9aec5f8aaf31057a9ededa633d2d48e64c4e53391378d82a7a46ffe4f96c756b010ea9727270f80b134ae1f8bad535bd3 WHIRLPOOL 0031a0e6519ead34c73ed3383d1d74b91b3e25c257854bd3325d25ec9c00bb55c036936ef4ef162ad13c255fefc4e46b802173e93b7ed575c92cf076ab03929b
+EBUILD timidity++-2.14.0-r3.ebuild 5075 SHA256 5e1af52a7f6bace1fadc02cb9d3f9749a28de5663e77ff1f478c75cc71fe4805 SHA512 75bf9bc71cdc0dc4a588f87ead59aa59e0682da2948343e2de372925b6f075d8b91e5ddecd975339439aa6592febed0b8fc2ffd5321a95ee0698a1d43ff0625a WHIRLPOOL 385e1215b5cf2a1139b480dd659c2f191ca816f513c5ae2dacc574ceac6c8982e8d376f3b5593f3d6b430e155991977a12077b3a87bc1576ca514022806de321
+MISC metadata.xml 331 SHA256 8c8628641af5f30b12e441fd2ec4adf08f9e5a534e95993fdd103a6e6ef2cc20 SHA512 b4559e92a59ba70b25863304bbdc59225c6ccbf3ee9ab8516db6987a19e8b5b7b6ea95f40c9ff55ed33c194ab174360d5f8fd6bfafa43290bb97a3a2093289e3 WHIRLPOOL a452fd1eede4307554e273fb7ff4eb6f82d368608cf44f54eab986ba7c7777d3fa78d150b5ed936e3f11b3d8c0b70952cbe8c0bdb860955dd054c31d2cf182be
diff --git a/media-sound/timidity++/files/50timidity++-gentoo.el b/media-sound/timidity++/files/50timidity++-gentoo.el
new file mode 100644
index 0000000..3f9e35c
--- /dev/null
+++ b/media-sound/timidity++/files/50timidity++-gentoo.el
@@ -0,0 +1,6 @@
+
+;;; timidity++ site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'timidity "timidity" "TiMidity Interface" t)
+(setq timidity-prog-path "/usr/bin/timidity")
diff --git a/media-sound/timidity++/files/conf.d.timidity.2 b/media-sound/timidity++/files/conf.d.timidity.2
new file mode 100644
index 0000000..0a153ca
--- /dev/null
+++ b/media-sound/timidity++/files/conf.d.timidity.2
@@ -0,0 +1,27 @@
+# TIMIDITY_OPTS
+# Command line arguements to be passed to timidity. -iA is always used
+# Common options:
+# -Os : Output to ALSA pcm device
+# -Oe : Output to esd
+# -On : Output to NAS
+#
+# -B<n>,<m> : Set number of buffer fragments(n), and buffer size(2^m)
+#
+# -EFreverb=0 : Disable MIDI reverb effect control
+# -EFreverb=1[,level] : Enable MIDI reverb effect control
+# `level' is optional to specify reverb level [0..127]
+# This effect is only available in stereo
+# (default)
+# -EFreverb=2 : Global reverb effect
+
+TIMIDITY_OPTS="-B2,8 -Os -EFreverb=0"
+
+# TIMIDITY_PCM_NAME
+# This option can be used to choose an alternate ALSA pcm device. This will
+# be most useful for users of the dmix alsa plugin or those with multiple
+# cards. If you don't know what this is, chances are you want the default.
+
+#TIMIDITY_PCM_NAME="default"
+
+#LADSPA plugins library path
+LADSPA_PATH="/usr/lib/ladspa"
diff --git a/media-sound/timidity++/files/init.d.timidity.4 b/media-sound/timidity++/files/init.d.timidity.4
new file mode 100644
index 0000000..1863a01
--- /dev/null
+++ b/media-sound/timidity++/files/init.d.timidity.4
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+
+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 --chdir /usr/share/timidity \
+ --user timidity --group audio --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++/files/timidity++-2.14.0-ar.patch b/media-sound/timidity++/files/timidity++-2.14.0-ar.patch
new file mode 100644
index 0000000..5c58cfc
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-ar.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/468176
+
+--- a/configure.in
++++ b/configure.in
+@@ -167,6 +167,7 @@ AC_PROG_CC
+ AC_PROG_GCC_TRADITIONAL
+ AC_PROG_INSTALL
+ AC_PROG_AWK
++AC_CHECK_TOOL([AR], [ar], :)
+ AC_PROG_RANLIB
+ AC_PROG_LN_S
+ CHECK_COMPILER_OPTION(rdynamic)
+--- a/timidity/Makefile.am
++++ b/timidity/Makefile.am
+@@ -417,7 +417,7 @@ calcnewt$(EXEEXT): $(calcnewt_OBJECTS) $(calcnewt_DEPENDENCIES)
+ $(LINK) $(calcnewt_LDFLAGS) $(calcnewt_OBJECTS) $(calcnewt_LDADD) $(LIBS)
+ timidity$(EXEEXT): $(timidity_OBJECTS) $(timidity_DEPENDENCIES)
+ @rm -f timidity$(EXEEXT)
+- ar -cru timidity.exe $(timidity_LDFLAGS) $(timidity_OBJECTS) $(timidity_LDADD)
++ $(AR) -cru timidity.exe $(timidity_LDFLAGS) $(timidity_OBJECTS) $(timidity_LDADD)
+ else
+ calcnewt$(EXEEXT): $(calcnewt_OBJECTS) $(calcnewt_DEPENDENCIES)
+ @rm -f calcnewt$(EXEEXT)
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-configure-flags.patch b/media-sound/timidity++/files/timidity++-2.14.0-configure-flags.patch
new file mode 100644
index 0000000..e2e77e4
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-configure-flags.patch
@@ -0,0 +1,140 @@
+do not add -L/-I flags pointing to the paths given by --prefix.
+there's no need and it breaks multilib and cross-compiling.
+
+patch by Mike Frysinger <vapier@gentoo.org>
+
+--- a/autoconf/libFLAC.m4
++++ b/autoconf/libFLAC.m4
+@@ -25,24 +25,8 @@ AC_ARG_ENABLE(libFLACtest,
+ [Do not try to compile and run a test libFLAC program]),,
+ [enable_libFLACtest=yes])
+
+- if test "x$libFLAC_libraries" != "x" ; then
+- LIBFLAC_LIBS="-L$libFLAC_libraries"
+- elif test "x$libFLAC_prefix" != "x" ; then
+- LIBFLAC_LIBS="-L$libFLAC_prefix/lib"
+- elif test "x$prefix" != "xNONE" ; then
+- LIBFLAC_LIBS="-L$prefix/lib"
+- fi
+-
+ LIBFLAC_LIBS="$LIBFLAC_LIBS -lFLAC -lm"
+
+- if test "x$libFLAC_includes" != "x" ; then
+- LIBFLAC_CFLAGS="-I$libFLAC_includes"
+- elif test "x$libFLAC_prefix" != "x" ; then
+- LIBFLAC_CFLAGS="-I$libFLAC_prefix/include"
+- elif test "$prefix" != "xNONE"; then
+- LIBFLAC_CFLAGS="-I$prefix/include"
+- fi
+-
+ AC_MSG_CHECKING(for libFLAC)
+ no_libFLAC=""
+
+--- a/autoconf/libOggFLAC.m4
++++ b/autoconf/libOggFLAC.m4
+@@ -25,24 +25,8 @@ AC_ARG_ENABLE(libOggFLACtest,
+ [Do not try to compile and run a test libOggFLAC program]),,
+ [enable_libOggFLACtest=yes])
+
+- if test "x$libOggFLAC_libraries" != "x" ; then
+- LIBOGGFLAC_LIBS="-L$libOggFLAC_libraries"
+- elif test "x$libOggFLAC_prefix" != "x" ; then
+- LIBOGGFLAC_LIBS="-L$libOggFLAC_prefix/lib"
+- elif test "x$prefix" != "xNONE" ; then
+- LIBOGGFLAC_LIBS="-L$prefix/lib"
+- fi
+-
+ LIBOGGFLAC_LIBS="$LIBOGGFLAC_LIBS -lOggFLAC -lFLAC -lm"
+
+- if test "x$libOggFLAC_includes" != "x" ; then
+- LIBOGGFLAC_CFLAGS="-I$libOggFLAC_includes"
+- elif test "x$libOggFLAC_prefix" != "x" ; then
+- LIBOGGFLAC_CFLAGS="-I$libOggFLAC_prefix/include"
+- elif test "$prefix" != "xNONE"; then
+- LIBOGGFLAC_CFLAGS="-I$prefix/include"
+- fi
+-
+ AC_MSG_CHECKING(for libOggFLAC)
+ no_libOggFLAC=""
+
+--- a/autoconf/ogg.m4
++++ b/autoconf/ogg.m4
+@@ -26,24 +26,8 @@ AC_ARG_ENABLE(oggtest,
+ [Do not try to compile and run a test Ogg program]),,
+ [enable_oggtest=yes])
+
+- if test "x$ogg_libraries" != "x" ; then
+- OGG_LIBS="-L$ogg_libraries"
+- elif test "x$ogg_prefix" != "x" ; then
+- OGG_LIBS="-L$ogg_prefix/lib"
+- elif test "x$prefix" != "xNONE" ; then
+- OGG_LIBS="-L$prefix/lib"
+- fi
+-
+ OGG_LIBS="$OGG_LIBS -logg"
+
+- if test "x$ogg_includes" != "x" ; then
+- OGG_CFLAGS="-I$ogg_includes"
+- elif test "x$ogg_prefix" != "x" ; then
+- OGG_CFLAGS="-I$ogg_prefix/include"
+- elif test "x$prefix" != "xNONE"; then
+- OGG_CFLAGS="-I$prefix/include"
+- fi
+-
+ AC_MSG_CHECKING(for Ogg)
+ no_ogg=""
+
+--- a/autoconf/vorbis.m4
++++ b/autoconf/vorbis.m4
+@@ -27,27 +27,10 @@ AC_ARG_ENABLE(vorbistest,
+ [Do not try to compile and run a test Vorbis program]),
+ , [enable_vorbistest=yes])
+
+- if test "x$vorbis_libraries" != "x" ; then
+- VORBIS_LIBS="-L$vorbis_libraries"
+- elif test "x$vorbis_prefix" != "x" ; then
+- VORBIS_LIBS="-L$vorbis_prefix/lib"
+- elif test "x$prefix" != "xNONE"; then
+- VORBIS_LIBS="-L$prefix/lib"
+- fi
+-
+ VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm"
+ VORBISFILE_LIBS="-lvorbisfile"
+ VORBISENC_LIBS="-lvorbisenc"
+
+- if test "x$vorbis_includes" != "x" ; then
+- VORBIS_CFLAGS="-I$vorbis_includes"
+- elif test "x$vorbis_prefix" != "x" ; then
+- VORBIS_CFLAGS="-I$vorbis_prefix/include"
+- elif test "x$prefix" != "xNONE"; then
+- VORBIS_CFLAGS="-I$prefix/include"
+- fi
+-
+-
+ AC_MSG_CHECKING(for Vorbis)
+ no_vorbis=""
+
+--- a/configure.in
++++ b/configure.in
+@@ -91,21 +91,6 @@ else
+ x_config_flag=yes
+ fi
+
+-# Checking gcc environment
+-for i in `echo $LIBRARY_PATH|sed -e 's,:, ,g'`; do
+- LDFLAGS="$LDFLAGS -L${i}"
+-done
+-for i in `echo $C_INCLUDE_PATH|sed -e 's,:, ,g'`; do
+- CPPFLAGS="$CPPFLAGS -I${i}"
+-done
+-
+-# add $prefix if specified.
+-if test "x$prefix" != xNONE -a "x$prefix" != "x$ac_default_prefix" -a "x$prefix" != "x/usr"; then
+- LDFLAGS="-L$prefix/lib $LDFLAGS"
+- SHLDFLAGS="-L$prefix/lib $SHLDFLAGS"
+- CPPFLAGS="-I$prefix/include $CPPFLAGS"
+-fi
+-
+ dnl add --with-includes, --with-libraries
+ AC_ARG_WITH(includes,
+ AS_HELP_STRING([--with-includes=DIR], [Specify include directories (colon separated)]),
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-params.patch b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
new file mode 100644
index 0000000..d56448b
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
@@ -0,0 +1,22 @@
+--- configure.in
++++ configure.in
+@@ -2245,10 +2245,15 @@
+
+ AM_CONDITIONAL(W32READDIR, test "x$W32READDIR" = "xyes")
+
+-SET_UNIQ_WORDS(LDFLAGS,$LDFLAGS)
+-SET_UNIQ_WORDS(SHLDFLAGS,$SHLDFLAGS)
+-SET_UNIQ_WORDS(CFLAGS,$EXTRACFLAGS $CFLAGS)
+-SET_UNIQ_WORDS(CPPFLAGS,$CPPFLAGS $EXTRADEFS)
++# These break flags like --param wrt #276433
++# SET_UNIQ_WORDS(LDFLAGS,$LDFLAGS)
++# SET_UNIQ_WORDS(SHLDFLAGS,$SHLDFLAGS)
++# SET_UNIQ_WORDS(CFLAGS,$EXTRACFLAGS $CFLAGS)
++# SET_UNIQ_WORDS(CPPFLAGS,$CPPFLAGS $EXTRADEFS)
++LDFLAGS="$LDFLAGS"
++SHLDFLAGS="$SHLDFLAGS"
++CFLAGS="$EXTRACFLAGS $CFLAGS"
++CPPFLAGS="$CPPFLAGS $EXTRADEFS"
+
+ if test "x$oss_device" != x; then
+ AC_DEFINE_UNQUOTED(OSS_DEVICE,"$oss_device", oss device name)
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-pkg-config.patch b/media-sound/timidity++/files/timidity++-2.14.0-pkg-config.patch
new file mode 100644
index 0000000..15d6a4e
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-pkg-config.patch
@@ -0,0 +1,109 @@
+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
+@@ -148,6 +148,7 @@ AC_SUBST(xawresdir)
+
+ # Checks for programs.
+ AM_PATH_LISPDIR
++PKG_PROG_PKG_CONFIG
+ AC_PROG_CC
+ AC_PROG_GCC_TRADITIONAL
+ AC_PROG_INSTALL
+@@ -1318,8 +1319,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
+@@ -1635,60 +1636,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"
+- ],
+- [ 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"
+- ],
+- [ 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)
+- 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
+@@ -1855,7 +1804,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
+@@ -1909,7 +1858,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++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch b/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch
new file mode 100644
index 0000000..a83a7db
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch
@@ -0,0 +1,28 @@
+This will revert part of the commit from:
+
+http://timidity.git.sourceforge.net/git/gitweb.cgi?p=timidity/timidity;a=commit;h=e73b53437dbc1e57e61dd4d0c1407784797b08d9
+
+Because otherwise TiMidity++ simply won't build as per:
+
+../interface/libinterface.a(xskin_c.o): In function `ctl_event':
+xskin_c.c:(.text+0x17c): undefined reference to `ctl_speana_data'
+collect2: error: ld returned 1 exit status
+
+--- interface/xskin_c.c
++++ interface/xskin_c.c
+@@ -228,7 +228,6 @@
+ }
+ }
+
+-#if 0
+ static void ctl_speana_data(double *val, int size) {
+
+ /* 0 <= val[n] <= (AMP*NCOLOR) */
+@@ -280,7 +279,6 @@
+
+ return;
+ }
+-#endif
+
+ /*ARGSUSED*/
+ static int ctl_open(int using_stdin, int using_stdout) {
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
new file mode 100644
index 0000000..ea2c0ee
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/451296
+
+--- interface/tk_c.c
++++ interface/tk_c.c
+@@ -913,7 +913,7 @@
+ vsnprintf(buf, sizeof(buf), fmt, ap);
+ Tcl_Eval(my_interp, buf);
+ va_end(ap);
+- return my_interp->result;
++ return Tcl_GetStringResult(my_interp);
+ }
+
+ static const char *v_get2(const char *v1, const char *v2)
diff --git a/media-sound/timidity++/files/timidity.cfg-r1 b/media-sound/timidity++/files/timidity.cfg-r1
new file mode 100644
index 0000000..3923fb2
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.cfg-r1
@@ -0,0 +1,24 @@
+##############################################################################
+#
+# timidity-update core configuration file
+#
+# Easy process:
+#
+# 1. Change directory to patch directory
+# 2. Source current/timidity.cfg
+#
+# Current patch set will always be symlinked to current, so make sure that the
+# proper timidity.cfg is in there
+#
+#
+# - source /usr/share/timidity
+# - source ~/.timidity/current
+# - Make ~/.timidity/current point to the current patch set, or to whatever
+# the individual user sets
+# - If ~/.timidity/current isn't found, it will try
+# /usr/share/timidity/current
+#
+
+dir /usr/share/timidity
+dir ~/.timidity
+source current/timidity.cfg
diff --git a/media-sound/timidity++/files/timidity.desktop.2 b/media-sound/timidity++/files/timidity.desktop.2
new file mode 100644
index 0000000..00c7f1d
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.desktop.2
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Comment=Software sound renderer (MIDI sequencer, MOD player)
+Name=TiMidity++ MIDI sequencer
+Terminal=true
+NoDisplay=true
+Type=Application
+Exec=timidity %F
+Categories=AudioVideo;Audio;Sequencer;
+Icon=timidity
+MimeType=audio/midi;audio/x-mod;
diff --git a/media-sound/timidity++/files/timidity.service b/media-sound/timidity++/files/timidity.service
new file mode 100644
index 0000000..420d888
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=TiMidity++ Daemon
+After=sound.target
+
+[Service]
+EnvironmentFile=-/etc/conf.d/timidity
+ExecStart=/usr/bin/timidity -iA $TIMIDITY_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/media-sound/timidity++/files/timidity.xpm b/media-sound/timidity++/files/timidity.xpm
new file mode 100644
index 0000000..dc56a6d
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.xpm
@@ -0,0 +1,56 @@
+/* XPM */
+static char * timidity_xpm[] = {
+"32 32 21 1",
+" c None",
+". c #333399",
+"+ c #000000",
+"@ c #666699",
+"# c #FFFFFF",
+"$ c #DDDDDD",
+"% c #888888",
+"& c #999999",
+"* c #7777A4",
+"= c #4949A4",
+"- c #BBBBBB",
+"; c #111111",
+"> c #444444",
+", c #2B2B2B",
+"' c #555555",
+") c #FF9999",
+"! c #FF9966",
+"~ c #666666",
+"{ c #333333",
+"] c #FF0000",
+"^ c #00FF00",
+" . .. ",
+" . ... + ",
+" . ..@ +#+ + ",
+" .@@.. +#$#+%#+ ",
+" ....@ +#$#$#+$#+ ",
+" .... +#$#$#$#+$#+ ",
+" @...@ +#$#$#$#$#+$#+ ",
+" @.... +#$#$#$#$#$#+$#+ ",
+" @...@. %#$#$#$#$#$#$#&$#& ",
+" @...@ +++++++$#++$+++++&$++ ",
+" ...@ ++$++#++$++#++$$++$++$ ",
+" @..@ %++#++$++#++$++$&++$++ ",
+" ... %#++$++#++$++#++&$++#++ ",
+"*..@ .&++#++$++#++$++++++&++ ",
+"=.. ...&#$#$#$#$#$#&-$#$& ",
+"=.. ...+++++$++#+$+++++++ ++ ",
+"=.. .. .&#$#$#$$&-$#&& ",
+"=.. .. . +&$#$&+-$#&+ ",
+" ;;;;;;;;;;;;;;;;;;;>;;;;;;; ",
+",#%%%%%%%%%%%%%%%%%';#%%%%%'+ ",
+",%+++++++++++++++''>;%'''''>+ ",
+",%+#)))))))))))!;''>;%'%~+'>+ ",
+",'+);;!;!!;!!!!!;>>>;'>+++>>+ ",
+",'+)>!!;!!;!;!;!;>>>;'>>>>>>+ ",
+",'+!!!!!!!!!!!!!;>>{;'>%~+>>+ ",
+",'+;;;;;;;;;;;;;'>>{;'>+++>>+ ",
+",'>>>>>>>>>>>>>>>>>{;'>>>>>>+> ",
+",'%~'>>%~'>>'>'>'>>{;'>%~+>{++> ",
+",']++>>^++>>+>+>+>>{;'>+++>{++>>",
+",'>>>>>>>>>>>>>>{{{';'>>{{{'+>>~",
+" +++++++++++++++++++>+++++++>>~ ",
+" "};
diff --git a/media-sound/timidity++/metadata.xml b/media-sound/timidity++/metadata.xml
new file mode 100644
index 0000000..99d0e78
--- /dev/null
+++ b/media-sound/timidity++/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">timidity</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-sound/timidity++/timidity++-2.14.0-r3.ebuild b/media-sound/timidity++/timidity++-2.14.0-r3.ebuild
new file mode 100644
index 0000000..5bd7e1a
--- /dev/null
+++ b/media-sound/timidity++/timidity++-2.14.0-r3.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils elisp-common user systemd toolchain-funcs
+
+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"
+IUSE="motif oss nas X gtk vorbis tk slang alsa jack emacs ao selinux speex flac ncurses"
+
+DEPEND="ncurses? ( >=sys-libs/ncurses-5 )
+ emacs? ( virtual/emacs )
+ gtk? ( x11-libs/gtk+:2 )
+ tk? ( >=dev-lang/tk-8.5.13 )
+ nas? ( >=media-libs/nas-1.4 )
+ alsa? ( media-libs/alsa-lib )
+ slang? ( sys-libs/slang )
+ jack? ( virtual/jack )
+ vorbis? ( media-libs/libvorbis )
+ flac? ( media-libs/flac )
+ speex? ( media-libs/speex )
+ ao? ( >=media-libs/libao-0.8.5 )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ X? ( x11-libs/libXaw x11-libs/libXext >=media-libs/libpng-1.4.2 )"
+RDEPEND="${DEPEND}
+ alsa? ( media-sound/alsa-utils )
+ app-eselect/eselect-timidity
+ 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
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-params.patch \
+ "${FILESDIR}"/${P}-revert-for-required-ctl_speana_data-function.patch \
+ "${FILESDIR}"/${P}-tcltk86.patch \
+ "${FILESDIR}"/${P}-ar.patch \
+ "${FILESDIR}"/${P}-configure-flags.patch \
+ "${FILESDIR}"/${P}-pkg-config.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ export EXTRACFLAGS="${CFLAGS}" #385817
+
+ local myconf=()
+ local audios
+
+ 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"
+ 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+=",alsa"
+ 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+=( --enable-motif --with-x )
+ use X || ewarn "Basic X11 support will be enabled because required by motif."
+ fi
+
+ econf \
+ --localstatedir=/var/state/timidity++ \
+ --with-module-dir="${EPREFIX}/usr/share/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[@]}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog*
+ dodoc NEWS README* "${FILESDIR}"/timidity.cfg-r1
+
+ # 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 "${D}"/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
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}