commit:     3d547c6720813d0ad5a3e3c73adfd91bdf2673f1
Author:     Bryce Copeland (truffle) <truffle074 <AT> gmail <DOT> com>
AuthorDate: Wed Sep  3 14:06:02 2025 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Wed Sep  3 14:06:02 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3d547c67

media-sound/tenacity: add 1.3.4-r4, drop 1.3.4, 1.3.4-r1, 1.3.4-r3

Bug: https://bugs.gentoo.org/961756
Signed-off-by: Bryce Copeland (truffle) <truffle074 <AT> gmail.com>

 .../files/tenacity-1.3.4-ffmpeg-disable-lto.patch  |  26 ++++
 media-sound/tenacity/tenacity-1.3.4-r3.ebuild      | 135 ---------------------
 ...ty-1.3.4-r1.ebuild => tenacity-1.3.4-r4.ebuild} |   8 +-
 media-sound/tenacity/tenacity-1.3.4.ebuild         | 127 -------------------
 4 files changed, 32 insertions(+), 264 deletions(-)

diff --git a/media-sound/tenacity/files/tenacity-1.3.4-ffmpeg-disable-lto.patch 
b/media-sound/tenacity/files/tenacity-1.3.4-ffmpeg-disable-lto.patch
new file mode 100644
index 0000000000..57cd3dd4a4
--- /dev/null
+++ b/media-sound/tenacity/files/tenacity-1.3.4-ffmpeg-disable-lto.patch
@@ -0,0 +1,26 @@
+disables lto for only the lib-ffmpeg-support, without affecting the rest of the
+build. lib-ffmpeg-support has a large number of -Wodr violations due to it
+overloading dynmically imported function/struct names for different ffmpeg
+versions, with different declarations. the actual types get resolved at runtime
+but cause violations at building with LTO.
+
+there is a fix in progress upstream, which should resolve the issue in future
+versions: https://codeberg.org/tenacityteam/tenacity/pulls/418
+
+was reported in bug #961756, other revisions (r2 & r3) will still compile but
+this fix is cleaner, has less impact, and stops the problematic code from
+compiling with LTO at all.
+
+diff --git a/libraries/lib-ffmpeg-support/CMakeLists.txt 
b/libraries/lib-ffmpeg-support/CMakeLists.txt
+index 7e76ab997..7c1037a60 100644
+--- a/libraries/lib-ffmpeg-support/CMakeLists.txt
++++ b/libraries/lib-ffmpeg-support/CMakeLists.txt
+@@ -117,6 +117,8 @@ if (USE_FFMPEG)
+       list(APPEND DEFINITIONS PRIVATE _DARWIN_C_SOURCE )
+    endif()
+ 
++   add_compile_options(-fno-lto)
++   add_link_options(-fno-lto)
+    tenacity_library( lib-ffmpeg-support "${SOURCES}" "${LIBRARIES}"
+       "${DEFINITIONS}" ""
+    )

diff --git a/media-sound/tenacity/tenacity-1.3.4-r3.ebuild 
b/media-sound/tenacity/tenacity-1.3.4-r3.ebuild
deleted file mode 100644
index bff140c45b..0000000000
--- a/media-sound/tenacity/tenacity-1.3.4-r3.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 2025 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 toolchain-funcs flag-o-matic
-
-# libnyquist doesn't have tags, instead use the specific submodule commit 
tenacity does
-LIBNYQUIST_COMMIT="d4fe08b079538a2fd79277ef1a83434663562f04"
-
-DESCRIPTION="Easy-to-use, privacy-friendly, FLOSS, cross-platform multi-track 
audio editor"
-HOMEPAGE="https://tenacityaudio.org/";
-SRC_URI="https://codeberg.org/tenacityteam/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz
-       
https://codeberg.org/tenacityteam/libnyquist/archive/${LIBNYQUIST_COMMIT}.tar.gz
 -> ${PN}-libnyquist-${PV}.tar.gz"
-
-# codeberg doesn't append tag
-S="${WORKDIR}/${PN}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="ffmpeg +midi +lame +id3tag +mp3 mp2 +flac matroska +ogg +vorbis +sbsms 
+soundtouch +ladspa +lv2 vamp +vst2"
-REQUIRED_USE="
-       id3tag? ( mp3 )
-       lame? ( mp3 )
-"
-
-DEPEND="
-       sys-libs/zlib
-       dev-libs/expat
-       media-sound/lame
-       media-libs/libsndfile
-       media-libs/soxr
-       dev-db/sqlite:3
-       media-libs/portaudio
-       dev-libs/glib:2
-       x11-libs/gtk+:3
-       x11-libs/wxGTK:${WX_GTK_VER}=[X]
-
-       midi? (
-               media-libs/portmidi
-               media-libs/portsmf
-       )
-       id3tag? ( media-libs/libid3tag )
-       mp3? ( media-libs/libmad )
-       mp2? ( media-sound/twolame )
-       matroska? ( media-libs/libmatroska )
-       ogg? ( media-libs/libogg )
-       vorbis? ( media-libs/libvorbis )
-       flac? ( media-libs/flac )
-       sbsms? ( media-libs/libsbsms )
-       soundtouch? ( media-libs/libsoundtouch )
-       ffmpeg? ( media-video/ffmpeg )
-       vamp? ( media-libs/vamp-plugin-sdk )
-       lv2? (
-               media-libs/lv2
-               media-libs/lilv
-               media-libs/suil
-       )
-
-       sys-devel/gettext
-       dev-libs/serd
-       dev-libs/sord
-       media-libs/sratom
-       media-libs/taglib
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-       "${FILESDIR}/${PN}-1.3.4-fix-rpath-handling.patch"
-       "${FILESDIR}/${PN}-1.3.4-fix-hardcoded-docdir.patch"
-       "${FILESDIR}/${PN}-1.3.4-odr-and-aliasing-fixes.patch"
-)
-
-src_unpack() {
-       default
-
-       # otherwise build will try to run git --submodule --init
-       rmdir "${S}/lib-src/libnyquist" || die
-       ln -s "${WORKDIR}/libnyquist" "${S}/lib-src/libnyquist"
-}
-
-src_configure() {
-       # the lib-ffmpeg-support module violates -Wodr when using GCC,
-       # so LTO builds will fail when it's enabled (bug #961756)
-       if use ffmpeg && tc-is-gcc; then
-               filter-lto
-       fi
-
-       setup-wxwidgets
-
-       local mycmakeargs=(
-               -DVCPKG=OFF
-               -DPERFORM_CODESIGN=OFF
-
-               # portage handles this, specify off to stop autodetect
-               -DSCCACHE=OFF
-               -DCCACHE=OFF
-
-               # Pre-Compiled Headers needs to stay off, even with ccache 
installed
-               # otherwise a bunch of preprocessor variables will be missing
-               -DPCH=OFF
-
-               -DMIDI=$(usex midi ON OFF)
-               -DID3TAG=$(usex id3tag ON OFF)
-               -DMP3_DECODING=$(usex mp3 ON OFF)
-               -DMP2=$(usex mp2 ON OFF)
-               -DMATROSKA=$(usex matroska ON OFF)
-               -DOGG=$(usex ogg ON OFF)
-               -DVORBIS=$(usex vorbis ON OFF)
-               -DFLAC=$(usex flac ON OFF)
-               -DSBSMS=$(usex sbsms ON OFF)
-               -DSOUNDTOUCH=$(usex soundtouch ON OFF)
-               -DFFMPEG=$(usex ffmpeg ON OFF)
-               -DLADSPA=$(usex ladspa ON OFF)
-               #-DAUDIO_UNITS=OFF  # option only exists on MacOS
-               -DLV2=$(usex lv2 ON OFF)
-               -DVAMP=$(usex vamp ON OFF)
-               -DVST2=$(usex vst2 ON OFF)
-
-               # this flag is misleading, when not "" the flag only has an 
effect
-               # when CMAKE_GENERATOR is "Visual Studio*" or "XCode" (i.e. not 
us)
-               # man pages will be installed regardless on linux
-               -DMANUAL_PATH=""
-       )
-
-       cmake_src_configure
-}
-
-src_test() {
-       virtx cmake_src_test
-}

