Compare commits

..

3 Commits

Author SHA1 Message Date
saundersp
7c5f040669 Added app-text/ltex-ls-plus-18.5.1 2025-08-16 19:13:36 +02:00
saundersp
4ff48c249b Added dev-java/HdrHistogram-2.2.2 2025-08-16 19:13:07 +02:00
saundersp
8124312f34 Added net-libs/nodejs-24.6.0 2025-08-16 19:12:03 +02:00
14 changed files with 557 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
AUX languagetool.desktop 191 BLAKE2B 726e670645f78c3ea11c788a6440116753d66cf9886155ffa0f9cfad7deab000891276526aea17bae4977472c5d154837fb779de6abdb9cbe47148ce6ff96fe7 SHA512 d54542d4e742e83a7514857a11756f66966a9714f0f7b781aabd635b14cfa4f4d2b0fc1f98b2148af92e469fe877ffb61995c2abe5f59678174eae1d9c3dcbfe
AUX languagetool.initd 473 BLAKE2B 74f55cfaf5b6c2e2fa166533c031408dc7e2e2b1882e6e09227af38e500f12481a551e8cec166620c73e671f00063cb63cc9dda500355110ff048d806dfa2d77 SHA512 fb9ab4fa28df1f43791995557fc4568ee79f7af7991481d295c28739c975c6648999676ea078ee852dc3dc9f49fbb9945c9dc571c385dd4db3d69ca5bf501623
AUX logo.svg 2824 BLAKE2B 7653478b44ebd3dc80691849751745aba14a652d1ffaf52ef27910a52fae15b39c9ef0224795f698b1ac6f95a3e677ee46603b29261dff0d50d9eedba5e09de5 SHA512 501e3dee99f762556774f42829a9e450fc412271a7ade87f17ffb211929d24564ea3385b2bfc1c261e46d4b0b3562be62903b111ecd1c7dacb97c3c8ffb0d6d5
DIST ltex-ls-plus-18.5.1.tar.gz 259544623 BLAKE2B 23b610ef280626b06f30807071f7e22ee68dd7fe1a9f46f7ff007d6a2cea97d28696220ce1c4183ea2f9cab8417d79bc3e827113411210b04cdeb7e6b7d24385 SHA512 de0d2cfef9646766c8cb13049b02eb7da5b5f04f4521858d80361e232743389f71856ae89432f659a67f6d934b8f9e685209a1a3a3b9cdb4c7b9aabfc3619179
EBUILD ltex-ls-plus-18.5.1.ebuild 2590 BLAKE2B 351932d63cf7f10c133f88969dcf87a60583068cb3923ab1a13558b784560563d602f73ae7dd3f7f69655f5b79c01de04f4bf0e469c2d8b3a05898dd87aadd2a SHA512 c4c3abd79cf9207a8c58e836673068f053fb98e88855ac0a44fd2f9435cb8986927260ab027836b3fc33e003d231d1fb4a1a5e03d9b52f59550aef72c490515e
MISC metadata.xml 347 BLAKE2B 1f1cb90d52bbc97720594eb2103791a23e462ae11155ce113740a310d39b40223b547e481c310299abcaaeb339068a9a3f97e4dcfa7cfeb1d75ef5449ab0ae7d SHA512 f27073ac2beba3ce58e2e68f58f80a9681d16fa1bc812c5aca7f00113213a14eab68b8acaafc46e9053107903e17c7e88db76a87951db17d4d89bb82f04fb704

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=LanguageTool
Exec=languagetool-gui
Type=Application
Terminal=false
GenericName=LanguageTool
Comment=LanguageTool
StartupNotify=false
Icon=languagetool
Categories=Office;

View File

@@ -0,0 +1,19 @@
#!/sbin/openrc-run
# Distributed under the terms of the GNU General Public License v2
depend() {
after modules
}
start() {
ebegin "Starting languagetool [server]"
start-stop-daemon --start --background --exec /bin/bash /usr/bin/languagetool-server \
--config "/etc/languagetool.cfg" --allow-origin "*" --port 8081
eend $?
}
stop() {
ebegin "Stopping languagetool [server]"
start-stop-daemon --stop --exec /bin/bash /usr/bin/languagetool-server
eend $?
}

View File

