Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/timidity++/files/, media-sound/timidity++/
Date: Tue, 12 Mar 2019 08:25:32
Message-Id: 1552379097.e9aa0cde103128dad32502db4f43e1c058ce800e.polynomial-c@gentoo
1 commit: e9aa0cde103128dad32502db4f43e1c058ce800e
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue Mar 12 08:24:57 2019 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 12 08:24:57 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9aa0cde
7
8 media-sound/timidity++: Bump to version 2.15.0
9
10 Thanks-to: Robert Gill <locke <AT> sdf.lonestar.org>
11 Closes: https://bugs.gentoo.org/676610
12 Package-Manager: Portage-2.3.62, Repoman-2.3.12
13 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
14
15 media-sound/timidity++/Manifest | 1 +
16 .../files/timidity++-2.15.0-pkg-config.patch | 118 ++++++++++++
17 media-sound/timidity++/timidity++-2.15.0.ebuild | 210 +++++++++++++++++++++
18 3 files changed, 329 insertions(+)
19
20 diff --git a/media-sound/timidity++/Manifest b/media-sound/timidity++/Manifest
21 index 0ff73fe8285..6417e3383c2 100644
22 --- a/media-sound/timidity++/Manifest
23 +++ b/media-sound/timidity++/Manifest
24 @@ -1 +1,2 @@
25 DIST TiMidity++-2.14.0.tar.xz 1356476 BLAKE2B 8d4a360d1c16b250f3bef7c010e1e263fdda13446437ff2454dc2c2a717246c4d27836a3b40586b12b33e175bc54ee211a3a1798005733461cf5833eda11811a SHA512 d8fc06fa36e4dd42de80c61943da4cd9aec5f8aaf31057a9ededa633d2d48e64c4e53391378d82a7a46ffe4f96c756b010ea9727270f80b134ae1f8bad535bd3
26 +DIST TiMidity++-2.15.0.tar.xz 1363040 BLAKE2B 63612dc96ddef9b24ca35a8fa24c22fee8b0573efb09543e6017070b2d0a68494bc34afe8ffc50b5f7fe2d95397a971d5dc7afd4c9adbb524b119012e716b7f7 SHA512 36c3c79d941903109d5d6d529963d12e8192a857e80402ad5ab0d1e223451a7cf5dc8fdd046b22ae7da96f413d68db8587a8fce348635838eba2f30f7019192f
27
28 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
29 new file mode 100644
30 index 00000000000..3c2e269be02
31 --- /dev/null
32 +++ b/media-sound/timidity++/files/timidity++-2.15.0-pkg-config.patch
33 @@ -0,0 +1,118 @@
34 +use $PKG_CONFIG rather than `pkg-config`
35 +
36 +https://bugs.gentoo.org/497362
37 +get ncurses info via pkg-config while we're at it
38 +
39 +patch by Mike Frysinger <vapier@g.o>
40 +
41 +--- a/configure.in
42 ++++ b/configure.in
43 +@@ -163,6 +163,7 @@ AC_SUBST(xawresdir)
44 +
45 + # Checks for programs.
46 + AM_PATH_LISPDIR
47 ++PKG_PROG_PKG_CONFIG
48 + AC_PROG_CC
49 + AC_PROG_GCC_TRADITIONAL
50 + AC_PROG_INSTALL
51 +@@ -1348,8 +1349,8 @@ AC_MSG_CHECKING(enable_audio=jack)
52 + if test "x$au_enable_jack" = xyes; then
53 + AC_MSG_RESULT(yes)
54 + SYSEXTRAS="$SYSEXTRAS jack_a.c"
55 +- EXTRALIBS="$EXTRALIBS $(pkg-config --libs jack)"
56 +- EXTRADEFS="$EXTRADEFS -DAU_JACK $(pkg-config --cflags jack)"
57 ++ EXTRALIBS="$EXTRALIBS $(${PKG_CONFIG} --libs jack)"
58 ++ EXTRADEFS="$EXTRADEFS -DAU_JACK $(${PKG_CONFIG} --cflags jack)"
59 + else
60 + AC_MSG_RESULT(no)
61 + fi
62 +@@ -1665,69 +1666,8 @@ dnl ncurses
63 + AM_CONDITIONAL(ENABLE_NCURSES, false)
64 + CONFIG_INTERFACE(ncurses,NCURSES,n,
65 + AS_HELP_STRING([--enable-ncurses], [Enable ncurses interface (default is no)]),
66 +- [ AC_CHECK_HEADERS(ncurses.h ncurses/curses.h curses.h)
67 +-
68 +-dnl #include <ncurses/curses.h> is failure on Plamo Linux 1.3/ncurses 1.9.9e
69 +-dnl because <ncurses/curses.h> includes <unctrl.h>:
70 +-dnl /usr/include/ncurses/curses.h:34: unctrl.h: No such file or directory
71 +-dnl But surely there is unctl.h at /usr/include/ncurses/unctrl.h.
72 +-dnl configure must check ncurses header with -I/usr/include/ncurses option.
73 +-
74 +- case "$ac_cv_header_curses_h$ac_cv_header_ncurses_curses_h$ac_cv_header_ncurses_h" in
75 +- *yes*);;
76 +- *) for i in /usr/include /usr/local/include; do
77 +- if test -f "$i/ncurses/curses.h" -a -f "$i/ncurses/unctrl.h"; then
78 +- AC_MSG_WARN(ncurses test is failure. Please check config.h and common.makefile later)
79 +- CPPFLAGS="$CPPFLAGS -I$i/ncurses"
80 +- break
81 +- fi
82 +- done
83 +- ;;
84 +- esac
85 +-
86 +- AC_CHECK_LIB(ncurses,initscr,lib_curses_opt=-lncurses,
87 +- [ dnl checking pdcurses
88 +- AC_CHECK_LIB(curses,PDC_set_ctrl_break,
89 +- [ lib_curses_opt=-lcurses
90 +- AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses)
91 +- lib_user32_opt="$lib_user32_test"
92 +- AC_CHECK_LIB(curses, vwprintw,
93 +- AC_DEFINE(HAVE_VWPRINTW, 1,
94 +- [Define to 1 if you have the `vwprintw' function.]))
95 +- ],
96 +- [ dnl checking libpdcurses
97 +- AC_CHECK_LIB(pdcurses,PDC_set_ctrl_break,
98 +- [ lib_curses_opt=-lpdcurses
99 +- AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses)
100 +- lib_user32_opt="$lib_user32_test"
101 +- AC_CHECK_LIB(pdcurses, vwprintw,
102 +- AC_DEFINE(HAVE_VWPRINTW, 1,
103 +- [Define to 1 if you have the `vwprintw' function.]))
104 +- ],
105 +- [ dnl OpenBSD use -lcurses instead of -lncurses.
106 +- case "$target" in
107 +- *openbsd*)
108 +- AC_CHECK_LIB(curses,initscr,lib_curses_opt=-lcurses,
109 +- [ AC_MSG_WARN(ncurses interface is not enabled)
110 +- enable_ncurses=no ])
111 +- ;;
112 +- *)
113 +- if test "x$VCPP" = xyes || test "x$BORLANDC" = xyes || test "x$WATCOM_C" = xyes || test "x$DMC" = xyes || test "x$POCC" = xyes; then
114 +- lib_curses_opt=libpdcurses.lib
115 +- AC_DEFINE(USE_PDCURSES,1,Define to 1 if you use PDcurses)
116 +- AC_CHECK_LIB(pdcurses, vwprintw,
117 +- AC_DEFINE(HAVE_VWPRINTW, 1,
118 +- [Define to 1 if you have the `vwprintw' function.]))
119 +- else
120 +- AC_MSG_WARN(ncurses interface is not enabled)
121 +- enable_ncurses=no
122 +- fi
123 +- ;;
124 +- esac
125 +- ])
126 +- ],
127 +- $lib_user32_test)
128 +- ])
129 ++ [ CPPFLAGS="$CPPFLAGS $(${PKG_CONFIG} --cflags ncurses)"
130 ++ lib_curses_opt=$(${PKG_CONFIG} --libs ncurses)
131 + ],
132 + [ LIBS="$LIBS $lib_curses_opt"
133 + case "$target" in
134 +@@ -1894,7 +1834,7 @@ CONFIG_INTERFACE(xaw,XAW,a,
135 + lib_xmu_opt=-lXmu
136 + lib_xt_opt=-lXt
137 + if test "x$enable_xft" = "xyes" && test "x$have_xaw" != "xno"; then
138 +- XFT_CFLAGS="$(pkg-config --cflags xft)";
139 ++ XFT_CFLAGS="$(${PKG_CONFIG} --cflags xft)";
140 + EXTRACT_CPPFLAGS(CPPFLAGS,CFLAGS,$XFT_CFLAGS)
141 + lib_xft_opt="-lXft";
142 + fi
143 +@@ -1948,7 +1888,7 @@ CONFIG_INTERFACE(xaw,XAW,a,
144 + ;;
145 + esac
146 + if test "x$enable_xft" = "xyes" && test "x$have_xaw" != "xno"; then
147 +- XFT_CFLAGS="$(pkg-config --cflags xft)";
148 ++ XFT_CFLAGS="$(${PKG_CONFIG} --cflags xft)";
149 + EXTRACT_CPPFLAGS(CPPFLAGS,CFLAGS,$XFT_CFLAGS)
150 + a_so_libs="$a_so_libs -lXft";
151 + fi
152
153 diff --git a/media-sound/timidity++/timidity++-2.15.0.ebuild b/media-sound/timidity++/timidity++-2.15.0.ebuild
154 new file mode 100644
155 index 00000000000..286e33775ee
156 --- /dev/null
157 +++ b/media-sound/timidity++/timidity++-2.15.0.ebuild
158 @@ -0,0 +1,210 @@
159 +# Copyright 1999-2019 Gentoo Authors
160 +# Distributed under the terms of the GNU General Public License v2
161 +
162 +EAPI=7
163 +
164 +inherit autotools desktop elisp-common systemd toolchain-funcs user xdg
165 +
166 +MY_PV=${PV/_/-}
167 +MY_P=TiMidity++-${MY_PV}
168 +S=${WORKDIR}/${MY_P}
169 +
170 +DESCRIPTION="A handy MIDI to WAV converter with OSS and ALSA output support"
171 +HOMEPAGE="http://timidity.sourceforge.net/"
172 +SRC_URI="mirror://sourceforge/timidity/${MY_P}.tar.xz"
173 +
174 +LICENSE="GPL-2"
175 +SLOT="0"
176 +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
177 +IUSE="alsa ao emacs flac gtk jack motif nas ncurses oss selinux slang speex tk vorbis X"
178 +
179 +REQUIRED_USE="tk? ( X )"
180 +
181 +DEPEND="
182 + alsa? ( media-libs/alsa-lib )
183 + ao? ( >=media-libs/libao-0.8.5 )
184 + emacs? ( virtual/emacs )
185 + flac? ( media-libs/flac )
186 + gtk? ( x11-libs/gtk+:2 )
187 + jack? ( virtual/jack )
188 + motif? ( >=x11-libs/motif-2.3:0 )
189 + nas? ( >=media-libs/nas-1.4 )
190 + ncurses? ( sys-libs/ncurses:0= )
191 + slang? ( sys-libs/slang )
192 + speex? ( media-libs/speex )
193 + tk? ( dev-lang/tk:0= )
194 + vorbis? ( media-libs/libvorbis )
195 + X? (
196 + media-libs/libpng:0=
197 + x11-libs/libXaw
198 + x11-libs/libXext
199 + )
200 +"
201 +RDEPEND="${DEPEND}
202 + app-eselect/eselect-timidity
203 + alsa? ( media-sound/alsa-utils )
204 + selinux? ( sec-policy/selinux-timidity )
205 +"
206 +
207 +PDEPEND="|| ( media-sound/timidity-eawpatches media-sound/timidity-freepats )"
208 +
209 +SITEFILE=50${PN}-gentoo.el
210 +
211 +pkg_setup() {
212 + enewgroup audio 18 # Just make sure it exists
213 + enewuser timidity -1 -1 /var/lib/timidity audio
214 +}
215 +
216 +DOCS=( AUTHORS ChangeLog NEWS README "${FILESDIR}"/timidity.cfg-r1 )
217 +
218 +PATCHES=(
219 + "${FILESDIR}"/${PN}-2.14.0-params.patch
220 + "${FILESDIR}"/${PN}-2.14.0-ar.patch
221 + "${FILESDIR}"/${PN}-2.14.0-configure-flags.patch
222 + "${FILESDIR}"/${PN}-2.15.0-pkg-config.patch
223 + "${FILESDIR}"/${PN}-2.14.0-CVE-2017-1154{6,7}.patch
224 +)
225 +
226 +src_prepare() {
227 + default
228 + eautoreconf
229 +}
230 +
231 +src_configure() {
232 + export EXTRACFLAGS="${CFLAGS}" #385817
233 +
234 + local audios
235 + local myeconfargs=(
236 + --localstatedir=/var/state/${PN}
237 + --with-module-dir="${EPREFIX}/usr/share/timidity"
238 + --with-lispdir="${SITELISP}/${PN}"
239 + --with-elf
240 + --enable-server
241 + --enable-network
242 + --enable-dynamic
243 + --enable-vt100
244 + --enable-spline=cubic
245 + $(use_enable emacs)
246 + $(use_enable slang)
247 + $(use_enable ncurses)
248 + $(use_with X x)
249 + $(use_enable X spectrogram)
250 + $(use_enable X wrd)
251 + $(use_enable X xskin)
252 + $(use_enable X xaw)
253 + $(use_enable gtk)
254 + $(use_enable tk tcltk)
255 + $(use_enable motif)
256 + )
257 +
258 + use flac && audios+=",flac"
259 + use speex && audios+=",speex"
260 + use vorbis && audios+=",vorbis"
261 + use oss && audios+=",oss"
262 + use jack && audios+=",jack"
263 + use ao && audios+=",ao"
264 +
265 + if use nas; then
266 + audios+=",nas"
267 + myeconfargs+=(
268 + --with-nas-library="/usr/$(get_libdir)/libaudio.so"
269 + --with-x
270 + )
271 + use X || ewarn "Basic X11 support will be enabled because required by nas."
272 + fi
273 +
274 + if use alsa; then
275 + audios+=",alsa"
276 + myeconfargs+=(
277 + --with-default-output=alsa
278 + --enable-alsaseq
279 + )
280 + fi
281 +
282 + if use motif; then
283 + myeconfargs+=(
284 + --with-x
285 + )
286 + use X || ewarn "Basic X11 support will be enabled because required by motif."
287 + fi
288 +
289 + # needs to come after all audios have been collected
290 + myeconfargs+=(
291 + --enable-audio=${audios}
292 + )
293 +
294 + econf "${myeconfargs[@]}"
295 +}
296 +
297 +src_install() {
298 + emake DESTDIR="${D}" install
299 + einstalldocs
300 +
301 + # these are only for the ALSA sequencer mode
302 + if use alsa; then
303 + newconfd "${FILESDIR}"/conf.d.timidity.2 timidity
304 + newinitd "${FILESDIR}"/init.d.timidity.4 timidity
305 +
306 + systemd_dounit "${FILESDIR}"/timidity.service
307 + fi
308 +
309 + insinto /etc
310 + newins "${FILESDIR}"/timidity.cfg-r1 timidity.cfg
311 +
312 + dodir /usr/share/timidity
313 + dosym ../../../etc/timidity.cfg /usr/share/timidity/timidity.cfg
314 +
315 + if use emacs; then
316 + elisp-site-file-install "${FILESDIR}/${SITEFILE}"
317 + fi
318 +
319 + diropts -o timidity -g nobody -m 0700
320 + keepdir /var/lib/timidity
321 +
322 + doicon "${FILESDIR}"/timidity.xpm
323 + newmenu "${FILESDIR}"/timidity.desktop.2 timidity.desktop
324 +
325 + # Order of preference: gtk, X (Xaw), ncurses, slang
326 + # Do not create menu item for terminal ones
327 + local interface="-id"
328 + local terminal="true"
329 + local nodisplay="true"
330 + if use gtk || use X; then
331 + interface="-ia"
332 + terminal="false"
333 + nodisplay="false"
334 + use gtk && interface="-ig"
335 + elif use ncurses || use slang; then
336 + local interface="-is"
337 + use ncurses && interface="-in"
338 + fi
339 + sed -e "s/Exec=timidity/Exec=timidity ${interface}/" \
340 + -e "s/Terminal=.*/Terminal=${terminal}/" \
341 + -e "s/NoDisplay=.*/NoDisplay=${nodisplay}/" \
342 + -i "${ED}"/usr/share/applications/timidity.desktop || die
343 +}
344 +
345 +pkg_postinst() {
346 + use emacs && elisp-site-regen
347 +
348 + elog "A timidity config file has been installed in /etc/timidity.cfg."
349 + elog "Do not edit this file as it will interfere with the eselect timidity tool."
350 + elog "The tool 'eselect timidity' can be used to switch between installed patchsets."
351 +
352 + if use alsa; then
353 + elog "An init script for the alsa timidity sequencer has been installed."
354 + elog "If you wish to use the timidity virtual sequencer, edit /etc/conf.d/timidity"
355 + elog "and run 'rc-update add timidity <runlevel> && /etc/init.d/timidity start'"
356 + fi
357 +
358 + if use sparc; then
359 + elog "Only saving to wave file and ALSA soundback has been tested working."
360 + fi
361 +
362 + xdg_desktop_database_update
363 +}
364 +
365 +pkg_postrm() {
366 + use emacs && elisp-site-regen
367 + xdg_desktop_database_update
368 +}