forked from mirrors/nixpkgs
Made more libraries cross compile. fontconfig, libxcb, bzip2, libdrm, zlib...
I was trying to cross compile SDL. Many dependencies work, but I ended seeing libX11 not ready for cross compilation. Other xorg libraries cross-compile well. libX11 may need a small patch. The problem is the usual "configure test cannot be run in cross compilation", so the configure script halts. I made the pkgconfig expression always return buildDrv, as I think it rarely will be needed as buildInput. So to avoid rewriting all its mentions to use it as buildNativeInput, I prefered this small change. svn path=/nixpkgs/branches/stdenv-updates/; revision=18500
This commit is contained in:
parent
3136303d63
commit
ca5d91aa60
|
@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
|
|||
|
||||
configureFlags = "--with-confdir=/etc/fonts --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";
|
||||
|
||||
crossArch = stdenv.cross.arch;
|
||||
|
||||
preConfigure = ''
|
||||
if test -n "$crossConfig"; then
|
||||
configureFlags="$configureFlags --with-arch=$crossArch";
|
||||
fi
|
||||
'';
|
||||
|
||||
# Don't try to write to /etc/fonts or /var/cache/fontconfig at install time.
|
||||
installFlags = "CONFDIR=$(out)/etc/fonts RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy";
|
||||
|
||||
|
|
|
@ -10,6 +10,13 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ pkgconfig libpthreadstubs ];
|
||||
|
||||
preConfigure = ''
|
||||
# General case: non intel.
|
||||
if test -n "$crossConfig"; then
|
||||
configureFlags="$configureFlags --disable-intel";
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://dri.freedesktop.org/libdrm/;
|
||||
description = "Library for accessing the kernel's Direct Rendering Manager";
|
||||
|
|
|
@ -8,6 +8,13 @@ stdenv.mkDerivation {
|
|||
};
|
||||
configureFlags = if static then "" else "--shared";
|
||||
|
||||
preConfigure = ''
|
||||
if test -n "$crossConfig"; then
|
||||
export CC=$crossConfig-gcc
|
||||
configureFlags=${if static then "" else "--shared"}
|
||||
fi
|
||||
'';
|
||||
|
||||
# zlib doesn't like the automatic --disable-shared from the Cygwin stdenv.
|
||||
cygwinConfigureEnableShared = true;
|
||||
}
|
||||
|
|
|
@ -22,7 +22,17 @@
|
|||
};
|
||||
|
||||
libxcb = attrs : attrs // {
|
||||
buildInputs = attrs.buildInputs ++ [ xorg.xproto ];
|
||||
# I only remove python from the original, and add xproto. I don't know how
|
||||
# to achieve that referring to attrs.buildInputs.
|
||||
buildInputs = [args.pkgconfig args.libxslt xorg.libpthreadstubs /*xorg.python*/
|
||||
xorg.libXau xorg.xcbproto xorg.libXdmcp ] ++ [ xorg.xproto ];
|
||||
buildNativeInputs = [ args.python ];
|
||||
};
|
||||
|
||||
xcbproto = attrs : attrs // {
|
||||
# I only remove python from the original.
|
||||
buildInputs = [args.pkgconfig /*xorg.python*/ ];
|
||||
buildNativeInputs = [ args.python ];
|
||||
};
|
||||
|
||||
libXext = attrs: attrs // {
|
||||
|
|
|
@ -2874,11 +2874,16 @@ let
|
|||
* pkgconfig is optionally taken from the stdenv to allow bootstrapping
|
||||
* of glib and pkgconfig itself on MinGW.
|
||||
*/
|
||||
pkgconfig = useFromStdenv "pkgconfig"
|
||||
pkgconfigReal = useFromStdenv "pkgconfig"
|
||||
(import ../development/tools/misc/pkgconfig {
|
||||
inherit fetchurl stdenv;
|
||||
});
|
||||
|
||||
/* Make pkgconfig always return a buildDrv, never a proper hostDrv,
|
||||
because most usage of pkgconfig as buildInput (inheritance of
|
||||
pre-cross nixpkgs) means using it using as buildNativeInput */
|
||||
pkgconfig = pkgconfigReal // { hostDrv = pkgconfigReal.buildDrv; };
|
||||
|
||||
radare = import ../development/tools/analysis/radare {
|
||||
inherit stdenv fetchurl pkgconfig libusb readline gtkdialog python
|
||||
ruby libewf perl;
|
||||
|
|
Loading…
Reference in a new issue