smljnBootstrap: new expression for running smlnj on darwin
This commit is contained in:
parent
db1afc01d2
commit
e36e853817
43
pkgs/development/compilers/smlnj/bootstrap.nix
Normal file
43
pkgs/development/compilers/smlnj/bootstrap.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ stdenv, fetchurl, cpio, rsync, makeWrapper }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "smlnj-bootstrap-${version}";
|
||||||
|
|
||||||
|
version = "110.76";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://smlnj.cs.uchicago.edu/dist/working/${version}/smlnj-x86-${version}.pkg";
|
||||||
|
sha256 = "0n3kdlqffqw97piya7i4lddrhjml2dp1q9hfq2jrd2hbzln8vdjf";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ cpio rsync makeWrapper ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
/usr/bin/xar -xf $src
|
||||||
|
cd smlnj.pkg
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cat Payload | gunzip -dc | cpio -i
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
ensureDir $out/bin
|
||||||
|
rsync -av bin/ $out/bin/
|
||||||
|
|
||||||
|
ensureDir $out/lib
|
||||||
|
rsync -av lib/ $out/lib/
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram "$out/bin/sml" --set "SMLNJ_HOME" "$out"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Compiler for the Standard ML '97 programming language";
|
||||||
|
homepage = http://www.smlnj.org;
|
||||||
|
license = stdenv.lib.licenses.free;
|
||||||
|
platforms = stdenv.lib.platforms.darwin;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.jwiegley ];
|
||||||
|
};
|
||||||
|
}
|
@ -3303,6 +3303,7 @@ let
|
|||||||
|
|
||||||
sdcc = callPackage ../development/compilers/sdcc { };
|
sdcc = callPackage ../development/compilers/sdcc { };
|
||||||
|
|
||||||
|
smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
|
||||||
smlnj = callPackage_i686 ../development/compilers/smlnj { };
|
smlnj = callPackage_i686 ../development/compilers/smlnj { };
|
||||||
|
|
||||||
stalin = callPackage ../development/compilers/stalin { };
|
stalin = callPackage ../development/compilers/stalin { };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user