Package Details: obs-freeze-filter 0.3.3-1

Git Clone URL: https://aur.archlinux.org/obs-freeze-filter.git (read-only, click to copy)
Package Base: obs-freeze-filter
Description: Filter to freeze a frame of a source
Upstream URL: https://obsproject.com/forum/resources/freeze-filter.950/
Keywords: obs obs-studio plugin
Licenses: GPL2
Submitter: tytan652
Maintainer: tytan652
Last Packager: tytan652
Votes: 1
Popularity: 0.000000
First Submitted: 2021-02-01 13:49 (UTC)
Last Updated: 2022-12-03 21:35 (UTC)

Required by (0)

Sources (1)

Latest Comments

nylocx commented on 2022-11-07 14:49 (UTC) (edited on 2022-11-07 14:50 (UTC) by nylocx)

Hi, for me this failed against obs-studio 28 from the offical repositories so I patched it. I copied most parts from the official obs-studio PKGFILE and left the rest almost as is. Maybe this helps someone else.

diff --git a/.SRCINFO b/.SRCINFO
index b6b13de..be6580a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = obs-freeze-filter
    pkgdesc = Filter to freeze a frame of a source
    pkgver = 0.3.2
-   pkgrel = 4
+   pkgrel = 5
    url = https://obsproject.com/forum/resources/freeze-filter.950/
    arch = i686
    arch = x86_64
@@ -12,10 +12,21 @@ pkgbase = obs-freeze-filter
    makedepends = libxcomposite
    makedepends = ffmpeg
    makedepends = pciutils
-   depends = obs-studio>=27.2.0
+   makedepends = cmake
+   makedepends = libfdk-aac
+   makedepends = x264
+   makedepends = swig
+   makedepends = python
+   makedepends = luajit
+   makedepends = sndio
+   depends = obs-studio>=28.0.3
    source = obs-freeze-filter::git+https://github.com/exeldro/obs-freeze-filter#commit=575e7e333cf4c9dcb825a72ea4eceb5894c845fd
-   source = obs-studio-27.2.0.tar.gz::https://github.com/obsproject/obs-studio/archive/27.2.0.tar.gz
+   source = obs-studio-28.0.3.tar.gz::https://github.com/jp9000/obs-studio/archive/28.0.3.tar.gz
+   source = fix_python_binary_loading.patch
+   source = ignore_unused_submodules.patch
    sha256sums = SKIP
-   sha256sums = c52d99cba6c536cb805e3e0f54663c33cfc43a1b7521bec97d241019499f9789
+   sha256sums = 7ee15aec4749778eb60031513ad3720f35cd9c7735416f654e61b45f850b6f1b
+   sha256sums = bdfbd062f080bc925588aec1989bb1df34bf779cc2fc08ac27236679cf612abd
+   sha256sums = 60b0ee1f78df632e1a8c13cb0a7a5772b2a4b092c4a2a78f23464a7d239557c3

 pkgname = obs-freeze-filter
diff --git a/PKGBUILD b/PKGBUILD
index 4ce8836..ed9e14b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,28 +3,35 @@
 _pluginname=freeze-filter
 pkgname=obs-$_pluginname
 pkgver=0.3.2
-_obsver=27.2.0
-pkgrel=4
+_obsver=28.0.3
+pkgrel=5
 pkgdesc="Filter to freeze a frame of a source"
 arch=("i686" "x86_64" "aarch64")
 url="https://obsproject.com/forum/resources/freeze-filter.950/"
 license=("GPL2")
 depends=("obs-studio>=$_obsver")
-makedepends=("cmake" "git" "libxcomposite" "ffmpeg" "pciutils")
+makedepends=("cmake" "git" "libxcomposite" "ffmpeg" "pciutils" "libfdk-aac" "x264" "swig" "python" "sndio")
 source=(
   "$pkgname::git+https://github.com/exeldro/$pkgname#commit=575e7e333cf4c9dcb825a72ea4eceb5894c845fd"
-  "obs-studio-$_obsver.tar.gz::https://github.com/obsproject/obs-studio/archive/$_obsver.tar.gz"
-)
-sha256sums=(
-  "SKIP"
-  "c52d99cba6c536cb805e3e0f54663c33cfc43a1b7521bec97d241019499f9789"
+  "obs-studio-$_obsver.tar.gz::https://github.com/jp9000/obs-studio/archive/$_obsver.tar.gz"
+  "fix_python_binary_loading.patch"
+  "ignore_unused_submodules.patch"
 )
+sha256sums=('SKIP'
+            '7ee15aec4749778eb60031513ad3720f35cd9c7735416f654e61b45f850b6f1b'
+            'bdfbd062f080bc925588aec1989bb1df34bf779cc2fc08ac27236679cf612abd'
+            '60b0ee1f78df632e1a8c13cb0a7a5772b2a4b092c4a2a78f23464a7d239557c3')

 prepare() {
   rm -rf fakeroot

-  cd "obs-studio-$_obsver"/plugins
+  cd "obs-studio-$_obsver"
+
+  patch -Np1 < "$srcdir"/fix_python_binary_loading.patch
+  patch -Np1 < "$srcdir"/ignore_unused_submodules.patch

+  cd plugins
+  
   cp -r "$srcdir/$pkgname" .
   echo "add_subdirectory($pkgname)" | tee -a CMakeLists.txt >/dev/null
 }
