mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
tenacity-1.3~beta: new recipe (#7806)
* tenacity-1.3~beta: new recipe * tenacity: fix progress indicator refresh issue
This commit is contained in:
16
media-sound/tenacity/additional-files/tenacity.rdef.in
Normal file
16
media-sound/tenacity/additional-files/tenacity.rdef.in
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
resource app_flags B_SINGLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
internal = 0,
|
||||
|
||||
short_info = "Tenacity",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
226
media-sound/tenacity/patches/tenacity-1.3~beta.patchset
Normal file
226
media-sound/tenacity/patches/tenacity-1.3~beta.patchset
Normal file
@@ -0,0 +1,226 @@
|
||||
From 5bda751f0680b3c83c474f36d338c0c1e71e7aa2 Mon Sep 17 00:00:00 2001
|
||||
From: David Karoly <david.karoly@outlook.com>
|
||||
Date: Tue, 24 Jan 2023 19:45:07 +0100
|
||||
Subject: Adjust LIBDIR for Haiku
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 71bf60c..0a63fbe 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -362,7 +362,11 @@ endif()
|
||||
|
||||
set( _DEST "${_DESTDIR}" )
|
||||
set( INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" )
|
||||
-set( _LIBDIR "${CMAKE_INSTALL_LIBDIR}" )
|
||||
+if( CMAKE_SYSTEM_NAME MATCHES "Haiku" )
|
||||
+ set( _LIBDIR "lib" )
|
||||
+else()
|
||||
+ set( _LIBDIR "${CMAKE_INSTALL_LIBDIR}" )
|
||||
+endif()
|
||||
set( _DATADIR "${CMAKE_INSTALL_DATADIR}" )
|
||||
set( _PKGLIB "${_LIBDIR}/tenacity" )
|
||||
set( _PKGDATA "${_DATADIR}/tenacity/" )
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 1552f3d4a760d10854390c2055ed718803d0dc91 Mon Sep 17 00:00:00 2001
|
||||
From: David Karoly <david.karoly@outlook.com>
|
||||
Date: Tue, 24 Jan 2023 19:45:07 +0100
|
||||
Subject: Fix GTK include paths and libs
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0a63fbe..23e1e6b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -750,6 +750,11 @@ if(NOT TARGET wxWidgets::wxWidgets)
|
||||
add_library(wxWidgets::wxWidgets INTERFACE IMPORTED)
|
||||
target_link_libraries(wxWidgets::wxWidgets INTERFACE ${wxWidgets_LIBRARIES})
|
||||
target_compile_definitions(wxWidgets::wxWidgets INTERFACE ${wxWidgets_DEFINITIONS} ${wxWidgets_DEFINITIONS_DEBUG})
|
||||
+
|
||||
+ target_include_directories( wxWidgets::wxWidgets INTERFACE ${GTK_INCLUDE_DIRS} )
|
||||
+ target_link_directories( wxWidgets::wxWidgets INTERFACE ${GTK_LIB_DIR} )
|
||||
+ target_link_libraries( wxWidgets::wxWidgets INTERFACE ${GTK_LIBRARIES} )
|
||||
+
|
||||
endif()
|
||||
|
||||
add_subdirectory(lib-src/libnyquist)
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From dd984e544e8528ac6ce057ebe279e6d001724cd0 Mon Sep 17 00:00:00 2001
|
||||
From: David Karoly <david.karoly@outlook.com>
|
||||
Date: Tue, 24 Jan 2023 19:45:07 +0100
|
||||
Subject: Haiku: initialize XDG vars
|
||||
|
||||
|
||||
diff --git a/src/TenacityApp.cpp b/src/TenacityApp.cpp
|
||||
index 57bff6e..cd02057 100644
|
||||
--- a/src/TenacityApp.cpp
|
||||
+++ b/src/TenacityApp.cpp
|
||||
@@ -50,6 +50,12 @@ It handles initialization and termination by subclassing wxApp.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <FindDirectory.h>
|
||||
+#include <fs_info.h>
|
||||
+#include <glib.h>
|
||||
+#endif
|
||||
+
|
||||
// chmod, lstat, geteuid
|
||||
#ifdef __UNIX__
|
||||
|
||||
@@ -498,6 +504,30 @@ int main(int argc, char *argv[])
|
||||
IMPLEMENT_APP_NO_MAIN(TenacityApp)
|
||||
IMPLEMENT_WX_THEME_SUPPORT
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+void initialize_xdg_paths(void)
|
||||
+{
|
||||
+ char dir[B_PATH_NAME_LENGTH + B_FILE_NAME_LENGTH];
|
||||
+ char dirs[B_PATH_NAME_LENGTH + B_FILE_NAME_LENGTH];
|
||||
+ dev_t volume = dev_for_path("/boot");
|
||||
+
|
||||
+ if (find_directory(B_SYSTEM_SETTINGS_DIRECTORY, volume, false, dir, sizeof(dir)) == B_OK)
|
||||
+ g_setenv ("XDG_CONFIG_DIRS", dir, FALSE);
|
||||
+ if (find_directory(B_USER_NONPACKAGED_DATA_DIRECTORY, volume, false, dir, sizeof(dir)) == B_OK)
|
||||
+ g_setenv ("XDG_DATA_HOME", dir, FALSE);
|
||||
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, volume, false, dir, sizeof(dir)) == B_OK)
|
||||
+ g_setenv ("XDG_CONFIG_HOME", dir, FALSE);
|
||||
+ if (find_directory(B_USER_CACHE_DIRECTORY, volume, false, dir, sizeof(dir)) == B_OK)
|
||||
+ g_setenv ("XDG_CACHE_HOME", dir, FALSE);
|
||||
+ if (find_directory(B_SYSTEM_DATA_DIRECTORY, volume, false, dir, sizeof(dir)) == B_OK &&
|
||||
+ find_directory(B_SYSTEM_NONPACKAGED_DATA_DIRECTORY, volume, false, dirs, sizeof(dirs)) == B_OK) {
|
||||
+ strcat(dirs, ":");
|
||||
+ strcat(dirs, dir);
|
||||
+ g_setenv ("XDG_DATA_DIRS", dirs, FALSE);
|
||||
+ }
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
wxDISABLE_DEBUG_SUPPORT();
|
||||
@@ -510,6 +540,10 @@ int main(int argc, char *argv[])
|
||||
stdout = freopen("/dev/null", "w", stdout);
|
||||
stderr = freopen("/dev/null", "w", stderr);
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ initialize_xdg_paths();
|
||||
+#endif
|
||||
+
|
||||
return wxEntry(argc, argv);
|
||||
}
|
||||
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 6d7aa4415e1f8e72840a8b6192ab63ad5da8e932 Mon Sep 17 00:00:00 2001
|
||||
From: David Karoly <david.karoly@outlook.com>
|
||||
Date: Tue, 24 Jan 2023 19:45:07 +0100
|
||||
Subject: Release sLocale smart pointer before exit. Fixes crash on exit.
|
||||
|
||||
|
||||
diff --git a/libraries/lib-strings/Languages.cpp b/libraries/lib-strings/Languages.cpp
|
||||
index 15ac86e..b536cfd 100644
|
||||
--- a/libraries/lib-strings/Languages.cpp
|
||||
+++ b/libraries/lib-strings/Languages.cpp
|
||||
@@ -325,6 +325,11 @@ void GetLanguages( FilePaths pathList,
|
||||
static std::unique_ptr<wxLocale> sLocale;
|
||||
static wxString sLocaleName;
|
||||
|
||||
+void UnsetLocale(void)
|
||||
+{
|
||||
+ sLocale.reset();
|
||||
+}
|
||||
+
|
||||
wxString SetLang( const FilePaths &pathList, const wxString & lang )
|
||||
{
|
||||
wxString result = lang;
|
||||
diff --git a/libraries/lib-strings/Languages.h b/libraries/lib-strings/Languages.h
|
||||
index 81092d0..d9068f8 100644
|
||||
--- a/libraries/lib-strings/Languages.h
|
||||
+++ b/libraries/lib-strings/Languages.h
|
||||
@@ -36,6 +36,9 @@ void GetLanguages( FilePaths pathList,
|
||||
STRINGS_API
|
||||
wxString GetSystemLanguageCode(const FilePaths &pathList);
|
||||
|
||||
+STRINGS_API
|
||||
+void UnsetLocale(void);
|
||||
+
|
||||
/*!
|
||||
@param tenacityPathList paths to search for .mo files, grouped into subdirectories for the different languages
|
||||
@param lang a language code; or if empty or "System", then default to system language.
|
||||
diff --git a/src/TenacityApp.cpp b/src/TenacityApp.cpp
|
||||
index cd02057..b84ea3f 100644
|
||||
--- a/src/TenacityApp.cpp
|
||||
+++ b/src/TenacityApp.cpp
|
||||
@@ -544,7 +544,9 @@ int main(int argc, char *argv[])
|
||||
initialize_xdg_paths();
|
||||
#endif
|
||||
|
||||
- return wxEntry(argc, argv);
|
||||
+ int res = wxEntry(argc, argv);
|
||||
+ Languages::UnsetLocale();
|
||||
+ return res;
|
||||
}
|
||||
|
||||
#else
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From b88772605e00220d6f1885c34c501b00583fa506 Mon Sep 17 00:00:00 2001
|
||||
From: David Karoly <david.karoly@outlook.com>
|
||||
Date: Tue, 24 Jan 2023 19:45:07 +0100
|
||||
Subject: Fix broken link in welcome dialog box
|
||||
|
||||
|
||||
diff --git a/src/HelpText.cpp b/src/HelpText.cpp
|
||||
index 2d1b86d..0cf239a 100644
|
||||
--- a/src/HelpText.cpp
|
||||
+++ b/src/HelpText.cpp
|
||||
@@ -234,7 +234,7 @@ static wxString HelpTextBuiltIn( const wxString & Key )
|
||||
" [[help:Main_Page|Audacity Manual]] - if not installed locally, [[https://manual.audacityteam.org/|view online]]")
|
||||
<< wxT("</li><li>")
|
||||
<< XO(
|
||||
-" [[https://github.com/tenacitytenacity/tenacity/discussions|Discussions (on GitHub)]] - ask your question directly, online.")
|
||||
+" [[https://github.com/tenacityteam/tenacity-legacy/discussions|Discussions (on GitHub)]] - ask your question directly, online.")
|
||||
<< wxT("</li></ul></p><p>")
|
||||
<< wxT("<b>")
|
||||
<< XO("More:</b> Visit our [[https://codeberg.org/tenacityteam/tenacity/wiki|Wiki]] for tips, tricks, extra tutorials and effects plug-ins.")
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From 14bea3df94b16ebc2b46bfb52a0a5eb09b676da1 Mon Sep 17 00:00:00 2001
|
||||
From: David Karoly <karolyd577@gmail.com>
|
||||
Date: Tue, 7 Feb 2023 19:56:39 +0100
|
||||
Subject: OverlayPanel: call RefreshRect from DrawOverlays
|
||||
|
||||
|
||||
diff --git a/src/widgets/OverlayPanel.cpp b/src/widgets/OverlayPanel.cpp
|
||||
index cfca34d..0fec289 100644
|
||||
--- a/src/widgets/OverlayPanel.cpp
|
||||
+++ b/src/widgets/OverlayPanel.cpp
|
||||
@@ -124,6 +124,12 @@ void OverlayPanel::DrawOverlays(bool repaint_all, wxDC *pDC)
|
||||
}
|
||||
++it2;
|
||||
}
|
||||
+
|
||||
+ for (const auto& pair : pairs) {
|
||||
+ if (repaint_all || pair.second) {
|
||||
+ RefreshRect(pair.first);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
void OverlayPanel::Compress()
|
||||
--
|
||||
2.37.3
|
||||
|
||||
148
media-sound/tenacity/tenacity-1.3~beta.recipe
Normal file
148
media-sound/tenacity/tenacity-1.3~beta.recipe
Normal file
@@ -0,0 +1,148 @@
|
||||
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://www.tenacityaudio.org"
|
||||
COPYRIGHT="2021-2023 by Tenacity Team"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
srcGitRev="v1.3-beta"
|
||||
srcGitDate="22 Jan 2023"
|
||||
SOURCE_URI="https://codeberg.org/tenacityteam/tenacity/archive/${srcGitRev}.tar.gz"
|
||||
CHECKSUM_SHA256="10577327867fc5463b72e19f94064feaf541b081ce6c882dbc0801311b80470d"
|
||||
SOURCE_DIR="tenacity"
|
||||
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
|
||||
"
|
||||
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: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: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()
|
||||
{
|
||||
mkdir -p build/src/private
|
||||
cmake -S . -B build -G Ninja \
|
||||
$cmakeDirArgs \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DAUDACITY_REV_LONG="$srcGitRev" \
|
||||
-DAUDACITY_REV_TIME="$srcGitDate" \
|
||||
-DPCH=no
|
||||
cmake --build build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cmake --install build
|
||||
|
||||
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 MINOR="0"
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user