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
+}

Reply via email to