aboutsummaryrefslogtreecommitdiff
path: root/perl/lib/Nix
diff options
context:
space:
mode:
Diffstat (limited to 'perl/lib/Nix')
-rw-r--r--perl/lib/Nix/Store.pm6
-rw-r--r--perl/lib/Nix/Store.xs11
2 files changed, 16 insertions, 1 deletions
diff --git a/perl/lib/Nix/Store.pm b/perl/lib/Nix/Store.pm
index d96f8e9ab..d5fc6eec5 100644
--- a/perl/lib/Nix/Store.pm
+++ b/perl/lib/Nix/Store.pm
@@ -12,7 +12,11 @@ our %EXPORT_TAGS = ( 'all' => [ qw( ) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
-our @EXPORT = qw(isValidPath topoSortPaths computeFSClosure followLinksToStorePath exportPaths);
+our @EXPORT = qw(
+ isValidPath queryReferences queryPathInfo queryDeriver queryPathHash
+ topoSortPaths computeFSClosure followLinksToStorePath exportPaths
+ hashPath
+);
our $VERSION = '0.15';
diff --git a/perl/lib/Nix/Store.xs b/perl/lib/Nix/Store.xs
index aac7761cb..5256d1372 100644
--- a/perl/lib/Nix/Store.xs
+++ b/perl/lib/Nix/Store.xs
@@ -159,3 +159,14 @@ void exportPaths(int fd, int sign, ...)
} catch (Error & e) {
croak(e.what());
}
+
+
+SV * hashPath(char * algo, int base32, char * path)
+ PPCODE:
+ try {
+ Hash h = hashPath(parseHashType(algo), path).first;
+ string s = base32 ? printHash32(h) : printHash(h);
+ XPUSHs(sv_2mortal(newSVpv(s.c_str(), 0)));
+ } catch (Error & e) {
+ croak(e.what());
+ }