summaryrefslogtreecommitdiff
path: root/x265/Pkgfile
blob: 032e980d74ee323b5b10ce5a0e70260cc5b1431f (plain)
    1 # Description: Open Source H265/HEVC video encoder.
    2 # URL: https://bitbucket.org/multicoreware/x265_git/wiki/Home
    3 # Maintainer: Danny Rawlins, crux at romster dot me
    4 # Depends on: cmake
    5 
    6 name=x265
    7 version=3.4
    8 release=1
    9 source=(#https://bitbucket.org/multicoreware/$name/downloads/${name}_$version.tar.gz
   10 	https://crux.ster.zone/downloads/$name/${name}_$version.tar.gz)
   11 
   12 build() {
   13 	[[ -e '/usr/bin/ninja' ]] && PKGMK_X265+=' -G Ninja'
   14 
   15 	# common args
   16 	local common_args=(
   17 		-D CMAKE_INSTALL_PREFIX=/usr
   18 		-D CMAKE_BUILD_TYPE=Release
   19 		-D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS -Wno-restrict -Wno-format-overflow"
   20 		-D CMAKE_ASM_NASM_FLAGS_RELEASE=' -wno-macro-params-legacy'
   21 		-D HIGH_BIT_DEPTH=TRUE
   22 		-D EXPORT_C_API=FALSE
   23 		-D ENABLE_CLI=FALSE
   24 		-D ENABLE_SHARED=FALSE
   25 	)
   26 
   27 	# build 12
   28 	cmake -S $SRC/${name}_$version/source -B build-12 $PKGMK_X265 \
   29 		-D MAIN12=TRUE \
   30 		"${common_args[@]}" \
   31 		-Wno-dev
   32 	cmake --build build-12
   33 
   34 	# build 10
   35 	cmake -S $SRC/${name}_$version/source -B build-10 $PKGMK_X265 \
   36 		"${common_args[@]}" \
   37 		-Wno-dev
   38 	cmake --build build-10
   39 
   40 	# build 8
   41 	mkdir build-8
   42 	ln -s $SRC/build-12/libx265.a $SRC/build-8/libx265_main12.a
   43 	ln -s $SRC/build-10/libx265.a $SRC/build-8/libx265_main10.a
   44 
   45 	cmake -S $SRC/${name}_$version/source -B build-8 $PKGMK_X265 \
   46 		"${common_args[@]:0:10}" \
   47 		-D ENABLE_SHARED=TRUE \
   48 		-D EXTRA_LIB='x265_main10.a;x265_main12.a' \
   49 		-D EXTRA_LINK_FLAGS='-L.' \
   50 		-D LINKED_10BIT=TRUE \
   51 		-D LINKED_12BIT=TRUE \
   52 		-Wno-dev
   53 	cmake --build build-8
   54 	DESTDIR=$PKG cmake --install build-8
   55 }

Generated by cgit