PKGBUILDs/extra/x265/PKGBUILD
2019-08-01 23:28:03 +00:00

102 lines
2.2 KiB
Bash

# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: kfgz <kfgz@interia.pl>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - 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.1.2
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')
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: