nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 pkg-config,
6 xorgproto,
7 libx11,
8 libxrandr,
9 writeScript,
10}:
11stdenv.mkDerivation (finalAttrs: {
12 pname = "xev";
13 version = "1.2.6";
14
15 src = fetchurl {
16 url = "mirror://xorg/individual/app/xev-${finalAttrs.version}.tar.xz";
17 hash = "sha256-YeHF4AismXOsp83d826d90EOdwg7Aw6wT03HN8UYB9c=";
18 };
19
20 strictDeps = true;
21 nativeBuildInputs = [ pkg-config ];
22 buildInputs = [
23 xorgproto
24 libx11
25 libxrandr
26 ];
27
28 passthru = {
29 updateScript = writeScript "update-${finalAttrs.pname}" ''
30 #!/usr/bin/env nix-shell
31 #!nix-shell -i bash -p common-updater-scripts
32 version="$(list-directory-versions --pname ${finalAttrs.pname} \
33 --url https://xorg.freedesktop.org/releases/individual/app/ \
34 | sort -V | tail -n1)"
35 update-source-version ${finalAttrs.pname} "$version"
36 '';
37 };
38
39 meta = {
40 description = "X event monitor";
41 longDescription = ''
42 xev creates a window and then asks the X server to send it X11 events whenever anything
43 happens to the window (such as it being moved, resized, typed in, clicked in, etc.).
44 You can also attach it to an existing window. It is useful for seeing what causes events to
45 occur and to display the information that they contain; it is essentially a debugging and
46 development tool, and should not be needed in normal usage.
47 '';
48 homepage = "https://gitlab.freedesktop.org/xorg/app/xev";
49 license = lib.licenses.x11;
50 mainProgram = "xev";
51 maintainers = [ ];
52 platforms = lib.platforms.unix;
53 };
54})