guix-commits
[Top][All Lists]
Advanced

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

18/21: gnu: libdrm: Update to 2.4.101.


From: guix-commits
Subject: 18/21: gnu: libdrm: Update to 2.4.101.
Date: Fri, 22 May 2020 18:10:21 -0400 (EDT)

mbakke pushed a commit to branch staging
in repository guix.

commit 73a24ce59bed9d9b41f89e64df6224d79830eb2f
Author: Marius Bakke <address@hidden>
AuthorDate: Fri May 22 21:53:42 2020 +0200

    gnu: libdrm: Update to 2.4.101.
    
    * gnu/packages/patches/libdrm-symbol-check.patch: Delete file.
    * gnu/packages/patches/libdrm-realpath-virtio.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Adjust accordingly.
    * gnu/packages/xdisorg.scm (libdrm): Update to 2.4.101.
    [source](uri): Adjust for new .tar.xz tarball.
    [source](patches): Adjust patch list as above.
---
 gnu/local.mk                                      |   2 +-
 gnu/packages/patches/libdrm-realpath-virtio.patch |  42 +++++
 gnu/packages/patches/libdrm-symbol-check.patch    | 215 ----------------------
 gnu/packages/xdisorg.scm                          |  22 +--
 4 files changed, 53 insertions(+), 228 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 2bfd095..7c83412 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1166,7 +1166,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/libbase-use-own-logging.patch           \
   %D%/packages/patches/libbonobo-activation-test-race.patch    \
   %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
-  %D%/packages/patches/libdrm-symbol-check.patch               \
+  %D%/packages/patches/libdrm-realpath-virtio.patch            \
   %D%/packages/patches/libexif-CVE-2016-6328.patch             \
   %D%/packages/patches/libexif-CVE-2017-7544.patch             \
   %D%/packages/patches/libexif-CVE-2018-20030.patch            \
