920bc7a2fd
Nix injects the environment variable FONTCONFIG_PATH to xvfb-run, in order to provide some miminmal font support to applications via fontconfig. This change only sets this environment variable if it is not given already. This allows the user to inject their own font configuration, i.e. allows them to make extra fonts available to the executed application. If not set, the minimal font configuration will still be provided.
65 lines
1.4 KiB
Nix
65 lines
1.4 KiB
Nix
{ 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-default 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 ];
|
|
mainProgram = "xvfb-run";
|
|
};
|
|
}
|