blob: bc139bb79943907da5afa3038263b72d4b073db1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# as of 1.3.5 tenacity supports wxWidgets 3.3+, can be updated if/when it becomes available on gentoo
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="aaf654f44192240170cdb5ed4dc2f004dad2b1e2"
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 )
"
# due to a clash with the file: /usr/share/pixmaps/gnome-mime-application-x-audacity-project.xmp
# tenacity won't merge correctly with audacity also installed (bug #964248)
DEPEND="
virtual/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
!media-sound/audacity
"
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" # bug #961756
"${FILESDIR}/${PN}-1.3.4-ffmpeg-disable-lto.patch"
"${FILESDIR}/${PN}-1.3.4-fix-gcc15.patch"
"${FILESDIR}/${PN}-1.3.5-build-static-libnyquist.patch" # bug #981262
)
src_unpack() {
default
# otherwise build will try to run git --submodule --init
rmdir "${S}/lib-src/libnyquist" || die
mv "${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
}
|