diff --git a/gnu/packages/patches/libdrm-realpath-virtio.patch 
b/gnu/packages/patches/libdrm-realpath-virtio.patch
new file mode 100644
index 0000000..b7d8516
--- /dev/null
+++ b/gnu/packages/patches/libdrm-realpath-virtio.patch
@@ -0,0 +1,42 @@
+Only check for for relative path on virtio devices.  Otherwise it could
+break driver loading in some circumstances, notably the IceCat sandbox.
+
+https://gitlab.freedesktop.org/mesa/drm/-/issues/39
+
+Taken from upstream:
+https://gitlab.freedesktop.org/mesa/drm/-/commit/57df07572ce45a1b60bae6fb89770388d3abd6dd
+
+diff --git a/xf86drm.c b/xf86drm.c
+--- a/xf86drm.c
++++ b/xf86drm.c
+@@ -3103,15 +3103,18 @@ static int drmParseSubsystemType(int maj, int min)
+     int subsystem_type;
+ 
+     snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device", maj, min);
+-    if (!realpath(path, real_path))
+-        return -errno;
+-    snprintf(path, sizeof(path), "%s", real_path);
+ 
+     subsystem_type = get_subsystem_type(path);
++    /* Try to get the parent (underlying) device type */
+     if (subsystem_type == DRM_BUS_VIRTIO) {
++        /* Assume virtio-pci on error */
++        if (!realpath(path, real_path))
++            return DRM_BUS_VIRTIO;
+         strncat(path, "/..", PATH_MAX);
+         subsystem_type = get_subsystem_type(path);
+-    }
++        if (subsystem_type < 0)
++            return DRM_BUS_VIRTIO;
++     }
+     return subsystem_type;
+ #elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__)
+     return DRM_BUS_PCI;
+@@ -3920,6 +3923,7 @@ process_device(drmDevicePtr *device, const char *d_name,
+ 
+     switch (subsystem_type) {
+     case DRM_BUS_PCI:
++    case DRM_BUS_VIRTIO:
+         return drmProcessPciDevice(device, node, node_type, maj, min,
+                                    fetch_deviceinfo, flags);
+     case DRM_BUS_USB:
diff --git a/gnu/packages/patches/libdrm-symbol-check.patch 
b/gnu/packages/patches/libdrm-symbol-check.patch
deleted file mode 100644
index 0a77763..0000000
--- a/gnu/packages/patches/libdrm-symbol-check.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-Augment the list of expected symbols to fix the symbol-check tests on
-mips64el-linux, armhf-linux and aarch64-linux.
-
---- libdrm-2.4.65/freedreno/freedreno-symbol-check.orig        2015-09-04 
11:07:40.000000000 -0400
-+++ libdrm-2.4.65/freedreno/freedreno-symbol-check     2015-10-18 
23:57:15.288416229 -0400
-@@ -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
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_freedreno.so} | 
awk '{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- fd_bo_cpu_fini
- fd_bo_cpu_prep
- fd_bo_del
---- libdrm-2.4.65/nouveau/nouveau-symbol-check.orig    2015-05-04 
11:47:43.000000000 -0400
-+++ libdrm-2.4.65/nouveau/nouveau-symbol-check 2015-10-18 23:55:26.078327118 
-0400
-@@ -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_NOUVEAU_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | awk 
'{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- nouveau_bo_map
- nouveau_bo_name_get
- nouveau_bo_name_ref
---- libdrm-2.4.65/libkms/kms-symbol-check.orig 2015-05-04 11:47:43.000000000 
-0400
-+++ libdrm-2.4.65/libkms/kms-symbol-check      2015-10-18 23:46:10.683869471 
-0400
-@@ -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/LIBKMS_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print 
$3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- kms_bo_create
- kms_bo_destroy
- kms_bo_get_prop
---- libdrm-2.4.65/intel/intel-symbol-check.orig        2015-05-04 
11:47:43.000000000 -0400
-+++ libdrm-2.4.65/intel/intel-symbol-check     2015-10-18 23:55:53.309558508 
-0400
-@@ -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_INTEL_H_FILES
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | awk 
'{print $3}' | while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- drm_intel_bo_alloc
- drm_intel_bo_alloc_for_render
- drm_intel_bo_alloc_tiled
---- libdrm-2.4.65/amdgpu/amdgpu-symbol-check.orig      2015-08-17 
10:08:11.000000000 -0400
-+++ libdrm-2.4.65/amdgpu/amdgpu-symbol-check   2015-10-18 23:56:10.606917723 
-0400
-@@ -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.am/libdrm_amdgpuinclude_HEADERS
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | awk 
'{print $3}' | while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- amdgpu_bo_alloc
- amdgpu_bo_cpu_map
- amdgpu_bo_cpu_unmap
---- libdrm-2.4.65/exynos/exynos-symbol-check.orig      2015-05-04 
11:47:43.000000000 -0400
-+++ libdrm-2.4.65/exynos/exynos-symbol-check   2015-10-18 23:56:32.025486153 
-0400
-@@ -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.am/libdrm_exynos*_HEADERS
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | awk 
'{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- exynos_bo_create
- exynos_bo_destroy
- exynos_bo_from_name
---- libdrm-2.4.65/omap/omap-symbol-check.orig  2015-05-04 11:47:43.000000000 
-0400
-+++ libdrm-2.4.65/omap/omap-symbol-check       2015-10-18 23:56:44.834438626 
-0400
-@@ -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.am/libdrm_omap*HEADERS
- 
- FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | awk 
'{print $3}'| while read func; do
-@@ -10,6 +10,13 @@
- _end
- _fini
- _init
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- omap_bo_cpu_fini
- omap_bo_cpu_prep
- omap_bo_del
---- libdrm-2.4.65/tegra/tegra-symbol-check.orig        2015-05-04 
11:47:43.000000000 -0400
-+++ libdrm-2.4.65/tegra/tegra-symbol-check     2015-10-18 23:57:00.756759698 
-0400
-@@ -1,6 +1,6 @@
- #!/bin/bash
- 
--# 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
- ( grep -q "^$func$" || echo $func )  <<EOF
-@@ -9,6 +9,9 @@
- __bss_start
- __end__
- _bss_end__
-+_fbss
-+_fdata
-+_ftext
- _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 @@
- #!/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_RADEON_H_FILES
- 
- 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
-+_fbss
-+_fdata
-+_ftext
-+__bss_start__
-+__bss_end__
-+_bss_end__
-+__end__
- radeon_bo_debug
- radeon_bo_get_handle
- radeon_bo_get_src_domain
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 8871977..2683b85 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -483,18 +483,16 @@ rasterisation.")
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.100")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "https://dri.freedesktop.org/libdrm/libdrm-";
-               version
-               ".tar.bz2"))
-        (sha256
-         (base32
-          "0p8a1l3a3s40i81mawm8nhrbk7p97ss05qkawp1yx73c30lchz67"))
-        (patches (search-patches "libdrm-symbol-check.patch"))))
+    (version "2.4.101")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://dri.freedesktop.org/libdrm/libdrm-";
+                    version ".tar.xz"))
+              (sha256
+               (base32
+                "19vqbhqljhln0lrpnv3s7y3lkhsdcp76dl8bhqj3cis9ism1pwyx"))
+              (patches (search-patches "libdrm-realpath-virtio.patch"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags



reply via email to

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