obs-ndi, ndi-sdk

This commit is contained in:
Евгений Храмов 2024-06-12 14:56:22 +03:00
parent ae5771e95b
commit f378bf9106
3 changed files with 103 additions and 8 deletions

@ -9,19 +9,19 @@ license=('LGPL')
provides=('libndi')
conflicts=('libndi')
deps=('ffmpeg' 'libmicrodns')
build_deps=('git' 'meson')
deps=('libmicrodns')
build_deps=('cmake' 'git' 'meson' 'ffmpeg-devel' 'libmicrodns-devel')
sources=("git+https://code.videolan.org/jbk/libndi.git")
checksums=('SKIP')
version() {
cd "$srcdir"
cd "$srcdir/libndi"
git-version
}
build() {
arch-meson build libndi
meson build libndi
ninja -v -C build
}
@ -31,4 +31,8 @@ check() {
package() {
DESTDIR="$pkgdir" ninja -v -C build install
}
install -d $pkgdir/usr/local/lib/
ln -s $pkgdir/usr/local/lib64/libndi.so.0.0.1 $pkgdir/usr/local/lib/libndi.so.0.0.1
ln -s $pkgdir/usr/local/lib64/libndi.so.0.0.1 $pkgdir/usr/local/lib/libndi.so.0
ln -s $pkgdir/usr/local/lib64/libndi.so.0.0.1 $pkgdir/usr/local/lib/libndi.so
}

91
ndi-sdk-embedded/alr.sh Normal file

@ -0,0 +1,91 @@
name='ndi-sdk-embedded'
pkgver="4.5.3.20200630.r116025"
version="${pkgver%%.*}"
release='1'
desc='NewTek NDI Embedded SDK'
homepage='https://www.newtek.com/ndi/sdk/'
maintainer="Евгений Храмов <xpamych@yandex.ru>"
architectures=('arm' 'arm64' '386' 'amd64' )
license=('LGPL')
license=('custom')
provides=('libndi' 'libndi-bin' 'ndi-sdk')
conflicts=('libndi' 'libndi-bin' 'libndi-git' 'ndi-sdk')
deps=('avahi')
build_deps=('cmake' 'git' 'meson' 'ffmpeg-devel' 'libmicrodns-devel')
options=('!strip')
_srcfile="InstallNDISDK_v${pkgver}_Linux_Embedded.tar.gz"
sources=("http://514f211588de67e4fdcf-437b8dd50f60b69cf0974b538e50585b.r63.cf1.rackcdn.com/Utilities/SDK/Embedded_SDK/InstallNDISDK_v${version}_Linux_Embedded.tar.gz?~archive=false")
checksums=('SKIP')
case "${CARCH}" in
armv6*)
newtek_triplet="arm-rpi1-linux-gnueabihf"
;;
armv7*)
newtek_triplet="arm-rpi2-linux-gnueabihf"
;;
arm*)
newtek_triplet="arm-newtek-linux-gnueabihf"
;;
aarch*)
newtek_triplet="aarch64-rpi4-linux-gnueabi"
;;
*)
newtek_triplet="${CARCH}-linux-gnu"
;;
esac
prepare() {
mkdir -p "${name}-${pkgver}"
bsdtar -x -f "$_srcfile" -C "${name}-${pkgver}"
local _target_line
cd "${name}-${pkgver}"
_target_line="$(sed -n '/^__NDI_ARCHIVE_BEGIN__$/=' "InstallNDISDK_v${version}_Linux_Embedded.sh")"
_target_line="$((_target_line + 1))"
tail -n +"$_target_line" "InstallNDISDK_v${version}_Linux_Embedded.sh" |
tar -zxv \
"NDI SDK for Linux/bin/${newtek_triplet}/" \
"NDI SDK for Linux/lib/${newtek_triplet}/" \
"NDI SDK for Linux/documentation" \
"NDI SDK for Linux/include" \
"NDI SDK for Linux/licenses/libndi_licenses.txt" \
"NDI SDK for Linux/NDI Embedded License Agreement.txt" \
"NDI SDK for Linux/Version.txt"
}
pkgver() {
local _sdkdir="${srcdir}/${pkgname}-${pkgver}/NDI SDK for Linux"
read _ date rel ver < "${_sdkdir}/Version.txt"
date="${date//-/}"
ver="${ver#v}"
printf '%s.%s.%s' "$ver" "$date" "$rel"
}
package() {
local _sdkdir="${srcdir}/${pkgname}-${pkgver}/NDI SDK for Linux"
# binary executables
install -D -m755 "${_sdkdir}/bin/${newtek_triplet}/"* -t "${pkgdir}/usr/bin"
# headers
install -D -m644 "${_sdkdir}/include/"* -t "${pkgdir}/usr/include"
# library
install -D -m755 "${_sdkdir}/lib/${newtek_triplet}/libndi.so.${version}".*.* -t "${pkgdir}/usr/lib"
cd "${pkgdir}/usr/lib"
ln -s "libndi.so.${version}".*.* "libndi.so.${version}"
ln -s "libndi.so.${version}".*.* libndi.so
# docs
install -D -m644 "${_sdkdir}/documentation/"* -t "${pkgdir}/usr/share/doc/${pkgname}"
# license
install -D -m644 "${_sdkdir}/NDI Embedded License Agreement.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -D -m644 "${_sdkdir}/licenses/libndi_licenses.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

@ -8,14 +8,14 @@ architectures=('amd64')
license=('GPL2')
provides=('obs-ndi')
conflicts=('obs-ndi-git')
deps=('obs-studio' 'avahi' 'libndi-git')
deps=('obs-studio' 'avahi' 'ndi-sdk-embedded')
sources=("https://github.com/obs-ndi/obs-ndi/releases/download/4.11.1/obs-ndi-${version}-linux-x86_64.deb?~archive=false")
sources=("https://github.com/obs-ndi/obs-ndi/releases/download/$version/obs-ndi-$version-x86_64-linux-gnu.deb")
checksums=('SKIP')
prepare() {
cd "${srcdir}"
bsdtar -xf d87ddf09-14be-4284-89a1-4b4385e1ebbb
bsdtar -xf obs-ndi-$version-x86_64-linux-gnu.deb
tar -xf data.tar.gz
}