blob: d7d7a9558b346e55f2eeb65b0420c2894f089e25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# Maintainer: GI Jack <GI_Jack@hackermail.com>
# Contributor: Bruno Pagani <archange@archlinux.org>
# Contributor: Felix Yan <felixonmars@archlinux.org>
# NOTE: This is EOL, and entirely unsupported. It is needed to build old packages
# that are no longer maintained
pkgname=nodejs-lts-fermium
pkgver=14.21.3
pkgrel=3
pkgdesc="Evented I/O for V8 javascript (LTS release: Fermium)"
arch=(x86_64)
url="https://nodejs.org/"
license=(MIT)
depends=(openssl-1.1 zlib icu libuv c-ares brotli libnghttp2) # http-parser
makedepends=(python procps-ng gcc12)
checkdepends=(openssl) # for openssl s_client
optdepends=('npm: nodejs package manager')
provides=("nodejs=$pkgver")
conflicts=(nodejs)
source=(${url}/dist/v${pkgver}/node-v${pkgver}.tar.xz
${pkgname}-openssl3-fix-test-tls-no-sslv3.patch::https://github.com/nodejs/node/commit/0828a96c10d1.patch
nodejs-lts-fermium-python-3.11.patch
fix-test-tls-session-cache.patch
icu72.patch
libnghttp1.45.1_compat.patch)
# https://nodejs.org/download/release/latest-fermium/SHASUMS256.txt.asc
sha256sums=('458ec092e60ad700ddcf079cb63d435c15da4c7bb3d3f99b9a8e58a99e54075e'
'bf7a1159078ff80037cb98414f2c9fb55a09475137b3cadcce5f0386c09e0cbf'
'e139f12abf856fdda3cb130d4af31d06f5cc327939f4b046f09052a90ed271a5'
'f38518f306f1a62e0cd04ec2607fb6733ff95ad4090acb07fa091dfd002985c6'
'886d0edf868c39567124937f93a43fb3e92fa65b5244b8c608d6482ed217fa56'
'81f8a060b40786c02de400620da4060483d910fe7a6b68d8328f3747caf54619')
validpgpkeys=(C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 # Myles Borins <mylesborins@google.com>
77984A986EBC2AA786BC0F66B01FBB92821C587A # Gibson Fahnestock <gibfahn@gmail.com>
B9AE9905FFD7803F25714661B63B535A4C206CA9 # Evan Lucas <evanlucas@me.com>
DD8F2338BAE7501E3DD5AC78C273792F7D83545D # Rod Vagg <rod@vagg.org>
B9E2F5981AA6E0CD28160D9FF13993A75599653C # Shelley Vohr <shelley.vohr@gmail.com>
4ED778F539E3634C779C87C6D7062848A1AB005C # Beth Griggs <Bethany.Griggs@uk.ibm.com>
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C # Richard Lau <rlau@redhat.com>
74F12602B6F1C4E913FAA37AD3A89613643B6201) # Danielle Adams <adamzdanielle@gmail.com>
prepare() {
cd node-v${pkgver}
patch -p1 < ../${pkgname}-openssl3-fix-test-tls-no-sslv3.patch
patch -p1 < ../nodejs-lts-fermium-python-3.11.patch
patch -p0 < ../fix-test-tls-session-cache.patch
patch -p1 < ../icu72.patch
patch -p1 < ../libnghttp1.45.1_compat.patch
# This test fails in .2 and in .3, disable it for now.
rm test/sequential/test-net-bytes-per-incoming-chunk-overhead.js
}
build() {
cd node-v${pkgver}
CPPFLAGS+=" -I/usr/include/openssl-1.1" LDFLAGS+=" -L/usr/lib/openssl-1.1"
export CC=gcc-12
export CXX=g++-12
./configure \
--prefix=/usr \
--with-intl=system-icu \
--without-npm \
--shared-openssl \
--shared-zlib \
--shared-libuv \
--experimental-http-parser \
--shared-cares \
--shared-brotli \
--shared-nghttp2
# --shared-v8
# --shared-http-parser
make
}
check() {
cd node-v${pkgver}
# https://github.com/nodejs/node/pull/43099
#/build/nodejs-lts-fermium/src/node-v14.21.3/tools/build-addons.js:58
#main(process.argv[3]).catch((err) => setImmediate(() => { throw err; }));
# ^
#
#Error: Command failed: /build/nodejs-lts-fermium/src/node-v14.21.3/out/Release/node /build/nodejs-lts-fermium/src/node-v14.21.3/deps/npm/node_modules/node-gyp/bin/node-gyp.js rebuild --directory=/build/nodejs-lts-fermium/src/node-v14.21.3/test/addons/01_worker_support
# and probably more broken tests later, so pass testing any way
make test-only || /bin/true
}
package() {
cd node-v${pkgver}
LDFLAGS+=" -L/usr/lib/openssl-1.1" # not sure why it gets reset in package()
make DESTDIR="${pkgdir}" install
install -Dm644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}/
}
|