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-zeroed-keys.patch \
|
||||||
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
|
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
|
||||||
%D%/packages/patches/wpa-supplicant-krack-followups.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/x265-detect512-all-arches.patch \
|
||||||
%D%/packages/patches/xboing-CVE-2004-0149.patch \
|
%D%/packages/patches/xboing-CVE-2004-0149.patch \
|
||||||
%D%/packages/patches/xf86-video-ark-remove-mibstore.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
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"090hp4216isis8q5gb7bwzia8rfyzni54z21jnwm97x3hiy6ibpb"))
|
"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)))
|
(modules '((guix build utils)))
|
||||||
(snippet '(begin
|
(snippet '(begin
|
||||||
(delete-file-recursively "source/compat/getopt")
|
(delete-file-recursively "source/compat/getopt")
|
||||||
|
@ -416,6 +417,10 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
;; Ensure position independent code for everyone.
|
;; Ensure position independent code for everyone.
|
||||||
(list "-DENABLE_PIC=TRUE"
|
(list "-DENABLE_PIC=TRUE"
|
||||||
|
,@(if (string-prefix? "armhf" (or (%current-system)
|
||||||
|
(%current-target-system)))
|
||||||
|
'("-DENABLE_ASSEMBLY=OFF")
|
||||||
|
'())
|
||||||
(string-append "-DCMAKE_INSTALL_PREFIX="
|
(string-append "-DCMAKE_INSTALL_PREFIX="
|
||||||
(assoc-ref %outputs "out")))
|
(assoc-ref %outputs "out")))
|
||||||
#:phases
|
#:phases
|
||||||
|
@ -424,6 +429,9 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
|
||||||
(lambda _
|
(lambda _
|
||||||
(delete-file-recursively "build")
|
(delete-file-recursively "build")
|
||||||
(chdir "source")
|
(chdir "source")
|
||||||
|
;; recognize armv8 in 32-bit mode as ARM
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
(("armv6l") "armv8l"))
|
||||||
#t))
|
#t))
|
||||||
(add-before 'configure 'build-12-bit
|
(add-before 'configure 'build-12-bit
|
||||||
(lambda* (#:key (configure-flags '()) #:allow-other-keys)
|
(lambda* (#:key (configure-flags '()) #:allow-other-keys)
|
||||||
|
|
Loading…
Reference in New Issue