# Maintainer: Alexandre Demers _pkgbasename=dav1d pkgname=("lib32-$_pkgbasename" "lib32-lib$_pkgbasename") pkgver=1.0.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=( 'a3a7e162e45181449cd42af3a4d36669a850a4ee9ab17641dcd63d84406444566e8ebc7caa55b0620ab581039f36d19a90218a40f52ebbe525b37ed9493fb3f3' 'SKIP' '6ce106e13217296ab9521dfb447c988f499770b201bc34b3aa4e161274139f6c6654d01b0a09f75e599c485ab8ff1bbac417acab6716f8f7c7c134278eea2e0e' ) b2sums=( '792ba23ce3bd2ed9245d94daebf3a1e3e1df3cb463a9c54a0c23190801fc71c98c66f54f52b821f7741c818c80b308f41c5aed3ba68e234034285a48044f433e' 'SKIP' '76a41bdfa50c68cb1133b7669698e2f463c5ddd716919235d7b3624039dd4ed1e78b2e917796372caec2290affb3713d118373109d6baec921adeb7367a8117c' ) 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}/" }