Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions packages/libde265/backport-b4d0b53.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
From b4d0b533bc95c1ed4612d982ad2eac23dd8aeb34 Mon Sep 17 00:00:00 2001
From: Yateng Hong <yatengh@microsoft.com>
Date: Tue, 21 Apr 2026 15:15:27 +0800
Subject: [PATCH] Fix ARM NEON assembly build with Clang

Use CMAKE_ASM_COMPILER_ID (assembly files use the ASM compiler) and MATCHES Clang to cover AppleClang/ARMClang variants, whose integrated assembler does not support .func/.endfunc.

Fixes #510

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
libde265/arm/CMakeLists.txt | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/libde265/arm/CMakeLists.txt b/libde265/arm/CMakeLists.txt
index a1d970f22678..722591f15450 100644
--- a/libde265/arm/CMakeLists.txt
+++ b/libde265/arm/CMakeLists.txt
@@ -6,11 +6,16 @@ if(HAVE_NEON)
hevcdsp_qpel_neon.S
)

+ # Clang's assembler does not support .func/.endfunc directives.
+ if(NOT CMAKE_ASM_COMPILER_ID MATCHES Clang)
+ set(AS_FUNC_FLAG -DHAVE_AS_FUNC)
+ endif()
+
target_compile_options(arm_neon PRIVATE
-mfpu=neon
-DHAVE_NEON
-DEXTERN_ASM=
- -DHAVE_AS_FUNC
+ ${AS_FUNC_FLAG}
-DHAVE_SECTION_DATA_REL_RO
)

26 changes: 4 additions & 22 deletions packages/libde265/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,19 @@ TERMUX_PKG_DESCRIPTION="H.265/HEVC video stream decoder library"
TERMUX_PKG_LICENSE="LGPL-3.0, MIT"
TERMUX_PKG_LICENSE_FILE="COPYING"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.0.16"
TERMUX_PKG_REVISION=1
TERMUX_PKG_VERSION="1.0.18"
TERMUX_PKG_SRCURL=https://github.com/strukturag/libde265/releases/download/v$TERMUX_PKG_VERSION/libde265-$TERMUX_PKG_VERSION.tar.gz
TERMUX_PKG_SHA256=b92beb6b53c346db9a8fae968d686ab706240099cdd5aff87777362d668b0de7
TERMUX_PKG_SHA256=800478f3bf35f0621b14928ceb317579f3e8b23de4bd2aac29b6cb8be962bbd8
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="libc++"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-sherlock265 --disable-arm --disable-encoder"

termux_step_post_get_source() {
# Do not forget to bump revision of reverse dependencies and rebuild them
# after SOVERSION is changed.
local _SOVERSION=0

local a
for a in CURRENT AGE; do
local _LT_${a}=$(sed -En 's/^LIBDE265_'"${a}"'=([0-9]+).*/\1/p' \
configure.ac)
done
local v=$(( _LT_CURRENT - _LT_AGE ))
if [ ! "${_LT_CURRENT}" ] || [ "${v}" != "${_SOVERSION}" ]; then
local v=$(sed -En 's/^set\(DE265_SOVERSION ([0-9]+)\)$/\1/p' CMakeLists.txt)
if [ ! "${v}" ] || [ "${v}" != "${_SOVERSION}" ]; then
termux_error_exit "SOVERSION guard check failed."
fi
}

termux_step_pre_configure() {
sed -i "s#tools##;s#acceleration-speed##" ${TERMUX_PKG_SRCDIR}/Makefile.am
autoreconf -fi

# ld.lld: error: non-exported symbol '__aarch64_ldadd8_acq_rel' in libclang_rt.builtins-aarch64-android.a
local _libgcc_file="$($CC -print-libgcc-file-name)"
local _libgcc_path="$(dirname $_libgcc_file)"
local _libgcc_name="$(basename $_libgcc_file)"
LDFLAGS+=" -L$_libgcc_path -l:$_libgcc_name"
}
299 changes: 0 additions & 299 deletions packages/libde265/only_export_decoder_api.patch

This file was deleted.