summary refs log tree commit diff
path: root/pkgs/system
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2003-07-12 19:18:49 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2003-07-12 19:18:49 +0000
commit7ec635589fa40781ce114c5d6a39fb00b6446d60 (patch)
tree1ceb46367b954e34015968d657ef9a81d6df1f40 /pkgs/system
parent0f0a34799245192d4f60e49d15bb46a63cf9735f (diff)
* Let populate-linkdirs.pl automatically merge libraries.
svn path=/nixpkgs/trunk/; revision=153
Diffstat (limited to 'pkgs/system')
-rwxr-xr-xpkgs/system/populate-linkdirs.pl30
-rw-r--r--pkgs/system/system.fix2
2 files changed, 26 insertions, 6 deletions
diff --git a/pkgs/system/populate-linkdirs.pl b/pkgs/system/populate-linkdirs.pl
index 4bff975f9cc00..c551e9836cb11 100755
--- a/pkgs/system/populate-linkdirs.pl
+++ b/pkgs/system/populate-linkdirs.pl
@@ -18,7 +18,8 @@ sub createLinks {
         my $basename = $srcfile;
         $basename =~ s/^.*\///g; # strip directory
         my $dstfile = "$dstdir/$basename";
-        if (-d $srcfile) {
+	if ($srcfile =~ /\/envpkgs$/) {
+	} elsif (-d $srcfile) {
             # !!! hack for resolving name clashes
             if (!-e $dstfile) {
                 mkdir $dstfile, 0755 || 
@@ -37,13 +38,34 @@ sub createLinks {
     }
 }
 
-foreach my $name (keys %ENV) {
+my %done;
 
-    next unless ($name =~ /^act.*$/);
+sub addPkg {
+    my $pkgdir = shift;
 
-    my $pkgdir = $ENV{$name};
+    return if (defined $done{$pkgdir});
+    $done{$pkgdir} = 1;
 
     print "merging $pkgdir\n";
 
     createLinks("$pkgdir", "$selfdir");
+
+    if (-f "$pkgdir/envpkgs") {
+	my $envpkgs = `cat $pkgdir/envpkgs`;
+	chomp $envpkgs;
+	my @envpkgs = split / +/, $envpkgs;
+	foreach my $envpkg (@envpkgs) {
+	    addPkg($envpkg);
+	}
+    }
+}
+
+
+foreach my $name (keys %ENV) {
+
+    next unless ($name =~ /^act.*$/);
+
+    my $pkgdir = $ENV{$name};
+
+    addPkg($pkgdir);
 }
diff --git a/pkgs/system/system.fix b/pkgs/system/system.fix
index ef5458d609522..135617322a7d3 100644
--- a/pkgs/system/system.fix
+++ b/pkgs/system/system.fix
@@ -2,9 +2,7 @@ Package(
   [ ("name", "system")
   , ("build", Relative("system/populate-linkdirs.pl"))
 
-  , ("actATerm", IncludeFix("aterm/aterm.fix"))
   , ("actPkgConfig", IncludeFix("pkgconfig/pkgconfig.fix"))
-  , ("actOpenSSL", IncludeFix("openssl/openssl.fix"))
   , ("actSubversion", IncludeFix("subversion/subversion.fix"))
   , ("actPan", IncludeFix("pan/pan.fix"))
   ]