libuiohook: init at 1.2.2
This commit is contained in:
parent
28778e05a0
commit
4f82bcc822
@ -279,6 +279,7 @@ in {
|
||||
libresprite = handleTest ./libresprite.nix {};
|
||||
libreswan = handleTest ./libreswan.nix {};
|
||||
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
|
||||
libuiohook = handleTest ./libuiohook.nix {};
|
||||
lidarr = handleTest ./lidarr.nix {};
|
||||
lightdm = handleTest ./lightdm.nix {};
|
||||
limesurvey = handleTest ./limesurvey.nix {};
|
||||
|
21
nixos/tests/libuiohook.nix
Normal file
21
nixos/tests/libuiohook.nix
Normal file
@ -0,0 +1,21 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "libuiohook";
|
||||
meta = with lib.maintainers; { maintainers = [ anoa ]; };
|
||||
|
||||
nodes.client = { nodes, ... }:
|
||||
let user = nodes.client.config.users.users.alice;
|
||||
in {
|
||||
imports = [ ./common/user-account.nix ./common/x11.nix ];
|
||||
|
||||
environment.systemPackages = [ pkgs.libuiohook.test ];
|
||||
|
||||
test-support.displayManager.auto.user = user.name;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }:
|
||||
let user = nodes.client.config.users.users.alice;
|
||||
in ''
|
||||
client.wait_for_x()
|
||||
client.succeed("su - alice -c ${pkgs.libuiohook.test}/share/uiohook_tests >&2 &")
|
||||
'';
|
||||
})
|
71
pkgs/development/libraries/libuiohook/default.nix
Normal file
71
pkgs/development/libraries/libuiohook/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, nixosTests
|
||||
, cmake
|
||||
, pkg-config
|
||||
, AppKit
|
||||
, ApplicationServices
|
||||
, Carbon
|
||||
, libX11
|
||||
, libxkbcommon
|
||||
, xinput
|
||||
, xorg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libuiohook";
|
||||
version = "1.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kwhat";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1qlz55fp4i9dd8sdwmy1m8i4i1jy1s09cpmlxzrgf7v34w72ncm7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs =
|
||||
if stdenv.isDarwin then [ AppKit ApplicationServices Carbon ]
|
||||
else [
|
||||
libX11
|
||||
libxkbcommon
|
||||
xinput
|
||||
] ++
|
||||
(with xorg; [
|
||||
libXau
|
||||
libXdmcp
|
||||
libXi
|
||||
libXinerama
|
||||
libXt
|
||||
libXtst
|
||||
libXext
|
||||
libxkbfile
|
||||
]);
|
||||
|
||||
outputs = [ "out" "test" ];
|
||||
|
||||
# We build the tests, but they're only installed when using the "test" output.
|
||||
# This will produce a "uiohook_tests" binary which can be run to test the
|
||||
# functionality of the library on the current system.
|
||||
# Running the test binary requires a running X11 session.
|
||||
cmakeFlags = [
|
||||
"-DENABLE_TEST:BOOL=ON"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $test/share
|
||||
cp ./uiohook_tests $test/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A C library to provide global keyboard and mouse hooks from userland";
|
||||
homepage = "https://github.com/kwhat/libuiohook";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ anoa ];
|
||||
};
|
||||
|
||||
passthru.tests.libuiohook = nixosTests.libuiohook;
|
||||
}
|
@ -19662,6 +19662,10 @@ with pkgs;
|
||||
|
||||
libuinputplus = callPackage ../development/libraries/libuinputplus { };
|
||||
|
||||
libuiohook = callPackage ../development/libraries/libuiohook {
|
||||
inherit (darwin.apple_sdk.frameworks) AppKit ApplicationServices Carbon;
|
||||
};
|
||||
|
||||
libunistring = callPackage ../development/libraries/libunistring { };
|
||||
|
||||
libupnp = callPackage ../development/libraries/pupnp { };
|
||||
|
Loading…
Reference in New Issue
Block a user