source: trunk/dports/lang/erlang/Portfile @ 113329

Last change on this file since 113329 was 113329, checked in by mojca@…, 6 years ago

revbump the wxWidgets dependents

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 6.9 KB
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: Portfile 113329 2013-11-13 16:53:30Z mojca@macports.org $
3
4PortSystem          1.0
5PortGroup           wxWidgets 1.0
6PortGroup           compiler_blacklist_versions 1.0
7
8name                erlang
9version             R16B02
10revision            1
11categories          lang erlang
12maintainers         ciserlohn
13platforms           darwin
14license             MPL
15license_noconflict  perl5
16description         The Erlang Programming Language
17long_description    Erlang is a programming language designed at the        \
18                    Ericsson Computer Science Laboratory. Open-source       \
19                    Erlang is being released to help encourage the spread   \
20                    of Erlang outside Ericsson.                             \
21                                                                            \
22                    We are releasing free of charge:                        \
23                        The entire source code of the current Erlang        \
24                        system.                                             \
25                        Extensive libraries of code for building robust     \
26                        fault-tolerant distributed applications.            \
27                        All with documentation.                             \
28                                                                            \
29                    All the above software has been battle tested in a      \
30                    number of Ericsson products, for example the new        \
31                    Ericsson ATM switch.
32
33homepage            http://www.erlang.org/
34master_sites        http://www.erlang.org/download/
35
36# Parallel build doesn't work as per R13B01
37use_parallel_build  no
38
39universal_variant   no
40
41distfiles           otp_src_${version}${extract.suffix}                    \
42                    otp_doc_man_${version}${extract.suffix}                \
43                    otp_doc_html_${version}${extract.suffix}
44
45checksums           otp_src_${version}.tar.gz \
46                    rmd160  d10ad82b3bddf16d1cf52babd56965537b64faeb \
47                    sha256  6ab8ad1df8185345554a4b80e10fd8be06c4f2b71b69dcfb8528352787b32f85 \
48                    otp_doc_man_${version}.tar.gz \
49                    rmd160  5f0f36831d996882e55b168acd209892156e6bb8 \
50                    sha256  b79ceb0383415088b5f040f2f3705632b425cb3f29c3955ef2219556abec5789 \
51                    otp_doc_html_${version}.tar.gz \
52                    rmd160  20315bfa218469d045f0f69a52305a89e138f6e6 \
53                    sha256  2d54119b30c4d905b6b1298865309c3392fefb1580ad69725e997644bed04b7f
54
55pre-patch         { file rename ${workpath}/otp_src_${version} ${workpath}/${name}-${version} }
56
57# http://www.erlang.org/pipermail/erlang-bugs/2009-January/001171.html
58patchfiles          patch-toolbar.erl.diff \
59                    patch-erts_emulator_Makefile.in.diff \
60                    patch-erts_configure.diff 
61
62configure.args      --prefix=${prefix}       \
63                    --enable-kernel-poll     \
64                    --enable-threads         \
65                    --enable-dynamic-ssl-lib \
66                    --enable-smp-support     \
67                    --disable-hipe           \
68                    --without-ssl            \
69                    --without-odbc           \
70                    --without-wx
71
72depends_build       port:gawk port:perl5
73# ${prefix}/lib/erlang/erts-5.8.4/bin/beam.smp links with ncurses
74depends_lib         port:ncurses
75
76# Erlang seems to have an on-again/off-again relationship with Clang.
77# As of XCode 4.2, it's off again.
78compiler.blacklist  {clang < 300} macports-clang-2.9
79
80post-destroot   {
81    system "tar -C ${destroot}${prefix}/lib/erlang -zxvf ${distpath}/otp_doc_html_${version}${extract.suffix}"
82    system "tar -C ${destroot}${prefix}/lib/erlang -zxvf ${distpath}/otp_doc_man_${version}${extract.suffix}"
83 
84    set erts_dir            erts-5.10.3
85    set erl_interface_dir   erl_interface-3.7.14
86    set wx_dir              wx-1.1
87
88    reinplace s|${destroot}|| ${destroot}${prefix}/lib/erlang/bin/erl
89    reinplace s|${destroot}|| ${destroot}${prefix}/lib/erlang/bin/start
90    reinplace s|${destroot}|| ${destroot}${prefix}/lib/erlang/${erts_dir}/bin/erl
91    reinplace s|${destroot}|| ${destroot}${prefix}/lib/erlang/${erts_dir}/bin/start
92
93    foreach x {dialyzer ear ecc elink epmd erl erlc escript run_erl start to_erl typer} { file delete -force ${destroot}${prefix}/bin/${x} }
94    foreach x {dialyzer erl erlc escript run_erl start to_erl typer} { system "ln -s ../lib/erlang/bin/${x} ${destroot}${prefix}/bin/${x}" }
95
96    file delete -force ${destroot}${prefix}/lib/erlang/bin/epmd
97    system "ln -s ../${erts_dir}/bin/epmd ${destroot}${prefix}/lib/erlang/bin/epmd"
98    system "ln -s ../lib/erlang/lib/${erl_interface_dir}/bin/erl_call ${destroot}${prefix}/bin/erl_call"
99}
100
101platform darwin 10 {
102    # 10.6 (and 10.6.1) has a bad bug related to using dlopen in a thread.
103    # rdar://7209349 - http://www.openradar.appspot.com/7209349
104    # This is a workaround.
105    patchfiles-append           patch-erts_emulator_sys_unix_ddll.c.diff
106}
107
108platform darwin {
109    if {${configure.build_arch} == "x86_64" || ${configure.build_arch} == "ppc64"} {
110        configure.args-append   --enable-darwin-64bit
111    } else {
112        configure.args-append   --disable-darwin-64-bit
113    }
114    # TODO: not sure about the minimum version
115    if {${os.major} >= 10} {
116        # also "-framework Appkit"?
117        configure.ldflags-append -framework CoreFoundation
118    }
119}
120
121variant wxwidgets description {Build wxWidgets support} {
122    wxWidgets.use               wxWidgets-3.0
123    patchfiles-delete           patch-disable_wx.diff
124    patchfiles-append           patch-lib_wx_configure.in.diff \
125                                patch-lib_wx_configure.diff
126    depends_lib-append          port:${wxWidgets.port}
127    depends_run-append          port:tk
128    configure.args-append       --with-wxdir=${wxWidgets.wxdir}
129    configure.args-delete       --without-wx
130}
131
132variant ssl description {Build SSL support} {
133    configure.args-delete       --without-ssl
134    configure.args-append       --with-ssl=${prefix}
135    configure.ldflags-append    -lz
136    depends_lib-append          port:openssl
137}
138
139variant hipe conflicts nohipe description {Enable HiPE (native-code bytecode compiler)} {
140    configure.args-delete       --disable-hipe
141    configure.args-append       --enable-hipe
142}
143
144variant nohipe conflicts hipe description {Legacy compatibility variant} {}
145
146if {[variant_isset nohipe]} {
147    default_variants -hipe
148} else {
149    default_variants +hipe
150}
151
152variant odbc description {Build ODBC support} {
153    depends_lib-append          port:unixODBC
154    configure.args-delete       --without-odbc
155    configure.args-append       --with-odbc=${prefix}
156}
157
158default_variants    +ssl
159
160# Livecheck
161livecheck.type      regex
162livecheck.version   ${version}
163livecheck.url       ${homepage}download/
164livecheck.regex     "otp_src_(R\[0-9\]+\[AB\]\[0-9\]*(-\[0-9\])?)\\.tar\\.gz"
Note: See TracBrowser for help on using the repository browser.