Files
termux-packages/packages/libx265/build.sh
termux-pacman-bot 497d25039c libx265: Bump to 3.5-p20230222
Revdep rebuild follows.
2023-06-05 12:36:53 +00:00

88 lines
2.9 KiB
Bash

TERMUX_PKG_HOMEPAGE=http://x265.org/
TERMUX_PKG_DESCRIPTION="H.265/HEVC video stream encoder library"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
_COMMIT=38cf1c379b5af08856bb2fdd65f65a1f99384886
_COMMIT_DATE=20230222
TERMUX_PKG_VERSION=3.5-p${_COMMIT_DATE}
#TERMUX_PKG_SRCURL=https://bitbucket.org/multicoreware/x265_git/downloads/x265_$TERMUX_PKG_VERSION.tar.gz
TERMUX_PKG_SRCURL=git+https://bitbucket.org/multicoreware/x265_git
TERMUX_PKG_SHA256=5a8c54fb41b449538c160d3b48f439fa1c079b77f1c165c7b6967f5cb480ffd7
TERMUX_PKG_GIT_BRANCH=master
TERMUX_PKG_DEPENDS="libandroid-posix-semaphore, libc++"
TERMUX_PKG_BREAKS="libx265-dev"
TERMUX_PKG_REPLACES="libx265-dev"
termux_step_post_get_source() {
git fetch --unshallow
git checkout $_COMMIT
local pdate="p$(git log -1 --format=%cs | sed 's/-//g')"
if [[ "$TERMUX_PKG_VERSION" != *"${pdate}" ]]; then
echo -n "ERROR: The version string \"$TERMUX_PKG_VERSION\" is"
echo -n " different from what is expected to be; should end"
echo " with \"${pdate}\"."
return 1
fi
local s=$(find . -type f ! -path '*/.git/*' -print0 | xargs -0 sha256sum | LC_ALL=C sort | sha256sum)
if [[ "${s}" != "${TERMUX_PKG_SHA256} "* ]]; then
termux_error_exit "Checksum mismatch for source files."
fi
# Do not forget to bump revision of reverse dependencies and rebuild them
# after SOVERSION is changed.
local _SOVERSION=207
local v=$(sed -En 's/^.*set\(X265_BUILD ([0-9]+).*$/\1/p' \
source/CMakeLists.txt)
if [ "${v}" != "${_SOVERSION}" ]; then
termux_error_exit "SOVERSION guard check failed."
fi
if [ -d .git ]; then
local _libx265_base_version="3.5"
local _libx265_base_commit="f0c1022b6be121a753ff02853fbe33da71988656"
if [ "${TERMUX_PKG_VERSION%-*}" != "${_libx265_base_version}" ]; then
termux_error_exit "Base version mismatch; expected to be ${_libx265_base_version}."
fi
cat > x265Version.txt <<-EOF
repositorychangeset: $(git log --pretty=format:%h -n 1)
releasetagdistance: $(git rev-list ${_libx265_base_commit}.. --count --first-parent)
releasetag: ${_libx265_base_version}
EOF
# To install shared lib
rm -rf .git
fi
}
termux_step_pre_configure() {
local _TERMUX_CLANG_TARGET=
# Not sure if this is necessary for on-device build
# Follow termux_step_configure_cmake.sh for now
if [ "$TERMUX_ON_DEVICE_BUILD" = false ]; then
_TERMUX_CLANG_TARGET="--target=${CCTERMUX_HOST_PLATFORM}"
fi
if [ "$TERMUX_ARCH" = arm ] || [ "$TERMUX_ARCH" = i686 ]; then
# Avoid text relocations and/or build failure.
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DENABLE_ASSEMBLY=OFF"
fi
TERMUX_PKG_SRCDIR="$TERMUX_PKG_SRCDIR/source"
sed -i "s/@TERMUX_CLANG_TARGET_${TERMUX_ARCH^^}@/${_TERMUX_CLANG_TARGET}/" \
${TERMUX_PKG_SRCDIR}/CMakeLists.txt
LDFLAGS+=" -landroid-posix-semaphore"
}
termux_step_post_massage() {
local _GUARD_FILE="lib/${TERMUX_PKG_NAME}.so"
if [ ! -e "${_GUARD_FILE}" ]; then
termux_error_exit "Error: file ${_GUARD_FILE} not found."
fi
}