This lets the user choose whether to build them in. Default to on for altivec on ppc64le (because that's always power8 or better) and off on ppc64 (because we support old hardware), assembly is on for ARM and x86 and off for everything else. Also use the proper assembler (nasm instead of yasm), x265 does not take yasm and will just disable the assembly implicitly.
60 lines
1.6 KiB
Bash
60 lines
1.6 KiB
Bash
# Template file for 'x265'
|
|
pkgname=x265
|
|
version=3.0
|
|
revision=2
|
|
wrksrc="x265_${version}"
|
|
build_wrksrc=source
|
|
build_style=cmake
|
|
configure_args="-DENABLE_PIC=1"
|
|
short_desc="Open Source H.265/HEVC video encoder"
|
|
maintainer="Juan RP <xtraeme@voidlinux.org>"
|
|
license="GPL-2.0-or-later"
|
|
homepage="http://x265.org/"
|
|
distfiles="https://bitbucket.org/multicoreware/x265/downloads/x265_${version}.tar.gz"
|
|
checksum=c5b9fc260cabbc4a81561a448f4ce9cad7218272b4011feabc3a6b751b2f0662
|
|
|
|
build_options="altivec assembly"
|
|
|
|
desc_option_altivec="Enable AltiVec support on ppc64 (POWER8 and higher only)"
|
|
desc_option_assembly="Enable assembly support on x86/ARM"
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
ppc64le*) build_options_default="altivec" ;;
|
|
# on ARM, enabling it currently fails with undefined reference to
|
|
# x265::setupAssemblyPrimitives(x265::EncoderPrimitives&, int)
|
|
x86_64*|i686*) build_options_default="assembly" ;;
|
|
*) ;;
|
|
esac
|
|
|
|
if [ "$build_option_assembly" ]; then
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
x86_64*|i686*) hostmakedepends+=" nasm" ;;
|
|
*) ;;
|
|
esac
|
|
fi
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
ppc64*)
|
|
# altivec does not build without power8 being enabled
|
|
configure_args+=" -DENABLE_ALTIVEC=$(vopt_if altivec ON OFF)
|
|
-DCPU_POWER8=$(vopt_if altivec ON OFF)"
|
|
;;
|
|
*) configure_args+=" -DENABLE_ASSEMBLY=$(vopt_if assembly ON OFF)" ;;
|
|
esac
|
|
|
|
pre_configure() {
|
|
if [ "$CROSS_BUILD" ]; then
|
|
sed -i CMakeLists.txt -e "s; -mcpu=native;;"
|
|
fi
|
|
}
|
|
|
|
x265-devel_package() {
|
|
depends="${sourcepkg}>=${version}_${revision}"
|
|
short_desc+=" - development files"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove usr/lib/pkgconfig
|
|
vmove "usr/lib/*.so"
|
|
vmove "usr/lib/*.a"
|
|
}
|
|
}
|