Ticket #49901: Portfile

File Portfile, 4.6 KB (added by mbrethen, 9 years ago)
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id$
3
4PortSystem              1.0
5PortGroup               github 1.0
6github.setup            WeiDUorg elkhound 2015-12-03
7categories              devel
8platforms               darwin
9maintainers             gmail.com:mark.brethen openmaintainer
10license                 BSD
11
12description             Elkhound is a GLR parser generator.
13
14long_description        Elkhound is a parser generator, similar to Bison. \
15                        The parsers it generates use the Generalized LR (GLR) \
16                        parsing algorithm. GLR works with any context-free \
17                        grammar, whereas LR parsers (such as Bison) require \
18                        grammars to be LALR(1).
19
20homepage                http://www.scottmcpeak.com/elkhound/
21
22livecheck.type          none
23
24checksums               rmd160  70760c4b1e59a360879e5c4eee5121787b113765 \
25    sha256  15b68deaad30227ed203293cf1c52772b00e9755576da1ac345bd99072907b80
26
27depends_build-append    port:bison \
28                        port:flex \
29                        port:perl5
30
31configure.pre_args
32configure.universal_args-delete --disable-dependency-tracking
33configure.dir           ${worksrcpath}/src
34build.dir               ${worksrcpath}/src
35
36use_parallel_build      no
37
38set examplesrcdir   ${worksrcpath}/src/elkhound/examples
39set ocamlsrcdir     ${worksrcpath}/src/elkhound/ocaml
40
41set bindir          ${destroot}${prefix}/bin
42set libexecdir      ${destroot}${prefix}/libexec/${name}-${version}
43set examplesdir     ${libexecdir}/${name}/examples
44set ocamldir        ${libexecdir}/${name}/ocaml
45
46destroot {
47    xinstall -d ${libexecdir}/ast
48    xinstall -d ${libexecdir}/smbase
49    xinstall -d ${examplesdir}/arith
50    xinstall -d ${examplesdir}/cdecl
51    xinstall -d ${examplesdir}/cexp
52    xinstall -d ${examplesdir}/gcom
53    xinstall -d ${examplesdir}/gcom1
54    xinstall -d ${examplesdir}/gcom2
55    xinstall -d ${examplesdir}/gcom3
56    xinstall -d ${examplesdir}/gcom4
57    xinstall -d ${examplesdir}/gcom5
58    xinstall -d ${examplesdir}/gcom7
59    xinstall -d ${examplesdir}/scannerless
60    xinstall -d ${ocamldir}/occ2
61
62    xinstall -p -W ${worksrcpath}/src/${name} \
63        elkhound make-tok \
64        ${libexecdir}/${name}
65    xinstall -m 644 -W ${worksrcpath}/src/${name} \
66        libelkhound.a cyctimer.h glrconfig.h glr.h lexerint.h parsetables.h \
67        ptreeact.h ptreenode.h useract.h algorithm.html faq.html index.html \
68        manual.html tutorial.html License.txt \
69        ${libexecdir}/${name}
70
71    xinstall -m 644 {*}[glob ${examplesrcdir}/*.*] ${examplesdir}
72    xinstall -m 644 {*}[glob ${examplesrcdir}/arith/*] ${examplesdir}/arith
73    xinstall -m 644 {*}[glob ${examplesrcdir}/cdecl/*] ${examplesdir}/cdecl
74    xinstall -m 644 {*}[glob ${examplesrcdir}/cexp/*] ${examplesdir}/cexp
75    xinstall -m 644 {*}[glob ${examplesrcdir}/gcom/*] ${examplesdir}/gcom
76    xinstall -m 644 {*}[glob ${examplesrcdir}/gcom1/*] ${examplesdir}/gcom1
77    xinstall -m 644 {*}[glob ${examplesrcdir}/gcom2/*] ${examplesdir}/gcom2
78    xinstall -m 644 {*}[glob ${examplesrcdir}/gcom3/*] ${examplesdir}/gcom3
79    xinstall -m 644 {*}[glob ${examplesrcdir}/gcom4/*] ${examplesdir}/gcom4
80    xinstall -m 644 {*}[glob ${examplesrcdir}/gcom5/*] ${examplesdir}/gcom5
81    xinstall -m 644 {*}[glob ${examplesrcdir}/gcom7/*] ${examplesdir}/gcom7
82    xinstall -m 644 {*}[glob ${examplesrcdir}/scannerless/*] \
83        ${examplesdir}/scannerless
84
85    xinstall -m 644 {*}[glob ${ocamlsrcdir}/*.*] ${ocamldir}
86    xinstall -m 644 {*}[glob ${ocamlsrcdir}/occ2/*] ${ocamldir}/occ2
87
88    xinstall -p ${worksrcpath}/src/ast/astgen ${libexecdir}/ast
89    xinstall -m 644 -W ${worksrcpath}/src/ast \
90        libast.a ast.ast asthelp.h ccsstr.h embedded.h gramlex.h locstr.h \
91        reporterr.h strtable.h xmlhelp.h index.html manual.html License.txt\
92        ${libexecdir}/ast
93
94    xinstall -m 644 -W ${worksrcpath}/src/smbase \
95        libsmbase.a autofile.h bflatten.h bit2d.h bitarray.h boxprint.h \
96        breaker.h crc.h cycles.h datablok.h exc.h flatten.h gprintf.h \
97        growbuf.h hashline.h hashtbl.h missing.h mypopen.h mysig.h nonport.h \
98        point.h pprint.h smregexp.h srcloc.h str.h strdict.h strhash.h \
99        stringset.h strtokp.h strutil.h svdict.h syserr.h trace.h trdelete.h \
100        unixutil.h vdtllist.h vptrmap.h voidlist.h warn.h index.html \
101        trace.html License.txt\
102        ${libexecdir}/smbase
103
104    # link the executables back to ${prefix}/bin
105    ln -s ${prefix}/libexec/${name}-${version}/${name}/elkhound ${bindir}
106    ln -s ${prefix}/libexec/${name}-${version}/ast/astgen ${bindir}
107}