From 4908b1a604220a2e57938d4181c1b40fb3592740 Mon Sep 17 00:00:00 2001 From: "Travis A. Everett" Date: Sun, 21 Apr 2024 16:34:06 -0500 Subject: [PATCH] resholve: 0.10.2 -> 0.10.5 Also: - update README - expand passthru tests to cover packages that depend on resholve - drop temporary patches added to tests during bats update (so that PR didn't need to go through staging) --- pkgs/development/misc/resholve/README.md | 26 ++--- pkgs/development/misc/resholve/source.nix | 4 +- pkgs/development/misc/resholve/test.nix | 116 +++++++++++++++++++--- 3 files changed, 115 insertions(+), 31 deletions(-) diff --git a/pkgs/development/misc/resholve/README.md b/pkgs/development/misc/resholve/README.md index 734ff26d8c4e..3d8ae6d966f3 100644 --- a/pkgs/development/misc/resholve/README.md +++ b/pkgs/development/misc/resholve/README.md @@ -102,19 +102,19 @@ trivial, so I'll also link to some real-world examples: ```nix { resholvedScript = resholve.writeScript "name" { - inputs = [ file ]; - interpreter = "${bash}/bin/bash"; - } '' - echo "Hello" - file . - ''; + inputs = [ file ]; + interpreter = "${bash}/bin/bash"; + } '' + echo "Hello" + file . + ''; resholvedScriptBin = resholve.writeScriptBin "name" { - inputs = [ file ]; - interpreter = "${bash}/bin/bash"; - } '' - echo "Hello" - file . - ''; + inputs = [ file ]; + interpreter = "${bash}/bin/bash"; + } '' + echo "Hello" + file . + ''; } ``` @@ -230,7 +230,7 @@ from the manpage, and the Nix equivalents: # all single-word directives use `true` as value aliases = true; "$GIT" = [ "gix" ]; - interpreter = "/bin/bash"; + "/bin/bash" = true; }; # --keep 'source:$HOME /etc/bashrc ~/.bashrc' diff --git a/pkgs/development/misc/resholve/source.nix b/pkgs/development/misc/resholve/source.nix index 1492e3685779..7d843d61b163 100644 --- a/pkgs/development/misc/resholve/source.nix +++ b/pkgs/development/misc/resholve/source.nix @@ -3,11 +3,11 @@ }: rec { - version = "0.10.2"; + version = "0.10.5"; rSrc = fetchFromGitHub { owner = "abathur"; repo = "resholve"; rev = "v${version}"; - hash = "sha256-QXIX3Ai9HUFosvhfYTUJILZ588cvxTzULUUp1LYkQ0A="; + hash = "sha256-SzJbA0wLeSwvXnAE4bTNqh0tnpFPkn6N1hp7sZGAkB4="; }; } diff --git a/pkgs/development/misc/resholve/test.nix b/pkgs/development/misc/resholve/test.nix index e9551b5be2a9..887c4e45cd88 100644 --- a/pkgs/development/misc/resholve/test.nix +++ b/pkgs/development/misc/resholve/test.nix @@ -18,7 +18,6 @@ , gettext , rSrc , runDemo ? false -, fetchpatch , binlore , sqlite , unixtools @@ -26,6 +25,39 @@ , rlwrap , gnutar , bc +# override testing +, esh +, getconf +, libarchive +, locale +, mount +, ncurses +, nixos-install-tools +, nixos-rebuild +, procps +, ps +# known consumers +, aaxtomp3 +, arch-install-scripts +, bashup-events32 +, dgoss +, git-ftp +, ix +, lesspipe +, locate-dominating-file +, mons +, msmtp +, nix-direnv +, pdf2odt +, pdfmm +, rancid +, s0ix-selftest-tool +, unix-privesc-check +, wgnord +, wsl-vpnkit +, xdg-utils +, yadm +, zxfer }: let @@ -123,21 +155,6 @@ rec { name = "resholve-test"; src = rSrc; - # TODO: should be removable on next resholve update--just - # temporarily work around test breaks caused by changes in - # bats 1.10.0. Since this is just about fixing tests, I'm - # patching test source to avoid going through staging. - patches = [ - (fetchpatch { - url = "https://github.com/abathur/resholve/commit/e1d6ccbc9cd5ec26122997610954dcb7d826f652.patch"; - hash = "sha256-XA9KUc/OAD2S8Vpt+C7KcjTP44rnZ4FLdgnnRqVWdWY="; - }) - (fetchpatch { - url = "https://github.com/abathur/resholve/commit/50db1a6a97baa7d7543a8abe33dddda62b487c65.patch"; - hash = "sha256-m1dKaLI02Wag7uacG4BkcdCXw30Kn6J4ydTqPd7bsak="; - }) - ]; - dontBuild = true; installPhase = '' @@ -206,4 +223,71 @@ rec { echo "Hello" file . ''; + # spot-check lore overrides + loreOverrides = resholve.writeScriptBin "verify-overrides" { + inputs = [ + coreutils + esh + getconf + libarchive + locale + mount + ncurses + procps + ps + ] ++ lib.optionals stdenv.isLinux [ + nixos-install-tools + nixos-rebuild + ]; + interpreter = "none"; + execer = [ + "cannot:${esh}/bin/esh" + ]; + fix = { + mount = true; + }; + } ('' + env b2sum fake args + b2sum fake args + esh fake args + getconf fake args + bsdtar fake args + locale fake args + mount fake args + reset fake args + tput fake args + tset fake args + ps fake args + top fake args + '' + lib.optionalString stdenv.isLinux '' + nixos-generate-config fake args + nixos-rebuild fake args + ''); + + # ensure known consumers in nixpkgs keep working + inherit aaxtomp3; + inherit bashup-events32; + inherit bats; + inherit git-ftp; + inherit ix; + inherit lesspipe; + inherit locate-dominating-file; + inherit mons; + inherit msmtp; + inherit nix-direnv; + inherit pdf2odt; + inherit pdfmm; + inherit shunit2; + inherit xdg-utils; + inherit yadm; +} // lib.optionalAttrs stdenv.isLinux { + inherit arch-install-scripts; + inherit dgoss; + inherit rancid; + inherit unix-privesc-check; + inherit wgnord; + inherit wsl-vpnkit; + inherit zxfer; +} // lib.optionalAttrs (stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64)) { + inherit s0ix-selftest-tool; }