]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Fix CI Builds 2/2 fixci2025 1797/head
authorChristian <git-developer@users.noreply.github.com>
Sun, 11 May 2025 08:10:42 +0000 (10:10 +0200)
committerFlole <Flole998@users.noreply.github.com>
Mon, 12 May 2025 14:20:21 +0000 (14:20 +0000)
fix: allow x265 build on CMake <3.2

feat(build): only use armv9 when supported

chore(build): remove x265 from unsupported platforms

Autobuild/bionic-aarch64.sh
Autobuild/buster-aarch64.sh
Autobuild/focal-aarch64.sh
Autobuild/raspiosbookworm-armv7l.sh
Autobuild/stretch-aarch64.sh
Autobuild/xenial-aarch64.sh
Makefile.ffmpeg
support/patches/libx265-armv9.patch [new file with mode: 0644]
support/patches/libx265-substring.patch [new file with mode: 0644]

index e05e484f69ce476c8ebc2d91f5b7179b92361bf0..96fce4a0317a63939cc0ae9fd7c0ef365af11811 100644 (file)
@@ -1,2 +1,3 @@
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
 source Autobuild/aarch64.sh
 source Autobuild/bionic.sh
index 586c2b0291756b68959baa1a5dd2e48f27d170ef..3e6de0727c04ab7534b43a0b081cb2aad2ec6173 100644 (file)
@@ -1,2 +1,3 @@
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
 source Autobuild/aarch64.sh
 source Autobuild/buster.sh
index c26deb0cb08cb730acd76a1afe84be30da65f4e3..7f443b08924b52c2f05a8551a7964842cd2c997f 100644 (file)
@@ -1,2 +1,3 @@
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
 source Autobuild/aarch64.sh
 source Autobuild/focal.sh
index 3abd3e5ce50482189a6571071ff79010594d42a9..eb0872c7b5333c2d14d5740b52fe5cdf8a03331d 100644 (file)
@@ -1,3 +1,4 @@
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
 source Autobuild/armv7l.sh
 EXTRA_X265_CMAKE_OPTS="${EXTRA_X265_CMAKE_OPTS:-} -DCROSS_COMPILE_ARM=0"
 source Autobuild/raspiosbookworm.sh
index 84f447f5f8f15c87c8def834bf2127c91b9a987a..0cac59180c1213314176059ad9e7bc40ea4483ae 100644 (file)
@@ -1,2 +1,3 @@
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
 source Autobuild/aarch64.sh
 source Autobuild/stretch.sh
index 6df1c98f7e5ec1a210fc50dde35c382396e40bbc..3bea4060203893b5f347ba724ceabe88293d0c84 100644 (file)
@@ -1,2 +1,3 @@
+AUTOBUILD_CONFIGURE_EXTRA="${AUTOBUILD_CONFIGURE_EXTRA:-} --disable-libx265_static --disable-libx265"
 source Autobuild/aarch64.sh
 source Autobuild/xenial.sh
index 5ca89bbbd3dfb3ff77e7a511ffcb68dde3fa5c26..5c4c7135cf085b898b7059d22777ff3d1bf20b01 100644 (file)
@@ -64,6 +64,8 @@ LIBX265_URL    = https://bitbucket.org/multicoreware/x265_git/downloads/$(LIBX26
 LIBX265_SHA1   = 11880a3aa9e4ee618f539a2d6a8ece0ea442f505
 LIBX265_DIFFS  = libx265.pic.diff
 LIBX265_DIFFS  += libx265-silence.patch
+LIBX265_DIFFS  += libx265-substring.patch
+LIBX265_DIFFS  += libx265-armv9.patch
 
 LIBVPX_VER     = 1.14.1
 LIBVPX         = libvpx-$(LIBVPX_VER)
diff --git a/support/patches/libx265-armv9.patch b/support/patches/libx265-armv9.patch
new file mode 100644 (file)
index 0000000..a862c5f
--- /dev/null
@@ -0,0 +1,16 @@
+diff -urN ../x265_4.1/source/CMakeLists.txt ./source/CMakeLists.txt
+--- ../x265_4.1/source/CMakeLists.txt       2025-05-11 13:30:50.896442393 +0200
++++ ./source/CMakeLists.txt   2025-05-11 12:55:08.021237448 +0200
+@@ -103,8 +103,10 @@
+     # Neon I8MM is mandatory from Armv8.6.
+     set(AARCH64_NEON_I8MM_FLAG "-march=armv8.2-a+dotprod+i8mm")
+     set(AARCH64_SVE_FLAG "-march=armv8.2-a+dotprod+i8mm+sve")
+-    # SVE2 is only available from Armv9.0, and armv9-a implies +dotprod and +sve.
+-    set(AARCH64_SVE2_FLAG "-march=armv9-a+i8mm+sve2")
++    if((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 12) OR (CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 12))
++        # SVE2 is only available from Armv9.0, and armv9-a implies +dotprod and +sve.
++        set(AARCH64_SVE2_FLAG "-march=armv9-a+i8mm+sve2")
++    endif()
+ else()
+     message(STATUS "CMAKE_SYSTEM_PROCESSOR value `${CMAKE_SYSTEM_PROCESSOR}` is unknown")
+     message(STATUS "Please add this value near ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE}")
diff --git a/support/patches/libx265-substring.patch b/support/patches/libx265-substring.patch
new file mode 100644 (file)
index 0000000..4572304
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN ../x265_4.1/source/cmake/Version.cmake ./source/cmake/Version.cmake
+--- ../x265_4.1/source/cmake/Version.cmake      2024-11-22 13:07:34.000000000 +0100
++++ ./source/cmake/Version.cmake     2025-05-11 09:57:56.402729493 +0200
+@@ -126,7 +126,7 @@
+                 #for x265 the repository changeset has to be a tag id or commit id after the tag
+                 #hence mandating it's presence in version file always for valid tag distances.
+                 if(DEFINED git_repositorychangeset)
+-                    string(SUBSTRING "${git_repositorychangeset}" 0 9 X265_REVISION_ID)
++                    string(REGEX MATCH "^.{1,9}" X265_REVISION_ID "${git_repositorychangeset}")
+                 else()
+                     message(WARNING "X265 LATEST COMMIT TIP INFORMATION NOT AVAILABLE")
+                 endif()