# Maintainer: Maxime Gauduin # Contributor: Bartłomiej Piotrowski # Contributor: kfgz # ALARM: Kevin Mihelich # - patch to attempt fixing ARM hackery by bandwagoning developers # - retain 10/12 bit separation for AArch64 # - disable all ARM assembly - version 2.8 broke ARM support completely # - patch from upstream bug https://bitbucket.org/multicoreware/x265/issues/442 pkgname=x265 pkgver=3.0 pkgrel=1 pkgdesc='Open Source H265/HEVC video encoder' arch=('x86_64') url='https://bitbucket.org/multicoreware/x265' license=('GPL') depends=() makedepends=('cmake' 'mercurial' 'nasm') provides=('libx265.so') source=("hg+https://bitbucket.org/multicoreware/x265#tag=${pkgver}" arm.patch) sha256sums=('SKIP' 'd292976588ea1cb12f6371a2379fe7e22b93c18a16ea0a5acd1fbebab48988f2' 'bc812d10a7abbd1e5646c9bd43ab46339d1b69d1be752334120a0d12222f1e0c') prepare() { cd x265 patch -p1 -i ../arm.patch [[ $CARCH == "aarch64" ]] && CFLAGS+=" -fPIC" && CXXFLAGS+=" -fPIC" [[ $CARCH != "aarch64" ]] && CONFIG="-DENABLE_ASSEMBLY=OFF" for d in 8 $([[ $CARCH == 'aarch64' ]] && echo "10 12"); do if [[ -d build-$d ]]; then rm -rf build-$d fi mkdir build-$d done } build() { if [[ $CARCH == aarch64 ]]; then cd x265/build-12 cmake ../source \ -DCMAKE_INSTALL_PREFIX='/usr' \ -DHIGH_BIT_DEPTH='TRUE' \ -DMAIN12='TRUE' \ -DEXPORT_C_API='FALSE' \ -DENABLE_CLI='FALSE' \ -DENABLE_SHARED='FALSE' make cd ../build-10 cmake ../source \ -DCMAKE_INSTALL_PREFIX='/usr' \ -DHIGH_BIT_DEPTH='TRUE' \ -DEXPORT_C_API='FALSE' \ -DENABLE_CLI='FALSE' \ -DENABLE_SHARED='FALSE' make cd ../build-8 ln -s ../build-10/libx265.a libx265_main10.a ln -s ../build-12/libx265.a libx265_main12.a cmake ../source \ -DCMAKE_INSTALL_PREFIX='/usr' \ -DENABLE_SHARED='TRUE' \ -DENABLE_HDR10_PLUS='TRUE' \ -DEXTRA_LIB='x265_main10.a;x265_main12.a' \ -DEXTRA_LINK_FLAGS='-L .' \ -DLINKED_10BIT='TRUE' \ -DLINKED_12BIT='TRUE' make else cd x265/build-8 cmake ../source \ -DCMAKE_INSTALL_PREFIX='/usr' \ -DENABLE_SHARED='TRUE' \ $CONFIG fi } package() { cd x265/build-8 make DESTDIR="${pkgdir}" install } # vim: ts=2 sw=2 et: