diff options
Diffstat (limited to 'media-sound/audacity')
9 files changed, 774 insertions, 0 deletions
diff --git a/media-sound/audacity/Manifest b/media-sound/audacity/Manifest index 0ddb6f0df526..01087a7355da 100644 --- a/media-sound/audacity/Manifest +++ b/media-sound/audacity/Manifest @@ -11,11 +11,20 @@ AUX audacity-3.2.3-fix-rpaths.patch 5961 BLAKE2B d48471ba4cea8103fd1caef6e3e1335 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-gettext-0.22.patch 1193 BLAKE2B 9410d92db9b6a4b06e91cbae5ba25ec5dc16ee3421c511468a55e0038ed2db70c9d195f7eca894503c1bec023e0efc1006ac36eada4f1e87567828f4288b23c9 SHA512 f8a3187343f11875840d605da11a021d7e1f25fa5cb361432863d3933a3880a5e8df63d6feb6706e88bdb5e0f0e4e5c77ec8d21806003abf66166fe8a28e02b2 +AUX audacity-3.3.3-Findlibmad.patch 1758 BLAKE2B c1e0ef6734f925127b0be9abc84fb1b6411d15b8b973683f84f54d9c0e557c7b4dcc786baa9962ff039529f9306144008f1f12b1edb8f519df5a0f0c4d06d9de SHA512 0724cabecd37e2c740227fdc6f0144d97d68bd9846609aea25dfaa41289e8eea790487af320e784e1e6e8c3c2e27689af9643bcc2114c9e5f9d09d679f4ed754 +AUX audacity-3.3.3-fix-includes.patch 1764 BLAKE2B ea7f73f60b8b5ffc42218b65d8148273689d2460b97e4728adf878cb3980762375615cf6b29e205945b69dd36f17b760e949d8805f4bd2d867d0b37133290c6e SHA512 d3dd1c39bfda4146b315f923fb6ecda07ad30d77dae7d930e315a4aae8e2a45de04c217b982aa719d8579c3933bd3843ca42095c1ddc161860a204f8d94dcb12 +AUX audacity-3.3.3-fix-rpaths.patch 3819 BLAKE2B 29079fb4fd63b383546b1f82c08fb98b16eba0588da99b936f7de104bcb826fd6a0dc7f63fd379e44ace9d80ea612d86deda9f68980e3cd5c0874f1925b35b91 SHA512 d05868e7adf91c613534aa965059da5e393582bbaee0b49605c2e270d528dfd8fa882ce356e5fed38752afbbb09539165ea566b13c13df4bc949ed8c5f2617e1 +AUX audacity-3.3.3-gettext-0.22.patch 872 BLAKE2B 5de981a0b86606f688ca9fa8f036d58d160d0c98f2f5c980089af076ad37951f4675e4e6d6f40e9b719ffd2793cf747a259fc847a60d72e84d56c89f7349499f SHA512 459092cd0bd192468e55ba7174b1b23a0334fb3186fddbf0d14348c870efad23a7e4baa69a288ca6f2bbe5363e5a4251006b8fb580bdf6035184f3c5205c338d +AUX audacity-3.3.3-local-threadpool-libraries.patch 1377 BLAKE2B 6031d9e3f9b4e11a2d16fe96dc261254dbba62dcb461d9c395f9e8d61cb46176680f3eb3f63a0bb5b581bcf35e9c6c7ab954177476c08d0118c0f0d41a34b496 SHA512 1d61c9fbeaae67fff1c02bc84c6791abab5fcdd886c729caf4cd87ecd8d1ede58bd634cebce133d3209212939603aba5a05c5b8cee762a8b2c2bda10a2c11888 +AUX audacity-3.3.3-upstream-fix-rapidjson.patch 2461 BLAKE2B d59077e4729aa5702db6181eb3dac9a9c98f6f64c3b4e61c87c6856c76b8ddb2d9f9036db07efe8263619fa5a9b14fd1ae4be380df34a5483f102b2bde809a18 SHA512 67c6760c472c4161335f9c65129a28495ad9e8605a1f17cd1570037fc4767c9d326221598c93e0e1595bd10d6044a1d7b8dcac9b6c29babecee60a526ef6dd92 DIST Audacity-2.4.2.tar.gz 61248430 BLAKE2B bb7e31e22d2a09c38767b019ed5c2c2be31741594715d73452fc4622d171a6209e87009b6f820873cc1cff2f6b85547a3dea0a2d8d4dd7195617509e571ee9b8 SHA512 0d9cdabf5ba2c7207e8d8e4a8bdfc3e7d32277386436ecb480e3ff781720f5449a56b310ba91c78ca67afb752e2ab736abd5b7ce40d19d153bfc4a2067343a3d DIST Audacity-3.2.5.tar.gz 57017533 BLAKE2B b8e48cab1c89cadb343a17fcb1d811a7363231152867f842ffff6dd8329103c9a407beb3f0b587e35e711070230c5c86d5aa97578b5a7c08bdbb029570677a24 SHA512 850ce4dc27e2c6d0b63bf0c0186deb417febc49b561e572a697f0e7ae2a7b2b3f39816b7beeacf9cbfb9525de85923e2ce6d06486fcf1855e34e2ecd1b7e3582 +DIST Audacity-3.3.3.tar.gz 57120215 BLAKE2B 566aa2529f2708c80eb8e2887c3f3b2a1477d0825133b960f824d0697716d5b5e3a3ba0bcb14a20afc2eba7ac544da154339d1cd37261225b06326e8ee3f730c SHA512 c484e747f5207785b1872d031be2c3c50e7bbce087909c41930e593e2ab5777e0ab527a2770d90d89854bdd131e3f1f7afe3696b30420e3d8370e9f95527c937 DIST audacity-manual-2.4.2.zip 22459298 BLAKE2B 001ca56f73c3c48f9b49b3b6478c6de6fb4c305fb869b11d93e41d5aee7ee45133bd7047c4d281fed4859d6c6061352dfaeb995e7b2602e42e09ab04e05e00dc SHA512 8afc7faffb0da87efe0c2cb64f8593777357252b4893ae0522ec7b37b4f7806ad9582ca9e4b751d085c2598aba6b580dacd805daa00b236a4ff8f6663a80135c 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 c73bf208842798e91b692e24b0eda44574d3de4b5f102146e7e244c180546d52b98bb4fb863852b87da922c6c7e889be42ba21e3a3909dd4ca72d974274a2c63 SHA512 eb08275d0e436beb6474ae7f6a2180eab898209cf70b664f2c12fd52ad257f8cfea3b30d281acdd91c36d896dbe42e163da94232831c6801a1c718d3ee2e92d7 EBUILD audacity-3.2.5-r1.ebuild 7046 BLAKE2B 906b7e9304938233f7ca69af3788fa076bb2b03841efff9c3f68ab4536be265a9c5de661d2390e0858b6357989834956155c9f9eb51d90cbf62e889f486f5d8b SHA512 b5561ac997acc890008de76d4a65cf784ea15fa2fb28ab89d999bd3ec56ac41482cd3805c78007ead30694d9e099749efcea51a7881b34fb307624906bfac975 +EBUILD audacity-3.3.3.ebuild 6848 BLAKE2B 8bbcdd94f569a5f213c03c299bd9014a4710bbbfde759bc03bb37490e82deeb73f3c6edb0b1dfdbdd1f09e1af1f64e1bad064fdc5392a37bd63aa3df9e01743f SHA512 851e1ec1afc80c53775506533c6be9ae4f5d2141c2bca7dc1fa4af843331d55cc2022e084ea32aa28a7db5895ae2298013575759dfb9a78c845e09ca0cfeb241 +EBUILD audacity-9999.ebuild 6482 BLAKE2B fe4873abb391c7c3001f09fa298ce698aade1f1048cb834602f26f9f334fc06c6beb67214b780ed34899a965dd8d4c441b9b8f651066f78132ca0101df823ee7 SHA512 fe7aa76a29e0d44e1780f087161b6d8495abe054118a51e526f08ead995742b8529ccfbf0c78c8f1ddad5b517614f382097f537d9085e0860c310da0378fc111 MISC metadata.xml 1512 BLAKE2B 277533c5356fb9fee5f353c14f43886e2823cf11f50deff855e31b039e197dd9daeab65dd133461e468f6bf2862b72e910ea36f67bceedec00a5e2234a386db5 SHA512 f66ee862c1fa473e825afc68186b1e2ecc3e7f4bb49272fde63b7b52afb2075795632c0690dd37ded5390a180720297d12b33360f34a4050640080b906ea0a28 diff --git a/media-sound/audacity/audacity-3.3.3.ebuild b/media-sound/audacity/audacity-3.3.3.ebuild new file mode 100644 index 000000000000..4f1b16d516a1 --- /dev/null +++ b/media-sound/audacity/audacity-3.3.3.ebuild @@ -0,0 +1,228 @@ +# 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 + +DESCRIPTION="Free crossplatform audio editor" +HOMEPAGE="https://www.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" + +if [[ ${PV} = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/audacity/audacity.git" +else + KEYWORDS="~amd64 ~riscv" + MY_P="Audacity-${PV}" + S="${WORKDIR}/${PN}-${MY_P}" + SRC_URI="https://github.com/audacity/audacity/archive/${MY_P}.tar.gz" +fi + +SRC_URI+=" audiocom? ( ${MY_THREADPOOL} )" + +# GPL-2+, GPL-3 - Audacity itself +# ZLIB - The ThreadPool single-header library +# CC-BY-3.0 - Documentation +LICENSE="GPL-2+ + GPL-3 + audiocom? ( ZLIB ) +" +SLOT="0" +IUSE="alsa audiocom 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.3.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.3.3-local-threadpool-libraries.patch" + "${FILESDIR}/${PN}-3.3.3-upstream-fix-rapidjson.patch" + + # Add Findlibmad.cmake + "${FILESDIR}/${PN}-3.3.3-Findlibmad.patch" + + # Fix includes + "${FILESDIR}/${PN}-3.3.3-fix-includes.patch" + + # gettext 0.22 + "${FILESDIR}/${PN}-3.3.3-gettext-0.22.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) + + # 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 +} diff --git a/media-sound/audacity/audacity-9999.ebuild b/media-sound/audacity/audacity-9999.ebuild new file mode 100644 index 000000000000..82ce039fc3a4 --- /dev/null +++ b/media-sound/audacity/audacity-9999.ebuild @@ -0,0 +1,212 @@ +# 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 + +DESCRIPTION="Free crossplatform audio editor" +HOMEPAGE="https://www.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" + +if [[ ${PV} = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/audacity/audacity.git" +else + KEYWORDS="~amd64 ~riscv" + MY_P="Audacity-${PV}" + S="${WORKDIR}/${PN}-${MY_P}" + SRC_URI="https://github.com/audacity/audacity/archive/${MY_P}.tar.gz" +fi + +SRC_URI+=" audiocom? ( ${MY_THREADPOOL} )" + +# GPL-2+, GPL-3 - Audacity itself +# ZLIB - The ThreadPool single-header library +# CC-BY-3.0 - Documentation +LICENSE="GPL-2+ + GPL-3 + audiocom? ( ZLIB ) +" +SLOT="0" +IUSE="alsa audiocom ffmpeg +flac id3tag +ladspa +lv2 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 + ) + 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 +" + +PATCHES=( + # Equivalent to previous versions + "${FILESDIR}/${PN}-3.2.3-disable-ccache.patch" + # From Debian + "${FILESDIR}/${PN}-3.3.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.3.3-local-threadpool-libraries.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) + + # 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_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 +} diff --git a/media-sound/audacity/files/audacity-3.3.3-Findlibmad.patch b/media-sound/audacity/files/audacity-3.3.3-Findlibmad.patch new file mode 100644 index 000000000000..7237614782b3 --- /dev/null +++ b/media-sound/audacity/files/audacity-3.3.3-Findlibmad.patch @@ -0,0 +1,55 @@ +https://github.com/audacity/audacity/pull/4916 +https://github.com/audacity/audacity/pull/4917 + +From b42dfbe2be1994ccfeff449b5c5cbe49994ffb38 Mon Sep 17 00:00:00 2001 +From: Matthew White <mehw.is.me@inventati.org> +Date: Fri, 14 Jul 2023 21:17:45 +0000 +Subject: [PATCH] Add missing Findlibmad.cmake file + +This fixes compiling against the system installed libmad. +--- + cmake-proxies/cmake-modules/Findlibmad.cmake | 35 ++++++++++++++++++++ + 1 file changed, 35 insertions(+) + create mode 100644 cmake-proxies/cmake-modules/Findlibmad.cmake + +diff --git a/cmake-proxies/cmake-modules/Findlibmad.cmake b/cmake-proxies/cmake-modules/Findlibmad.cmake +new file mode 100644 +index 000000000000..0858c2d93e24 +--- /dev/null ++++ b/cmake-proxies/cmake-modules/Findlibmad.cmake +@@ -0,0 +1,35 @@ ++#[[ ++A module to look for libmad ++]] ++ ++if( NOT libmad_FOUND ) ++ find_path( libmad_INCLUDE_DIR mad.h ) ++ find_library( libmad_LIBRARIES NAMES mad ) ++ ++ if( libmad_INCLUDE_DIR AND libmad_LIBRARIES ) ++ set( libmad_FOUND Yes ) ++ endif() ++ ++ if( libmad_FOUND ) ++ if( NOT libmad_FIND_QUIETLY ) ++ message( STATUS "Found mad: \n\tlibmad_INCLUDE_DIR: ${libmad_INCLUDE_DIR}\n\tlibmad_LIBRARIES: ${libmad_LIBRARIES}" ) ++ endif() ++ ++ if( NOT TARGET libmad::libmad ) ++ add_library( libmad::libmad INTERFACE IMPORTED GLOBAL) ++ ++ target_include_directories( libmad::libmad INTERFACE ${libmad_INCLUDE_DIR} ) ++ target_link_libraries( libmad::libmad INTERFACE ${libmad_LIBRARIES} ) ++ endif() ++ else() ++ if( libmad_FIND_REQUIRED ) ++ message( FATAL_ERROR "Could not find libmad") ++ endif() ++ endif() ++ ++ mark_as_advanced( ++ libmad_FOUND ++ libmad_INCLUDE_DIR ++ libmad_LIBRARIES ++ ) ++endif() diff --git a/media-sound/audacity/files/audacity-3.3.3-fix-includes.patch b/media-sound/audacity/files/audacity-3.3.3-fix-includes.patch new file mode 100644 index 000000000000..2e8685a09a3f --- /dev/null +++ b/media-sound/audacity/files/audacity-3.3.3-fix-includes.patch @@ -0,0 +1,55 @@ +From 78ef36996c348b1c47f75e9885a56ac46b0aeec1 Mon Sep 17 00:00:00 2001 +From: Matthew White <mehw.is.me@inventati.org> +Date: Fri, 14 Jul 2023 21:08:52 +0000 +Subject: [PATCH] Fix ImportMP3_MAD and ImportQT include directives + +This fixes 'file not found' errors. +--- + src/import/ImportMP3_MAD.cpp | 6 +++--- + src/import/ImportQT.cpp | 8 ++++---- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/import/ImportMP3_MAD.cpp b/src/import/ImportMP3_MAD.cpp +index fa26eaca49dd..9e6dfdf3a534 100644 +--- a/src/import/ImportMP3_MAD.cpp ++++ b/src/import/ImportMP3_MAD.cpp +@@ -62,10 +62,10 @@ static Importer::RegisteredUnusableImportPlugin registered + #include <wx/file.h> + + #include "Prefs.h" +-#include "../Tags.h" ++#include "Tags.h" + #include "WaveTrack.h" +-#include "../widgets/AudacityMessageBox.h" +-#include "../widgets/ProgressDialog.h" ++#include "AudacityMessageBox.h" ++#include "ProgressDialog.h" + + // PRL: include these last, + // and correct some preprocessor namespace pollution from wxWidgets that +diff --git a/src/import/ImportQT.cpp b/src/import/ImportQT.cpp +index f931b5a63fc1..5b49c1630b7f 100644 +--- a/src/import/ImportQT.cpp ++++ b/src/import/ImportQT.cpp +@@ -17,8 +17,8 @@ + + #include "Import.h" + #include "ImportPlugin.h" +-#include "../widgets/AudacityMessageBox.h" +-#include "../widgets/ProgressDialog.h" ++#include "AudacityMessageBox.h" ++#include "ProgressDialog.h" + + #define DESC XO("QuickTime files") + +@@ -76,8 +76,8 @@ static Importer::RegisteredUnusableImportPlugin registered{ + // There's a name collision between our Track and QuickTime's...workaround it + #undef Track + +-#include "../Tags.h" +-#include "../WaveTrack.h" ++#include "Tags.h" ++#include "WaveTrack.h" + + #define kQTAudioPropertyID_MaxAudioSampleSize 'mssz' + diff --git a/media-sound/audacity/files/audacity-3.3.3-fix-rpaths.patch b/media-sound/audacity/files/audacity-3.3.3-fix-rpaths.patch new file mode 100644 index 000000000000..b3fcdb85b022 --- /dev/null +++ b/media-sound/audacity/files/audacity-3.3.3-fix-rpaths.patch @@ -0,0 +1,95 @@ +This is an adapted version of: + +From: Benjamin Drung <benjamin.drung@canonical.com> +Date: Thu, 22 Sep 2022 19:52:43 +0200 +Subject: Fix rpath for private libraries on Linux + +Fixes: https://github.com/audacity/audacity/issues/3289 +Forwarded: https://github.com/audacity/audacity/pull/3671 +[1] https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling#caveats + +diff -Nuar a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2023-06-08 15:17:02.000000000 +0200 ++++ b/CMakeLists.txt 2023-07-14 01:18:46.452163033 +0200 +@@ -412,6 +412,7 @@ + set( _LIBDIR "${CMAKE_INSTALL_LIBDIR}" ) + set( _DATADIR "${CMAKE_INSTALL_DATADIR}" ) + set( _PKGLIB "${_LIBDIR}/audacity" ) ++set( _PKGMODULE "${_PKGLIB}/modules" ) + set( _PKGDATA "${_DATADIR}/audacity/" ) + set( _MANDIR "${CMAKE_INSTALL_MANDIR}" ) + set( _MODDIR "${_PKGLIB}/modules" ) +diff -Nuar a/cmake-proxies/cmake-modules/AudacityFunctions.cmake b/cmake-proxies/cmake-modules/AudacityFunctions.cmake +--- a/cmake-proxies/cmake-modules/AudacityFunctions.cmake 2023-06-08 15:17:02.000000000 +0200 ++++ b/cmake-proxies/cmake-modules/AudacityFunctions.cmake 2023-07-14 01:23:42.025628702 +0200 +@@ -338,6 +338,17 @@ + set( "${var}" "${node}" PARENT_SCOPE ) + endfunction() + ++# Call install(TARGETS...) only on Linux systems (i.e. exclude MacOS and Windows) ++macro( install_target_linux target destination ) ++ if( NOT "${CMAKE_GENERATOR}" MATCHES "Xcode|Visual Studio*" AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin" ) ++ install( TARGETS "${target}" DESTINATION "${destination}" ) ++ endif() ++endmacro() ++ ++macro( install_audacity_module target ) ++ install_target_linux( "${target}" "${_PKGMODULE}" ) ++endmacro() ++ + define_property(TARGET PROPERTY AUDACITY_GRAPH_DEPENDENCIES + BRIEF_DOCS + "Propagates information used in generating a target dependency diagram" +@@ -420,6 +431,13 @@ + list( APPEND GRAPH_EDGES "\"${TARGET}\" -> \"${IMPORT}\" ${attributes}" ) + endforeach() + set( GRAPH_EDGES "${GRAPH_EDGES}" PARENT_SCOPE ) ++ ++ # Note: Some modules set EXCLUDE_FROM_ALL afterwards to not be installed. ++ # Therefore only install libraries, but not modules here. ++ if( NOT REAL_LIBTYPE STREQUAL "MODULE" ) ++ install_target_linux( "${TARGET}" "${_PKGLIB}" ) ++ endif() ++ + endfunction() + + function ( make_interface_alias TARGET REAL_LIBTYTPE ) +@@ -487,6 +505,7 @@ + PROPERTIES + PREFIX "" + FOLDER "modules" # for IDE organization ++ INSTALL_RPATH "$ORIGIN/.." + ) + + if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin" ) +@@ -501,6 +520,7 @@ + PROPERTIES + PREFIX "" + FOLDER "libraries" # for IDE organization ++ INSTALL_RPATH "$ORIGIN" + ) + + if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin" ) +diff -Nuar a/modules/mod-script-pipe/CMakeLists.txt b/modules/mod-script-pipe/CMakeLists.txt +--- a/modules/mod-script-pipe/CMakeLists.txt 2023-06-08 15:17:02.000000000 +0200 ++++ b/modules/mod-script-pipe/CMakeLists.txt 2023-07-14 01:25:10.730068564 +0200 +@@ -15,3 +15,4 @@ + ) + audacity_module( mod-script-pipe "${SOURCES}" "Audacity" + "${DEFINES}" "" ) ++install_audacity_module( mod-script-pipe ) +diff -Nuar a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt 2023-06-08 15:17:02.000000000 +0200 ++++ b/src/CMakeLists.txt 2023-07-14 01:26:23.098427419 +0200 +@@ -1557,11 +1557,6 @@ + RUNTIME + RESOURCE DESTINATION "${_PKGDATA}" ) + +- install( DIRECTORY "${_DEST}/${_LIBDIR}/" +- DESTINATION "${_LIBDIR}" +- USE_SOURCE_PERMISSIONS +- FILES_MATCHING PATTERN "*.so*" ) +- + install( FILES "${_INTDIR}/audacity.desktop" + DESTINATION "${_DATADIR}/applications" ) + install( FILES "${topdir}/LICENSE.txt" "${topdir}/README.md" diff --git a/media-sound/audacity/files/audacity-3.3.3-gettext-0.22.patch b/media-sound/audacity/files/audacity-3.3.3-gettext-0.22.patch new file mode 100644 index 000000000000..9dad40d3e9e1 --- /dev/null +++ b/media-sound/audacity/files/audacity-3.3.3-gettext-0.22.patch @@ -0,0 +1,27 @@ +This is an adapted version of: + +https://bugs.gentoo.org/909201 +upstream fix: https://github.com/audacity/audacity/pull/4866 + +--- a/locale/be.po ++++ b/locale/be.po +@@ -3097,7 +3097,7 @@ + #: src/FileFormats.cpp + #, c-format + msgid "Error (file may not have been written): %s" +-msgstr "Памылка (магчыма, файл не запісаны): %hs" ++msgstr "Памылка (магчыма, файл не запісаны): %s" + + #: src/FileFormats.cpp + #, fuzzy +--- a/locale/fa.po ++++ b/locale/fa.po +@@ -3053,7 +3053,7 @@ + #: src/FileFormats.cpp + #, c-format + msgid "Error (file may not have been written): %s" +-msgstr "خطا (ممکن است در پرونده نوشته شده باشد) : %hs" ++msgstr "خطا (ممکن است در پرونده نوشته شده باشد) : %s" + + #: src/FileFormats.cpp + msgid "&Copy uncompressed files into the project (safer)" diff --git a/media-sound/audacity/files/audacity-3.3.3-local-threadpool-libraries.patch b/media-sound/audacity/files/audacity-3.3.3-local-threadpool-libraries.patch new file mode 100644 index 000000000000..a3ef6cf3859d --- /dev/null +++ b/media-sound/audacity/files/audacity-3.3.3-local-threadpool-libraries.patch @@ -0,0 +1,30 @@ +This is an adapted version of: + +From 7b5f56ec441fb472b61bae14e1efa353db4d7aca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> +Date: Sun, 18 Dec 2022 13:37:35 +0100 +Subject: [PATCH] Allow using local dependency for threadpool + +diff -Nuar a/cmake-proxies/cmake-modules/DependenciesList.cmake b/cmake-proxies/cmake-modules/DependenciesList.cmake +--- a/cmake-proxies/cmake-modules/DependenciesList.cmake 2023-07-14 03:40:22.518292749 +0200 ++++ b/cmake-proxies/cmake-modules/DependenciesList.cmake 2023-07-14 03:40:43.790398232 +0200 +@@ -56,7 +56,6 @@ + audacity_find_package(PortAudio REQUIRED) + + if( ${_OPT}has_networking ) +- audacity_find_package(ThreadPool REQUIRED) + audacity_find_package(CURL REQUIRED CONAN_PACKAGE_NAME libcurl) + endif() + +diff -Nuar a/libraries/lib-network-manager/CMakeLists.txt b/libraries/lib-network-manager/CMakeLists.txt +--- a/libraries/lib-network-manager/CMakeLists.txt 2023-07-14 03:38:42.061794613 +0200 ++++ b/libraries/lib-network-manager/CMakeLists.txt 2023-07-14 03:38:27.913724456 +0200 +@@ -43,4 +43,8 @@ + + set ( DEFINES INTERFACE "HAS_NETWORKING" ) + ++add_library ( threadpool::threadpool INTERFACE IMPORTED GLOBAL ) ++target_include_directories ( threadpool::threadpool INTERFACE ++ ${CMAKE_SOURCE_DIR}/lib-src/threadpool ++) + audacity_library( ${TARGET} "${SOURCES}" "${LIBRARIES}" "${DEFINES}" "" ) diff --git a/media-sound/audacity/files/audacity-3.3.3-upstream-fix-rapidjson.patch b/media-sound/audacity/files/audacity-3.3.3-upstream-fix-rapidjson.patch new file mode 100644 index 000000000000..c95676a18cfe --- /dev/null +++ b/media-sound/audacity/files/audacity-3.3.3-upstream-fix-rapidjson.patch @@ -0,0 +1,63 @@ +https://github.com/audacity/audacity/commit/6edaa3f26b34adc65c109c1a5a85923e04330e2d +https://github.com/audacity/audacity/pull/4918 + +From 6edaa3f26b34adc65c109c1a5a85923e04330e2d Mon Sep 17 00:00:00 2001 +From: Dmitry Vedenko <dmitry@crsib.me> +Date: Mon, 7 Aug 2023 17:12:49 +0300 +Subject: [PATCH] Fixes RapidJSON missing from Linux builds + +--- + .../cmake-modules/dependencies/rapidjson.cmake | 15 +++++++++++++-- + linux/packages/arch/dependencies.sh | 1 + + linux/packages/fedora34/dependencies.sh | 1 + + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/cmake-proxies/cmake-modules/dependencies/rapidjson.cmake b/cmake-proxies/cmake-modules/dependencies/rapidjson.cmake +index c44aad81b8e4..ba95962a6eb6 100644 +--- a/cmake-proxies/cmake-modules/dependencies/rapidjson.cmake ++++ b/cmake-proxies/cmake-modules/dependencies/rapidjson.cmake +@@ -1,7 +1,18 @@ + # CCI pakage appears to set the wrong value for the `cmake_target_name` + +-if(${_OPT}use_rapidjson STREQUAL "local") ++if(NOT ${_OPT}use_rapidjson STREQUAL "off") + if(NOT TARGET rapidjson::rapidjson) +- add_library( rapidjson::rapidjson ALIAS rapidjson ) ++ if(TARGET rapidjson) ++ add_library( rapidjson::rapidjson ALIAS rapidjson ) ++ else() ++ # At least on Arch RapidJSONConfig.cmake does not define a target at all ++ # so we have to do it ourselves ++ add_library( rapidjson::rapidjson INTERFACE IMPORTED GLOBAL) ++ if (RAPIDJSON_INCLUDE_DIRS ) ++ target_include_directories( rapidjson::rapidjson INTERFACE ${RAPIDJSON_INCLUDE_DIRS} ) ++ elseif(RapidJSON_INCLUDE_DIR) ++ target_include_directories( rapidjson::rapidjson INTERFACE ${RapidJSON_INCLUDE_DIR} ) ++ endif() ++ endif() + endif() + endif() +diff --git a/linux/packages/arch/dependencies.sh b/linux/packages/arch/dependencies.sh +index d34012442efd..8aa8792057d4 100755 +--- a/linux/packages/arch/dependencies.sh ++++ b/linux/packages/arch/dependencies.sh +@@ -44,6 +44,7 @@ deps=( + wavpack + wxwidgets-gtk3 + vst3sdk ++ rapidjson + ) + + pacman -Syu --noconfirm \ +diff --git a/linux/packages/fedora34/dependencies.sh b/linux/packages/fedora34/dependencies.sh +index 8f6ce8ff2eb8..1e039612b095 100755 +--- a/linux/packages/fedora34/dependencies.sh ++++ b/linux/packages/fedora34/dependencies.sh +@@ -54,6 +54,7 @@ deps=( + mesa-libEGL-devel + mpg123-devel + wavpack-devel ++ rapidjson + ) + + dnf install -y \ |