summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-10-20 13:01:25 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-10-20 14:00:11 +0200
commit9a8d4463e61bbf84abe5de2d940b06753d85cfbb (patch)
tree7d3a24d7b15e57a1cc55767af918b368ccf7eaf2
parent10f2ae01c46ded2ea4d7ba2201609a5882408278 (diff)
downloadguix-9a8d4463e61bbf84abe5de2d940b06753d85cfbb.tar.gz
gnu: dav1d: Fix build on AArch64.
* gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/video.scm (dav1d)[source](patches): New field.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch25
-rw-r--r--gnu/packages/video.scm1
3 files changed, 27 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index b4158b9880..4292e6f415 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -766,6 +766,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/cursynth-wave-rand.patch			\
   %D%/packages/patches/cvs-CVE-2017-12836.patch		\
   %D%/packages/patches/darkice-workaround-fpermissive-error.patch	\
+  %D%/packages/patches/dav1d-aarch64-symbol-alignment.patch	\
   %D%/packages/patches/dbus-helper-search-path.patch		\
   %D%/packages/patches/dbus-c++-gcc-compat.patch		\
   %D%/packages/patches/dbus-c++-threading-mutex.patch		\
diff --git a/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch b/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch
new file mode 100644
index 0000000000..a47adf9b05
--- /dev/null
+++ b/gnu/packages/patches/dav1d-aarch64-symbol-alignment.patch
@@ -0,0 +1,25 @@
+Ensure local debug symbols are aligned on AArch64.
+
+Taken from upstream:
+https://code.videolan.org/videolan/dav1d/commit/a6228f47f0eebcdfebb1753a786e3e1654b51ea4
+
+diff --git a/src/arm/64/ipred.S b/src/arm/64/ipred.S
+index 41b3c1c..9513212 100644
+--- a/src/arm/64/ipred.S
++++ b/src/arm/64/ipred.S
+@@ -2244,6 +2244,7 @@ L(ipred_cfl_ac_420_tbl):
+         .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w16)
+         .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w8)
+         .hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w4)
++        .hword 0
+ 
+ L(ipred_cfl_ac_420_w16_tbl):
+         .hword L(ipred_cfl_ac_420_w16_tbl) - L(ipred_cfl_ac_420_w16_wpad0)
+@@ -2432,6 +2433,7 @@ L(ipred_cfl_ac_422_tbl):
+         .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w16)
+         .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w8)
+         .hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w4)
++        .hword 0
+ 
+ L(ipred_cfl_ac_422_w16_tbl):
+         .hword L(ipred_cfl_ac_422_w16_tbl) - L(ipred_cfl_ac_422_w16_wpad0)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 0b21251f46..93edb301f8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3552,6 +3552,7 @@ transitions, and effects and then export your film to many common formats.")
         (method url-fetch)
         (uri (string-append "https://downloads.videolan.org/pub/videolan"
                             "/dav1d/" version "/dav1d-" version ".tar.xz"))
+        (patches (search-patches "dav1d-aarch64-symbol-alignment.patch"))
         (sha256
          (base32
           "1586k439fm8db9lsxxywm34iqibj5mw4xrppr4g2wqr0hjlhcbxn"))))