summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO28
-rw-r--r--01-addMutex.patch10
-rw-r--r--02-changeMaxOrder.patch14
-rw-r--r--PKGBUILD63
-rw-r--r--decklink.install9
5 files changed, 101 insertions, 23 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1a52ea1451f3..80ce938e22e4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,22 +1,30 @@
pkgbase = decklink
pkgdesc = Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards
- pkgver = 11.1
- pkgrel = 2
+ pkgver = 12.9
+ pkgrel = 1
url = https://www.blackmagicdesign.com/support/family/capture-and-playback
arch = i686
arch = x86_64
license = custom
makedepends = curl
- depends = linux-headers
- depends = libxml2
- depends = libpng12
- depends = glu
- depends = qt5-base
- depends = qt5-svg
options = !strip
options = staticlibs
- source = decklink-11.1.tar.gz::https://www.blackmagicdesign.com/api/register/us/download/bdb0c72cc1af4bf2ac790957c8e5db12
- sha256sums = a3123bfc5d310ee1b221e49ac4fbe25b8d1006fc29973b27507d47b6659543ee
+ source = decklink-12.9.tar.gz::https://www.blackmagicdesign.com/api/register/us/download/495ebc707969447598c2f1cf0ff8d7d8
+ source = 01-addMutex.patch
+ source = 02-changeMaxOrder.patch
+ sha256sums = 0cc02a71d9f8f1c79e25fc5983566ee69a54b2eb932c927715b5523bffd564bd
+ sha256sums = 60b2233b7c0cacca04670317e45b3d5b8b91bbd5e8f24973b237e1c52db045f4
+ sha256sums = fdead45588e94eec9a41a092cd2c702a03687318a3735b8d6948e7ac910c6ba8
pkgname = decklink
+ install = decklink.install
+ depends = dkms
+ depends = qt5-base
+ depends = libpng
+pkgname = mediaexpress
+ depends = glu
+ depends = qt5-base
+ depends = qt5-svg
+ depends = libpng
+ depends = decklink
diff --git a/01-addMutex.patch b/01-addMutex.patch
new file mode 100644
index 000000000000..bcccad327ef5
--- /dev/null
+++ b/01-addMutex.patch
@@ -0,0 +1,10 @@
+--- a/blackmagic-io-12.9a3/bm_locks.c 2024-02-09 02:02:38.000000000 +0100
++++ b/blackmagic-io-12.9a3/bm_locks.c 2024-03-11 22:08:00.559132781 +0100
+@@ -25,6 +25,7 @@
+ ** -LICENSE-END-
+ */
+ #include <linux/list.h>
++#include <linux/mutex.h>
+ #include <linux/sched.h>
+ #include <linux/spinlock.h>
+ #include "bm_version.h"
diff --git a/02-changeMaxOrder.patch b/02-changeMaxOrder.patch
new file mode 100644
index 000000000000..ba985f850650
--- /dev/null
+++ b/02-changeMaxOrder.patch
@@ -0,0 +1,14 @@
+--- a/blackmagic-io-12.9a3/bm_util.c 2024-02-09 02:02:38.000000000 +0100
++++ b/blackmagic-io-12.9a3/bm_util.c 2024-03-11 22:10:20.051722843 +0100
+@@ -137,7 +137,11 @@
+ alloc_size += align - 1;
+ }
+
++#if KERNEL_VERSION_OR_LATER(6, 8, 0)
++ if (get_order(alloc_size) < MAX_PAGE_ORDER)
++#else
+ if (get_order(alloc_size) < MAX_ORDER)
++#endif
+ mem = (vm_address_t)kmalloc(alloc_size, GFP_KERNEL);
+
+ if (mem == 0 && (flags & BM_ALLOC_CONTIGUOUS) == 0)
diff --git a/PKGBUILD b/PKGBUILD
index c007ea7387d3..856b9dec72f7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,20 +1,21 @@
# Maintainers: Perry Hung <perry@leaflabs.com> Florent Thiery <fthiery@gmail.com> Théo Le Calvar <tlc@kher.nl>
-pkgname=decklink
-pkgver=11.1
-pkgrel=2
+pkgbase=decklink
+pkgname=(decklink mediaexpress)
+_pkgname=decklink
+pkgver=12.9
+pkgrel=1
pkgdesc="Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards"
arch=('i686' 'x86_64')
url="https://www.blackmagicdesign.com/support/family/capture-and-playback"
license=('custom')
makedepends=('curl')
-depends=('linux-headers' 'libxml2' 'libpng12' 'glu' 'qt5-base' 'qt5-svg')
options=('!strip' 'staticlibs')
[ "$CARCH" = "i686" ] && _arch='i386'
[ "$CARCH" = "x86_64" ] && _arch='x86_64'
-_pkgsrc_url="https://www.blackmagicdesign.com/api/register/us/download/bdb0c72cc1af4bf2ac790957c8e5db12"
-_pkgsrc_file=${pkgname}-${pkgver}.tar.gz
+_pkgsrc_url="https://www.blackmagicdesign.com/api/register/us/download/495ebc707969447598c2f1cf0ff8d7d8"
+_pkgsrc_file=${_pkgname}-${pkgver}.tar.gz
DLAGENTS=("https::/usr/bin/curl \
-o %o \
@@ -28,20 +29,56 @@ DLAGENTS=("https::/usr/bin/curl \
)"
)
-source=("${_pkgsrc_file}"::"${_pkgsrc_url}")
-sha256sums=("a3123bfc5d310ee1b221e49ac4fbe25b8d1006fc29973b27507d47b6659543ee")
-
-package() {
- mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
- chmod 755 "$pkgdir/usr/share/licenses/$pkgname"
- ln -s /usr/share/doc/desktopvideo/License.txt "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+source=("${_pkgsrc_file}"::"${_pkgsrc_url}"
+ "01-addMutex.patch"
+ "02-changeMaxOrder.patch"
+ )
+sha256sums=('0cc02a71d9f8f1c79e25fc5983566ee69a54b2eb932c927715b5523bffd564bd'
+ '60b2233b7c0cacca04670317e45b3d5b8b91bbd5e8f24973b237e1c52db045f4'
+ 'fdead45588e94eec9a41a092cd2c702a03687318a3735b8d6948e7ac910c6ba8')
+prepare() {
cd $srcdir/Blackmagic_Desktop_Video_Linux_$pkgver/other/${_arch}
tar xf desktopvideo-*-${_arch}.tar.gz
+
+ cd desktopvideo-*/usr/src
+
+ for p in ${srcdir}/*.patch;
+ do
+ echo "Applying ${p}"
+ patch --forward --strip=1 --input="${p}"
+ done
+
+}
+
+package_decklink() {
+ install=decklink.install
+ depends=('dkms' 'qt5-base' 'libpng')
+
+ mkdir -p "$pkgdir/usr/share/licenses/$pkgbase"
+ chmod 755 "$pkgdir/usr/share/licenses/$pkgbase"
+ ln -s /usr/share/doc/desktopvideo/License.txt "$pkgdir/usr/share/licenses/$pkgbase/DesktopVideo"
+
+ cd $srcdir/Blackmagic_Desktop_Video_Linux_$pkgver/other/${_arch}
+
cp -a desktopvideo-*-${_arch}/* $pkgdir
rm -rf $pkgdir/usr/sbin
+ chmod 755 "$pkgdir/usr"
+ chmod 755 "$pkgdir/usr/share"
+ chmod 755 "$pkgdir/usr/share/doc"
+}
+
+package_mediaexpress() {
+ depends=('glu' 'qt5-base' 'qt5-svg' 'libpng' 'decklink')
+
+ mkdir -p "$pkgdir/usr/share/licenses/$pkgbase"
+ chmod 755 "$pkgdir/usr/share/licenses/$pkgbase"
+ ln -s /usr/share/doc/mediaexpress/License.txt "$pkgdir/usr/share/licenses/$pkgbase/MediaExpress"
+
+ cd $srcdir/Blackmagic_Desktop_Video_Linux_$pkgver/other/${_arch}
+
tar xf mediaexpress-*-${_arch}.tar.gz
cp -a mediaexpress-*-${_arch}/* $pkgdir
diff --git a/decklink.install b/decklink.install
new file mode 100644
index 000000000000..0fcf32773f72
--- /dev/null
+++ b/decklink.install
@@ -0,0 +1,9 @@
+post_upgrade() {
+ if (($(vercmp $2 11.5-2) < 0)); then
+ echo ':: In order to work the DesktopVideoHelper.service has to be started.'
+ fi
+}
+
+post_install() {
+ echo ':: In order to work the DesktopVideoHelper.service has to be started.'
+} \ No newline at end of file