diff options
author | Aliaksei Urbanski <aliaksei.urbanski@gmail.com> | 2024-04-16 22:03:31 +0300 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2024-04-16 22:53:49 +0000 |
commit | 72e8c24fcd0beb997a88f7d185a02a212abafe37 (patch) | |
tree | c7fdc2b11f7c1df5170b719274cf2938c24bf14a /media-sound/audacity | |
parent | net-im/telegram-desktop: drop 4.16.4 (diff) | |
download | gentoo-72e8c24fcd0beb997a88f7d185a02a212abafe37.tar.gz gentoo-72e8c24fcd0beb997a88f7d185a02a212abafe37.tar.bz2 gentoo-72e8c24fcd0beb997a88f7d185a02a212abafe37.zip |
media-sound/audacity: fix various issues
The flac USE flag was mistakenly used
instead of the opus USE flag for configuring.
Also, Audacity 3.4.2 introduced a brand new
USE_OPUSFILE option which must be set properly.
These changes:
- fix the opus USE flag
- add proper REQUIRED_USE
- replace media-sound/mpg123 with media-sound/mpg123-base
- move dev-libs/rapidjson from RDEPEND to DEPEND
- fix missing `#include <limits>` for 2.4.2-r4
- limit media-video/ffmpeg to <5 for 2.4.2-r4
- add x11-base/xorg-proto to DEPEND
- add some ASM to BDEPEND
- add audacity-3.4.2-audiocom-std-string.patch to PATCHES for 3.3.3-r1
- add audacity-2.4.2-fix-libflac-undefined-references.patch to PATCHES for 2.4.2-r4
- reset KEYWORDS for 2.4.2-r4 and 3.3.3-r1
Closes: https://bugs.gentoo.org/741969
Closes: https://bugs.gentoo.org/884747
Closes: https://bugs.gentoo.org/910723
Closes: https://bugs.gentoo.org/922595
Closes: https://bugs.gentoo.org/927659
Closes: https://github.com/gentoo/gentoo/pull/35903
Co-authored-by: Matthew White <mehw.is.me@inventati.org>
Signed-off-by: Aliaksei Urbanski <aliaksei.urbanski@gmail.com>
Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'media-sound/audacity')
-rw-r--r-- | media-sound/audacity/audacity-2.4.2-r4.ebuild | 135 | ||||
-rw-r--r-- | media-sound/audacity/audacity-3.3.3-r1.ebuild (renamed from media-sound/audacity/audacity-3.3.3.ebuild) | 33 | ||||
-rw-r--r-- | media-sound/audacity/audacity-3.4.2-r1.ebuild (renamed from media-sound/audacity/audacity-3.4.2.ebuild) | 24 | ||||
-rw-r--r-- | media-sound/audacity/audacity-9999.ebuild | 24 | ||||
-rw-r--r-- | media-sound/audacity/files/audacity-2.4.2-add-missing-include-limits.patch | 10 | ||||
-rw-r--r-- | media-sound/audacity/files/audacity-2.4.2-fix-libflac-undefined-references.patch | 61 | ||||
-rw-r--r-- | media-sound/audacity/metadata.xml | 4 |
7 files changed, 258 insertions, 33 deletions
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-video/ffmpeg-5:= ) + flac? ( media-libs/flac:=[cxx] ) + id3tag? ( media-libs/libid3tag:= ) + jack? ( virtual/jack ) + lv2? ( + dev-libs/serd + dev-libs/sord + >=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.ebuild b/media-sound/audacity/audacity-3.3.3-r1.ebuild index 2cba5da71a87..82c770a5849d 100644 --- a/media-sound/audacity/audacity-3.3.3.ebuild +++ b/media-sound/audacity/audacity-3.3.3-r1.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/audacity/audacity.git" else - KEYWORDS="amd64 ~arm64 ppc64 ~riscv ~x86" + 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" @@ -36,8 +36,13 @@ LICENSE="GPL-2+ audiocom? ( ZLIB ) " SLOT="0" -IUSE="alsa audiocom ffmpeg +flac id3tag +ladspa +lv2 mad mpg123 ogg +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. @@ -77,10 +82,7 @@ RDEPEND="dev-db/sqlite:3 x11-libs/wxGTK:${WX_GTK_VER}[X] sys-apps/util-linux alsa? ( media-libs/alsa-lib ) - audiocom? ( - dev-libs/rapidjson - net-misc/curl - ) + audiocom? ( net-misc/curl ) ffmpeg? ( media-video/ffmpeg ) flac? ( media-libs/flac:=[cxx] ) id3tag? ( media-libs/libid3tag:= ) @@ -93,7 +95,7 @@ RDEPEND="dev-db/sqlite:3 media-libs/suil ) mad? ( media-libs/libmad ) - mpg123? ( media-sound/mpg123 ) + mpg123? ( media-sound/mpg123-base ) ogg? ( media-libs/libogg ) opus? ( media-libs/opus ) sbsms? ( media-libs/libsbsms ) @@ -103,15 +105,13 @@ RDEPEND="dev-db/sqlite:3 wavpack? ( media-sound/wavpack ) " DEPEND="${RDEPEND} + audiocom? ( dev-libs/rapidjson ) + x11-base/xorg-proto test? ( <dev-cpp/catch-3:0 )" BDEPEND="app-arch/unzip + || ( dev-lang/nasm dev-lang/yasm ) sys-devel/gettext - virtual/pkgconfig -" - -REQUIRED_USE=" - mad? ( !mpg123 ) -" + virtual/pkgconfig" PATCHES=( # Equivalent to previous versions @@ -137,6 +137,9 @@ PATCHES=( # Allows running tests without conan "${FILESDIR}/${PN}-3.3.3-remove-conan-test-dependency.patch" + + # #920363 + "${FILESDIR}/${PN}-3.4.2-audiocom-std-string.patch" ) src_prepare() { @@ -203,9 +206,9 @@ src_configure() { -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_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) diff --git a/media-sound/audacity/audacity-3.4.2.ebuild b/media-sound/audacity/audacity-3.4.2-r1.ebuild index 69a039bc866a..f88c0660d2e3 100644 --- a/media-sound/audacity/audacity-3.4.2.ebuild +++ b/media-sound/audacity/audacity-3.4.2-r1.ebuild @@ -36,8 +36,12 @@ LICENSE="GPL-2+ audiocom? ( ZLIB ) " SLOT="0" -IUSE="alsa audiocom ffmpeg +flac id3tag +ladspa +lv2 mpg123 ogg +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. @@ -65,7 +69,6 @@ RESTRICT="!test? ( test )" RDEPEND="dev-db/sqlite:3 dev-libs/expat dev-libs/glib:2 - dev-libs/rapidjson:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsndfile @@ -95,9 +98,12 @@ RDEPEND="dev-db/sqlite:3 media-libs/sratom media-libs/suil ) - mpg123? ( media-sound/mpg123 ) + mpg123? ( media-sound/mpg123-base ) ogg? ( media-libs/libogg ) - opus? ( media-libs/opus ) + opus? ( + media-libs/opus + media-libs/opusfile + ) sbsms? ( media-libs/libsbsms ) twolame? ( media-sound/twolame ) vamp? ( media-libs/vamp-plugin-sdk ) @@ -105,11 +111,12 @@ RDEPEND="dev-db/sqlite:3 wavpack? ( media-sound/wavpack ) " DEPEND="${RDEPEND} + dev-libs/rapidjson + x11-base/xorg-proto test? ( <dev-cpp/catch-3:0 )" -BDEPEND=" +BDEPEND="|| ( dev-lang/nasm dev-lang/yasm ) sys-devel/gettext - virtual/pkgconfig -" + virtual/pkgconfig" PATCHES=( # Equivalent to previous versions @@ -188,12 +195,13 @@ src_configure() { -Daudacity_use_libmp3lame=system -Daudacity_use_libmpg123=$(usex mpg123 system off) -Daudacity_use_libogg=$(usex ogg system off) - -Daudacity_use_libopus=$(usex flac 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) diff --git a/media-sound/audacity/audacity-9999.ebuild b/media-sound/audacity/audacity-9999.ebuild index 9246a3ee4e7c..470b89e1cfce 100644 --- a/media-sound/audacity/audacity-9999.ebuild +++ b/media-sound/audacity/audacity-9999.ebuild @@ -36,8 +36,12 @@ LICENSE="GPL-2+ audiocom? ( ZLIB ) " SLOT="0" -IUSE="alsa audiocom ffmpeg +flac id3tag +ladspa +lv2 mpg123 ogg +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. @@ -65,7 +69,6 @@ RESTRICT="!test? ( test )" RDEPEND="dev-db/sqlite:3 dev-libs/expat dev-libs/glib:2 - dev-libs/rapidjson:= media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsndfile @@ -95,9 +98,12 @@ RDEPEND="dev-db/sqlite:3 media-libs/sratom media-libs/suil ) - mpg123? ( media-sound/mpg123 ) + mpg123? ( media-sound/mpg123-base ) ogg? ( media-libs/libogg ) - opus? ( media-libs/opus ) + opus? ( + media-libs/opus + media-libs/opusfile + ) sbsms? ( media-libs/libsbsms ) twolame? ( media-sound/twolame ) vamp? ( media-libs/vamp-plugin-sdk ) @@ -105,11 +111,12 @@ RDEPEND="dev-db/sqlite:3 wavpack? ( media-sound/wavpack ) " DEPEND="${RDEPEND} + dev-libs/rapidjson + x11-base/xorg-proto test? ( <dev-cpp/catch-3:0 )" -BDEPEND=" +BDEPEND="|| ( dev-lang/nasm dev-lang/yasm ) sys-devel/gettext - virtual/pkgconfig -" + virtual/pkgconfig" PATCHES=( # Equivalent to previous versions @@ -192,12 +199,13 @@ src_configure() { -Daudacity_use_libmp3lame=system -Daudacity_use_libmpg123=$(usex mpg123 system off) -Daudacity_use_libogg=$(usex ogg system off) - -Daudacity_use_libopus=$(usex flac 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) diff --git a/media-sound/audacity/files/audacity-2.4.2-add-missing-include-limits.patch b/media-sound/audacity/files/audacity-2.4.2-add-missing-include-limits.patch new file mode 100644 index 000000000000..09fb42ad2026 --- /dev/null +++ b/media-sound/audacity/files/audacity-2.4.2-add-missing-include-limits.patch @@ -0,0 +1,10 @@ +--- a/include/audacity/Types.h ++++ b/include/audacity/Types.h +@@ -44,6 +44,7 @@ + + #include <algorithm> + #include <functional> ++#include <limits> + #include <type_traits> + #include <vector> + #include <wx/debug.h> // 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 <mehw.is.me@inventati.org> +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 ++ $<$<BOOL:${USE_LIBFLAC}>: ++ 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<ODTask> newTask; +-#ifdef EXPERIMENTAL_OD_FLAC ++#if defined(EXPERIMENTAL_OD_FLAC) && defined(USE_LIBFLAC) + if(!(createdODTasks&ODTask::eODFLAC) && (odFlags & ODTask::eODFLAC)) { + newTask = std::make_unique<ODDecodeFlacTask>(); + 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 @@ <flag name="audiocom">Enable integrated uploading to audio.com</flag> <flag name="id3tag">Enables ID3 tagging with id3tag library</flag> <flag name="lv2">Add support for Ladspa V2</flag> - <flag name="mpg123">Use <pkg>media-sound/mpg123</pkg> instead of - <pkg>media-libs/libmad</pkg> for decoding MPEG decoding</flag> + <flag name="mpg123">Use <pkg>media-sound/mpg123-base</pkg> instead of + <pkg>media-libs/libmad</pkg> for MPEG decoding</flag> <flag name="portmidi">Enable support for MIDI via <pkg>media-libs/portmidi</pkg></flag> <flag name="portmixer">Enable the internal portmixer feature</flag> <flag name="portsmf">Enable support for Portable Standard Midi File Library</flag> |