source: trunk/dports/devel/iojs/Portfile @ 135232

Last change on this file since 135232 was 135232, checked in by ryandesign@…, 5 years ago

icu: update to 55.1

  • 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 135232 2015-04-20 00:15:39Z ryandesign@macports.org $
3
4PortSystem              1.0
5PortGroup               compiler_blacklist_versions 1.0
6
7name                    iojs
8version                 1.7.1
9revision                1
10
11categories              devel net
12platforms               darwin
13license                 {MIT BSD}
14maintainers             ciserlohn
15
16description             JavaScript I/O
17
18long_description        io.js is a JavaScript platform built on Chrome's V8 runtime. \
19                        This project began as a fork of Joyent's Node.js and is \
20                        compatible with the npm ecosystem.
21
22conflicts               nodejs nodejs-devel
23
24homepage                https://iojs.org/
25master_sites            ${homepage}dist/v${version}
26
27checksums               rmd160  a0836c029b2866805519577a843f940ee0820fa6 \
28                        sha256  8f7c6927bbded5912d9bd3903e779b534ddc742ea3aa669859369263b179eff9
29
30distname                iojs-v${version}
31
32depends_build           port:pkgconfig
33
34depends_lib             port:icu \
35                        port:python27 \
36                        port:openssl
37
38configure.python ${prefix}/bin/python2.7
39
40configure.args-append   --without-npm
41configure.args-append   --shared-openssl
42configure.args-append   --shared-openssl-includes=${prefix}/include/openssl
43configure.args-append   --shared-openssl-libpath=${prefix}/lib
44configure.args-append   --with-intl=system-icu
45
46proc rec_glob {basedir pattern} {
47    set files [glob -directory $basedir -nocomplain -type f $pattern]
48    foreach dir [glob -directory $basedir -nocomplain -type d *] {
49        eval lappend files [rec_glob $dir $pattern]
50    }
51    return $files
52}
53
54
55post-patch {
56    foreach f [concat ${worksrcpath}/configure \
57                   ${worksrcpath}/tools/gyp/gyp \
58                   ${worksrcpath}/node.gyp \
59                   ${worksrcpath}/deps/cares/gyp_cares \
60                   ${worksrcpath}/deps/npm/node_modules/node-gyp/gyp/gyp \
61                   [rec_glob ${worksrcpath} *.py]] {
62        reinplace -locale C "s|/usr/bin/env python|${configure.python}|" ${f}
63    }
64    foreach f [concat ${worksrcpath}/deps/npm/scripts/relocate.sh \
65                   ${worksrcpath}/deps/npm/node_modules/semver/bin/semver \
66                   ${worksrcpath}/deps/npm/node_modules/which/bin/which \
67                   ${worksrcpath}/deps/npm/test/packages/npm-test-array-bin/bin/array-bin \
68                   ${worksrcpath}/deps/npm/test/packages/npm-test-dir-bin/bin/dir-bin \
69                   ${worksrcpath}/tools/doc/node_modules/marked/bin/marked \
70                   [rec_glob ${worksrcpath} *.js]] {
71        reinplace -locale C "s|/usr/bin/env node|${prefix}/bin/node|" ${f}
72    }
73    foreach gypfile [rec_glob ${worksrcpath} *.gyp] {
74        reinplace -locale C "s|'python'|'${configure.python}'|" ${gypfile}
75    }
76}
77
78# V8 only supports ARM and IA-32 processors
79supported_archs         i386 x86_64
80
81universal_variant       no
82
83patchfiles-append       patch-common.gypi.diff
84
85# "V8 doesn't like cache."
86configure.ccache        no
87
88test.run                yes
89
90use_parallel_build      no
91
92switch $build_arch {
93    i386 {
94        configure.args-append   --dest-cpu=ia32
95    }
96    x86_64 {
97        configure.args-append   --dest-cpu=x64
98    }
99}
100
101build.args-append   CC=${configure.cc} \
102                    CXX=${configure.cxx} \
103                    CXX.host=${configure.cxx} \
104                    CPP=${configure.cpp} \
105                    CFLAGS="${configure.cflags}" \
106                    CXXFLAGS="${configure.cxxflags}" \
107                    LDFLAGS="${configure.ldflags}" \
108                    PYTHON=${configure.python} \
109                    V=1
110
111destroot {
112    set bindir ${destroot}${prefix}/bin
113    set libdir ${destroot}${prefix}/lib
114    set libndir ${libdir}/${name}
115    set libddir ${libdir}/dtrace
116    set incdir ${destroot}${prefix}/include/${name}
117    set docdir ${destroot}${prefix}/share/doc/${name}
118
119    xinstall -d ${bindir}
120    xinstall -d ${libdir}
121    xinstall -d ${libndir}
122    xinstall -d ${libddir}
123    xinstall -d ${incdir}
124    xinstall -d ${docdir}
125
126# install binaries
127    xinstall -m 755 -W ${worksrcpath} \
128        out/Release/${name} \
129        ${bindir}
130
131    ln -s ${name} ${bindir}/node
132
133# install headers
134    xinstall -m 644 -W ${worksrcpath} \
135        src/async-wrap-inl.h \
136        src/async-wrap.h \
137        src/base-object-inl.h \
138        src/base-object.h \
139        src/debug-agent.h \
140        src/env-inl.h \
141        src/env.h \
142        src/handle_wrap.h \
143        src/node.h \
144        src/node_buffer.h \
145        src/node_constants.h \
146        src/node_counters.h \
147        src/node_crypto.h \
148        src/node_crypto_bio.h \
149        src/node_crypto_clienthello-inl.h \
150        src/node_crypto_clienthello.h \
151        src/node_crypto_groups.h \
152        src/node_dtrace.h \
153        src/node_file.h \
154        src/node_http_parser.h \
155        src/node_i18n.h \
156        src/node_internals.h \
157        src/node_javascript.h \
158        src/node_object_wrap.h \
159        src/node_root_certs.h \
160        src/node_stat_watcher.h \
161        src/node_version.h \
162        src/node_watchdog.h \
163        src/node_wrap.h \
164        src/pipe_wrap.h \
165        src/smalloc.h \
166        src/spawn_sync.h \
167        src/stream_wrap.h \
168        src/string_bytes.h \
169        src/tcp_wrap.h \
170        src/tls_wrap.h \
171        src/tree.h \
172        src/tty_wrap.h \
173        src/udp_wrap.h \
174        src/util-inl.h \
175        src/util.h \
176        src/v8abbr.h \
177        deps/v8/include/v8-debug.h \
178        deps/v8/include/v8-profiler.h \
179        deps/v8/include/v8-testing.h \
180        deps/v8/include/v8.h \
181        deps/v8/include/v8-platform.h \
182        deps/v8/include/v8-util.h \
183        deps/v8/include/v8config.h \
184        deps/uv/include/uv.h \
185        deps/uv/include/uv-unix.h \
186        deps/uv/include/uv-darwin.h \
187        deps/uv/include/tree.h \
188        deps/uv/include/uv-threadpool.h \
189        deps/uv/include/pthread-fixes.h \
190        deps/cares/include/ares.h \
191        deps/cares/include/ares_version.h \
192        deps/cares/include/nameser.h \
193        ${incdir}
194
195# install dtrace script
196    xinstall -m 644 -W ${worksrcpath} \
197        src/node.d \
198        ${libddir}
199
200# install manpage
201    xinstall -m 644 -W ${worksrcpath} \
202        doc/${name}.1 \
203        ${destroot}${prefix}/share/man/man1
204
205# install docs
206    xinstall -m 644 -W ${worksrcpath} \
207        AUTHORS \
208        ChangeLog.md \
209        COLLABORATOR_GUIDE.md \
210        CONTRIBUTING.md \
211        GOVERNANCE.md \
212        LICENSE \
213        README.md \
214        ${docdir}
215}
216
217compiler.blacklist *gcc* *clang-2.* {*clang-3.[012]*} {clang < 500}
218
219if {${os.major} < 10} {
220    pre-fetch {
221        ui_error "${name} ${version} requires Mac OS X 10.6 or greater."
222        return -code error "incompatible Mac OS X version"
223    }
224}
225
226livecheck.url       ${homepage}dist/
227livecheck.type      regex
228livecheck.regex     {v(\d+\.\d+\.\d+)}
Note: See TracBrowser for help on using the repository browser.