aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorOleg Pykhalov <go.wigust@gmail.com>2024-10-05 15:02:00 +0300
committerOleg Pykhalov <go.wigust@gmail.com>2024-11-01 18:33:21 +0300
commit94e0028d6f0f60cc390b98866718245ebb197f54 (patch)
treef1df724a3e211c468bb206ea65feac1cb0b549d5 /gnu/packages
parent78de845aaaa8d557f08a53ad34629bc566565f96 (diff)
downloadguix-94e0028d6f0f60cc390b98866718245ebb197f54.tar
guix-94e0028d6f0f60cc390b98866718245ebb197f54.tar.gz
gnu: Add kvmfr-linux-module.
* gnu/packages/patches/kvmfr-linux-module-fix-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patch. * gnu/packages/video.scm (kvmfr-linux-module): New variable. Change-Id: I113c1c8e1f6c9ebd541083b620ea0e098d56d588
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/kvmfr-linux-module-fix-build.patch41
-rw-r--r--gnu/packages/video.scm28
2 files changed, 69 insertions, 0 deletions
diff --git a/gnu/packages/patches/kvmfr-linux-module-fix-build.patch b/gnu/packages/patches/kvmfr-linux-module-fix-build.patch
new file mode 100644
index 0000000000..49c1a713a5
--- /dev/null
+++ b/gnu/packages/patches/kvmfr-linux-module-fix-build.patch
@@ -0,0 +1,41 @@
+Copied from
+https://github.com/gnif/LookingGlass/issues/1075#issuecomment-1546422678 and
+https://github.com/gnif/LookingGlass/issues/1134 with adjustments for current
+kvmfr source version.
+
+From c4950a830fbe2ca27337793aa227c86f5c044f46 Mon Sep 17 00:00:00 2001
+From: Oleg Pykhalov <go.wigust@gmail.com>
+Date: Sat, 5 Oct 2024 16:11:45 +0300
+Subject: [PATCH] Fix build
+
+---
+ module/kvmfr.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/module/kvmfr.c b/module/kvmfr.c
+index 121aae5..4c386f9 100644
+--- a/module/kvmfr.c
++++ b/module/kvmfr.c
+@@ -30,6 +30,7 @@
+ #include <linux/highmem.h>
+ #include <linux/memremap.h>
+ #include <linux/version.h>
++#include <linux/vmalloc.h>
+
+ #include <asm/io.h>
+
+@@ -539,7 +540,11 @@ static int __init kvmfr_module_init(void)
+ if (kvmfr->major < 0)
+ goto out_free;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)
+ kvmfr->pClass = class_create(THIS_MODULE, KVMFR_DEV_NAME);
++#else
++ kvmfr->pClass = class_create(KVMFR_DEV_NAME);
++#endif
+ if (IS_ERR(kvmfr->pClass))
+ goto out_unreg;
+
+--
+2.41.0
+
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 92c0acef3c..ff5dcd8daa 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -104,6 +104,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system linux-module)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
@@ -4357,6 +4358,33 @@ This may help improve your viewers watching experience, and allows you to use
your host privately.")
(license license:gpl2+)))
+(define-public kvmfr-linux-module
+ (package
+ (name "kvmfr-linux-module")
+ (version "B6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://looking-glass.io/artifact/" version
+ "/source"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15d7wwbzfw28yqbz451b6n33ixy50vv8acyzi8gig1mq5a8gzdib"))
+ (patches (search-patches "kvmfr-linux-module-fix-build.patch"))))
+ (build-system linux-module-build-system)
+ (inputs (list bash-minimal))
+ (arguments
+ (list
+ #:tests? #f ;there are none.
+ #:source-directory "module"))
+ (home-page "https://looking-glass.io/")
+ (synopsis
+ "Linux Kernel module to interface with Looking Glass")
+ (description
+ "This kernel module implements a basic interface to the IVSHMEM device for
+Looking Glass.")
+ (license license:gpl2+)))
+
(define-public obs-move-transition
(package
(name "obs-move-transition")