From 94e0028d6f0f60cc390b98866718245ebb197f54 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Sat, 5 Oct 2024 15:02:00 +0300 Subject: 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 --- .../patches/kvmfr-linux-module-fix-build.patch | 41 ++++++++++++++++++++++ gnu/packages/video.scm | 28 +++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/patches/kvmfr-linux-module-fix-build.patch (limited to 'gnu/packages') 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 +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 + #include + #include ++#include + + #include + +@@ -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 @@ (define-module (gnu packages video) #: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 @@ (define-public obs-looking-glass 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") -- cgit v1.2.3