contrib/x265/Pkgfile
2023-08-06 19:46:25 +02:00

60 lines
1.8 KiB
Plaintext

# Description: Open Source H265/HEVC video encoder
# URL: https://bitbucket.org/multicoreware/x265_git/wiki/Home
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on:
name=x265
version=3.5
release=2
source=(https://bitbucket.org/multicoreware/${name}_git/downloads/${name}_$version.tar.gz
Version.cmake)
build() {
# https://bitbucket.org/multicoreware/x265_git/src/ce882936d5f62ea94c13972fa42cab6192864a7d/source/CMakeLists.txt#lines-676
# we don't depend on git to figure out which version we are building, do we?
sed "s!@@VERSION@@!$version!g" -i Version.cmake && mv Version.cmake ${name}_$version/source/cmake/Version.cmake
# common args
local common_args=(
-G Ninja
-D CMAKE_INSTALL_PREFIX=/usr
-D CMAKE_BUILD_TYPE=Release
-D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS -Wno-restrict -Wno-format-overflow"
-D CMAKE_ASM_NASM_FLAGS_RELEASE=' -wno-macro-params-legacy'
-D HIGH_BIT_DEPTH=TRUE
-D EXPORT_C_API=FALSE
-D ENABLE_CLI=FALSE
-D ENABLE_SHARED=FALSE
)
# build 12
cmake -S $SRC/${name}_$version/source -B build-12 \
-D MAIN12=TRUE \
"${common_args[@]}" \
-Wno-dev
cmake --build build-12
# build 10
cmake -S $SRC/${name}_$version/source -B build-10 \
"${common_args[@]}" \
-Wno-dev
cmake --build build-10
# build 8
mkdir build-8
ln -s $SRC/build-12/libx265.a $SRC/build-8/libx265_main12.a
ln -s $SRC/build-10/libx265.a $SRC/build-8/libx265_main10.a
cmake -S $SRC/${name}_$version/source -B build-8 \
"${common_args[@]:0:12}" \
-D ENABLE_SHARED=TRUE \
-D EXTRA_LIB='x265_main10.a;x265_main12.a' \
-D EXTRA_LINK_FLAGS='-L.' \
-D LINKED_10BIT=TRUE \
-D LINKED_12BIT=TRUE \
-D ENABLE_HDR10_PLUS=TRUE \
-Wno-dev
cmake --build build-8
DESTDIR=$PKG cmake --install build-8
}