# Maintainer: Alexandre Demers _pkgbasename=dav1d pkgname=("lib32-$_pkgbasename" "lib32-lib$_pkgbasename") pkgver=1.4.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=( '32fcb1d19f35bec62c05637987e0204cf76880af192685e0acb08ea30cb9dac889ee89be0f847c79c6c51210c375031b26cf6e4aabc91480e44777e9fb3cbe02' 'SKIP' 'aa96f80abd4acff5dc312b2e6807ac31f6c1eb4362d2837078c096d4dcae65f375494eab8ddec27fceb4cfe0d33428302bd1c19d5e700b96a22c2e7b720accc2' ) b2sums=( 'e37f7abc222b9a0f774a76ef6dcc2f28c411220c0f92c2239e51c3313bf1109fb6e4feb1451049248e033f2dd79550536a773f3b7b07e5a7890e8bb760c0f596' 'SKIP' '487e28d14694fd37905d685e822a7c9a2859b212634ce9f1e7dff3aa50452a70b3fbd7a25edc80120d31f0e02488d3a1e606b4917fa6cd26fe74c45ce2ef133b' ) 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}/" }