slint-lsp: 1.9.1 -> 1.9.2 (#375714)
[NixPkgs.git] / pkgs / applications / audio / bucklespring / default.nix
bloba126c227f3467a35ba9d98e6d932f8a87ffab39c
2   lib,
3   stdenv,
4   fetchFromGitHub,
6   legacy ? false,
7   libinput,
9   pkg-config,
10   makeWrapper,
12   openal,
13   alure,
14   libXtst,
15   libX11,
18 let
19   inherit (lib) optionals;
21 stdenv.mkDerivation rec {
22   pname = "bucklespring";
23   version = "1.5.1";
25   src = fetchFromGitHub {
26     owner = "zevv";
27     repo = pname;
28     rev = "v${version}";
29     sha256 = "0prhqibivxzmz90k79zpwx3c97h8wa61rk5ihi9a5651mnc46mna";
30   };
32   nativeBuildInputs = [
33     pkg-config
34     makeWrapper
35   ];
37   buildInputs =
38     [
39       openal
40       alure
41     ]
42     ++ optionals (legacy) [
43       libXtst
44       libX11
45     ]
46     ++ optionals (!legacy) [ libinput ];
48   makeFlags = optionals (!legacy) [ "libinput=1" ];
50   installPhase = ''
51     runHook preInstall
53     mkdir -p $out/share/wav
54     cp -r $src/wav $out/share/.
55     install -D ./buckle.desktop $out/share/applications/buckle.desktop
56     install -D ./buckle $out/bin/buckle
57     wrapProgram $out/bin/buckle --add-flags "-p $out/share/wav"
59     runHook postInstall
60   '';
62   meta = with lib; {
63     description = "Nostalgia bucklespring keyboard sound";
64     mainProgram = "buckle";
65     longDescription = ''
66       When built with libinput (wayland or bare console),
67       users need to be in the input group to use this:
68       <code>users.users.alice.extraGroups = [ "input" ];</code>
69     '';
70     homepage = "https://github.com/zevv/bucklespring";
71     license = licenses.gpl2Only;
72     platforms = platforms.unix;
73     maintainers = [ maintainers.evils ];
74   };