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/
Date: Thu, 02 Mar 2023 06:43:06
Message-Id: 1677739376.4ff133018753021ee8d96a8f6615f4d23bd4fdad.fordfrog@gentoo
1 commit: 4ff133018753021ee8d96a8f6615f4d23bd4fdad
2 Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
3 AuthorDate: Thu Mar 2 06:42:38 2023 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 2 06:42:56 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ff13301
7
8 media-sound/audacity: bump to 3.2.5
9
10 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
11
12 media-sound/audacity/Manifest | 2 +
13 media-sound/audacity/audacity-3.2.5.ebuild | 223 +++++++++++++++++++++++++++++
14 2 files changed, 225 insertions(+)
15
16 diff --git a/media-sound/audacity/Manifest b/media-sound/audacity/Manifest
17 index cad7eba5923c..3c8299ab108c 100644
18 --- a/media-sound/audacity/Manifest
19 +++ b/media-sound/audacity/Manifest
20 @@ -1,5 +1,7 @@
21 DIST Audacity-2.4.2.tar.gz 61248430 BLAKE2B bb7e31e22d2a09c38767b019ed5c2c2be31741594715d73452fc4622d171a6209e87009b6f820873cc1cff2f6b85547a3dea0a2d8d4dd7195617509e571ee9b8 SHA512 0d9cdabf5ba2c7207e8d8e4a8bdfc3e7d32277386436ecb480e3ff781720f5449a56b310ba91c78ca67afb752e2ab736abd5b7ce40d19d153bfc4a2067343a3d
22 DIST Audacity-3.2.4.tar.gz 57016943 BLAKE2B df36f5f7162cc6303b2bcb4861f0b418fd3dfd97a8d664b9c0fe1e84b57df5342864a82e7652c2e706e723b6eb6faded50a0ce4fb96f36ac1e6ba48726db40a7 SHA512 d69459839760f0db7d23ad5ee5601e0a0b8e918a7f9ad6773bb45b525f732d09ff0fc6ca59c6400b62d7b0b905411dd97673b6d6f2102c9ed549e9f833b60a96
23 +DIST Audacity-3.2.5.tar.gz 57017533 BLAKE2B b8e48cab1c89cadb343a17fcb1d811a7363231152867f842ffff6dd8329103c9a407beb3f0b587e35e711070230c5c86d5aa97578b5a7c08bdbb029570677a24 SHA512 850ce4dc27e2c6d0b63bf0c0186deb417febc49b561e572a697f0e7ae2a7b2b3f39816b7beeacf9cbfb9525de85923e2ce6d06486fcf1855e34e2ecd1b7e3582
24 DIST audacity-manual-2.4.2.zip 22459298 BLAKE2B 001ca56f73c3c48f9b49b3b6478c6de6fb4c305fb869b11d93e41d5aee7ee45133bd7047c4d281fed4859d6c6061352dfaeb995e7b2602e42e09ab04e05e00dc SHA512 8afc7faffb0da87efe0c2cb64f8593777357252b4893ae0522ec7b37b4f7806ad9582ca9e4b751d085c2598aba6b580dacd805daa00b236a4ff8f6663a80135c
25 DIST audacity-manual-3.2.4.tar.gz 22251911 BLAKE2B ba2cf1a3b13f59bf03014fd301e3e50654d39fa0a79076760b68edca725513ea18c7be6e68452471e25274597e0629fff2964a135a81d1c54e0c0ae7b55f94fc SHA512 6f2d6339dfe150a1eb57a42a957154237c6ade0beb0a2a06ed2c59b5d23ff6b40d1dea0bc91851951a7df26aeb1c43c79f85ac71ba5361165f8524dbf1301424
26 +DIST audacity-manual-3.2.5.tar.gz 22260237 BLAKE2B e3c96282b5eeffe5854781cfe316fb40c10212c9bc07a081433cf947363f79892e7397b53a31aa33337b5d0b6a00e14bd420d6f064515455055233a45f5ebf47 SHA512 9bd2f2b3268ff7259f1fa0957ab3f15e7b58d72a3199be4e271bac67d9d0b44967b2b783ea36f9392ed1bdf004274754468b3902c3a72a204d08333a5c07894c
27 DIST progschj-ThreadPool-20140926.h 2612 BLAKE2B 54d050ad443512e60e5c99449dd7133f3884c1067288cfc36b96c06855537b83d9b599cd8b8fb7f24e20cbc4898585b11d98d3a33dc7571a886b57c806ad3b14 SHA512 f927489de9afe0217bb0552c45bea238693f9f183a062cb12a48e19576dc50a4d0ba449a12397012ae790cc5ebd741decc08128b66f795310dba4778122e9f3d
28
29 diff --git a/media-sound/audacity/audacity-3.2.5.ebuild b/media-sound/audacity/audacity-3.2.5.ebuild
30 new file mode 100644
31 index 000000000000..9b1ee5735698
32 --- /dev/null
33 +++ b/media-sound/audacity/audacity-3.2.5.ebuild
34 @@ -0,0 +1,223 @@
35 +# Copyright 1999-2023 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=8
39 +
40 +WX_GTK_VER="3.2-gtk3"
41 +
42 +inherit cmake wxwidgets xdg
43 +
44 +MY_P="Audacity-${PV}"
45 +DOC_PV="${PV}"
46 +DESCRIPTION="Free crossplatform audio editor"
47 +HOMEPAGE="https://web.audacityteam.org/"
48 +
49 +# A header-only thread pool library, without a build system, about 100
50 +# lines of code. Probably not worth packaging individually. Check
51 +# cmake-proxies/CMakeLists.txt and search for "ThreadPool".
52 +MY_THREADPOOL_DATE=20140926
53 +MY_THREADPOOL="https://raw.githubusercontent.com/progschj/ThreadPool/9a42ec1329f259a5f4881a291db1dcb8f2ad9040/ThreadPool.h -> progschj-ThreadPool-${MY_THREADPOOL_DATE}.h"
54 +SRC_URI="https://github.com/audacity/audacity/archive/${MY_P}.tar.gz
55 + doc? ( https://github.com/audacity/audacity-manual/releases/download/v${PV}/audacity-manual-${PV}.tar.gz )
56 + audiocom? ( ${MY_THREADPOOL} )"
57 +S="${WORKDIR}/${PN}-${MY_P}"
58 +
59 +# GPL-2+, GPL-3 - Audacity itself
60 +# ZLIB - The ThreadPool single-header library
61 +# CC-BY-3.0 - Documentation
62 +LICENSE="GPL-2+
63 + GPL-3
64 + doc? ( CC-BY-3.0 )
65 + audiocom? ( ZLIB )
66 +"
67 +SLOT="0"
68 +KEYWORDS="~amd64 ~riscv"
69 +IUSE="alsa audiocom doc ffmpeg +flac id3tag +ladspa +lv2 mad mpg123 ogg
70 + opus +portmixer sbsms twolame vamp +vorbis wavpack"
71 +
72 +# The testsuite consists of two tests, 50% of which fail.
73 +RESTRICT="test"
74 +
75 +# dev-db/sqlite:3 hard dependency.
76 +# dev-libs/glib:2, x11-libs/gtk+:3 hard dependency, from
77 +# cmake-proxies/cmake-modules/dependencies/wxwidgets.cmake
78 +# sys-apps/util-linux hard dependency, from cmake-proxies/CMakeLists.txt
79 +# for libuuid
80 +# portmidi became non-optional: building without it results in build
81 +# failures, even with some of the Debian patches. It's probably not
82 +# in our best interest to fix that as a patch series.
83 +# glib, gtk and gdk are all directly relied on in the source, not just
84 +
85 +# Libraries used at runtime via dlopen:
86 +# - dev-libs/{serd,sord} - for LV2 support
87 +# - media-libs/{opus,sratom} :: For Opus and LV2 respectively
88 +# - media-sound/lame :: For MP3 export
89 +# - media-video/ffmpeg :: For generic FFMPEG export
90 +# This one has the interesting property of many versions being
91 +# supported at runtime. See: libraries/lib-ffmpeg-support/impl
92 +# Current support grid:
93 +# - Lavf - 5[789]
94 +# - Lavc - 5[789]
95 +# - Lavu - 5[2567]
96 +
97 +RDEPEND="dev-db/sqlite:3
98 + dev-libs/expat
99 + dev-libs/glib:2
100 + media-libs/libsndfile
101 + media-libs/libsoundtouch:=
102 + media-libs/portaudio[alsa?]
103 + media-libs/portmidi
104 + media-libs/portsmf:=
105 + media-libs/soxr
106 + media-sound/lame
107 + x11-libs/gdk-pixbuf:2
108 + x11-libs/gtk+:3
109 + x11-libs/wxGTK:${WX_GTK_VER}[X]
110 + sys-apps/util-linux
111 + alsa? ( media-libs/alsa-lib )
112 + audiocom? (
113 + dev-libs/rapidjson
114 + net-misc/curl
115 + )
116 + ffmpeg? ( media-video/ffmpeg )
117 + flac? ( media-libs/flac:=[cxx] )
118 + id3tag? ( media-libs/libid3tag:= )
119 + lv2? (
120 + dev-libs/serd
121 + dev-libs/sord
122 + media-libs/lilv
123 + media-libs/lv2
124 + media-libs/sratom
125 + media-libs/suil
126 + )
127 + mad? ( media-libs/libmad )
128 + mpg123? ( media-sound/mpg123 )
129 + ogg? ( media-libs/libogg )
130 + opus? ( media-libs/opus )
131 + sbsms? ( media-libs/libsbsms )
132 + twolame? ( media-sound/twolame )
133 + vamp? ( media-libs/vamp-plugin-sdk )
134 + vorbis? ( media-libs/libvorbis )
135 + wavpack? ( media-sound/wavpack )
136 +"
137 +DEPEND="${RDEPEND}"
138 +BDEPEND="app-arch/unzip
139 + sys-devel/gettext
140 + virtual/pkgconfig
141 +"
142 +
143 +REQUIRED_USE="
144 + mad? ( !mpg123 )
145 +"
146 +
147 +PATCHES=(
148 + # Equivalent to previous versions
149 + "${FILESDIR}/${PN}-3.2.3-disable-ccache.patch"
150 + # From Debian
151 + "${FILESDIR}/${PN}-3.2.3-fix-rpaths.patch"
152 +
153 + # Disables some header-based detection
154 + "${FILESDIR}/${PN}-3.2.3-allow-overriding-alsa-jack.patch"
155 +
156 + # For has_networking
157 + "${FILESDIR}/${PN}-3.2.3-remove-conan-threadpool.patch"
158 + "${FILESDIR}/${PN}-3.2.3-allow-finding-rapidjson-pkgconfig.patch"
159 +)
160 +
161 +src_prepare() {
162 + cmake_src_prepare
163 +
164 + local header_subs="${S}/lib-src/header-substitutes"
165 + cat <<-EOF >"${header_subs}/allegro.h" || die
166 + /* Hack the allegro.h header substitute to use system headers. */
167 + #include <portsmf/allegro.h>
168 + EOF
169 +
170 + # Keep in sync with has_networking and the ThreadPool.h SRC_URI.
171 + if use audiocom; then
172 + mkdir -p "${S}/"/lib-src/threadpool/ThreadPool/ || die
173 + cp "${DISTDIR}"/progschj-ThreadPool-"${MY_THREADPOOL_DATE}".h \
174 + "${S}"/lib-src/threadpool/ThreadPool/ThreadPool.h || die
175 + fi
176 +}
177 +
178 +src_configure() {
179 + setup-wxwidgets
180 +
181 + # * always use system libraries if possible
182 + # * options listed roughly in the order specified in
183 + # cmake-proxies/CMakeLists.txt
184 + # * USE_VST was omitted, it appears to no longer have dependencies
185 + # (this is different from VST3)
186 + local mycmakeargs=(
187 + # Tell the CMake-based build system it's building a release.
188 + -DAUDACITY_BUILD_LEVEL=2
189 + -Daudacity_use_nyquist=local
190 + #-Daudacity_use_pch leaving it to the default behavior
191 + -Daudacity_use_portmixer=$(usex portmixer system off)
192 + -Daudacity_use_soxr=system
193 +
194 + -Daudacity_conan_enabled=OFF
195 +
196 + -Daudacity_has_networking=$(usex audiocom on off)
197 + # Not useful on Gentoo.
198 + -Daudacity_has_updates_check=OFF
199 + -Daudacity_has_audiocom_upload=$(usex audiocom on off)
200 + -Daudacity_has_threadpool=local
201 +
202 + # The VST3 SDK is unpackaged, and it appears to be under a breed
203 + # of a proprietary license and the GPL.
204 + -Daudacity_has_vst3=OFF
205 + -Daudacity_lib_preference=system
206 + -Daudacity_obey_system_dependencies=ON
207 + -Daudacity_use_expat=system
208 + -Daudacity_use_ffmpeg=$(usex ffmpeg loaded off)
209 + -Daudacity_use_libid3tag=$(usex id3tag system off)
210 + -Daudacity_use_ladspa=$(usex ladspa)
211 + -Daudacity_use_lame=system
212 + -Daudacity_use_wxwidgets=system
213 + -Daudacity_use_libmp3lame=system
214 + -Daudacity_use_libmpg123=$(usex mpg123 system off)
215 + -Daudacity_use_libmad=$(usex mad system off)
216 + -Daudacity_use_wavpack=$(usex wavpack system off)
217 + -Daudacity_use_libogg=$(usex ogg system off)
218 + -Daudacity_use_libflac=$(usex flac system off)
219 + -Daudacity_use_libopus=$(usex flac system off)
220 + -Daudacity_use_libvorbis=$(usex vorbis system off)
221 + -Daudacity_use_libsndfile=system
222 + -Daudacity_use_portaudio=system
223 + -Daudacity_use_midi=system
224 + -Daudacity_use_vamp=$(usex vamp system off)
225 + -Daudacity_use_lv2=$(usex lv2 system off)
226 + -Daudacity_use_portsmf=system
227 + -Daudacity_use_sbsms=$(usex sbsms system off)
228 + -Daudacity_use_soundtouch=system
229 + -Daudacity_use_twolame=$(usex twolame system off)
230 +
231 + # Disable telemetry features.
232 + -Daudacity_has_sentry_reporting=off
233 + -Daudacity_has_crashreports=off
234 +
235 + # See the allow-overriding-alsa-jack.patch patch
236 + -DPA_HAS_ALSA=$(usex alsa on off)
237 + ## Keep watch of PA_HAS_OSS in lib-src/portmixer/CMakeLists.txt;
238 + ## AFAICT it introduces no deps as-is, but that could change.
239 + ## Similar goes for PA_HAS_JACK.
240 + )
241 +
242 + cmake_src_configure
243 +}
244 +
245 +src_install() {
246 + cmake_src_install
247 +
248 + # Remove bad doc install
249 + rm -r "${ED}"/usr/share/doc || die
250 +
251 + if use doc ; then
252 + docinto html
253 + dodoc -r "${WORKDIR}"/help/manual/{m,man}
254 + dodoc "${WORKDIR}"/help/manual/{favicon.ico,index.html,quick_help.html}
255 + dosym ../../doc/${PF}/html /usr/share/${PN}/help/manual
256 + fi
257 +}