diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-11-10 21:28:32 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-11-10 21:28:32 +0000 |
commit | c020d9e9432cd0e36fe47ad14216d6048adb49fc (patch) | |
tree | 7c3c3aed7d27733e3ad6d8f8f017244169c20772 /net-libs | |
parent | 0d0e3e0adedd9f237ceea9e95cbd0ed29a4576d4 (diff) |
gentoo auto-resync : 10:11:2022 - 21:28:32
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/Manifest.gz | bin | 32958 -> 32963 bytes | |||
-rw-r--r-- | net-libs/libnma/Manifest | 2 | ||||
-rw-r--r-- | net-libs/libnma/libnma-1.10.4.ebuild | 75 | ||||
-rw-r--r-- | net-libs/nodejs/Manifest | 8 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-14.21.1.ebuild | 241 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-16.18.1.ebuild | 233 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-18.12.1.ebuild (renamed from net-libs/nodejs/nodejs-18.9.1.ebuild) | 2 |
7 files changed, 558 insertions, 3 deletions
diff --git a/net-libs/Manifest.gz b/net-libs/Manifest.gz Binary files differindex 24ea3ca9d942..ebe5d8728f03 100644 --- a/net-libs/Manifest.gz +++ b/net-libs/Manifest.gz diff --git a/net-libs/libnma/Manifest b/net-libs/libnma/Manifest index d1c073d44f8e..20c0fec348cc 100644 --- a/net-libs/libnma/Manifest +++ b/net-libs/libnma/Manifest @@ -1,5 +1,7 @@ DIST libnma-1.10.2.tar.xz 1360128 BLAKE2B 8caff2baaf1d7e0cb7a6cefee4917b5f294517cc3ee22446f0bbea0301664969bdf43d10fcdf15e938bdae07467ad0a048687e61c3c494c4f042a1f6800d5745 SHA512 f8ac5f73ee8bc918325d2beec3e1eea61fed18110103ba9c3eb21da02fbd054895aa5ce332942a9113bb4860d59958dbf9c3b91885663b6225daec25cadf7458 +DIST libnma-1.10.4.tar.xz 1351932 BLAKE2B 0178407d04fed680b260ea7e4615f0d939483504209b4bc721e2a4fe49ecbf49d9ffde0476b4352973cda9de4f088ac50d557c12f67d970f21031c1741f692e3 SHA512 4fe0d6b0e5b3c1bd7654e03dce747ee390de76d6641eb317fecb901ed6768bf48785e4a99e6fc8f12864066d06a64e308a8dbb2081a2d57e3f1509ca712deccc DIST libnma-1.8.40.tar.xz 1350560 BLAKE2B 9c5124a1dcaa801c7d0135ef64dedccd098988fdd199938e2409e80bee86df71bf368cada113dceae4046a5c2c5fe954aa9fc0c19519721a4e8ec7b8f7ea8d44 SHA512 28f4704f97941308f43b27a309fd14050e8ac7e0c6665cada3cc08a759e140f043a80b21ccfe02ce348f8490cad8107b4fe27026dbaafed46ec1c7c46824e3b8 EBUILD libnma-1.10.2.ebuild 1721 BLAKE2B 14a05fbb74d4715e5331958c10201f935c6c00046446219bfd96d1c4f58d66dca25223a2fe4ae5bbff6bb58763630e4f34893c06f4854af5e2358d7166a5c673 SHA512 92091ba63532ed46bdcb43b2827a550b7aadc00f54eeb50c536b2d5e7d0aa7c7f3957b5b694d9e06429dbe21b3a54f8e2db2085bd9d2d5deb32f250699a9c2cd +EBUILD libnma-1.10.4.ebuild 1779 BLAKE2B 562d5c55285df7911789d00604001b1411a57d7e98b42a54f9fd499c4d1df0a24ccb6200c6ed8aa9b1a6a23e639d45a9f16621b15136246443c21e097ec9403c SHA512 ff1d4013c5464bd1569df5c649e70d1960eb1f8cd6581e9c24c13e2a4ea2094460c844c060889338370be7ab7d94f10fe1c7fa9246494a85d2a6f790927a1c89 EBUILD libnma-1.8.40-r1.ebuild 1682 BLAKE2B 5f43c3715201f41b473902dca9cbcbf998b198b4148bff0469109de04a59cd0d58f5a170a055104225a3079cedc566f63b7c9c061d63bc0ab8df20d22864c7dd SHA512 7bb061ad2e9e508b1f3adcb270d9e2217d48d5116fb17fa906f07596c9ea8de434903e9970eaa11812d787166acbf8de6c482234b8ba8a1590231e2b83456725 MISC metadata.xml 470 BLAKE2B 634b69ece62b9f3f8aa9e82b1df56009823dffd8dd45a46b6ac58c3580179c7c6c87965c8da5d653188e81bfbe5c26c956d15181d23f23ec17b468ba3b585cbd SHA512 a15b193fd01eda0a1408af3ad93660ed7cf859e3837e8e83c5c76031cf50aa3634e8a4d2a47f8db8c311cb36b1eb2fb8a89f8c7adfb9fd6d596eb6e9e5e8bea6 diff --git a/net-libs/libnma/libnma-1.10.4.ebuild b/net-libs/libnma/libnma-1.10.4.ebuild new file mode 100644 index 000000000000..965eae62dbe5 --- /dev/null +++ b/net-libs/libnma/libnma-1.10.4.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org gnome2-utils meson xdg vala + +DESCRIPTION="NetworkManager GUI library" +HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" + +LICENSE="GPL-2+" +SLOT="0" +# pkcs11 default enabled as it's a small dep often already present by libnma users, and it was default enabled as IUSE=+gcr in nm-applet before +IUSE="gtk-doc +introspection +pkcs11 vala" +REQUIRED_USE="vala? ( introspection )" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +DEPEND=" + >=gui-libs/gtk-4.0:4 + app-text/iso-codes + net-misc/mobile-broadband-provider-info + >=dev-libs/glib-2.38:2 + >=x11-libs/gtk+-3.12:3[introspection?] + >=net-misc/networkmanager-1.7[introspection?] + pkcs11? ( >=app-crypt/gcr-4.0.0:4 ) + introspection? ( >=dev-libs/gobject-introspection-1.56:= ) +" +RDEPEND="${DEPEND} + !<gnome-extra/nm-applet-1.16.0" # gschema moved to here before nm-applet-1.16.0 +BDEPEND=" + dev-libs/libxml2 + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + gtk-doc? ( dev-util/gtk-doc + app-text/docbook-xml-dtd:4.3 ) + vala? ( $(vala_depend) + net-misc/networkmanager[vala] + ) +" + +src_prepare() { + default + use vala && vala_setup + xdg_environment_reset +} + +src_configure() { + local emesonargs=( + -Dlibnma_gtk4=true + $(meson_use pkcs11 gcr) + -Dmore_asserts=0 + -Diso_codes=true + -Dmobile_broadband_provider_info=true + -Dld_gc=false + $(meson_use gtk-doc gtk_doc) + $(meson_use introspection) + $(meson_use vala vapi) + ) + meson_src_configure +} + +src_install() { + meson_src_install + rm "${D}/usr/share/glib-2.0/schemas/org.gnome.nm-applet.gschema.xml" || die +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest index f61ed605820c..0fa973c31c10 100644 --- a/net-libs/nodejs/Manifest +++ b/net-libs/nodejs/Manifest @@ -7,16 +7,20 @@ AUX nodejs-16.4.2-paxmarking.patch 4257 BLAKE2B c088deb4f9207d0cfbc43d71111230ec AUX nodejs-18.3.0-paxmarking.patch 3303 BLAKE2B 627ef3dac873d7967181cbe44b3566080b98bbc08ff7d75dfcf0cbded2e71e8af2ec6ccf2386b4d67ee20f612a49b03d2d81d50c845a5e5447194d94146ae035 SHA512 59be93e86373993fcd5235b7b6fa9fe85df3e2bdd9e61e2374cedccf69a6a36263bf1ce10f3294fdb9bf04a85a6f0dba209d4d7f9dc24b52af83bce48f51b22c AUX nodejs-gcc-13.patch 841 BLAKE2B 86150b503987c2c84acfc2967883cd81109cb3117eb8d647c8682cad7ba04e2248b1465acdb188f083bc246e165be336c153ff850236fccf6de8d04115a3577b SHA512 2d8f6c132c2e7a9c9acbf46ad4f7687c3bc0d1382b1966eaf9a4bd30d5eb0e6513c2fe32c73e9ed2bc8ae4cf3ebfcca29251b71e4589df0f898e11f1242fd936 DIST node-v14.20.1.tar.xz 34482880 BLAKE2B 3d21645c94e194c4a9a499544032643a2b14f507642c8d01bd54b3446c691c6d59109c08713a4b2e210c7418baded496b80308687b31830d2ccee5f8c9a06178 SHA512 27186e6b877189c7976fe566cbc4f5e961941f74af7e2f96a0829d6061b880569095666da70545f61a017f1b520050ab6ef5fc98e2e71e72253633f88a9264fb +DIST node-v14.21.1.tar.xz 34663612 BLAKE2B 9ae2034c56e8a4fe47c8a234c5d16a410e7e8a8df966d580451a04f51da697ab8691a211f9f5fcb8b4ae34d2b5e974216f9dbb10dd19c42e2cb9110c31ad58f5 SHA512 3c9247ee71b8deb0672ecebb68d4f330424598333f38ad8f8a19f251140815d4c2a288b0dc6fa227e93944ea6430934bd7419b1a7119d927ed9e85ff09bd335b DIST node-v16.17.1.tar.xz 35661452 BLAKE2B 1fd9fad86f4f5161b2e06199a18f4df431b95ca03214cedefa4b76a9703e7153120c8c3f0f9b07fce825015533d2f52cc29e5737308c69d809c3e6edbc0eacee SHA512 f9aefcc72a260cbdc162db8db01885a93b1b2248ff0c20c6e9b98819b8b5e599f7da89eeeb7cfe202764cca3974b6ca48610351176f6767ef6ad630ca7ee8cb7 DIST node-v16.18.0.tar.xz 35849580 BLAKE2B 42de388144a1bf66bdacf9c0561596b7a6624dec9a48d417a0ba22eb28a87ba97b6af5707d7f9584b937e86f01baf50db83aaa2b4ecd56aa493f1509c43764ae SHA512 4bcd1fd7aeea8ba87c419d6cfacfdc3415205a44ddaf7a744e1457254de6cafe51b6f28071071e2e66834164bc6eb1e956c8124cc63a06fc3bf69a17476f1c05 +DIST node-v16.18.1.tar.xz 35843876 BLAKE2B f57bc1122207e846b9490960d648f412d72e6d414d7cf4459a90a7b3aa018aca405a43773344284748a5d68d3f29c4d579be3eb8053569a167fef48bd4d43f64 SHA512 3f05104f61ce8d18d11cc6964a4f8ed165cd5502127b8a0191c1e5609921886c38f48a842519f898c36b18a4a38c13a1e93bafe27c101fd89bdc61f283e7a452 DIST node-v18.10.0.tar.xz 38364672 BLAKE2B 0746f9c8bba75a996987c77e6e4c328e56a54517b768280254edf2feffa7d6b578ead54ec86753dd84f764ece6d4b8d22567670d51ef70e70a22d99fc2a835fb SHA512 7dbdb75786a8b85b66a8258ec1754aeaaaed3fed086b6a6caf46940c57fec16305a34931f27c33ed6ac036f16a7dbf010f17a6eec26316d71f3b3086626cf68b DIST node-v18.11.0.tar.xz 38437152 BLAKE2B 836af1d07493017fc9863a21a7b38fc7118ec94b0eae5089291cc9819637c40332c21676ddc360af28dbf98c48fc83acd035c6ac5e5f4eb62e0043f340eda311 SHA512 dfb36f438e59913cde540c8bc429bf856078c174a53406de851ac59337f70efbd5988e6a969bd16ab8cb2a197871c6f7353c3ccbdaf492a4c047fc11ede36a78 -DIST node-v18.9.1.tar.xz 38315220 BLAKE2B 515ab64db023c5809c476c1248e2d47a49d46ed273ee0f91ac803791b0e7a51f3dd2f0ee7f30901d9a1fbc9172dd971c9845c86a703c6194bc8f983d3f81567c SHA512 fc570dbd41197363d0f9bc3f329fbdffd0cb5b7382327e206d40b3b4e42a80fa65debb172abd501021bcc5082d8d99fc5f6faa05cf87066170c87be1b15e8734 +DIST node-v18.12.1.tar.xz 38454588 BLAKE2B dade180304ebe2bf30fc3270a13b8e024dd48a6dda26be7f730925500f997a9c703608b782eb40a16ed174699af256430434759678ae683b92f4fb4ba48b4707 SHA512 1eb4978a1de19c026561a8484df87bdeb6f7f2ec8ae1eb38b6241d0b0ff6158a4a7d19f42df7e295a63b8047eaf862a7470494143b2e27bb36b65e4663966588 EBUILD nodejs-14.20.1.ebuild 7148 BLAKE2B b361effbe5645588daffc199e0e67a1ae2de09c8ff36aae5e7c68bcedd154b1ba2feb7bb9f3b9ab276f73254d0004caf644b5928ea55a86802c3a8b5cc3d0c1a SHA512 3151d756b43f2efa91b13a9b7eaa2dc5a714ada13137b90a209cab8ae64b4da954dab598f17c4fa8e1f76824c3a85904f28b95601680c98a0f6e5bdf3c3e1e63 +EBUILD nodejs-14.21.1.ebuild 7153 BLAKE2B c522e2a9ecec086d52433d869bcc1af81c902f4248fd66b0c7e98edf200d4b93a638e601857f94d11cf8d254417dfff50cc8fc95b78546c8956803bf0e4d4093 SHA512 ceff2904cbd87452d61ba4601e80d386a4efc6a2997ed00007fc143743527a1508d7e41924abcbaf2bdf0b8338295030c010ad8223c5e1889a88ea5934718809 EBUILD nodejs-16.17.1.ebuild 6762 BLAKE2B d278f9efabb906fbbd301916d13879c6a9a1ecc957c5c6d23d1d8095baca0b22ff61b83e28fc1bf5e034431080cf527bf19437ffe2bd014e41e188d02def11f6 SHA512 797936389325834aef302f428ea66ee5d87c90beb156333f75210bc8b13efb700eb9ca945116e0017d4265ba010975d2fde571ad854a4391d69777f09cf0e85d EBUILD nodejs-16.18.0.ebuild 6733 BLAKE2B f22acbdda582845a79560c5deedb44ab8d5989de4992cda35074d34b548c0a6ecc8c40b213f2cd5d0ba69cffc7ae65fbac2297ff0050d4c08438f17b3022b990 SHA512 cfd0e78387fb05b6a1cd59ae631bee3ce5da601390c686bceb606766eec7c6989ceded8a48a727686c48fae9bba3b81407cbd2e2cf3b04c70d9010d74af6dcde +EBUILD nodejs-16.18.1.ebuild 6767 BLAKE2B 5c5729dc468ca0ff374151b9fd2a3b33170dd67bd212cc94603b1749970cae30152212c2f4a24d9099b2278d9f4b878a755e3ee28675eebf2011129f0a5a8cc2 SHA512 b6da0f6cc0fa87a2828adbfec0bfd3fae3aaef6c54de577108396c766b7d92a577842aabc443d512c656f216509eb0ad72ad3d216ff7da6cf360d2734ece05ae EBUILD nodejs-18.10.0.ebuild 7521 BLAKE2B 4ad01cada842a8e0c22ec469ff4448e9b459b00aa5854d4a811f1ec42f3186aed38af92dbb2f768dd4e9fca8953c914614fce60689382a381dab9c22aa168ccc SHA512 2df578a3d1df8cd76ea21e6b52c22bfe54cae1ccb24144d3aea72ac422352fe3c9172304847b23f836767436928ed8dbc2de2ec526af641eda5734db13176c0e EBUILD nodejs-18.11.0.ebuild 7492 BLAKE2B b4c56a266693fa31370785937c5f898631e3134b7830e3bc675c480f2cc048857612621f2f9962bc29b544bb3875392b2ef654863ce9fc6490dd617d148d01fb SHA512 c7bd59aef5b76beb67c070b5619aab15b9971c68b7414d7eece64dc31668f7b41708eec46985f3a4c522889f37d0d89a174a0fc743c12e7a1973e5fb7c57bb27 -EBUILD nodejs-18.9.1.ebuild 7521 BLAKE2B 4ad01cada842a8e0c22ec469ff4448e9b459b00aa5854d4a811f1ec42f3186aed38af92dbb2f768dd4e9fca8953c914614fce60689382a381dab9c22aa168ccc SHA512 2df578a3d1df8cd76ea21e6b52c22bfe54cae1ccb24144d3aea72ac422352fe3c9172304847b23f836767436928ed8dbc2de2ec526af641eda5734db13176c0e +EBUILD nodejs-18.12.1.ebuild 7526 BLAKE2B 0b7faf08125e39755080082675e70dc1c507040cedddd147e4d717434fdf19794b35045d6a44d6d6908153d124f401a9d3b5820ccf1d5512fb1440ebbf1ded27 SHA512 cbe30fc9022c1fc74d0b8d900e99de0b724db583eab2157a46f72ef14d9bcf815807cb6afd0c1e65d2e5e866afcd9781c3473dfe7962fa840186dd9d9ae2a1dd EBUILD nodejs-99999999.ebuild 7492 BLAKE2B b4c56a266693fa31370785937c5f898631e3134b7830e3bc675c480f2cc048857612621f2f9962bc29b544bb3875392b2ef654863ce9fc6490dd617d148d01fb SHA512 c7bd59aef5b76beb67c070b5619aab15b9971c68b7414d7eece64dc31668f7b41708eec46985f3a4c522889f37d0d89a174a0fc743c12e7a1973e5fb7c57bb27 MISC metadata.xml 898 BLAKE2B a67e85ea95c272b8d18746254894b058433267a74b5bad66bac7d78c7db4cec297e06bc87fad3ee836fc91749aaee2c11c88b48b6ba033c36fa79132552faa81 SHA512 d498b288058e7282c5e9a28d4ba192a2ac5ef796eb1edf644aea41cab2d0eb6036426b188dd9af7eeb2eaf04b84011460cb3c3695ca8dde5667add21d9963c97 diff --git a/net-libs/nodejs/nodejs-14.21.1.ebuild b/net-libs/nodejs/nodejs-14.21.1.ebuild new file mode 100644 index 000000000000..cee8ed1e8ad4 --- /dev/null +++ b/net-libs/nodejs/nodejs-14.21.1.ebuild @@ -0,0 +1,241 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CONFIG_CHECK="~ADVISE_SYSCALLS" +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="threads(+)" + +inherit bash-completion-r1 flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils + +DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine" +HOMEPAGE="https://nodejs.org/" +LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/nodejs/node" + SLOT="0" +else + SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz" + SLOT="0/$(ver_cut 1)" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 -riscv ~x86 ~amd64-linux ~x64-macos" + S="${WORKDIR}/node-v${PV}" +fi + +IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test" +REQUIRED_USE="inspector? ( icu ssl ) + npm? ( ssl ) + system-icu? ( icu ) + system-ssl? ( ssl )" + +RESTRICT="!test? ( test )" + +RDEPEND=">=app-arch/brotli-1.0.9:= + >=dev-libs/libuv-1.40.0:= + >=net-dns/c-ares-1.17.2:= + >=net-libs/nghttp2-1.41.0:= + sys-libs/zlib + system-icu? ( >=dev-libs/icu-67:= ) + system-ssl? ( + >=dev-libs/openssl-1.1.1:0= + <dev-libs/openssl-3.0.0_beta1:0= + ) + sys-devel/gcc:*" +BDEPEND="${PYTHON_DEPS} + sys-apps/coreutils + virtual/pkgconfig + systemtap? ( dev-util/systemtap ) + test? ( net-misc/curl ) + pax-kernel? ( sys-apps/elfix )" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch + "${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch + "${FILESDIR}"/${PN}-14.19.0-global-npm-config.patch + "${FILESDIR}"/${PN}-gcc-13.patch +) + +pkg_pretend() { + (use x86 && ! use cpu_flags_x86_sse2) && \ + die "Your CPU doesn't support the required SSE2 instruction." +} + +pkg_setup() { + python-any-r1_pkg_setup + linux-info_pkg_setup +} + +src_prepare() { + tc-export AR CC CXX PKG_CONFIG + export V=1 + export BUILDTYPE=Release + + # fix compilation on Darwin + # https://code.google.com/p/gyp/issues/detail?id=260 + sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die + + # less verbose install output (stating the same as portage, basically) + sed -i -e "/print/d" tools/install.py || die + + # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504 + local LIBDIR=$(get_libdir) + sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die + sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die + + # Avoid writing a depfile, not useful + sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die + + sed -i -e "/'-O3'/d" common.gypi node.gypi || die + + # debug builds. change install path, remove optimisations and override buildtype + if use debug; then + sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die + BUILDTYPE=Debug + fi + + # We need to disable mprotect on two files when it builds Bug 694100. + use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch ) + + # All this test does is check if the npm CLI produces warnings of any sort, + # failing if it does. Overkill, much? Especially given one possible warning + # is that there is a newer version of npm available upstream (yes, it does + # use the network if available), thus making it a real possibility for this + # test to begin failing one day even though it was fine before. + rm -f test/parallel/test-release-npm.js + + default +} + +src_configure() { + xdg_environment_reset + + # LTO compiler flags are handled by configure.py itself + filter-flags '-flto*' + # nodejs unconditionally links to libatomic #869992 + # specifically it requires __atomic_is_lock_free which + # is not yet implemented by sys-libs/compiler-rt (see + # https://reviews.llvm.org/D85044?id=287068), therefore + # we depend on gcc and force using libgcc as the support lib + tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc" + + local myconf=( + --shared-brotli + --shared-cares + --shared-libuv + --shared-nghttp2 + --shared-zlib + ) + use debug && myconf+=( --debug ) + use lto && myconf+=( --enable-lto ) + if use system-icu; then + myconf+=( --with-intl=system-icu ) + elif use icu; then + myconf+=( --with-intl=full-icu ) + else + myconf+=( --with-intl=none ) + fi + use inspector || myconf+=( --without-inspector ) + use npm || myconf+=( --without-npm ) + use snapshot || myconf+=( --without-node-snapshot ) + if use ssl; then + use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store ) + else + myconf+=( --without-ssl ) + fi + + local myarch="" + case ${ABI} in + amd64) myarch="x64";; + arm) myarch="arm";; + arm64) myarch="arm64";; + ppc64) myarch="ppc64";; + x32) myarch="x32";; + x86) myarch="ia32";; + *) myarch="${ABI}";; + esac + + GYP_DEFINES="linux_use_gold_flags=0 + linux_use_bundled_binutils=0 + linux_use_bundled_gold=0" \ + "${EPYTHON}" configure.py \ + --prefix="${EPREFIX}"/usr \ + --dest-cpu=${myarch} \ + $(use_with systemtap dtrace) \ + "${myconf[@]}" || die +} + +src_compile() { + emake -C out +} + +src_install() { + local LIBDIR="${ED}/usr/$(get_libdir)" + default + + pax-mark -m "${ED}"/usr/bin/node + + # set up a symlink structure that node-gyp expects.. + dodir /usr/include/node/deps/{v8,uv} + dosym . /usr/include/node/src + for var in deps/{uv,v8}/include; do + dosym ../.. /usr/include/node/${var} + done + + if use doc; then + docinto html + dodoc -r "${S}"/doc/* + fi + + if use npm; then + dodir /etc/npm + + # Install bash completion for `npm` + # We need to temporarily replace default config path since + # npm otherwise tries to write outside of the sandbox + local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js" + sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die + local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)" + "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}" + newbashcomp "${tmp_npm_completion_file}" npm + sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die + + # Move man pages + doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/* + + # Clean up + rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} + rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} + + local find_exp="-or -name" + local find_name=() + for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \ + ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \ + "*.md" "*.markdown" "*.bat" "*.cmd"; do + find_name+=( ${find_exp} "${match}" ) + done + + # Remove various development and/or inappropriate files and + # useless docs of dependend packages. + find "${LIBDIR}"/node_modules \ + \( -type d -name examples \) -or \( -type f \( \ + -iname "LICEN?E*" \ + "${find_name[@]}" \ + \) \) -exec rm -rf "{}" \; + fi + + mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die +} + +src_test() { + if has usersandbox ${FEATURES}; then + rm -f "${S}"/test/parallel/test-fs-mkdir.js + ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \ + "For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'." + fi + + out/${BUILDTYPE}/cctest || die + "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die +} diff --git a/net-libs/nodejs/nodejs-16.18.1.ebuild b/net-libs/nodejs/nodejs-16.18.1.ebuild new file mode 100644 index 000000000000..146acf19edab --- /dev/null +++ b/net-libs/nodejs/nodejs-16.18.1.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CONFIG_CHECK="~ADVISE_SYSCALLS" +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="threads(+)" + +inherit bash-completion-r1 flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils + +DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine" +HOMEPAGE="https://nodejs.org/" +LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/nodejs/node" + SLOT="0" +else + SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz" + SLOT="0/$(ver_cut 1)" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" + S="${WORKDIR}/node-v${PV}" +fi + +IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test" +REQUIRED_USE="inspector? ( icu ssl ) + npm? ( ssl ) + system-icu? ( icu ) + system-ssl? ( ssl )" + +RESTRICT="!test? ( test )" + +RDEPEND=">=app-arch/brotli-1.0.9:= + >=dev-libs/libuv-1.40.0:= + >=net-dns/c-ares-1.17.2:= + >=net-libs/nghttp2-1.41.0:= + sys-libs/zlib + system-icu? ( >=dev-libs/icu-67:= ) + system-ssl? ( >=dev-libs/openssl-1.1.1:0= ) + sys-devel/gcc:*" +BDEPEND="${PYTHON_DEPS} + sys-apps/coreutils + virtual/pkgconfig + systemtap? ( dev-util/systemtap ) + test? ( net-misc/curl ) + pax-kernel? ( sys-apps/elfix )" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch + "${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch + "${FILESDIR}"/${PN}-gcc-13.patch +) + +pkg_pretend() { + (use x86 && ! use cpu_flags_x86_sse2) && \ + die "Your CPU doesn't support the required SSE2 instruction." +} + +pkg_setup() { + python-any-r1_pkg_setup + linux-info_pkg_setup +} + +src_prepare() { + tc-export AR CC CXX PKG_CONFIG + export V=1 + export BUILDTYPE=Release + + # fix compilation on Darwin + # https://code.google.com/p/gyp/issues/detail?id=260 + sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die + + # less verbose install output (stating the same as portage, basically) + sed -i -e "/print/d" tools/install.py || die + + # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504 + local LIBDIR=$(get_libdir) + sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die + sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die + + # Avoid writing a depfile, not useful + sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die + + sed -i -e "/'-O3'/d" common.gypi node.gypi || die + + # debug builds. change install path, remove optimisations and override buildtype + if use debug; then + sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die + BUILDTYPE=Debug + fi + + # We need to disable mprotect on two files when it builds Bug 694100. + use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-16.4.2-paxmarking.patch ) + + # All this test does is check if the npm CLI produces warnings of any sort, + # failing if it does. Overkill, much? Especially given one possible warning + # is that there is a newer version of npm available upstream (yes, it does + # use the network if available), thus making it a real possibility for this + # test to begin failing one day even though it was fine before. + rm -f test/parallel/test-release-npm.js + + default +} + +src_configure() { + xdg_environment_reset + + # LTO compiler flags are handled by configure.py itself + filter-flags '-flto*' + # nodejs unconditionally links to libatomic #869992 + # specifically it requires __atomic_is_lock_free which + # is not yet implemented by sys-libs/compiler-rt (see + # https://reviews.llvm.org/D85044?id=287068), therefore + # we depend on gcc and force using libgcc as the support lib + tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc" + + local myconf=( + --shared-brotli + --shared-cares + --shared-libuv + --shared-nghttp2 + --shared-zlib + ) + use debug && myconf+=( --debug ) + use lto && myconf+=( --enable-lto ) + if use system-icu; then + myconf+=( --with-intl=system-icu ) + elif use icu; then + myconf+=( --with-intl=full-icu ) + else + myconf+=( --with-intl=none ) + fi + use inspector || myconf+=( --without-inspector ) + use npm || myconf+=( --without-npm ) + use snapshot || myconf+=( --without-node-snapshot ) + if use ssl; then + use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store ) + else + myconf+=( --without-ssl ) + fi + + local myarch="" + case ${ABI} in + amd64) myarch="x64";; + arm) myarch="arm";; + arm64) myarch="arm64";; + lp64*) myarch="riscv64";; + ppc64) myarch="ppc64";; + x32) myarch="x32";; + x86) myarch="ia32";; + *) myarch="${ABI}";; + esac + + GYP_DEFINES="linux_use_gold_flags=0 + linux_use_bundled_binutils=0 + linux_use_bundled_gold=0" \ + "${EPYTHON}" configure.py \ + --prefix="${EPREFIX}"/usr \ + --dest-cpu=${myarch} \ + $(use_with systemtap dtrace) \ + "${myconf[@]}" || die +} + +src_compile() { + emake -C out +} + +src_install() { + local LIBDIR="${ED}/usr/$(get_libdir)" + default + + pax-mark -m "${ED}"/usr/bin/node + + # set up a symlink structure that node-gyp expects.. + dodir /usr/include/node/deps/{v8,uv} + dosym . /usr/include/node/src + for var in deps/{uv,v8}/include; do + dosym ../.. /usr/include/node/${var} + done + + if use doc; then + docinto html + dodoc -r "${S}"/doc/* + fi + + if use npm; then + keepdir /etc/npm + + # Install bash completion for `npm` + local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)" + "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}" + newbashcomp "${tmp_npm_completion_file}" npm + + # Move man pages + doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/* + + # Clean up + rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} + rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} + + local find_exp="-or -name" + local find_name=() + for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \ + ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \ + "*.md" "*.markdown" "*.bat" "*.cmd"; do + find_name+=( ${find_exp} "${match}" ) + done + + # Remove various development and/or inappropriate files and + # useless docs of dependend packages. + find "${LIBDIR}"/node_modules \ + \( -type d -name examples \) -or \( -type f \( \ + -iname "LICEN?E*" \ + "${find_name[@]}" \ + \) \) -exec rm -rf "{}" \; + fi + + mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die +} + +src_test() { + if has usersandbox ${FEATURES}; then + rm -f "${S}"/test/parallel/test-fs-mkdir.js + ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \ + "For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'." + fi + + out/${BUILDTYPE}/cctest || die + "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die +} diff --git a/net-libs/nodejs/nodejs-18.9.1.ebuild b/net-libs/nodejs/nodejs-18.12.1.ebuild index c4fe0dccc534..9c480407154b 100644 --- a/net-libs/nodejs/nodejs-18.9.1.ebuild +++ b/net-libs/nodejs/nodejs-18.12.1.ebuild @@ -20,7 +20,7 @@ if [[ ${PV} == *9999 ]]; then else SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz" SLOT="0/$(ver_cut 1)" - KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x64-macos" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos" S="${WORKDIR}/node-v${PV}" fi |