commit:     ced132ba8ce7819e2dd7285f567840a9e4dae27c
Author:     Bryce Copeland <truffle074 <AT> gmail <DOT> com>
AuthorDate: Tue Aug 19 17:57:33 2025 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Tue Aug 19 17:57:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ced132ba

media-sound/tenacity: add 1.3.4-r1

had to redo dependencies, lots of issues with original ones.
main bug was due to me mixing up portaudio and portsmf,
but going back through the build file i found multiple cases
where the projects documentation doesn't match CMakeLists

Closes: https://bugs.gentoo.org/961757
Signed-off-by: Bryce Copeland <truffle074 <AT> gmail.com>

 media-sound/tenacity/metadata.xml             |   2 +
 media-sound/tenacity/tenacity-1.3.4-r1.ebuild | 128 ++++++++++++++++++++++++++
 2 files changed, 130 insertions(+)

diff --git a/media-sound/tenacity/metadata.xml 
b/media-sound/tenacity/metadata.xml
index 7f19bab4d6..8cdf9d9849 100644
--- a/media-sound/tenacity/metadata.xml
+++ b/media-sound/tenacity/metadata.xml
@@ -12,6 +12,8 @@
                <flag name="mp2">Enable MP2 codec support</flag>
                <flag name="sbsms">Enable SBSMS timestretching support</flag>
                <flag name="soundtouch">Enable SoundTouch timestretching 
support</flag>
+               <flag name="vorbis">Enable Vorbis codec support</flag>
+               <flag name="matroska">Enable MKA/MKV container format 
support</flag>
                <flag name="vamp">Enable VAMP plugin hosting support</flag>
                <flag name="vst2">Enable VST2 plugin hosting support</flag>
        </use>

diff --git a/media-sound/tenacity/tenacity-1.3.4-r1.ebuild 
b/media-sound/tenacity/tenacity-1.3.4-r1.ebuild
new file mode 100644
index 0000000000..8096e147e2
--- /dev/null
+++ b/media-sound/tenacity/tenacity-1.3.4-r1.ebuild
@@ -0,0 +1,128 @@
+# 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="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}/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)
+               -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
+}

Reply via email to