Files
haikuports/media-sound/tenacity/tenacity-1.3.3.recipe
2025-03-04 09:03:35 +10:00

158 lines
4.8 KiB
Bash

SUMMARY="An easy-to-use, cross-platform multi-track audio editor/recorder"
DESCRIPTION="Tenacity is an easy-to-use, cross-platform multi-track \
audio editor/recorder for Windows, macOS, Linux and other operating \
systems and is developed by a group of volunteers as open-source software."
HOMEPAGE="https://tenacityaudio.org"
COPYRIGHT="2021-2023 by Tenacity Team"
LICENSE="GNU GPL v2"
REVISION="5"
SOURCE_URI="https://codeberg.org/tenacityteam/tenacity/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="36ed8c0078e448fe425837256c6a7489c5296c47e5d1b07bbbd0f281658ef4d3"
SOURCE_DIR="tenacity"
srcGitRev_2="3678ee6bfff9e0edc721a1b8865ab625e40f9ce4"
SOURCE_URI_2="https://codeberg.org/tenacityteam/libnyquist/archive/$srcGitRev_2.tar.gz"
CHECKSUM_SHA256_2="86d9b2d753752a97e169d377da04e843e91131192e2b871c1e600effde032379"
SOURCE_DIR_2="libnyquist"
PATCHES="tenacity-$portVersion.patchset"
ADDITIONAL_FILES="tenacity.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
tenacity$secondaryArchSuffix = $portVersion
app:Tenadacity$secondaryArchSuffix = $portVersion
cmd:tenacity
devel:liblibnyquist$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
wxgtk$secondaryArchSuffix
lib:libatk_1.0$secondaryArchSuffix
lib:libatomic$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libavutil$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libflac$secondaryArchSuffix
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgtk_3$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libid3tag$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libmad$secondaryArchSuffix
lib:libmp3lame$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopus$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libportaudio$secondaryArchSuffix
lib:libportmidi$secondaryArchSuffix
lib:libportsmf$secondaryArchSuffix
lib:libsbsms$secondaryArchSuffix
lib:libsndfile$secondaryArchSuffix
lib:libsoundtouch$secondaryArchSuffix
lib:libsoxr$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libtwolame$secondaryArchSuffix
lib:libuuid$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libX11$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
wxgtk${secondaryArchSuffix}_devel
devel:libavcodec$secondaryArchSuffix
devel:libavformat$secondaryArchSuffix
devel:libavutil$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libflac$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgtk_3$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libid3tag$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libmad$secondaryArchSuffix
devel:libmp3lame$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libopus$secondaryArchSuffix
devel:libportaudio$secondaryArchSuffix
devel:libportmidi$secondaryArchSuffix
devel:libportsmf$secondaryArchSuffix
#devel:libpostproc$secondaryArchSuffix
devel:libsbsms$secondaryArchSuffix
devel:libsndfile$secondaryArchSuffix
devel:libsoundtouch$secondaryArchSuffix
devel:libsoxr$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libtwolame$secondaryArchSuffix
devel:libuuid$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmake
cmd:diff
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:gettext$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
cmd:which
cmd:wx_config$secondaryArchSuffix
"
defineDebugInfoPackage tenacity$secondaryArchSuffix \
$prefix/bin/tenacity
BUILD()
{
# link nyquist submodule
rm -rf $sourceDir/lib-src/libnyquist
ln -s $sourceDir2 $sourceDir/lib-src/libnyquist
cmake -S . -B build -G Ninja \
$cmakeDirArgs \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DPCH=no \
-DSBSMS=ON \
-DVST2=OFF
cmake --build build $jobArgs
}
INSTALL()
{
cmake --install build
prepareInstalledDevelLibs liblibnyquist
if [ $effectiveTargetArchitecture = x86 ]; then
mv $binDir/* $prefix/bin/
fi
mkdir -p $appsDir
ln -s $prefix/bin/tenacity $appsDir/Tenacity
local APP_SIGNATURE="application/x-vnd.tenacity"
local MAJOR="`echo "$portVersion" | cut -d~ -f1 | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d~ -f1 | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d~ -f1 | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/tenacity.rdef.in > $sourceDir/tenacity.rdef
addResourcesToBinaries $sourceDir/tenacity.rdef $appsDir/Tenacity
addAppDeskbarSymlink $appsDir/Tenacity
}