diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/nix/nix-output-monitor/update.sh')
-rwxr-xr-x | nixpkgs/pkgs/tools/nix/nix-output-monitor/update.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/nix/nix-output-monitor/update.sh b/nixpkgs/pkgs/tools/nix/nix-output-monitor/update.sh new file mode 100755 index 000000000000..ad5da0000300 --- /dev/null +++ b/nixpkgs/pkgs/tools/nix/nix-output-monitor/update.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p cabal2nix curl jq alejandra +# +# This script will update the nix-output-monitor derivation to the latest version using +# cabal2nix. + +set -eo pipefail + +# This is the directory of this update.sh script. +script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +derivation_file="${script_dir}/default.nix" + +# This is the latest released version of nix-output-monitor on GitHub. +new_version=$(curl --silent "https://api.github.com/repos/maralorn/nix-output-monitor/releases" | jq '.[0].tag_name' --raw-output) + +echo "Updating nix-output-monitor to version $new_version." +echo "Running cabal2nix and outputting to ${derivation_file}..." + +cat > "$derivation_file" << EOF +# This file has been autogenerate with cabal2nix. +# Update via ./update.sh" +EOF + +cabal2nix \ + --extra-arguments expect \ + --extra-arguments runtimeShell\ + --extra-arguments installShellFiles\ + --maintainer maralorn \ + "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/${new_version}.tar.gz" \ + | head -n-1 >> "$derivation_file" + +cat >> "$derivation_file" << EOF + passthru.updateScript = ./update.sh; + testTarget = "unit-tests"; + buildTools = [ installShellFiles ]; + postInstall = '' + cat > \$out/bin/nom-build << EOF + #!\${runtimeShell} + \${expect}/bin/unbuffer nix-build "\\\$@" 2>&1 | exec \$out/bin/nom + EOF + chmod a+x \$out/bin/nom-build + installShellCompletion --zsh --name _nom-build \${builtins.toFile "completion.zsh" '' + #compdef nom-build + compdef nom-build=nix-build + ''} + ''; +} +EOF + +alejandra "${derivation_file}" | cat + +echo "Finished." |