mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-01-04 01:50:19 +00:00
88 lines
2.9 KiB
Bash
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
|
|
}
|