* 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 gtk.libtiff != null;
@ -16,21 +18,34 @@ stdenv.mkDerivation {
buildInputs = [
pkgconfig gtk gtk.libtiff gtk.libjpeg gtk.libpng gtk.libpng.zlib
libXinerama
libXinerama libSM libXxf86vm xf86vidmodeproto
];
configureFlags = [
"--enable-gtk2"
(if compat22 then "--enable-compat22" else "--disable-compat22")
(if compat24 then "--enable-compat24" else "--disable-compat24")
"--disable-precomp-headers"
(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)";
postInstall = "
(cd contrib/src && make install)
(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}:
assert wxGTK.compat22;
assert wxGTK.unicode;
stdenv.mkDerivation {
name = "wxPython-2.6.3.3";

View file

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