about summary refs log tree commit diff
path: root/pkgs/tools/misc/xvfb-run/default.nix
blob: 7b58b9c2d93cccf4ead15b2bdf6b09d296e04e23 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{ lib
, stdenvNoCC
, fetchFromGitHub
, makeWrapper
, xorgserver
, getopt
, xauth
, util-linux
, which
, fontsConf
, gawk
, coreutils
, installShellFiles
, xterm
}:
stdenvNoCC.mkDerivation rec {
  pname = "xvfb-run";
  version = "1+g87f6705";

  src = fetchFromGitHub {
    owner = "archlinux";
    repo = "svntogit-packages";
    rev = "87f67054c49b32511893acd22be94c47ecd44b4a";
    sha256 = "sha256-KEg92RYgJd7naHFDKbdXEy075bt6NLcmX8VhQROHVPs=";
  };

  nativeBuildInputs = [ makeWrapper installShellFiles ];

  dontUnpack = true;
  dontBuild = true;
  dontConfigure = true;

  installPhase = ''
    mkdir -p $out/bin
    cp $src/trunk/xvfb-run $out/bin/xvfb-run
    installManPage $src/trunk/xvfb-run.1

    chmod a+x $out/bin/xvfb-run
    patchShebangs $out/bin/xvfb-run
    wrapProgram $out/bin/xvfb-run \
      --set FONTCONFIG_FILE "${fontsConf}" \
      --prefix PATH : ${lib.makeBinPath [ getopt xorgserver xauth which util-linux gawk coreutils ]}
  '';

  doInstallCheck = true;
  installCheckPhase = ''
    (
      unset PATH
      echo "running xterm with xvfb-run"
      $out/bin/xvfb-run ${lib.getBin xterm}/bin/xterm -e true
    )
  '';

  passthru = {
    updateScript = ./update.sh;
  };

  meta = with lib; {
    description = "Convenience script to run a virtualized X-Server";
    platforms = platforms.linux;
    license = licenses.gpl2;
    maintainers = [ maintainers.artturin ];
  };
}