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
This commit is contained in:
Oleg Pykhalov 2024-10-05 15:02:00 +03:00
parent 78de845aaa
commit 94e0028d6f
No known key found for this signature in database
GPG key ID: 167F8EA5001AFA9C
3 changed files with 71 additions and 1 deletions

View file

@ -17,7 +17,7 @@
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018, 2019, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018, 2019, 2020, 2021, 2022, 2024 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019, 2020, 2021, 2022, 2024 Guillaume Le Vaillant <glv@posteo.net>
@ -1644,6 +1644,7 @@ dist_patch_DATA = \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-mesa-eglchromium.patch \
%D%/packages/patches/krita-bump-sip-abi-version-to-12.8.patch \
%D%/packages/patches/kvmfr-linux-module-fix-build.patch \
%D%/packages/patches/kwin-unwrap-executable-name-for-dot-desktop-search.patch\
%D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/laby-use-tmpdir-from-runtime.patch \

View file

@ -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

View file

@ -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")