summaryrefslogtreecommitdiff
path: root/media-sound/audacity
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-06 11:33:44 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-06 11:33:44 +0100
commit0e52cbae2c719c3ef794ebeb0f4374fb96efcff3 (patch)
tree7e5732a7869c402a96586eca1ff1b574e59a328f /media-sound/audacity
parent0922e7f160098c343e6e41a5e167a69b9e035db6 (diff)
gentoo auto-resync : 06:05:2023 - 11:33:44
Diffstat (limited to 'media-sound/audacity')
-rw-r--r--media-sound/audacity/Manifest2
-rw-r--r--media-sound/audacity/audacity-3.2.5-r1.ebuild226
-rw-r--r--media-sound/audacity/files/audacity-3.2.5-gcc13-deux.patch57
3 files changed, 285 insertions, 0 deletions
diff --git a/media-sound/audacity/Manifest b/media-sound/audacity/Manifest
index 60a88cc95ee9..8c09c35fe5e2 100644
--- a/media-sound/audacity/Manifest
+++ b/media-sound/audacity/Manifest
@@ -9,6 +9,7 @@ AUX audacity-3.2.3-allow-overriding-alsa-jack.patch 1683 BLAKE2B bd8081283dfc87e
AUX audacity-3.2.3-disable-ccache.patch 850 BLAKE2B 0f8fab52e0f8205c90b0ed798d1793cbde1395715445ac66e6d9b612fd825650f38dc95759b56d0d7455f45202e901de4d2cea3c54ede17356f3ff4f1c8c61ff SHA512 468676dfeff2aa40a3ccbab3c4eb5cf04a8dae0db2772c580d6455b93b4feb9665b3badab7ea8085a6bce1ab243e7c8b0fc2974ab7b2c703db7c49f757bdd48e
AUX audacity-3.2.3-fix-rpaths.patch 5961 BLAKE2B d48471ba4cea8103fd1caef6e3e13356e9c8103b7edb239a55e89975e455eb82efa6c0bf348aa2be6eedb10ae95753d3f104d7646cbe21a7dcc45e1274928e2a SHA512 b1f7449d13961f3e5d073f2f8cc0443f5e050733d76cbd94dc2dd764b7b1438339cc9155765637767f692c6781760a8b3776bbdaf36c57f4af7cbc7ca51d81fd
AUX audacity-3.2.3-remove-conan-threadpool.patch 1681 BLAKE2B d5b32185ae961c1ab49fd28410de857b7e3eddaeebf2435dd77c526912ff06a604500c8af2357dc8c601fc032823c74beec4c207cca58fa074d950de6cace6fb SHA512 4a4ee937be644587114e9e097178859ae369e3519475224ea22095ecf51971215b7873b3d9f05ff4f6dcb12c31741448381621c250e159824c818fa61238f0c1
+AUX audacity-3.2.5-gcc13-deux.patch 2531 BLAKE2B 5fbd985902facc87db733c7db3981f67d5232c1a40259eec5831ad7142c065831ec64f5167a587a7a83736225965d2e4159615845c952cb4a6b5f7a46e9218e7 SHA512 45722981858006be507cb2f9212d34626a40554eb75a6397b1073019433ae16689345ce8b4062b18ee61907f5dd9b51e4f250211b16183a0e82ab6ca32f44366
AUX audacity-3.2.5-gcc13.patch 550 BLAKE2B de4b1bacbc3606562c9989df8631fd20c97538be05a9a00e1aa6b323de7c07ab38fef05eb47449e47966e54d9ae089e53cf799508666f63c79462306176b244a SHA512 76379252380237cf5c39476a4502a8bfb575740ed1094bd9ed79e2e890710c7a0fbad9209691d5d95c4b96d737383155f3877a061af33deb7d873d9d25f83d2f
DIST Audacity-2.4.2.tar.gz 61248430 BLAKE2B bb7e31e22d2a09c38767b019ed5c2c2be31741594715d73452fc4622d171a6209e87009b6f820873cc1cff2f6b85547a3dea0a2d8d4dd7195617509e571ee9b8 SHA512 0d9cdabf5ba2c7207e8d8e4a8bdfc3e7d32277386436ecb480e3ff781720f5449a56b310ba91c78ca67afb752e2ab736abd5b7ce40d19d153bfc4a2067343a3d
DIST Audacity-3.2.5.tar.gz 57017533 BLAKE2B b8e48cab1c89cadb343a17fcb1d811a7363231152867f842ffff6dd8329103c9a407beb3f0b587e35e711070230c5c86d5aa97578b5a7c08bdbb029570677a24 SHA512 850ce4dc27e2c6d0b63bf0c0186deb417febc49b561e572a697f0e7ae2a7b2b3f39816b7beeacf9cbfb9525de85923e2ce6d06486fcf1855e34e2ecd1b7e3582
@@ -16,5 +17,6 @@ DIST audacity-manual-2.4.2.zip 22459298 BLAKE2B 001ca56f73c3c48f9b49b3b6478c6de6
DIST audacity-manual-3.2.5.tar.gz 22260237 BLAKE2B e3c96282b5eeffe5854781cfe316fb40c10212c9bc07a081433cf947363f79892e7397b53a31aa33337b5d0b6a00e14bd420d6f064515455055233a45f5ebf47 SHA512 9bd2f2b3268ff7259f1fa0957ab3f15e7b58d72a3199be4e271bac67d9d0b44967b2b783ea36f9392ed1bdf004274754468b3902c3a72a204d08333a5c07894c
DIST progschj-ThreadPool-20140926.h 2612 BLAKE2B 54d050ad443512e60e5c99449dd7133f3884c1067288cfc36b96c06855537b83d9b599cd8b8fb7f24e20cbc4898585b11d98d3a33dc7571a886b57c806ad3b14 SHA512 f927489de9afe0217bb0552c45bea238693f9f183a062cb12a48e19576dc50a4d0ba449a12397012ae790cc5ebd741decc08128b66f795310dba4778122e9f3d
EBUILD audacity-2.4.2-r3.ebuild 3964 BLAKE2B ad71e2a7c308660527a10a2e756c99752a35b6b1f77e04a1e28143c2038d080249c543d92ec2ed4b72037549dd8aa87959b9bea87e466f3eeb8625de9defd950 SHA512 94fc4f9012e63998628ae0c28d0d3d04f80422651af6a6ee9bd2907648923a7c5cf0179e49a047e9f7809ee1f52614e7e393eff3d93e8d218fa567c5ede2b809
+EBUILD audacity-3.2.5-r1.ebuild 6984 BLAKE2B 555c73d904eb62b8077d35cdf2df909a51a63890dd91c17d047e6b73c86d909046342670859f8c504780cc94ce908b3efe8a4667f1d7a284ddffd9920e8c7dd2 SHA512 08c69641b357dc93565c619b75e7b9285bfb831329db6a3b9770c3edbd7a966a6cc063ec830989ace7a5c72a58a936ea45c2ed15e41ecb11eee739bf822e0f7e
EBUILD audacity-3.2.5.ebuild 6978 BLAKE2B a1d06a7dab83d0e440104ad8c2e3bfdbf948588c72dae178710788f614c2a8d7b38afef46fbfc9b3a50ddf78ac5c5694aaeb44c501ae18735fce0a344de92c56 SHA512 fe149b7b4558e1739d573dfe03ee66908570bbf0616bebf0213064a857b2999d8b0452d26e790518b1a5acd52744d0a1d8bc4cac391db6fe099ebcd28733bc04
MISC metadata.xml 1512 BLAKE2B 277533c5356fb9fee5f353c14f43886e2823cf11f50deff855e31b039e197dd9daeab65dd133461e468f6bf2862b72e910ea36f67bceedec00a5e2234a386db5 SHA512 f66ee862c1fa473e825afc68186b1e2ecc3e7f4bb49272fde63b7b52afb2075795632c0690dd37ded5390a180720297d12b33360f34a4050640080b906ea0a28
diff --git a/media-sound/audacity/audacity-3.2.5-r1.ebuild b/media-sound/audacity/audacity-3.2.5-r1.ebuild
new file mode 100644
index 000000000000..504ee61be19b
--- /dev/null
+++ b/media-sound/audacity/audacity-3.2.5-r1.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+
+inherit cmake wxwidgets xdg
+
+MY_P="Audacity-${PV}"
+DOC_PV="${PV}"
+DESCRIPTION="Free crossplatform audio editor"
+HOMEPAGE="https://web.audacityteam.org/"
+
+# A header-only thread pool library, without a build system, about 100
+# lines of code. Probably not worth packaging individually. Check
+# cmake-proxies/CMakeLists.txt and search for "ThreadPool".
+MY_THREADPOOL_DATE=20140926
+MY_THREADPOOL="https://raw.githubusercontent.com/progschj/ThreadPool/9a42ec1329f259a5f4881a291db1dcb8f2ad9040/ThreadPool.h -> progschj-ThreadPool-${MY_THREADPOOL_DATE}.h"
+SRC_URI="https://github.com/audacity/audacity/archive/${MY_P}.tar.gz
+ doc? ( https://github.com/audacity/audacity-manual/releases/download/v${PV}/audacity-manual-${PV}.tar.gz )
+ audiocom? ( ${MY_THREADPOOL} )"
+S="${WORKDIR}/${PN}-${MY_P}"
+
+# GPL-2+, GPL-3 - Audacity itself
+# ZLIB - The ThreadPool single-header library
+# CC-BY-3.0 - Documentation
+LICENSE="GPL-2+
+ GPL-3
+ doc? ( CC-BY-3.0 )
+ audiocom? ( ZLIB )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+IUSE="alsa audiocom doc ffmpeg +flac id3tag +ladspa +lv2 mad mpg123 ogg
+ opus +portmixer sbsms twolame vamp +vorbis wavpack"
+
+# The testsuite consists of two tests, 50% of which fail.
+RESTRICT="test"
+
+# dev-db/sqlite:3 hard dependency.
+# dev-libs/glib:2, x11-libs/gtk+:3 hard dependency, from
+# cmake-proxies/cmake-modules/dependencies/wxwidgets.cmake
+# sys-apps/util-linux hard dependency, from cmake-proxies/CMakeLists.txt
+# for libuuid
+# portmidi became non-optional: building without it results in build
+# failures, even with some of the Debian patches. It's probably not
+# in our best interest to fix that as a patch series.
+# glib, gtk and gdk are all directly relied on in the source, not just
+
+# Libraries used at runtime via dlopen:
+# - dev-libs/{serd,sord} - for LV2 support
+# - media-libs/{opus,sratom} :: For Opus and LV2 respectively
+# - media-sound/lame :: For MP3 export
+# - media-video/ffmpeg :: For generic FFMPEG export
+# This one has the interesting property of many versions being
+# supported at runtime. See: libraries/lib-ffmpeg-support/impl
+# Current support grid:
+# - Lavf - 5[789]
+# - Lavc - 5[789]
+# - Lavu - 5[2567]
+
+RDEPEND="dev-db/sqlite:3
+ dev-libs/expat
+ dev-libs/glib:2
+ media-libs/libsndfile
+ media-libs/libsoundtouch:=
+ media-libs/portaudio[alsa?]
+ media-libs/portmidi
+ media-libs/portsmf:=
+ media-libs/soxr
+ media-sound/lame
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/wxGTK:${WX_GTK_VER}[X]
+ sys-apps/util-linux
+ alsa? ( media-libs/alsa-lib )
+ audiocom? (
+ dev-libs/rapidjson
+ net-misc/curl
+ )
+ ffmpeg? ( media-video/ffmpeg )
+ flac? ( media-libs/flac:=[cxx] )
+ id3tag? ( media-libs/libid3tag:= )
+ lv2? (
+ dev-libs/serd
+ dev-libs/sord
+ media-libs/lilv
+ media-libs/lv2
+ media-libs/sratom
+ media-libs/suil
+ )
+ mad? ( media-libs/libmad )
+ mpg123? ( media-sound/mpg123 )
+ ogg? ( media-libs/libogg )
+ opus? ( media-libs/opus )
+ sbsms? ( media-libs/libsbsms )
+ twolame? ( media-sound/twolame )
+ vamp? ( media-libs/vamp-plugin-sdk )
+ vorbis? ( media-libs/libvorbis )
+ wavpack? ( media-sound/wavpack )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+REQUIRED_USE="
+ mad? ( !mpg123 )
+"
+
+PATCHES=(
+ # Equivalent to previous versions
+ "${FILESDIR}/${PN}-3.2.3-disable-ccache.patch"
+ # From Debian
+ "${FILESDIR}/${PN}-3.2.3-fix-rpaths.patch"
+
+ # Disables some header-based detection
+ "${FILESDIR}/${PN}-3.2.3-allow-overriding-alsa-jack.patch"
+
+ # For has_networking
+ "${FILESDIR}/${PN}-3.2.3-remove-conan-threadpool.patch"
+ "${FILESDIR}/${PN}-3.2.3-allow-finding-rapidjson-pkgconfig.patch"
+
+ # GCC 13
+ "${FILESDIR}/${PN}-3.2.5-gcc13-deux.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ local header_subs="${S}/lib-src/header-substitutes"
+ cat <<-EOF >"${header_subs}/allegro.h" || die
+ /* Hack the allegro.h header substitute to use system headers. */
+ #include <portsmf/allegro.h>
+ EOF
+
+ # Keep in sync with has_networking and the ThreadPool.h SRC_URI.
+ if use audiocom; then
+ mkdir -p "${S}/"/lib-src/threadpool/ThreadPool/ || die
+ cp "${DISTDIR}"/progschj-ThreadPool-"${MY_THREADPOOL_DATE}".h \
+ "${S}"/lib-src/threadpool/ThreadPool/ThreadPool.h || die
+ fi
+}
+
+src_configure() {
+ setup-wxwidgets
+
+ # * always use system libraries if possible
+ # * options listed roughly in the order specified in
+ # cmake-proxies/CMakeLists.txt
+ # * USE_VST was omitted, it appears to no longer have dependencies
+ # (this is different from VST3)
+ local mycmakeargs=(
+ # Tell the CMake-based build system it's building a release.
+ -DAUDACITY_BUILD_LEVEL=2
+ -Daudacity_use_nyquist=local
+ #-Daudacity_use_pch leaving it to the default behavior
+ -Daudacity_use_portmixer=$(usex portmixer system off)
+ -Daudacity_use_soxr=system
+
+ -Daudacity_conan_enabled=OFF
+
+ -Daudacity_has_networking=$(usex audiocom on off)
+ # Not useful on Gentoo.
+ -Daudacity_has_updates_check=OFF
+ -Daudacity_has_audiocom_upload=$(usex audiocom on off)
+ -Daudacity_has_threadpool=local
+
+ # The VST3 SDK is unpackaged, and it appears to be under a breed
+ # of a proprietary license and the GPL.
+ -Daudacity_has_vst3=OFF
+ -Daudacity_lib_preference=system
+ -Daudacity_obey_system_dependencies=ON
+ -Daudacity_use_expat=system
+ -Daudacity_use_ffmpeg=$(usex ffmpeg loaded off)
+ -Daudacity_use_libid3tag=$(usex id3tag system off)
+ -Daudacity_use_ladspa=$(usex ladspa)
+ -Daudacity_use_lame=system
+ -Daudacity_use_wxwidgets=system
+ -Daudacity_use_libmp3lame=system
+ -Daudacity_use_libmpg123=$(usex mpg123 system off)
+ -Daudacity_use_libmad=$(usex mad system off)
+ -Daudacity_use_wavpack=$(usex wavpack system off)
+ -Daudacity_use_libogg=$(usex ogg system off)
+ -Daudacity_use_libflac=$(usex flac system off)
+ -Daudacity_use_libopus=$(usex flac system off)
+ -Daudacity_use_libvorbis=$(usex vorbis system off)
+ -Daudacity_use_libsndfile=system
+ -Daudacity_use_portaudio=system
+ -Daudacity_use_midi=system
+ -Daudacity_use_vamp=$(usex vamp system off)
+ -Daudacity_use_lv2=$(usex lv2 system off)
+ -Daudacity_use_portsmf=system
+ -Daudacity_use_sbsms=$(usex sbsms system off)
+ -Daudacity_use_soundtouch=system
+ -Daudacity_use_twolame=$(usex twolame system off)
+
+ # Disable telemetry features.
+ -Daudacity_has_sentry_reporting=off
+ -Daudacity_has_crashreports=off
+
+ # See the allow-overriding-alsa-jack.patch patch
+ -DPA_HAS_ALSA=$(usex alsa on off)
+ ## Keep watch of PA_HAS_OSS in lib-src/portmixer/CMakeLists.txt;
+ ## AFAICT it introduces no deps as-is, but that could change.
+ ## Similar goes for PA_HAS_JACK.
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # Remove bad doc install
+ rm -r "${ED}"/usr/share/doc || die
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${WORKDIR}"/help/manual/{m,man}
+ dodoc "${WORKDIR}"/help/manual/{favicon.ico,index.html,quick_help.html}
+ dosym ../../doc/${PF}/html /usr/share/${PN}/help/manual
+ fi
+}
diff --git a/media-sound/audacity/files/audacity-3.2.5-gcc13-deux.patch b/media-sound/audacity/files/audacity-3.2.5-gcc13-deux.patch
new file mode 100644
index 000000000000..c9fdad5fbafd
--- /dev/null
+++ b/media-sound/audacity/files/audacity-3.2.5-gcc13-deux.patch
@@ -0,0 +1,57 @@
+https://github.com/audacity/audacity/issues/4489
+https://github.com/audacity/audacity/commit/a49d145ef5e3046273c879be0a21d48ecd4dcab7
+https://bugs.gentoo.org/899764
+
+--- a/lib-src/libnyquist/nyquist/nyqstk/include/Stk.h
++++ b/lib-src/libnyquist/nyquist/nyqstk/include/Stk.h
+@@ -46,7 +46,8 @@ typedef uint64_t uintmax_t;
+ */
+ #endif
+
+-#include <stddef.h>
++#include <cstddef>
++#include <cstdint>
+ #include <string>
+ #include <iostream>
+ #include <sstream>
+@@ -355,10 +356,6 @@
+ typedef signed int SINT32;
+ typedef float FLOAT32;
+ typedef double FLOAT64;
+-// added by RBD
+-#ifdef __linux__
+-#define intptr_t long
+-#endif
+
+ // The default sampling rate.
+ const StkFloat SRATE = 44100.0;
+--- a/src/effects/LoadEffects.cpp
++++ b/src/effects/LoadEffects.cpp
+@@ -154,9 +154,9 @@ void BuiltinEffectsModule::AutoRegisterPlugins(PluginManagerInterface & pm)
+ if (rediscoverAll ||
+ !pm.IsPluginRegistered(path, &pair.second->name.Msgid())
+ ){
+- DiscoverPluginsAtPath(path, ignoredErrMsg, [&](PluginProvider *provider, ComponentInterface *ident)
++ DiscoverPluginsAtPath(path, ignoredErrMsg, [&](PluginProvider *provider, ComponentInterface *ident) -> const PluginID&
+ {
+- const auto pluginId = PluginManagerInterface::DefaultRegistrationCallback(provider, ident);
++ const auto& pluginId = PluginManagerInterface::DefaultRegistrationCallback(provider, ident);
+ if(pair.second->excluded)
+ PluginManager::Get().EnablePlugin(pluginId, false);
+ return pluginId;
+--- a/libraries/lib-module-manager/PluginHost.cpp
++++ b/libraries/lib-module-manager/PluginHost.cpp
+@@ -37,11 +37,11 @@ namespace
+ TranslatableString errorMessage{};
+ auto validator = provider->MakeValidator();
+ auto numPlugins = provider->DiscoverPluginsAtPath(
+- pluginPath, errorMessage, [&](PluginProvider *provider, ComponentInterface *ident)
++ pluginPath, errorMessage, [&](PluginProvider *provider, ComponentInterface *ident) -> const PluginID&
+ {
+ //Workaround: use DefaultRegistrationCallback to create all descriptors for us
+ //and then put a copy into result
+- auto id = PluginManager::DefaultRegistrationCallback(provider, ident);
++ auto& id = PluginManager::DefaultRegistrationCallback(provider, ident);
+ if(const auto ptr = PluginManager::Get().GetPlugin(id))
+ {
+ auto desc = *ptr;