aboutsummaryrefslogtreecommitdiff
path: root/perl/lib
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2011-11-29 13:01:24 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2011-11-29 13:01:24 +0000
commit1749a7b0ae943f6a208ffc3fd0f6e9506872c5b6 (patch)
tree51174f8a6f4113466f09d305d42a51ada0876f44 /perl/lib
parentb1eb8f4249dbf666afa046c45e903566e9eb2df9 (diff)
* download-using-manifests: use the Perl bindings.
Diffstat (limited to 'perl/lib')
-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());
+ }