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