1{stdenv, gcc, glibc, fetchurl, fetchgit, libtool, autoconf, automake, file, gnumake, which, zsh, m4, pkgconfig, perl, gnome, pango, sqlite, libxml2, zlib, gmp, smlnj }:
2
3stdenv.mkDerivation {
4 name = "aliceml-1.4-7d44dc8e";
5
6 src = fetchgit {
7 url = "https://github.com/aliceml/aliceml";
8 rev = "7d44dc8e4097c6f85888bbf4ff86d51fe05b0a08";
9 sha256 = "ab2d5bf05c40905b02cb1ec975d4980ae4437757856eeb1f587ede2c45a1917f";
10 fetchSubmodules = true;
11 };
12
13 gecodeSrc = fetchurl {
14 url = http://www.gecode.org/download/gecode-1.3.1.tar.gz;
15 sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355";
16 };
17
18 buildInputs = [
19 stdenv gcc glibc
20 libtool gnumake autoconf automake
21 file which zsh m4 gnome.gtk zlib gmp
22 gnome.libgnomecanvas pango sqlite
23 libxml2 pkgconfig perl smlnj
24 ];
25
26 makePatch = ./make.patch;
27 seamPatch = ./seam.patch;
28
29 phases = [ "unpackPhase" "patchPhase" "configurePhase" "buildPhase" ];
30
31 patchPhase = ''
32 sed -i -e "s@wget ..GECODE_URL. -O - | tar xz@tar xf $gecodeSrc@" make/Makefile
33 patch -p1 <$makePatch
34 patch -p1 <$seamPatch
35 '';
36
37 configurePhase = ''
38 make -C make setup PREFIX="$out"
39 '';
40
41 buildPhase = ''
42 gmp="${gmp}" zlib="${zlib}" PATH=$PATH:`pwd`/seam-support/install/bin make -C make all PREFIX="$out"
43 '';
44
45 meta = {
46 description = "Functional programming language based on Standard ML";
47 longDescription = ''
48 Alice ML is a functional programming language based on Standard ML,
49 extended with rich support for concurrent, distributed, and constraint
50 programming.
51 '';
52 homepage = http://www.ps.uni-saarland.de/alice/;
53 license = stdenv.lib.licenses.mit;
54 maintainers = [ stdenv.lib.maintainers.doublec ];
55 };
56}