backports/looking-glass: new aport

This commit is contained in:
Antoine Martin 2024-07-30 23:37:50 -04:00
parent 55561483a6
commit 20e50f06fc
Signed by: forge
GPG key ID: D62A472A4AA7D541
7 changed files with 275 additions and 0 deletions

View file

@ -0,0 +1,97 @@
# Contributor: Rogério da Silva Yokomizo <me@ro.ger.io>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Maintainer: Rogério da Silva Yokomizo <me@ro.ger.io>
pkgname=looking-glass
_pkgver=B6
pkgver=6b
pkgrel=3
pkgdesc="Allows the use of a KVM configured for VGA PCI Pass-through without an attached physical monitor, keyboard or mouse"
url="https://looking-glass.io/"
arch="x86_64"
license="GPL-2.0-or-later"
makedepends="
cmake
fontconfig-dev
libsamplerate-dev
libx11-dev
libxcursor-dev
libxfixes-dev
libxi-dev
libxinerama-dev
libxkbcommon-dev
libxpresent-dev
libxscrnsaver-dev
nettle-dev
obs-studio-dev
pipewire-dev
pulseaudio-dev
samurai
spice-dev
wayland-dev
wayland-protocols
"
source="$pkgname-$_pkgver.tar.gz::https://looking-glass.io/artifact/$_pkgver/source
missing-includes.patch
obs-plugins-lib.patch
werror.patch
module_1075-fix-build-linux64.patch
module_1124-fix-build-linux610.patch
"
subpackages="$pkgname-obs $pkgname-module"
builddir="$srcdir/$pkgname-$_pkgver"
options="!check" # There are no tests nor --version.
build() {
cmake -S client -B build-client -G Ninja \
-DENABLE_BACKTRACE=OFF \
-DOPTIMIZE_FOR_NATIVE=OFF \
-DCMAKE_INSTALL_PREFIX=/usr
cmake -S obs -B build-obs -G Ninja \
-DENABLE_BACKTRACE=OFF \
-DOPTIMIZE_FOR_NATIVE=OFF \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build-client
cmake --build build-obs
}
package() {
DESTDIR="$pkgdir" cmake --install build-client
DESTDIR="$pkgdir" cmake --install build-obs
}
module() {
pkgdesc="Looking Glass kernel module (AKMS)"
depends="akms"
install_if="looking-glass=$pkgver-r$pkgrel"
_modver=$(awk -F "=" '{if($1=="PACKAGE_VERSION"){print $2}}' src/looking-glass-B6/module/dkms.conf | tr -d '"')
install -Dm644 "$builddir"/module/Makefile "$subpkgdir"/usr/src/looking-glass/Makefile
install -Dm644 "$builddir"/module/kvmfr* "$subpkgdir"/usr/src/looking-glass/.
cat ->> "$subpkgdir"/usr/src/looking-glass/AKMBUILD <<EOF
modname=kvmfr
modver=$_modver
built_modules='kvmfr.ko'
EOF
chmod -R u=rwX,go=rX-w "$subpkgdir"/usr/src/looking-glass
mkdir -p "$subpkgdir"/etc/udev/rules.d
echo 'SUBSYSTEM=="kvmfr", OWNER="root", GROUP="kvm", MODE="0660"' > "$subpkgdir"/etc/udev/rules.d/99-kvmfr.rules
}
obs() {
pkgdesc="$pkgdesc (obs plugin)"
amove usr/lib/obs-plugins
}
sha512sums="
558981d6b32098076ef0775a748da349941551352cbef836e37310e43e5cd6072df3dec6fa2418a9abecc7729ef0c1c6869e3168d05a3d76bea46c6eb8c4e82c looking-glass-B6.tar.gz
6d2449764a8316dd3c1b5cc0aa552671068f89ed2f95297f3c5256af8529b93e5ec7af8f979bd2e744fd09b11063e8a93f3ed26284f0e49294e467ca10f6e772 missing-includes.patch
33c5463412a16691f47d7833ebf81d7cf20c560a077dca141dcc9f02a5d6dfb676e483835f39a06012b114be9f509dda4614fe253bb1c72a0142e82dc265a5ca obs-plugins-lib.patch
b952d1fd284aed15bcfe7990f160dec3a4565fb5833ce339920f62de6bb46fbc09265a0a79fe80d212eecc6a1813614e1e193a8846c37e2afd18431dc3a89ca4 werror.patch
1b9d9f7f1054df3af43f989018aa86505ceb69052aad2e328f882a7c4ac1c6581633ea4e9e6d9ca88ce4ca38dd8e2ba00234e7eaf9bbaf50fdd40ee18b4c41ef module_1075-fix-build-linux64.patch
0b4540aec6595ac11c9298634a82dad968ea37024cd398d2de8c58f3128a7a3097ec03a19419ebe9df2d721ab12c2a2bb6ef1fd32d55c6fd78f7ff99ee23c5f6 module_1124-fix-build-linux610.patch
"

View file

@ -0,0 +1,2 @@
#!/bin/sh
exec /usr/sbin/akms uninstall kvmfr

View file

