~ruther/guix-local

d0e3fd2dc42c3bcba96fd8e4256b1283d589d7d9 — Tobias Geerinckx-Rice 2 years ago eeec837
gnu: evdi: Update to 1.14.1.

* gnu/packages/linux.scm (evdi): Update to 1.14.1.
[source]: Use a Git tag.  Remove patch.
* gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 11 insertions(+), 85 deletions(-)

M gnu/local.mk
M gnu/packages/linux.scm
D gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 1120,7 1120,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/esmini-use-pkgconfig.patch		\
  %D%/packages/patches/esmtp-add-lesmtp.patch		\
  %D%/packages/patches/eudev-rules-directory.patch		\
  %D%/packages/patches/evdi-fix-build-with-linux-6.2.patch	\
  %D%/packages/patches/exercism-disable-self-update.patch	\
  %D%/packages/patches/extempore-unbundle-external-dependencies.patch	\
  %D%/packages/patches/extundelete-e2fsprogs-1.44.patch		\

M gnu/packages/linux.scm => gnu/packages/linux.scm +11 -12
@@ 1548,20 1548,19 @@ is also needed for the @code{tuxedo-control-center} (short tcc) package.")
(define-public evdi
  (package
    (name "evdi")
    (version "1.12.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/DisplayLink/evdi")
                    (commit "bdc258b25df4d00f222fde0e3c5003bf88ef17b5")))
              (file-name (git-file-name name version))
              (patches (search-patches "evdi-fix-build-with-linux-6.2.patch"))
              (sha256
               (base32
                "1yi7mbyvxm9lsx6i1xbwp2bihwgzhwxkydk1kbngw5a5kw9azpws"))))
    (version "1.14.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/DisplayLink/evdi")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "0vfbph6bdb206zgdp0bvpqck2zvkx1367xdxbavv41qsmgkxhvbs"))))
    (build-system linux-module-build-system)
    (arguments
     (list #:tests? #f ;no test suite
     (list #:tests? #f                  ;no test suite
           #:phases #~(modify-phases %standard-phases
                        (add-after 'unpack 'chdir
                          (lambda _

D gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch => gnu/packages/patches/evdi-fix-build-with-linux-6.2.patch +0 -72
@@ 1,72 0,0 @@
Fix the build with Linux 6.2:

https://github.com/DisplayLink/evdi/issues/402

Patch copied from upstream pull request:

https://github.com/DisplayLink/evdi/pull/401

From a90ecd5f0f09e976e4b8784fa16b92804138b1bd Mon Sep 17 00:00:00 2001
From: listout <listout@protonmail.com>
Date: Wed, 22 Feb 2023 13:09:40 +0530
Subject: [PATCH] Original patch was suggested by Crashdummyy.

Since commit 9877d8f6bc374912b08dfe862cddbb78b395a5ef
feild fbdev has been renamed to info in struct drm_fb_helper.

Fixes: https://github.com/DisplayLink/evdi/issues/402
Fixes: https://github.com/DisplayLink/evdi/issues/394
Fixes: https://github.com/DisplayLink/evdi/issues/384
Signed-off-by: listout <listout@protonmail.com>
---
 module/evdi_fb.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/module/evdi_fb.c b/module/evdi_fb.c
index 6b367fe8..f5de81f1 100644
--- a/module/evdi_fb.c
+++ b/module/evdi_fb.c
@@ -405,7 +405,11 @@ static int evdifb_create(struct drm_fb_helper *helper,
 	fb = &efbdev->efb.base;
 
 	efbdev->helper.fb = fb;
+#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE
+	efbdev->helper.info = info;
+#else
 	efbdev->helper.fbdev = info;
+#endif
 
 	strcpy(info->fix.id, "evdidrmfb");
 
@@ -459,8 +463,13 @@ static void evdi_fbdev_destroy(__always_unused struct drm_device *dev,
 {
 	struct fb_info *info;
 
+#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE
+	if (efbdev->helper.info) {
+		info = efbdev->helper.info;
+#else
 	if (efbdev->helper.fbdev) {
 		info = efbdev->helper.fbdev;
+#endif
 		unregister_framebuffer(info);
 		if (info->cmap.len)
 			fb_dealloc_cmap(&info->cmap);
@@ -537,10 +546,17 @@ void evdi_fbdev_unplug(struct drm_device *dev)
 		return;
 
 	efbdev = evdi->fbdev;
+#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE
+	if (efbdev->helper.info) {
+		struct fb_info *info;
+
+		info = efbdev->helper.info;
+#else
 	if (efbdev->helper.fbdev) {
 		struct fb_info *info;
 
 		info = efbdev->helper.fbdev;
+#endif
 #if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || defined(EL8)
 		unregister_framebuffer(info);
 #else