diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/smlnj/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/smlnj/default.nix | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/nixpkgs/pkgs/development/compilers/smlnj/default.nix b/nixpkgs/pkgs/development/compilers/smlnj/default.nix index 3e987e8ccdaf..d6d50f0303f6 100644 --- a/nixpkgs/pkgs/development/compilers/smlnj/default.nix +++ b/nixpkgs/pkgs/development/compilers/smlnj/default.nix @@ -1,11 +1,9 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, Libsystem }: let version = "110.95"; baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}"; - isArch64 = stdenv.system == "x86_64-linux"; - - arch = if isArch64 + arch = if stdenv.is64bit then "64" else "32"; @@ -14,7 +12,7 @@ let boot64 = { url = "${baseurl}/boot.amd64-unix.tgz"; sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; }; - bootBinary = if isArch64 + bootBinary = if stdenv.is64bit then boot64 else boot32; @@ -53,6 +51,10 @@ in stdenv.mkDerivation { sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl 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 = '' @@ -83,7 +85,7 @@ in stdenv.mkDerivation { description = "Standard ML of New Jersey, a compiler"; homepage = "http://smlnj.org"; license = licenses.bsd3; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; maintainers = with maintainers; [ thoughtpolice ]; }; } |