/[packages]/updates/8/nodejs/current/SPECS/nodejs.spec
ViewVC logotype

Contents of /updates/8/nodejs/current/SPECS/nodejs.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1738293 - (show annotations) (download)
Sat Jul 31 13:10:44 2021 UTC (2 years, 8 months ago) by neoclust
File size: 19577 byte(s)
New version 14.17.4: Fixes CVE-2021-22930 (mga#29301)
1 # This package is synced with Fedora.
2
3 # This package is tricky since it requires a working nodejs to build nodejs
4 # This causes problems if a broken nodejs gets into the repo
5
6 # To build it from bootstrap
7 # build a version with bootstrap. Change nodejs-tarball.sh to not strip out
8 # the bundled libraries
9 #
10 # Once you have a working bootstrapped version, turn off bootstrap and
11 # build with a nodejs-tarball.sh that strips out the bundled directories
12
13 # bundle dependencies that are not available as Mageia modules
14 # %%{!?_with_bootstrap: %%global bootstrap 1}
15 # use bcond for building modules
16 %bcond_without bootstrap
17
18 %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
19
20 # increment both of these together
21 %define rel 1
22 %global v8_release 1
23
24 # == Node.js Version ==
25 # Note: Mageia should only ship LTS versions of Node.js (currently expected
26 # to be major versions with even numbers). The odd-numbered versions are new
27 # feature releases that are only supported for nine months, which is shorter
28 # than a Mageia release lifecycle.
29 %global nodejs_epoch 1
30 %global nodejs_major 14
31 %global nodejs_minor 17
32 %global nodejs_patch 4
33 %global nodejs_abi %{nodejs_major}.%{nodejs_minor}
34 %global nodejs_soversion 83
35 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}
36 %global nodejs_release %{rel}
37
38 # == Bundled Dependency Versions ==
39 # v8 - from deps/v8/include/v8-version.h
40 # Epoch is set to ensure clean upgrades from the old v8 package
41 %global v8_epoch 2
42 %global v8_major 8
43 %global v8_minor 4
44 %global v8_build 371
45 %global v8_patch 23
46 # V8 presently breaks ABI at least every x.y release while never bumping SONAME
47 %global v8_abi %{v8_major}.%{v8_minor}
48 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch}
49
50 # c-ares - from deps/cares/include/ares_version.h
51 # https://github.com/nodejs/node/pull/9332
52 %global c_ares_major 1
53 %global c_ares_minor 17
54 %global c_ares_patch 1
55 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch}
56
57 # llhttp - from deps/llhttp/include/llhttp.h
58 %global llhttp_major 2
59 %global llhttp_minor 1
60 %global llhttp_patch 2
61 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch}
62
63 # libuv - from deps/uv/include/uv/version.h
64 %global libuv_major 1
65 %global libuv_minor 39
66 %global libuv_patch 0
67 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch}
68
69 # nghttp2 - from deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h
70 %global nghttp2_major 1
71 %global nghttp2_minor 41
72 %global nghttp2_patch 0
73 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch}
74
75 # ICU - from tools/icu/current_ver.dep
76 %global icu_major 67
77 %global icu_minor 1
78 %global icu_version %{icu_major}.%{icu_minor}
79
80 # uvwasi - from deps/uvwasi/include/uvwasi.h
81 %global uvwasi_major 0
82 %global uvwasi_minor 0
83 %global uvwasi_patch 11
84 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch}
85
86 # histogram_c - assumed from timestamps
87 %global histogram_major 0
88 %global histogram_minor 9
89 %global histogram_patch 7
90 %global histogram_version %{histogram_major}.%{histogram_minor}.%{histogram_patch}
91
92
93 #%if 0%{?mageia} >= 7
94 #%global icu_flag system-icu
95 #%else
96 %global icu_flag small-icu
97 #%endif
98
99
100 # punycode - from lib/punycode.js
101 # Note: this was merged into the mainline since 0.6.x
102 # Note: this will be unmerged in an upcoming major release
103 %global punycode_major 2
104 %global punycode_minor 1
105 %global punycode_patch 0
106 %global punycode_version %{punycode_major}.%{punycode_minor}.%{punycode_patch}
107
108 # npm - from deps/npm/package.json
109 %global npm_epoch 1
110 %global npm_major 6
111 %global npm_minor 14
112 %global npm_patch 13
113 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch}
114
115 # In order to avoid needing to keep incrementing the release version for the
116 # main package forever, we will just construct one for npm that is guaranteed
117 # to increment safely. Changing this can only be done during an update when the
118 # base npm version number is increasing.
119 %global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
120
121
122 Name: nodejs
123 Epoch: %{nodejs_epoch}
124 Version: %{nodejs_version}
125 Release: %mkrel %{nodejs_release}
126 Summary: JavaScript runtime
127 License: MIT and ASL 2.0 and ISC and BSD
128 Group: Development/Other
129 URL: https://nodejs.org/
130
131 # ExclusiveArch: %{nodejs_arches}
132
133 # nodejs bundles openssl, but we use the system version in Mageia
134 # because openssl contains prohibited code, we remove openssl completely from
135 # the tarball, using the script in Source100
136
137 Source0: node-v%{nodejs_version}-stripped.tar.xz
138 Source100: %{name}-tarball.sh
139
140 # The native module Requires generator remains in the nodejs SRPM, so it knows
141 # the nodejs and v8 versions. The remainder has migrated to the
142 # nodejs-packaging SRPM.
143 Source7: nodejs_native.attr
144
145 # Disable running gyp on bundled deps we don't use
146 Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
147 Patch3: 0002-Install-both-binaries-and-use-libdir.patch
148
149 #
150 # Security patches
151 # Patches P100 -> ...
152 #
153
154 BuildRequires: python3-devel
155 BuildRequires: zlib-devel
156 BuildRequires: brotli-devel
157 BuildRequires: gcc >= 4.9.4
158 BuildRequires: gcc-c++ >= 4.9.4
159 BuildRequires: chrpath
160 BuildRequires: libatomic-devel
161
162 #%if ! 0%%{?bootstrap}
163 %if %{with bootstrap}
164 Provides: bundled(libuv) = %{libuv_version}
165 Provides: bundled(nghttp2) = %{nghttp2_version}
166 %else
167 BuildRequires: nodejs-packaging
168 BuildRequires: systemtap
169 BuildRequires: http-parser-devel >= 2.9.2
170 BuildRequires: libuv-devel >= %{libuv_version}
171 BuildRequires: pkgconfig(libnghttp2) >= %{nghttp2_version}
172 %endif
173
174 BuildRequires: libicu-devel >= 63.1
175 BuildRequires: openssl-devel >= 1.1.1c
176
177 # we need the system certificate store
178 Requires: ca-certificates
179
180 Requires: nodejs-libs = %mkrel %{epoch}:%{nodejs_version}-%{nodejs_release}
181
182
183 #we need ABI virtual provides where SONAMEs aren't enough/not present so deps
184 #break when binary compatibility is broken
185 Provides: nodejs(abi) = %{nodejs_abi}
186 Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi}
187 Provides: nodejs(v8-abi) = %{v8_abi}
188 Provides: nodejs(v8-abi%{v8_major}) = %{v8_abi}
189
190 #this corresponds to the "engine" requirement in package.json
191 Provides: nodejs(engine) = %{nodejs_version}
192
193 # Node.js currently has a conflict with the 'node' package in Mageia
194 # The ham-radio group has agreed to rename their binary for us, but
195 # in the meantime, we're setting an explicit Conflicts: here
196 Conflicts: node <= 0.3.2-12
197
198 # The punycode module was absorbed into the standard library in v0.6.
199 # It still exists as a seperate package for the benefit of users of older
200 # versions. Since we've never shipped anything older than v0.10 in Mageia,
201 # we don't need the seperate nodejs-punycode package, so we Provide it here so
202 # dependent packages don't need to override the dependency generator.
203 # See also: RHBZ#11511811
204 # UPDATE: punycode will be deprecated and so we should unbundle it in Node v8
205 # and use upstream module instead
206 # https://github.com/nodejs/node/commit/29e49fc286080215031a81effbd59eac092fff2f
207 Provides: nodejs-punycode = %{punycode_version}
208 Provides: npm(punycode) = %{punycode_version}
209
210
211 # Node.js has forked c-ares from upstream in an incompatible way, so we need
212 # to carry the bundled version internally.
213 # See https://github.com/nodejs/node/commit/766d063e0578c0f7758c3a965c971763f43fec85
214 Provides: bundled(c-ares) = %{c_ares_version}
215
216 # Node.js is closely tied to the version of v8 that is used with it. It makes
217 # sense to use the bundled version because upstream consistently breaks ABI
218 # even in point releases. Node.js upstream has now removed the ability to build
219 # against a shared system version entirely.
220 # See https://github.com/nodejs/node/commit/d726a177ed59c37cf5306983ed00ecd858cfbbef
221 Provides: bundled(v8) = %{v8_version}
222
223 # Node.js is bound to a specific version of ICU which may not match the OS
224 # We cannot pin the OS to this version of ICU because every update includes
225 # an ABI-break, so we'll use the bundled copy.
226 Provides: bundled(icu) = %{icu_version}
227
228 # Upstream added new dependencies, but so far they are not available in Fedora
229 # or there's no option to built it as a shared dependency, so we bundle them
230 Provides: bundled(uvwasi) = %{uvwasi_version}
231 Provides: bundled(histogram) = %{histogram_version}
232
233 # Make sure we keep NPM up to date when we update Node.js
234 Requires: npm = %mkrel %{npm_epoch}:%{npm_version}-%{npm_release}
235
236 %description
237 Node.js is a platform built on Chrome's JavaScript runtime
238 for easily building fast, scalable network applications.
239 Node.js uses an event-driven, non-blocking I/O model that
240 makes it lightweight and efficient, perfect for data-intensive
241 real-time applications that run across distributed devices.
242
243 %package devel
244 Summary: JavaScript runtime - development headers
245 Group: Development/Other
246 Requires: %{name} = %mkrel %{epoch}:%{nodejs_version}-%{nodejs_release}
247 Requires: openssl-devel
248 Requires: zlib-devel
249 Requires: nodejs-packaging
250
251 #%if ! 0%%{?bootstrap}
252 %if %{with bootstrap}
253 # deps are bundled
254 %else
255 Requires: http-parser-devel
256 Requires: libuv-devel
257 %endif
258
259 %description devel
260 Development headers for the Node.js JavaScript runtime.
261
262 %package libs
263 Summary: Node.js and v8 libraries
264
265 # Compatibility for obsolete v8 package
266 %if 0%{?__isa_bits} == 64
267 Provides: libv8.so.%{v8_major}()(64bit)
268 Provides: libv8_libbase.so.%{v8_major}()(64bit)
269 Provides: libv8_libplatform.so.%{v8_major}()(64bit)
270 %else # 32-bits
271 Provides: libv8.so.%{v8_major}
272 Provides: libv8_libbase.so.%{v8_major}
273 Provides: libv8_libplatform.so.%{v8_major}
274 %endif
275
276 Provides: v8 = %mkrel %{v8_epoch}:%{v8_version}-%{nodejs_release}
277 Provides: v8 = %mkrel %{v8_epoch}:%{v8_version}-%{nodejs_release}
278 Obsoletes: v8 < 1:6.7.17-10
279
280 %description libs
281 Libraries to support Node.js and provide stable v8 interfaces.
282
283 %package -n v8-devel
284 Summary: v8 - development headers
285 Epoch: %{v8_epoch}
286 Version: %mkrel %{v8_version}
287 Release: %mkrel %{v8_release}
288 Requires: %{name}-devel = %mkrel %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
289
290 %description -n v8-devel
291 Development headers for the v8 runtime.
292
293 %package -n npm
294 Summary: Node.js Package Manager
295 Epoch: %{npm_epoch}
296 Version: %{npm_version}
297 Release: %mkrel %{npm_release}
298
299 # We used to ship npm separately, but it is so tightly integrated with Node.js
300 # (and expected to be present on all Node.js systems) that we ship it bundled
301 # now.
302 Obsoletes: npm < 0:3.5.4-6
303 Provides: npm = %{npm_epoch}:%{npm_version}
304 Requires: nodejs = %mkrel %{epoch}:%{nodejs_version}-%{nodejs_release}
305
306 # Do not add epoch to the virtual NPM provides or it will break
307 # the automatic dependency-generation script.
308 Provides: npm(npm) = %{npm_version}
309
310 %description -n npm
311 npm is a package manager for node.js. You can use it to install and publish
312 your node programs. It manages dependencies and does other cool stuff.
313
314 %package docs
315 Summary: Node.js API documentation
316 Group: Documentation
317 BuildArch: noarch
318
319 # We don't require that the main package be installed to
320 # use the docs, but if it is installed, make sure the
321 # version always matches
322 Conflicts: %{name} > %mkrel %{epoch}:%{nodejs_version}-%{nodejs_release}
323 Conflicts: %{name} < %mkrel %{epoch}:%{nodejs_version}-%{nodejs_release}
324
325 %description docs
326 The API documentation for the Node.js JavaScript runtime.
327
328
329 %prep
330 %autosetup -p1 -n node-v%{nodejs_version}
331
332 # remove bundled dependencies that we aren't building
333 rm -rf deps/zlib
334 rm -rf deps/brotli
335
336 # Replace any instances of unversioned python' with python3
337 pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js")
338 find . -type f -exec sed -i "s~/usr\/bin\/env python~/usr/bin/python3~" {} \;
339 find . -type f -exec sed -i "s~/usr\/bin\/python\W~/usr/bin/python3~" {} \;
340 sed -i "s~python~python3~" $(find . -type f | grep "gyp$")
341 sed -i "s~usr\/bin\/python2~usr\/bin\/python3~" ./deps/v8/tools/gen-inlining-tests.py
342 sed -i "s~usr\/bin\/python.*$~usr\/bin\/python3~" ./deps/v8/tools/mb/mb_unittest.py
343 find . -type f -exec sed -i "s~python -c~python3 -c~" {} \;
344
345 %build
346
347 %ifarch s390 s390x %{arm} %ix86
348 # Decrease debuginfo verbosity to reduce memory consumption during final
349 # library linking
350 %global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
351 %endif
352
353 export CC='%{__cc}'
354 export CXX='%{__cxx}'
355
356 # build with debugging symbols and add defines from libuv (#892601)
357 # Node's v8 breaks with GCC 6 because of incorrect usage of methods on
358 # NULL objects. We need to pass -fno-delete-null-pointer-checks
359 export CFLAGS='%{optflags} \
360 -D_LARGEFILE_SOURCE \
361 -D_FILE_OFFSET_BITS=64 \
362 -DZLIB_CONST \
363 -fno-delete-null-pointer-checks'
364 export CXXFLAGS='%{optflags} \
365 -D_LARGEFILE_SOURCE \
366 -D_FILE_OFFSET_BITS=64 \
367 -DZLIB_CONST \
368 -fno-delete-null-pointer-checks'
369
370 # Explicit new lines in C(XX)FLAGS can break naive build scripts
371 export CFLAGS="$(echo ${CFLAGS} | tr '\n\\' ' ')"
372 export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\\' ' ')"
373 export LDFLAGS="%{build_ldflags}"
374
375 #%if ! 0%%{?bootstrap}
376 %if %{with bootstrap}
377 %{__python3} configure.py --prefix=%{_prefix} \
378 --shared \
379 --libdir=%{_lib} \
380 --shared-openssl \
381 --shared-zlib \
382 --shared-brotli \
383 --without-dtrace \
384 --with-intl=small-icu \
385 --debug-nghttp2 \
386 --openssl-use-def-ca-store
387 %else
388 %{__python3} configure.py --prefix=%{_prefix} \
389 --shared \
390 --libdir=%{_lib} \
391 --shared-openssl \
392 --shared-zlib \
393 --shared-brotli \
394 --shared-libuv \
395 --shared-nghttp2 \
396 --with-dtrace \
397 --with-intl=%{icu_flag} \
398 --debug-nghttp2 \
399 --openssl-use-def-ca-store
400 %endif
401
402 %__make BUILDTYPE=Release %{?_smp_mflags}
403
404
405 %install
406 ./tools/install.py install %{buildroot} %{_prefix}
407
408 # Set the binary permissions properly
409 chmod 0755 %{buildroot}/%{_bindir}/node
410 chrpath --delete %{buildroot}%{_bindir}/node
411
412 # Install library symlink
413 ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so
414
415 # Install v8 compatibility symlinks
416 for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do
417 header=$(basename ${header})
418 ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header}
419 done
420 for soname in libv8 libv8_libbase libv8_libplatform; do
421 ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so
422 ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major}
423 done
424
425 # own the sitelib directory
426 mkdir -p %{buildroot}%{_prefix}/lib/node_modules
427
428 # ensure Requires are added to every native module that match the Provides from
429 # the nodejs build in the buildroot
430 install -Dpm0644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/fileattrs/nodejs_native.attr
431 cat << EOF > %{buildroot}%{_rpmconfigdir}/nodejs_native.req
432 #!/bin/sh
433 echo 'nodejs(abi%{nodejs_major}) >= %nodejs_abi'
434 echo 'nodejs(v8-abi%{v8_major}) >= %v8_abi'
435 EOF
436 chmod 0755 %{buildroot}%{_rpmconfigdir}/nodejs_native.req
437
438 #install documentation
439 mkdir -p %{buildroot}%{_pkgdocdir}/html
440 cp -pr doc/* %{buildroot}%{_pkgdocdir}/html
441 rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1
442
443 #node-gyp needs common.gypi too
444 mkdir -p %{buildroot}%{_datadir}/node
445 cp -p common.gypi %{buildroot}%{_datadir}/node
446
447 # Install the GDB init tool into the documentation directory
448 mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit
449
450 # install NPM docs to mandir
451 mkdir -p %{buildroot}%{_mandir} \
452 %{buildroot}%{_pkgdocdir}/npm
453
454 cp -pr deps/npm/man/* %{buildroot}%{_mandir}/
455 rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man
456 ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man
457
458
459 # Install Gatsby HTML documentation to %{_pkgdocdir}
460 cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/
461 rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs
462
463 ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs
464
465 # Node tries to install some python files into a documentation directory
466 # (and not the proper one). Remove them for now until we figure out what to
467 # do with them.
468 rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \
469 %{buildroot}/%{_defaultdocdir}/node/lldbinit
470
471 # Some NPM bundled deps are executable but should not be. This causes
472 # unnecessary automatic dependencies to be added. Make them not executable.
473 # Skip the npm bin directory or the npm binary will not work.
474 find %{buildroot}%{_prefix}/lib/node_modules/npm \
475 -not -path "%{buildroot}%{_prefix}/lib/node_modules/npm/bin/*" \
476 -executable -type f \
477 -exec chmod -x {} \;
478
479 # The above command is a little overzealous. Add a few permissions back.
480 chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp
481 chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
482
483
484 %check
485 # Fail the build if the versions don't match
486 LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')"
487 LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')"
488 LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')"
489
490 # Ensure we have punycode and that the version matches
491 LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"punycode\").version, '%{punycode_version}')"
492
493 # Ensure we have npm and that the version matches
494 NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"npm\").version, '%{npm_version}')"
495
496
497 %pretrans -n npm -p <lua>
498 -- Remove all of the symlinks from the bundled npm node_modules directory
499 -- This scriptlet can be removed in Mageia 31
500 base_path = "%{_prefix}/lib/node_modules/npm/node_modules/"
501 d_st = posix.stat(base_path)
502 if d_st then
503 for f in posix.files(base_path) do
504 path = base_path..f
505 st = posix.stat(path)
506 if st and st.type == "link" then
507 os.remove(path)
508 end
509 end
510 end
511
512 %files
513 %{_bindir}/node
514 %dir %{_prefix}/lib/node_modules
515 %dir %{_datadir}/node
516 %dir %{_datadir}/systemtap
517 %dir %{_datadir}/systemtap/tapset
518 %{_datadir}/systemtap/tapset/node.stp
519
520 #%if ! 0%%{?bootstrap}
521 %if %{with bootstrap}
522 # no dtrace
523 %else
524 %dir %{_usr}/lib/dtrace
525 %{_usr}/lib/dtrace/node.d
526 %endif
527
528 %{_rpmconfigdir}/fileattrs/nodejs_native.attr
529 %{_rpmconfigdir}/nodejs_native.req
530 %license LICENSE
531 %doc AUTHORS CHANGELOG.md GOVERNANCE.md README.md
532 %doc %{_mandir}/man1/node.1*
533
534
535 %files devel
536 %{_includedir}/node
537 %{_libdir}/libnode.so
538 %{_datadir}/node/common.gypi
539 %{_pkgdocdir}/gdbinit
540
541
542 %files libs
543 %{_libdir}/libnode.so.%{nodejs_soversion}
544 %{_libdir}/libv8.so.%{v8_major}
545 %{_libdir}/libv8_libbase.so.%{v8_major}
546 %{_libdir}/libv8_libplatform.so.%{v8_major}
547
548
549 %files -n v8-devel
550 %{_includedir}/libplatform
551 %{_includedir}/v8*.h
552 %{_libdir}/libv8.so
553 %{_libdir}/libv8_libbase.so
554 %{_libdir}/libv8_libplatform.so
555
556
557 %files -n npm
558 %{_bindir}/npm
559 %{_bindir}/npx
560 %{_prefix}/lib/node_modules/npm
561 %ghost %{_sysconfdir}/npmrc
562 %ghost %{_sysconfdir}/npmignore
563 %doc %{_mandir}/man*/npm*
564 %doc %{_mandir}/man*/npx*
565 %doc %{_mandir}/man7/semver.7*
566 %doc %{_mandir}/man5/*.5.xz
567 %doc %{_mandir}/man7/*.7.xz
568
569 %files docs
570 %dir %{_pkgdocdir}
571 %{_pkgdocdir}/html
572 %{_pkgdocdir}/npm/docs

  ViewVC Help
Powered by ViewVC 1.1.30