blob: 3b2ed5fad51cd9d2830a23b21e9800c371863a1a [file] [log] [blame]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Yuta Nakai <nak5124@live.jp>
_realname=x265
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.4
pkgrel=2
pkgdesc='Open Source H265/HEVC video encoder (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
license=('GPL')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-nasm" "${MINGW_PACKAGE_PREFIX}-cmake")
options=('strip')
url='https://bitbucket.org/multicoreware/x265_git'
source=("${_realname}-${pkgver}.tar.gz"::"https://bitbucket.org/multicoreware/x265_git/get/${pkgver}.tar.gz")
sha256sums=('7f2771799bea0f53b5ab47603d5bea46ea2a221e047a7ff398115e9976fd5f86')
prepare() {
mv "${srcdir}"/"multicoreware-x265_git-"* "${srcdir}"/x265_${pkgver}
cd "${srcdir}"/x265_${pkgver}
for d in 8 10 12; do
if [[ -d ${srcdir}/build-${CARCH}-${d} ]]; then
rm -rf ${srcdir}/build-${CARCH}-${d}
fi
mkdir -p ${srcdir}/build-${CARCH}-${d}
done
}
build() {
if [ "${CARCH}" = 'i686' ]; then
_ENABLE_ASM=OFF
_WINXP_SUPPORT=TRUE
else
_ENABLE_ASM=ON
_WINXP_SUPPORT=FALSE
fi
# 12-bit
cd "${srcdir}/build-${CARCH}-12"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G "MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DWINXP_SUPPORT=${_WINXP_SUPPORT} \
-DHIGH_BIT_DEPTH=ON \
-DMAIN12=ON \
-DEXPORT_C_API=OFF \
-DENABLE_CLI=OFF \
-DENABLE_SHARED=OFF \
-DENABLE_ASSEMBLY=${_ENABLE_ASM} \
../x265_${pkgver}/source
make
# 10-bit
cd "${srcdir}/build-${CARCH}-10"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G "MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DWINXP_SUPPORT=${_WINXP_SUPPORT} \
-DHIGH_BIT_DEPTH=ON \
-DEXPORT_C_API=OFF \
-DENABLE_CLI=OFF \
-DENABLE_SHARED=OFF \
-DENABLE_ASSEMBLY=${_ENABLE_ASM} \
../x265_${pkgver}/source
make
# 8-bit
cd "${srcdir}/build-${CARCH}-8"
ln -s ../build-${CARCH}-10/libx265.a libx265_main10.a
ln -s ../build-${CARCH}-12/libx265.a libx265_main12.a
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G "MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DWINXP_SUPPORT=${_WINXP_SUPPORT} \
-DENABLE_SHARED=ON \
-DENABLE_ASSEMBLY=${_ENABLE_ASM} \
-DENABLE_HDR10_PLUS=ON \
-DEXTRA_LIB='x265_main10.a;x265_main12.a' \
-DEXTRA_LINK_FLAGS='-L .' \
-DLINKED_10BIT=ON \
-DLINKED_12BIT=ON \
../x265_${pkgver}/source
make
}
package() {
cd "${srcdir}/build-${CARCH}-8"
make DESTDIR=${pkgdir} install
# Properly install missing libhdr10plus.dll
install -Dm644 libhdr10plus.dll "${pkgdir}${MINGW_PREFIX}/bin/libhdr10plus.dll"
}