# Maintainer: Alexandre Demers _pkgbasename=dav1d pkgname=("lib32-$_pkgbasename" "lib32-lib$_pkgbasename") pkgver=1.2.0 pkgrel=1 pkgdesc='AV1 cross-platform decoder focused on speed and correctness (32 bit)' url='https://code.videolan.org/videolan/dav1d/' arch=('x86_64') license=('BSD') makedepends=( 'meson' # 'meson-cross-x86-linux-gnu' 'ninja' 'nasm' 'doxygen' 'graphviz' 'xxhash' ) source=( https://downloads.videolan.org/pub/videolan/${_pkgbasename}/${pkgver}/${_pkgbasename}-${pkgver}.tar.xz{,.asc} "https://code.videolan.org/videolan/dav1d-test-data/-/archive/${pkgver}/dav1d-test-data-${pkgver}.tar.gz" ) sha512sums=( '1f1775bdcdbc38a0bb12d7f14f01ee321cc03f15d8b7c6fabe2ada3a3c46885b0eff5851ea912079a1519ef01278c3a192e3b0347b0ab9b25cafab4124f1ae6a' 'SKIP' 'f91d724989b2671911dae8f46a39c2b25b89356923b255bbd249f9a4529daaadc176098928d91e930989d647515f4f403dfe23bbfcd5adc1fa86b32d195bc0fa' ) b2sums=( 'f9c9ca8c48ba2cae8e2137bb46e9db9a2070b3fba35ca142fde836f20be8a0db11b3b0dc3f78d06780d5cf6d014b0a6b545368371f421864d3f30a35ca6fe5ef' 'SKIP' '89ba3eb72b566ee12cff65db12f76d8cd23debb883a3f25d054799c18752a9b679656818fcb7ab3b5405259afaec28d0b49b42ec732004e85d42cabaa07bd103' ) validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key prepare() { cd ${_pkgbasename}-${pkgver} ln -s "${srcdir}/dav1d-test-data-${pkgver}" tests/dav1d-test-data # Patching if needed } build() { export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" export CFLAGS+=" ${CPPFLAGS}" export CXXFLAGS+=" ${CPPFLAGS} -I/usr/include/glslang" cd ${_pkgbasename}-${pkgver} arch-meson build \ --prefix=/usr \ --libdir=lib32 \ -D enable_tests=false \ -D enable_docs=false # Options disabled # --cross-file x86-linux-gnu \ ## Meson doesn't use the system's LDFLAGS with cross-file yet... ninja -C build } check() { cd ${_pkgbasename}-${pkgver}/build # meson test } package_lib32-libdav1d(){ pkgdesc='AV1 cross-platform decoder focused on speed and correctness - library (32 bit)' depends=( "${_pkgbasename}>=${pkgver}" 'lib32-glibc' ) provides=('lib32-dav1d' 'libdav1d.so') cd ${_pkgbasename}-${pkgver} DESTDIR="${pkgdir}" ninja -C build install rm -r "$pkgdir"/usr/{include,bin} mkdir -p "${pkgdir}/usr/share/doc/${pkgname}/" mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}/" ln -s "/usr/share/doc/${_pkgbasename}/"README.md "${pkgdir}/usr/share/doc/${pkgname}/" ln -s "/usr/share/doc/${_pkgbasename}/"CONTRIBUTING.md "${pkgdir}/usr/share/doc/${pkgname}/" ln -s "/usr/share/doc/${_pkgbasename}/"NEWS "${pkgdir}/usr/share/doc/${pkgname}/" ln -s "/usr/share/licenses/${_pkgbasename}/"COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" } package_lib32-dav1d() { pkgdesc='AV1 cross-platform decoder focused on speed and correctness (32 bit)' depends=( 'lib32-glibc' 'lib32-libdav1d' ) cd ${_pkgbasename}-${pkgver} DESTDIR="${pkgdir}" ninja -C build install # Keep files in bin since this is not a library only package. # Use the same naming scheme as proposed in Arch's wiki: https://wiki.archlinux.org/index.php/32-bit_package_guidelines # which is "--program-suffix="-32" with Autoconf for i in "${pkgdir}/usr/bin/"*; do mv "$i" "$i"-32 done rm -r "$pkgdir"/usr/{include,lib32} mkdir -p "${pkgdir}/usr/share/doc/${pkgname}/" mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}/" ln -s "/usr/share/doc/${_pkgbasename}/"README.md "${pkgdir}/usr/share/doc/${pkgname}/" ln -s "/usr/share/licenses/${_pkgbasename}/"COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" }