Merge #91975: Misc static cross fixes (into staging)
This commit is contained in:
commit
5bd8316b6e
pkgs
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false }:
|
{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false, enableShared ? true }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DENABLE_STATIC=${if enableStatic then "1" else "0"}"
|
"-DENABLE_STATIC=${if enableStatic then "1" else "0"}"
|
||||||
|
"-DENABLE_SHARED=${if enableShared then "1" else "0"}"
|
||||||
];
|
];
|
||||||
|
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
|
@ -105,7 +105,7 @@ self: super:
|
|||||||
rm -rf $out/share/doc
|
rm -rf $out/share/doc
|
||||||
'';
|
'';
|
||||||
CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
|
CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
|
||||||
propagatedBuildInputs = [ self.xorgproto ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto ];
|
||||||
});
|
});
|
||||||
|
|
||||||
libAppleWM = super.libAppleWM.overrideAttrs (attrs: {
|
libAppleWM = super.libAppleWM.overrideAttrs (attrs: {
|
||||||
@ -117,7 +117,7 @@ self: super:
|
|||||||
|
|
||||||
libXau = super.libXau.overrideAttrs (attrs: {
|
libXau = super.libXau.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
propagatedBuildInputs = [ self.xorgproto ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto ];
|
||||||
});
|
});
|
||||||
|
|
||||||
libXdmcp = super.libXdmcp.overrideAttrs (attrs: {
|
libXdmcp = super.libXdmcp.overrideAttrs (attrs: {
|
||||||
@ -126,7 +126,7 @@ self: super:
|
|||||||
|
|
||||||
libXfont = super.libXfont.overrideAttrs (attrs: {
|
libXfont = super.libXfont.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
propagatedBuildInputs = [ freetype ]; # propagate link reqs. like bzip2
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ freetype ]; # propagate link reqs. like bzip2
|
||||||
# prevents "misaligned_stack_error_entering_dyld_stub_binder"
|
# prevents "misaligned_stack_error_entering_dyld_stub_binder"
|
||||||
configureFlags = lib.optional isDarwin "CFLAGS=-O0";
|
configureFlags = lib.optional isDarwin "CFLAGS=-O0";
|
||||||
});
|
});
|
||||||
@ -136,6 +136,22 @@ self: super:
|
|||||||
configureFlags = attrs.configureFlags or []
|
configureFlags = attrs.configureFlags or []
|
||||||
++ malloc0ReturnsNullCrossFlag;
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
});
|
});
|
||||||
|
libXxf86dga = super.libXxf86dga.overrideAttrs (attrs: {
|
||||||
|
configureFlags = attrs.configureFlags or []
|
||||||
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
|
});
|
||||||
|
libXxf86misc = super.libXxf86misc.overrideAttrs (attrs: {
|
||||||
|
configureFlags = attrs.configureFlags or []
|
||||||
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
|
});
|
||||||
|
libdmx = super.libdmx.overrideAttrs (attrs: {
|
||||||
|
configureFlags = attrs.configureFlags or []
|
||||||
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
|
});
|
||||||
|
xdpyinfo = super.xdpyinfo.overrideAttrs (attrs: {
|
||||||
|
configureFlags = attrs.configureFlags or []
|
||||||
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
|
});
|
||||||
|
|
||||||
# Propagate some build inputs because of header file dependencies.
|
# Propagate some build inputs because of header file dependencies.
|
||||||
# Note: most of these are in Requires.private, so maybe builder.sh
|
# Note: most of these are in Requires.private, so maybe builder.sh
|
||||||
@ -146,7 +162,7 @@ self: super:
|
|||||||
'';
|
'';
|
||||||
configureFlags = attrs.configureFlags or []
|
configureFlags = attrs.configureFlags or []
|
||||||
++ malloc0ReturnsNullCrossFlag;
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
propagatedBuildInputs = [ self.libSM ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libSM ];
|
||||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
CPP = if stdenv.isDarwin then "clang -E -" else "${stdenv.cc.targetPrefix}cc -E -";
|
CPP = if stdenv.isDarwin then "clang -E -" else "${stdenv.cc.targetPrefix}cc -E -";
|
||||||
outputs = [ "out" "dev" "devdoc" ];
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
@ -166,12 +182,12 @@ self: super:
|
|||||||
|
|
||||||
libXcomposite = super.libXcomposite.overrideAttrs (attrs: {
|
libXcomposite = super.libXcomposite.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
propagatedBuildInputs = [ self.libXfixes ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXfixes ];
|
||||||
});
|
});
|
||||||
|
|
||||||
libXaw = super.libXaw.overrideAttrs (attrs: {
|
libXaw = super.libXaw.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" "devdoc" ];
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
propagatedBuildInputs = [ self.libXmu ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXmu ];
|
||||||
});
|
});
|
||||||
|
|
||||||
libXcursor = super.libXcursor.overrideAttrs (attrs: {
|
libXcursor = super.libXcursor.overrideAttrs (attrs: {
|
||||||
@ -184,7 +200,7 @@ self: super:
|
|||||||
|
|
||||||
libXft = super.libXft.overrideAttrs (attrs: {
|
libXft = super.libXft.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
propagatedBuildInputs = [ self.libXrender freetype fontconfig ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXrender freetype fontconfig ];
|
||||||
configureFlags = attrs.configureFlags or []
|
configureFlags = attrs.configureFlags or []
|
||||||
++ malloc0ReturnsNullCrossFlag;
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
|
|
||||||
@ -208,7 +224,7 @@ self: super:
|
|||||||
|
|
||||||
libXext = super.libXext.overrideAttrs (attrs: {
|
libXext = super.libXext.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" "man" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
propagatedBuildInputs = [ self.xorgproto self.libXau ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto self.libXau ];
|
||||||
configureFlags = attrs.configureFlags or []
|
configureFlags = attrs.configureFlags or []
|
||||||
++ malloc0ReturnsNullCrossFlag;
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
});
|
});
|
||||||
@ -219,7 +235,7 @@ self: super:
|
|||||||
|
|
||||||
libXi = super.libXi.overrideAttrs (attrs: {
|
libXi = super.libXi.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" "man" "doc" ];
|
outputs = [ "out" "dev" "man" "doc" ];
|
||||||
propagatedBuildInputs = [ self.libXfixes ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXfixes ];
|
||||||
configureFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
|
configureFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
|
||||||
"xorg_cv_malloc0_returns_null=no";
|
"xorg_cv_malloc0_returns_null=no";
|
||||||
});
|
});
|
||||||
@ -239,19 +255,19 @@ self: super:
|
|||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
configureFlags = attrs.configureFlags or []
|
configureFlags = attrs.configureFlags or []
|
||||||
++ malloc0ReturnsNullCrossFlag;
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
propagatedBuildInputs = [self.libXrender];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXrender ];
|
||||||
});
|
});
|
||||||
|
|
||||||
libSM = super.libSM.overrideAttrs (attrs: {
|
libSM = super.libSM.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ];
|
||||||
propagatedBuildInputs = [ self.libICE ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libICE ];
|
||||||
});
|
});
|
||||||
|
|
||||||
libXrender = super.libXrender.overrideAttrs (attrs: {
|
libXrender = super.libXrender.overrideAttrs (attrs: {
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ];
|
||||||
configureFlags = attrs.configureFlags or []
|
configureFlags = attrs.configureFlags or []
|
||||||
++ malloc0ReturnsNullCrossFlag;
|
++ malloc0ReturnsNullCrossFlag;
|
||||||
propagatedBuildInputs = [ self.xorgproto ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto ];
|
||||||
});
|
});
|
||||||
|
|
||||||
libXres = super.libXres.overrideAttrs (attrs: {
|
libXres = super.libXres.overrideAttrs (attrs: {
|
||||||
@ -319,7 +335,7 @@ self: super:
|
|||||||
});
|
});
|
||||||
|
|
||||||
utilmacros = super.utilmacros.overrideAttrs (attrs: { # not needed for releases, we propagate the needed tools
|
utilmacros = super.utilmacros.overrideAttrs (attrs: { # not needed for releases, we propagate the needed tools
|
||||||
propagatedBuildInputs = [ automake autoconf libtool ];
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ automake autoconf libtool ];
|
||||||
});
|
});
|
||||||
|
|
||||||
x11perf = super.x11perf.overrideAttrs (attrs: {
|
x11perf = super.x11perf.overrideAttrs (attrs: {
|
||||||
@ -558,6 +574,7 @@ self: super:
|
|||||||
|
|
||||||
xorgproto = super.xorgproto.overrideAttrs (attrs: {
|
xorgproto = super.xorgproto.overrideAttrs (attrs: {
|
||||||
buildInputs = [];
|
buildInputs = [];
|
||||||
|
propagatedBuildInputs = [];
|
||||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [ meson ninja ];
|
nativeBuildInputs = attrs.nativeBuildInputs ++ [ meson ninja ];
|
||||||
# adds support for printproto needed for libXp
|
# adds support for printproto needed for libXp
|
||||||
mesonFlags = [ "-Dlegacy=true" ];
|
mesonFlags = [ "-Dlegacy=true" ];
|
||||||
@ -626,7 +643,7 @@ self: super:
|
|||||||
then {
|
then {
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
buildInputs = commonBuildInputs ++ [ libdrm mesa ];
|
buildInputs = commonBuildInputs ++ [ libdrm mesa ];
|
||||||
propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
|
||||||
udev
|
udev
|
||||||
];
|
];
|
||||||
prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
@ -755,7 +772,7 @@ self: super:
|
|||||||
"--with-launchdaemons-dir=\${out}/LaunchDaemons"
|
"--with-launchdaemons-dir=\${out}/LaunchDaemons"
|
||||||
"--with-launchagents-dir=\${out}/LaunchAgents"
|
"--with-launchagents-dir=\${out}/LaunchAgents"
|
||||||
];
|
];
|
||||||
propagatedBuildInputs = [ self.xauth ]
|
propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xauth ]
|
||||||
++ lib.optionals isDarwin [ self.libX11 self.xorgproto ];
|
++ lib.optionals isDarwin [ self.libX11 self.xorgproto ];
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
|
sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
|
||||||
|
@ -216,6 +216,10 @@ in {
|
|||||||
libressl = super.libressl.override {
|
libressl = super.libressl.override {
|
||||||
buildShared = false;
|
buildShared = false;
|
||||||
};
|
};
|
||||||
|
libjpeg_turbo = super.libjpeg_turbo.override {
|
||||||
|
enableStatic = true;
|
||||||
|
enableShared = false;
|
||||||
|
};
|
||||||
|
|
||||||
darwin = super.darwin // {
|
darwin = super.darwin // {
|
||||||
libiconv = super.darwin.libiconv.override {
|
libiconv = super.darwin.libiconv.override {
|
||||||
@ -276,4 +280,28 @@ in {
|
|||||||
libev = super.libev.override { static = true; };
|
libev = super.libev.override { static = true; };
|
||||||
|
|
||||||
libexecinfo = super.libexecinfo.override { enableShared = false; };
|
libexecinfo = super.libexecinfo.override { enableShared = false; };
|
||||||
|
|
||||||
|
xorg = super.xorg.overrideScope' (xorgself: xorgsuper: {
|
||||||
|
libX11 = xorgsuper.libX11.overrideAttrs (attrs: {
|
||||||
|
depsBuildBuild = attrs.depsBuildBuild ++ [ (self.buildPackages.stdenv.cc.libc.static or null) ];
|
||||||
|
});
|
||||||
|
xauth = xorgsuper.xauth.overrideAttrs (attrs: {
|
||||||
|
# missing transitive dependencies
|
||||||
|
preConfigure = attrs.preConfigure or "" + ''
|
||||||
|
export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lxcb -lXau -lXdmcp"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
xdpyinfo = xorgsuper.xdpyinfo.overrideAttrs (attrs: {
|
||||||
|
# missing transitive dependencies
|
||||||
|
preConfigure = attrs.preConfigure or "" + ''
|
||||||
|
export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lXau -lXdmcp"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
libxcb = xorgsuper.libxcb.overrideAttrs (attrs: {
|
||||||
|
configureFlags = attrs.configureFlags ++ [ "--disable-shared" ];
|
||||||
|
});
|
||||||
|
libXi= xorgsuper.libXi.overrideAttrs (attrs: {
|
||||||
|
configureFlags = attrs.configureFlags ++ [ "--disable-shared" ];
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user