commit: 8126a04b118cddc83ba04534dfefc5a8b6c271cb Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> AuthorDate: Sun Dec 14 17:19:27 2025 +0000 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org> CommitDate: Sun Dec 14 17:24:55 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8126a04b
media-sound/audacity: bump to 3.7.7 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org> media-sound/audacity/Manifest | 1 + media-sound/audacity/audacity-3.7.7.ebuild | 240 +++++++++++++++++++++++++++++ 2 files changed, 241 insertions(+) diff --git a/media-sound/audacity/Manifest b/media-sound/audacity/Manifest index 73243637ad6c..302eb7ce1680 100644 --- a/media-sound/audacity/Manifest +++ b/media-sound/audacity/Manifest @@ -3,4 +3,5 @@ DIST audacity-sources-3.4.2.tar.gz 57499669 BLAKE2B deb7cda94903826900c6d9008835 DIST audacity-sources-3.7.2.tar.gz 62087884 BLAKE2B ecb060200a4ae848872b732ebe9dfc88546b332c3ba5399a36e3374b8b4f9ca7c24be2f796efb98d14491847b84ec6b3573abdd896f9f6eeb9c89a5c7d601e4d SHA512 7d6d75fa2a953981e524656eaf3b7a621003d315b1dc101f39601468413ff3045144b7ee581fa2136c16233880e2635b3103cc56d7eacaa5853aed0dbbaaa851 DIST audacity-sources-3.7.3.tar.gz 62087367 BLAKE2B 9f0ab7b7c4e54e0e695b12068cee79d7d6dedc70968a37e5541d0217ec0e88eb62110a3e3059d7b4c796cc83b93a7531a2c99aa548b37fe46f962a36d656f025 SHA512 2c247221b890834c8022f7c9c63714fcc58fd75462c6052600dfbff764c8646a61a849f8fc4ccd2b5d0579528748ddca9bb0fbbc406a6289c7169ca7a07ce71d DIST audacity-sources-3.7.5.tar.gz 64285530 BLAKE2B 42965d42beb76141ead4f804e0c1f326c7a7972b8aacb0f413741d9a43c45067a57f98ffb0b26e8f4cbc155d9c57a394fbb762256696c76d2f940c927adec519 SHA512 2ae4ff3333799ad5d5633ff1608a650badc01701a90080189cce5d0aea811f65fbda96c6cac7a2fc29688a1dab943912def3337f8fd94a6093acc6de9da37786 +DIST audacity-sources-3.7.7.tar.gz 64575292 BLAKE2B 9428461ad0efcea5835c0548aa89f22a52bbe710e7ce601f9f24344935999c910faf76099b67736fa1cde8407c37d26ac9af66c145f2081d8abd55826e2db74e SHA512 6871b2d6508c2fcf7e20f2d2d2a003cc62768c9ff09c8d5a96fc1971b0c1f3f2f1b2d48f71ee0b1da1a6ea6a9b8d930bca9a64c8003c67cb46b22c3e21af90f4 DIST progschj-ThreadPool-20140926.h 2612 BLAKE2B 54d050ad443512e60e5c99449dd7133f3884c1067288cfc36b96c06855537b83d9b599cd8b8fb7f24e20cbc4898585b11d98d3a33dc7571a886b57c806ad3b14 SHA512 f927489de9afe0217bb0552c45bea238693f9f183a062cb12a48e19576dc50a4d0ba449a12397012ae790cc5ebd741decc08128b66f795310dba4778122e9f3d diff --git a/media-sound/audacity/audacity-3.7.7.ebuild b/media-sound/audacity/audacity-3.7.7.ebuild new file mode 100644 index 000000000000..32830970a234 --- /dev/null +++ b/media-sound/audacity/audacity-3.7.7.ebuild @@ -0,0 +1,240 @@ +# Copyright 1999-2025 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}-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-3, GPL-2+ - Audacity itself +# CC-BY-3.0 - Documentation +# ZLIB - The ThreadPool single-header library +LICENSE="GPL-3 GPL-2+ CC-BY-3.0 audiocom? ( ZLIB )" +SLOT="0" +IUSE="alsa audiocom ffmpeg +flac id3tag +ladspa +lv2 mpg123 +ogg + opus +portmixer sbsms test twolame vamp +vorbis wavpack" +REQUIRED_USE=" + audiocom? ( wavpack ) + opus? ( ogg ) + test? ( mpg123 ) + 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=" + app-accessibility/at-spi2-core:2 + dev-db/sqlite:3 + dev-libs/expat + dev-libs/glib:2 + media-libs/harfbuzz:= + 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 + virtual/zlib:= + x11-libs/cairo[glib] + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/pango + 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? ( <dev-cpp/catch-3:0 )" +BDEPEND="|| ( dev-lang/nasm dev-lang/yasm ) + sys-devel/gettext + virtual/pkgconfig" + +PATCHES=( + # fixes include path + "${FILESDIR}/audacity-3.7.0-portsmf.patch" + + # disables ccache + "${FILESDIR}/audacity-3.7.0-disable-ccache.patch" + + # Disables some header-based detection + "${FILESDIR}/audacity-3.7.0-allow-overriding-alsa-jack.patch" + + # For has_networking + "${FILESDIR}/audacity-3.7.0-local-threadpool-libraries.patch" + + # Allows running tests without conan + "${FILESDIR}/audacity-3.3.3-remove-conan-test-dependency.patch" + + # #920363 + "${FILESDIR}/audacity-3.7.0-audiocom-std-string.patch" + + # 915041 + "${FILESDIR}/audacity-3.7.0-do-not-include-template-on-unix-to-fix-clang-compile.patch" +) + +src_prepare() { + cmake_src_prepare + + # 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 + + # Remove documentation incorrect installations + sed -i -e \ + '/install( FILES "${topdir}\/LICENSE.txt" "${topdir}\/README.md"/,+1d' \ + src/CMakeLists.txt || die +} + +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 + + # bug #944212 + append-cflags -std=gnu17 + + # * always use system libraries if possible + # * 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_conan_enabled=off + + # Not useful on Gentoo. + -Daudacity_has_updates_check=OFF + -Daudacity_has_audiocom_upload=$(usex audiocom on off) + -Daudacity_has_networking=$(usex audiocom on off) + + # Disable telemetry features. + -Daudacity_has_sentry_reporting=off + -Daudacity_has_crashreports=off + + -Daudacity_has_tests=$(usex test 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_ladspa=$(usex ladspa) + -Daudacity_use_lame=system + -Daudacity_use_libid3tag=$(usex id3tag system off) + -Daudacity_use_libflac=$(usex flac system off) + -Daudacity_use_libmp3lame=system + -Daudacity_use_libmpg123=$(usex mpg123 system off) + -Daudacity_use_libogg=$(usex ogg system off) + -Daudacity_use_libopus=$(usex opus system off) + -Daudacity_use_libsndfile=system + -Daudacity_use_libvorbis=$(usex vorbis system off) + -Daudacity_use_lv2=$(usex lv2 system off) + -Daudacity_use_midi=system + -Daudacity_use_nyquist=local + -Daudacity_use_opusfile=$(usex opus system off) + -Daudacity_use_pch=off + -Daudacity_use_portaudio=system + -Daudacity_use_portmixer=$(usex portmixer system off) + -Daudacity_use_portsmf=system + -Daudacity_use_rapidjson=system + -Daudacity_use_sbsms=$(usex sbsms system off) + -Daudacity_use_soundtouch=system + -Daudacity_use_soxr=system + -Daudacity_use_twolame=$(usex twolame system off) + -Daudacity_use_vamp=$(usex vamp system off) + -Daudacity_use_wavpack=$(usex wavpack system off) + -Daudacity_use_wxwidgets=system + + # 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_test() { + virtx cmake_src_test +}
