aboutsummaryrefslogtreecommitdiff
path: root/perl/lib/Nix/Store.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl/lib/Nix/Store.pm')
-rw-r--r--perl/lib/Nix/Store.pm60
1 files changed, 3 insertions, 57 deletions
diff --git a/perl/lib/Nix/Store.pm b/perl/lib/Nix/Store.pm
index d226264d4..179f1dc90 100644
--- a/perl/lib/Nix/Store.pm
+++ b/perl/lib/Nix/Store.pm
@@ -2,7 +2,6 @@ package Nix::Store;
use strict;
use warnings;
-use Nix::Config;
require Exporter;
@@ -22,6 +21,7 @@ our @EXPORT = qw(
addToStore makeFixedOutputPath
derivationFromPath
addTempRoot
+ getBinDir getStoreDir
);
our $VERSION = '0.15';
@@ -34,62 +34,8 @@ sub backtick {
return $res;
}
-if ($Nix::Config::useBindings) {
- require XSLoader;
- XSLoader::load('Nix::Store', $VERSION);
-} else {
-
- # Provide slow fallbacks of some functions on platforms that don't
- # support the Perl bindings.
-
- use File::Temp;
- use Fcntl qw/F_SETFD/;
-
- *hashFile = sub {
- my ($algo, $base32, $path) = @_;
- my $res = backtick("$Nix::Config::binDir/nix-hash", "--flat", $path, "--type", $algo, $base32 ? "--base32" : ());
- chomp $res;
- return $res;
- };
-
- *hashPath = sub {
- my ($algo, $base32, $path) = @_;
- my $res = backtick("$Nix::Config::binDir/nix-hash", $path, "--type", $algo, $base32 ? "--base32" : ());
- chomp $res;
- return $res;
- };
-
- *hashString = sub {
- my ($algo, $base32, $s) = @_;
- my $fh = File::Temp->new();
- print $fh $s;
- my $res = backtick("$Nix::Config::binDir/nix-hash", $fh->filename, "--type", $algo, $base32 ? "--base32" : ());
- chomp $res;
- return $res;
- };
-
- *addToStore = sub {
- my ($srcPath, $recursive, $algo) = @_;
- die "not implemented" if $recursive || $algo ne "sha256";
- my $res = backtick("$Nix::Config::binDir/nix-store", "--add", $srcPath);
- chomp $res;
- return $res;
- };
-
- *isValidPath = sub {
- my ($path) = @_;
- my $res = backtick("$Nix::Config::binDir/nix-store", "--check-validity", "--print-invalid", $path);
- chomp $res;
- return $res ne $path;
- };
-
- *queryPathHash = sub {
- my ($path) = @_;
- my $res = backtick("$Nix::Config::binDir/nix-store", "--query", "--hash", $path);
- chomp $res;
- return $res;
- };
-}
+require XSLoader;
+XSLoader::load('Nix::Store', $VERSION);
1;
__END__