Support Changes to nix derivation show

The output of the nix derivation show command has changed from outputting the absolute paths of derivations to only their file names.

From my looking through the code this doesn't seem to be that big of an issue and derivations are only looked up twice, I made a quick fix for personal use but it's not very readable (explicit path parsing might help maintainability) and I'm unsure if any of the code downstream assumed derivation paths are absolute.

Previous behavior (pre v2.32.2):

[nix-shell:~/Code/test_stuff]$ nix derivation show /nix/store/zzs08za0xnjs0wzrv68n03k56lssfls8-pkexec.drv
{
  "/nix/store/zzs08za0xnjs0wzrv68n03k56lssfls8-pkexec.drv": {
    "args": [
      "-e",
      "/nix/store/vj1c3wf9c11a0qs6p3ymfvrnsdgsdcbq-source-stdenv.sh",
      "/nix/store/shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh"
    ],
    "builder": "/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash",
    "env": {
      "__structuredAttrs": "",
      "allowSubstitutes": "",
      "buildCommand": "mkdir -p $out\ncd $out\nmkdir -p \"$(dirname pkexec)\"\nln -s /run/wrappers/bin/pkexec pkexec\n\n",
      "buildInputs": "",
      "builder": "/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash",
      "cmakeFlags": "",
      "configureFlags": "",
      "depsBuildBuild": "",
      "depsBuildBuildPropagated": "",
      "depsBuildTarget": "",
      "depsBuildTargetPropagated": "",
      "depsHostHost": "",
      "depsHostHostPropagated": "",
      "depsTargetTarget": "",
      "depsTargetTargetPropagated": "",
      "doCheck": "",
      "doInstallCheck": "",
      "enableParallelBuilding": "1",
      "enableParallelChecking": "1",
      "enableParallelInstalling": "1",
      "mesonFlags": "",
      "name": "pkexec",
      "nativeBuildInputs": "",
      "out": "/nix/store/zzrii6k5as394skms8jr8ar18k4khnaf-pkexec",
      "outputs": "out",
      "passAsFile": "buildCommand",
      "patches": "",
      "preferLocalBuild": "1",
      "propagatedBuildInputs": "",
      "propagatedNativeBuildInputs": "",
      "stdenv": "/nix/store/7iirrwzdlzrhwh2b7dlkd6y65riyg4cc-stdenv-linux",
      "strictDeps": "",
      "system": "x86_64-linux"
    },
    "inputDrvs": {
      "/nix/store/2w19blxq7a1sznh1hszcskji12a42277-bash-5.2p37.drv": {
        "dynamicOutputs": {},
        "outputs": [
          "out"
        ]
      },
      "/nix/store/j2c9icqxbadyawrycqylwrj6zcaxmrzf-stdenv-linux.drv": {
        "dynamicOutputs": {},
        "outputs": [
          "out"
        ]
      }
    },
    "inputSrcs": [
      "/nix/store/shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh",
      "/nix/store/vj1c3wf9c11a0qs6p3ymfvrnsdgsdcbq-source-stdenv.sh"
    ],
    "name": "pkexec",
    "outputs": {
      "out": {
        "path": "/nix/store/zzrii6k5as394skms8jr8ar18k4khnaf-pkexec"
      }
    },
    "system": "x86_64-linux"
  }
}

Current Output:

ch1n3du@ch1n3du-ebisu-nixos: ~/Code/test_shit 
➜ nix derivation show /nix/store/zzs08za0xnjs0wzrv68n03k56lssfls8-pkexec.drv
{
  "zzs08za0xnjs0wzrv68n03k56lssfls8-pkexec.drv": {
    "args": [
      "-e",
      "/nix/store/vj1c3wf9c11a0qs6p3ymfvrnsdgsdcbq-source-stdenv.sh",
      "/nix/store/shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh"
    ],
    "builder": "/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash",
    "env": {
      "__structuredAttrs": "",
      "allowSubstitutes": "",
      "buildCommand": "mkdir -p $out\ncd $out\nmkdir -p \"$(dirname pkexec)\"\nln -s /run/wrappers/bin/pkexec pkexec\n\n",
      "buildInputs": "",
      "builder": "/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash",
      "cmakeFlags": "",
      "configureFlags": "",
      "depsBuildBuild": "",
      "depsBuildBuildPropagated": "",
      "depsBuildTarget": "",
      "depsBuildTargetPropagated": "",
      "depsHostHost": "",
      "depsHostHostPropagated": "",
      "depsTargetTarget": "",
      "depsTargetTargetPropagated": "",
      "doCheck": "",
      "doInstallCheck": "",
      "enableParallelBuilding": "1",
      "enableParallelChecking": "1",
      "enableParallelInstalling": "1",
      "mesonFlags": "",
      "name": "pkexec",
      "nativeBuildInputs": "",
      "out": "/nix/store/zzrii6k5as394skms8jr8ar18k4khnaf-pkexec",
      "outputs": "out",
      "passAsFile": "buildCommand",
      "patches": "",
      "preferLocalBuild": "1",
      "propagatedBuildInputs": "",
      "propagatedNativeBuildInputs": "",
      "stdenv": "/nix/store/7iirrwzdlzrhwh2b7dlkd6y65riyg4cc-stdenv-linux",
      "strictDeps": "",
      "system": "x86_64-linux"
    },
    "inputDrvs": {
      "2w19blxq7a1sznh1hszcskji12a42277-bash-5.2p37.drv": {
        "dynamicOutputs": {},
        "outputs": [
          "out"
        ]
      },
      "j2c9icqxbadyawrycqylwrj6zcaxmrzf-stdenv-linux.drv": {
        "dynamicOutputs": {},
        "outputs": [
          "out"
        ]
      }
    },
    "inputSrcs": [
      "shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh",
      "vj1c3wf9c11a0qs6p3ymfvrnsdgsdcbq-source-stdenv.sh"
    ],
    "name": "pkexec",
    "outputs": {
      "out": {
        "path": "zzrii6k5as394skms8jr8ar18k4khnaf-pkexec"
      }
    },
    "system": "x86_64-linux",
    "version": 3
  }
}

Merge request reports

Loading