1 | # $Id: Portfile 57375 2009-09-10 08:16:41Z ryandesign@macports.org $ |
---|
2 | |
---|
3 | PortSystem 1.0 |
---|
4 | |
---|
5 | name clisp |
---|
6 | version 2.47 |
---|
7 | categories lang |
---|
8 | maintainers waqar |
---|
9 | platforms darwin |
---|
10 | description The Clisp Common Lisp Implementation |
---|
11 | long_description \ |
---|
12 | CLISP is a Common Lisp implementation by Bruno Haible, \ |
---|
13 | formerly of Karlsruhe University, and Michael Stoll, \ |
---|
14 | formerly of Munich University, both in Germany. \ |
---|
15 | It mostly supports the Lisp described in the \ |
---|
16 | ANSI Common Lisp standard. \ |
---|
17 | CLISP includes an interpreter, a compiler, almost all \ |
---|
18 | of CLOS, a foreign language interface and a socket interface. \ |
---|
19 | An X11 interface is available through CLX and Garnet. \ |
---|
20 | Command line editing is provided by readline. |
---|
21 | |
---|
22 | homepage http://clisp.cons.org/ |
---|
23 | master_sites gnu:clisp/release/${version} \ |
---|
24 | sourceforge |
---|
25 | |
---|
26 | checksums md5 8fa89bb13e865fc7c7150b82682f35af \ |
---|
27 | sha1 63749bf07409cee134c195547e6d911554b619d6 \ |
---|
28 | rmd160 d376b0b16694bbaf60e61fc3465bfcdf5770e093 |
---|
29 | |
---|
30 | use_bzip2 yes |
---|
31 | |
---|
32 | universal_variant no |
---|
33 | |
---|
34 | depends_lib port:readline \ |
---|
35 | port:gettext \ |
---|
36 | port:libsigsegv |
---|
37 | |
---|
38 | build.dir ${worksrcpath}/src |
---|
39 | |
---|
40 | # Force 32-bit, inline-asm |
---|
41 | if {$build_arch == "x86_64"} { |
---|
42 | configure.build_arch i386 |
---|
43 | } elseif {$build_arch == "ppc64"} { |
---|
44 | configure.build_arch ppc |
---|
45 | } |
---|
46 | |
---|
47 | variant dynffi { |
---|
48 | ui_msg "enabling dynamic foreign function interface" |
---|
49 | depends_lib-append port:ffcall |
---|
50 | } |
---|
51 | |
---|
52 | variant nolibsigsegv { |
---|
53 | depends_lib-delete port:libsigsegv |
---|
54 | configure.args-append --ignore-absence-of-libsigsegv |
---|
55 | } |
---|
56 | |
---|
57 | platform darwin { |
---|
58 | # placeholder for use with variant_isset |
---|
59 | } |
---|
60 | |
---|
61 | platform darwin 7 { |
---|
62 | depends_lib-delete port:libsigsegv |
---|
63 | configure.args-append --ignore-absence-of-libsigsegv |
---|
64 | } |
---|
65 | |
---|
66 | configure.cflags |
---|
67 | configure.args --prefix=${prefix} --with-libreadline-prefix=${prefix} \ |
---|
68 | --with-libsigsegv-prefix=${prefix} --with-libiconv-prefix=${prefix} |
---|
69 | |
---|
70 | configure { |
---|
71 | set cmdstring "CFLAGS='[join ${configure.cflags}]' \ |
---|
72 | CC='${configure.cc} -arch ${configure.build_arch}' \ |
---|
73 | ./configure [join ${configure.args}]" |
---|
74 | ui_debug "EXECUTING: $cmdstring" |
---|
75 | system "cd ${configure.dir} && $cmdstring" |
---|
76 | } |
---|
77 | |
---|
78 | post-configure { |
---|
79 | if {[variant_isset darwin]} { |
---|
80 | if {[variant_isset dynffi]} { |
---|
81 | set ffi_switch "--with-dynamic-ffi" |
---|
82 | } else { |
---|
83 | set ffi_switch "--without-dynamic-ffi" |
---|
84 | } |
---|
85 | set cmdstring " \ |
---|
86 | CFLAGS=[join ${configure.cflags}] \ |
---|
87 | ./makemake [join ${configure.args}] \ |
---|
88 | --with-unicode \ |
---|
89 | --with-readline \ |
---|
90 | ${ffi_switch} \ |
---|
91 | --with-export-syscalls \ |
---|
92 | --with-gettext > Makefile && \ |
---|
93 | make config.lisp" |
---|
94 | ui_debug "EXECUTING: $cmdstring" |
---|
95 | system "cd ${build.dir} && $cmdstring" |
---|
96 | } |
---|
97 | } |
---|
98 | |
---|
99 | build { |
---|
100 | set cmdstring "cd ${build.dir} && ulimit -s 16384 && \ |
---|
101 | unset LD_PREBIND LD_PREBIND_ALLOW_OVERLAP && \ |
---|
102 | make" |
---|
103 | ui_debug "EXECUTING: $cmdstring" |
---|
104 | system $cmdstring |
---|
105 | set cmdstring "$cmdstring check" |
---|
106 | ui_debug "EXECUTING: $cmdstring" |
---|
107 | system $cmdstring |
---|
108 | } |
---|
109 | |
---|
110 | livecheck.type regex |
---|
111 | livecheck.url http://ftp.gnu.org/gnu/${name}/release/?C=M&O=D |
---|
112 | livecheck.regex >(\[0-9.\]+)/< |
---|