summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2006-01-16 15:07:03 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2006-01-16 15:07:03 +0000
commit43a679bab72a9fa7d4e591b457e4828a034c2f6f (patch)
tree5f47fe8fbca9b5ceb13a0005458f831dce423c06
parent7bc09b8f2f1d562847116074e59b864080269d4f (diff)
downloadnixpkgs-43a679bab72a9fa7d4e591b457e4828a034c2f6f.tar
nixpkgs-43a679bab72a9fa7d4e591b457e4828a034c2f6f.tar.gz
nixpkgs-43a679bab72a9fa7d4e591b457e4828a034c2f6f.tar.bz2
nixpkgs-43a679bab72a9fa7d4e591b457e4828a034c2f6f.tar.lz
nixpkgs-43a679bab72a9fa7d4e591b457e4828a034c2f6f.tar.xz
nixpkgs-43a679bab72a9fa7d4e591b457e4828a034c2f6f.tar.zst
nixpkgs-43a679bab72a9fa7d4e591b457e4828a034c2f6f.zip
* More dependencies.
svn path=/nixpkgs/trunk/; revision=4562
-rw-r--r--pkgs/servers/x11/xorg/default.nix4
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl67
2 files changed, 45 insertions, 26 deletions
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index d5ce3806528..551e518ec8c 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -2622,8 +2622,8 @@ rec {
       url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xorg-server-X11R7.0-1.0.1.tar.bz2;
       md5 = "0e7527480fb845a3c2e333bd0f47ff50";
     };
-    buildInputs = [pkgconfig bigreqsproto compositeproto damageproto libdmx dmxproto evieext fixesproto fontcacheproto libfontenc fontsproto glproto inputproto liblbxutil libdrm printproto randrproto recordproto renderproto resourceproto scrnsaverproto trapproto videoproto libX11 libXau libXaw xcmiscproto libXdmcp libXext xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86miscproto xf86vidmodeproto libXfont libXi xineramaproto libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXtst ];
-  }) // {inherit bigreqsproto compositeproto damageproto libdmx dmxproto evieext fixesproto fontcacheproto libfontenc fontsproto glproto inputproto liblbxutil libdrm printproto randrproto recordproto renderproto resourceproto scrnsaverproto trapproto videoproto libX11 libXau libXaw xcmiscproto libXdmcp libXext xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86miscproto xf86vidmodeproto libXfont libXi xineramaproto libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXtst ;};
+    buildInputs = [pkgconfig bigreqsproto compositeproto damageproto libdmx dmxproto evieext fixesproto fontcacheproto libfontenc fontsproto glproto inputproto liblbxutil libdrm mesa perl printproto randrproto recordproto renderproto resourceproto scrnsaverproto trapproto videoproto libX11 libXau libXaw xcmiscproto libXdmcp libXext xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86miscproto xf86vidmodeproto libXfont libXi xineramaproto libxkbfile libxkbui libXmu libXpm xproto libXrender libXres libXt xtrans libXtst libXxf86misc libXxf86vm zlib ];
+  }) // {inherit bigreqsproto compositeproto damageproto libdmx dmxproto evieext fixesproto fontcacheproto libfontenc fontsproto glproto inputproto liblbxutil libdrm mesa perl printproto randrproto recordproto renderproto resourceproto scrnsaverproto trapproto videoproto libX11 libXau libXaw xcmiscproto libXdmcp libXext xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86miscproto xf86vidmodeproto libXfont libXi xineramaproto libxkbfile libxkbui libXmu libXpm xproto libXrender libXres libXt xtrans libXtst libXxf86misc libXxf86vm zlib ;};
     
   xorgsgmldoctools = (stdenv.mkDerivation {
     name = "xorg-sgml-doctools-1.0.1";
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 9c3044d5ab4..0b627c48622 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -27,9 +27,10 @@ $pcMap{"freetype2"} = "freetype";
 $pcMap{"fontconfig"} = "fontconfig";
 $pcMap{"libpng12"} = "libpng";
 $pcMap{"libdrm"} = "libdrm";
-$pcMap{"libdrm"} = "libdrm";
 $pcMap{"libXaw"} = "libXaw";
 $pcMap{"zlib"} = "zlib";
+$pcMap{"perl"} = "perl";
+$pcMap{"mesa"} = "mesa";
 
 
 $extraAttrs{"imake"} = " inherit xorgcffiles; x11BuildHook = ./imake.sh; patches = [./imake.patch]; ";
@@ -54,6 +55,7 @@ while (<>) {
     die unless defined $1;
     my $pkg = $1;
     $pkg =~ s/-//g;
+#    next unless $pkg eq "xorgserverX11R7";
     print "$pkg\n";
     $pkg =~ s/$version//g if $version ne "";
     $pkgURLs{$pkg} = $tarball;
@@ -90,31 +92,48 @@ while (<>) {
     }
 
     my @requires = ();
-    open FOO, "cd '$tmpDir'/* && cat configure.ac |";
-    while (<FOO>) {
-        if (/XAW_CHECK_XPRINT_SUPPORT/) {
-            push @requires, "libXaw";
-        }
-        if (/zlib is required/ || /AC_CHECK_LIB\(z\,/) {
-            push @requires, "zlib";
-        }
-        if (/PKG_CHECK_MODULES\([^,]*,\s*\[?([^\),\]]*)/ ||
-            /MODULES=\"(.*)\"/ ||
-            /REQUIRED_LIBS=\"(.*)\"/ ||
-            /REQUIRES=\"(.*)\"/)
-        {
-            foreach my $req (split / /, $1) {
-                next if $req eq ">=";
-                next if $req =~ /^\$/;
-                next if $req =~ /^[0-9]/;
-                $req =~ s/\[//g;
-                $req =~ s/\]//g;
-                print "REQUIRE: $req\n";
-                push @requires, $req;
-            }
+    my $file;
+    {
+        local $/;
+        open FOO, "cd '$tmpDir'/* && cat configure.ac |";
+        $file = <FOO>;
+        close FOO;
+    }
+
+    if ($file =~ /XAW_CHECK_XPRINT_SUPPORT/) {
+        push @requires, "libXaw";
+    }
+
+    if ($file =~ /zlib is required/ || $file =~ /AC_CHECK_LIB\(z\,/) {
+        push @requires, "zlib";
+    }
+    
+    if ($file =~ /Perl is required/) {
+        push @requires, "perl";
+    }
+
+    sub process {
+        my $requires = shift;
+        foreach my $req (split / /, $1) {
+            next if $req eq ">=";
+            next if $req =~ /^\$/;
+            next if $req =~ /^[0-9]/;
+            $req =~ s/\[//g;
+            $req =~ s/\]//g;
+            print "REQUIRE: $req\n";
+            push @{$requires}, $req;
         }
     }
-    print "REQUIRES @requires\n";
+
+    process \@requires, $1 while $file =~ /PKG_CHECK_MODULES\([^,]*,\s*\[?([^\),\]]*)/g;
+    process \@requires, $1 while $file =~ /MODULES=\"(.*)\"/g;
+    process \@requires, $1 while $file =~ /REQUIRED_LIBS=\"(.*)\"/g;
+    process \@requires, $1 while $file =~ /REQUIRES=\"(.*)\"/g;
+
+    push @requires, "mesa" if $pkg =~ /xorgserver/;
+    push @requires, "zlib" if $pkg =~ /xorgserver/;
+    
+    print "REQUIRES @requires => $pkg\n";
     $pkgRequires{$pkg} = \@requires;
 
     print "done\n";