Merge pull request #181660 from anoadragon453/anoa/libuiohook_init
libuiohook: init at 1.2.2
This commit is contained in:
commit
96728ff138
5 changed files with 104 additions and 0 deletions
|
@ -893,6 +893,13 @@
|
||||||
githubId = 661909;
|
githubId = 661909;
|
||||||
name = "Antonio Nuno Monteiro";
|
name = "Antonio Nuno Monteiro";
|
||||||
};
|
};
|
||||||
|
anoa = {
|
||||||
|
matrix = "@andrewm:amorgan.xyz";
|
||||||
|
email = "andrew@amorgan.xyz";
|
||||||
|
github = "anoadragon453";
|
||||||
|
githubId = 1342360;
|
||||||
|
name = "Andrew Morgan";
|
||||||
|
};
|
||||||
anpryl = {
|
anpryl = {
|
||||||
email = "anpryl@gmail.com";
|
email = "anpryl@gmail.com";
|
||||||
github = "anpryl";
|
github = "anpryl";
|
||||||
|
|
|
@ -279,6 +279,7 @@ in {
|
||||||
libresprite = handleTest ./libresprite.nix {};
|
libresprite = handleTest ./libresprite.nix {};
|
||||||
libreswan = handleTest ./libreswan.nix {};
|
libreswan = handleTest ./libreswan.nix {};
|
||||||
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
|
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
|
||||||
|
libuiohook = handleTest ./libuiohook.nix {};
|
||||||
lidarr = handleTest ./lidarr.nix {};
|
lidarr = handleTest ./lidarr.nix {};
|
||||||
lightdm = handleTest ./lightdm.nix {};
|
lightdm = handleTest ./lightdm.nix {};
|
||||||
limesurvey = handleTest ./limesurvey.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;
|
||||||
|
}
|
|
@ -19666,6 +19666,10 @@ with pkgs;
|
||||||
|
|
||||||
libuinputplus = callPackage ../development/libraries/libuinputplus { };
|
libuinputplus = callPackage ../development/libraries/libuinputplus { };
|
||||||
|
|
||||||
|
libuiohook = callPackage ../development/libraries/libuiohook {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) AppKit ApplicationServices Carbon;
|
||||||
|
};
|
||||||
|
|
||||||
libunistring = callPackage ../development/libraries/libunistring { };
|
libunistring = callPackage ../development/libraries/libunistring { };
|
||||||
|
|
||||||
libupnp = callPackage ../development/libraries/pupnp { };
|
libupnp = callPackage ../development/libraries/pupnp { };
|
||||||
|
|
Loading…
Reference in a new issue