* Discover dependencies on libXaw.

* Handle commas in *.pc files.

svn path=/nixpkgs/trunk/; revision=4525
This commit is contained in:
Eelco Dolstra 2006-01-09 12:49:21 +00:00
parent d6cb787567
commit ceb9b654ed
3 changed files with 37 additions and 29 deletions

View File

@ -7,13 +7,14 @@ source $stdenv/setup
postInstall=postInstall postInstall=postInstall
postInstall() { postInstall() {
local r p requires local r p requires
requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | sed "s/Requires://") requires=$(grep "Requires:" $out/lib/pkgconfig/*.pc | \
sed "s/Requires://" | sed "s/,/ /g")
echo "propagating requisites $requires" echo "propagating requisites $requires"
for r in $requires; do for r in $requires; do
for p in $pkgs; do for p in $pkgs; do
echo $r $p # echo $r $p
if test -e $p/lib/pkgconfig/$r.pc; then if test -e $p/lib/pkgconfig/$r.pc; then
echo " found requisite $r in $p" echo " found requisite $r in $p"
propagatedBuildInputs="$propagatedBuildInputs $p" propagatedBuildInputs="$propagatedBuildInputs $p"
@ -29,7 +30,7 @@ postInstall() {
installFlags="appdefaultdir=$out/share/X11/app-defaults" installFlags="appdefaultdir=$out/share/X11/app-defaults"
if -n "$x11BuildHook"; then if test -n "$x11BuildHook"; then
source $x11BuildHook source $x11BuildHook
fi fi

View File

@ -62,7 +62,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/bitmap-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/bitmap-X11R7.0-1.0.1.tar.bz2;
md5 = "bbb3df097821d3edb4d5a4b2ae731de6"; md5 = "bbb3df097821d3edb4d5a4b2ae731de6";
}; };
buildInputs = [pkgconfig libX11 libXmu xbitmaps libXt ]; buildInputs = [pkgconfig libX11 libXmu libXaw xbitmaps libXt ];
}; };
compositeproto = stdenv.mkDerivation { compositeproto = stdenv.mkDerivation {
@ -102,7 +102,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/editres-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/editres-X11R7.0-1.0.1.tar.bz2;
md5 = "a9dc7f3b0cb59f08ab1e6554a5e60721"; md5 = "a9dc7f3b0cb59f08ab1e6554a5e60721";
}; };
buildInputs = [pkgconfig libX11 libXt libXmu ]; buildInputs = [pkgconfig libXaw libX11 libXt libXmu ];
}; };
encodings = stdenv.mkDerivation { encodings = stdenv.mkDerivation {
@ -1072,7 +1072,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/listres-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/listres-X11R7.0-1.0.1.tar.bz2;
md5 = "2eeb802272a7910bb8a52b308bf0d5f6"; md5 = "2eeb802272a7910bb8a52b308bf0d5f6";
}; };
buildInputs = [pkgconfig libX11 libXt libXmu ]; buildInputs = [pkgconfig libXaw libX11 libXt libXmu ];
}; };
lndir = stdenv.mkDerivation { lndir = stdenv.mkDerivation {
@ -1332,7 +1332,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/viewres-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/viewres-X11R7.0-1.0.1.tar.bz2;
md5 = "004bf8dd4646aca86faf5aa22b0c3f2f"; md5 = "004bf8dd4646aca86faf5aa22b0c3f2f";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
windowswmproto = stdenv.mkDerivation { windowswmproto = stdenv.mkDerivation {
@ -1372,7 +1372,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xbiff-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xbiff-X11R7.0-1.0.1.tar.bz2;
md5 = "c4eb71a3187586d02365a67fc1445e54"; md5 = "c4eb71a3187586d02365a67fc1445e54";
}; };
buildInputs = [pkgconfig xbitmaps libXext ]; buildInputs = [pkgconfig libXaw xbitmaps libXext ];
}; };
xbitmaps = stdenv.mkDerivation { xbitmaps = stdenv.mkDerivation {
@ -1392,7 +1392,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xcalc-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xcalc-X11R7.0-1.0.1.tar.bz2;
md5 = "c1ecea85be15f746a59931e288768bdb"; md5 = "c1ecea85be15f746a59931e288768bdb";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xclipboard = stdenv.mkDerivation { xclipboard = stdenv.mkDerivation {
@ -1402,7 +1402,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xclipboard-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xclipboard-X11R7.0-1.0.1.tar.bz2;
md5 = "a661b0f922cbdc62514bfd3e700d00fd"; md5 = "a661b0f922cbdc62514bfd3e700d00fd";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xclock = stdenv.mkDerivation { xclock = stdenv.mkDerivation {
@ -1412,7 +1412,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xclock-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xclock-X11R7.0-1.0.1.tar.bz2;
md5 = "00444fed4bf5cd51624476ee11dd1fab"; md5 = "00444fed4bf5cd51624476ee11dd1fab";
}; };
buildInputs = [pkgconfig libX11 libXrender libXft libxkbfile libXt ]; buildInputs = [pkgconfig libX11 libXaw libXrender libXft libxkbfile libXt ];
}; };
xcmiscproto = stdenv.mkDerivation { xcmiscproto = stdenv.mkDerivation {
@ -1442,7 +1442,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xconsole-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xconsole-X11R7.0-1.0.1.tar.bz2;
md5 = "f983b589ba9de198d90abee220a80f81"; md5 = "f983b589ba9de198d90abee220a80f81";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xcursorgen = stdenv.mkDerivation { xcursorgen = stdenv.mkDerivation {
@ -1482,7 +1482,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xditview-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xditview-X11R7.0-1.0.1.tar.bz2;
md5 = "21887fe4ec1965d637e82b7840650a6f"; md5 = "21887fe4ec1965d637e82b7840650a6f";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xdm = stdenv.mkDerivation { xdm = stdenv.mkDerivation {
@ -1492,7 +1492,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xdm-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xdm-X11R7.0-1.0.1.tar.bz2;
md5 = "9ac363721dbb8cd39aa1064b260624a6"; md5 = "9ac363721dbb8cd39aa1064b260624a6";
}; };
buildInputs = [pkgconfig libXmu libX11 libXau libXinerama libXpm libXdmcp libXt libXext ]; buildInputs = [pkgconfig libXmu libX11 libXau libXinerama libXpm libXaw libXdmcp libXt libXext ];
}; };
xdpyinfo = stdenv.mkDerivation { xdpyinfo = stdenv.mkDerivation {
@ -1522,7 +1522,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xedit-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xedit-X11R7.0-1.0.1.tar.bz2;
md5 = "19f607d033f62fb1ee5965f4236b19d4"; md5 = "19f607d033f62fb1ee5965f4236b19d4";
}; };
buildInputs = [pkgconfig libXprintUtil libXp libXt libXaw ]; buildInputs = [pkgconfig libXaw libXprintUtil libXp libXt ];
}; };
xev = stdenv.mkDerivation { xev = stdenv.mkDerivation {
@ -2322,7 +2322,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xfd-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xfd-X11R7.0-1.0.1.tar.bz2;
md5 = "26c83a6fe245906cc05055abf877d0f2"; md5 = "26c83a6fe245906cc05055abf877d0f2";
}; };
buildInputs = [pkgconfig freetype fontconfig libXft libXt ]; buildInputs = [pkgconfig libXaw freetype fontconfig libXft libXt ];
}; };
xfindproxy = stdenv.mkDerivation { xfindproxy = stdenv.mkDerivation {
@ -2342,7 +2342,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xfontsel-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xfontsel-X11R7.0-1.0.1.tar.bz2;
md5 = "d1df7b8622b7f8ebca4b2463118d7073"; md5 = "d1df7b8622b7f8ebca4b2463118d7073";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xfs = stdenv.mkDerivation { xfs = stdenv.mkDerivation {
@ -2392,7 +2392,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xgc-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xgc-X11R7.0-1.0.1.tar.bz2;
md5 = "8cd01cf558c3eed738115abcf720277d"; md5 = "8cd01cf558c3eed738115abcf720277d";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xhost = stdenv.mkDerivation { xhost = stdenv.mkDerivation {
@ -2472,7 +2472,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xkbutils-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xkbutils-X11R7.0-1.0.1.tar.bz2;
md5 = "798502eca0c6c3e8c02d76fabb910532"; md5 = "798502eca0c6c3e8c02d76fabb910532";
}; };
buildInputs = [pkgconfig libxkbfile libX11 ]; buildInputs = [pkgconfig libXaw libxkbfile libX11 ];
}; };
xkill = stdenv.mkDerivation { xkill = stdenv.mkDerivation {
@ -2492,7 +2492,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xload-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xload-X11R7.0-1.0.1.tar.bz2;
md5 = "11080456822146ebc0118b15f4b911d9"; md5 = "11080456822146ebc0118b15f4b911d9";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xlogo = stdenv.mkDerivation { xlogo = stdenv.mkDerivation {
@ -2502,7 +2502,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xlogo-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xlogo-X11R7.0-1.0.1.tar.bz2;
md5 = "0314b2f5173da64957031400638fa5f8"; md5 = "0314b2f5173da64957031400638fa5f8";
}; };
buildInputs = [pkgconfig libXprintUtil libXp libXrender libXft libXext libXt ]; buildInputs = [pkgconfig libXaw libXprintUtil libXp libXrender libXft libXext libXt ];
}; };
xlsatoms = stdenv.mkDerivation { xlsatoms = stdenv.mkDerivation {
@ -2542,7 +2542,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmag-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmag-X11R7.0-1.0.1.tar.bz2;
md5 = "38ac487ac1b75be0253fe7f973947386"; md5 = "38ac487ac1b75be0253fe7f973947386";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xman = stdenv.mkDerivation { xman = stdenv.mkDerivation {
@ -2552,7 +2552,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xman-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xman-X11R7.0-1.0.1.tar.bz2;
md5 = "a4f21547120952aeb8e5663ebd72e843"; md5 = "a4f21547120952aeb8e5663ebd72e843";
}; };
buildInputs = [pkgconfig libXprintUtil libXp libXt ]; buildInputs = [pkgconfig libXaw libXprintUtil libXp libXt ];
}; };
xmessage = stdenv.mkDerivation { xmessage = stdenv.mkDerivation {
@ -2562,7 +2562,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmessage-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmessage-X11R7.0-1.0.1.tar.bz2;
md5 = "5a17607184fd348c2b36b5499ae9d2e6"; md5 = "5a17607184fd348c2b36b5499ae9d2e6";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xmh = stdenv.mkDerivation { xmh = stdenv.mkDerivation {
@ -2572,7 +2572,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmh-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmh-X11R7.0-1.0.1.tar.bz2;
md5 = "53af2f87dc096d84f11ca6fbd6748b34"; md5 = "53af2f87dc096d84f11ca6fbd6748b34";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xmodmap = stdenv.mkDerivation { xmodmap = stdenv.mkDerivation {
@ -2592,7 +2592,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmore-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xmore-X11R7.0-1.0.1.tar.bz2;
md5 = "99a48c50d486b7c9098b4f5598782cac"; md5 = "99a48c50d486b7c9098b4f5598782cac";
}; };
buildInputs = [pkgconfig libXprintUtil libXp libXt ]; buildInputs = [pkgconfig libXaw libXprintUtil libXp libXt ];
}; };
xorgcffiles = stdenv.mkDerivation { xorgcffiles = stdenv.mkDerivation {
@ -2742,7 +2742,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xrx-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xrx-X11R7.0-1.0.1.tar.bz2;
md5 = "9de3b04392c98df59c79a34fd51c385f"; md5 = "9de3b04392c98df59c79a34fd51c385f";
}; };
buildInputs = [pkgconfig libX11 libXt libXext xtrans xproxymanagementprotocol libXau ]; buildInputs = [pkgconfig libX11 libXt libXext xtrans xproxymanagementprotocol libXau libXaw ];
}; };
xset = stdenv.mkDerivation { xset = stdenv.mkDerivation {
@ -2792,7 +2792,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xsm-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xsm-X11R7.0-1.0.1.tar.bz2;
md5 = "e3588272ce3b7dc21d42ead683135a8a"; md5 = "e3588272ce3b7dc21d42ead683135a8a";
}; };
buildInputs = [pkgconfig libXt ]; buildInputs = [pkgconfig libXaw libXt ];
}; };
xstdcmap = stdenv.mkDerivation { xstdcmap = stdenv.mkDerivation {
@ -2832,7 +2832,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xvidtune-X11R7.0-1.0.1.tar.bz2; url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/xvidtune-X11R7.0-1.0.1.tar.bz2;
md5 = "a12e27fb732cb115b6adc4c724c44c5d"; md5 = "a12e27fb732cb115b6adc4c724c44c5d";
}; };
buildInputs = [pkgconfig libXxf86vm libXt ]; buildInputs = [pkgconfig libXaw libXxf86vm libXt ];
}; };
xvinfo = stdenv.mkDerivation { xvinfo = stdenv.mkDerivation {

View File

@ -26,6 +26,7 @@ $pcMap{"fontconfig"} = "fontconfig";
$pcMap{"libpng12"} = "libpng"; $pcMap{"libpng12"} = "libpng";
$pcMap{"libdrm"} = "libdrm"; $pcMap{"libdrm"} = "libdrm";
$pcMap{"libdrm"} = "libdrm"; $pcMap{"libdrm"} = "libdrm";
$pcMap{"libXaw"} = "libXaw";
if (-e "cache") { if (-e "cache") {
@ -86,6 +87,12 @@ while (<>) {
my %requires = (); my %requires = ();
open FOO, "cd '$tmpDir'/* && cat configure.ac |"; open FOO, "cd '$tmpDir'/* && cat configure.ac |";
while (<FOO>) { while (<FOO>) {
if (/XAW_CHECK_XPRINT_SUPPORT/) {
if (!defined $requires{"libXaw"}) {
push @requires, "libXaw";
$requires{"libXaw"} = 1;
}
}
if (/PKG_CHECK_MODULES\([^,]*,\s*\[?([^\),\]]*)/ || if (/PKG_CHECK_MODULES\([^,]*,\s*\[?([^\),\]]*)/ ||
/MODULES=\"(.*)\"/ || /MODULES=\"(.*)\"/ ||
/REQUIRED_LIBS=\"(.*)\"/ || /REQUIRED_LIBS=\"(.*)\"/ ||