summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authortytan6522024-03-09 13:02:58 +0100
committertytan6522024-03-09 13:03:24 +0100
commita981429a430012cd95349c9aa73d6234784b89a3 (patch)
treeaea3610f79f1109bdc726703d029b63589bae439
parent1513d1f8c93b8cb5c701a61cedca2c780a9bde6f (diff)
downloadaur-a981429a430012cd95349c9aa73d6234784b89a3.tar.gz
build: Build with libajantv2 17.0.1
-rw-r--r--.SRCINFO7
-rw-r--r--0003-Update_to_libajantv2_17_legacy_path_only.patch95
-rw-r--r--PKGBUILD9
3 files changed, 107 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8ea8c64cc78c..dd5f090edff3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = obs-studio-browser
pkgdesc = Free and open source software for video recording and live streaming. With everything except service integration
pkgver = 30.0.2
- pkgrel = 6
+ pkgrel = 7
url = https://github.com/obsproject/obs-studio
arch = x86_64
arch = aarch64
@@ -11,7 +11,7 @@ pkgbase = obs-studio-browser
makedepends = jack
makedepends = git
makedepends = uthash
- makedepends = libajantv2
+ makedepends = libajantv2>=17.0.1
makedepends = libdatachannel>=0.20
makedepends = libfdk-aac
makedepends = luajit
@@ -85,6 +85,7 @@ pkgbase = obs-studio-browser
optdepends = systemd-libs: V4L2 support
optdepends = v4l2loopback-dkms: V4L2 virtual camera output
optdepends = libdatachannel>=0.20: WHIP Support
+ optdepends = libajantv2>=17.0.1: AJA support
optdepends = decklink: Blackmagic Design DeckLink support
provides = obs-studio=30.0.2
provides = obs-vst
@@ -102,10 +103,12 @@ pkgbase = obs-studio-browser
source = obs-websocket::git+https://github.com/obsproject/obs-websocket.git
source = 0001-Add_finder_for_uthash.patch
source = 0002-Use_system_uthash.patch
+ source = 0003-Update_to_libajantv2_17_legacy_path_only.patch
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = f4a56021a7f1c564f95b588d7c09b60a89efa2c1954c8a418cf6320b5a818542
sha256sums = 874456110d17d2efe02f8a1f47f58c877922d8bdab6435df334b9e6460b26bf8
+ sha256sums = a7149e1d9a07270132cf8085d52225ed3200a78ea943cbf52d64b1b8f293e117
pkgname = obs-studio-browser
diff --git a/0003-Update_to_libajantv2_17_legacy_path_only.patch b/0003-Update_to_libajantv2_17_legacy_path_only.patch
new file mode 100644
index 000000000000..9b2151554e2b
--- /dev/null
+++ b/0003-Update_to_libajantv2_17_legacy_path_only.patch
@@ -0,0 +1,95 @@
+From 837a514a10be1a9977352edbabe8efa41392e07f Mon Sep 17 00:00:00 2001
+From: Paul Hindt <paulh@aja.com>
+Date: Wed, 11 Oct 2023 21:57:44 -0700
+Subject: [PATCH] aja: Update plugin to use new libajantv2 deps
+
+AJA's ntv2 repo on github, which was used to build the initial
+version of the OBS AJA plugin, has been replaced by a new repo.
+
+The original repo placed a maintenance burden on AJA, requiring
+filtering open-source code from proprietary code.
+
+The new repo splits and re-organizes the open-source code from
+AJA's internal repo, to allow its use as a submodule by other
+projects, both internal and external to AJA.
+
+This PR updates the OBS AJA plugin to use deps from the new repo.
+---
+ cmake/Modules/FindLibAJANTV2.cmake | 11 ++++--
+ plugins/aja/aja-widget-io.cpp | 17 +++++-----
+ 5 files changed, 47 insertions(+), 37 deletions(-)
+
+diff --git a/cmake/Modules/FindLibAJANTV2.cmake b/cmake/Modules/FindLibAJANTV2.cmake
+index 3ce91deedff7a..9a016bc1cb276 100644
+--- a/cmake/Modules/FindLibAJANTV2.cmake
++++ b/cmake/Modules/FindLibAJANTV2.cmake
+@@ -15,7 +15,7 @@ endif()
+
+ find_path(
+ AJA_LIBRARIES_INCLUDE_DIR
+- NAMES ajalibraries
++ NAMES libajantv2
+ HINTS ENV
+ AJASDKPath${_lib_suffix}
+ ENV
+@@ -99,10 +99,17 @@ find_package_handle_standard_args(LibAJANTV2 DEFAULT_MSG AJA_LIBRARIES_INCLUDE_D
+ mark_as_advanced(AJA_LIBRARIES_INCLUDE_DIR AJA_NTV2_LIB)
+
+ if(LIBAJANTV2_FOUND)
+- set(AJA_LIBRARIES_INCLUDE_DIR ${AJA_LIBRARIES_INCLUDE_DIR}/ajalibraries)
++ set(AJA_LIBRARIES_INCLUDE_DIR ${AJA_LIBRARIES_INCLUDE_DIR}/libajantv2)
+ set(AJA_LIBRARIES_INCLUDE_DIRS
+ ${AJA_LIBRARIES_INCLUDE_DIR} ${AJA_LIBRARIES_INCLUDE_DIR}/ajaanc ${AJA_LIBRARIES_INCLUDE_DIR}/ajabase
+ ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2 ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/includes)
++ if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
++ list(APPEND AJA_LIBRARIES_INCLUDE_DIRS ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/src/win)
++ elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
++ list(APPEND AJA_LIBRARIES_INCLUDE_DIRS ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/src/mac)
++ elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
++ list(APPEND AJA_LIBRARIES_INCLUDE_DIRS ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/src/lin)
++ endif()
+
+ set(LIBAJANTV2_LIBRARIES ${AJA_NTV2_LIB})
+ if(AJA_NTV2_DEBUG_LIB STREQUAL "AJA_NTV2_DEBUG_LIB-NOTFOUND")
+diff --git a/plugins/aja/aja-widget-io.cpp b/plugins/aja/aja-widget-io.cpp
+index 18e571dfe98c5..c7d01c0acd465 100644
+--- a/plugins/aja/aja-widget-io.cpp
++++ b/plugins/aja/aja-widget-io.cpp
+@@ -1,6 +1,7 @@
+ #include "aja-widget-io.hpp"
+ #include "aja-common.hpp"
+
++#include <ajantv2/includes/ntv2enums.h>
+ #include <ajantv2/includes/ntv2utils.h>
+ #include <ajantv2/includes/ntv2signalrouter.h>
+
+@@ -35,21 +36,21 @@ static const WidgetInputSocket kWidgetInputSockets[] = {
+ //NTV2InputCrosspointID | NTV2WidgetID | Name | DatastreamIndex
+ { NTV2_INPUT_CROSSPOINT_INVALID, NTV2_WIDGET_INVALID, "", -1},
+ { NTV2_XptFrameBuffer1Input, NTV2_WgtFrameBuffer1, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer1BInput, NTV2_WgtFrameBuffer1, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer1DS2Input, NTV2_WgtFrameBuffer1, kFramebufferNickname, 1},
+ { NTV2_XptFrameBuffer2Input, NTV2_WgtFrameBuffer2, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer2BInput, NTV2_WgtFrameBuffer2, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer2DS2Input, NTV2_WgtFrameBuffer2, kFramebufferNickname, 1},
+ { NTV2_XptFrameBuffer3Input, NTV2_WgtFrameBuffer3, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer3BInput, NTV2_WgtFrameBuffer3, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer3DS2Input, NTV2_WgtFrameBuffer3, kFramebufferNickname, 1},
+ { NTV2_XptFrameBuffer4Input, NTV2_WgtFrameBuffer4, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer4BInput, NTV2_WgtFrameBuffer4, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer4DS2Input, NTV2_WgtFrameBuffer4, kFramebufferNickname, 1},
+ { NTV2_XptFrameBuffer5Input, NTV2_WgtFrameBuffer5, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer5BInput, NTV2_WgtFrameBuffer5, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer5DS2Input, NTV2_WgtFrameBuffer5, kFramebufferNickname, 1},
+ { NTV2_XptFrameBuffer6Input, NTV2_WgtFrameBuffer6, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer6BInput, NTV2_WgtFrameBuffer6, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer6DS2Input, NTV2_WgtFrameBuffer6, kFramebufferNickname, 1},
+ { NTV2_XptFrameBuffer7Input, NTV2_WgtFrameBuffer7, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer7BInput, NTV2_WgtFrameBuffer7, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer7DS2Input, NTV2_WgtFrameBuffer7, kFramebufferNickname, 1},
+ { NTV2_XptFrameBuffer8Input, NTV2_WgtFrameBuffer8, kFramebufferNickname, 0},
+- { NTV2_XptFrameBuffer8BInput, NTV2_WgtFrameBuffer8, kFramebufferNickname, 1},
++ { NTV2_XptFrameBuffer8DS2Input, NTV2_WgtFrameBuffer8, kFramebufferNickname, 1},
+ { NTV2_XptCSC1VidInput, NTV2_WgtCSC1, kCSCNickname, 0},
+ { NTV2_XptCSC1KeyInput, NTV2_WgtCSC1, kCSCNickname, 1},
+ { NTV2_XptCSC2VidInput, NTV2_WgtCSC2, kCSCNickname, 0},
diff --git a/PKGBUILD b/PKGBUILD
index 698aab5d010d..13ed0dac280e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,13 +7,14 @@
pkgname=obs-studio-browser
pkgver=30.0.2
-pkgrel=6
+pkgrel=7
pkgdesc="Free and open source software for video recording and live streaming. With everything except service integration"
arch=("x86_64" "aarch64")
url="https://github.com/obsproject/obs-studio"
license=('GPL-2.0-or-later')
# To manage dependency rebuild easily, this will prevent you to rebuild OBS on non-updated system
_qtver=6.6.2
+_libajantv2ver=17.0.1
_libdatachannelver=0.20
_mbedtlsver=3.5.1
_pythonver=3.11
@@ -70,7 +71,7 @@ makedepends=(
"jack" # Deps of JACK plugin
"git"
"uthash" # Deps of libobs
- "libajantv2" # Deps of AJA plugin (static lib)
+ "libajantv2>=$_libajantv2ver" # Deps of AJA plugins
"libdatachannel>=$_libdatachannelver" # Deps of WebRTC plugin (NICE variant like the Flatpak)
"libfdk-aac" # Deps of FDK AAC plugin
"luajit" # Deps of Scripting plugin
@@ -103,6 +104,7 @@ optdepends=(
"systemd-libs: V4L2 support"
"v4l2loopback-dkms: V4L2 virtual camera output"
"libdatachannel>=$_libdatachannelver: WHIP Support"
+ "libajantv2>=$_libajantv2ver: AJA support"
)
provides=("obs-studio=$pkgver" "obs-vst" "obs-websocket" "obs-browser")
conflicts=(
@@ -117,6 +119,7 @@ source=(
"obs-websocket::git+https://github.com/obsproject/obs-websocket.git"
"0001-Add_finder_for_uthash.patch"
"0002-Use_system_uthash.patch"
+ "0003-Update_to_libajantv2_17_legacy_path_only.patch"
)
sha256sums=(
"SKIP"
@@ -124,6 +127,7 @@ sha256sums=(
"SKIP"
"f4a56021a7f1c564f95b588d7c09b60a89efa2c1954c8a418cf6320b5a818542"
"874456110d17d2efe02f8a1f47f58c877922d8bdab6435df334b9e6460b26bf8"
+ "a7149e1d9a07270132cf8085d52225ed3200a78ea943cbf52d64b1b8f293e117"
)
if [[ $CARCH == 'x86_64' ]]; then
@@ -138,6 +142,7 @@ prepare() {
patch -Np1 -i "$srcdir/0001-Add_finder_for_uthash.patch"
patch -Np1 -i "$srcdir/0002-Use_system_uthash.patch"
+ patch -Np1 -i "$srcdir/0003-Update_to_libajantv2_17_legacy_path_only.patch"
}
build() {