forked from ports/contrib
60 lines
1.8 KiB
Plaintext
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
|
|
}
|