push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
withLibei ? !stdenv.hostPlatform.isDarwin,
avahi,
curl,
libICE,
libSM,
libX11,
libXdmcp,
libXext,
libXinerama,
libXrandr,
libXtst,
libei,
libportal,
openssl,
pkgsStatic,
pkg-config,
qtbase,
qttools,
wrapGAppsHook3,
wrapQtAppsHook,
}:
stdenv.mkDerivation rec {
pname = "input-leap";
version = "3.0.3";
src = fetchFromGitHub {
owner = "input-leap";
repo = "input-leap";
rev = "v${version}";
hash = "sha256-zSaeeMlhpWIX3y4OmZ7eHXCu1HPP7NU5HFkME/JZjuQ=";
fetchSubmodules = true;
};
patches = [ ./macos-no-dmg.patch ];
nativeBuildInputs = [
pkg-config
cmake
wrapGAppsHook3
wrapQtAppsHook
qttools
];
buildInputs = [
curl
qtbase
avahi
libX11
libXext
libXtst
libXinerama
libXrandr
libXdmcp
libICE
libSM
]
++ lib.optionals withLibei [
libei
libportal
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
pkgsStatic.openssl
];
cmakeFlags = [
"-DINPUTLEAP_REVISION=${builtins.substring 0 8 src.rev}"
]
++ lib.optional withLibei "-DINPUTLEAP_BUILD_LIBEI=ON";
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
--prefix PATH : "${lib.makeBinPath [ openssl ]}"
)
'';
meta = {
description = "Open-source KVM software";
longDescription = ''
Input Leap is software that mimics the functionality of a KVM switch, which historically
would allow you to use a single keyboard and mouse to control multiple computers by
physically turning a dial on the box to switch the machine you're controlling at any
given moment. Input Leap does this in software, allowing you to tell it which machine
to control by moving your mouse to the edge of the screen, or by using a keypress
to switch focus to a different system.
'';
homepage = "https://github.com/input-leap/input-leap";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
phryneas
twey
shymega
];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}

View File

@@ -0,0 +1,22 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ab4e56f2..d01d946d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -289,17 +289,6 @@ endmacro (configure_files)
# Make a bundle for mac os
if (APPLE)
set (CMAKE_INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks")
- set(INPUTLEAP_BUNDLE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dist/macos/bundle)
- set(INPUTLEAP_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle)
- set(INPUTLEAP_BUNDLE_APP_DIR ${INPUTLEAP_BUNDLE_DIR}/InputLeap.app)
- set(INPUTLEAP_BUNDLE_BINARY_DIR ${INPUTLEAP_BUNDLE_APP_DIR}/Contents/MacOS)
-
- configure_files(${INPUTLEAP_BUNDLE_SOURCE_DIR} ${INPUTLEAP_BUNDLE_DIR})
-
- add_custom_target(InputLeap_MacOS ALL
- bash build_dist.sh
- DEPENDS input-leap input-leaps input-leapc
- WORKING_DIRECTORY ${INPUTLEAP_BUNDLE_DIR})
elseif (UNIX AND NOT APPLE)
install(FILES doc/input-leapc.1 doc/input-leaps.1 DESTINATION share/man/man1)