* Very subtle purity error: on NixOS, wxGTK wasn't being built with

Xinerama support.  It gets libXinerama as an explicit build input,
  but it checks for its existence in /usr/X11/include etc.  This
  caused Bittorrent to fail (NIXPKGS-61).  Backported the builder
  fixes from wxGTK 2.8.

svn path=/nixpkgs/trunk/; revision=8813
This commit is contained in:
Eelco Dolstra 2007-05-31 14:02:16 +00:00
parent d16ae4efcf
commit 150b0712cd
3 changed files with 20 additions and 5 deletions

View file

@ -1,4 +1,6 @@
{stdenv, fetchurl, pkgconfig, gtk, libXinerama, compat22 ? true, unicode ? true}: { stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
, compat22 ? false, compat24 ? true, unicode ? true
}:
assert pkgconfig != null && gtk != null; assert pkgconfig != null && gtk != null;
assert gtk.libtiff != null; assert gtk.libtiff != null;
@ -16,21 +18,34 @@ stdenv.mkDerivation {
buildInputs = [ buildInputs = [
pkgconfig gtk gtk.libtiff gtk.libjpeg gtk.libpng gtk.libpng.zlib pkgconfig gtk gtk.libtiff gtk.libjpeg gtk.libpng gtk.libpng.zlib
libXinerama libXinerama libSM libXxf86vm xf86vidmodeproto
]; ];
configureFlags = [ configureFlags = [
"--enable-gtk2" "--enable-gtk2"
(if compat22 then "--enable-compat22" else "--disable-compat22") (if compat22 then "--enable-compat22" else "--disable-compat22")
(if compat24 then "--enable-compat24" else "--disable-compat24")
"--disable-precomp-headers" "--disable-precomp-headers"
(if unicode then "--enable-unicode" else "") (if unicode then "--enable-unicode" else "")
]; ];
# This variable is used by configure to find some dependencies.
SEARCH_INCLUDE =
"${libXinerama}/include ${libSM}/include ${libXxf86vm}/include";
# Work around a bug in configure.
NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1";
preConfigure = "
substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
substituteInPlace configure --replace /usr /no-such-path
";
postBuild = "(cd contrib/src && make)"; postBuild = "(cd contrib/src && make)";
postInstall = " postInstall = "
(cd contrib/src && make install) (cd contrib/src && make install)
(cd $out/include && ln -s wx-*/* .) (cd $out/include && ln -s wx-*/* .)
"; ";
inherit gtk compat22; passthru = {inherit gtk compat22 compat24 unicode;};
} }

View file

@ -1,6 +1,6 @@
{stdenv, fetchurl, pkgconfig, wxGTK, python}: {stdenv, fetchurl, pkgconfig, wxGTK, python}:
assert wxGTK.compat22; assert wxGTK.unicode;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "wxPython-2.6.3.3"; name = "wxPython-2.6.3.3";

View file

@ -1705,7 +1705,7 @@ rec {
wxGTK26 = import ../development/libraries/wxGTK-2.6 { wxGTK26 = import ../development/libraries/wxGTK-2.6 {
inherit fetchurl stdenv pkgconfig; inherit fetchurl stdenv pkgconfig;
inherit (gtkLibs) gtk; inherit (gtkLibs) gtk;
inherit (xlibs) libXinerama; inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto;
}; };
wxGTK28 = import ../development/libraries/wxGTK-2.8 { wxGTK28 = import ../development/libraries/wxGTK-2.8 {