wxGTK29: fix build on darwin

* use clang to compile
* add configure flags to enable building for 64-bit
* add setFile to build inputs
This commit is contained in:
Jason "Don" O'Conal 2013-07-04 08:49:30 +10:00
parent 67e5eb909b
commit 3babc55ae2
2 changed files with 25 additions and 12 deletions

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto { stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
, gstreamer, gst_plugins_base, GConf , gstreamer, gst_plugins_base, GConf, setFile
, withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true, , withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
}: }:
@ -18,19 +18,23 @@ stdenv.mkDerivation {
sha256 = "04jda4bns7cmp7xy68qz112yg0lribpc6xs5k9gilfqcyhshqlvc"; sha256 = "04jda4bns7cmp7xy68qz112yg0lribpc6xs5k9gilfqcyhshqlvc";
}; };
buildInputs = [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf ] buildInputs =
++ optional withMesa mesa; [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
gst_plugins_base GConf ]
++ optional withMesa mesa
++ optional stdenv.isDarwin setFile;
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
configureFlags = [ configureFlags =
"--enable-gtk2" [ "--enable-gtk2" "--disable-precomp-headers" "--enable-mediactrl"
(if compat24 then "--enable-compat24" else "--disable-compat24") (if compat24 then "--enable-compat24" else "--disable-compat24")
(if compat26 then "--enable-compat26" else "--disable-compat26") (if compat26 then "--enable-compat26" else "--disable-compat26") ]
"--disable-precomp-headers" ++ optional unicode "--enable-unicode"
(if unicode then "--enable-unicode" else "") ++ optional withMesa "--with-opengl"
"--enable-mediactrl" ++ optionals stdenv.isDarwin
] ++ optional withMesa "--with-opengl"; # allow building on 64-bit
[ "--with-cocoa" "--enable-universal-binaries" ];
SEARCH_LIB = optionalString withMesa "${mesa}/lib"; SEARCH_LIB = optionalString withMesa "${mesa}/lib";
@ -38,7 +42,11 @@ stdenv.mkDerivation {
substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE=' substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB=' substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
substituteInPlace configure --replace /usr /no-such-path substituteInPlace configure --replace /usr /no-such-path
"; " + optionalString stdenv.isDarwin ''
substituteInPlace configure --replace \
'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
'ac_cv_prog_SETFILE="${setFile}/bin/SetFile"'
'';
postInstall = " postInstall = "
(cd $out/include && ln -s wx-*/* .) (cd $out/include && ln -s wx-*/* .)

View File

@ -5475,6 +5475,11 @@ let
wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix { wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix {
inherit (gnome) GConf; inherit (gnome) GConf;
withMesa = lib.elem system lib.platforms.mesaPlatforms; withMesa = lib.elem system lib.platforms.mesaPlatforms;
# use for Objective-C++ compiler
stdenv = if stdenv.isDarwin
then clangStdenv
else stdenv;
}; };
wtk = callPackage ../development/libraries/wtk { }; wtk = callPackage ../development/libraries/wtk { };