nixpkgs/pkgs/development/libraries/wxGTK-2.8/default.nix
Vladimír Čunát 7fbcc56260 add introspection into GTK libs (part of #517)
This is all work of Marc Weber <marco-oweber@gmx.de>, except for a few nitpicks.

Tested space blowup: IMHO negligible to headers and similar stuff,
e.g. the firefox closure (reported by du) grows from 560 to 579 MB.
Saving space should be handled separately,
e.g. we have the multiple-outputs branch.
2013-08-04 21:11:24 +02:00

60 lines
1.8 KiB
Nix

{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
, gstreamer, gst_plugins_base, GConf
, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
}:
assert withMesa -> mesa != null;
with stdenv.lib;
stdenv.mkDerivation rec {
version = "2.8.12.1";
name = "wxGTK-${version}";
src = fetchurl {
url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
};
buildInputs = [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf ]
++ optional withMesa mesa;
nativeBuildInputs = [ pkgconfig ];
configureFlags = [
"--enable-gtk2"
(if compat24 then "--enable-compat24" else "--disable-compat24")
(if compat26 then "--enable-compat26" else "--disable-compat26")
"--disable-precomp-headers"
(if unicode then "--enable-unicode" else "")
"--enable-mediactrl"
"--enable-graphics_ctx"
] ++ optional withMesa "--with-opengl";
# These variables are used by configure to find some dependencies.
SEARCH_INCLUDE =
"${libXinerama}/include ${libSM}/include ${libXxf86vm}/include";
SEARCH_LIB =
"${libXinerama}/lib ${libSM}/lib ${libXxf86vm}/lib "
+ optionalString withMesa "${mesa}/lib ";
# 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 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
substituteInPlace configure --replace /usr /no-such-path
";
postBuild = "(cd contrib/src && make)";
postInstall = "
(cd contrib/src && make install)
(cd $out/include && ln -s wx-*/* .)
";
passthru = {inherit gtk compat24 compat26 unicode;};
enableParallelBuilding = true;
}