Merge pull request #128204 from simonchatts/smlnj

This commit is contained in:
Sandro 2021-06-28 23:36:31 +02:00 committed by GitHub
commit ce8ca923bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 22 deletions

@ -1,3 +1,7 @@
# This derivation should be redundant, now that regular smlnj works on Darwin,
# and is preserved only for pre-existing direct usage. New use cases should
# just use the regular smlnj derivation.
{ lib, stdenv, fetchurl, cpio, rsync, xar, makeWrapper }: { lib, stdenv, fetchurl, cpio, rsync, xar, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

@ -1,11 +1,9 @@
{ lib, stdenv, fetchurl }: { lib, stdenv, fetchurl, Libsystem }:
let let
version = "110.95"; version = "110.95";
baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}"; baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
isArch64 = stdenv.system == "x86_64-linux"; arch = if stdenv.is64bit
arch = if isArch64
then "64" then "64"
else "32"; else "32";
@ -14,7 +12,7 @@ let
boot64 = { url = "${baseurl}/boot.amd64-unix.tgz"; boot64 = { url = "${baseurl}/boot.amd64-unix.tgz";
sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; }; sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; };
bootBinary = if isArch64 bootBinary = if stdenv.is64bit
then boot64 then boot64
else boot32; else boot32;
@ -53,6 +51,10 @@ in stdenv.mkDerivation {
sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
patch --verbose config/_heap2exec ${./heap2exec.diff} patch --verbose config/_heap2exec ${./heap2exec.diff}
'' + lib.optionalString stdenv.isDarwin ''
# Locate standard headers like <unistd.h>
substituteInPlace base/runtime/config/gen-posix-names.sh \
--replace "\$SDK_PATH/usr" "${Libsystem}"
''; '';
unpackPhase = '' unpackPhase = ''
@ -83,7 +85,7 @@ in stdenv.mkDerivation {
description = "Standard ML of New Jersey, a compiler"; description = "Standard ML of New Jersey, a compiler";
homepage = "http://smlnj.org"; homepage = "http://smlnj.org";
license = licenses.bsd3; license = licenses.bsd3;
platforms = [ "x86_64-linux" "i686-linux" ]; platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ thoughtpolice ]; maintainers = with maintainers; [ thoughtpolice ];
}; };
} }

@ -12069,8 +12069,11 @@ in
shmig = callPackage ../development/tools/database/shmig { }; shmig = callPackage ../development/tools/database/shmig { };
# smlnjBootstrap should be redundant, now that smlnj works on Darwin natively
smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { }; smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
smlnj = callPackage ../development/compilers/smlnj { }; smlnj = callPackage ../development/compilers/smlnj {
inherit (darwin) Libsystem;
};
smlpkg = callPackage ../tools/package-management/smlpkg { }; smlpkg = callPackage ../tools/package-management/smlpkg { };
@ -30080,11 +30083,7 @@ in
iprover = callPackage ../applications/science/logic/iprover { }; iprover = callPackage ../applications/science/logic/iprover { };
jonprl = callPackage ../applications/science/logic/jonprl { jonprl = callPackage ../applications/science/logic/jonprl { };
smlnj = if stdenv.isDarwin
then smlnjBootstrap
else smlnj;
};
key = callPackage ../applications/science/logic/key { }; key = callPackage ../applications/science/logic/key { };
@ -30143,19 +30142,11 @@ in
tptp = callPackage ../applications/science/logic/tptp {}; tptp = callPackage ../applications/science/logic/tptp {};
celf = callPackage ../applications/science/logic/celf { celf = callPackage ../applications/science/logic/celf { };
smlnj = if stdenv.isDarwin
then smlnjBootstrap
else smlnj;
};
fast-downward = callPackage ../applications/science/logic/fast-downward { }; fast-downward = callPackage ../applications/science/logic/fast-downward { };
twelf = callPackage ../applications/science/logic/twelf { twelf = callPackage ../applications/science/logic/twelf { };
smlnj = if stdenv.isDarwin
then smlnjBootstrap
else smlnj;
};
verifast = callPackage ../applications/science/logic/verifast {}; verifast = callPackage ../applications/science/logic/verifast {};