about summary refs log tree commit diff
path: root/src/nix-instantiate.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix-instantiate.in')
-rwxr-xr-xsrc/nix-instantiate.in121
1 files changed, 0 insertions, 121 deletions
diff --git a/src/nix-instantiate.in b/src/nix-instantiate.in
deleted file mode 100755
index 7551e9d24da3..000000000000
--- a/src/nix-instantiate.in
+++ /dev/null
@@ -1,121 +0,0 @@
-#! /usr/bin/perl -w
-
-use strict;
-use FileHandle;
-use File::Spec;
-use Digest::MD5;
-
-my $system = "@host@";
-
-my $outdir = File::Spec->rel2abs($ARGV[0]);
-my $netdir = File::Spec->rel2abs($ARGV[1]);
-
-my %donetmpls = ();
-
-sub fetchFile {
-    my $loc = shift;
-
-    if ($loc =~ /^([+\w\d\.\/-]+)$/) {
-	return $1;
-    } elsif ($loc =~ /^url\((.*)\)$/) {
-	my $url = $1;
-	$url =~ /\/([^\/]+)$/ || die "invalid url $url";
-	my $fn = "$netdir/$1";
-	if (! -f $fn) {
-	    print "fetching $url...\n";
-	    system "cd $netdir; wget --quiet -N $url";
-	    if ($? != 0) {
-		unlink($fn);
-		die;
-	    }
-	}
-	return $fn;
-    } else {
-	die "invalid file specified $loc";
-    }
-}
-
-sub hashFile {
-    my $file = shift;
-    open FILE, "< $file" or die "cannot open $file";
-    # !!! error checking
-    my $hash = Digest::MD5->new->addfile(*FILE)->hexdigest;
-    close FILE;
-    return $hash;
-}
-
-sub convert {
-    my $descr = shift;
-
-    if (defined $donetmpls{$descr}) {
-        return $donetmpls{$descr};
-    }
-
-    my ($x, $dir, $fn) = File::Spec->splitpath($descr);
-
-    print "$descr\n";
-
-    my $IN = new FileHandle;
-    my $OUT = new FileHandle;
-    my $tmpfile = "$outdir/$fn-tmp";
-    open $IN, "< $descr" or die "cannot open $descr";
-
-# Descr([Bind("x", Str("y")), Bind("x", File("1234")), Bind("x", Pkg("1234"))])
-# bindings alphabetisch gesorteerd
-
-    my %bindings;
-
-    while (<$IN>) {
-        chomp;
-	s/\s*#.*$//;
-	next if (/^$/);
-
-        if (/^(\w+)\s*=\s*([^\#\s]*)\s*(\#.*)?$/) {
-            my ($name, $loc) = ($1, $2);
-            my $file = fetchFile($loc);
-            $file = File::Spec->rel2abs($file, $dir);
-	    my $hash = hashFile($file);
-            $bindings{$name} = "File(\"$hash\")";
-        } elsif (/^(\w+)\s*<-\s*([+\w\d\.\/-]+)\s*(\#.*)?$/) {
-            my $name = $1;
-            my $file = $2;
-            $file = File::Spec->rel2abs($file, $dir);
-            $file = convert($file);
-	    my $hash = hashFile($file);
-            $bindings{$name} = "Pkg(\"$hash\")";
-        } elsif (/^(\w+)\s*:\s*([+\w\d\.\/-]+)\s*(\#.*)?$/) {
-            my $name = $1;
-            my $value = $2;
-            $bindings{$name} = "Str(\"$value\")";
-        } else {
-	    die "syntax error: $_";
-        }
-    }
-
-    close $IN;
-
-    $bindings{"system"} = "Str(\"$system\")";
-
-    open $OUT, "| baffle -wt > $tmpfile" or die "cannot create $tmpfile";
-    print $OUT "Descr([";
-    my $first = 1;
-    foreach my $name (sort (keys %bindings)) {
-	if (!$first) { print $OUT ","; };
-	print $OUT "Bind(\"$name\",$bindings{$name})";
-	$first = 0;
-    }
-    print $OUT "])";
-    close $OUT;
-
-    my $hash = hashFile($tmpfile);
-
-    my $outfile = "$outdir/$fn-$hash";
-    rename($tmpfile, $outfile) or die "cannot rename $tmpfile to $outfile";
-
-    $donetmpls{$descr} = $outfile;
-    return $outfile;
-}
-
-for (my $i = 2; $i < scalar @ARGV; $i++) {
-    convert(File::Spec->rel2abs($ARGV[$i]));
-}