diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/xvfb-run')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/xvfb-run/default.nix | 65 | ||||
-rwxr-xr-x | nixpkgs/pkgs/tools/misc/xvfb-run/update.sh | 21 |
2 files changed, 86 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/xvfb-run/default.nix b/nixpkgs/pkgs/tools/misc/xvfb-run/default.nix new file mode 100644 index 000000000000..038cae8f39e6 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/xvfb-run/default.nix @@ -0,0 +1,65 @@ +{ 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.gpl2Only; + maintainers = [ maintainers.artturin ]; + mainProgram = "xvfb-run"; + }; +} diff --git a/nixpkgs/pkgs/tools/misc/xvfb-run/update.sh b/nixpkgs/pkgs/tools/misc/xvfb-run/update.sh new file mode 100755 index 000000000000..e592323154e2 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/xvfb-run/update.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl gnused nix-prefetch jq common-updater-scripts +# shellcheck shell=bash + +set -e + +info=$(nix-prefetch-git --quiet --url "https://github.com/archlinux/svntogit-packages" --rev "refs/heads/packages/xorg-server") + +rev=$(jq -r '.rev' <<< "$info") +sha256=$(nix hash to-sri --type sha256 "$(jq -r '.sha256' <<< "$info")") +dir=$(jq -r '.path' <<< "$info") + +newXvfbsha=$(sha256sum "$dir/trunk/xvfb-run") +oldXvfbsha=$(sha256sum "$(nix build --quiet ".#xvfb-run.src" --json --no-link | jq -r '.[].outputs.out')/trunk/xvfb-run") + +if [[ "$newXvfbsha" != "$oldXvfbsha" ]]; then + ( + cd "$(git rev-parse --show-toplevel)" + update-source-version xvfb-run "1+g${rev:0:7}" "$sha256" --rev="$rev" + ) +fi |