@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewBox="0 0 45 45">
<g fill="none" fill-rule="evenodd">
<circle cx="22.5" cy="22.5" r="22.5" fill="#FFF"/>
<g fill="#005BEA" fill-rule="nonzero">
<path d="M10.32 33.613c.545-.363 1.088-1.105 1.79-1.616.467-.339 1.107-.56 1.488-.56.39 0 .657.07.906.211.226.128.415.286.88.723.672.635 1.02.924 1.583 1.242.794.45 1.677.683 2.695.683 1.017 0 1.9-.234 2.694-.683.564-.318.91-.607 1.584-1.242.464-.437.653-.595.88-.723.248-.14.515-.21.905-.21s.657.07.906.21c.226.128.415.286.88.723.672.635 1.02.924 1.583 1.242.793.45 1.677.683 2.694.683 1.018 0 1.901-.234 2.695-.683a7.666 7.666 0 0 0 1.68-1.242c.05-.048 2.025-2.47 2.053-2.496l-3.004-1.55c.113-.115-.054.05-.107.1-.384.508-1.43 1.706-1.978 1.972a2.45 2.45 0 0 1-1.053.223 3.14 3.14 0 0 1-.919-.178 3.19 3.19 0 0 1-1.152-.722c-.673-.635-1.02-.924-1.583-1.243-.794-.449-1.677-.682-2.695-.682-1.018 0-1.9.233-2.695.682-.563.32-.91.608-1.583 1.243-.464.437-.654.595-.88.722-.248.141-.516.212-.905.212-.39 0-.658-.07-.906-.212-.226-.127-.416-.285-.88-.722-.673-.635-1.02-.924-1.583-1.243-.794-.449-1.677-.682-2.695-.682-1.755 0-3.506.445-6.283 4.202l3.006 1.616z"/>
<path d="M15.383 32.371c.673.635 1.02.924 1.584 1.242.794.45 1.677.683 2.695.683 1.017 0 1.9-.234 2.694-.683.564-.318.91-.607 1.584-1.242.464-.437.653-.595.88-.723.248-.14.515-.21.905-.21s.657.07.906.21c.226.128.415.286.88.723.672.635 1.02.924 1.583 1.242.793.45 1.677.683 2.694.683 1.018 0 1.946-.235 2.737-.683 1.834-.922 3.658-3.712 3.685-3.738-1.543 1.411-2.975 2.12-4.295 2.125-1.958.008-3.448-1.843-3.912-2.28-.673-.635-1.02-.924-1.583-1.243-.794-.449-1.677-.682-2.695-.682-1.018 0-1.9.233-2.695.682-.563.32-.91.608-1.583 1.243-.464.437-.654.595-.88.722-.248.141-.516.212-.905.212-.39 0-.658-.07-.906-.212-.226-.127-.416-.285-.88-.722-.673-.635-1.02-.924-1.583-1.243-.794-.449-1.677-.682-2.695-.682-.74 0-3.317-.087-6.284 4.205 1.584-1.35 3.03-1.95 4.339-1.797 1.961.228 3.515 1.965 3.73 2.168z"/>
</g>
<g fill="#252525">
<path fill-rule="nonzero" d="M31.104 13.922v1.43h3.145v-1.666c0-1.037-1.075-2.004-3.225-2.9l.08 3.136zM23.066 13.922l-.24-3.136c-1.936.675-2.905 1.56-2.905 2.656v1.91h3.145v-1.43z"/>
<path fill-rule="nonzero" d="M28.744 13.922v11.102h-3.136V13.922h-2.55c-.953 0-1.648.12-2.083.36-.435.241-.789.598-1.062 1.07v-1.91c0-1.644 1.49-2.656 2.906-2.656h8.224c2.036 0 3.225 1.344 3.225 2.9 0 .37-.004.926-.012 1.667-.327-.473-.695-.83-1.104-1.07-.409-.241-1.085-.361-2.029-.361h-2.38z"/>
<path d="M13.612 22.316v-.003-8.48h-2.028v-3.145h1.792c2.941 0 3.372 2.203 3.372 2.985v8.224l-.001.004h5.863v3.145h-6.3a.15.15 0 0 1-.038-.005c-1.77-.064-2.656-.97-2.66-2.717a87.655 87.655 0 0 1-.006-.007l.006-.001z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,92 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit java-pkg-2
DESCRIPTION="LSP language server for LanguageTool supporting LaTeX, Markdown, and others"
HOMEPAGE="https://ltex-plus.github.io/ltex-plus/"
SRC_URI="https://github.com/ltex-plus/ltex-ls-plus/releases/download/${PV}/${P}.tar.gz"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
CP_DEPEND="
dev-java/HdrHistogram:0
dev-java/slf4j-api:0
dev-java/slf4j-nop:0
dev-java/guava:0
dev-java/icu4j:0
dev-java/jansi:2
dev-java/commons-lang:3.6
dev-java/commons-logging:0
dev-java/commons-text:0
dev-java/jackson-core:0
dev-java/jackson-annotations:2
dev-java/jackson-databind:0
dev-java/jaxb-api:2
dev-java/jaxb-runtime:4
dev-java/picocli:0
dev-java/protobuf-java:0
dev-java/stax2-api:0
dev-java/woodstox-core:0
dev-java/json:0
dev-java/j2objc-annotations:0
dev-java/istack-commons-runtime:0
dev-java/hamcrest-core:1.3
dev-java/failureaccess:0
dev-java/error-prone-annotations:0
"
RDEPEND="
>=virtual/jre-1.8
${CP_DEPEND}
"
src_prepare() {
default
rm lib/{HdrHistogram,slf4j,guava,icu4j,junit,hamcrest-core}*.jar || die
# rm lib/jansi*.jar || die # somewhy removing it causes ltex-ls to stop produce colors/boldness ascii-sequences
rm lib/checker-qual-*.jar || die # may cuse breakages. Needs testing.
rm lib/{commons-{lang3,text,logging},error_prone_annotations,failureaccess,istack-commons-runtime}*.jar || die
rm lib/{j2objc-annotations,jackson,jaxb-api,json,picocli,protobuf-java,stax2-api,woodstox-core}*.jar || die
mv lib/"${P/x-l/xl}".jar lib/"${PN}".jar || die
java-pkg-2_src_prepare
}
src_compile() { :; }
_gen-cp() {
debug-print-function ${FUNCNAME} "${@}"
local atom
local pat="/(([[:alnum:]+_-]+)-[0-9]+(\.[0-9]+)*[a-z]?(_[[:alnum:]]+)*(-r[0-9]*)?|[[:alnum:]+_-]+):([[:alnum:]+_.-]+)"
for atom in ${CP_DEPEND}; do
if [[ ${atom} =~ ${pat} ]]; then
atom=${BASH_REMATCH[2]:-${BASH_REMATCH[1]}}
[[ ${BASH_REMATCH[6]} != 0 ]] && atom+=-${BASH_REMATCH[6]}
local regex="(^|\s|,)${atom}($|\s|,)"
[[ ${!1} =~ ${regex} ]] || declare -g ${1}+=${!1:+,}${atom}
else
die "Invalid CP_DEPEND atom ${atom}, ensure a SLOT is included"
fi
done
}
src_install() {
java-pkg_dojar lib/*.jar
java-pkg_dolauncher ${PN} --main org.bsplines.ltexls.LtexLanguageServerLauncher
# java-pkg_dolauncher ${PN}-cli --main org.bsplines.lspcli.LspCliLauncher
# TODO: integrate with json from bin/
dodoc ACKNOWLEDGMENTS.md README.md
unset MY_DEPEND
_gen-cp MY_DEPEND
java-pkg_register-dependency "${MY_DEPEND}"
}

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
<upstream>
<remote-id type="github">ltex-plus/ltex-ls-plus</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,49 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# JUnit Jupiter is needed for tests
JAVA_PKG_IUSE="doc source"
MAVEN_ID="org.hdrhistogram:${PN}:${PV}"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="A High Dynamic Range (HDR) Histogram"
HOMEPAGE="https://hdrhistogram.github.io/HdrHistogram/"
SRC_URI="https://github.com/HdrHistogram/HdrHistogram/archive/refs/tags/${P}.tar.gz"
LICENSE="|| ( public-domain BSD-2 )"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
>=virtual/jdk-1.8:*
"
RDEPEND="
>=virtual/jre-1.8:*
"
S="${WORKDIR}/${PN}-${P}"
JAVA_SRC_DIR="src/main/java"
JAVA_TEST_SRC_DIR="src/test/java"
JAVA_TEST_RESOURCE_DIRS=( "src/test/resources" )
src_prepare() {
java-pkg-2_src_prepare
cp "${JAVA_SRC_DIR}/org/HdrHistogram/"Version.java{.template,} ||
die "Failed to copy Version.java"
sed -i -e "s/\$VERSION\$/${PV}/g" \
"${JAVA_SRC_DIR}/org/HdrHistogram/Version.java" ||
die "Failed to write package version to Version.java"
sed -i -e "s/\$BUILD_TIME\$/$(date --utc '+%FT%TZ')/g" \
"${JAVA_SRC_DIR}/org/HdrHistogram/Version.java" ||
die "Failed to write build time to Version.java"
}
src_install() {
java-pkg-simple_src_install
einstalldocs # https://bugs.gentoo.org/789582
}

View File

@@ -0,0 +1,3 @@
DIST HdrHistogram-2.2.2.tar.gz 649548 BLAKE2B 5aac2103b0a4b2d2c1f0a7337f07bb9894747f4ff80ad6ddfe17595f7be5c5597267fa0bd741db6b2b98b334760abc37a7800eb7dcb140c9e3ffffb524b8b247 SHA512 fbead3ea77c4c0ccf80c252043024848b5e4f4264a55e08bdb9289ab6312096d444e6793546c3bcbcdd1633b5bdcc4f8070452f06b4e23a98f22f515f5371500
EBUILD HdrHistogram-2.2.2.ebuild 1266 BLAKE2B 8853f7cb165987041e083f3c0ede1845207de42e38ff430519f96832675e9ce91e7daf5781a07bdbbf48e379c3667359e5b91b6d110d9e2aa564ec706e97ff0b SHA512 e9c5a958f34be0f701fa8d6efb01e39fe66268e5de6072bc16d7c7910e4f3272fe25ddd1b5f9d2a6906e8fff898d6fdee7594bc9fd53b6e9d8560ece2bba87e0
MISC metadata.xml 440 BLAKE2B a6d68a60e3e5e50f498323e5717571c960ebaa31bf5f4ca5a0888c0d43ff56b021f260d17c00eb0a72a299004afaec454834fa2fec5dafdc4815565b30a54642 SHA512 482d884430e21933a2b16d07817481f84d6d159458de7ac5002df19c538a9e57da46171a53ae2cb55d00b65d09c8631676aaf29544a175362954e8b3de0f7292

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zzy2529420793@gmail.com</email>
<name>zongyu</name>
</maintainer>
<maintainer type="person">
<email>liaoyuan@gmail.com</email>
<name>Yuan Liao</name>
</maintainer>
<upstream>
<remote-id type="github">HdrHistogram/HdrHistogram</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,13 @@
DEFINED_PHASES=compile install preinst prepare setup
DEPEND=>=dev-java/java-config-2.2.0-r3
DESCRIPTION=LSP language server for LanguageTool supporting LaTeX, Markdown, and others
EAPI=8
HOMEPAGE=https://ltex-plus.github.io/ltex-plus/
INHERIT=java-pkg-2
KEYWORDS=~amd64 ~x86
LICENSE=MPL-2.0
RDEPEND=>=virtual/jre-1.8 dev-java/HdrHistogram:0 dev-java/slf4j-api:0 dev-java/slf4j-nop:0 dev-java/guava:0 dev-java/icu4j:0 dev-java/jansi:2 dev-java/commons-lang:3.6 dev-java/commons-logging:0 dev-java/commons-text:0 dev-java/jackson-core:0 dev-java/jackson-annotations:2 dev-java/jackson-databind:0 dev-java/jaxb-api:2 dev-java/jaxb-runtime:4 dev-java/picocli:0 dev-java/protobuf-java:0 dev-java/stax2-api:0 dev-java/woodstox-core:0 dev-java/json:0 dev-java/j2objc-annotations:0 dev-java/istack-commons-runtime:0 dev-java/hamcrest-core:1.3 dev-java/failureaccess:0 dev-java/error-prone-annotations:0 >=dev-java/java-config-2.2.0-r3
SLOT=0
SRC_URI=https://github.com/ltex-plus/ltex-ls-plus/releases/download/18.5.1/ltex-ls-plus-18.5.1.tar.gz
_eclasses_=java-utils-2 a080d4947ca188a48725a375b6184bc5 java-pkg-2 38fd81c7880666a00a638ca8deb64d72
_md5_=4e7bb5980cd43626c889e6f86ffe0629

View File

@@ -0,0 +1,14 @@
DEFINED_PHASES=compile install preinst prepare setup test
DEPEND=>=virtual/jdk-1.8:* >=dev-java/java-config-2.2.0-r3 source? ( app-arch/zip )
DESCRIPTION=A High Dynamic Range (HDR) Histogram
EAPI=8
HOMEPAGE=https://hdrhistogram.github.io/HdrHistogram/
INHERIT=java-pkg-2 java-pkg-simple
IUSE=doc source
KEYWORDS=~amd64
LICENSE=|| ( public-domain BSD-2 )
RDEPEND=>=virtual/jre-1.8:* >=dev-java/java-config-2.2.0-r3 source? ( app-arch/zip )
SLOT=0
SRC_URI=https://github.com/HdrHistogram/HdrHistogram/archive/refs/tags/HdrHistogram-2.2.2.tar.gz
_eclasses_=java-utils-2 a080d4947ca188a48725a375b6184bc5 java-pkg-2 38fd81c7880666a00a638ca8deb64d72 java-pkg-simple 460c3cd928ba6e677d113a15c496017e
_md5_=957b602b2b23725866836ae5428d87e5

View File

@@ -0,0 +1,17 @@
BDEPEND=|| ( dev-lang/python:3.13[threads(+)] dev-lang/python:3.12[threads(+)] dev-lang/python:3.11[threads(+)] ) app-alternatives/ninja sys-apps/coreutils virtual/pkgconfig test? ( net-misc/curl ) pax-kernel? ( sys-apps/elfix )
DEFINED_PHASES=compile configure install postinst prepare pretend setup test
DEPEND=>=app-arch/brotli-1.1.0:= dev-db/sqlite:3 >=dev-libs/libuv-1.51.0:= >=dev-libs/simdjson-3.10.1:= >=net-dns/c-ares-1.34.4:= >=net-libs/nghttp2-1.64.0:= >=net-libs/nghttp3-1.7.0:= sys-libs/zlib corepack? ( !sys-apps/yarn ) system-icu? ( >=dev-libs/icu-73:= ) system-ssl? ( >=net-libs/ngtcp2-1.9.1:= >=dev-libs/openssl-1.1.1:0= ) !system-ssl? ( >=net-libs/ngtcp2-1.9.1:=[-gnutls] ) || ( sys-devel/gcc:* llvm-runtimes/libatomic-stub )
DESCRIPTION=A JavaScript runtime built on Chrome's V8 JavaScript engine
EAPI=8
HOMEPAGE=https://nodejs.org/
INHERIT=bash-completion-r1 check-reqs flag-o-matic linux-info ninja-utils pax-utils python-any-r1 toolchain-funcs xdg-utils
IUSE=corepack cpu_flags_x86_sse2 debug doc +icu +inspector lto npm pax-kernel +snapshot +ssl +system-icu +system-ssl test
KEYWORDS=~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos
LICENSE=Apache-1.1 Apache-2.0 BSD BSD-2 MIT npm? ( Artistic-2 )
RDEPEND=>=app-arch/brotli-1.1.0:= dev-db/sqlite:3 >=dev-libs/libuv-1.51.0:= >=dev-libs/simdjson-3.10.1:= >=net-dns/c-ares-1.34.4:= >=net-libs/nghttp2-1.64.0:= >=net-libs/nghttp3-1.7.0:= sys-libs/zlib corepack? ( !sys-apps/yarn ) system-icu? ( >=dev-libs/icu-73:= ) system-ssl? ( >=net-libs/ngtcp2-1.9.1:= >=dev-libs/openssl-1.1.1:0= ) !system-ssl? ( >=net-libs/ngtcp2-1.9.1:=[-gnutls] ) || ( sys-devel/gcc:* llvm-runtimes/libatomic-stub )
REQUIRED_USE=inspector? ( icu ssl ) npm? ( ssl ) system-icu? ( icu ) system-ssl? ( ssl ) x86? ( cpu_flags_x86_sse2 )
RESTRICT=!test? ( test )
SLOT=0/24
SRC_URI=https://nodejs.org/dist/v24.6.0/node-v24.6.0.tar.xz
_eclasses_=toolchain-funcs a0b29008c671a362b505f96fa80ce9c0 bash-completion-r1 767861f3744f589ee5291c1698b1c082 check-reqs 2a9731073c152554078a9a8df8fc0f1b flag-o-matic a7afe42e95fb46ce9691605acfb24672 linux-info efd923656513c879204fec6638eadee5 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 pax-utils 5555f2e75744739fe100ee62c22d28fe python-utils-r1 8a006695bc0db22490452dd06914dda5 python-any-r1 891415dfe39ad9b41b461f2b86354af0 xdg-utils 42869b3c8d86a70ef3cf75165a395e09
_md5_=c5107e98192c12df516bed45abe52a28

View File

@@ -1,4 +1,6 @@
AUX nodejs-24.1.0-paxmarking.patch 3496 BLAKE2B 128a05fb3bc040edfd53221d5744a0626a0f64b7ba46dac94dc0df0d57631017f2da839e06ce769194a8519dcb7feebbede7cef9743323fded5044694a8eb4cc SHA512 3fae2c3bb0f90bd84e147a7fb740f12fab93843ef8f3a2ecf07359582222f86e9793b49b624894fa244f4d9159ac897e1b32d014a6fffbd0d687a1c0996e4240
DIST node-v24.5.0.tar.xz 52281988 BLAKE2B 6d5829c1891e59066aded4dbe9a6a872835e052e007e392991ca01deb877a2bc126a98843ee74946d9a96bd5fa072f80e8aabe9f83964499bdd0726a95116e48 SHA512 8aebac41a273f6208579500e2c393c175233d771165dfbf76a360ddcba0ed341b27489fe5829a9ce9bcaf3d3ceaf3bb0a14ba7aecabc7adf7f8b2ef8071d57f8
DIST node-v24.6.0.tar.xz 51605352 BLAKE2B faf9e424c22d68be82db584eb1cc9fc80d5da7612c24349443b6cdbfbcd081046bb24356e32af1c4a18c771e1e3c6683585a8552be889fd360706ad387127489 SHA512 1e493827c95cb264707481372cddaf96fe33ed7554cd7732174f0e04d3770596a0e4f05097cc9bd43d1264d59dc150a787893718ad95a76ae8c93b338d63c49f
EBUILD nodejs-24.5.0.ebuild 8422 BLAKE2B 9f8a38f95be24ef5fb21c953f308f59a3eee0def4d120faab71d666a583eacf568db5a4b5b89e588ffd2be6f0a18de569998c1fa2f0946fb19f1783dd0a79671 SHA512 6d700bde90405850d64f7b0a53d60a62368215c20fbb490146b83fa7aa8c87857a9337705e62bed194d7ae29c3b634117dc56aa0c80052eb8ddb3be9643b304a
EBUILD nodejs-24.6.0.ebuild 8422 BLAKE2B 9f8a38f95be24ef5fb21c953f308f59a3eee0def4d120faab71d666a583eacf568db5a4b5b89e588ffd2be6f0a18de569998c1fa2f0946fb19f1783dd0a79671 SHA512 6d700bde90405850d64f7b0a53d60a62368215c20fbb490146b83fa7aa8c87857a9337705e62bed194d7ae29c3b634117dc56aa0c80052eb8ddb3be9643b304a
MISC metadata.xml 919 BLAKE2B fec5e1a55653b516865d2b0f7788ba520fc46029276f6584be3bfa579fb9852119b3a7fb907e1977279227627cc65c085dbffc4a06ca11cd4dd031325a423468 SHA512 658d82da53e3b701d0ed5a2ba4f515744240ebcdf8392c0a40c9b9e9808f89357ea270a2b742dd0045628ff0d87baf9c26f60ac0d046d75808cb97add192c8a3

View File

@@ -0,0 +1,292 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CONFIG_CHECK="~ADVISE_SYSCALLS"
PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="threads(+)"
inherit bash-completion-r1 check-reqs flag-o-matic linux-info ninja-utils 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 npm? ( Artistic-2 )"
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 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
S="${WORKDIR}/node-v${PV}"
fi
IUSE="corepack cpu_flags_x86_sse2 debug doc +icu +inspector lto npm pax-kernel +snapshot +ssl +system-icu +system-ssl test"
REQUIRED_USE="inspector? ( icu ssl )
npm? ( ssl )
system-icu? ( icu )
system-ssl? ( ssl )
x86? ( cpu_flags_x86_sse2 )"
RESTRICT="!test? ( test )"
RDEPEND=">=app-arch/brotli-1.1.0:=
dev-db/sqlite:3
>=dev-libs/libuv-1.51.0:=
>=dev-libs/simdjson-3.10.1:=
>=net-dns/c-ares-1.34.4:=
>=net-libs/nghttp2-1.64.0:=
>=net-libs/nghttp3-1.7.0:=
sys-libs/zlib
corepack? ( !sys-apps/yarn )
system-icu? ( >=dev-libs/icu-73:= )
system-ssl? (
>=net-libs/ngtcp2-1.9.1:=
>=dev-libs/openssl-1.1.1:0=
)
!system-ssl? ( >=net-libs/ngtcp2-1.9.1:=[-gnutls] )
|| (
sys-devel/gcc:*
llvm-runtimes/libatomic-stub
)"
BDEPEND="${PYTHON_DEPS}
app-alternatives/ninja
sys-apps/coreutils
virtual/pkgconfig
test? ( net-misc/curl )
pax-kernel? ( sys-apps/elfix )"
DEPEND="${RDEPEND}"
# These are measured on a loong machine with -ggdb on, and only checked
# if debugging flags are present in CFLAGS.
#
# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
# limit for memory usage. Disk usage was 19.1GiB for the build directory and
# 1.2GiB for the installed image, so we leave some room for architectures with
# fatter binaries and set the disk requirement to 22GiB.
CHECKREQS_MEMORY="8G"
CHECKREQS_DISK_BUILD="22G"
pkg_pretend() {
if [[ ${MERGE_TYPE} != "binary" ]]; then
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
check-reqs_pkg_pretend
fi
fi
}
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
# 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}-24.1.0-paxmarking.patch )
default
}
src_configure() {
xdg_environment_reset
# LTO compiler flags are handled by configure.py itself
filter-lto
# The warnings are *so* noisy and make build.logs massive
append-cxxflags $(test-flags-CXX -Wno-template-id-cdtor)
# https://bugs.gentoo.org/931514
use arm64 && append-flags $(test-flags-CXX -mbranch-protection=none)
local myconf=(
--ninja
# ada is not packaged yet
# https://github.com/ada-url/ada
# --shared-ada
--shared-brotli
--shared-cares
--shared-libuv
--shared-nghttp2
--shared-nghttp3
--shared-ngtcp2
--shared-simdjson
# sindutf is not packaged yet
# https://github.com/simdutf/simdutf
# --shared-simdutf
--shared-sqlite
--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 corepack || myconf+=( --without-corepack )
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 "${ARCH}:${ABI}" in
*:amd64) myarch="x64";;
*:arm) myarch="arm";;
*:arm64) myarch="arm64";;
loong:lp64*) myarch="loong64";;
riscv: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} \
"${myconf[@]}" || die
}
src_compile() {
export NINJA_ARGS=" $(get_NINJAOPTS)"
emake -Onone
}
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
echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
doenvd "${T}"/50npm
# 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}
local find_exp="-or -name"
local find_name=()
for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
"*.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
use corepack &&
"${D}"/usr/bin/corepack enable --install-directory "${D}"/usr/bin
mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
}
src_test() {
local drop_tests=(
test/parallel/test-dns.js
test/parallel/test-dns-resolveany-bad-ancount.js
test/parallel/test-dns-setserver-when-querying.js
test/parallel/test-dotenv.js
test/parallel/test-fs-mkdir.js
test/parallel/test-fs-read-stream.js
test/parallel/test-fs-utimes-y2K38.js
test/parallel/test-fs-watch-recursive-add-file.js
test/parallel/test-http2-client-set-priority.js
test/parallel/test-http2-priority-event.js
test/parallel/test-process-euid-egid.js
test/parallel/test-process-get-builtin.mjs
test/parallel/test-process-initgroups.js
test/parallel/test-process-setgroups.js
test/parallel/test-process-uid-gid.js
test/parallel/test-release-npm.js
test/parallel/test-socket-write-after-fin-error.js
test/parallel/test-strace-openat-openssl.js
test/sequential/test-tls-session-timeout.js
test/sequential/test-util-debug.js
)
use inspector ||
drop_tests+=(
test/parallel/test-inspector-emit-protocol-event.js
test/parallel/test-inspector-network-arbitrary-data.js
test/parallel/test-inspector-network-domain.js
test/parallel/test-inspector-network-fetch.js
test/parallel/test-inspector-network-http.js
test/sequential/test-watch-mode.mjs
)
rm -f "${drop_tests[@]}" || die "disabling tests failed"
out/${BUILDTYPE}/cctest || die
"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
}
pkg_postinst() {
if use npm; then
ewarn "remember to run: source /etc/profile if you plan to use nodejs"
ewarn " in your current shell"
fi
}