source: trunk/dports/devel/nodejs-devel/Portfile @ 91366

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

nodejs-devel: update to version 0.7.7

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.5 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 91366 2012-03-30 21:25:06Z ciserlohn@macports.org $
3
4PortSystem              1.0
5
6name                    nodejs-devel
7version                 0.7.7
8categories              devel net
9platforms               darwin
10license                 {MIT BSD}
11maintainers             ciserlohn
12
13description             Evented I/O for V8 JavaScript
14
15long_description        Node's goal is to provide an easy way to build scalable network programs in JavaScript. \
16                        Node is similar in design to and influenced by systems like Ruby's Event \
17                        Machine or Python's Twisted. Node takes the event model a bit further-it \
18                        presents the event loop as a language construct instead of as a library.
19
20conflicts               nodejs
21
22homepage                http://nodejs.org/
23master_sites            ${homepage}dist/v${version}
24
25checksums               rmd160  df2fa29d128806228f8014f15ebcde762cca4920 \
26                        sha256  40d67cdaba5fdef522fc49e31220ffc3278c90cb5ca1dc5dbb6e43cbc938f8d1
27
28distname                node-v${version}
29
30proc rec_glob {basedir pattern} {
31    set files [glob -directory $basedir -nocomplain -type f $pattern]
32    foreach dir [glob -directory $basedir -nocomplain -type d *] {
33        eval lappend files [rec_glob $dir $pattern]
34    }
35    return $files
36}
37
38configure.python ${prefix}/bin/python2.7
39
40post-patch {
41    foreach f [concat ${worksrcpath}/configure \
42                   ${worksrcpath}/tools/node-waf \
43                   ${worksrcpath}/tools/waf-light \
44                   ${worksrcpath}/tools/gyp/gyp \
45                   ${worksrcpath}/tools/gyp_addon \
46                   ${worksrcpath}/tools/gyp_node \
47                   ${worksrcpath}/deps/uv/gyp_uv \
48                   ${worksrcpath}/tools/gyp/test/mac/gyptest-sourceless-module.gyp \
49                   ${worksrcpath}/tools/gyp/test/mac/gyptest-postbuild-static-library.gyp \
50                   [rec_glob ${worksrcpath} *.py]] {
51        reinplace "s|/usr/bin/env python|${configure.python}|" ${f}
52    }
53}
54
55configure.args          --without-ssl
56configure.args-append   --without-npm
57
58variant python25 conflicts python26 python27 description {Use python 2.5} {
59    depends_lib         port:python25
60    configure.python    ${prefix}/bin/python2.5
61}
62
63variant python26 conflicts python25 python27 description {Use python 2.6} {
64    depends_lib         port:python26
65    configure.python    ${prefix}/bin/python2.6
66}
67
68variant python27 conflicts python25 python26 description {Use python 2.7} {
69    depends_lib         port:python27
70    configure.python    ${prefix}/bin/python2.7
71}
72
73if {![variant_isset python25] && ![variant_isset python26]} {
74    default_variants +python27
75}
76
77variant ssl description {Add secure socket layer support} {
78    depends_build-append    port:pkgconfig
79    depends_lib-append      port:openssl
80    configure.args-delete   --without-ssl
81}
82
83default_variants        +ssl
84
85# V8 only supports ARM and IA-32 processors
86supported_archs         i386 x86_64
87
88universal_variant       no
89
90# "V8 doesn't like cache."
91configure.ccache        no
92
93test.run                yes
94
95use_parallel_build      no
96
97switch $build_arch {
98    i386 {
99        configure.args-append   --dest-cpu=ia32
100    }
101    x86_64 {
102        configure.args-append   --dest-cpu=x64
103    }
104}
105
106build.args-append   CC=${configure.cc} \
107                    CXX=${configure.cxx} \
108                    CPP=${configure.cpp} \
109                    CFLAGS=${configure.cflags} \
110                    LDFLAGS=${configure.ldflags} \
111                    PYTHON=${configure.python}
112
113destroot {
114    set bindir ${destroot}${prefix}/bin
115    set libdir ${destroot}${prefix}/lib/node
116    set incdir ${destroot}${prefix}/include/node
117    set incpdir ${destroot}${prefix}/include/node/uv-private
118    set docdir ${destroot}${prefix}/share/doc/${name}
119
120    xinstall -d ${bindir}
121    xinstall -d ${libdir}
122    xinstall -d ${incdir}
123    xinstall -d ${incpdir}
124    xinstall -d ${docdir}
125
126# install binaries
127    xinstall -m 755 -W ${worksrcpath} \
128        out/Release/node \
129        tools/node-waf \
130        ${bindir}
131
132# install headers
133    xinstall -m 644 -W ${worksrcpath} \
134        src/node.h \
135        src/node_buffer.h \
136        src/node_object_wrap.h \
137        src/node_version.h \
138        deps/v8/include/v8-debug.h \
139        deps/v8/include/v8-preparser.h \
140        deps/v8/include/v8-profiler.h \
141        deps/v8/include/v8-testing.h \
142        deps/v8/include/v8.h \
143        deps/v8/include/v8stdint.h \
144        deps/uv/include/uv.h \
145        deps/uv/include/ares.h \
146        deps/uv/include/ares_version.h \
147        ${incdir}
148
149# install privat uv headers
150    xinstall -m 644 -W ${worksrcpath} \
151        deps/uv/include/uv-private/eio.h \
152        deps/uv/include/uv-private/ev.h \
153        deps/uv/include/uv-private/ngx-queue.h \
154        deps/uv/include/uv-private/tree.h \
155        deps/uv/include/uv-private/uv-unix.h \
156        deps/uv/include/uv-private/uv-win.h \
157        ${incpdir}
158
159# install the wafadmin tool
160    eval xinstall -m 644 [rec_glob ${worksrcpath}/tools/wafadmin *.py] ${libdir}
161
162# install docs
163    xinstall -m 644 -W ${worksrcpath} \
164        AUTHORS \
165        ChangeLog \
166        LICENSE \
167        README.md \
168        ${docdir}
169}
170
171if {${os.major} < 9} {
172    pre-fetch {
173        ui_error "${name} ${version} requires Mac OS X 10.5 or greater."
174        return -code error "incompatible Mac OS X version"
175    }
176}
177
178livecheck.url       ${homepage}dist/
179livecheck.type      regex
180livecheck.regex     v(\\d+\\.\[13579\]+\\.\\d+)
Note: See TracBrowser for help on using the repository browser.