aboutsummaryrefslogtreecommitdiff
path: root/perl/lib/Nix/Store.xs
diff options
context:
space:
mode:
authorMatthew Kenigsberg <matthewkenigsberg@gmail.com>2021-09-15 11:51:52 -0500
committerMatthew Kenigsberg <matthewkenigsberg@gmail.com>2021-09-15 11:58:06 -0500
commit3b82c1a5fef521ebadea5df12384390c8c24100c (patch)
tree67fd413bcf0b42c5ada7eddc41a04f7bd99df3a8 /perl/lib/Nix/Store.xs
parente023c985d58094041e74ff59a51757bc75687ca7 (diff)
parentd2c8eed34496b650935e4563ffe3174978bd22fc (diff)
Merge remote-tracking branch 'upstream/master' into auto-uid-allocation
Diffstat (limited to 'perl/lib/Nix/Store.xs')
-rw-r--r--perl/lib/Nix/Store.xs13
1 files changed, 13 insertions, 0 deletions
diff --git a/perl/lib/Nix/Store.xs b/perl/lib/Nix/Store.xs
index ad9042a2a..edbf12f7c 100644
--- a/perl/lib/Nix/Store.xs
+++ b/perl/lib/Nix/Store.xs
@@ -15,6 +15,7 @@
#include "crypto.hh"
#include <sodium.h>
+#include <nlohmann/json.hpp>
using namespace nix;
@@ -120,6 +121,18 @@ SV * queryPathInfo(char * path, int base32)
croak("%s", e.what());
}
+SV * queryRawRealisation(char * outputId)
+ PPCODE:
+ try {
+ auto realisation = store()->queryRealisation(DrvOutput::parse(outputId));
+ if (realisation)
+ XPUSHs(sv_2mortal(newSVpv(realisation->toJSON().dump().c_str(), 0)));
+ else
+ XPUSHs(sv_2mortal(newSVpv("", 0)));
+ } catch (Error & e) {
+ croak("%s", e.what());
+ }
+
SV * queryPathFromHashPart(char * hashPart)
PPCODE: