Сравнение nodejs-24.16.0-r1 с nodejs-99999999

/usr/portage/net-libs/nodejs/nodejs-99999999.ebuild 2026-06-18 19:41:04.374385079 +0300
19 19
	EGIT_REPO_URI="https://github.com/nodejs/node"
20 20
	SLOT="0"
21 21
else
22
	SRC_URI="
23
		https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
24
		https://deps.gentoo.zip/net-libs/nodejs/${P}-nghttp2-1.69.0.patch
25
	"
22
	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
26 23
	SLOT="0/$(ver_cut 1)"
27 24
	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~x64-macos"
28 25
	S="${WORKDIR}/node-v${PV}"
29 26
fi
30 27

  
31
IUSE="corepack cpu_flags_x86_sse2 debug doc +icu +inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl test"
28
IUSE="cpu_flags_x86_sse2 debug doc +icu +inspector lto +npm pax-kernel +snapshot +ssl system-icu +system-ssl test"
32 29
REQUIRED_USE="inspector? ( icu ssl )
33 30
	npm? ( ssl )
34 31
	system-icu? ( icu )
......
47 44
	>=net-libs/nghttp2-1.69.0:=
48 45
	>=net-libs/nghttp3-1.14.0:=
49 46
	virtual/zlib:=
50
	corepack? ( !sys-apps/yarn )
51 47
	system-icu? ( >=dev-libs/icu-73:= )
52 48
	system-ssl? (
53
		>=net-libs/ngtcp2-1.14.0:=
49
		>=net-libs/ngtcp2-1.22.1:=
54 50
		>=dev-libs/openssl-3.5.6:0=
55 51
	)
56 52
	!system-ssl? ( >=net-libs/ngtcp2-1.14.0:=[-gnutls] )
......
78 74
CHECKREQS_DISK_BUILD="22G"
79 75

  
80 76
PATCHES=(
81
	"${FILESDIR}"/${PN}-24.14.0-32-bit.patch
82
	"${DISTDIR}"/${P}-nghttp2-1.69.0.patch
77
	"${FILESDIR}"/${PN}-26.3.0-gcc17.patch
78
	"${FILESDIR}"/${PN}-26.3.0-format-cstdlib.patch
79
	"${FILESDIR}"/${PN}-26.3.0-v8-climits.patch
83 80
)
84 81

  
85 82
pkg_pretend() {
......
94 91
pkg_setup() {
95 92
	python-any-r1_pkg_setup
96 93
	linux-info_pkg_setup
94
	# https://github.com/nodejs/node/issues/62676 - Can't build Temporal with system ICU.
95
	if use system-icu; then
96
		ewarn "The ES2026 'Temporal' datetime feature/object is not available when using system-icu."
97
		ewarn "Please consider whether this is desirable for your use case."
98
		ewarn "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal"
99
	fi
97 100
}
98 101

  
99 102
src_prepare() {
......
103 106

  
104 107
	# fix compilation on Darwin
105 108
	# https://code.google.com/p/gyp/issues/detail?id=260
106
	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
109
	sed -i -e '/append("-arch")/{N;d;}' tools/gyp/pylib/gyp/xcode_emulation.py || die
107 110

  
108 111
	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
109 112
	local LIBDIR=$(get_libdir)
......
158 161
	use debug && myconf+=( --debug )
159 162
	use lto && myconf+=( --enable-lto )
160 163
	if use system-icu; then
164
		# No Temporal support: https://github.com/nodejs/node/issues/62676
161 165
		myconf+=( --with-intl=system-icu )
162 166
	elif use icu; then
167
		# Full embedded ICU (Temporal works)
163 168
		myconf+=( --with-intl=full-icu )
164 169
	else
165
		myconf+=( --with-intl=none )
170
		# Default embedded subset (Temporal works, saves space over full-icu)
171
		myconf+=( --with-intl=small-icu )
166 172
	fi
167
	use corepack || myconf+=( --without-corepack )
168 173
	use inspector || myconf+=( --without-inspector )
169 174
	use npm || myconf+=( --without-npm )
170 175
	use snapshot || myconf+=( --without-node-snapshot )
......
198 203

  
199 204
src_compile() {
200 205
	eninja -C out/Release
206
	# There's just a plain make target for the FFI tests, and it doesn't support ninja.
207
	use test && emake build-ffi-tests
201 208
}
202 209

  
203 210
src_install() {
......
237 244

  
238 245
		# Remove various development and/or inappropriate files and
239 246
		# useless docs of dependend packages.
247
		# Strict match for LICENSE files to avoid purging actual logic (e.g. license.js)
248
		# which breaks npm.
240 249
		find "${LIBDIR}"/node_modules \
241 250
			\( -type d -name examples \) -or \( -type f \( \
242
				-iname "LICEN?E*" \
251
				\( -iname "LICEN?E*" -not -name "*.js" -not -name "*.json" \) \
243 252
				"${find_name[@]}" \
244 253
			\) \) -exec rm -rf "{}" \;
245 254
	fi
246 255

  
247
	use corepack &&
248
		"${D}"/usr/bin/corepack enable --install-directory "${D}"/usr/bin
249

  
250 256
	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
251 257
}
252 258

  
......
268 274
		test/parallel/test-process-setgroups.js
269 275
		test/parallel/test-process-uid-gid.js
270 276
		test/parallel/test-release-npm.js
277
		# Unreliable when using system libraries and ASLR.
278
		# The variations between snapshot generation passes appear limited to memory
279
		# allocation pointers leaking into the serialised V8 blob array; the actual
280
		# bytecode and engine structures remain consistently... consistent.
281
		test/parallel/test-snapshot-reproducible.js
271 282
		test/parallel/test-socket-write-after-fin-error.js
272 283
		test/parallel/test-strace-openat-openssl.js
273 284
		test/sequential/test-tls-session-timeout.js
......
293 304
		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
294 305
		ewarn " in your current shell"
295 306
	fi
307

  
308
	if use system-icu; then
309
		ewarn ""
310
		ewarn "Node.js was built with USE='system-icu'."
311
		ewarn "The JavaScript 'Temporal' API has been disabled."
312
		ewarn "If you need full ES2026+ compliance, rebuild with USE='-system-icu'."
313
		ewarn ""
314
	fi
296 315
}
Спасибо!