From afdc16d9041fde77913b6e84679dc581c54df2d6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jun 2020 16:48:20 +0200 Subject: [PATCH] gnu: x265: Update to 3.4. * gnu/packages/patches/x265-arm-flags.patch: Update patch. * gnu/packages/video.scm (x265): Update to 3.4. [arguments]: Remove obsolete substitution. Disable the newly-added assembly optimizations on AArch64, as they are not implemented for all targets we build. --- gnu/packages/patches/x265-arm-flags.patch | 38 +++++++++++------------ gnu/packages/video.scm | 10 ++---- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/gnu/packages/patches/x265-arm-flags.patch b/gnu/packages/patches/x265-arm-flags.patch index f17e26f6f1..342e13270b 100644 --- a/gnu/packages/patches/x265-arm-flags.patch +++ b/gnu/packages/patches/x265-arm-flags.patch @@ -1,4 +1,7 @@ -https://sources.debian.org/src/x265/2.9-3/debian/patches/0001-Fix-arm-flags.patch/ +Fix build flags for ARMv7. + +Taken from Debian: +https://salsa.debian.org/multimedia-team/x265/-/blob/master/debian/patches/0001-Fix-arm-flags.patch From: Sebastian Ramacher Date: Wed, 26 Apr 2017 22:05:06 +0200 @@ -9,28 +12,25 @@ Subject: Fix arm* flags 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt -index 33b6523..25aecbb 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt -@@ -72,7 +72,7 @@ elseif(ARMMATCH GREATER "-1") +@@ -77,7 +77,7 @@ elseif(ARMMATCH GREATER "-1") + add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=1 -DHAVE_ARMV6=0) + else() + message(STATUS "Detected ARM target processor") +- add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=0 -DHAVE_ARMV6=1) ++ add_definitions(-DX265_ARCH_ARM=1) endif() - message(STATUS "Detected ARM target processor") - set(ARM 1) -- add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1) -+ # add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1) 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}") -@@ -230,12 +230,8 @@ if(GCC) - if(ARM AND CROSS_COMPILE_ARM) - set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) - elseif(ARM) -- find_package(Neon) - if(CPU_HAS_NEON) -- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) - add_definitions(-DHAVE_NEON) -- else() -- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) +@@ -252,10 +252,7 @@ if(GCC) + else() + find_package(Neon) + if(CPU_HAS_NEON) +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) + add_definitions(-DHAVE_NEON) +- else() +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) + endif() endif() endif() - add_definitions(${ARM_ARGS}) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c5e4993091..9c88066c91 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -611,7 +611,7 @@ (define-public straw-viewer (define-public x265 (package (name "x265") - (version "3.3") + (version "3.4") (outputs '("out" "static")) (source (origin @@ -621,7 +621,7 @@ (define-public x265 (string-append "https://download.videolan.org/videolan/x265/" "x265_" version ".tar.gz"))) (sha256 - (base32 "170b61cgpcs5n35qps0p40dqs1q81vkgagzbs4zv7pzls6718vpj")) + (base32 "0wl62hfsdqpf3r3z3s6l9bz7pdb1rcik5ll00b3yaadplqipy162")) (patches (search-patches "x265-arm-flags.patch")) (modules '((guix build utils))) (snippet '(begin @@ -638,8 +638,7 @@ (define-public x265 #:configure-flags ;; Ensure position independent code for everyone. (list "-DENABLE_PIC=TRUE" - ,@(if (string-prefix? "armhf" (or (%current-system) - (%current-target-system))) + ,@(if (target-arm?) '("-DENABLE_ASSEMBLY=OFF") '()) (string-append "-DCMAKE_INSTALL_PREFIX=" @@ -650,9 +649,6 @@ (define-public x265 (lambda _ (delete-file-recursively "build") (chdir "source") - ;; recognize armv8 in 32-bit mode as ARM - (substitute* "CMakeLists.txt" - (("armv6l") "armv8l")) #t)) (add-before 'configure 'build-12-bit (lambda* (#:key (configure-flags '()) #:allow-other-keys)