@@ -32,28 +39,21 @@ prepare() {
 # Need to compile plugin in OBS compilation process
 build() {
   cd "obs-studio-$_obsver"
-  cmake -B build \
-  -DCMAKE_INSTALL_PREFIX=/usr \
-  -DCMAKE_INSTALL_LIBDIR=lib \
-  -DDISABLE_UI=ON \
-  -DENABLE_WAYLAND=OFF \
-  -DENABLE_PIPEWIRE=OFF \
-  -DENABLE_SCRIPTING=OFF \
-  -DDISABLE_DECKLINK=ON \
-  -DDISABLE_ALSA=ON \
-  -DDISABLE_JACK=ON \
-  -DDISABLE_PULSEAUDIO=ON \
-  -DDISABLE_V4L2=ON \
-  -DDISABLE_SPEEXDSP=ON \
-  -DDISABLE_LIBFDK=ON \
-  -DDISABLE_SNDIO=ON \
-  -DDISABLE_FREETYPE=ON \
-  -DDISABLE_VLC=ON \
-  -DBUILD_BROWSER=OFF \
-  -DBUILD_VST=OFF \
-  -DWITH_RTMPS=OFF

-  make -C build
+  mkdir -p build; cd build
+
+  cmake -DCMAKE_INSTALL_PREFIX="/usr" \
+    -DENABLE_BROWSER=OFF \
+    -DENABLE_VST=ON \
+    -DENABLE_VLC=OFF \
+    -DENABLE_NEW_MPEGTS_OUTPUT=OFF \
+    -DENABLE_AJA=OFF \
+    -DENABLE_JACK=ON \
+    -DENABLE_SCRIPTING_LUA=OFF \
+    -DOBS_VERSION_OVERRIDE="$_obsver" ..
+
+  make
+
 }

 package() {
@@ -64,4 +64,4 @@ package() {
   make -C build DESTDIR="$srcdir/fakeroot/" install
   cp -a "$srcdir"/fakeroot/usr/lib/obs-plugins/$_pluginname.so "$pkgdir"/usr/lib/obs-plugins/
   cp -a "$srcdir"/fakeroot/usr/share/obs/obs-plugins/$_pluginname "$pkgdir"/usr/share/obs/obs-plugins/
-}
\ No newline at end of file
+}
diff --git a/fix_python_binary_loading.patch b/fix_python_binary_loading.patch
new file mode 100644
index 0000000..6cba55f
--- /dev/null
+++ b/fix_python_binary_loading.patch
@@ -0,0 +1,24 @@
+From c482159ce93deafc7f1fc5755ba15135709ae726 Mon Sep 17 00:00:00 2001
+From: Matt Gajownik <matt@obsproject.com>
+Date: Tue, 25 Aug 2020 19:28:26 +1000
+Subject: [PATCH] libobs/util: Fix loading Python binary modules on *nix
+
+Fixes #2222
+---
+ libobs/util/platform-nix.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libobs/util/platform-nix.c b/libobs/util/platform-nix.c
+index 26800d52f7..997b62db1a 100644
+--- a/libobs/util/platform-nix.c
++++ b/libobs/util/platform-nix.c
+@@ -71,7 +71,8 @@ void *os_dlopen(const char *path)
+ #ifdef __APPLE__
+   void *res = dlopen(dylib_name.array, RTLD_LAZY | RTLD_FIRST);
+ #else
+-  void *res = dlopen(dylib_name.array, RTLD_LAZY);
++  void *res = dlopen(dylib_name.array,
++             RTLD_LAZY | RTLD_DEEPBIND | RTLD_GLOBAL);
+ #endif
+   if (!res)
+       blog(LOG_ERROR, "os_dlopen(%s->%s): %s\n", path,
diff --git a/ignore_unused_submodules.patch b/ignore_unused_submodules.patch
new file mode 100644
index 0000000..bf84758
--- /dev/null
+++ b/ignore_unused_submodules.patch
@@ -0,0 +1,19 @@
+--- a/plugins/CMakeLists.txt.orig  2022-09-24 09:05:46.308250388 +0100
++++ b/plugins/CMakeLists.txt   2022-09-24 09:06:04.978206849 +0100
+@@ -61,7 +61,6 @@
+   add_subdirectory(sndio)
+   add_subdirectory(obs-vst)
+ 
+-  check_obs_browser()
+ elseif(OS_FREEBSD)
+   add_subdirectory(linux-capture)
+   add_subdirectory(linux-pulseaudio)
+@@ -84,8 +83,6 @@
+ 
+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/obs-websocket/CMakeLists.txt)
+   add_subdirectory(obs-websocket)
+-else()
+-  obs_status(FATAL_ERROR "obs-websocket submodule not available.")
+ endif()
+ 
+ add_subdirectory(image-source)

tytan652 commented on 2021-07-09 21:12 (UTC)

First, all the plugins that I provide ask for OBS 27 or later. Maybe your OBS is not up to date, try to update it first. And maybe yay will not try to replace you actual OBS.

otterwise commented on 2021-07-09 20:56 (UTC)

Why does yay insist on removing obs-studio-browser when I try to install this? Shouldn't it be treated as equivalent to obs-studio?

tytan652 commented on 2021-02-11 13:40 (UTC) (edited on 2021-02-11 13:41 (UTC) by tytan652)

@smae Why ? Many package like StreamFX, NDI, WebSocket, Multi-RTMP and also 20 other package of mine are named like this.

ersei commented on 2021-02-11 13:30 (UTC) (edited on 2021-02-11 13:31 (UTC) by ersei)

Perhaps rename this package to "obs-plugin-freeze-filter"?