diff --git a/backports/looking-glass/APKBUILD b/backports/looking-glass/APKBUILD new file mode 100644 index 0000000..73f00bb --- /dev/null +++ b/backports/looking-glass/APKBUILD @@ -0,0 +1,97 @@ +# Contributor: Rogério da Silva Yokomizo +# Contributor: Antoine Martin (ayakael) +# Maintainer: Rogério da Silva Yokomizo +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 < "$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 +" diff --git a/backports/looking-glass/looking-glass.post-deinstall b/backports/looking-glass/looking-glass.post-deinstall new file mode 100644 index 0000000..f193065 --- /dev/null +++ b/backports/looking-glass/looking-glass.post-deinstall @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/sbin/akms uninstall kvmfr diff --git a/backports/looking-glass/missing-includes.patch b/backports/looking-glass/missing-includes.patch new file mode 100644 index 0000000..635752c --- /dev/null +++ b/backports/looking-glass/missing-includes.patch @@ -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 + #include + #include ++#include + #include + + #include +--- 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 ++#include + + #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 ++#include + + #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 ++#include + + 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 ++#include + + 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 ++ + 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 ++ + 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 + #include ++#include + + 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 + #include + #include ++#include + #include + #include + diff --git a/backports/looking-glass/module_1075-fix-build-linux64.patch b/backports/looking-glass/module_1075-fix-build-linux64.patch new file mode 100644 index 0000000..bf594b5 --- /dev/null +++ b/backports/looking-glass/module_1075-fix-build-linux64.patch @@ -0,0 +1,25 @@ +From e32b292cc1ba089db6ed28e4d5eb0fc8cc4c2235 Mon Sep 17 00:00:00 2001 +From: esi +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; diff --git a/backports/looking-glass/module_1124-fix-build-linux610.patch b/backports/looking-glass/module_1124-fix-build-linux610.patch new file mode 100644 index 0000000..c194c78 --- /dev/null +++ b/backports/looking-glass/module_1124-fix-build-linux610.patch @@ -0,0 +1,23 @@ +From 7305ce36af211220419eeab302ff28793d515df2 Mon Sep 17 00:00:00 2001 +From: Geoffrey McRae +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 + #include + #include ++#include + + #include + diff --git a/backports/looking-glass/obs-plugins-lib.patch b/backports/looking-glass/obs-plugins-lib.patch new file mode 100644 index 0000000..1390adb --- /dev/null +++ b/backports/looking-glass/obs-plugins-lib.patch @@ -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) diff --git a/backports/looking-glass/werror.patch b/backports/looking-glass/werror.patch new file mode 100644 index 0000000..436419f --- /dev/null +++ b/backports/looking-glass/werror.patch @@ -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" + "$<$:-Wstrict-prototypes>" + "$<$:-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"