media-sound/audacity: bump to 3.7.7

Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
This commit is contained in:
Miroslav Šulc 2025-12-14 18:19:27 +01:00
parent 0606fb45e5
commit 8126a04b11
No known key found for this signature in database
GPG Key ID: 65D0F770B26B469C
2 changed files with 241 additions and 0 deletions

View File

@ -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

View File

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