commit: ad8170500e7c6d804b0954f3c769bdf40b09209b Author: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com> AuthorDate: Sat Nov 22 19:29:30 2025 +0000 Commit: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail <DOT> com> CommitDate: Sat Nov 22 19:29:30 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ad817050
net-libs/nodejs-bin: new package, add 24.11.1 Signed-off-by: Nguyen Dinh Dang Duong <dangduong31205 <AT> gmail.com> net-libs/nodejs-bin/Manifest | 1 + net-libs/nodejs-bin/metadata.xml | 12 +++++ net-libs/nodejs-bin/nodejs-bin-24.11.1.ebuild | 63 +++++++++++++++++++++++++++ 3 files changed, 76 insertions(+) diff --git a/net-libs/nodejs-bin/Manifest b/net-libs/nodejs-bin/Manifest new file mode 100644 index 0000000000..24532e7394 --- /dev/null +++ b/net-libs/nodejs-bin/Manifest @@ -0,0 +1 @@ +DIST node-v24.11.1-linux-x64.tar.xz 30747116 BLAKE2B 46be934af11174d8f8d4cfa64b86563edd19eb75a2b8a3b6a3df306ed041b36308d421e7caa2bf2a383d98e745750be2f5f0ac98c7f02a2b64f3ce195cae0e94 SHA512 08fefd3f25369a754efd115f016dbe1ded3a721fd32c82d7b9a50ccbd28f4eb7de81f341ade953d4e4cb7b58591151b9262c5d9c2e2916e3965ed02821bc33a6 diff --git a/net-libs/nodejs-bin/metadata.xml b/net-libs/nodejs-bin/metadata.xml new file mode 100644 index 0000000000..439f17da21 --- /dev/null +++ b/net-libs/nodejs-bin/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Nguyen Dinh Dang Duong</name> + </maintainer> + <use> + <flag name="corepack">Enable the experimental corepack package management tool</flag> + <flag name="npm">Enable NPM package manager</flag> + </use> +</pkgmetadata> diff --git a/net-libs/nodejs-bin/nodejs-bin-24.11.1.ebuild b/net-libs/nodejs-bin/nodejs-bin-24.11.1.ebuild new file mode 100644 index 0000000000..104504575f --- /dev/null +++ b/net-libs/nodejs-bin/nodejs-bin-24.11.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine" +HOMEPAGE="https://nodejs.org/" +SRC_URI=" +amd64? ( https://nodejs.org/dist/v${PV}/node-v${PV}-linux-x64.tar.xz ) +" +S="${WORKDIR}/node-v${PV}-linux-x64" #only works for amd64 now + +LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT Artistic-2" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="corepack +npm" + +COMMON_DEPEND=" + >=app-arch/brotli-1.1.0:= + dev-db/sqlite:3 + >=dev-libs/libuv-1.51.0:= + >=dev-libs/simdjson-4.0.7:= + >=net-dns/c-ares-1.34.5:= + >=net-libs/nghttp2-1.66.0:= + >=net-libs/nghttp3-1.7.0:= + virtual/zlib:= + corepack? ( !sys-apps/yarn ) +" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +src_install() { + dodoc *.md + dodoc ./share/doc/node/* + doman ./share/man/man1/* + + local base="$(pwd)" + local dest="/opt/${P}" + + insinto "$dest" + doins -r ./include/ ./lib/ + + exeinto "$dest/bin" + doexe ./bin/node + + insinto "$dest/bin" + doins ./bin/npx + [[ npm ]] && doins ./bin/npm + [[ corepack ]] && doins ./bin/corepack + + # Find all executable file but not symlink, make them executable at destination + local rel + while IFS= read -r file; do + rel=${file#${base}/} + [[ -f "${D}/${dest}/${rel}" ]] && fperms +x "${dest}/${rel}" + done < <(find ./include ./bin ./lib -type f -perm /111 ! -xtype l) + + # Make symlinks + for exe in "${dest}"/bin/*; do + dosym "${exe}" "/usr/bin/$(basename "$exe")" + done +}
