racket-minimal: build on darwin
Technically, racket compiles and packages too, but it doesn't pass all tests yet, so the build fails. gcc7Stdenv is GCC 7 with the MacOS-specific adaptations retained. Building on MacOS with that works, but we should be using clang. I'm hoping that the next person wanting to override the compiler version in some other derivation sees that attribute and doesn't inadvertently break a MacOS build again.
This commit is contained in:
parent
ec2e601871
commit
fdbc744856
@ -4,6 +4,7 @@
|
|||||||
, libpng, libtool, mpfr, openssl, pango, poppler
|
, libpng, libtool, mpfr, openssl, pango, poppler
|
||||||
, readline, sqlite
|
, readline, sqlite
|
||||||
, disableDocs ? false
|
, disableDocs ? false
|
||||||
|
, CoreFoundation
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -47,9 +48,13 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
FONTCONFIG_FILE = fontsConf;
|
FONTCONFIG_FILE = fontsConf;
|
||||||
LD_LIBRARY_PATH = libPath;
|
LD_LIBRARY_PATH = libPath;
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.cc.isGNU "-lgcc_s";
|
NIX_LDFLAGS = stdenv.lib.concatStringsSep " " [
|
||||||
|
(stdenv.lib.optionalString (stdenv.cc.isGNU && ! stdenv.isDarwin) "-lgcc_s")
|
||||||
|
(stdenv.lib.optionalString stdenv.isDarwin "-framework CoreFoundation")
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [ fontconfig libffi libtool makeWrapper sqlite ];
|
buildInputs = [ fontconfig libffi libtool makeWrapper sqlite ]
|
||||||
|
++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
unset AR
|
unset AR
|
||||||
|
@ -14,6 +14,6 @@ racket.overrideAttrs (oldAttrs: rec {
|
|||||||
as well as libraries that live in collections. In particular, raco
|
as well as libraries that live in collections. In particular, raco
|
||||||
and the pkg library are still bundled.
|
and the pkg library are still bundled.
|
||||||
'';
|
'';
|
||||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -5822,6 +5822,8 @@ with pkgs;
|
|||||||
extraBuildInputs = lib.optional hostPlatform.isDarwin clang.cc;
|
extraBuildInputs = lib.optional hostPlatform.isDarwin clang.cc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gcc7Stdenv = overrideCC gccStdenv gcc7;
|
||||||
|
|
||||||
wrapCCMulti = cc:
|
wrapCCMulti = cc:
|
||||||
if system == "x86_64-linux" then let
|
if system == "x86_64-linux" then let
|
||||||
# Binutils with glibc multi
|
# Binutils with glibc multi
|
||||||
@ -7102,7 +7104,8 @@ with pkgs;
|
|||||||
# racket 6.11 doesn't build with gcc6 + recent glibc:
|
# racket 6.11 doesn't build with gcc6 + recent glibc:
|
||||||
# https://github.com/racket/racket/pull/1886
|
# https://github.com/racket/racket/pull/1886
|
||||||
# https://github.com/NixOS/nixpkgs/pull/31017#issuecomment-343574769
|
# https://github.com/NixOS/nixpkgs/pull/31017#issuecomment-343574769
|
||||||
stdenv = overrideCC stdenv gcc7;
|
stdenv = if stdenv.isDarwin then stdenv else gcc7Stdenv;
|
||||||
|
inherit (darwin.apple_sdk.frameworks) CoreFoundation;
|
||||||
};
|
};
|
||||||
racket-minimal = callPackage ../development/interpreters/racket/minimal.nix { };
|
racket-minimal = callPackage ../development/interpreters/racket/minimal.nix { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user