Merge pull request #128204 from simonchatts/smlnj
This commit is contained in:
commit
ce8ca923bb
@ -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 {};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user