summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-04-27 00:33:06 -0400
committerLeo Famulari <leo@famulari.name>2017-04-27 00:33:06 -0400
commit2018eea07bb00663d2f0cec9d9085d51afa4513b (patch)
treea55ca6062bd1808bdf2d3302b3b3026e6bc5c0f5 /gnu/packages/patches
parentbe58ffa4aa518686294726bdd83733eca4e6c03c (diff)
parent39d2d9a7abdde28830c39c1128986cad539c081d (diff)
downloadguix-2018eea07bb00663d2f0cec9d9085d51afa4513b.tar.gz
Merge branch 'staging'
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/libdrm-symbol-check.patch25
-rw-r--r--gnu/packages/patches/libsndfile-armhf-type-checks.patch42
-rw-r--r--gnu/packages/patches/mesa-fix-32bit-test-failures.patch58
-rw-r--r--gnu/packages/patches/mesa-skip-disk-cache-test.patch20
4 files changed, 130 insertions, 15 deletions
diff --git a/gnu/packages/patches/libdrm-symbol-check.patch b/gnu/packages/patches/libdrm-symbol-check.patch
index 69c67e778d..0a77763a4f 100644
--- a/gnu/packages/patches/libdrm-symbol-check.patch
+++ b/gnu/packages/patches/libdrm-symbol-check.patch
@@ -174,26 +174,21 @@ mips64el-linux, armhf-linux and aarch64-linux.
 @@ -1,6 +1,6 @@
  #!/bin/bash
  
--# The following symbols (past the first five) are taken from the public headers.
-+# The following symbols (past the first 12) are taken from the public headers.
- # A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES
+-# The following symbols (past the first nine) are taken from tegra.h.
++# The following symbols (past the first 12) are taken from tegra.h.
  
  FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
+ ( grep -q "^$func$" || echo $func )  <<EOF
+@@ -9,6 +9,9 @@
+ __bss_start
+ __end__
+ _bss_end__
 +_fbss
 +_fdata
 +_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- drm_tegra_bo_get_flags
- drm_tegra_bo_get_handle
- drm_tegra_bo_get_tiling
-
+ _edata
+ _end
+ _fini
 --- libdrm-2.4.65/radeon/radeon-symbol-check.orig	2015-05-04 11:47:43.000000000 -0400
 +++ libdrm-2.4.65/radeon/radeon-symbol-check	2015-10-18 23:57:00.756759698 -0400
 @@ -1,6 +1,6 @@
diff --git a/gnu/packages/patches/libsndfile-armhf-type-checks.patch b/gnu/packages/patches/libsndfile-armhf-type-checks.patch
new file mode 100644
index 0000000000..7e0c71c3f6
--- /dev/null
+++ b/gnu/packages/patches/libsndfile-armhf-type-checks.patch
@@ -0,0 +1,42 @@
+This is a regression in 1.0.28 that causes a test failure on armhf.
+
+Upstream bug URL:
+
+https://github.com/erikd/libsndfile/issues/229
+
+Patch copied from upstream source repository:
+
+https://github.com/erikd/libsndfile/commit/9d470ee5577d3ccedb1c28c7e0a7295ba17feaf5
+
+From 9d470ee5577d3ccedb1c28c7e0a7295ba17feaf5 Mon Sep 17 00:00:00 2001
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Sun, 16 Apr 2017 17:54:17 +1000
+Subject: [PATCH] src/rf64.c: Fix varargs related bug
+
+C's <stargs.h> functionality isn't type checked so that passing an
+`sf_count_t` (64 bits) by mistake in place of a `unit32_t` can cause
+errors. This would be fine if it was an error on every architecture
+and platform, but its not. This particular problem only manifested
+on armhf and some other Arm architectures. It was not an issue on
+32 bit x86.
+
+I have now fixed variants of this same bug several times.
+
+Closes: https://github.com/erikd/libsndfile/issues/229
+---
+ src/rf64.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rf64.c b/src/rf64.c
+index b3d637f..02dd904 100644
+--- a/src/rf64.c
++++ b/src/rf64.c
+@@ -742,7 +742,7 @@ rf64_write_header (SF_PRIVATE *psf, int calc_length)
+ 
+ 	pad_size = psf->dataoffset - 16 - psf->header.indx ;
+ 	if (pad_size >= 0)
+-		psf_binheader_writef (psf, "m4z", PAD_MARKER, pad_size, make_size_t (pad_size)) ;
++		psf_binheader_writef (psf, "m4z", PAD_MARKER, (unsigned int) pad_size, make_size_t (pad_size)) ;
+ 
+ 	if (wpriv->rf64_downgrade && (psf->filelength < RIFF_DOWNGRADE_BYTES))
+ 		psf_binheader_writef (psf, "tm8", data_MARKER, psf->datalength) ;
diff --git a/gnu/packages/patches/mesa-fix-32bit-test-failures.patch b/gnu/packages/patches/mesa-fix-32bit-test-failures.patch
new file mode 100644
index 0000000000..e21e87cef6
--- /dev/null
+++ b/gnu/packages/patches/mesa-fix-32bit-test-failures.patch
@@ -0,0 +1,58 @@
+Fix a test failure when building for 32 bit architectures:
+
+http://lists.gnu.org/archive/html/guix-devel/2017-04/msg00381.html
+
+Patch copied from upstream source repository:
+
+https://cgit.freedesktop.org/mesa/mesa/commit/?id=61bbb25a080e48a8ca897ba7f6e73cc6a8e9b5b8
+
+From 61bbb25a080e48a8ca897ba7f6e73cc6a8e9b5b8 Mon Sep 17 00:00:00 2001
+From: Grazvydas Ignotas <notasas@gmail.com>
+Date: Thu, 9 Mar 2017 02:54:53 +0200
+Subject: [PATCH] util/disk_cache: fix size subtraction on 32bit
+
+Negating size_t on 32bit produces a 32bit result. This was effectively
+adding values close to UINT_MAX to the cache size (the files are usually
+small) instead of intended subtraction.
+Fixes 'make check' disk_cache failures on 32bit.
+
+Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
+Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
+---
+ src/util/disk_cache.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
+index 5470688df3..facdcecf7c 100644
+--- a/src/util/disk_cache.c
++++ b/src/util/disk_cache.c
+@@ -603,7 +603,7 @@ evict_random_item(struct disk_cache *cache)
+    free(dir_path);
+ 
+    if (size) {
+-      p_atomic_add(cache->size, - size);
++      p_atomic_add(cache->size, - (uint64_t)size);
+       return;
+    }
+ 
+@@ -624,7 +624,7 @@ evict_random_item(struct disk_cache *cache)
+    free(dir_path);
+ 
+    if (size)
+-      p_atomic_add(cache->size, - size);
++      p_atomic_add(cache->size, - (uint64_t)size);
+ }
+ 
+ void
+#@@ -646,7 +646,7 @@ disk_cache_remove(struct disk_cache *cache, const cache_key key)
+#    free(filename);
+# 
+#    if (sb.st_size)
+#-      p_atomic_add(cache->size, - sb.st_size);
+#+      p_atomic_add(cache->size, - (uint64_t)sb.st_size);
+# }
+# 
+# /* From the zlib docs:
+-- 
+2.12.2
+
diff --git a/gnu/packages/patches/mesa-skip-disk-cache-test.patch b/gnu/packages/patches/mesa-skip-disk-cache-test.patch
new file mode 100644
index 0000000000..4377110475
--- /dev/null
+++ b/gnu/packages/patches/mesa-skip-disk-cache-test.patch
@@ -0,0 +1,20 @@
+disk_cache_create() here looks up the users home directory from <pwd.h>
+which resolves to "/" in the build environment. I could not find an easy
+way to set the home directory to something else, so we disable this test
+for now.
+
+--- a/src/compiler/glsl/tests/cache_test.c
++++ b/src/compiler/glsl/tests/cache_test.c
+@@ -137,11 +137,6 @@
+    unsetenv("MESA_GLSL_CACHE_DIR");
+    unsetenv("XDG_CACHE_HOME");
+
+-   cache = disk_cache_create();
+-   expect_non_null(cache, "disk_cache_create with no environment variables");
+-
+-   disk_cache_destroy(cache);
+-
+    /* Test with XDG_CACHE_HOME set */
+    setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1);
+    cache = disk_cache_create();
+