From 97bacba3ead078e5db8b87ab651a3ffa7d82f60f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 17 Apr 2024 12:04:28 +0100 Subject: gentoo auto-resync : 17:04:2024 - 12:04:27 --- media-sound/audacity/Manifest | 11 +- media-sound/audacity/audacity-2.4.2-r4.ebuild | 135 +++++++++++ media-sound/audacity/audacity-3.3.3-r1.ebuild | 246 +++++++++++++++++++++ media-sound/audacity/audacity-3.3.3.ebuild | 243 -------------------- media-sound/audacity/audacity-3.4.2-r1.ebuild | 229 +++++++++++++++++++ media-sound/audacity/audacity-3.4.2.ebuild | 221 ------------------ media-sound/audacity/audacity-9999.ebuild | 24 +- ...audacity-2.4.2-add-missing-include-limits.patch | 10 + ...ty-2.4.2-fix-libflac-undefined-references.patch | 61 +++++ media-sound/audacity/metadata.xml | 4 +- 10 files changed, 706 insertions(+), 478 deletions(-) create mode 100644 media-sound/audacity/audacity-2.4.2-r4.ebuild create mode 100644 media-sound/audacity/audacity-3.3.3-r1.ebuild delete mode 100644 media-sound/audacity/audacity-3.3.3.ebuild create mode 100644 media-sound/audacity/audacity-3.4.2-r1.ebuild delete mode 100644 media-sound/audacity/audacity-3.4.2.ebuild create mode 100644 media-sound/audacity/files/audacity-2.4.2-add-missing-include-limits.patch create mode 100644 media-sound/audacity/files/audacity-2.4.2-fix-libflac-undefined-references.patch (limited to 'media-sound/audacity') diff --git a/media-sound/audacity/Manifest b/media-sound/audacity/Manifest index 029030c4e432..48308d1c437e 100644 --- a/media-sound/audacity/Manifest +++ b/media-sound/audacity/Manifest @@ -1,7 +1,9 @@ AUX audacity-2.3.3-Fix-building-against-system-portaudio.patch 1952 BLAKE2B 9a5ef294d55dfe226175d2fdd8b23a9a4e6b3e963c26b9d4d8b430054dba5c39c6ae97f911b720dc53af5173c6a639275dd119c5292f53164e749782fa8f1e46 SHA512 ff85a33922bed3a626dd82c71406d81ac59c36dc45e5d2164662aabcd14a859479304cf684b9f64d0b110a9a1a82042b130c21e820ebd4c917fd9094c0737ed2 +AUX audacity-2.4.2-add-missing-include-limits.patch 228 BLAKE2B f820837984f9033fb3e6568fe39a4446a6f99b572e5ae576a731992ee94015262b7fd728c3d07277a0aa8028af18258461b2a5eac95d4d32e6218db83dec0092 SHA512 aff54cc21ff31e96de82c8ce240a7f9fa52b6c561bbe564c9ba4eda46a2c851d33b4f164572d2bffdd7824cde3168e88d3679e9f4d720728dd6de1035fa7d9da AUX audacity-2.4.2-add-missing-include-portaudio.patch 346 BLAKE2B 51b3a09a2ed616364f7ded02663bd0a527a12d088e514fa494f7324756263cd73713a50391f3895366c3d92d491ef56d21ee380bf9c640228d5ab680328f37a8 SHA512 ccc7ebfc6453ef02b2ef4e546d8c96d45fb5ccd46a088225dc241371745bd8f39dd63b0044bfba24f1eeec70affcac29a4499f0d15a16fb4dd99eb87980fc4fa AUX audacity-2.4.2-disable-ccache.patch 545 BLAKE2B 0173fc4de28ec040f457ad54885d8d0d8d68c27b683684b4eb6404771c588a6374232b0d275cb751a1466d0e20377a2eeec56d3d423167388858bbb4ddef1056 SHA512 0026bfbc25a9bb83c49492f89c60f42f4be5dbd70baef0b0afb75d4d5b2a1f87e070d3243e8432b1b283d5a437221a209126a157737fc2db601b7b3e226749d1 AUX audacity-2.4.2-fix-gettimeofday.patch 338 BLAKE2B f9deed24aca404693a0094b83ec310d7609b6989749f42b3b6304feb9d62c02436b0c4d62116b145d44d1a0ddeaf38c86794ef449393c998f5b5a062e408ed3f SHA512 d19082009dc915b28f02e3451f06e5041b68159af138ecad10641f3c59526b4ab2873e6e676b87dff0e54320b48a6254a0da434566855605ca81b747a732e952 +AUX audacity-2.4.2-fix-libflac-undefined-references.patch 2255 BLAKE2B a1c90b3b712ef558d74edc0f8e2a4db71a8b8292b633e24a9808587923a012d0935e35e574b76ad94ade95779d917419459b83d5cf5eeb90a696ca7cc3102814 SHA512 d3cc5fd18b3869047112b930aadcf912911ed6bda0299dc3a9a284db28a56aa4545629df567844735c8c5a4c641e21e6c39f42838c41d406ac18758a74760621 AUX audacity-2.4.2-fix-metainfo.patch 468 BLAKE2B 87133634ca1be0ce0392b044d60a1632c6a963ee11a1893064c41c9d8093adf081bc3fd6a2e2dcc909573bd22d1d21e8cb58c8bbf9e464058780cfce839d6c06 SHA512 a2cdabecf53c03b77434ddbdbfb7606eb52f8e52b67d62bd206799eb0e9399345967106d7644784de338ef68d3e87c26952c491e775b1a323e1e2a91e41fe200 AUX audacity-2.4.2-fix-vertical-track-resizing.patch 462 BLAKE2B 3f6fe748506f39ca64b72449853bc396389c2760767d916301298951aaa7b82cc1379c2b7d9860b4579a964dedc6806c85120cd3f4f1aa2b726ae5846bae1df2 SHA512 dc7c2cb3ae1e47e00f473b0943994e352275dc41d41255b2b1ba2e042d9bd6ab046f2088cda81dbc22f2ffeb13a97d28073ce078e35bb29e868f6fa2e8b9e0df AUX audacity-3.2.3-allow-finding-rapidjson-pkgconfig.patch 677 BLAKE2B 3d29197b3e73784ce6bb844188fe207c4c19ac48670589a98a7a3b198c1220be0da47535402cfc234ffc82bb3b97c44660caaa8a794d249b83250b182bb2913f SHA512 2755d34cf38ce79609a6f64b0e35e5c4f05c262d588efdf4f8e47049017d21e8712e425ab9a63faba2af5369b1f9cd36a98c2bae51e6e01afe7a3b0751d4cad3 @@ -24,7 +26,8 @@ DIST audacity-manual-2.4.2.zip 22459298 BLAKE2B 001ca56f73c3c48f9b49b3b6478c6de6 DIST audacity-sources-3.4.2.tar.gz 57499669 BLAKE2B deb7cda94903826900c6d900883573a03a587ec3e03c6773a5452e3252f4c61ec76f09975f8e275b0fb8941f4e7d10eca66387d2f7c0a3f033ff4e1b1f08acc5 SHA512 5c754d2faa5867a98f24e8eae3fdb5d640483830ea9b62f94c6670e3689d87e61df6c14e9d557717d9fbfaca3b207188325369d8876248f1fc9edad43e4b500c DIST progschj-ThreadPool-20140926.h 2612 BLAKE2B 54d050ad443512e60e5c99449dd7133f3884c1067288cfc36b96c06855537b83d9b599cd8b8fb7f24e20cbc4898585b11d98d3a33dc7571a886b57c806ad3b14 SHA512 f927489de9afe0217bb0552c45bea238693f9f183a062cb12a48e19576dc50a4d0ba449a12397012ae790cc5ebd741decc08128b66f795310dba4778122e9f3d EBUILD audacity-2.4.2-r3.ebuild 3926 BLAKE2B b62459d874285eabace837ac9b2f324574ea1418a6d6396c27de531177c3f9e20511488b7d8fd22e4d8febb75ff3c706eccfd26053ec64e43f82f6906a5bc06b SHA512 0036524556974517dc0ea9427664db5564e8f9312c627a8ddf70850ba457beef51b46666fb3693cbc67b75c3775c86b90a500d7d50a515fafb6536c592d1e49b -EBUILD audacity-3.3.3.ebuild 7247 BLAKE2B d13edb80efb3cc7da04706b30972265594527b09003be5c690e1a4f3c8fa3b918fea751eec1fc6bd29d3810547204fcc4421681ed657be63847b341e38d58708 SHA512 6120da23d94e41ceb840a3cc6e9a6295e4da03674fffce158625ab671eca780ba77985916396af40c0a19eb99facd9a4e31fda7b6ef6aff79b2f4a9d1ffa4888 -EBUILD audacity-3.4.2.ebuild 6724 BLAKE2B a48efd4f301063388359264a2ae0abfc650f9ccc8c0fdc69a2087227efc3deb5d5f94893b3d62b95d0adf96e49e2ae548576a0b811de9a182ab3be9ae7fef937 SHA512 2ebf62ceaeb7240513f30bd9b1bef822e6a872ba55a2091e5dbe24e4773f1158a08302187705544661f3593edb8576f7dd04aca15ec335bdb1233a97a549f2eb -EBUILD audacity-9999.ebuild 6866 BLAKE2B 951ac9b256237f8498f37d8e2acd3058885de8a07ce7f8e1e3d11588def2e358b6a0979b5f9b4945657eb881e2971763cfd44020afffd4a645ca6e859af2b1ed SHA512 b1d1a8aae8a442ecb938f6d45b38e956ef51f7a53b54e2ede7dab703b24cf5ac139937bfe186d5a762531a5265a7416cb0789ef41283e4bd1ed466e31894d156 -MISC metadata.xml 1646 BLAKE2B af82a110327cebf9311bec6c360e3765101c09c917925d505ddfbd27f060feb923e621f37e47da27aead1b7951dcc4140e07e54213b6dc3e0abc6178506ce94b SHA512 ebc43bf8a79c77f4b7b999ddf619d99f85a58688ddacdc1a3bfdab431f28f97818effaf6ff1972fe3b81dcd42223e72d02a96ba3b29f2aa7bc6b8ea354265b2d +EBUILD audacity-2.4.2-r4.ebuild 4101 BLAKE2B 165c11e5773b0bfb80b93c3860331ca78cacbda755edff4ba8ba0e7d953e3bd39f34988aa27e586b2be885b915218a181895ab2906de9c321de49fb8b6efa10c SHA512 30952598e25cdef0ad003d1857174244b28b6cc81bc7d194386290666ab6f34da75cfd4cbbddd994d2915e113faaccfbd65b66fc92ff4302f51601f5980a7513 +EBUILD audacity-3.3.3-r1.ebuild 7417 BLAKE2B d2765f71208c5c1df301fd33d04e880e34133e364e1789e723082c144cc4ca1138b5edb6541dc8d30f74041a5c365fccdea965e6d3b6cefb778c700e3bbc216a SHA512 57a8168d6dcc83c8412881eda35df1e17b0bd2592ca9a95dbd7366c4902b6e0ac59cf4f9709e86be5993ef8d50abe790d7a360fe37b60ba31c4024401c521d4d +EBUILD audacity-3.4.2-r1.ebuild 6906 BLAKE2B 460e973e2b6870b7c3afe8eb56bbf0b5e5c596cfd5c421ef078e1358076a285324d3d19b5faf882870e89370162c0f33bac12aa87f9abb3d8222b2d5a6c3021d SHA512 500dffe96ac7ad1b0a0f911cbb81cd2dcae0723834020c54257be5d493a9fb85313893320c27839a587b7fd37b27431cfd743a540b87988503ecd010d8efe891 +EBUILD audacity-9999.ebuild 7048 BLAKE2B 6c661ade492cc7d7287d7c69be4b4475b3f5fcfae01b29922842c8364260c3f05293679fd225d6a578d2a509e4b932bf0cac3b8910505bc91d5a5741b673b134 SHA512 9418de04b75ce522bc0b3d08278cae3802491a67e2a74ad120e3bf4b1dcc1d2b7c965e97773d5b4e44ef3fd029f135bfa4ccbcc53d79bd2f425199456cdc5ece +MISC metadata.xml 1642 BLAKE2B fc334dbb1c31f732eb26bc00279966ca1ddd5c60bcac5ba4cfe49101ea4b34962befc66bb151f68289a8e5f2e06a9afe9ab88d8a159ad9b47ad6c304927b2521 SHA512 d68acc20cc56c6fe5ef879d881d92843761561a8e276eb56ea0a543336c197606d8c808e11c8dee33f12bcaf8847a51c623e5dbad75e709a9d87b8a9486f253b diff --git a/media-sound/audacity/audacity-2.4.2-r4.ebuild b/media-sound/audacity/audacity-2.4.2-r4.ebuild new file mode 100644 index 000000000000..b29bbbcdba5e --- /dev/null +++ b/media-sound/audacity/audacity-2.4.2-r4.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +WX_GTK_VER="3.0-gtk3" + +inherit cmake flag-o-matic wxwidgets xdg + +MY_P="Audacity-${PV}" +DOC_PV="${PV}" +DESCRIPTION="Free crossplatform audio editor" +HOMEPAGE="https://www.audacityteam.org/" +# wget doesn't seem to work on FossHub links, so we mirror +SRC_URI="https://github.com/audacity/audacity/archive/${MY_P}.tar.gz + doc? ( https://dev.gentoo.org/~fordfrog/distfiles/${PN}-manual-${DOC_PV}.zip )" +S="${WORKDIR}/${PN}-${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="alsa doc ffmpeg +flac id3tag jack +ladspa +lv2 mad ogg oss + portmidi +portmixer portsmf sbsms twolame vamp +vorbis +vst" + +RESTRICT="test" + +RDEPEND="dev-libs/expat + media-libs/libsndfile + media-libs/libsoundtouch:= + media-libs/portaudio[alsa?] + media-libs/soxr + >=media-sound/lame-3.100-r3 + x11-libs/wxGTK:${WX_GTK_VER}[X] + alsa? ( media-libs/alsa-lib ) + ffmpeg? ( =media-libs/lilv-0.24.6-r2 + media-libs/lv2 + media-libs/sratom + media-libs/suil + ) + mad? ( >=media-libs/libmad-0.15.1b ) + ogg? ( media-libs/libogg ) + portmidi? ( media-libs/portmidi ) + sbsms? ( media-libs/libsbsms ) + twolame? ( media-sound/twolame ) + vamp? ( media-libs/vamp-plugin-sdk ) + vorbis? ( media-libs/libvorbis ) +" +DEPEND="${RDEPEND} + x11-base/xorg-proto" +BDEPEND="app-arch/unzip + || ( dev-lang/nasm dev-lang/yasm ) + sys-devel/gettext + virtual/pkgconfig" + +REQUIRED_USE="portmidi? ( portsmf )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.3.3-Fix-building-against-system-portaudio.patch + "${FILESDIR}/${P}-fix-vertical-track-resizing.patch" + "${FILESDIR}/${P}-fix-gettimeofday.patch" + "${FILESDIR}/${P}-fix-metainfo.patch" + "${FILESDIR}/${P}-add-missing-include-limits.patch" + "${FILESDIR}/${P}-add-missing-include-portaudio.patch" + "${FILESDIR}/${P}-disable-ccache.patch" + "${FILESDIR}/${P}-fix-libflac-undefined-references.patch" +) + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + setup-wxwidgets + append-cxxflags -std=gnu++14 + + # * always use system libraries if possible + # * options listed in the order that cmake-gui lists them + local mycmakeargs=( +# --disable-dynamic-loading + -Daudacity_lib_preference=system + -Daudacity_use_expat=system + -Daudacity_use_ffmpeg=$(usex ffmpeg loaded off) + -Daudacity_use_flac=$(usex flac system off) + -Daudacity_use_id3tag=$(usex id3tag system off) + -Daudacity_use_ladspa=$(usex ladspa) + -Daudacity_use_lame=system + -Daudacity_use_lv2=$(usex lv2 system off) + -Daudacity_use_mad=$(usex mad system off) + -Daudacity_use_midi=$(usex portmidi system off) + -Daudacity_use_nyquist=local + -Daudacity_use_ogg=$(usex ogg system off) + -Daudacity_use_pa_alsa=$(usex alsa) + -Daudacity_use_pa_jack=$(usex jack linked off) + -Daudacity_use_pa_oss=$(usex oss) + -Daudacity_use_pch=OFF + -Daudacity_use_portaudio=local # only 'local' option is present + -Daudacity_use_portmixer=$(usex portmixer local off) + -Daudacity_use_portsmf=$(usex portsmf local off) + -Daudacity_use_sbsms=$(usex sbsms local off) # no 'system' option in configuration? + -Daudacity_use_sndfile=system + -Daudacity_use_soundtouch=system + -Daudacity_use_soxr=system + -Daudacity_use_twolame=$(usex twolame system off) + -Daudacity_use_vamp=$(usex vamp system off) + -Daudacity_use_vorbis=$(usex vorbis system off) + -Daudacity_use_vst=$(usex vst) + -Daudacity_use_wxwidgets=system + ) + + cmake_src_configure + + # if git is not installed, this (empty) file is not being created and the compilation fails + # so we create it manually + touch "${BUILD_DIR}/src/private/RevisionIdent.h" || die "failed to create file" +} + +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,manual} + 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/audacity-3.3.3-r1.ebuild b/media-sound/audacity/audacity-3.3.3-r1.ebuild new file mode 100644 index 000000000000..82c770a5849d --- /dev/null +++ b/media-sound/audacity/audacity-3.3.3-r1.ebuild @@ -0,0 +1,246 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER="3.2-gtk3" + +inherit cmake flag-o-matic wxwidgets xdg virtualx + +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 ~arm64 ~ppc64 ~riscv ~x86" + 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 test twolame vamp +vorbis wavpack" +REQUIRED_USE=" + mad? ( !mpg123 ) + opus? ( ogg ) + vorbis? ( ogg ) +" +RESTRICT="!test? ( 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? ( 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-base ) + 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} + audiocom? ( dev-libs/rapidjson ) + x11-base/xorg-proto + test? ( "${header_subs}/allegro.h" || die + /* Hack the allegro.h header substitute to use system headers. */ + #include + 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() { + # -Werror=strict-aliasing + # Reportedly also -Werror=odr but I could not get that far. + # https://bugs.gentoo.org/915226 + # https://github.com/audacity/audacity/issues/6096 + append-flags -fno-strict-aliasing + filter-lto + + 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=OFF + -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 opus system off) + -Daudacity_use_libsndfile=system + -Daudacity_use_libvorbis=$(usex vorbis system off) + -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. + + -Daudacity_has_tests=$(usex test ON OFF) + ) + + cmake_src_configure +} + +src_test() { + virtx cmake_src_test +} + +src_install() { + cmake_src_install + + # Remove bad doc install + rm -r "${ED}"/usr/share/doc || die +} diff --git a/media-sound/audacity/audacity-3.3.3.ebuild b/media-sound/audacity/audacity-3.3.3.ebuild deleted file mode 100644 index 2cba5da71a87..000000000000 --- a/media-sound/audacity/audacity-3.3.3.ebuild +++ /dev/null @@ -1,243 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -WX_GTK_VER="3.2-gtk3" - -inherit cmake flag-o-matic wxwidgets xdg virtualx - -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 ~arm64 ppc64 ~riscv ~x86" - 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 test twolame vamp +vorbis wavpack" -RESTRICT="!test? ( 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} - test? ( "${header_subs}/allegro.h" || die - /* Hack the allegro.h header substitute to use system headers. */ - #include - 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() { - # -Werror=strict-aliasing - # Reportedly also -Werror=odr but I could not get that far. - # https://bugs.gentoo.org/915226 - # https://github.com/audacity/audacity/issues/6096 - append-flags -fno-strict-aliasing - filter-lto - - 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=OFF - -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. - - -Daudacity_has_tests=$(usex test ON OFF) - ) - - cmake_src_configure -} - -src_test() { - virtx cmake_src_test -} - -src_install() { - cmake_src_install - - # Remove bad doc install - rm -r "${ED}"/usr/share/doc || die -} diff --git a/media-sound/audacity/audacity-3.4.2-r1.ebuild b/media-sound/audacity/audacity-3.4.2-r1.ebuild new file mode 100644 index 000000000000..f88c0660d2e3 --- /dev/null +++ b/media-sound/audacity/audacity-3.4.2-r1.ebuild @@ -0,0 +1,229 @@ +# Copyright 1999-2024 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 virtualx + +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 ~arm64 ~ppc64 ~riscv ~x86" + MY_P="Audacity-${PV}" + S="${WORKDIR}/${PN}-sources-${PV}" + SRC_URI="https://github.com/audacity/audacity/releases/download/Audacity-${PV}/${PN}-sources-${PV}.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 test twolame vamp +vorbis wavpack" +REQUIRED_USE=" + opus? ( ogg ) + vorbis? ( ogg ) +" +RESTRICT="!test? ( 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/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libsndfile + media-libs/libsoundtouch:= + media-libs/portaudio[alsa?] + media-libs/portmidi + media-libs/portsmf:= + media-libs/soxr + media-sound/lame + sys-apps/util-linux + sys-libs/zlib:= + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/wxGTK:${WX_GTK_VER}[X] + alsa? ( media-libs/alsa-lib ) + audiocom? ( + 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-base ) + ogg? ( media-libs/libogg ) + opus? ( + media-libs/opus + media-libs/opusfile + ) + sbsms? ( media-libs/libsbsms ) + twolame? ( media-sound/twolame ) + vamp? ( media-libs/vamp-plugin-sdk ) + vorbis? ( media-libs/libvorbis ) + wavpack? ( media-sound/wavpack ) +" +DEPEND="${RDEPEND} + dev-libs/rapidjson + x11-base/xorg-proto + test? ( + #include ++#include + #include + #include + #include // for wxASSERT diff --git a/media-sound/audacity/files/audacity-2.4.2-fix-libflac-undefined-references.patch b/media-sound/audacity/files/audacity-2.4.2-fix-libflac-undefined-references.patch new file mode 100644 index 000000000000..0500f7621e45 --- /dev/null +++ b/media-sound/audacity/files/audacity-2.4.2-fix-libflac-undefined-references.patch @@ -0,0 +1,61 @@ +From be29286502be6c41b76e652b02862fe987c1f49b Mon Sep 17 00:00:00 2001 +From: Matthew White +Date: Sun, 14 Apr 2024 04:03:34 +0000 +Subject: [PATCH] libflac: fix undefined references when libflac is disabled + +In the upstream master branch: + - future commit 2fbfd3e0a5ab803e2072cbac1b2be685c3adcf05 disabled + ondemand (aka OD) in CMakeLists.txt. + - future commit cbf1bb558e094e24cbb54c3bbd2bd45a1abbfb2a expunged + ondemand fully. + +Closes: https://bugs.gentoo.org/741969 +Closes: https://bugs.gentoo.org/884747 +--- + src/CMakeLists.txt | 6 ++++-- + src/ProjectFileManager.cpp | 4 +++- + 2 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 93dc50c82..b2c4496ab 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -702,8 +702,10 @@ list( APPEND SOURCES + ondemand/ODComputeSummaryTask.h + ondemand/ODDecodeFFmpegTask.cpp + ondemand/ODDecodeFFmpegTask.h +- ondemand/ODDecodeFlacTask.cpp +- ondemand/ODDecodeFlacTask.h ++ $<$: ++ ondemand/ODDecodeFlacTask.cpp ++ ondemand/ODDecodeFlacTask.h ++ > + ondemand/ODDecodeTask.cpp + ondemand/ODDecodeTask.h + ondemand/ODManager.cpp +diff --git a/src/ProjectFileManager.cpp b/src/ProjectFileManager.cpp +index de5eeee98..106c52c31 100644 +--- a/src/ProjectFileManager.cpp ++++ b/src/ProjectFileManager.cpp +@@ -51,7 +51,9 @@ Paul Licameli split from AudacityProject.cpp + #include "import/ImportMIDI.h" + #include "commands/CommandContext.h" + #include "ondemand/ODComputeSummaryTask.h" ++#ifdef USE_LIBFLAC + #include "ondemand/ODDecodeFlacTask.h" ++#endif + #include "ondemand/ODManager.h" + #include "ondemand/ODTask.h" + #include "toolbars/SelectionBar.h" +@@ -276,7 +278,7 @@ void ProjectFileManager::EnqueueODTasks() + while((odFlags|createdODTasks) != createdODTasks) + { + std::unique_ptr newTask; +-#ifdef EXPERIMENTAL_OD_FLAC ++#if defined(EXPERIMENTAL_OD_FLAC) && defined(USE_LIBFLAC) + if(!(createdODTasks&ODTask::eODFLAC) && (odFlags & ODTask::eODFLAC)) { + newTask = std::make_unique(); + createdODTasks = createdODTasks | ODTask::eODFLAC; +-- +2.44.0 + diff --git a/media-sound/audacity/metadata.xml b/media-sound/audacity/metadata.xml index 63566f7f9050..e17276dd00ed 100644 --- a/media-sound/audacity/metadata.xml +++ b/media-sound/audacity/metadata.xml @@ -21,8 +21,8 @@ Enable integrated uploading to audio.com Enables ID3 tagging with id3tag library Add support for Ladspa V2 - Use media-sound/mpg123 instead of - media-libs/libmad for decoding MPEG decoding + Use media-sound/mpg123-base instead of + media-libs/libmad for MPEG decoding Enable support for MIDI via media-libs/portmidi Enable the internal portmixer feature Enable support for Portable Standard Midi File Library -- cgit v1.2.3