Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/audacity/, media-sound/audacity/files/
Date: Sat, 08 Feb 2020 10:26:36
Message-Id: 1581157575.c011df2ba115c9b79d4e8e4e8e5a214631bfc369.fordfrog@gentoo
1 commit: c011df2ba115c9b79d4e8e4e8e5a214631bfc369
2 Author: Alexander Tsoy <alexander <AT> tsoy <DOT> me>
3 AuthorDate: Fri Jan 31 18:21:54 2020 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 8 10:26:15 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c011df2b
7
8 media-sound/audacity: Version bump to 2.3.3
9
10 Also switch to wxGTK "3.0-gtk3" slot.
11
12 Closes: https://bugs.gentoo.org/700942
13 Signed-off-by: Alexander Tsoy <alexander <AT> tsoy.me>
14 Closes: https://github.com/gentoo/gentoo/pull/14517
15 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
16
17 media-sound/audacity/Manifest | 2 +
18 media-sound/audacity/audacity-2.3.3.ebuild | 139 +++++++++++++++++++++
19 ...3.3-Fix-building-against-system-portaudio.patch | 56 +++++++++
20 3 files changed, 197 insertions(+)
21
22 diff --git a/media-sound/audacity/Manifest b/media-sound/audacity/Manifest
23 index 252b82de0a3..910df0fff27 100644
24 --- a/media-sound/audacity/Manifest
25 +++ b/media-sound/audacity/Manifest
26 @@ -1,4 +1,6 @@
27 DIST Audacity-2.3.2.tar.gz 61972597 BLAKE2B 968c3d877392af92e2a23d8357fe65c3eb608122185d037e741ed6165d1acb3af70fc15dce63140eff14cd032fb3e3dc1b8b4f7bca9016f8e0e56aaef8a27802 SHA512 a59d6e9e974d5f78f5ca561e3bea31fc1b3e88f9ea60b2df7ce8bcec264d886f3fdc8f20030e11a86daff8ffeb735850b5e5f73c45fbef0bfcc58692423e7cd0
28 +DIST Audacity-2.3.3.tar.gz 62073352 BLAKE2B a87f9ada8dd2ffeda86fecd194333dc53b5f1fe086c179dd904cebc912f5bff5a7d4be0c2584a6633a7dc4dadabc3ad438b45ab5fbbee573cc39ee91dfd62846 SHA512 0789d5bc27933c688b8c99e0d9d9ca65f3b0c59cf74a235feee094a1815bdb59a32a4f50d2938b8fb9d72b0c5ba88451d02f90c5163931774a2088463562c5ef
29 DIST audacity-manual-2.2.2.zip 13501474 BLAKE2B f0289f22dc4134b31f38d4acee3bda9f915829842030f8454cce1801377d177c32a7f35077673ce7db0a0f059a644d8146457e6a6377c5f6abc01c11da6a4f53 SHA512 a34ded796157d763fa024e0a235ecce7c67a68bcce86b487f8c022d45d8337fe550e40f56df4155a16293b974511d0bcf130cb086b3594bc0c42d9d0f84f1e86
30 DIST audacity-manual-2.3.2.zip 21163508 BLAKE2B 6a0ec89567db63164e897aad21af6fb31557e2519640788c781b21e885c0f704174529d9abf3e8645ccb3bca0f7b987fa708b1ce64597b282357b823e8addd44 SHA512 5e541065236badfdc2331681e43dee2564f933c33a3a588806f189acc8d8285a2c60bf9bc0c7052c6cb23fa1ee29a9f5e0428540cd556901dcf896def1c7c0ac
31 +DIST audacity-manual-2.3.3.zip 15135177 BLAKE2B f281fea3344513152f0841e11e5dcdfea591d7dced046028fd67954e6a34a0f7bad41cb37215d4b784d92c6ee64038918e521e1117dc0ccbc0101404d1388c84 SHA512 2612396ef61aa6e07e0ff1cc5f473dcdc34d8a166f95a9e4986bf491e8b0502c08641d9ef4c64adc19c1b22fe21514afcc5c3bed585b49e7e7c3c851fe532cd4
32 DIST audacity-minsrc-2.2.2.tar.xz 8210700 BLAKE2B b887cff6994f2d5315b5d22b47d460a6b7c7b7af4f212585740a7534dc1345a8b3cda701a8541fabeef1aedf30cd336466798b2da4ef62ed010152540ee02d26 SHA512 8e52b4456a3a328a9933961746722ab5c545d17f7c05f3ae4aa83ba5d4f8323590ffa070de9462163362032b372aa48bc61fc96459e5565eec29a146b7a0351c
33
34 diff --git a/media-sound/audacity/audacity-2.3.3.ebuild b/media-sound/audacity/audacity-2.3.3.ebuild
35 new file mode 100644
36 index 00000000000..ceb9bb0503a
37 --- /dev/null
38 +++ b/media-sound/audacity/audacity-2.3.3.ebuild
39 @@ -0,0 +1,139 @@
40 +# Copyright 1999-2019 Gentoo Authors
41 +# Distributed under the terms of the GNU General Public License v2
42 +
43 +EAPI=7
44 +WX_GTK_VER="3.0-gtk3"
45 +
46 +inherit flag-o-matic wxwidgets xdg
47 +
48 +MY_P="Audacity-${PV}"
49 +DOC_PV="${PV}"
50 +DESCRIPTION="Free crossplatform audio editor"
51 +HOMEPAGE="https://web.audacityteam.org/"
52 +# wget doesn't seem to work on FossHub links, so we mirror
53 +SRC_URI="https://github.com/audacity/audacity/archive/${MY_P}.tar.gz
54 + doc? ( https://dev.gentoo.org/~polynomial-c/dist/${PN}-manual-${DOC_PV}.zip )"
55 +S="${WORKDIR}/${PN}-${MY_P}"
56 +
57 +LICENSE="GPL-2"
58 +SLOT="0"
59 +KEYWORDS="~amd64 ~mips ~x86"
60 +IUSE="alsa cpu_flags_x86_sse doc ffmpeg +flac id3tag jack +ladspa +lame libav
61 + +lv2 mad midi nls +portmixer sbsms +soundtouch twolame vamp +vorbis +vst"
62 +
63 +RESTRICT="test"
64 +
65 +RDEPEND="dev-libs/expat
66 + >=media-libs/libsndfile-1.0.0
67 + >=media-libs/portaudio-19.06.00-r2[alsa?]
68 + <media-libs/portaudio-20
69 + media-libs/soxr
70 + x11-libs/wxGTK:${WX_GTK_VER}[X]
71 + alsa? ( media-libs/alsa-lib )
72 + ffmpeg? (
73 + libav? ( media-video/libav:= )
74 + !libav? ( >=media-video/ffmpeg-1.2:= )
75 + )
76 + flac? ( >=media-libs/flac-1.3.1[cxx] )
77 + id3tag? ( media-libs/libid3tag )
78 + jack? ( virtual/jack )
79 + lame? ( >=media-sound/lame-3.70 )
80 + lv2? (
81 + media-libs/lilv
82 + media-libs/lv2
83 + media-libs/suil
84 + )
85 + mad? ( >=media-libs/libmad-0.14.2b )
86 + sbsms? ( media-libs/libsbsms )
87 + soundtouch? ( >=media-libs/libsoundtouch-1.3.1 )
88 + twolame? ( media-sound/twolame )
89 + vamp? ( >=media-libs/vamp-plugin-sdk-2.0 )
90 + vorbis? ( >=media-libs/libvorbis-1.0 )
91 +"
92 +DEPEND="${RDEPEND}"
93 +BDEPEND="app-arch/unzip
94 + virtual/pkgconfig
95 + nls? ( sys-devel/gettext )
96 +"
97 +
98 +PATCHES=(
99 + "${FILESDIR}"/${PN}-2.3.3-Fix-building-against-system-portaudio.patch
100 +)
101 +
102 +src_prepare() {
103 + default
104 +
105 + use midi || sed -i \
106 + -e 's:^\(#define EXPERIMENTAL_MIDI_OUT\):// \1:' \
107 + src/Experimental.h || die
108 +}
109 +
110 +src_configure() {
111 + setup-wxwidgets
112 + append-cxxflags -std=gnu++14
113 +
114 + # * always use system libraries if possible
115 + # * options listed in the order that configure --help lists them
116 + local myeconfargs=(
117 + --disable-dynamic-loading
118 + --enable-nyquist=local
119 + --enable-unicode
120 + --with-expat
121 + --with-lib-preference=system
122 + --with-libsndfile
123 + --with-libsoxr
124 + --with-mod-script-pipe
125 + --with-mod-nyq-bench
126 + --with-portaudio
127 + --with-widgetextra=local
128 + --with-wx-version=${WX_GTK_VER}
129 + $(use_enable cpu_flags_x86_sse sse)
130 + $(use_enable ladspa)
131 + $(use_enable nls)
132 + $(use_enable vst)
133 + $(use_with ffmpeg)
134 + $(use_with flac libflac)
135 + $(use_with id3tag libid3tag)
136 + $(use_with lame)
137 + $(use_with lv2)
138 + $(use_with mad libmad)
139 + $(use_with midi portmidi local)
140 + $(use_with midi "" local)
141 + $(use_with portmixer)
142 + $(use_with sbsms)
143 + $(use_with soundtouch)
144 + $(use_with twolame libtwolame)
145 + $(use_with vamp libvamp)
146 + $(use_with vorbis libvorbis)
147 + )
148 + econf "${myeconfargs[@]}"
149 +}
150 +
151 +src_install() {
152 + emake DESTDIR="${D}" install
153 +
154 + # Remove bad doc install
155 + rm -r "${ED}"/usr/share/doc || die
156 +
157 + # Install our docs
158 + einstalldocs
159 +
160 + if use doc ; then
161 + docinto html
162 + dodoc -r "${WORKDIR}"/help/manual/{m,man,manual}
163 + dodoc "${WORKDIR}"/help/manual/{favicon.ico,index.html,quick_help.html}
164 + dosym ../../doc/${PF}/html /usr/share/${PN}/help/manual
165 + fi
166 +}
167 +
168 +pkg_preinst() {
169 + xdg_pkg_preinst
170 +}
171 +
172 +pkg_postinst() {
173 + xdg_pkg_postinst
174 +}
175 +
176 +pkg_postrm() {
177 + xdg_pkg_postrm
178 +}
179
180 diff --git a/media-sound/audacity/files/audacity-2.3.3-Fix-building-against-system-portaudio.patch b/media-sound/audacity/files/audacity-2.3.3-Fix-building-against-system-portaudio.patch
181 new file mode 100644
182 index 00000000000..b44517fca80
183 --- /dev/null
184 +++ b/media-sound/audacity/files/audacity-2.3.3-Fix-building-against-system-portaudio.patch
185 @@ -0,0 +1,56 @@
186 +From 5f9482a191359f2c477763a36d2c865c5f186602 Mon Sep 17 00:00:00 2001
187 +From: Antonio Ospite <ao2@×××.it>
188 +Date: Tue, 7 Nov 2017 13:06:33 +0100
189 +Subject: [PATCH] Fix building against the system portaudio library
190 +
191 +Building against the system portaudio results in this error:
192 +
193 +./src/AudioIO.cpp:983: undefined reference to `PaUtil_GetTime'
194 +audacity-AudioIO.o: In function `audacityAudioCallback(void const*, void*,
195 +unsigned long, PaStreamCallbackTimeInfo const*, unsigned long, void*)':
196 +./src/AudioIO.cpp:4630: undefined reference to `PaUtil_GetTime'
197 +collect2: error: ld returned 1 exit status
198 +Makefile:2349: recipe for target 'audacity' failed
199 +make[3]: *** [audacity] Error 1
200 +
201 +This is because PaUtil_GetTime is declared as a C symbol in pa_util.h
202 +but is resolved as a C++ symbol at link time.
203 +
204 +Audacity fixes this in the local tree with this change:
205 +https://github.com/audacity/audacity/commit/38fd97b8e26060332ab3e9e000a8882326a70ba7
206 +
207 +However this is not general enough for the portaudio debian package.
208 +
209 +Since PaUtil_GetTime() is the only function causing problems, just copy
210 +over the code where it's used.
211 +---
212 + src/AudioIO.cpp | 17 ++++++++++++++++-
213 + 1 file changed, 16 insertions(+), 1 deletion(-)
214 +
215 +--- a/src/AudioIO.cpp
216 ++++ b/src/AudioIO.cpp
217 +@@ -480,8 +480,23 @@
218 + #define ROUND(x) (int) ((x)+0.5)
219 + //#include <string.h>
220 + // #include "../lib-src/portmidi/pm_common/portmidi.h"
221 +- #include "../lib-src/portaudio-v19/src/common/pa_util.h"
222 + #include "NoteTrack.h"
223 ++
224 ++PaTime PaUtil_GetTime( void )
225 ++{
226 ++#ifdef HAVE_MACH_ABSOLUTE_TIME
227 ++ return mach_absolute_time() * machSecondsConversionScaler_;
228 ++#elif defined(HAVE_CLOCK_GETTIME)
229 ++ struct timespec tp;
230 ++ clock_gettime(CLOCK_REALTIME, &tp);
231 ++ return (PaTime)(tp.tv_sec + tp.tv_nsec * 1e-9);
232 ++#else
233 ++ struct timeval tv;
234 ++ gettimeofday( &tv, NULL );
235 ++ return (PaTime) tv.tv_usec * 1e-6 + tv.tv_sec;
236 ++#endif
237 ++}
238 ++
239 + #endif
240 +
241 + #ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT