From 9b965a116838c6cdcd36bca60d1b81b030c8ab8d Mon Sep 17 00:00:00 2001 From: Weihang Ding <798047000@qq.com> Date: Wed, 27 May 2026 08:20:07 +0800 Subject: [PATCH] [libde265] Update to 1.0.19 (#51985) --- ports/libde265/fix-arm-neon-clang.patch | 24 --------------- ports/libde265/fix-linkage.patch | 36 +++++++++++++++++++++++ ports/libde265/pkgconfig-cxx-linkage.diff | 28 ------------------ ports/libde265/portfile.cmake | 5 ++-- ports/libde265/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/l-/libde265.json | 5 ++++ 7 files changed, 45 insertions(+), 57 deletions(-) delete mode 100644 ports/libde265/fix-arm-neon-clang.patch create mode 100644 ports/libde265/fix-linkage.patch delete mode 100644 ports/libde265/pkgconfig-cxx-linkage.diff diff --git a/ports/libde265/fix-arm-neon-clang.patch b/ports/libde265/fix-arm-neon-clang.patch deleted file mode 100644 index deaccc1b5c..0000000000 --- a/ports/libde265/fix-arm-neon-clang.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/libde265/arm/CMakeLists.txt b/libde265/arm/CMakeLists.txt ---- a/libde265/arm/CMakeLists.txt -+++ b/libde265/arm/CMakeLists.txt -@@ -3,12 +3,17 @@ add_library(arm OBJECT arm.cc arm.h) - if(HAVE_NEON) - add_library(arm_neon OBJECT - cpudetect.S - hevcdsp_qpel_neon.S - ) - -+ # LLVM's integrated assembler (used by Android NDK's clang) does not -+ # support the .func/.endfunc directives enabled by HAVE_AS_FUNC. -+ if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "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 - ) - diff --git a/ports/libde265/fix-linkage.patch b/ports/libde265/fix-linkage.patch new file mode 100644 index 0000000000..a0ff2be72a --- /dev/null +++ b/ports/libde265/fix-linkage.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c2ef054..14fa2e08 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,21 +134,20 @@ endif() + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + +-include(CheckCXXSymbolExists) +-check_cxx_symbol_exists(_LIBCPP_VERSION cstdlib HAVE_LIBCPP) +- +-# Build Libs.private contents for libde265.pc. +-set(_libs_private "") +-if(NOT MSVC) +- if(HAVE_LIBCPP) +- list(APPEND _libs_private "-lc++") ++set(LIBS_PRIVATE "") ++foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") + else() +- list(APPEND _libs_private "-lstdc++") ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") + endif() +-endif() ++endforeach() ++ + # Emit '-lpthread' rather than '-pthread' so consumers using + # `pkg-config --libs --static` get an unambiguous linker flag (see #453). +-if(CMAKE_USE_PTHREADS_INIT) ++if(CMAKE_USE_PTHREADS_INIT AND NOT ANDROID) + list(APPEND _libs_private "-lpthread") + endif() + if(UNIX) diff --git a/ports/libde265/pkgconfig-cxx-linkage.diff b/ports/libde265/pkgconfig-cxx-linkage.diff deleted file mode 100644 index 05cd4369d8..0000000000 --- a/ports/libde265/pkgconfig-cxx-linkage.diff +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -118,13 +118,16 @@ - if(CMAKE_COMPILER_IS_GNUCXX OR ${CMAKE_CXX_COMPILER_ID} MATCHES Clang) - add_definitions(-Wall -Werror=return-type -Werror=unused-result -Werror=reorder) - endif() - --include(CheckCXXSymbolExists) --check_cxx_symbol_exists(_LIBCPP_VERSION cstdlib HAVE_LIBCPP) --if(HAVE_LIBCPP) -- set(LIBS_PRIVATE "-lc++") --else() -- set(LIBS_PRIVATE "-lstdc++") --endif() -+set(LIBS_PRIVATE "") -+foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) -+ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) -+ continue() -+ elseif(EXISTS "${lib}") -+ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") -+ else() -+ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") -+ endif() -+endforeach() - - - option(BUILD_SHARED_LIBS "Build shared library" ON) diff --git a/ports/libde265/portfile.cmake b/ports/libde265/portfile.cmake index d927491c87..b9e49f95c6 100644 --- a/ports/libde265/portfile.cmake +++ b/ports/libde265/portfile.cmake @@ -2,11 +2,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO strukturag/libde265 REF "v${VERSION}" - SHA512 111b85ea9f92cc4a93f1022fc8ac17ef436f9c32698842f041b18ccc382306fbcb5102d44966b059a750bf380c3aeba5dc5124716f253340d91cf9713f90552d + SHA512 3e8de169ac6dfcdb67558ea762c02de2b71bd47e3755c5c604893c53b211ab7d43c4d55ee2d178819994303c917620c091a5a413e35ab0d25eb8c78e04f8f254 HEAD_REF master PATCHES - fix-arm-neon-clang.patch - pkgconfig-cxx-linkage.diff + fix-linkage.patch ) vcpkg_cmake_configure( diff --git a/ports/libde265/vcpkg.json b/ports/libde265/vcpkg.json index 31cf549a1d..ff11f15fa1 100644 --- a/ports/libde265/vcpkg.json +++ b/ports/libde265/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libde265", - "version": "1.0.18", + "version": "1.0.19", "description": "Open h.265 video codec implementation.", "homepage": "https://www.libde265.org/", "license": "LGPL-3.0-only", diff --git a/versions/baseline.json b/versions/baseline.json index 7fcd29a671..34b67f711d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4873,7 +4873,7 @@ "port-version": 0 }, "libde265": { - "baseline": "1.0.18", + "baseline": "1.0.19", "port-version": 0 }, "libdeflate": { diff --git a/versions/l-/libde265.json b/versions/l-/libde265.json index 52bec38e14..8f69730907 100644 --- a/versions/l-/libde265.json +++ b/versions/l-/libde265.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a44db420c321ab0e2f78652085b6f028000b623f", + "version": "1.0.19", + "port-version": 0 + }, { "git-tree": "77066961e9de83b97fd62af2701a8725172d40c0", "version": "1.0.18",