1{
2 lib,
3 stdenv,
4 fetchurl,
5 gtk2,
6 pkg-config,
7 procps,
8 makeWrapper,
9 ...
10}:
11
12stdenv.mkDerivation rec {
13 pname = "xbindkeys-config";
14 version = "0.1.3";
15
16 # Workaround build failure on -fno-common toolchains like upstream
17 # gcc-10.
18 env.NIX_CFLAGS_COMPILE = "-fcommon";
19
20 nativeBuildInputs = [
21 pkg-config
22 makeWrapper
23 ];
24 buildInputs = [ gtk2 ];
25
26 src = fetchurl {
27 url = "mirror://debian/pool/main/x/xbindkeys-config/xbindkeys-config_${version}.orig.tar.gz";
28 sha256 = "1rs3li2hyig6cdzvgqlbz0vw6x7rmgr59qd6m0cvrai8xhqqykda";
29 };
30
31 hardeningDisable = [ "format" ];
32
33 meta = {
34 homepage = "https://packages.debian.org/source/xbindkeys-config";
35 description = "Graphical interface for configuring xbindkeys";
36 license = lib.licenses.gpl2Plus;
37 maintainers = with lib.maintainers; [ benley ];
38 platforms = with lib.platforms; linux;
39 mainProgram = "xbindkeys-config";
40 };
41
42 patches = [ ./xbindkeys-config-patch1.patch ];
43
44 # killall is dangerous on non-gnu platforms. Use pkill instead.
45 postPatch = ''
46 substituteInPlace middle.c --replace "killall" "pkill -x"
47 '';
48
49 installPhase = ''
50 mkdir -p $out/bin $out/share/man/man1
51 gzip -c ${./xbindkeys-config.1} > $out/share/man/man1/xbindkeys-config.1.gz
52 cp xbindkeys_config $out/bin/xbindkeys-config
53 wrapProgram $out/bin/xbindkeys-config --prefix PATH ":" "${procps}/bin"
54 '';
55}