fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{ stdenv, fetchurl, darwin }:
2let
3 version = "110.79";
4 baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
5
6 sources = map fetchurl [
7 { url = "${baseurl}/config.tgz"; sha256 = "1siahy5sxz20bdy88s7zjj6gn55np1h54dalmg0nwzqq1rc048xb"; }
8 { url = "${baseurl}/cm.tgz"; sha256 = "174g71hvk1wfdmrg1mbx3p5j04ywnbbjapnnr9sgjd99pqqqsmdz"; }
9 { url = "${baseurl}/compiler.tgz"; sha256 = "001wi97ghj3mym4bk73gzzzrh7584hd79jn08cnq1wssdcfpn4mw"; }
10 { url = "${baseurl}/runtime.tgz"; sha256 = "0lavdzg25nbdzdyyf6wm304k0gsbb5bng2nlcx8gcfl743vl13r0"; }
11 { url = "${baseurl}/system.tgz"; sha256 = "00j34m5n8m30p51kajd0sxamy7gpwxaxrlgw5agxh0wi83vqfaki"; }
12 { url = "${baseurl}/MLRISC.tgz"; sha256 = "19q3gp7yfby4n8z6jn9m9q8g0a9kvb13arj8f2j0x9jnh3y2is78"; }
13 { url = "${baseurl}/smlnj-lib.tgz"; sha256 = "0frkc23zh9h1c2lvkidh92lsp56liyb3hyv17503nchmkxrlsi09"; }
14 { url = "${baseurl}/old-basis.tgz"; sha256 = "1ka7w4nvkmaf86dkdzgbwiw8kay6gxhcyx4q17m33wdzsjbq56lh"; }
15 { url = "${baseurl}/ckit.tgz"; sha256 = "1z8xf5pqwayqd8j6xhfhqs4axkb4dx7vdqi2a7gq3zbx2fd3s7pw"; }
16 { url = "${baseurl}/nlffi.tgz"; sha256 = "1544m7ildyd0d60wfy2hl700jnslpxqb7brgh8p0bmkvhhvvc96v"; }
17 { url = "${baseurl}/cml.tgz"; sha256 = "11blq65zlsbh6iwq502jww1z4iyk9pf2iv3d437cgnpb3sn9mx72"; }
18 { url = "${baseurl}/eXene.tgz"; sha256 = "14yl8a5xwms1m9bvfwfiz6rhg49225l52lqqq9sbxbf57615n9yg"; }
19 { url = "${baseurl}/ml-lpt.tgz"; sha256 = "118s7v2f73ym91ymvnmswjxm2pw5n4q1d4hvbs1cmm43dv28pw7m"; }
20 { url = "${baseurl}/ml-lex.tgz"; sha256 = "0lf5ir12v8j6n11mblrl00jgm583ak077vgbabc1dfmz47rd566b"; }
21 { url = "${baseurl}/ml-yacc.tgz"; sha256 = "0dmifbbq1wxkxf479jv61nsy79sr78ad9fq6561rvgi4h12lzh7k"; }
22 { url = "${baseurl}/ml-burg.tgz"; sha256 = "1b5z18azik1kpaafi1vjgaf181yv32h88zm3z5fqxs96pwb86h1d"; }
23 { url = "${baseurl}/pgraph.tgz"; sha256 = "15g06hl7zn98qas3b6r6lrl75g9d1galqxdyai7d5z9q5lq71j2v"; }
24 { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "0jwilcv2ycfpcy3cgs8ndaj16yqm8m2q63sipcigfycacpyqfsiw"; }
25 { url = "${baseurl}/heap2asm.tgz"; sha256 = "0wylsw1dkls9l86j226ilfb50mfk4h4zz4r9zdj104a1mqvvbgfk"; }
26 { url = "${baseurl}/smlnj-c.tgz"; sha256 = "1xr89r1nhzg53hk0v0fk1livphwpgmzh1dgjqxl4w8dx9qhk9yf0"; }
27 { url = "${baseurl}/doc.tgz"; sha256 = "1fz4l3019n1rkrww98w59cdhlrz9jg635hmdq59xryc0j78y4ga1"; }
28 { url = "${baseurl}/boot.x86-unix.tgz"; sha256 = "0nka4dhklhilrsw4byr5vixiap28zp67ai0vjkwhqh03amkcr8zq"; }
29 ];
30in stdenv.mkDerivation {
31 name = "smlnj-${version}";
32
33 inherit sources;
34
35 patchPhase = ''
36 sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
37 echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
38 '' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; ''
39 sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\
40\ \*x86-darwin\*)\
41\ INCLFILE=${apple_sdk.sdk}/include/unistd.h\
42\ ;;\
43\ \*) ;;
44' base/runtime/config/gen-posix-names.sh
45 sed -i 's|^AS =\([[:space:]]*\)/usr/bin/as|AS =\1as|' base/runtime/objs/mk.x86-darwin
46 '');
47
48 unpackPhase = ''
49 for s in $sources; do
50 b=$(basename $s)
51 cp $s ''${b#*-}
52 done
53 unpackFile config.tgz
54 mkdir base
55 ./config/unpack $TMP runtime
56 '';
57
58 buildPhase = ''
59 ./config/install.sh
60 '';
61
62 installPhase = ''
63 mkdir -pv $out
64 cp -rv bin lib $out
65
66 cd $out/bin
67 for i in *; do
68 sed -i "2iSMLNJ_HOME=$out/" $i
69 done
70 '';
71
72 meta = with stdenv.lib; {
73 description = "Standard ML of New Jersey, a compiler";
74 homepage = http://smlnj.org;
75 license = licenses.bsd3;
76 platforms = [ "i686-linux" ] ++ platforms.darwin;
77 maintainers = with maintainers; [ thoughtpolice ];
78 };
79}