nixpkgs/pkgs/tools/misc/xvfb-run/default.nix
K900 43ebb05c57 xvfb: promote to proper package
This can (and should!) be used by more than just xvfb-run.
2024-06-23 13:59:26 +03:00

66 lines
1.4 KiB
Nix

{ lib
, stdenvNoCC
, fetchFromGitHub
, makeWrapper
, xorg
, 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-default FONTCONFIG_FILE "${fontsConf}" \
--prefix PATH : ${lib.makeBinPath [ getopt xorg.xvfb 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.gpl2Only;
maintainers = [ maintainers.artturin ];
mainProgram = "xvfb-run";
};
}