about summary refs log tree commit diff
path: root/pkgs/development/compilers/smlnj
diff options
context:
space:
mode:
authorAnthony Cowley <acowley@gmail.com>2015-07-21 18:39:46 -0400
committerAnthony Cowley <acowley@gmail.com>2015-07-24 18:24:03 -0400
commit9651f06a2d5dd2098f349326487e7f3d291727f1 (patch)
tree45c0ded285e7c6e2d09bb9ca7e6d4fb934dc4775 /pkgs/development/compilers/smlnj
parentdf6381afecee4aebc559ea94f72acaa7dbd6c6ed (diff)
downloadnixlib-9651f06a2d5dd2098f349326487e7f3d291727f1.tar
nixlib-9651f06a2d5dd2098f349326487e7f3d291727f1.tar.gz
nixlib-9651f06a2d5dd2098f349326487e7f3d291727f1.tar.bz2
nixlib-9651f06a2d5dd2098f349326487e7f3d291727f1.tar.lz
nixlib-9651f06a2d5dd2098f349326487e7f3d291727f1.tar.xz
nixlib-9651f06a2d5dd2098f349326487e7f3d291727f1.tar.zst
nixlib-9651f06a2d5dd2098f349326487e7f3d291727f1.zip
smlnj: build on darwin
Diffstat (limited to 'pkgs/development/compilers/smlnj')
-rw-r--r--pkgs/development/compilers/smlnj/default.nix14
1 files changed, 11 insertions, 3 deletions
diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix
index a2b8d4f63b98..e4d4dc1ae10c 100644
--- a/pkgs/development/compilers/smlnj/default.nix
+++ b/pkgs/development/compilers/smlnj/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, darwin }:
 let
   version = "110.78";
   baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
@@ -34,7 +34,15 @@ in stdenv.mkDerivation {
   patchPhase = ''
     sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
     echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
-  '';
+  '' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; ''
+    sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\
+\  \*x86-darwin\*)\
+\    INCLFILE=${osx_sdk}/Developer/SDKs/${osx_sdk.name}/usr/include/unistd.h\
+\    ;;\
+\  \*) ;;
+' base/runtime/config/gen-posix-names.sh
+    sed -i 's|^AS =\([[:space:]]*\)/usr/bin/as|AS =\1as|' base/runtime/objs/mk.x86-darwin
+  '');
 
   unpackPhase = ''
     for s in $sources; do
@@ -64,7 +72,7 @@ in stdenv.mkDerivation {
     description = "Standard ML of New Jersey, a compiler";
     homepage    = http://smlnj.org;
     license     = licenses.bsd3;
-    platforms   = [ "i686-linux" ];
+    platforms   = [ "i686-linux" ] ++ platforms.darwin;
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }