diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-14 17:00:13 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-14 17:00:13 +0000 |
commit | 3c8b5b62192b828c392e9122536d666e23278d8e (patch) | |
tree | 6302c4599c947dee9044e74f5f116aa927713c8f /perl/lib/Nix | |
parent | 5f80aea795d3f6f78d682c7b99453b6fb7c9b6ba (diff) | |
parent | 13e49be6602314fe5e5d7beb8a807d5d892e864e (diff) |
Merge remote-tracking branch 'upstream/master' into single-ca-drv-build
Diffstat (limited to 'perl/lib/Nix')
-rw-r--r-- | perl/lib/Nix/Store.xs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/perl/lib/Nix/Store.xs b/perl/lib/Nix/Store.xs index 6fe01fff0..8546f6307 100644 --- a/perl/lib/Nix/Store.xs +++ b/perl/lib/Nix/Store.xs @@ -80,7 +80,7 @@ SV * queryReferences(char * path) SV * queryPathHash(char * path) PPCODE: try { - auto s = store()->queryPathInfo(store()->parseStorePath(path))->narHash->to_string(Base32, true); + auto s = store()->queryPathInfo(store()->parseStorePath(path))->narHash.to_string(Base32, true); XPUSHs(sv_2mortal(newSVpv(s.c_str(), 0))); } catch (Error & e) { croak("%s", e.what()); @@ -106,7 +106,7 @@ SV * queryPathInfo(char * path, int base32) XPUSHs(&PL_sv_undef); else XPUSHs(sv_2mortal(newSVpv(store()->printStorePath(*info->deriver).c_str(), 0))); - auto s = info->narHash->to_string(base32 ? Base32 : Base16, true); + auto s = info->narHash.to_string(base32 ? Base32 : Base16, true); XPUSHs(sv_2mortal(newSVpv(s.c_str(), 0))); mXPUSHi(info->registrationTime); mXPUSHi(info->narSize); @@ -303,13 +303,12 @@ SV * derivationFromPath(char * drvPath) hash = newHV(); HV * outputs = newHV(); - for (auto & i : drv.outputs) { - auto pathOpt = i.second.pathOpt(*store(), drv.name); + for (auto & i : drv.outputsAndOptPaths(*store())) { hv_store( outputs, i.first.c_str(), i.first.size(), - !pathOpt + !i.second.second ? newSV(0) /* null value */ - : newSVpv(store()->printStorePath(*pathOpt).c_str(), 0), + : newSVpv(store()->printStorePath(*i.second.second).c_str(), 0), 0); } hv_stores(hash, "outputs", newRV((SV *) outputs)); |