at 23.11-beta 49 lines 1.2 kB view raw
1# This derivation should be redundant, now that regular smlnj works on Darwin, 2# and is preserved only for pre-existing direct usage. New use cases should 3# just use the regular smlnj derivation. 4 5{ lib, stdenv, fetchurl, cpio, rsync, xar, makeWrapper }: 6 7stdenv.mkDerivation rec { 8 pname = "smlnj-bootstrap"; 9 10 version = "110.91"; 11 12 src = fetchurl { 13 url = "http://smlnj.cs.uchicago.edu/dist/working/${version}/smlnj-x86-${version}.pkg"; 14 sha256 = "12jn50h5jz0ac1vzld2mb94p1dyc8h0mk0hip2wj5xqk1dbzwxl4"; 15 }; 16 17 nativeBuildInputs = [ makeWrapper ]; 18 buildInputs = [ cpio rsync ]; 19 20 unpackPhase = '' 21 ${xar}/bin/xar -xf $src 22 cd smlnj.pkg 23 ''; 24 25 buildPhase = '' 26 cat Payload | gunzip -dc | cpio -i 27 ''; 28 29 installPhase = '' 30 mkdir -p $out/bin 31 rsync -av bin/ $out/bin/ 32 33 mkdir -p $out/lib 34 rsync -av lib/ $out/lib/ 35 ''; 36 37 postInstall = '' 38 wrapProgram "$out/bin/sml" --set "SMLNJ_HOME" "$out" 39 ''; 40 41 meta = { 42 description = "Compiler for the Standard ML '97 programming language"; 43 homepage = "http://www.smlnj.org"; 44 license = lib.licenses.free; 45 platforms = lib.platforms.darwin; 46 maintainers = [ lib.maintainers.jwiegley ]; 47 mainProgram = "sml"; 48 }; 49}