void-packages/srcpkgs/x265/template
q66 098c4adfe7 x265: add options for altivec and assembly
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.
2019-05-07 18:07:00 +02:00

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"
}
}