source: general/genlib/nodejs.xml@ c0165a65

lazarus trunk
Last change on this file since c0165a65 was 85171f7b, checked in by Rahul Chandra <rahul@…>, 2 months ago

Update to nodejs-20.12.2

  • Property mode set to 100644
File size: 8.3 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[4464d405]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[2d4d59a]7 <!ENTITY nodejs-download-http "https://nodejs.org/dist/v&nodejs-version;/node-v&nodejs-version;.tar.xz">
[4464d405]8 <!ENTITY nodejs-download-ftp " ">
[85171f7b]9 <!ENTITY nodejs-md5sum "85986134f75f98e9a1c006e7a72d1172">
[2a406a80]10 <!ENTITY nodejs-size "40 MB">
[85171f7b]11 <!ENTITY nodejs-buildsize "974 MB (add 62 MB for tests)">
[d0212021]12 <!ENTITY nodejs-time "10.9 SBU (add 3.2 SBU for tests: both using parallelism=8 and 8 CPUs online, parts of the tests will use all online CPUs)">
[4464d405]13]>
14
15<sect1 id="nodejs" xreflabel="nodejs-&nodejs-version;">
16 <?dbhtml filename="nodejs.html"?>
17
18
19 <title>Node.js-&nodejs-version;</title>
20
21 <indexterm zone="nodejs">
22 <primary sortas="a-nodejs">nodejs</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Node.js</title>
27
28 <para>
29 <application>Node.js</application> is a
30 <application>JavaScript</application> runtime built on
[8558044]31 <application>Chrome's</application> V8 JavaScript engine.
[4464d405]32 </para>
33
[f67c5c8]34 &lfs121_checked;
[4464d405]35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&nodejs-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&nodejs-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &nodejs-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &nodejs-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &nodejs-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &nodejs-time;
66 </para>
67 </listitem>
68 </itemizedlist>
[25ef5f7]69
[dda8ca6]70<!--
[b01309e7]71 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
72 <itemizedlist spacing="compact">
73 <listitem>
74 <para>
75 Required patch:
76 <ulink url="&patch-root;/node-v&nodejs-version;-icu_69-1.patch"/>
77 </para>
78 </listitem>
79 </itemizedlist>
[dda8ca6]80-->
[25ef5f7]81
[4464d405]82 <bridgehead renderas="sect3">Node.js Dependencies</bridgehead>
83
84 <bridgehead renderas="sect4">Required</bridgehead>
85 <para role="required">
[8558044]86 <xref linkend="which"/>
[4464d405]87 </para>
88
89 <bridgehead renderas="sect4">Recommended</bridgehead>
90 <para role="recommended">
[d0212021]91 <xref linkend="brotli"/>,
[bbaebd0]92 <xref linkend="c-ares"/>,
[52e582c9]93 <xref linkend="icu"/>,
94 <xref linkend="libuv"/>, and
95 <xref linkend="nghttp2"/>
[4464d405]96 </para>
97
98 <bridgehead renderas="sect4">Optional</bridgehead>
99 <para role="optional">
[ee1676a]100 <ulink url="https://github.com/nodejs/http-parser">http-parser</ulink> and
[f02583f]101 <ulink url="https://www.npmjs.com/">npm</ulink> (an internal copy of
102 <command>npm</command> will be installed if not present)
[4464d405]103 </para>
104
105
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of Node.js</title>
110
[d0212021]111<!--
[73ac81b]112 <para>
113 If Python-3.12 is installed, fix the <command>configure</command> script:
114 </para>
115
116<screen><userinput>sed -e '/python3.11/i command -v python3.12 >/dev/null &amp;&amp; exec python3.12 "$0" "$@"' \
117 -e '/3, 11/s/\(.3, 11.\)/(3, 12), \1/' \
118 -i configure</userinput></screen>
[d0212021]119-->
[73ac81b]120
[4464d405]121 <para>
122 Build <application>Node.js</application> by running the following
123 commands:
124 </para>
125
[de66d05]126<screen><userinput>./configure --prefix=/usr \
[d0212021]127 --shared-brotli \
[ccec040c]128 --shared-cares \
129 --shared-libuv \
130 --shared-openssl \
131 --shared-nghttp2 \
132 --shared-zlib \
133 --with-intl=system-icu &amp;&amp;
[4464d405]134make</userinput></screen>
135
[d56e7df]136 <para>
[ee1676a]137 To test the results, issue: <command>make test-only</command>.
[9bea06a]138<!--
139Failed tests:
[a1492906]140out/Release/node - -tls-min-v1.0 /build/node/node-v18.18.2/test/parallel/test-https-agent-session-eviction.js
141out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-alert.js
142out/Release/node - -tls-max-v1.2 /build/node/node-v18.18.2/test/parallel/test-tls-cli-max-version-1.2.js
143out/Release/node - -tls-max-v1.3 /build/node/node-v18.18.2/test/parallel/test-tls-cli-max-version-1.3.js
144out/Release/node - -tls-min-v1.1 /build/node/node-v18.18.2/test/parallel/test-tls-cli-min-version-1.1.js
145out/Release/node - -tls-min-v1.2 /build/node/node-v18.18.2/test/parallel/test-tls-cli-min-version-1.2.js
146out/Release/node - -tls-min-v1.3 /build/node/node-v18.18.2/test/parallel/test-tls-cli-min-version-1.3.js
147out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-getprotocol.js
148out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-min-max-version.js
149out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-session-cache.js
[a3efdf5c]150
151For node-v20.9.0 all 3969 tests passed. bdubbs 3 Nov 23
[9bea06a]152-->
[6914a417]153 </para>
[4464d405]154
155 <para>
156 Now, as the <systemitem class="username">root</systemitem> user:
157 </para>
158
159<screen role="root"><userinput>make install &amp;&amp;
160ln -sf node /usr/share/doc/node-&nodejs-version;</userinput></screen>
161 </sect2>
162
163 <sect2 role="commands">
164 <title>Command Explanations</title>
165
[d56e7df]166 <para>
[6cbbb2d6]167 <parameter>--with-intl=system-icu</parameter>: use the system version
[d56e7df]168 of <application>icu</application>. Other values are
169 <option>full-icu</option> (to build a local, full
170 <application>icu</application> library) and <option>small-icu</option>
171 (to build a local, minimal <application>icu</application> library).
172 </para>
[4464d405]173
[d56e7df]174 <para>
[d0212021]175 <parameter>--shared-{brotli,cares,libuv,nghttp2,openssl,zlib}</parameter>:
[d56e7df]176 use the system installed libraries instead of local copies.
177 </para>
[4464d405]178
[d56e7df]179 <para>
180 <option>--without-npm</option>: do not build
181 <application>npm</application> (use if you'd like to build a separate
182 <application>npm</application> later).
183 </para>
[4464d405]184
[d56e7df]185 <para>
186 <option>--shared-http-parser</option>: use the system
187 installed library instead of a local copy.
188 </para>
[4464d405]189
190 </sect2>
191
192 <sect2 role="content">
193 <title>Contents</title>
194
195 <segmentedlist>
196 <segtitle>Installed Programs</segtitle>
197 <segtitle>Installed Library</segtitle>
198 <segtitle>Installed Directories</segtitle>
199
200 <seglistitem>
201 <seg>
[38277fd]202 corepack, node, npm, and npx
[4464d405]203 </seg>
204 <seg>
205 None
206 </seg>
207 <seg>
[6a43232]208 /usr/include/node,
[c2051dbd]209 /usr/lib/node_modules/{corepack,npm},
[ee1676a]210 /usr/share/doc/{node,node-&nodejs-version;}, and
[6a43232]211 /usr/share/systemtap/tapset
[4464d405]212 </seg>
213 </seglistitem>
214 </segmentedlist>
215
216 <variablelist>
217 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
218 <?dbfo list-presentation="list"?>
219 <?dbhtml list-presentation="table"?>
220
[38277fd]221 <varlistentry id="corepack">
222 <term><command>corepack</command></term>
223 <listitem>
224 <para>
225 is an experimental tool to help with managing versions of package
226 managers.
227 </para>
228 <indexterm zone="nodejs corepack">
229 <primary sortas="b-corepack">corepack</primary>
230 </indexterm>
231 </listitem>
232 </varlistentry>
233
[4464d405]234 <varlistentry id="node">
235 <term><command>node</command></term>
236 <listitem>
237 <para>
[4c24eb0a]238 is the server-side JavaScript runtime
[4464d405]239 </para>
240 <indexterm zone="nodejs node">
241 <primary sortas="b-node">node</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <varlistentry id="npm">
247 <term><command>npm</command></term>
248 <listitem>
249 <para>
[4c24eb0a]250 is the <application>Node.js</application> package manager
[4464d405]251 </para>
252 <indexterm zone="nodejs npm">
253 <primary sortas="b-npm">npm</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry>
[4c24eb0a]259 <term>
260 <filename class="directory">/usr/lib/node_modules/npm/</filename>
261 </term>
[4464d405]262 <listitem>
[d56e7df]263 <para>
[4c24eb0a]264 is the installation root for Node.js executables and libraries
[d56e7df]265 </para>
[4464d405]266 </listitem>
267 </varlistentry>
268
269 </variablelist>
270
271 </sect2>
272
273</sect1>
Note: See TracBrowser for help on using the repository browser.