@ -5,11 +5,9 @@ let
inherit ( stdenv ) lib isDarwin ;
inherit ( lib ) overrideDerivation ;
setMalloc0ReturnsNullCrossCompiling = ''
if test - n " $ c r o s s C o n f i g " ; then
configureFlags = " $ c o n f i g u r e F l a g s - - e n a b l e - m a l l o c 0 r e t u r n s n u l l " ;
fi
'' ;
malloc0ReturnsNullCrossFlag = stdenv . lib . optional
( stdenv . hostPlatform != stdenv . buildPlatform )
" - - e n a b l e - m a l l o c 0 r e t u r n s n u l l " ;
gitRelease = { libName , version , rev , sha256 } : attrs : attrs // {
name = libName + " - " + version ;
@ -101,7 +99,9 @@ in
libX11 = attrs : attrs // {
outputs = [ " o u t " " d e v " " m a n " ] ;
preConfigure = setMalloc0ReturnsNullCrossCompiling + ''
configureFlags = attrs . configureFlags or [ ]
++ malloc0ReturnsNullCrossFlag ;
preConfigure = ''
sed ' s , ^ as_dummy . * , as_dummy = " \$ P A T H " , ' - i configure
'' ;
postInstall =
@ -138,16 +138,19 @@ in
libXxf86vm = attrs : attrs // {
outputs = [ " o u t " " d e v " ] ;
preConfigure = setMalloc0ReturnsNullCrossCompiling ;
configureFlags = attrs . configureFlags or [ ]
++ malloc0ReturnsNullCrossFlag ;
} ;
# Propagate some build inputs because of header file dependencies.
# Note: most of these are in Requires.private, so maybe builder.sh
# should propagate them automatically.
libXt = attrs : attrs // {
preConfigure = setMalloc0ReturnsNullCrossCompiling + ''
preConfigure = ''
sed ' s , ^ as_dummy . * , as_dummy = " \$ P A T H " , ' - i configure
'' ;
configureFlags = attrs . configureFlags or [ ]
++ malloc0ReturnsNullCrossFlag ;
propagatedBuildInputs = [ xorg . libSM ] ;
CPP = stdenv . lib . optionalString stdenv . isDarwin " c l a n g - E - " ;
outputs = [ " o u t " " d e v " " d e v d o c " ] ;
@ -188,7 +191,8 @@ in
libXft = attrs : attrs // {
outputs = [ " o u t " " d e v " ] ;
propagatedBuildInputs = [ xorg . libXrender args . freetype args . fontconfig ] ;
preConfigure = setMalloc0ReturnsNullCrossCompiling ;
configureFlags = attrs . configureFlags or [ ]
++ malloc0ReturnsNullCrossFlag ;
# the include files need ft2build.h, and Requires.private isn't enough for us
postInstall = ''
sed " / ^ R e q u i r e s : / s / $ / , f r e e t y p e 2 / " - i " $ d e v / l i b / p k g c o n f i g / x f t . p c "
@ -198,7 +202,8 @@ in
libXext = attrs : attrs // {
outputs = [ " o u t " " d e v " " m a n " " d o c " ] ;
propagatedBuildInputs = [ xorg . xproto xorg . libXau ] ;
preConfigure = setMalloc0ReturnsNullCrossCompiling ;
configureFlags = attrs . configureFlags or [ ]
++ malloc0ReturnsNullCrossFlag ;
} ;
libXfixes = attrs : attrs // {
@ -221,7 +226,8 @@ in
libXrandr = attrs : attrs // {
outputs = [ " o u t " " d e v " ] ;
preConfigure = setMalloc0ReturnsNullCrossCompiling ;
configureFlags = attrs . configureFlags or [ ]
++ malloc0ReturnsNullCrossFlag ;
propagatedBuildInputs = [ xorg . libXrender ] ;
} ;
@ -232,8 +238,9 @@ in
libXrender = attrs : attrs // {
outputs = [ " o u t " " d e v " " d o c " ] ;
configureFlags = attrs . configureFlags or [ ]
++ malloc0ReturnsNullCrossFlag ;
propagatedBuildInputs = [ xorg . renderproto ] ;
preConfigure = setMalloc0ReturnsNullCrossCompiling ;
} ;
libXres = attrs : attrs // {