Ticket #2417: Portfile

File Portfile, 2.1 KB (added by dem5302@…, 19 years ago)

Poly/ML 4.1.3 Portfile

Line 
1# $Id: $
2PortSystem        1.0
3name              polyml
4version           4.1.3
5categories        lang
6maintainers       dem5302@cs.rit.edu
7description       An implementation of Standard ML.
8long_description  \
9Poly/ML is an extremely fast and efficient implementation of \
10Standard ML.  Program state can be saved in a memory-mapped \
11persistent store.  There are numerous addon libraries available.
12
13homepage          http://www.polyml.org
14master_sites      http://www.polyml.org/source/ \
15                  http://www.polyml.org/dbases/
16
17distfiles         ${name}-driver-${version}.tar.gz \
18                  ${name}-basis-${version}.tar.gz \
19                  ${name}-mlsource-${version}.tar.gz \
20                  ${name}-${version}.ppc.tar.gz
21
22patchfiles        patch-configure.diff patch-BuildAll.diff
23
24checksums         ${name}-driver-${version}.tar.gz md5 814cea1cfb376d4bb3977f78bad3d5eb \
25                  ${name}-basis-${version}.tar.gz md5 aaaebb967ddafcbf9ff27ea815be5414 \
26                  ${name}-mlsource-${version}.tar.gz md5 c316411eb44e61bc85762e5742761936 \
27                  ${name}-${version}.ppc.tar.gz md5 7f9f0911ce15a146cc002ac55efc34c2       
28
29# The compiler comes in four archives, so make a top level directory
30# to extract them in.
31pre-extract {
32        exec mkdir ${workdir}/${name}-${version};
33}
34
35extract.post_args "| tar -x -C $name-$version"
36
37
38# File layout is rather non-standard, so configuration will be manual.
39configure {
40    cd driver;
41        system "./configure";
42        cd ../mlsource/MLCompiler/CodeTree;
43        system "ln -s CodeCons.power CodeCons";
44        cd ../../..;
45}
46
47# We need to build the base driver, and then bootstrap the ML database
48# with the precompiled ML_dbase.
49build {
50    cd driver;
51        system "make";
52    cd ..;
53    system "./driver/poly ML_dbase < mlsource/BuildAll.sml";
54}
55
56# The entire compiler is two files: the driver binary and the database.
57destroot {
58        system "mkdir -p ../destroot/opt/local/bin";
59        system "mkdir -p ../destroot/opt/local/lib/poly";
60        cd driver;
61        system "make install";
62        cd ..;
63        system "cp DB413Release ../destroot/opt/local/lib/poly/ML_dbase";
64}