gnu: x265: Fix building on armhf-linux.
* gnu/packages/video.scm (x265)[patches]: Add patch. [arguments]: Add a configure-flag to disable assembly. Adjust a custom phase to recognize armv8 as 32-bit arm when masquerading as armhf-linux.
This commit is contained in:
parent
020d4d2cdc
commit
8e59c5febd
|
@ -1243,6 +1243,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/wpa-supplicant-fix-zeroed-keys.patch \
|
||||
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
|
||||
%D%/packages/patches/wpa-supplicant-krack-followups.patch \
|
||||
%D%/packages/patches/x265-arm-flags.patch \
|
||||
%D%/packages/patches/x265-detect512-all-arches.patch \
|
||||
%D%/packages/patches/xboing-CVE-2004-0149.patch \
|
||||
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
https://sources.debian.org/src/x265/2.9-3/debian/patches/0001-Fix-arm-flags.patch/
|
||||
|
||||
From: Sebastian Ramacher <sramacher@debian.org>
|
||||
Date: Wed, 26 Apr 2017 22:05:06 +0200
|
||||
Subject: Fix arm* flags
|
||||
|
||||
---
|
||||
source/CMakeLists.txt | 6 +-----
|
||||
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")
|
||||
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)
|
||||
endif()
|
||||
endif()
|
||||
add_definitions(${ARM_ARGS})
|
|
@ -405,7 +405,8 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
|||
(sha256
|
||||
(base32
|
||||
"090hp4216isis8q5gb7bwzia8rfyzni54z21jnwm97x3hiy6ibpb"))
|
||||
(patches (search-patches "x265-detect512-all-arches.patch"))
|
||||
(patches (search-patches "x265-arm-flags.patch"
|
||||
"x265-detect512-all-arches.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
(delete-file-recursively "source/compat/getopt")
|
||||
|
@ -416,6 +417,10 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
|||
#:configure-flags
|
||||
;; Ensure position independent code for everyone.
|
||||
(list "-DENABLE_PIC=TRUE"
|
||||
,@(if (string-prefix? "armhf" (or (%current-system)
|
||||
(%current-target-system)))
|
||||
'("-DENABLE_ASSEMBLY=OFF")
|
||||
'())
|
||||
(string-append "-DCMAKE_INSTALL_PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
|
@ -424,6 +429,9 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
|||
(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)
|
||||
|
|
Loading…
Reference in New Issue