From b6c950d0aded37ead4a1b90ae77df1beea1141a5 Mon Sep 17 00:00:00 2001 From: jose1711 Date: Fri, 1 Jan 2016 22:21:59 +0100 Subject: [PATCH 01/11] adopted from aur3 --- .SRCINFO | 22 ++++++++++++++++++++++ PKGBUILD | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 .SRCINFO create mode 100644 PKGBUILD diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..c05022b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,22 @@ +# Generated by mksrcinfo v8 +# Fri Jan 1 21:21:31 UTC 2016 +pkgbase = bino + pkgdesc = 3D video player with multi-display support. + pkgver = 1.6.1 + pkgrel = 3 + url = http://bino3d.org/ + arch = i686 + arch = x86_64 + license = GPL3 + depends = ffmpeg + depends = freealut + depends = freeglut + depends = glew + depends = libass + depends = qt5-base + optdepends = lirc: for infrared remote control + source = http://download.savannah.gnu.org/releases-noredirect/bino/bino-1.6.1.tar.xz + md5sums = 59471d7eb3b6981a1e610f96a12ff47c + +pkgname = bino + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..d216667 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Jose Riha +# Contributor: archtux + +pkgname=bino +pkgver=1.6.1 +pkgrel=3 +pkgdesc="3D video player with multi-display support." +arch=('i686' 'x86_64') +url="http://bino3d.org/" +license=('GPL3') +depends=('ffmpeg' 'freealut' 'freeglut' 'glew' 'libass' 'qt5-base') +optdepends=('lirc: for infrared remote control') +source=(http://download.savannah.gnu.org/releases-noredirect/$pkgname/$pkgname-$pkgver.tar.xz) +md5sums=('59471d7eb3b6981a1e610f96a12ff47c') + +prepare() { + cd $srcdir/$pkgname-$pkgver + sed -i 's/CXXFLAGS -fPIE/& -fPIC/' configure + ./configure --prefix=/usr \ + --with-qt-version=5 \ + # --with-xnvctrl # Enable NVIDIA Quadro SDI output +} + +build() { + cd $srcdir/$pkgname-$pkgver + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install +} From 09504bb5ad28549f1e469c6966fbba7b944b79f7 Mon Sep 17 00:00:00 2001 From: jose1711 Date: Sun, 7 Feb 2016 00:13:33 +0100 Subject: [PATCH 02/11] updated to 1.6.2 --- .SRCINFO | 12 +++++++----- PKGBUILD | 10 ++++++---- gui_common.h | 10 ++++++++++ 3 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 gui_common.h diff --git a/.SRCINFO b/.SRCINFO index c05022b..f73a492 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Fri Jan 1 21:21:31 UTC 2016 +# Sat Feb 6 23:13:22 UTC 2016 pkgbase = bino pkgdesc = 3D video player with multi-display support. - pkgver = 1.6.1 - pkgrel = 3 + pkgver = 1.6.2 + pkgrel = 1 url = http://bino3d.org/ arch = i686 arch = x86_64 @@ -15,8 +15,10 @@ pkgbase = bino depends = libass depends = qt5-base optdepends = lirc: for infrared remote control - source = http://download.savannah.gnu.org/releases-noredirect/bino/bino-1.6.1.tar.xz - md5sums = 59471d7eb3b6981a1e610f96a12ff47c + source = http://download.savannah.gnu.org/releases-noredirect/bino/bino-1.6.2.tar.xz + source = gui_common.h + md5sums = b6cbb49c82da6a1d7734e5c2b66864c3 + md5sums = c152d0a10fcf712760919a5892f87a6d pkgname = bino diff --git a/PKGBUILD b/PKGBUILD index d216667..dfae56e 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,16 +2,17 @@ # Contributor: archtux pkgname=bino -pkgver=1.6.1 -pkgrel=3 +pkgver=1.6.2 +pkgrel=1 pkgdesc="3D video player with multi-display support." arch=('i686' 'x86_64') url="http://bino3d.org/" license=('GPL3') depends=('ffmpeg' 'freealut' 'freeglut' 'glew' 'libass' 'qt5-base') optdepends=('lirc: for infrared remote control') -source=(http://download.savannah.gnu.org/releases-noredirect/$pkgname/$pkgname-$pkgver.tar.xz) -md5sums=('59471d7eb3b6981a1e610f96a12ff47c') +source=(http://download.savannah.gnu.org/releases-noredirect/$pkgname/$pkgname-$pkgver.tar.xz 'gui_common.h') +md5sums=('b6cbb49c82da6a1d7734e5c2b66864c3' + 'c152d0a10fcf712760919a5892f87a6d') prepare() { cd $srcdir/$pkgname-$pkgver @@ -22,6 +23,7 @@ prepare() { } build() { + cp $srcdir/gui_common.h $srcdir/$pkgname-$pkgver/src cd $srcdir/$pkgname-$pkgver make } diff --git a/gui_common.h b/gui_common.h new file mode 100644 index 0000000..0e6932e --- /dev/null +++ b/gui_common.h @@ -0,0 +1,10 @@ +#ifndef GUICOMMON_H +#define GUICOMMON_H + +#include "base/str.h" + +#include "base/gettext.h" +// Qt requires strings from gettext to be in UTF-8 encoding. +#define _(string) (str::convert(gettext(string), str::localcharset(), "UTF-8").c_str()) + +#endif From 9e35fd834b9ff618d88a2ae77546b08b9e54e89f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Sun, 13 Aug 2017 02:12:01 +0200 Subject: [PATCH 03/11] Version 1.6.5 --- .SRCINFO | 20 +++++++++++--------- PKGBUILD | 42 +++++++++++++++++++++++------------------- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index f73a492..944e328 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,24 +1,26 @@ # Generated by mksrcinfo v8 -# Sat Feb 6 23:13:22 UTC 2016 +# Sun Aug 13 00:12:01 UTC 2017 pkgbase = bino - pkgdesc = 3D video player with multi-display support. - pkgver = 1.6.2 + pkgdesc = 3D video player with multi-display support + pkgver = 1.6.5 pkgrel = 1 - url = http://bino3d.org/ + url = https://bino3d.org/ arch = i686 arch = x86_64 license = GPL3 depends = ffmpeg depends = freealut depends = freeglut - depends = glew + depends = glewmx depends = libass depends = qt5-base - optdepends = lirc: for infrared remote control - source = http://download.savannah.gnu.org/releases-noredirect/bino/bino-1.6.2.tar.xz + optdepends = lirc: infrared remote control + source = https://download.savannah.gnu.org/releases/bino/bino-1.6.5.tar.xz + source = https://download.savannah.gnu.org/releases/bino/bino-1.6.5.tar.xz.sig source = gui_common.h - md5sums = b6cbb49c82da6a1d7734e5c2b66864c3 - md5sums = c152d0a10fcf712760919a5892f87a6d + sha512sums = 8be28ad2febbbf631d57ee0c32457ac2ba1f90bafcbbce83933fc5ac487e8e9aab8edcb8ed6127c5bee02ddea0dc5150743350a4289a3b9758f50562034a92c4 + sha512sums = SKIP + sha512sums = 8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325 pkgname = bino diff --git a/PKGBUILD b/PKGBUILD index dfae56e..41d5b87 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,34 +1,38 @@ -# Maintainer: Jose Riha +# Maintainer: Manuel Hüsers +# Contributor: Jose Riha # Contributor: archtux pkgname=bino -pkgver=1.6.2 +pkgver=1.6.5 pkgrel=1 -pkgdesc="3D video player with multi-display support." +pkgdesc='3D video player with multi-display support' arch=('i686' 'x86_64') -url="http://bino3d.org/" +url='https://bino3d.org/' license=('GPL3') -depends=('ffmpeg' 'freealut' 'freeglut' 'glew' 'libass' 'qt5-base') -optdepends=('lirc: for infrared remote control') -source=(http://download.savannah.gnu.org/releases-noredirect/$pkgname/$pkgname-$pkgver.tar.xz 'gui_common.h') -md5sums=('b6cbb49c82da6a1d7734e5c2b66864c3' - 'c152d0a10fcf712760919a5892f87a6d') +depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') +optdepends=('lirc: infrared remote control') +source=(https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} + 'gui_common.h') +sha512sums=('8be28ad2febbbf631d57ee0c32457ac2ba1f90bafcbbce83933fc5ac487e8e9aab8edcb8ed6127c5bee02ddea0dc5150743350a4289a3b9758f50562034a92c4' + 'SKIP' + '8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325') +validpgpkeys=('2F788CDEF4181652720EF132F4926138953E5294') prepare() { - cd $srcdir/$pkgname-$pkgver - sed -i 's/CXXFLAGS -fPIE/& -fPIC/' configure - ./configure --prefix=/usr \ - --with-qt-version=5 \ - # --with-xnvctrl # Enable NVIDIA Quadro SDI output + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i 's/CXXFLAGS -fPIE/& -fPIC/' configure + ./configure --prefix=/usr \ + --with-qt-version=5 \ + #--with-xnvctrl # Enable NVIDIA Quadro SDI output } build() { - cp $srcdir/gui_common.h $srcdir/$pkgname-$pkgver/src - cd $srcdir/$pkgname-$pkgver - make + cd "${srcdir}/${pkgname}-${pkgver}" + cp '../gui_common.h' 'src' + make } package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } From cf926b1b4dd99e2d621e3a6bcb564370a5f7f766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Fri, 25 Aug 2017 20:09:43 +0200 Subject: [PATCH 04/11] Key revoked on 2017-08-18, signature removed --- .SRCINFO | 8 +++----- PKGBUILD | 7 +++---- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 944e328..a780c73 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,5 +1,5 @@ # Generated by mksrcinfo v8 -# Sun Aug 13 00:12:01 UTC 2017 +# Fri Aug 25 18:09:43 UTC 2017 pkgbase = bino pkgdesc = 3D video player with multi-display support pkgver = 1.6.5 @@ -16,11 +16,9 @@ pkgbase = bino depends = qt5-base optdepends = lirc: infrared remote control source = https://download.savannah.gnu.org/releases/bino/bino-1.6.5.tar.xz - source = https://download.savannah.gnu.org/releases/bino/bino-1.6.5.tar.xz.sig source = gui_common.h - sha512sums = 8be28ad2febbbf631d57ee0c32457ac2ba1f90bafcbbce83933fc5ac487e8e9aab8edcb8ed6127c5bee02ddea0dc5150743350a4289a3b9758f50562034a92c4 - sha512sums = SKIP - sha512sums = 8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325 + sha256sums = 3254316d3ae81cc69643dcd823caaac1233704d91289272d0011ced5e5cdffe2 + sha256sums = 0664e447fe115dbe7a146f3d057f171731c082cbc5691b68e2c959205a39c4e5 pkgname = bino diff --git a/PKGBUILD b/PKGBUILD index 41d5b87..0048f72 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -11,11 +11,10 @@ url='https://bino3d.org/' license=('GPL3') depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') -source=(https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} +source=(https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz 'gui_common.h') -sha512sums=('8be28ad2febbbf631d57ee0c32457ac2ba1f90bafcbbce83933fc5ac487e8e9aab8edcb8ed6127c5bee02ddea0dc5150743350a4289a3b9758f50562034a92c4' - 'SKIP' - '8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325') +sha256sums=('3254316d3ae81cc69643dcd823caaac1233704d91289272d0011ced5e5cdffe2' + '0664e447fe115dbe7a146f3d057f171731c082cbc5691b68e2c959205a39c4e5') validpgpkeys=('2F788CDEF4181652720EF132F4926138953E5294') prepare() { From d047ef573446ba96ab22f10edba6e07c8078341f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Mon, 29 Jan 2018 13:06:58 +0100 Subject: [PATCH 05/11] Version 1.6.6 --- .SRCINFO | 13 +++++++------ PKGBUILD | 11 ++++++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index a780c73..c4e4dbb 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,8 +1,6 @@ -# Generated by mksrcinfo v8 -# Fri Aug 25 18:09:43 UTC 2017 pkgbase = bino pkgdesc = 3D video player with multi-display support - pkgver = 1.6.5 + pkgver = 1.6.6 pkgrel = 1 url = https://bino3d.org/ arch = i686 @@ -15,10 +13,13 @@ pkgbase = bino depends = libass depends = qt5-base optdepends = lirc: infrared remote control - source = https://download.savannah.gnu.org/releases/bino/bino-1.6.5.tar.xz + source = https://download.savannah.gnu.org/releases/bino/bino-1.6.6.tar.xz + source = https://download.savannah.gnu.org/releases/bino/bino-1.6.6.tar.xz.sig source = gui_common.h - sha256sums = 3254316d3ae81cc69643dcd823caaac1233704d91289272d0011ced5e5cdffe2 - sha256sums = 0664e447fe115dbe7a146f3d057f171731c082cbc5691b68e2c959205a39c4e5 + validpgpkeys = 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 + sha512sums = 43a17f390881fcc8b7721b21ff8524b89992cd7fb0cfc467769bdddd0ad0c0d2536d161475a7fce6d4d3e758e017a38f671648dfaa4a345dc02127b7b192c8c0 + sha512sums = SKIP + sha512sums = 8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325 pkgname = bino diff --git a/PKGBUILD b/PKGBUILD index 0048f72..b7034b8 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: archtux pkgname=bino -pkgver=1.6.5 +pkgver=1.6.6 pkgrel=1 pkgdesc='3D video player with multi-display support' arch=('i686' 'x86_64') @@ -11,11 +11,12 @@ url='https://bino3d.org/' license=('GPL3') depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') -source=(https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz +source=(https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} 'gui_common.h') -sha256sums=('3254316d3ae81cc69643dcd823caaac1233704d91289272d0011ced5e5cdffe2' - '0664e447fe115dbe7a146f3d057f171731c082cbc5691b68e2c959205a39c4e5') -validpgpkeys=('2F788CDEF4181652720EF132F4926138953E5294') +sha512sums=('43a17f390881fcc8b7721b21ff8524b89992cd7fb0cfc467769bdddd0ad0c0d2536d161475a7fce6d4d3e758e017a38f671648dfaa4a345dc02127b7b192c8c0' + 'SKIP' + '8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325') +validpgpkeys=('2F61B4828BBA779AECB3F32703A2A4AB1E32FD34') prepare() { cd "${srcdir}/${pkgname}-${pkgver}" From 00700a35b49819d86567e0803a528c3b07791e3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Sun, 9 Dec 2018 21:49:58 +0100 Subject: [PATCH 06/11] Version 1.6.7 Removed gui_common.h as changes have been merged upstream Fixed PKGBUILD (Thanks goes to jose1711) --- .SRCINFO | 10 ++++------ PKGBUILD | 22 ++++++++++++---------- gui_common.h | 10 ---------- 3 files changed, 16 insertions(+), 26 deletions(-) delete mode 100644 gui_common.h diff --git a/.SRCINFO b/.SRCINFO index c4e4dbb..3148f56 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = bino pkgdesc = 3D video player with multi-display support - pkgver = 1.6.6 + pkgver = 1.6.7 pkgrel = 1 url = https://bino3d.org/ arch = i686 @@ -13,13 +13,11 @@ pkgbase = bino depends = libass depends = qt5-base optdepends = lirc: infrared remote control - source = https://download.savannah.gnu.org/releases/bino/bino-1.6.6.tar.xz - source = https://download.savannah.gnu.org/releases/bino/bino-1.6.6.tar.xz.sig - source = gui_common.h + source = https://bino3d.org/releases/bino-1.6.7.tar.xz + source = https://bino3d.org/releases/bino-1.6.7.tar.xz.sig validpgpkeys = 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 - sha512sums = 43a17f390881fcc8b7721b21ff8524b89992cd7fb0cfc467769bdddd0ad0c0d2536d161475a7fce6d4d3e758e017a38f671648dfaa4a345dc02127b7b192c8c0 + sha512sums = ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8 sha512sums = SKIP - sha512sums = 8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325 pkgname = bino diff --git a/PKGBUILD b/PKGBUILD index b7034b8..d60bdf9 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: archtux pkgname=bino -pkgver=1.6.6 +pkgver=1.6.7 pkgrel=1 pkgdesc='3D video player with multi-display support' arch=('i686' 'x86_64') @@ -11,24 +11,26 @@ url='https://bino3d.org/' license=('GPL3') depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') -source=(https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} - 'gui_common.h') -sha512sums=('43a17f390881fcc8b7721b21ff8524b89992cd7fb0cfc467769bdddd0ad0c0d2536d161475a7fce6d4d3e758e017a38f671648dfaa4a345dc02127b7b192c8c0' - 'SKIP' - '8006b07a72f964da78a9ba3df7c4ead522cdca0303ab1c1d9b8224a6dd062f24e0bccf95146656e28c5ba3baa8dbc2e513309adb7486e26f1d3563eec35d0325') +source=(https://bino3d.org/releases/bino-1.6.7.tar.xz{,.sig}) +sha512sums=('ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8' + 'SKIP') validpgpkeys=('2F61B4828BBA779AECB3F32703A2A4AB1E32FD34') prepare() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i 's/CXXFLAGS -fPIE/& -fPIC/' configure - ./configure --prefix=/usr \ - --with-qt-version=5 \ - #--with-xnvctrl # Enable NVIDIA Quadro SDI output } build() { cd "${srcdir}/${pkgname}-${pkgver}" - cp '../gui_common.h' 'src' + # libglewmx* env variables are to fix compilation issue + # when both glew and glew1.6 are installed + # details at https://gitlab.marlam.de/marlam/bino/issues/1 + libglewmx_CFLAGS="$(pkg-config --cflags glew)" libglewmx_LIBS="$(pkg-config --libs glew)" ./configure \ + --prefix=/usr \ + --with-qt-version=5 \ + #--with-xnvctrl # Enable NVIDIA Quadro SDI output + sed -i '/am__append_.* = -DGLEW_MX/d' src/Makefile make } diff --git a/gui_common.h b/gui_common.h deleted file mode 100644 index 0e6932e..0000000 --- a/gui_common.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GUICOMMON_H -#define GUICOMMON_H - -#include "base/str.h" - -#include "base/gettext.h" -// Qt requires strings from gettext to be in UTF-8 encoding. -#define _(string) (str::convert(gettext(string), str::localcharset(), "UTF-8").c_str()) - -#endif From f1de0ad44082e49f57c4809a4a4bced72990d41e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Sun, 17 Oct 2021 09:51:36 +0200 Subject: [PATCH 07/11] Fix compilation errors and remove glew envs --- .SRCINFO | 5 +- 00700a3.patch | 424 ++++++++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 23 ++- 3 files changed, 437 insertions(+), 15 deletions(-) create mode 100644 00700a3.patch diff --git a/.SRCINFO b/.SRCINFO index 3148f56..19c979e 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = bino pkgdesc = 3D video player with multi-display support pkgver = 1.6.7 - pkgrel = 1 + pkgrel = 2 url = https://bino3d.org/ arch = i686 arch = x86_64 @@ -13,11 +13,12 @@ pkgbase = bino depends = libass depends = qt5-base optdepends = lirc: infrared remote control + source = 00700a3.patch source = https://bino3d.org/releases/bino-1.6.7.tar.xz source = https://bino3d.org/releases/bino-1.6.7.tar.xz.sig validpgpkeys = 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 + sha512sums = 2923f3818cbbf979e5ba77d731a5d05525472a8ac7419a716bf2b298af6c8fe21f87fb63653460c729169ec76497a9a300d646cd308fd905e730d4fc65140ac8 sha512sums = ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8 sha512sums = SKIP pkgname = bino - diff --git a/00700a3.patch b/00700a3.patch new file mode 100644 index 0000000..6e00284 --- /dev/null +++ b/00700a3.patch @@ -0,0 +1,424 @@ +diff --git a/README.md b/README.md +index 85b61f0..32dea56 100644 +--- a/README.md ++++ b/README.md +@@ -1,6 +1,7 @@ + # Bino: A 3D video player with multi-display support + + Bino is a video player with two main features: ++ + - Support for 3D videos, with a wide variety of input and output formats. + - Support for distributed multi-display video, e.g. for powerwalls, Virtual + Reality installations and other multi-projector setups. +diff --git a/pkg/w32/notes.txt b/pkg/w32/notes.txt +index f84be15..e3e1c20 100644 +--- a/pkg/w32/notes.txt ++++ b/pkg/w32/notes.txt +@@ -17,4 +17,4 @@ The source code for Bino is available here: + https://bino3d.org/download.html + + Instructions to build this package from source can be found here: +-https://gitlab.marlam.de/marlam/bino/raw/master/README.Windows ++https://git.marlam.de/gitweb/?p=bino.git;a=blob_plain;f=README.Windows;hb=HEAD +diff --git a/src/base/dbg.cpp b/src/base/dbg.cpp +index 6c6234f..044be67 100644 +--- a/src/base/dbg.cpp ++++ b/src/base/dbg.cpp +@@ -74,8 +74,10 @@ namespace dbg + (void)sigaction(SIGFPE, &signal_handler, NULL); + (void)sigaction(SIGSEGV, &signal_handler, NULL); + #endif ++#if __cplusplus < 201700 + std::set_unexpected(exception_crash); + std::set_terminate(exception_crash); ++#endif + std::set_new_handler(oom_abort); + } + +diff --git a/src/dispatch.cpp b/src/dispatch.cpp +index d6f9327..703d865 100644 +--- a/src/dispatch.cpp ++++ b/src/dispatch.cpp +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012, 2013, 2015 ++ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 + * Martin Lambers + * Binocle (author: Olivier Letz ) + * Frédéric Bour +@@ -504,6 +504,12 @@ void dispatch::receive_cmd(const command& cmd) + if (_input_data.params.subtitle_parallax_is_set()) + _parameters.set_subtitle_parallax(_input_data.params.subtitle_parallax()); + notify_all(notification::subtitle_parallax); ++ if (_input_data.params.vertical_pixel_shift_left_is_set()) ++ _parameters.set_vertical_pixel_shift_left(_input_data.params.vertical_pixel_shift_left()); ++ notify_all(notification::vertical_pixel_shift_left); ++ if (_input_data.params.vertical_pixel_shift_right_is_set()) ++ _parameters.set_vertical_pixel_shift_right(_input_data.params.vertical_pixel_shift_right()); ++ notify_all(notification::vertical_pixel_shift_right); + if (!_parameters.stereo_mode_is_set()) { + if (_media_input->video_frame_template().stereo_layout == parameters::layout_mono) + _parameters.set_stereo_mode(parameters::mode_mono_left); +@@ -833,6 +839,14 @@ void dispatch::receive_cmd(const command& cmd) + _parameters.set_subtitle_parallax(clamp(s11n::load(p), -1.0f, +1.0f)); + notify_all(notification::subtitle_parallax); + break; ++ case command::set_vertical_pixel_shift_left: ++ _parameters.set_vertical_pixel_shift_left(s11n::load(p)); ++ notify_all(notification::vertical_pixel_shift_left); ++ break; ++ case command::set_vertical_pixel_shift_right: ++ _parameters.set_vertical_pixel_shift_right(s11n::load(p)); ++ notify_all(notification::vertical_pixel_shift_right); ++ break; + // Volatile parameters + case command::toggle_fullscreen: + { +@@ -1217,6 +1231,12 @@ bool dispatch::parse_command(const std::string& s, command* c) + } else if (tokens.size() == 2 && tokens[0] == "adjust-subtitle-parallax" + && str::to(tokens[1], &p.f)) { + *c = command(command::adjust_subtitle_parallax, p.f); ++ } else if (tokens.size() == 2 && tokens[0] == "set-vertical-pixel-shift-left" ++ && str::to(tokens[1], &p.f)) { ++ *c = command(command::set_vertical_pixel_shift_left, p.f); ++ } else if (tokens.size() == 2 && tokens[0] == "set-vertical-pixel-shift-right" ++ && str::to(tokens[1], &p.f)) { ++ *c = command(command::set_vertical_pixel_shift_right, p.f); + } else if (tokens.size() == 1 && tokens[0] == "toggle-fullscreen") { + *c = command(command::toggle_fullscreen); + } else if (tokens.size() == 1 && tokens[0] == "center") { +diff --git a/src/dispatch.h b/src/dispatch.h +index 2133f8d..23f8030 100644 +--- a/src/dispatch.h ++++ b/src/dispatch.h +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012, 2013, 2015 ++ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 + * Martin Lambers + * Joe + * Binocle (author: Olivier Letz ) +@@ -143,6 +143,8 @@ public: + adjust_ghostbust, // float (relative adjustment) + set_subtitle_parallax, // float (absolute value) + adjust_subtitle_parallax, // float (relative adjustment) ++ set_vertical_pixel_shift_left, // float ++ set_vertical_pixel_shift_right, // float + // Volatile parameters + toggle_fullscreen, // no parameters + center, // no parameters +@@ -260,6 +262,8 @@ public: + parallax, + ghostbust, + subtitle_parallax, ++ vertical_pixel_shift_left, ++ vertical_pixel_shift_right, + // Volatile parameters + fullscreen, + center, +diff --git a/src/main.cpp b/src/main.cpp +index 474cdd0..aa232c7 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -337,6 +337,10 @@ int main(int argc, char *argv[]) + options.push_back(&subtitle_shadow); + opt::val subtitle_parallax("subtitle-parallax", '\0', opt::optional, -1.0f, +1.0f); + options.push_back(&subtitle_parallax); ++ opt::val vertical_pixel_shift_left("vertical-pixel-shift-left", '\0', opt::optional, -99999.9f, +99999.9f, 0.0f); ++ options.push_back(&vertical_pixel_shift_left); ++ opt::val vertical_pixel_shift_right("vertical-pixel-shift-right", '\0', opt::optional, -99999.9f, +99999.9f, 0.0f); ++ options.push_back(&vertical_pixel_shift_right); + opt::val parallax("parallax", 'P', opt::optional, -1.0f, +1.0f); + options.push_back(¶llax); + opt::tuple crosstalk("crosstalk", '\0', opt::optional, 0.0f, 1.0f, std::vector(), 3); +@@ -767,6 +771,10 @@ int main(int argc, char *argv[]) + input_data.params.set_ghostbust(ghostbust.value()); + if (subtitle_parallax.is_set()) + input_data.params.set_subtitle_parallax(subtitle_parallax.value()); ++ if (vertical_pixel_shift_left.is_set()) ++ input_data.params.set_vertical_pixel_shift_left(vertical_pixel_shift_left.value()); ++ if (vertical_pixel_shift_right.is_set()) ++ input_data.params.set_vertical_pixel_shift_right(vertical_pixel_shift_right.value()); + + int retval = 0; + std::vector command_files; +diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp +index 988417a..1563eef 100644 +--- a/src/mainwindow.cpp ++++ b/src/mainwindow.cpp +@@ -666,6 +666,10 @@ void main_window::open(QStringList filenames, + input_data.params.set_source_aspect_ratio(initial_params.source_aspect_ratio()); + if (initial_params.parallax_is_set()) + input_data.params.set_parallax(initial_params.parallax()); ++ if (initial_params.vertical_pixel_shift_left_is_set()) ++ input_data.params.set_vertical_pixel_shift_left(initial_params.vertical_pixel_shift_left()); ++ if (initial_params.vertical_pixel_shift_right_is_set()) ++ input_data.params.set_vertical_pixel_shift_right(initial_params.vertical_pixel_shift_right()); + if (initial_params.ghostbust_is_set()) + input_data.params.set_ghostbust(initial_params.ghostbust()); + if (initial_params.subtitle_parallax_is_set()) +diff --git a/src/media_data.cpp b/src/media_data.cpp +index b4acfb0..93b032d 100644 +--- a/src/media_data.cpp ++++ b/src/media_data.cpp +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012, 2013, 2015 ++ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 + * Martin Lambers + * Joe + * D. Matz +@@ -125,6 +125,8 @@ parameters::parameters() + unset_parallax(); + unset_ghostbust(); + unset_subtitle_parallax(); ++ unset_vertical_pixel_shift_left(); ++ unset_vertical_pixel_shift_right(); + // Volatile parameters + unset_fullscreen(); + unset_center(); +@@ -180,6 +182,8 @@ const float parameters::_source_aspect_ratio_default = 0.0f; + const float parameters::_parallax_default = 0.0f; + const float parameters::_ghostbust_default = 0.0f; + const float parameters::_subtitle_parallax_default = 0.0f; ++const float parameters::_vertical_pixel_shift_left_default = 0.0f; ++const float parameters::_vertical_pixel_shift_right_default = 0.0f; + // Volatile parameter defaults + const bool parameters::_fullscreen_default = false; + const bool parameters::_center_default = false; +@@ -575,6 +579,10 @@ void parameters::save(std::ostream &os) const + s11n::save(os, _ghostbust_set); + s11n::save(os, _subtitle_parallax); + s11n::save(os, _subtitle_parallax_set); ++ s11n::save(os, _vertical_pixel_shift_left); ++ s11n::save(os, _vertical_pixel_shift_left_set); ++ s11n::save(os, _vertical_pixel_shift_right); ++ s11n::save(os, _vertical_pixel_shift_right_set); + // Volatile parameters + s11n::save(os, _fullscreen); + s11n::save(os, _fullscreen_set); +@@ -680,6 +688,10 @@ void parameters::load(std::istream &is) + s11n::load(is, _ghostbust_set); + s11n::load(is, _subtitle_parallax); + s11n::load(is, _subtitle_parallax_set); ++ s11n::load(is, _vertical_pixel_shift_left); ++ s11n::load(is, _vertical_pixel_shift_left_set); ++ s11n::load(is, _vertical_pixel_shift_right); ++ s11n::load(is, _vertical_pixel_shift_right_set); + // Volatile parameters + s11n::load(is, _fullscreen); + s11n::load(is, _fullscreen_set); +@@ -879,6 +891,8 @@ void parameters::unset_video_parameters() + unset_parallax(); + unset_ghostbust(); + unset_subtitle_parallax(); ++ unset_vertical_pixel_shift_left(); ++ unset_vertical_pixel_shift_right(); + } + + std::string parameters::save_video_parameters() const +@@ -902,6 +916,10 @@ std::string parameters::save_video_parameters() const + s11n::save(oss, "ghostbust", _ghostbust); + if (!subtitle_parallax_is_default()) + s11n::save(oss, "subtitle_parallax", _subtitle_parallax); ++ if (!vertical_pixel_shift_left_is_default()) ++ s11n::save(oss, "vertical_pixel_shift_left", _vertical_pixel_shift_left); ++ if (!vertical_pixel_shift_right_is_default()) ++ s11n::save(oss, "vertical_pixel_shift_right", _vertical_pixel_shift_right); + return oss.str(); + } + +@@ -941,6 +959,12 @@ void parameters::load_video_parameters(const std::string &s) + } else if (name == "subtitle_parallax") { + s11n::load(value, _subtitle_parallax); + _subtitle_parallax_set = true; ++ } else if (name == "vertical_pixel_shift_left") { ++ s11n::load(value, _vertical_pixel_shift_left); ++ _vertical_pixel_shift_left_set = true; ++ } else if (name == "vertical_pixel_shift_right") { ++ s11n::load(value, _vertical_pixel_shift_right); ++ _vertical_pixel_shift_right_set = true; + } + } + } +diff --git a/src/media_data.h b/src/media_data.h +index 30c7bec..1214f91 100644 +--- a/src/media_data.h ++++ b/src/media_data.h +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012, 2013, 2015 ++ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 + * Martin Lambers + * Joe + * D. Matz +@@ -205,6 +205,8 @@ public: + PARAMETER(float, parallax) // Parallax adjustment, -1 .. +1 + PARAMETER(float, ghostbust) // Amount of crosstalk ghostbusting, 0 .. 1 + PARAMETER(float, subtitle_parallax) // Subtitle parallax adjustment, -1 .. +1 ++ PARAMETER(float, vertical_pixel_shift_left) // Vertical shift in pixels for left view ++ PARAMETER(float, vertical_pixel_shift_right) // Vertical shift in pixels for right view + // Volatile parameters + PARAMETER(bool, fullscreen) // Fullscreen mode + PARAMETER(bool, center) // Should the video be centered? +diff --git a/src/media_input.cpp b/src/media_input.cpp +index c1b8fcb..493708c 100644 +--- a/src/media_input.cpp ++++ b/src/media_input.cpp +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012, 2015 ++ * Copyright (C) 2010, 2011, 2012, 2015, 2018 + * Martin Lambers + * Frédéric Devernay + * Joe +@@ -38,7 +38,8 @@ + media_input::media_input() : + _active_video_stream(-1), _active_audio_stream(-1), _active_subtitle_stream(-1), + _have_active_video_read(false), _have_active_audio_read(false), _have_active_subtitle_read(false), +- _last_audio_data_size(0), _initial_skip(0), _duration(-1) ++ _last_audio_data_size(0), _initial_skip(0), _duration(-1), ++ _finished_first_frame_read(false) + { + } + +@@ -622,6 +623,26 @@ video_frame media_input::finish_video_frame_read() + get_video_stream(1, o1, s1); + video_frame f0 = _media_objects[o0].finish_video_frame_read(s0); + video_frame f1 = _media_objects[o1].finish_video_frame_read(s1); ++ if (!_finished_first_frame_read && is_device()) ++ { ++ /* Try to keep both device streams in sync. This should only be ++ * relevant at the beginning of playback, i.e. the first frame read, ++ * when one device starts grabbing frames before the other does. */ ++ while (f0.is_valid() && f1.is_valid() ++ && f1.presentation_time > f0.presentation_time + video_frame_duration() / 2) ++ { ++ msg::dbg("skipping frame from device %d stream %d because device %d stream %d is ahead", o0, s0, o1, s1); ++ _media_objects[o0].start_video_frame_read(s0, 1); ++ f0 = _media_objects[o0].finish_video_frame_read(s0); ++ } ++ while (f0.is_valid() && f1.is_valid() ++ && f0.presentation_time > f1.presentation_time + video_frame_duration() / 2) ++ { ++ msg::dbg("skipping frame from device %d stream %d because device %d stream %d is ahead", o1, s1, o0, s0); ++ _media_objects[o1].start_video_frame_read(s1, 1); ++ f1 = _media_objects[o1].finish_video_frame_read(s1); ++ } ++ } + if (f0.is_valid() && f1.is_valid()) + { + frame = _video_frame; +@@ -655,6 +676,7 @@ video_frame media_input::finish_video_frame_read() + } + } + _have_active_video_read = false; ++ _finished_first_frame_read = true; + return frame; + } + +diff --git a/src/media_input.h b/src/media_input.h +index 8ff3778..880bfe1 100644 +--- a/src/media_input.h ++++ b/src/media_input.h +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012 ++ * Copyright (C) 2010, 2011, 2012, 2018 + * Martin Lambers + * Joe + * +@@ -53,6 +53,8 @@ private: + int64_t _initial_skip; // Initial portion of input to skip, in microseconds. + int64_t _duration; // Total combined duration of input. + ++ bool _finished_first_frame_read; // Whether we have finished the first frame read from this input. ++ + video_frame _video_frame; // Video frame template for currently active video stream. + audio_blob _audio_blob; // Audio blob template for currently active audio stream. + subtitle_box _subtitle_box; // Subtitle box template for currently active subtitle stream. +diff --git a/src/video_output.cpp b/src/video_output.cpp +index 10a5a25..b53d847 100644 +--- a/src/video_output.cpp ++++ b/src/video_output.cpp +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012, 2013, 2015 ++ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 + * Martin Lambers + * Frédéric Devernay + * Joe +@@ -1282,6 +1282,10 @@ void video_output::display_current_frame( + glUniform1f(glGetUniformLocation(_render_prg, "parallax"), + _render_params.parallax() * 0.05f + * (_render_params.stereo_mode_swap() ? -1 : +1)); ++ glUniform1f(glGetUniformLocation(_render_prg, "vertical_shift_left"), ++ _render_params.vertical_pixel_shift_left() / frame.height); ++ glUniform1f(glGetUniformLocation(_render_prg, "vertical_shift_right"), ++ _render_params.vertical_pixel_shift_right() / frame.height); + if (render_needs_subtitle(_render_params)) { + glActiveTexture(GL_TEXTURE2); + glBindTexture(GL_TEXTURE_2D, (_subtitle[_active_index].is_valid() +diff --git a/src/video_output_qt.cpp b/src/video_output_qt.cpp +index e9350d5..b8fb604 100644 +--- a/src/video_output_qt.cpp ++++ b/src/video_output_qt.cpp +@@ -1121,6 +1121,8 @@ void video_output_qt::receive_notification(const notification& note) + #endif // HAVE_LIBXNVCTRL + || note.type == notification::crop_aspect_ratio + || note.type == notification::parallax ++ || note.type == notification::vertical_pixel_shift_left ++ || note.type == notification::vertical_pixel_shift_right + || note.type == notification::ghostbust)) { + _widget->redisplay(); + } +diff --git a/src/video_output_render.fs.glsl b/src/video_output_render.fs.glsl +index 39f3498..e853f57 100644 +--- a/src/video_output_render.fs.glsl ++++ b/src/video_output_render.fs.glsl +@@ -1,7 +1,7 @@ + /* + * This file is part of bino, a 3D video player. + * +- * Copyright (C) 2010, 2011, 2012 ++ * Copyright (C) 2010, 2011, 2012, 2018 + * Martin Lambers + * Frédéric Devernay + * +@@ -59,6 +59,8 @@ + uniform sampler2D rgb_l; + uniform sampler2D rgb_r; + uniform float parallax; ++uniform float vertical_shift_left; ++uniform float vertical_shift_right; + + #if defined(subtitle_enabled) + uniform sampler2D subtitle; +@@ -145,11 +147,11 @@ vec3 adjust_color(vec3 rgb) + + vec3 tex_l(vec2 texcoord) + { +- return adjust_color(texture2D(rgb_l, texcoord + vec2(parallax, 0.0)).rgb); ++ return adjust_color(texture2D(rgb_l, texcoord + vec2(parallax, vertical_shift_left)).rgb); + } + vec3 tex_r(vec2 texcoord) + { +- return adjust_color(texture2D(rgb_r, texcoord - vec2(parallax, 0.0)).rgb); ++ return adjust_color(texture2D(rgb_r, texcoord + vec2(-parallax, vertical_shift_right)).rgb); + } + + #if defined(subtitle_enabled) diff --git a/PKGBUILD b/PKGBUILD index d60bdf9..82192c7 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,36 +1,33 @@ -# Maintainer: Manuel Hüsers +# Maintainer: Manuel Hüsers # Contributor: Jose Riha # Contributor: archtux pkgname=bino pkgver=1.6.7 -pkgrel=1 +pkgrel=2 pkgdesc='3D video player with multi-display support' arch=('i686' 'x86_64') url='https://bino3d.org/' license=('GPL3') depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') -source=(https://bino3d.org/releases/bino-1.6.7.tar.xz{,.sig}) -sha512sums=('ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8' +source=(00700a3.patch https://bino3d.org/releases/bino-1.6.7.tar.xz{,.sig}) +sha512sums=('2923f3818cbbf979e5ba77d731a5d05525472a8ac7419a716bf2b298af6c8fe21f87fb63653460c729169ec76497a9a300d646cd308fd905e730d4fc65140ac8' + 'ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8' 'SKIP') validpgpkeys=('2F61B4828BBA779AECB3F32703A2A4AB1E32FD34') prepare() { cd "${srcdir}/${pkgname}-${pkgver}" - sed -i 's/CXXFLAGS -fPIE/& -fPIC/' configure + patch -p1 -i ../00700a3.patch } build() { cd "${srcdir}/${pkgname}-${pkgver}" - # libglewmx* env variables are to fix compilation issue - # when both glew and glew1.6 are installed - # details at https://gitlab.marlam.de/marlam/bino/issues/1 - libglewmx_CFLAGS="$(pkg-config --cflags glew)" libglewmx_LIBS="$(pkg-config --libs glew)" ./configure \ - --prefix=/usr \ - --with-qt-version=5 \ - #--with-xnvctrl # Enable NVIDIA Quadro SDI output - sed -i '/am__append_.* = -DGLEW_MX/d' src/Makefile + ./configure \ + --prefix=/usr \ + --with-qt-version=5 \ + #--with-xnvctrl # Enable NVIDIA Quadro SDI output make } From c942c5b8a82420c8138a10dcbc86840f8eed8436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Fri, 24 Dec 2021 11:45:22 +0100 Subject: [PATCH 08/11] Version 1.6.8 --- .SRCINFO | 13 +- 00700a3.patch | 424 -------------------------------------------------- PKGBUILD | 16 +- 3 files changed, 10 insertions(+), 443 deletions(-) delete mode 100644 00700a3.patch diff --git a/.SRCINFO b/.SRCINFO index 19c979e..ae1fab8 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,9 +1,8 @@ pkgbase = bino pkgdesc = 3D video player with multi-display support - pkgver = 1.6.7 - pkgrel = 2 + pkgver = 1.6.8 + pkgrel = 1 url = https://bino3d.org/ - arch = i686 arch = x86_64 license = GPL3 depends = ffmpeg @@ -13,12 +12,10 @@ pkgbase = bino depends = libass depends = qt5-base optdepends = lirc: infrared remote control - source = 00700a3.patch - source = https://bino3d.org/releases/bino-1.6.7.tar.xz - source = https://bino3d.org/releases/bino-1.6.7.tar.xz.sig + source = https://bino3d.org/releases/bino-1.6.8.tar.xz + source = https://bino3d.org/releases/bino-1.6.8.tar.xz.sig validpgpkeys = 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 - sha512sums = 2923f3818cbbf979e5ba77d731a5d05525472a8ac7419a716bf2b298af6c8fe21f87fb63653460c729169ec76497a9a300d646cd308fd905e730d4fc65140ac8 - sha512sums = ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8 + sha512sums = d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc sha512sums = SKIP pkgname = bino diff --git a/00700a3.patch b/00700a3.patch deleted file mode 100644 index 6e00284..0000000 --- a/00700a3.patch +++ /dev/null @@ -1,424 +0,0 @@ -diff --git a/README.md b/README.md -index 85b61f0..32dea56 100644 ---- a/README.md -+++ b/README.md -@@ -1,6 +1,7 @@ - # Bino: A 3D video player with multi-display support - - Bino is a video player with two main features: -+ - - Support for 3D videos, with a wide variety of input and output formats. - - Support for distributed multi-display video, e.g. for powerwalls, Virtual - Reality installations and other multi-projector setups. -diff --git a/pkg/w32/notes.txt b/pkg/w32/notes.txt -index f84be15..e3e1c20 100644 ---- a/pkg/w32/notes.txt -+++ b/pkg/w32/notes.txt -@@ -17,4 +17,4 @@ The source code for Bino is available here: - https://bino3d.org/download.html - - Instructions to build this package from source can be found here: --https://gitlab.marlam.de/marlam/bino/raw/master/README.Windows -+https://git.marlam.de/gitweb/?p=bino.git;a=blob_plain;f=README.Windows;hb=HEAD -diff --git a/src/base/dbg.cpp b/src/base/dbg.cpp -index 6c6234f..044be67 100644 ---- a/src/base/dbg.cpp -+++ b/src/base/dbg.cpp -@@ -74,8 +74,10 @@ namespace dbg - (void)sigaction(SIGFPE, &signal_handler, NULL); - (void)sigaction(SIGSEGV, &signal_handler, NULL); - #endif -+#if __cplusplus < 201700 - std::set_unexpected(exception_crash); - std::set_terminate(exception_crash); -+#endif - std::set_new_handler(oom_abort); - } - -diff --git a/src/dispatch.cpp b/src/dispatch.cpp -index d6f9327..703d865 100644 ---- a/src/dispatch.cpp -+++ b/src/dispatch.cpp -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012, 2013, 2015 -+ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 - * Martin Lambers - * Binocle (author: Olivier Letz ) - * Frédéric Bour -@@ -504,6 +504,12 @@ void dispatch::receive_cmd(const command& cmd) - if (_input_data.params.subtitle_parallax_is_set()) - _parameters.set_subtitle_parallax(_input_data.params.subtitle_parallax()); - notify_all(notification::subtitle_parallax); -+ if (_input_data.params.vertical_pixel_shift_left_is_set()) -+ _parameters.set_vertical_pixel_shift_left(_input_data.params.vertical_pixel_shift_left()); -+ notify_all(notification::vertical_pixel_shift_left); -+ if (_input_data.params.vertical_pixel_shift_right_is_set()) -+ _parameters.set_vertical_pixel_shift_right(_input_data.params.vertical_pixel_shift_right()); -+ notify_all(notification::vertical_pixel_shift_right); - if (!_parameters.stereo_mode_is_set()) { - if (_media_input->video_frame_template().stereo_layout == parameters::layout_mono) - _parameters.set_stereo_mode(parameters::mode_mono_left); -@@ -833,6 +839,14 @@ void dispatch::receive_cmd(const command& cmd) - _parameters.set_subtitle_parallax(clamp(s11n::load(p), -1.0f, +1.0f)); - notify_all(notification::subtitle_parallax); - break; -+ case command::set_vertical_pixel_shift_left: -+ _parameters.set_vertical_pixel_shift_left(s11n::load(p)); -+ notify_all(notification::vertical_pixel_shift_left); -+ break; -+ case command::set_vertical_pixel_shift_right: -+ _parameters.set_vertical_pixel_shift_right(s11n::load(p)); -+ notify_all(notification::vertical_pixel_shift_right); -+ break; - // Volatile parameters - case command::toggle_fullscreen: - { -@@ -1217,6 +1231,12 @@ bool dispatch::parse_command(const std::string& s, command* c) - } else if (tokens.size() == 2 && tokens[0] == "adjust-subtitle-parallax" - && str::to(tokens[1], &p.f)) { - *c = command(command::adjust_subtitle_parallax, p.f); -+ } else if (tokens.size() == 2 && tokens[0] == "set-vertical-pixel-shift-left" -+ && str::to(tokens[1], &p.f)) { -+ *c = command(command::set_vertical_pixel_shift_left, p.f); -+ } else if (tokens.size() == 2 && tokens[0] == "set-vertical-pixel-shift-right" -+ && str::to(tokens[1], &p.f)) { -+ *c = command(command::set_vertical_pixel_shift_right, p.f); - } else if (tokens.size() == 1 && tokens[0] == "toggle-fullscreen") { - *c = command(command::toggle_fullscreen); - } else if (tokens.size() == 1 && tokens[0] == "center") { -diff --git a/src/dispatch.h b/src/dispatch.h -index 2133f8d..23f8030 100644 ---- a/src/dispatch.h -+++ b/src/dispatch.h -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012, 2013, 2015 -+ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 - * Martin Lambers - * Joe - * Binocle (author: Olivier Letz ) -@@ -143,6 +143,8 @@ public: - adjust_ghostbust, // float (relative adjustment) - set_subtitle_parallax, // float (absolute value) - adjust_subtitle_parallax, // float (relative adjustment) -+ set_vertical_pixel_shift_left, // float -+ set_vertical_pixel_shift_right, // float - // Volatile parameters - toggle_fullscreen, // no parameters - center, // no parameters -@@ -260,6 +262,8 @@ public: - parallax, - ghostbust, - subtitle_parallax, -+ vertical_pixel_shift_left, -+ vertical_pixel_shift_right, - // Volatile parameters - fullscreen, - center, -diff --git a/src/main.cpp b/src/main.cpp -index 474cdd0..aa232c7 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -337,6 +337,10 @@ int main(int argc, char *argv[]) - options.push_back(&subtitle_shadow); - opt::val subtitle_parallax("subtitle-parallax", '\0', opt::optional, -1.0f, +1.0f); - options.push_back(&subtitle_parallax); -+ opt::val vertical_pixel_shift_left("vertical-pixel-shift-left", '\0', opt::optional, -99999.9f, +99999.9f, 0.0f); -+ options.push_back(&vertical_pixel_shift_left); -+ opt::val vertical_pixel_shift_right("vertical-pixel-shift-right", '\0', opt::optional, -99999.9f, +99999.9f, 0.0f); -+ options.push_back(&vertical_pixel_shift_right); - opt::val parallax("parallax", 'P', opt::optional, -1.0f, +1.0f); - options.push_back(¶llax); - opt::tuple crosstalk("crosstalk", '\0', opt::optional, 0.0f, 1.0f, std::vector(), 3); -@@ -767,6 +771,10 @@ int main(int argc, char *argv[]) - input_data.params.set_ghostbust(ghostbust.value()); - if (subtitle_parallax.is_set()) - input_data.params.set_subtitle_parallax(subtitle_parallax.value()); -+ if (vertical_pixel_shift_left.is_set()) -+ input_data.params.set_vertical_pixel_shift_left(vertical_pixel_shift_left.value()); -+ if (vertical_pixel_shift_right.is_set()) -+ input_data.params.set_vertical_pixel_shift_right(vertical_pixel_shift_right.value()); - - int retval = 0; - std::vector command_files; -diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp -index 988417a..1563eef 100644 ---- a/src/mainwindow.cpp -+++ b/src/mainwindow.cpp -@@ -666,6 +666,10 @@ void main_window::open(QStringList filenames, - input_data.params.set_source_aspect_ratio(initial_params.source_aspect_ratio()); - if (initial_params.parallax_is_set()) - input_data.params.set_parallax(initial_params.parallax()); -+ if (initial_params.vertical_pixel_shift_left_is_set()) -+ input_data.params.set_vertical_pixel_shift_left(initial_params.vertical_pixel_shift_left()); -+ if (initial_params.vertical_pixel_shift_right_is_set()) -+ input_data.params.set_vertical_pixel_shift_right(initial_params.vertical_pixel_shift_right()); - if (initial_params.ghostbust_is_set()) - input_data.params.set_ghostbust(initial_params.ghostbust()); - if (initial_params.subtitle_parallax_is_set()) -diff --git a/src/media_data.cpp b/src/media_data.cpp -index b4acfb0..93b032d 100644 ---- a/src/media_data.cpp -+++ b/src/media_data.cpp -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012, 2013, 2015 -+ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 - * Martin Lambers - * Joe - * D. Matz -@@ -125,6 +125,8 @@ parameters::parameters() - unset_parallax(); - unset_ghostbust(); - unset_subtitle_parallax(); -+ unset_vertical_pixel_shift_left(); -+ unset_vertical_pixel_shift_right(); - // Volatile parameters - unset_fullscreen(); - unset_center(); -@@ -180,6 +182,8 @@ const float parameters::_source_aspect_ratio_default = 0.0f; - const float parameters::_parallax_default = 0.0f; - const float parameters::_ghostbust_default = 0.0f; - const float parameters::_subtitle_parallax_default = 0.0f; -+const float parameters::_vertical_pixel_shift_left_default = 0.0f; -+const float parameters::_vertical_pixel_shift_right_default = 0.0f; - // Volatile parameter defaults - const bool parameters::_fullscreen_default = false; - const bool parameters::_center_default = false; -@@ -575,6 +579,10 @@ void parameters::save(std::ostream &os) const - s11n::save(os, _ghostbust_set); - s11n::save(os, _subtitle_parallax); - s11n::save(os, _subtitle_parallax_set); -+ s11n::save(os, _vertical_pixel_shift_left); -+ s11n::save(os, _vertical_pixel_shift_left_set); -+ s11n::save(os, _vertical_pixel_shift_right); -+ s11n::save(os, _vertical_pixel_shift_right_set); - // Volatile parameters - s11n::save(os, _fullscreen); - s11n::save(os, _fullscreen_set); -@@ -680,6 +688,10 @@ void parameters::load(std::istream &is) - s11n::load(is, _ghostbust_set); - s11n::load(is, _subtitle_parallax); - s11n::load(is, _subtitle_parallax_set); -+ s11n::load(is, _vertical_pixel_shift_left); -+ s11n::load(is, _vertical_pixel_shift_left_set); -+ s11n::load(is, _vertical_pixel_shift_right); -+ s11n::load(is, _vertical_pixel_shift_right_set); - // Volatile parameters - s11n::load(is, _fullscreen); - s11n::load(is, _fullscreen_set); -@@ -879,6 +891,8 @@ void parameters::unset_video_parameters() - unset_parallax(); - unset_ghostbust(); - unset_subtitle_parallax(); -+ unset_vertical_pixel_shift_left(); -+ unset_vertical_pixel_shift_right(); - } - - std::string parameters::save_video_parameters() const -@@ -902,6 +916,10 @@ std::string parameters::save_video_parameters() const - s11n::save(oss, "ghostbust", _ghostbust); - if (!subtitle_parallax_is_default()) - s11n::save(oss, "subtitle_parallax", _subtitle_parallax); -+ if (!vertical_pixel_shift_left_is_default()) -+ s11n::save(oss, "vertical_pixel_shift_left", _vertical_pixel_shift_left); -+ if (!vertical_pixel_shift_right_is_default()) -+ s11n::save(oss, "vertical_pixel_shift_right", _vertical_pixel_shift_right); - return oss.str(); - } - -@@ -941,6 +959,12 @@ void parameters::load_video_parameters(const std::string &s) - } else if (name == "subtitle_parallax") { - s11n::load(value, _subtitle_parallax); - _subtitle_parallax_set = true; -+ } else if (name == "vertical_pixel_shift_left") { -+ s11n::load(value, _vertical_pixel_shift_left); -+ _vertical_pixel_shift_left_set = true; -+ } else if (name == "vertical_pixel_shift_right") { -+ s11n::load(value, _vertical_pixel_shift_right); -+ _vertical_pixel_shift_right_set = true; - } - } - } -diff --git a/src/media_data.h b/src/media_data.h -index 30c7bec..1214f91 100644 ---- a/src/media_data.h -+++ b/src/media_data.h -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012, 2013, 2015 -+ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 - * Martin Lambers - * Joe - * D. Matz -@@ -205,6 +205,8 @@ public: - PARAMETER(float, parallax) // Parallax adjustment, -1 .. +1 - PARAMETER(float, ghostbust) // Amount of crosstalk ghostbusting, 0 .. 1 - PARAMETER(float, subtitle_parallax) // Subtitle parallax adjustment, -1 .. +1 -+ PARAMETER(float, vertical_pixel_shift_left) // Vertical shift in pixels for left view -+ PARAMETER(float, vertical_pixel_shift_right) // Vertical shift in pixels for right view - // Volatile parameters - PARAMETER(bool, fullscreen) // Fullscreen mode - PARAMETER(bool, center) // Should the video be centered? -diff --git a/src/media_input.cpp b/src/media_input.cpp -index c1b8fcb..493708c 100644 ---- a/src/media_input.cpp -+++ b/src/media_input.cpp -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012, 2015 -+ * Copyright (C) 2010, 2011, 2012, 2015, 2018 - * Martin Lambers - * Frédéric Devernay - * Joe -@@ -38,7 +38,8 @@ - media_input::media_input() : - _active_video_stream(-1), _active_audio_stream(-1), _active_subtitle_stream(-1), - _have_active_video_read(false), _have_active_audio_read(false), _have_active_subtitle_read(false), -- _last_audio_data_size(0), _initial_skip(0), _duration(-1) -+ _last_audio_data_size(0), _initial_skip(0), _duration(-1), -+ _finished_first_frame_read(false) - { - } - -@@ -622,6 +623,26 @@ video_frame media_input::finish_video_frame_read() - get_video_stream(1, o1, s1); - video_frame f0 = _media_objects[o0].finish_video_frame_read(s0); - video_frame f1 = _media_objects[o1].finish_video_frame_read(s1); -+ if (!_finished_first_frame_read && is_device()) -+ { -+ /* Try to keep both device streams in sync. This should only be -+ * relevant at the beginning of playback, i.e. the first frame read, -+ * when one device starts grabbing frames before the other does. */ -+ while (f0.is_valid() && f1.is_valid() -+ && f1.presentation_time > f0.presentation_time + video_frame_duration() / 2) -+ { -+ msg::dbg("skipping frame from device %d stream %d because device %d stream %d is ahead", o0, s0, o1, s1); -+ _media_objects[o0].start_video_frame_read(s0, 1); -+ f0 = _media_objects[o0].finish_video_frame_read(s0); -+ } -+ while (f0.is_valid() && f1.is_valid() -+ && f0.presentation_time > f1.presentation_time + video_frame_duration() / 2) -+ { -+ msg::dbg("skipping frame from device %d stream %d because device %d stream %d is ahead", o1, s1, o0, s0); -+ _media_objects[o1].start_video_frame_read(s1, 1); -+ f1 = _media_objects[o1].finish_video_frame_read(s1); -+ } -+ } - if (f0.is_valid() && f1.is_valid()) - { - frame = _video_frame; -@@ -655,6 +676,7 @@ video_frame media_input::finish_video_frame_read() - } - } - _have_active_video_read = false; -+ _finished_first_frame_read = true; - return frame; - } - -diff --git a/src/media_input.h b/src/media_input.h -index 8ff3778..880bfe1 100644 ---- a/src/media_input.h -+++ b/src/media_input.h -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012 -+ * Copyright (C) 2010, 2011, 2012, 2018 - * Martin Lambers - * Joe - * -@@ -53,6 +53,8 @@ private: - int64_t _initial_skip; // Initial portion of input to skip, in microseconds. - int64_t _duration; // Total combined duration of input. - -+ bool _finished_first_frame_read; // Whether we have finished the first frame read from this input. -+ - video_frame _video_frame; // Video frame template for currently active video stream. - audio_blob _audio_blob; // Audio blob template for currently active audio stream. - subtitle_box _subtitle_box; // Subtitle box template for currently active subtitle stream. -diff --git a/src/video_output.cpp b/src/video_output.cpp -index 10a5a25..b53d847 100644 ---- a/src/video_output.cpp -+++ b/src/video_output.cpp -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012, 2013, 2015 -+ * Copyright (C) 2010, 2011, 2012, 2013, 2015, 2018 - * Martin Lambers - * Frédéric Devernay - * Joe -@@ -1282,6 +1282,10 @@ void video_output::display_current_frame( - glUniform1f(glGetUniformLocation(_render_prg, "parallax"), - _render_params.parallax() * 0.05f - * (_render_params.stereo_mode_swap() ? -1 : +1)); -+ glUniform1f(glGetUniformLocation(_render_prg, "vertical_shift_left"), -+ _render_params.vertical_pixel_shift_left() / frame.height); -+ glUniform1f(glGetUniformLocation(_render_prg, "vertical_shift_right"), -+ _render_params.vertical_pixel_shift_right() / frame.height); - if (render_needs_subtitle(_render_params)) { - glActiveTexture(GL_TEXTURE2); - glBindTexture(GL_TEXTURE_2D, (_subtitle[_active_index].is_valid() -diff --git a/src/video_output_qt.cpp b/src/video_output_qt.cpp -index e9350d5..b8fb604 100644 ---- a/src/video_output_qt.cpp -+++ b/src/video_output_qt.cpp -@@ -1121,6 +1121,8 @@ void video_output_qt::receive_notification(const notification& note) - #endif // HAVE_LIBXNVCTRL - || note.type == notification::crop_aspect_ratio - || note.type == notification::parallax -+ || note.type == notification::vertical_pixel_shift_left -+ || note.type == notification::vertical_pixel_shift_right - || note.type == notification::ghostbust)) { - _widget->redisplay(); - } -diff --git a/src/video_output_render.fs.glsl b/src/video_output_render.fs.glsl -index 39f3498..e853f57 100644 ---- a/src/video_output_render.fs.glsl -+++ b/src/video_output_render.fs.glsl -@@ -1,7 +1,7 @@ - /* - * This file is part of bino, a 3D video player. - * -- * Copyright (C) 2010, 2011, 2012 -+ * Copyright (C) 2010, 2011, 2012, 2018 - * Martin Lambers - * Frédéric Devernay - * -@@ -59,6 +59,8 @@ - uniform sampler2D rgb_l; - uniform sampler2D rgb_r; - uniform float parallax; -+uniform float vertical_shift_left; -+uniform float vertical_shift_right; - - #if defined(subtitle_enabled) - uniform sampler2D subtitle; -@@ -145,11 +147,11 @@ vec3 adjust_color(vec3 rgb) - - vec3 tex_l(vec2 texcoord) - { -- return adjust_color(texture2D(rgb_l, texcoord + vec2(parallax, 0.0)).rgb); -+ return adjust_color(texture2D(rgb_l, texcoord + vec2(parallax, vertical_shift_left)).rgb); - } - vec3 tex_r(vec2 texcoord) - { -- return adjust_color(texture2D(rgb_r, texcoord - vec2(parallax, 0.0)).rgb); -+ return adjust_color(texture2D(rgb_r, texcoord + vec2(-parallax, vertical_shift_right)).rgb); - } - - #if defined(subtitle_enabled) diff --git a/PKGBUILD b/PKGBUILD index 82192c7..3a6326c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,25 +3,19 @@ # Contributor: archtux pkgname=bino -pkgver=1.6.7 -pkgrel=2 +pkgver=1.6.8 +pkgrel=1 pkgdesc='3D video player with multi-display support' -arch=('i686' 'x86_64') +arch=('x86_64') url='https://bino3d.org/' license=('GPL3') depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') -source=(00700a3.patch https://bino3d.org/releases/bino-1.6.7.tar.xz{,.sig}) -sha512sums=('2923f3818cbbf979e5ba77d731a5d05525472a8ac7419a716bf2b298af6c8fe21f87fb63653460c729169ec76497a9a300d646cd308fd905e730d4fc65140ac8' - 'ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8' +source=(https://bino3d.org/releases/bino-${pkgver}.tar.xz{,.sig}) +sha512sums=('d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc' 'SKIP') validpgpkeys=('2F61B4828BBA779AECB3F32703A2A4AB1E32FD34') -prepare() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -p1 -i ../00700a3.patch -} - build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure \ From 77f2b6a0c3e6b195293b1ef30dd920a84b43ac4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Tue, 14 Jun 2022 00:35:20 +0200 Subject: [PATCH 09/11] Patch ffmpeg 5.0 compatibility Contributed by AUR user @gruenfron --- .SRCINFO | 4 +++- PKGBUILD | 14 +++++++++++--- ffmpeg4.4.patch | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 ffmpeg4.4.patch diff --git a/.SRCINFO b/.SRCINFO index ae1fab8..f092bbc 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = bino pkgdesc = 3D video player with multi-display support pkgver = 1.6.8 - pkgrel = 1 + pkgrel = 2 url = https://bino3d.org/ arch = x86_64 license = GPL3 @@ -14,8 +14,10 @@ pkgbase = bino optdepends = lirc: infrared remote control source = https://bino3d.org/releases/bino-1.6.8.tar.xz source = https://bino3d.org/releases/bino-1.6.8.tar.xz.sig + source = ffmpeg4.4.patch validpgpkeys = 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 sha512sums = d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc sha512sums = SKIP + sha512sums = d4768179c13079fb93a5e8c36a4228245ff04e1049a8186f942fe2d3e20a8d34b9064d140a1aaf4c5499405bb34e8924b3fffd0fabf2e1652b5a1c3cbb1d343a pkgname = bino diff --git a/PKGBUILD b/PKGBUILD index 3a6326c..101d5f4 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,21 +1,29 @@ # Maintainer: Manuel Hüsers +# Contributor: gruenfron # Contributor: Jose Riha # Contributor: archtux pkgname=bino pkgver=1.6.8 -pkgrel=1 +pkgrel=2 pkgdesc='3D video player with multi-display support' arch=('x86_64') url='https://bino3d.org/' license=('GPL3') depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') -source=(https://bino3d.org/releases/bino-${pkgver}.tar.xz{,.sig}) +source=(https://bino3d.org/releases/bino-${pkgver}.tar.xz{,.sig} + ffmpeg4.4.patch) sha512sums=('d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc' - 'SKIP') + 'SKIP' + 'd4768179c13079fb93a5e8c36a4228245ff04e1049a8186f942fe2d3e20a8d34b9064d140a1aaf4c5499405bb34e8924b3fffd0fabf2e1652b5a1c3cbb1d343a') validpgpkeys=('2F61B4828BBA779AECB3F32703A2A4AB1E32FD34') +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i '../ffmpeg4.4.patch' +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure \ diff --git a/ffmpeg4.4.patch b/ffmpeg4.4.patch new file mode 100644 index 0000000..a9ac88d --- /dev/null +++ b/ffmpeg4.4.patch @@ -0,0 +1,48 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -143,25 +143,6 @@ if test -z "$PKG_CONFIG"; then + AC_MSG_WARN([please install pkg-config; Debian package: pkg-config]) + fi + +-dnl FFmpeg +-PKG_CHECK_MODULES([libavformat], [libavformat >= 52.110.0 libavcodec libavutil], [HAVE_LIBAVFORMAT=1], [HAVE_LIBAVFORMAT=0]) +-if test "$HAVE_LIBAVFORMAT" != "1"; then +- AC_MSG_WARN([required library libavformat >= 52.110.0 not found:]) +- AC_MSG_WARN([$libavformat_PKG_ERRORS]) +- AC_MSG_WARN([libavformat >= 52.110.0 is provided by libav >= 0.7 or FFmpeg >= 0.7]) +-fi +-PKG_CHECK_MODULES([libavdevice], [libavdevice >= 52.5.0], [HAVE_LIBAVDEVICE=1], [HAVE_LIBAVDEVICE=0]) +-if test "$HAVE_LIBAVDEVICE" != "1"; then +- AC_MSG_WARN([required library libavdevice >= 52.5.0 not found:]) +- AC_MSG_WARN([$libavdevice_PKG_ERRORS]) +- AC_MSG_WARN([libavdevice >= 52.5.0 is provided by libav >= 0.7 or FFmpeg >= 0.7]) +-fi +-PKG_CHECK_MODULES([libswscale], [libswscale >= 0.14.1 libavutil], [HAVE_LIBSWSCALE=1], [HAVE_LIBSWSCALE=0]) +-if test "$HAVE_LIBSWSCALE" != "1"; then +- AC_MSG_WARN([required library libswscale >= 0.14.1 not found:]) +- AC_MSG_WARN([$libswscale_PKG_ERRORS]) +- AC_MSG_WARN([libswscale >= 0.14.1 is provided by libav >= 0.7 or FFmpeg >= 0.7]) +-fi + AC_CHECK_FUNCS([sysconf]) + + dnl libass +@@ -400,11 +381,16 @@ UPDATE_DESKTOP_DATABASE="" + AC_ARG_VAR([UPDATE_DESKTOP_DATABASE], [update-desktop-database command]) + AC_CHECK_PROGS([UPDATE_DESKTOP_DATABASE], [update-desktop-database]) + ++dnl ffmpeg4.4 libs ++LIBS+=" /usr/lib/libswscale.so.5" ++LIBS+=" /usr/lib/libavutil.so.56" ++LIBS+=" /usr/lib/libavformat.so.58" ++LIBS+=" /usr/lib/libavdevice.so.58" ++LIBS+=" /usr/lib/libavcodec.so.58" ++CPPFLAGS+=" -I/usr/include/ffmpeg4.4" ++ + dnl Check if all libraries were found + if test "$am_cv_func_iconv" != "yes" \ +- -o "$HAVE_LIBAVFORMAT" != "1" \ +- -o "$HAVE_LIBAVDEVICE" != "1" \ +- -o "$HAVE_LIBSWSCALE" != "1" \ + -o "$HAVE_LIBASS" != "1" \ + -o "$HAVE_LIBOPENAL" != "1" \ + -o "$HAVE_LIBQTOPENGL" != "1" \ From 9f35446458095a16f996b3e86e879109503d5ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Tue, 14 Jun 2022 17:06:02 +0200 Subject: [PATCH 10/11] Update patch for POSIX compliancy Replace ffmpeg with ffmpeg4.4 dependency that I forgot in the last commit Thanks goes to AUR user @patlefort --- .SRCINFO | 4 ++-- PKGBUILD | 4 ++-- ffmpeg4.4.patch | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index f092bbc..8f9ced0 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,11 +1,11 @@ pkgbase = bino pkgdesc = 3D video player with multi-display support pkgver = 1.6.8 - pkgrel = 2 + pkgrel = 3 url = https://bino3d.org/ arch = x86_64 license = GPL3 - depends = ffmpeg + depends = ffmpeg4.4 depends = freealut depends = freeglut depends = glewmx diff --git a/PKGBUILD b/PKGBUILD index 101d5f4..a3e330c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,12 +5,12 @@ pkgname=bino pkgver=1.6.8 -pkgrel=2 +pkgrel=3 pkgdesc='3D video player with multi-display support' arch=('x86_64') url='https://bino3d.org/' license=('GPL3') -depends=('ffmpeg' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') +depends=('ffmpeg4.4' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') source=(https://bino3d.org/releases/bino-${pkgver}.tar.xz{,.sig} ffmpeg4.4.patch) diff --git a/ffmpeg4.4.patch b/ffmpeg4.4.patch index a9ac88d..f809290 100644 --- a/ffmpeg4.4.patch +++ b/ffmpeg4.4.patch @@ -31,12 +31,12 @@ AC_CHECK_PROGS([UPDATE_DESKTOP_DATABASE], [update-desktop-database]) +dnl ffmpeg4.4 libs -+LIBS+=" /usr/lib/libswscale.so.5" -+LIBS+=" /usr/lib/libavutil.so.56" -+LIBS+=" /usr/lib/libavformat.so.58" -+LIBS+=" /usr/lib/libavdevice.so.58" -+LIBS+=" /usr/lib/libavcodec.so.58" -+CPPFLAGS+=" -I/usr/include/ffmpeg4.4" ++LIBS="$LIBS /usr/lib/libswscale.so.5" ++LIBS="$LIBS /usr/lib/libavutil.so.56" ++LIBS="$LIBS /usr/lib/libavformat.so.58" ++LIBS="$LIBS /usr/lib/libavdevice.so.58" ++LIBS="$LIBS /usr/lib/libavcodec.so.58" ++CPPFLAGS="$CPPFLAGS -I/usr/include/ffmpeg4.4" + dnl Check if all libraries were found if test "$am_cv_func_iconv" != "yes" \ From cb7fe24648232137bdb358cf58c9e154fca47a26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20H=C3=BCsers?= Date: Wed, 15 Jun 2022 00:37:21 +0200 Subject: [PATCH 11/11] Update ffmpeg4.4.patch checksum --- .SRCINFO | 4 ++-- PKGBUILD | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 8f9ced0..7f5c885 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = bino pkgdesc = 3D video player with multi-display support pkgver = 1.6.8 - pkgrel = 3 + pkgrel = 4 url = https://bino3d.org/ arch = x86_64 license = GPL3 @@ -18,6 +18,6 @@ pkgbase = bino validpgpkeys = 2F61B4828BBA779AECB3F32703A2A4AB1E32FD34 sha512sums = d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc sha512sums = SKIP - sha512sums = d4768179c13079fb93a5e8c36a4228245ff04e1049a8186f942fe2d3e20a8d34b9064d140a1aaf4c5499405bb34e8924b3fffd0fabf2e1652b5a1c3cbb1d343a + sha512sums = f7bf716a6ae12a4542ecaddeaee1078a6c26d9d765db7cc11a1d7b1ae19b295703f5b05e71564f1aad216485b904d81f2670c122e88ab79c7556f5614c0d1639 pkgname = bino diff --git a/PKGBUILD b/PKGBUILD index a3e330c..68f4b3c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,18 +5,18 @@ pkgname=bino pkgver=1.6.8 -pkgrel=3 +pkgrel=4 pkgdesc='3D video player with multi-display support' arch=('x86_64') url='https://bino3d.org/' license=('GPL3') depends=('ffmpeg4.4' 'freealut' 'freeglut' 'glewmx' 'libass' 'qt5-base') optdepends=('lirc: infrared remote control') -source=(https://bino3d.org/releases/bino-${pkgver}.tar.xz{,.sig} +source=(https://bino3d.org/releases/${pkgname}-${pkgver}.tar.xz{,.sig} ffmpeg4.4.patch) sha512sums=('d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc' 'SKIP' - 'd4768179c13079fb93a5e8c36a4228245ff04e1049a8186f942fe2d3e20a8d34b9064d140a1aaf4c5499405bb34e8924b3fffd0fabf2e1652b5a1c3cbb1d343a') + 'f7bf716a6ae12a4542ecaddeaee1078a6c26d9d765db7cc11a1d7b1ae19b295703f5b05e71564f1aad216485b904d81f2670c122e88ab79c7556f5614c0d1639') validpgpkeys=('2F61B4828BBA779AECB3F32703A2A4AB1E32FD34') prepare() {