2015-10-11 14:21:16 +00:00
|
|
|
# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
|
2016-10-02 14:45:31 +00:00
|
|
|
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
2015-10-11 14:21:16 +00:00
|
|
|
# Contributor: kfgz <kfgz@interia.pl>
|
2014-03-30 04:59:56 +00:00
|
|
|
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
|
|
# - patch to attempt fixing ARM hackery by bandwagoning developers
|
2017-12-19 22:26:20 +00:00
|
|
|
# - retain 10/12 bit separation for AArch64
|
2018-05-29 18:25:02 +00:00
|
|
|
# - disable all ARM assembly - version 2.8 broke ARM support completely
|
2018-10-08 16:07:35 +00:00
|
|
|
# - patch from upstream bug https://bitbucket.org/multicoreware/x265/issues/442
|
2014-03-30 04:59:56 +00:00
|
|
|
|
|
|
|
pkgname=x265
|
2019-07-18 12:42:31 +00:00
|
|
|
pkgver=3.1.1
|
2016-12-28 13:39:08 +00:00
|
|
|
pkgrel=1
|
2014-03-30 04:59:56 +00:00
|
|
|
pkgdesc='Open Source H265/HEVC video encoder'
|
2019-07-16 19:15:29 +00:00
|
|
|
arch=(x86_64)
|
|
|
|
url=https://bitbucket.org/multicoreware/x265
|
|
|
|
license=(GPL)
|
2018-10-08 16:07:35 +00:00
|
|
|
depends=()
|
2019-07-16 19:15:29 +00:00
|
|
|
makedepends=(
|
|
|
|
cmake
|
|
|
|
mercurial
|
|
|
|
nasm
|
|
|
|
)
|
|
|
|
provides=(libx265.so)
|
|
|
|
source=(hg+https://bitbucket.org/multicoreware/x265#tag=${pkgver}
|
2019-02-05 13:55:14 +00:00
|
|
|
arm.patch)
|
2018-10-08 16:07:35 +00:00
|
|
|
sha256sums=('SKIP'
|
2019-07-16 19:15:29 +00:00
|
|
|
'd292976588ea1cb12f6371a2379fe7e22b93c18a16ea0a5acd1fbebab48988f2')
|
2014-03-30 04:59:56 +00:00
|
|
|
|
|
|
|
prepare() {
|
2018-10-08 16:07:35 +00:00
|
|
|
cd x265
|
2015-10-11 14:21:16 +00:00
|
|
|
|
2014-03-30 04:59:56 +00:00
|
|
|
patch -p1 -i ../arm.patch
|
2016-07-23 15:53:32 +00:00
|
|
|
[[ $CARCH == "aarch64" ]] && CFLAGS+=" -fPIC" && CXXFLAGS+=" -fPIC"
|
2018-05-29 18:25:02 +00:00
|
|
|
[[ $CARCH != "aarch64" ]] && CONFIG="-DENABLE_ASSEMBLY=OFF"
|
2015-10-11 14:21:16 +00:00
|
|
|
|
2017-12-19 22:26:20 +00:00
|
|
|
for d in 8 $([[ $CARCH == 'aarch64' ]] && echo "10 12"); do
|
2015-10-11 14:21:16 +00:00
|
|
|
if [[ -d build-$d ]]; then
|
|
|
|
rm -rf build-$d
|
|
|
|
fi
|
|
|
|
mkdir build-$d
|
|
|
|
done
|
2014-03-30 04:59:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
2018-03-09 19:09:33 +00:00
|
|
|
if [[ $CARCH == aarch64 ]]; then
|
|
|
|
|
2018-10-08 16:07:35 +00:00
|
|
|
cd x265/build-12
|
2018-03-09 19:09:33 +00:00
|
|
|
|
|
|
|
cmake ../source \
|
2019-07-16 19:15:29 +00:00
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
-DHIGH_BIT_DEPTH=TRUE \
|
|
|
|
-DMAIN12=TRUE \
|
|
|
|
-DEXPORT_C_API=FALSE \
|
|
|
|
-DENABLE_CLI=FALSE \
|
|
|
|
-DENABLE_SHARED=FALSE
|
2018-03-09 19:09:33 +00:00
|
|
|
make
|
|
|
|
|
|
|
|
cd ../build-10
|
|
|
|
|
|
|
|
cmake ../source \
|
2019-07-16 19:15:29 +00:00
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
-DHIGH_BIT_DEPTH=TRUE \
|
|
|
|
-DEXPORT_C_API=FALSE \
|
|
|
|
-DENABLE_CLI=FALSE \
|
|
|
|
-DENABLE_SHARED=FALSE
|
2018-03-09 19:09:33 +00:00
|
|
|
make
|
|
|
|
|
|
|
|
cd ../build-8
|
|
|
|
|
|
|
|
ln -s ../build-10/libx265.a libx265_main10.a
|
|
|
|
ln -s ../build-12/libx265.a libx265_main12.a
|
|
|
|
|
|
|
|
cmake ../source \
|
2019-07-16 19:15:29 +00:00
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
-DENABLE_SHARED=TRUE \
|
|
|
|
-DENABLE_HDR10_PLUS=TRUE \
|
2018-03-09 19:09:33 +00:00
|
|
|
-DEXTRA_LIB='x265_main10.a;x265_main12.a' \
|
|
|
|
-DEXTRA_LINK_FLAGS='-L .' \
|
2019-07-16 19:15:29 +00:00
|
|
|
-DLINKED_10BIT=TRUE \
|
|
|
|
-DLINKED_12BIT=TRUE
|
2018-03-09 19:09:33 +00:00
|
|
|
make
|
|
|
|
|
|
|
|
else
|
|
|
|
|
2018-10-08 16:07:35 +00:00
|
|
|
cd x265/build-8
|
2018-03-09 19:09:33 +00:00
|
|
|
|
|
|
|
cmake ../source \
|
2019-07-16 19:15:29 +00:00
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
-DENABLE_SHARED=TRUE \
|
2018-03-09 19:09:33 +00:00
|
|
|
$CONFIG
|
|
|
|
|
|
|
|
fi
|
2014-03-30 04:59:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
package() {
|
2018-10-08 16:07:35 +00:00
|
|
|
cd x265/build-8
|
2015-10-11 14:21:16 +00:00
|
|
|
|
|
|
|
make DESTDIR="${pkgdir}" install
|
2014-03-30 04:59:56 +00:00
|
|
|
}
|
2018-03-09 19:09:33 +00:00
|
|
|
|
|
|
|
# vim: ts=2 sw=2 et:
|