guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: mesa: Fix build for 32-bit systems.


From: Leo Famulari
Subject: 01/01: gnu: mesa: Fix build for 32-bit systems.
Date: Tue, 18 Apr 2017 20:36:14 -0400 (EDT)

lfam pushed a commit to branch staging
in repository guix.

commit 165d45540a879c4b1d8b8aeb5a3c79bda91b7641
Author: Leo Famulari <address@hidden>
Date:   Tue Apr 18 20:35:08 2017 -0400

    gnu: mesa: Fix build for 32-bit systems.
    
    * gnu/packages/patches/mesa-fix-32bit-test-failures.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add it.
    * gnu/packages/gl.scm (mesa)[source]: Use it.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/gl.scm                                |  3 +-
 .../patches/mesa-fix-32bit-test-failures.patch     | 58 ++++++++++++++++++++++
 3 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index e6dee58..265157a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -776,6 +776,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/mcrypt-CVE-2012-4409.patch                      \
   %D%/packages/patches/mcrypt-CVE-2012-4426.patch                      \
   %D%/packages/patches/mcrypt-CVE-2012-4527.patch                      \
+  %D%/packages/patches/mesa-fix-32bit-test-failures.patch      \
   %D%/packages/patches/mesa-skip-disk-cache-test.patch         \
   %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch       \
   %D%/packages/patches/metabat-remove-compilation-date.patch   \
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index f43f464..40b7563 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -229,7 +229,8 @@ also known as DXTn or DXTC) for Mesa.")
          (base32
           "0im3ca1vwwmkjf5w761vh7vabr4vrrdxpckr0wm974x18n2xqs8j"))
         (patches
-         (search-patches "mesa-wayland-egl-symbols-check-mips.patch"
+         (search-patches "mesa-fix-32bit-test-failures.patch"
+                         "mesa-wayland-egl-symbols-check-mips.patch"
                          "mesa-skip-disk-cache-test.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs
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 0000000..e21e87c
--- /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 <address@hidden>
+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 <address@hidden>
+Reviewed-by: Timothy Arceri <address@hidden>
+---
+ 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
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]