diff --git a/media-sound/tenacity/tenacity-1.3.4-r1.ebuild 
b/media-sound/tenacity/tenacity-1.3.4-r4.ebuild
similarity index 92%
rename from media-sound/tenacity/tenacity-1.3.4-r1.ebuild
rename to media-sound/tenacity/tenacity-1.3.4-r4.ebuild
index 8096e147e2..783e81bb3c 100644
--- a/media-sound/tenacity/tenacity-1.3.4-r1.ebuild
+++ b/media-sound/tenacity/tenacity-1.3.4-r4.ebuild
@@ -70,8 +70,12 @@ DEPEND="
 RDEPEND="${DEPEND}"
 
 PATCHES=(
-       "${FILESDIR}/tenacity-1.3.4-fix-rpath-handling.patch"
-       "${FILESDIR}/tenacity-1.3.4-fix-hardcoded-docdir.patch"
+       "${FILESDIR}/${PN}-1.3.4-fix-rpath-handling.patch"
+       "${FILESDIR}/${PN}-1.3.4-fix-hardcoded-docdir.patch"
+
+       # bug #961756
+       "${FILESDIR}/${PN}-1.3.4-odr-and-aliasing-fixes.patch"
+       "${FILESDIR}/${PN}-1.3.4-ffmpeg-disable-lto.patch"
 )
 
 src_unpack() {

diff --git a/media-sound/tenacity/tenacity-1.3.4.ebuild 
b/media-sound/tenacity/tenacity-1.3.4.ebuild
deleted file mode 100644
index 46a162f2e7..0000000000
--- a/media-sound/tenacity/tenacity-1.3.4.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2025 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
-
-# libnyquist doesn't have tags, instead use the specific submodule commit 
tenacity does
-LIBNYQUIST_COMMIT="d4fe08b079538a2fd79277ef1a83434663562f04"
-
-DESCRIPTION="Easy-to-use, privacy-friendly, FLOSS, cross-platform multi-track 
audio editor"
-HOMEPAGE="https://tenacityaudio.org/";
-SRC_URI="https://codeberg.org/tenacityteam/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz
-       
https://codeberg.org/tenacityteam/libnyquist/archive/${LIBNYQUIST_COMMIT}.tar.gz
 -> ${PN}-libnyquist-${PV}.tar.gz"
-
-# codeberg doesn't append tag
-S="${WORKDIR}/${PN}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="alsa ffmpeg +midi +lame +id3tag +mp3 +mp2 +flac +ogg +vorbis +sbsms 
+soundtouch +ladspa +lv2 vamp +vst2"
-REQUIRED_USE="
-       id3tag? ( mp3 )
-       lame? ( mp3 )
-       vorbis? ( ogg )
-"
-
-DEPEND="
-       dev-libs/glib:2
-       x11-libs/gtk+:3
-       x11-libs/wxGTK:${WX_GTK_VER}=[X]
-       media-libs/alsa-lib
-       dev-libs/expat
-       flac? ( media-libs/flac )
-       sys-devel/gettext
-       media-sound/lame
-       id3tag? ( media-libs/libid3tag )
-       mp3? ( media-libs/libmad )
-       ogg? ( media-libs/libogg )
-       media-libs/libsndfile
-       vorbis? ( media-libs/libvorbis )
-       lv2? (
-               media-libs/lilv
-               media-libs/lv2
-       )
-       midi? (
-               media-libs/portaudio
-               media-libs/portmidi
-       )
-       dev-libs/serd
-       dev-libs/sord
-       soundtouch? ( media-libs/libsoundtouch )
-       media-libs/soxr
-       dev-db/sqlite
-       media-libs/sratom
-       media-libs/suil
-       media-libs/taglib
-       mp2? ( media-sound/twolame )
-       media-libs/vamp-plugin-sdk
-       x11-libs/wxGTK
-       sys-libs/zlib
-       ffmpeg? ( media-video/ffmpeg )
-       sbsms? ( media-libs/libsbsms )
-       vamp? ( media-libs/vamp-plugin-sdk )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-       "${FILESDIR}/tenacity-1.3.4-fix-rpath-handling.patch"
-       "${FILESDIR}/tenacity-1.3.4-fix-hardcoded-docdir.patch"
-)
-
-src_unpack() {
-       default
-
-       # otherwise build will try to run git --submodule --init
-       rmdir "${S}/lib-src/libnyquist" || die
-       ln -s "${WORKDIR}/libnyquist" "${S}/lib-src/libnyquist"
-}
-
-src_configure() {
-       setup-wxwidgets
-
-       local mycmakeargs=(
-               -DVCPKG=OFF
-               -DPERFORM_CODESIGN=OFF
-
-               # portage handles this, specify off to stop autodetect
-               -DSCCACHE=OFF
-               -DCCACHE=OFF
-
-               # Pre-Compiled Headers needs to stay off, even with ccache 
installed
-               # otherwise a bunch of preprocessor variables will be missing
-               -DPCH=OFF
-
-               -DMIDI=$(usex midi ON OFF)
-               -DID3TAG=$(usex id3tag ON OFF)
-               -DMP3_DECODING=$(usex mp3 ON OFF)
-               -DMP2=$(usex mp2 ON OFF)
-               -DOGG=$(usex ogg ON OFF)
-               -DVORBIS=$(usex vorbis ON OFF)
-               -DFLAC=$(usex flac ON OFF)
-               -DSBSMS=$(usex sbsms ON OFF)
-               -DSOUNDTOUCH=$(usex soundtouch ON OFF)
-               -DFFMPEG=$(usex ffmpeg ON OFF)
-               -DLADSPA=$(usex ladspa ON OFF)
-               #-DAUDIO_UNITS=OFF  # option only exists on MacOS
-               -DLV2=$(usex lv2 ON OFF)
-               -DVAMP=$(usex vamp ON OFF)
-               -DVST2=$(usex vst2 ON OFF)
-
-               # this flag is misleading, when not "" the flag only has an 
effect
-               # when CMAKE_GENERATOR is "Visual Studio*" or "XCode" (i.e. not 
us)
-               # man pages will be installed regardless on linux
-               -DMANUAL_PATH=""
-       )
-
-       cmake_src_configure
-}
-
-src_test() {
-       virtx cmake_src_test
-}

Reply via email to