From cf6ea09ed8fcff762992ba285d578729733ff5af Mon Sep 17 00:00:00 2001 From: meator Date: Wed, 16 Apr 2025 20:51:35 +0200 Subject: [PATCH 1/4] libopenshot-audio: update to 0.4.0 --- common/shlibs | 2 +- ...l-compilation-error-related-to-LFS64.patch | 45 +++++++++++++ .../libopenshot-audio/patches/fix-musl.patch | 63 ++++++++++--------- srcpkgs/libopenshot-audio/template | 4 +- 4 files changed, 83 insertions(+), 31 deletions(-) create mode 100644 srcpkgs/libopenshot-audio/patches/0001-Fix-musl-compilation-error-related-to-LFS64.patch diff --git a/common/shlibs b/common/shlibs index 592caebab85aa2..ca7ccf0cb657a2 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2714,7 +2714,7 @@ libax25io.so.0 libax25-0.0.12rc4_1 libmill.so.18 libmill-1.14_1 libges-1.0.so.0 gst1-editing-services-1.6.2_1 libykneomgr.so.0 libykneomgr-0.1.8_1 -libopenshot-audio.so.9 libopenshot-audio-0.3.0_1 +libopenshot-audio.so.10 libopenshot-audio-0.4.0_1 libopenshot.so.25 libopenshot-0.3.2_1 libpqxx-6.3.so libpqxx-6.3.3_1 libndpi.so.3 ndpi-3.4_1 diff --git a/srcpkgs/libopenshot-audio/patches/0001-Fix-musl-compilation-error-related-to-LFS64.patch b/srcpkgs/libopenshot-audio/patches/0001-Fix-musl-compilation-error-related-to-LFS64.patch new file mode 100644 index 00000000000000..7c3e45682604f5 --- /dev/null +++ b/srcpkgs/libopenshot-audio/patches/0001-Fix-musl-compilation-error-related-to-LFS64.patch @@ -0,0 +1,45 @@ +From 35c6b259de5f4d4b47c850f0a33a37e8faac693d Mon Sep 17 00:00:00 2001 +From: meator +Date: Fri, 15 Aug 2025 10:54:13 +0200 +Subject: [PATCH] Fix musl compilation error related to LFS64 + +Source: https://github.com/OpenShot/libopenshot-audio/pull/167 + +LFS64 interfaces are deprecated in musl, since they are not needed +there. See notes for musl-1.2.4.tar.gz in +https://musl.libc.org/releases.html and also +https://wiki.gentoo.org/wiki/Musl_porting_notes#error:_LFS64_interfaces_.28.2A64_undeclared_here.2C_ex._pread64.29 +--- + CMakeLists.txt | 5 +++++ + .../modules/juce_core/native/juce_SharedCode_posix.h | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index baefd119..9fbf6ee1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -254,6 +254,11 @@ if(APPLE) + -flax-vector-conversions) + endif() + ++# Enforce LFS64 in glibc. ++if(UNIX AND NOT APPLE) ++ target_compile_definitions(openshot-audio PUBLIC _FILE_OFFSET_BITS=64) ++endif() ++ + # ALSA (Linux only) + if(UNIX AND NOT APPLE) + set(NEED_ALSA TRUE) +diff --git a/JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h b/JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h +index d61c4de3..87e8edc8 100644 +--- a/JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h ++++ b/JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h +@@ -166,7 +166,7 @@ int juce_siginterrupt ([[maybe_unused]] int sig, [[maybe_unused]] int flag) + //============================================================================== + namespace + { +- #if JUCE_LINUX || (JUCE_IOS && (! TARGET_OS_MACCATALYST) && (! __DARWIN_ONLY_64_BIT_INO_T)) // (this iOS stuff is to avoid a simulator bug) ++ #if JUCE_IOS && (! TARGET_OS_MACCATALYST) && (! __DARWIN_ONLY_64_BIT_INO_T) // (this iOS stuff is to avoid a simulator bug) + using juce_statStruct = struct stat64; + #define JUCE_STAT stat64 + #else diff --git a/srcpkgs/libopenshot-audio/patches/fix-musl.patch b/srcpkgs/libopenshot-audio/patches/fix-musl.patch index 532248c86217dc..c25386f364a640 100644 --- a/srcpkgs/libopenshot-audio/patches/fix-musl.patch +++ b/srcpkgs/libopenshot-audio/patches/fix-musl.patch @@ -1,46 +1,53 @@ -diff --git a/JuceLibraryCode/modules/juce_core/juce_core.cpp b/JuceLibraryCode/modules/juce_core/juce_core.cpp -index 8bac812..e23b422 100644 +This patch disables some glibc-specific features on musl. Upstream appears to support +many different platforms, some of which also lack the features musl lacks, but +upstream provides no musl specific checks. This means that no extra code has to be +added to support musl, only some of the preprocessor conditional statements have to +be altered to also take musl into consideration. + +This patch only fixes compilation errors, there may still be some musl-related +runtime errors. + +This patch is inspired by +void-linux/void-packages@da8876faa6fc1792f4d2ea2d4b667d3bbe46d868. --- a/JuceLibraryCode/modules/juce_core/juce_core.cpp +++ b/JuceLibraryCode/modules/juce_core/juce_core.cpp -@@ -92,7 +92,7 @@ +@@ -102,7 +102,7 @@ #include #include -- #if ! JUCE_ANDROID -+ #if ! JUCE_ANDROID && defined(__GLIBC__) +- #if ! (JUCE_ANDROID || JUCE_WASM) ++ #if ! (JUCE_ANDROID || JUCE_WASM) && defined(__GLIBC__) #include #endif #endif -diff --git a/JuceLibraryCode/modules/juce_core/native/juce_linux_SystemStats.cpp b/JuceLibraryCode/modules/juce_core/native/juce_linux_SystemStats.cpp -index 2d7faa3..f132405 100644 ---- a/JuceLibraryCode/modules/juce_core/native/juce_linux_SystemStats.cpp -+++ b/JuceLibraryCode/modules/juce_core/native/juce_linux_SystemStats.cpp -@@ -139,8 +139,15 @@ static String getLocaleValue (nl_item key) - return result; - } +--- a/JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp ++++ b/JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp +@@ -198,7 +198,7 @@ -+#if defined(__GLIBC__) - String SystemStats::getUserLanguage() { return getLocaleValue (_NL_IDENTIFICATION_LANGUAGE); } - String SystemStats::getUserRegion() { return getLocaleValue (_NL_IDENTIFICATION_TERRITORY); } -+#else -+// The identifiers _NL_INDENTIFICATION_LANGUAGE and _TERRIRTORY are not defined in musl libc. -+// TODO: Find a better fix than just returning nonsense. Inspect env("LANG") perhaps? -+String SystemStats::getUserLanguage() { return String("en"); } -+String SystemStats::getUserRegion() { return String("US"); } -+#endif - String SystemStats::getDisplayLanguage() { return getUserLanguage() + "-" + getUserRegion(); } + String SystemStats::getUserLanguage() + { +- #if JUCE_BSD ++ #if JUCE_BSD || !defined(__GLIBC__) + if (auto langEnv = getenv ("LANG")) + return String::fromUTF8 (langEnv).upToLastOccurrenceOf (".UTF-8", false, true); + +@@ -210,7 +210,7 @@ - //============================================================================== -diff --git a/JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp b/JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp -index 757ea24..6b61e16 100644 + String SystemStats::getUserRegion() + { +- #if JUCE_BSD ++ #if JUCE_BSD || !defined(__GLIBC__) + return {}; + #else + return getLocaleValue (_NL_ADDRESS_COUNTRY_AB2); --- a/JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp +++ b/JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp -@@ -138,7 +138,7 @@ String SystemStats::getStackBacktrace() +@@ -178,7 +178,7 @@ { String result; -- #if JUCE_ANDROID || JUCE_MINGW -+ #if JUCE_ANDROID || JUCE_MINGW || !defined(__GLIBC__) +- #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM ++ #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM || !defined(__GLIBC__) jassertfalse; // sorry, not implemented yet! #elif JUCE_WINDOWS diff --git a/srcpkgs/libopenshot-audio/template b/srcpkgs/libopenshot-audio/template index 7398853c612b19..545b64ed4b93b9 100644 --- a/srcpkgs/libopenshot-audio/template +++ b/srcpkgs/libopenshot-audio/template @@ -1,6 +1,6 @@ # Template file for 'libopenshot-audio' pkgname=libopenshot-audio -version=0.3.2 +version=0.4.0 revision=1 build_style=cmake hostmakedepends="doxygen" @@ -11,7 +11,7 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://github.com/OpenShot/libopenshot-audio" distfiles="https://github.com/OpenShot/libopenshot-audio/archive/v${version}.tar.gz" -checksum=f09d5251c934e6c14d98217b44574c508318c8575e47f5c48ffaf54d9bbce3e9 +checksum=1abdedf9c8686c972c42225a283f518ed2ade445c2e454996b6709d8cc8d1704 libopenshot-audio-devel_package() { short_desc+=" - development files" From d61d63bea004cc99ef2fb350317fb6a21ad5475f Mon Sep 17 00:00:00 2001 From: meator Date: Wed, 16 Apr 2025 20:52:50 +0200 Subject: [PATCH 2/4] libopenshot-audio: add doc subpackage --- srcpkgs/libopenshot-audio-doc | 1 + srcpkgs/libopenshot-audio/template | 7 +++++++ 2 files changed, 8 insertions(+) create mode 120000 srcpkgs/libopenshot-audio-doc diff --git a/srcpkgs/libopenshot-audio-doc b/srcpkgs/libopenshot-audio-doc new file mode 120000 index 00000000000000..9574f3d5bbe95b --- /dev/null +++ b/srcpkgs/libopenshot-audio-doc @@ -0,0 +1 @@ +libopenshot-audio \ No newline at end of file diff --git a/srcpkgs/libopenshot-audio/template b/srcpkgs/libopenshot-audio/template index 545b64ed4b93b9..45f442eb03aded 100644 --- a/srcpkgs/libopenshot-audio/template +++ b/srcpkgs/libopenshot-audio/template @@ -22,3 +22,10 @@ libopenshot-audio-devel_package() { vmove "usr/lib/*.so" } } + +libopenshot-audio-doc_package() { + short_desc+=" - documentation" + pkg_install() { + vmove usr/share/doc + } +} From 59274263a49613b6e254bf05ac8df240c9c26552 Mon Sep 17 00:00:00 2001 From: meator Date: Wed, 16 Apr 2025 20:53:09 +0200 Subject: [PATCH 3/4] libopenshot: update to 0.4.0. --- common/shlibs | 2 +- srcpkgs/libopenshot/template | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/shlibs b/common/shlibs index ca7ccf0cb657a2..318c2e1d31d5dd 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2715,7 +2715,7 @@ libmill.so.18 libmill-1.14_1 libges-1.0.so.0 gst1-editing-services-1.6.2_1 libykneomgr.so.0 libykneomgr-0.1.8_1 libopenshot-audio.so.10 libopenshot-audio-0.4.0_1 -libopenshot.so.25 libopenshot-0.3.2_1 +libopenshot.so.27 libopenshot-0.4.0_1 libpqxx-6.3.so libpqxx-6.3.3_1 libndpi.so.3 ndpi-3.4_1 libKF5WidgetsAddons.so.5 kwidgetsaddons-5.26.0_1 diff --git a/srcpkgs/libopenshot/template b/srcpkgs/libopenshot/template index c14ca23766acc7..2734fbf5bc2fa2 100644 --- a/srcpkgs/libopenshot/template +++ b/srcpkgs/libopenshot/template @@ -1,7 +1,7 @@ # Template file for 'libopenshot' pkgname=libopenshot -version=0.3.2 -revision=4 +version=0.4.0 +revision=1 build_style=cmake # Builds fail with Ruby-2.4.1 configure_args="-DENABLE_RUBY=OFF -DUSE_SYSTEM_JSONCPP=ON" @@ -16,7 +16,7 @@ maintainer="Orphaned " license="LGPL-3.0-or-later" homepage="https://github.com/OpenShot/libopenshot" distfiles="https://github.com/OpenShot/libopenshot/archive/v${version}.tar.gz" -checksum=58765cfc8aec199814346e97ce31a5618a261260b380670a6fb2bf6f68733638 +checksum=be0e760d81275543f7fbbf87863645748c3fe8aa8f4b5b771ff45a5d026bc9cc libopenshot-devel_package() { short_desc+=" - development files" From 3098b396cb1fdf3d1aca654b9bdabd81a0d049ad Mon Sep 17 00:00:00 2001 From: meator Date: Wed, 16 Apr 2025 20:53:25 +0200 Subject: [PATCH 4/4] openshot: update to 3.3.0. --- srcpkgs/openshot/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/openshot/template b/srcpkgs/openshot/template index 86c8f43a4ae2db..56f188f569c199 100644 --- a/srcpkgs/openshot/template +++ b/srcpkgs/openshot/template @@ -1,7 +1,7 @@ # Template file for 'openshot' pkgname=openshot -version=3.1.1 -revision=4 +version=3.3.0 +revision=1 build_style=python3-module hostmakedepends="python3 python3-setuptools" makedepends="ffmpeg6-devel python3-PyQt5" @@ -12,5 +12,5 @@ maintainer="Orphaned " license="GPL-3.0-or-later" homepage="https://www.openshot.org" distfiles="https://github.com/OpenShot/openshot-qt/archive/v${version}.tar.gz" -checksum=2b67cb4fc78863911b0263364240947b6331a976aad74943e8f6e46221b52e91 +checksum=f5471eec94d59830ea58351b93e69d4c56b42874d927fbd6482f83b9bb545d4f make_check=no # tests are broken