diff --git a/libndi-bin/alr.sh b/libndi-bin/alr.sh deleted file mode 100644 index 598c0f3..0000000 --- a/libndi-bin/alr.sh +++ /dev/null @@ -1,30 +0,0 @@ -name='libndi-bin' -version='5.5.3' -release='2' -desc='ndi-sdk для obs-ndi' -homepage='https://github.com/Palakis/obs-ndi' -maintainer="Евгений Храмов " -architectures=('amd64') -license=('LGPL2.0') -provides=('libndi') -conflicts=('libndi-git' 'ndi-sdk') - -sources=("https://github.com/obs-ndi/obs-ndi/releases/download/4.11.1/libndi5-dev_${version}-1_amd64.deb" - "https://github.com/obs-ndi/obs-ndi/releases/download/4.11.1/libndi5_${version}-1_amd64.deb") -checksums=('SKIP' - 'SKIP') - -prepare() { - cd "${srcdir}" - mkdir a b - bsdtar -xf libndi5_5.5.3-1_amd64.deb -C a data.tar.zst - bsdtar -xf libndi5-dev_5.5.3-1_amd64.deb -C b data.tar.zst - tar -xf ./a/data.tar.zst -C "${pkgdir}" - tar -xf ./b/data.tar.zst -C "${pkgdir}" - ln -frs "${pkgdir}/usr/lib/libndi.so.${pkgver}" "${pkgdir}/usr/lib/libndi.so.${version%%.*}" - ln -frs "${pkgdir}/usr/lib/libndi.so.${pkgver}" "${pkgdir}/usr/lib/libndi.so" -} - -package() { - cd "${pkgdir}" -} diff --git a/ndi-sdk/alr.sh b/ndi-sdk/alr.sh new file mode 100644 index 0000000..aa9690a --- /dev/null +++ b/ndi-sdk/alr.sh @@ -0,0 +1,55 @@ +name='ndi-sdk' +version='5.6.1.r138387.20240216' +_majver="${pkgver%%.*}" +release='1' +desc='NewTek NDI SDK' +homepage='https://ndi.tv/sdk/' +maintainer="Евгений Храмов " +architectures=('amd64') +license=('LicenseRef-custom') +provides=('libndi') +conflicts=('libndi') +deps=('avahi') +options=('!strip') + +_srcfile="Install_NDI_SDK_v${pkgver}_Linux.tar.gz" +sources=("$_srcfile"::"https://downloads.ndi.tv/SDK/NDI_SDK_Linux/Install_NDI_SDK_v${_majver}_Linux.tar.gz?~archive=false") +checksums=('SKIP') + +noextract=("$_srcfile") +sha256sums=('1cfcc32ee26bc2571c5cbf71e81dafc676e3887e5724a89ce508f49e3c5e0572') + +prepare() { + mkdir -p "${name}-${version}" + bsdtar -x -f "$_srcfile" -C "${name}-${version}" + + local _target_line + cd "${name}-${version}" + _target_line="$(sed -n '/^__NDI_ARCHIVE_BEGIN__$/=' "Install_NDI_SDK_v${_majver}_Linux.sh")" + _target_line="$((_target_line + 1))" + + tail -n +"$_target_line" "Install_NDI_SDK_v${_majver}_Linux.sh" | tar -zxvf - +} + +package() { + local _sdkdir="${srcdir}/${name}-${version}/NDI SDK for Linux" + + # binary executables + install -D -m755 "${_sdkdir}/bin/${CARCH}-linux-gnu/"* -t "${pkgdir}/usr/bin" + + # headers + cp -dr --no-preserve='ownership' "${_sdkdir}/include" "${pkgdir}/usr" + + # library + install -D -m755 "${_sdkdir}/lib/${CARCH}-linux-gnu/libndi.so.${_majver}".*.* -t "${pkgdir}/usr/lib" + cd "${pkgdir}/usr/lib" + ln -s "libndi.so.${_majver}".*.* "libndi.so.${_majver}" + ln -s "libndi.so.${_majver}" libndi.so + + # docs + install -D -m644 "${_sdkdir}/documentation/"*.pdf -t "${pkgdir}/usr/share/doc/${pkgname}" + + # license + install -D -m644 "${_sdkdir}/NDI SDK License Agreement.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -D -m644 "${_sdkdir}/licenses/libndi_licenses.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}" +} \ No newline at end of file diff --git a/obs-ndi-bin/alr.sh b/obs-ndi-bin/alr.sh index d09c1a7..543c854 100644 --- a/obs-ndi-bin/alr.sh +++ b/obs-ndi-bin/alr.sh @@ -8,7 +8,7 @@ architectures=('amd64') license=('GPL2') provides=('obs-ndi') conflicts=('obs-ndi-git') -deps=('obs-studio' 'avahi' 'libndi') +deps=('obs-studio' 'avahi' 'ndi-sdk') sources=("https://github.com/obs-ndi/obs-ndi/releases/download/4.11.1/obs-ndi-${version}-linux-x86_64.deb?~archive=false") checksums=('SKIP') @@ -16,7 +16,7 @@ checksums=('SKIP') prepare() { cd "${srcdir}" bsdtar -xf d87ddf09-14be-4284-89a1-4b4385e1ebbb - tar -xf data.tar.gz + tar -xf data.tar.gz } package() { diff --git a/obs-ndi/alr.sh b/obs-ndi/alr.sh deleted file mode 100755 index 9d75a24..0000000 --- a/obs-ndi/alr.sh +++ /dev/null @@ -1,32 +0,0 @@ -name='obs-ndi' -version='4.13.1' -release='1' -desc='Network A/V in OBS Studio with NewTeks NDI technology.' -homepage='https://github.com/obs-ndi/obs-ndi' -maintainer="Евгений Храмов " -architectures=('amd64') -license=('GPL-2.0 license') -provides=('obs-ndi') -conflicts=('obs-ndi-git' 'obs-ndi-bin') -deps=('avahi' 'libndi' 'obs-studio' 'sndio') -build_deps=('cmake' 'obs-studio-libs(x86-32)') - -sources=("https://github.com/Palakis/obs-ndi/archive/${version}.tar.gz") -checksums=('SKIP') - -build() { - cd ${srcdir}/obs-ndi-${version} - cmake -B build -DCMAKE_INSTALL_PREFIX=/usr - cmake --build build -} - -package() { - cd ${pkgname}-${pkgver} - - install -Dm755 build/obs-ndi.so ${pkgdir}/usr/lib/obs-plugins/obs-ndi.so - - install -d ${pkgdir}/usr/share/obs/obs-plugins/obs-ndi/locale - cp -a data/locale/* ${pkgdir}/usr/share/obs/obs-plugins/obs-ndi/locale - - install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE -} diff --git a/pyside6/alr.sh b/pyside6/alr.sh new file mode 100644 index 0000000..2c73303 --- /dev/null +++ b/pyside6/alr.sh @@ -0,0 +1,150 @@ +pkgbase=pyside6 +pkgname=(pyside6 + pyside6-tools + shiboken6) +_qtver=6.7.1 +_clangver=17.0.6 +pkgver=${_qtver/-/} +pkgrel=1 +arch=(x86_64) +url='https://www.qt.io' +license=(LGPL) +makedepends=(clang + cmake + git + llvm + ninja + python-numpy + python-setuptools + qt6-3d + qt6-charts + qt6-connectivity + qt6-datavis3d + qt6-graphs + qt6-httpserver + qt6-location + qt6-multimedia + qt6-networkauth + qt6-positioning + qt6-quick3d + qt6-remoteobjects + qt6-scxml + qt6-sensors + qt6-serialbus + qt6-serialport + qt6-shadertools + qt6-speech + qt6-svg + qt6-tools + qt6-webchannel + qt6-webengine + qt6-websockets) +source=(git+https://code.qt.io/pyside/pyside-setup#tag=v$pkgver + fix-build.patch + missing-include.patch) +sha256sums=('cd2e6bca68d14af05185f1413645b7069528d30acb58ff9d9deccf83bd1b8bdc' + '77b83cb164ea87d826259864f6a81fb33199510e1948d6daaf5c8d5ab55735a7' + 'd1a3fd4930c93ccfc02c051dd6f072f19658f223b28951a8d2a19a0b46018009') + +prepare() { + cd pyside-setup + git cherry-pick -n 556bc8d158b06546343ae2f51b05f555d47442c0 # Fix star imports (PYSIDE-2675) + patch -p1 < ../fix-build.patch + patch -p1 < ../missing-include.patch +} + +build() { + CLANG_INSTALL_DIR="/usr" \ + cmake -B build -S pyside-setup -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -DSHIBOKEN_PYTHON_LIBRARIES=`pkgconf python3-embed --libs` \ + -DBUILD_TESTS=OFF \ + -DFORCE_LIMITED_API=no \ + -DNO_QT_TOOLS=yes + PYTHONPATH="$PWD"/build/sources \ + cmake --build build +} + +package_shiboken6() { + pkgdesc='Generates bindings for C++ libraries using CPython source code' + depends=(clang=$_clangver + gcc-libs + glibc + libxml2 + libxslt + llvm + python + qt6-base) + optdepends=('python: Python bindings') + + DESTDIR="$pkgdir" cmake --install build/sources/shiboken6 + +# Install egg-info + export PATH="/usr/lib/qt6/bin:$PATH" + cd pyside-setup + python setup.py egg_info --build-type=shiboken6 + python setup.py egg_info --build-type=shiboken6-generator + _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"` + cp -r shiboken6*.egg-info "$pkgdir"/$_pythonpath +} + +package_pyside6() { + pkgdesc='Enables the use of Qt6 APIs in Python applications' + depends=(gcc-libs + glibc + python + qt6-base + qt6-declarative + shiboken6) + optdepends=('qt6-3d: Qt3D bindings' + 'qt6-charts: QtCharts bindings' + 'qt6-connectivity: QtBluetooth and QtNfc bindings' + 'qt6-datavis3d: QtDataVisualization bindings' + 'qt6-graphs: QtGraphs bindings' + 'qt6-httpserver: QtHttpServer bindings' + 'qt6-location: QtLocation bindings' + 'qt6-multimedia: QtMultimedia bindings' + 'qt6-networkauth: QtNetworkAuth bindings' + 'qt6-positioning: QtPositioning bindings' + 'qt6-quick3d: QtQuick3D bindings' + 'qt6-remoteobjects: QtRemoteObjects bindings' + 'qt6-scxml: QtScxml bindings' + 'qt6-sensors: QtSensors bindings' + 'qt6-serialbus: QtSerialBus bindings' + 'qt6-serialport: QtSerialPort bindings' + 'qt6-speech: QtTextToSpeech bindings' + 'qt6-svg: QtSvg bindings' + 'qt6-tools: QtHelp, QtUiTools bindings' + 'qt6-webchannel: QtWebChannel bindings' + 'qt6-webengine: QtWebEngine bindings' + 'qt6-websockets: QtWebSockets bindings') + provides=(qt6-python-bindings) + + DESTDIR="$pkgdir" cmake --install build/sources/pyside6 + +# Install egg-info + export PATH="/usr/lib/qt6/bin:$PATH" + cd pyside-setup + python setup.py egg_info --build-type=pyside6 + _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"` + cp -r PySide6.egg-info "$pkgdir"/$_pythonpath + +# Install pyi files + install -Dm644 "$srcdir"/build/sources/pyside6/PySide6/*.pyi -t "$pkgdir"/usr/lib/python*/site-packages/PySide6 +} + +package_pyside6-tools() { + pkgdesc='Tools for pyside6' + depends=(pyside6 + python) + optdepends=('nuitka: for deploy.py') + + DESTDIR="$pkgdir" cmake --install build/sources/pyside-tools + +# Add convenience pyside6-designer wrapper +# Entry points in /usr/bin are not installed in the cmake build. This is the only one that does anything besides wrapping the Qt executable + echo "export LD_PRELOAD="`python -c "from sysconfig import get_config_var; print(get_config_var('LDLIBRARY'))"` > pyside6-designer + echo "exec designer6 \$@" >> pyside6-designer + install -Dm755 pyside6-designer -t "$pkgdir"/usr/bin +}