@ -0,0 +1,92 @@
--- a/repos/PureSpice/src/agent.c
+++ b/repos/PureSpice/src/agent.c
@@ -31,6 +31,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <assert.h>
#include <sys/ioctl.h>
--- a/repos/PureSpice/src/channel_cursor.c
+++ b/repos/PureSpice/src/channel_cursor.c
@@ -25,6 +25,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include "channel_cursor.h"
#include <stdlib.h>
+#include <string.h>
#include "messages.h"
--- a/repos/PureSpice/src/channel_display.c
+++ b/repos/PureSpice/src/channel_display.c
@@ -19,6 +19,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include "purespice.h"
#include <stdlib.h>
+#include <string.h>
#include "ps.h"
#include "log.h"
--- a/repos/PureSpice/src/channel_inputs.c
+++ b/repos/PureSpice/src/channel_inputs.c
@@ -25,6 +25,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include "messages.h"
#include <stdlib.h>
+#include <string.h>
const SpiceLinkHeader * channelInputs_getConnectPacket(void)
{
--- a/repos/PureSpice/src/channel_main.c
+++ b/repos/PureSpice/src/channel_main.c
@@ -24,6 +24,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include "messages.h"
#include <stdlib.h>
+#include <string.h>
struct ChannelMain
{
--- a/repos/PureSpice/src/channel_playback.c
+++ b/repos/PureSpice/src/channel_playback.c
@@ -26,6 +26,8 @@ Place, Suite 330, Boston, MA 02111-1307
#include "messages.h"
+#include <string.h>
+
const SpiceLinkHeader * channelPlayback_getConnectPacket(void)
{
typedef struct
--- a/repos/PureSpice/src/channel_record.c
+++ b/repos/PureSpice/src/channel_record.c
@@ -26,6 +26,8 @@ Place, Suite 330, Boston, MA 02111-1307
#include "messages.h"
+#include <string.h>
+
const SpiceLinkHeader * channelRecord_getConnectPacket(void)
{
typedef struct
--- a/repos/PureSpice/src/log.c
+++ b/repos/PureSpice/src/log.c
@@ -25,6 +25,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include <stdarg.h>
#include <stdio.h>
+#include <string.h>
static void log_stdout(const char * file, unsigned int line,
const char * function, const char * format, ...)
--- a/repos/PureSpice/src/ps.c
+++ b/repos/PureSpice/src/ps.c
@@ -37,6 +37,7 @@ Place, Suite 330, Boston, MA 02111-1307
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <assert.h>
#include <errno.h>

View file

@ -0,0 +1,25 @@
From e32b292cc1ba089db6ed28e4d5eb0fc8cc4c2235 Mon Sep 17 00:00:00 2001
From: esi <git@esibun.net>
Date: Fri, 12 May 2023 16:28:01 -0400
Subject: [PATCH] [module] Fix build on Linux 6.4 (fixes #1075)
---
module/dkms.conf | 2 +-
module/kvmfr.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/module/kvmfr.c b/module/kvmfr.c
index ca0cca685..c711e000e 100644
--- a/module/kvmfr.c
+++ b/module/kvmfr.c
@@ -539,7 +539,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;

View file

@ -0,0 +1,23 @@
From 7305ce36af211220419eeab302ff28793d515df2 Mon Sep 17 00:00:00 2001
From: Geoffrey McRae <geoff@hostfission.com>
Date: Fri, 7 Jun 2024 19:01:38 +1000
Subject: [PATCH] [module] fix build on linux 6.10
Fixes #1124 - Thanks @pongo1231
---
module/dkms.conf | 2 +-
module/kvmfr.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/module/kvmfr.c b/module/kvmfr.c
index b5acd18de..c99a5d79c 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>

View file

@ -0,0 +1,12 @@
--- a/obs/CMakeLists.txt
+++ b/obs/CMakeLists.txt
@@ -84,7 +84,8 @@ target_link_libraries(looking-glass-obs
)
install(TARGETS looking-glass-obs
- LIBRARY DESTINATION ${OBS_PLUGIN_PREFIX}/${CMAKE_PROJECT_NAME}/bin/${OBS_PLUGIN_DIR}
+ # LIBRARY DESTINATION ${OBS_PLUGIN_PREFIX}/${CMAKE_PROJECT_NAME}/bin/${OBS_PLUGIN_DIR}
+ LIBRARY DESTINATION /usr/lib/obs-plugins
)
feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES)

View file

@ -0,0 +1,24 @@
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
index 836f814..7047365 100644
--- a/client/CMakeLists.txt
+++ b/client/CMakeLists.txt
@@ -68,7 +68,6 @@ add_compile_options(
"-Wno-unused-parameter"
"$<$<COMPILE_LANGUAGE:C>:-Wstrict-prototypes>"
"$<$<C_COMPILER_ID:GNU>:-Wimplicit-fallthrough=2>"
- "-Werror"
"-Wfatal-errors"
"-ffast-math"
"-fdata-sections"
diff --git a/obs/CMakeLists.txt b/obs/CMakeLists.txt
index 0491e65..60b37ff 100644
--- a/obs/CMakeLists.txt
+++ b/obs/CMakeLists.txt
@@ -18,7 +18,6 @@ add_feature_info(ENABLE_BACKTRACE ENABLE_BACKTRACE "Backtrace support.")
add_compile_options(
"-Wall"
- "-Werror"
"-Wfatal-errors"
"-ffast-math"
"-fdata-sections"