summaryrefslogtreecommitdiff
path: root/media-sound/timidity++
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-08-25 07:36:27 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-08-25 07:36:27 +0100
commit43793fab84041cfc5c60c0151d1591b8a69fb24a (patch)
tree6208a7f4fc744684fce0f55acbb47511acace498 /media-sound/timidity++
parent28e3d252dc8ac8a5635206dfefe1cfe05058d1db (diff)
gentoo resync : 25.08.2018
Diffstat (limited to 'media-sound/timidity++')
-rw-r--r--media-sound/timidity++/Manifest9
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11546.patch31
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11547.patch67
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-params.patch4
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch4
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch4
-rw-r--r--media-sound/timidity++/timidity++-2.14.0-r3.ebuild199
7 files changed, 309 insertions, 9 deletions
diff --git a/media-sound/timidity++/Manifest b/media-sound/timidity++/Manifest
index da8824d683ff..94aa87523b03 100644
--- a/media-sound/timidity++/Manifest
+++ b/media-sound/timidity++/Manifest
@@ -1,16 +1,19 @@
AUX 50timidity++-gentoo.el 180 BLAKE2B 78cf106525eadbd201ef1497e2304213d1575c3c761b507281ac2bbdf0fb873ee4c68a91a2fa623edbd2ee9145e178a4ef5300e9644ce86953ac92fd4f999fce SHA512 21df87bf47d56c1072fc3942f3c988293106028dd0473dd1a03b66edc4e7586a3cf5150abdf3c932e44dc32a97ce9cbaa8016dcb28e5e60195f1fe9418ab3bd6
AUX conf.d.timidity.2 972 BLAKE2B dc7a04ee54f82f7200c2ad4e9ec4ca22387d86fa99417aaf44db4f45ba15214026f010dee1051aab3707e0579163fe8398ab56a6dbfe63a271b13e7d59071ad8 SHA512 67668a6a00408ecc1e467be8f372b78be318e940d75c0fb856fadc5e5446e5d1a461c004856ab851968d6c146e662e766c09da6b815fd14b7675b92b975cabd9
AUX init.d.timidity.4 510 BLAKE2B 88ff1704278784218748e1c5f81104e9928aa62616722a5d435e40ab68d8adf3945b5a5831521b9490d95cbd4fcaa73f661ac20e25879a48207deb4ae9d51a34 SHA512 597b79bbeac3c3365cf3b0d6defe7b3f031bf1acbefd33094e76f07394a4d5b21a79ce62c276928fed68de1eb02a30ec1eb8204be6d034d8c2dd92145e82faa3
+AUX timidity++-2.14.0-CVE-2017-11546.patch 1005 BLAKE2B e22fba2c36f8ff3dacbe67978a65024a25d82caf8f14d493b9ebc98a602ac022cd2258898a96d020683ee7896822cb787c8527d5d7a80ab71b51d28803ea2293 SHA512 33422016541eca77d48b27946c131c333837a3719fd9d83e162d2db9c5dd20a262650563a98b8402c92ed2383d9e29c189840408b6658f27de12b19e7b69d3b2
+AUX timidity++-2.14.0-CVE-2017-11547.patch 2480 BLAKE2B 6db9598d7f8c9b969163f8ceaab0832db0b2f1571ec3e23d276aa77464fad58c5db9de9a07507ecefed08840dc9ef6e9c5ce30b90188ae150536fc4fd3fdc8f3 SHA512 48083c7a59196c0cf4e82cf53ffd92edf995347a4e49e2450b2ea3ea2e6ad014d13b3881c54ca0c7ad312dd977c64d836cf543c66fc8367038271f3888c294c8
AUX timidity++-2.14.0-ar.patch 822 BLAKE2B ecd76b6297cfc6fa04fdc1760dad9879a2835db79378df98a224e758d22aaa08fa7cd6f82c16b394e6d6b4bd103b9f69b7ff84b2c7ebb1b0c82c487cc8eb5dd5 SHA512 b0c26daa94361bc471034431c0632052ceb2a8e001caabfb7e08bd3f401932724981dc2c903132f9319d16038f7bac05843ca8da1112a5a3bab626c88244514b
AUX timidity++-2.14.0-configure-flags.patch 4241 BLAKE2B d1d083ad5e397aa0e827cd21eb98b4143638559c31d38d9541f41a6d4dc12358a1c17c8115f956e177359f9ca122ee44e775abd7b6009777ca1eaaaeeadd59a1 SHA512 be9ca5a580a47af5eb29e180c81b141628692e2cb538113b3ec596e4b800fb6d4792fa4c72921414ba41a8e6932ae655e9b9a1428021333471e2929fdab07b17
-AUX timidity++-2.14.0-params.patch 712 BLAKE2B 904006f05176395e1c244c67a4b88fe7a6a69a350ad87bb9b54d207ee592a56ea191b8d8f4c47bf4bd7c8330238ac317bf631a529c1c775e274a55212464a899 SHA512 63e2a1be6fec715680230de158d1fb09d5288a068288ac33b37320491ac29ec1c66f60d05ffb352c4a192540163e9c93369115fe606aa25295b727332e92874c
+AUX timidity++-2.14.0-params.patch 716 BLAKE2B d4426e36db91fea9561a81bacb5337c8da3e385a598ebd61a38cb00ff2ab8be5b07c6259068ea31e11d0e755b28ba5769ee0cf9e6a7c31a272d1145d70e0521c SHA512 b35596de8ba6ffc4ff91a8ab7a2a0a25c658af97f8aa4e226737e910227e2a11bf4b227a5f8c61ddc1452cd614e03f75736787a2240cc530e90aba437371a09a
AUX timidity++-2.14.0-pkg-config.patch 3836 BLAKE2B 64757187ff860fbd4359dca0f567e7b71ad11ffa060e736deccd4994e0409bcc86f1f5151414e532e22f07e4dc9a6b5d75b1617c21deab616a319622a3ced0c4 SHA512 2dba5ca948d31d4498f44f8b4c67d59294e7cf722652b62f9502222867f1c93fa491b9741c049bde7ac976c74e52639bfc359a88e2c7f3728b723e272e40692d
-AUX timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch 697 BLAKE2B 8efabaab0410df70579316514b3a9bf9a08a234702a17b78a96b7d1340f6388c7f78411d7e5c309957e0d84d579ae93135699918e9ad3c6a3484615ddd3afcd1 SHA512 d5716b7977f5c013c61da2e9f3e233b17e3b4b95cb14b2e459bae3c69316440be899278b44566a1640d8d82b683811348c22f5e859512c523baee4939bc2a497
-AUX timidity++-2.14.0-tcltk86.patch 308 BLAKE2B 2f3cfa71fb205fe55848b2df1e3da622b72b9afde706b3ac1f5033999d034d2448f6181e6b0cd9eada89a0b0a007f658b3e14a22e53df06ca6f298b7d7a56b0d SHA512 37e8a97fe1a09382234011ab253443ba9e9be78cdb7bb4dd03ee5756bda8e614bc627a091d10b480a3ef5bca9e3961c2f14e92a548782145d2bb61da991d5f62
+AUX timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch 701 BLAKE2B 32fa47b354cc3d9aedd0b3466eb69de08757f731c39d4b11fd8377d607918eedaedb0747b63ab031479790460303e971ad153875b448166632e90cab2af95598 SHA512 096ec664e401446bebe2395309cbe57c61c711a1ce4c23984ba668cdc9aef1a23a1c5d4f9111c0a2bb4e634368b57093f2dfb0aa1c60e281098bac646b8b9214
+AUX timidity++-2.14.0-tcltk86.patch 312 BLAKE2B 040b5c96771398e41adf62354bd48caeadcf030398128c39212f6226abb996d4f086d0476799726d761e0c93b84165c71d7b05a1060c1244483bbae7df782e8b SHA512 e6fd991cf5a1d568dccc1a47629e5562721325668e498b7474382b3f53f3161f1e0f40144ec5e2bb5d6f2b83ddc46fd22a2998d17763e142362cb7419a0bc31e
AUX timidity.cfg-r1 669 BLAKE2B 023edf8f503f23817c1941a0cb1a0341f0ff1475405fc906a9acf4adb36ca8769bc015df5c30af50a828dd522d214bf9d6c4feabe2db3419e8100ebd431fdbdb SHA512 98f0690bda6deed6022e97e74a6114334d5f965d646d7c7d150ac177f6eb78277e931ed0b4c5613ef16ba648eaad66a3ed72ed933ca936698ca81365151b223b
AUX timidity.desktop.2 257 BLAKE2B 6c7f88a3ccd9fc4ea90cd228e6d04d799430a78361d6df3428e127c1eb7ea2b82750c86932239c8a6ceb507d06fce2bc5e5ee963d56fd0e8daf2ff7890a9e68a SHA512 34312594866d77244d0eb77b4111a8e7998bd20bcb3542b036b1626d73bf4672eef677a926badceaaee517f1d32752b3e3b1ea4d3f2cc0703d66c1c740e0dc2e
AUX timidity.service 190 BLAKE2B 909311fae666b9970a8b4d56e1848f907ffeff1fc9e0cacc7a89027ec1ce6a555ea01570328d75425b006752d6332cf278642ec9a7c27b9c9adb2cb7621e241e SHA512 1022c1e37e2a97fba414673860ec89bc146da208981dd50d9486c525b47c74ae146acef2d75ceec26335c3ab98b2c928ce480a161637990ecd737507a6c21b49
AUX timidity.xpm 1522 BLAKE2B 9aee528dbf843d992d548adc923f817373013760128ae96df7becb6bc844a95ddc056b072dbaea1528d9db5c2d4836b09f8316b740c75033fc23a0bb76186fab SHA512 1630fc235e450e5420c598357ad98eed6f04b1d1035fd6284dfeb2e633ce5d80135f89ea593d58b4eac2b9405383787e4d891b9c22ff8b5ac3ece64e9abe7d4e
DIST TiMidity++-2.14.0.tar.xz 1356476 BLAKE2B 8d4a360d1c16b250f3bef7c010e1e263fdda13446437ff2454dc2c2a717246c4d27836a3b40586b12b33e175bc54ee211a3a1798005733461cf5833eda11811a SHA512 d8fc06fa36e4dd42de80c61943da4cd9aec5f8aaf31057a9ededa633d2d48e64c4e53391378d82a7a46ffe4f96c756b010ea9727270f80b134ae1f8bad535bd3
EBUILD timidity++-2.14.0-r2.ebuild 5120 BLAKE2B ea61c55377c185c5b8f5ef21f65805903ab81a816932fe356d438bc91e06768ba93a2e0742079322aaef32870350999f1a8dac5898626e07b3c09cc00c4fdfd3 SHA512 331162f1be948e0ad0f8c3d05ace64d654991225cbb654957519b932ed4687a79234381bcdcf6ecd0cad9add9c3575b3d019d10f8725e76ffee8c2992a7ecf16
+EBUILD timidity++-2.14.0-r3.ebuild 5252 BLAKE2B 8ec893135153cd67d3984bbb1637310f66c7d55352627cec8918da4d9979316cc5a420b33c87f7b7fe71fce97dc4d81670e6eea722d12511996731dc26f2c536 SHA512 bb33e53402ba0eed094cf7921ee49a5b593ec5fa25b8968695e63b3524ced2eb695a1dc2c6d37930d932345d268d6db7d11554d4c3730267e50bed51efecb8ec
MISC metadata.xml 331 BLAKE2B 0e52df0230422381a5982f075e39f00e982f9948a3d3309d183bbac93569d908fe3603082f11943fc35e3b8bd1c76bc131e7525c91e3aac5b7d9461093686f71 SHA512 b4559e92a59ba70b25863304bbdc59225c6ccbf3ee9ab8516db6987a19e8b5b7b6ea95f40c9ff55ed33c194ab174360d5f8fd6bfafa43290bb97a3a2093289e3
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11546.patch b/media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11546.patch
new file mode 100644
index 000000000000..94135e98b96a
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11546.patch
@@ -0,0 +1,31 @@
+From 2386ec2c745f6c5075e53ea051da211336b44b84 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 26 Jun 2018 22:31:27 +0200
+Subject: readmidi: Fix division by zero
+
+References: CVE-2017-11546
+
+An adhoc fix for division by zero in insert_note_steps().
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+bug-debian: https://bugs.debian.org/870338
+bug-suse: https://bugzilla.suse.com/show_bug.cgi?id=1081694
+bug: https://bugzilla.suse.com/show_bug.cgi?id=1081694
+origin: https://bugzilla.suse.com/attachment.cgi?id=760825
+---
+ timidity/readmidi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/timidity/readmidi.c b/timidity/readmidi.c
+index 158388a..341777e 100644
+--- a/timidity/readmidi.c
++++ b/timidity/readmidi.c
+@@ -4585,6 +4585,8 @@ static void insert_note_steps(void)
+ if (beat != 0)
+ meas++, beat = 0;
+ num = timesig[n].a, denom = timesig[n].b, n++;
++ if (!denom)
++ denom = 1;
+ }
+ a = (meas + 1) & 0xff;
+ b = (((meas + 1) >> 8) & 0x0f) + ((beat + 1) << 4);
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11547.patch b/media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11547.patch
new file mode 100644
index 000000000000..12562a577e0e
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-CVE-2017-11547.patch
@@ -0,0 +1,67 @@
+From 34328d22cbb4ccf03f29223f54f1834c796d86a2 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 26 Jun 2018 22:31:28 +0200
+Subject: resample: Fix out-of-bound access in resamplers
+
+References: CVE-2017-11547
+
+An adhoc fix for out-of-bound accesses in resamples.
+The offset might overflow the given data range.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+bug-debian: https://bugs.debian.org/870338
+bug-suse: https://bugzilla.suse.com/show_bug.cgi?id=1081694
+origin: https://bugzilla.suse.com/attachment.cgi?id=760826
+---
+ timidity/resample.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/timidity/resample.c b/timidity/resample.c
+index cd6b8e6..4a3fadf 100644
+--- a/timidity/resample.c
++++ b/timidity/resample.c
+@@ -57,6 +57,8 @@ static resample_t resample_cspline(sample_t *src, splen_t ofs, resample_rec_t *r
+ {
+ int32 ofsi, ofsf, v0, v1, v2, v3, temp;
+
++ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
++ return src[ofs >> FRACTION_BITS];
+ ofsi = ofs >> FRACTION_BITS;
+ v1 = src[ofsi];
+ v2 = src[ofsi + 1];
+@@ -96,6 +98,8 @@ static resample_t resample_lagrange(sample_t *src, splen_t ofs, resample_rec_t *
+ {
+ int32 ofsi, ofsf, v0, v1, v2, v3;
+
++ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
++ return src[ofs >> FRACTION_BITS];
+ ofsi = ofs >> FRACTION_BITS;
+ v1 = (int32)src[ofsi];
+ v2 = (int32)src[ofsi + 1];
+@@ -154,6 +158,8 @@ static resample_t resample_gauss(sample_t *src, splen_t ofs, resample_rec_t *rec
+ sample_t *sptr;
+ int32 left, right, temp_n;
+
++ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
++ return src[ofs >> FRACTION_BITS];
+ left = (ofs>>FRACTION_BITS);
+ right = (rec->data_length>>FRACTION_BITS) - left - 1;
+ temp_n = (right<<1)-1;
+@@ -261,6 +267,8 @@ static resample_t resample_newton(sample_t *src, splen_t ofs, resample_rec_t *re
+ int32 left, right, temp_n;
+ int ii, jj;
+
++ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
++ return src[ofs >> FRACTION_BITS];
+ left = (ofs>>FRACTION_BITS);
+ right = (rec->data_length>>FRACTION_BITS)-(ofs>>FRACTION_BITS)-1;
+ temp_n = (right<<1)-1;
+@@ -330,6 +338,8 @@ static resample_t resample_linear(sample_t *src, splen_t ofs, resample_rec_t *re
+ {
+ int32 v1, v2, ofsi;
+
++ if (ofs + (1 << FRACTION_BITS) >= rec->data_length)
++ return src[ofs >> FRACTION_BITS];
+ ofsi = ofs >> FRACTION_BITS;
+ v1 = src[ofsi];
+ v2 = src[ofsi + 1];
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-params.patch b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
index d56448b8761b..18790f8bffb4 100644
--- a/media-sound/timidity++/files/timidity++-2.14.0-params.patch
+++ b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
@@ -1,5 +1,5 @@
---- configure.in
-+++ configure.in
+--- a/configure.in
++++ b/configure.in
@@ -2245,10 +2245,15 @@
AM_CONDITIONAL(W32READDIR, test "x$W32READDIR" = "xyes")
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
index a83a7db993f8..6f901eab8bc0 100644
--- 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
@@ -8,8 +8,8 @@ Because otherwise TiMidity++ simply won't build as per:
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
+--- a/interface/xskin_c.c
++++ b/interface/xskin_c.c
@@ -228,7 +228,6 @@
}
}
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
index ea2c0eec6c7d..23ef62aa03e5 100644
--- a/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
+++ b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
@@ -1,7 +1,7 @@
http://bugs.gentoo.org/451296
---- interface/tk_c.c
-+++ interface/tk_c.c
+--- a/interface/tk_c.c
++++ b/interface/tk_c.c
@@ -913,7 +913,7 @@
vsnprintf(buf, sizeof(buf), fmt, ap);
Tcl_Eval(my_interp, buf);
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 000000000000..5a1770ebcfdb
--- /dev/null
+++ b/media-sound/timidity++/timidity++-2.14.0-r3.ebuild
@@ -0,0 +1,199 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools desktop elisp-common systemd toolchain-funcs user xdg-utils
+
+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="motif oss nas X gtk vorbis tk slang alsa jack emacs ao selinux speex flac ncurses"
+
+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}"/${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
+ "${FILESDIR}"/${P}-CVE-2017-1154{6,7}.patch
+)
+
+src_prepare() {
+ default
+ 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
+ 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 "${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
+
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+ xdg_desktop_database_update
+}