Compare commits
6 Commits
204451a781
...
dc25944184
Author | SHA1 | Date | |
---|---|---|---|
|
dc25944184 | ||
|
357cb8e7b1 | ||
|
1ccae18b1a | ||
|
d9125ff2c1 | ||
|
b78060fc62 | ||
|
8b3ab64845 |
6
app-text/ltex-ls/Manifest
Normal file
6
app-text/ltex-ls/Manifest
Normal 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-16.0.0.tar.gz 243227042 BLAKE2B 94b3705e03a5fb6bdf127738d7f539bd28c21e225fb8ddf428a97dd12cbbaa5e7abb440341f3456495a631a32f8d5df070e98159450d53aecef82e3ecb6e22d4 SHA512 660a9763706ef9402c34b05cc7d1f977a848d9b1fb6f268ad5d4f1fca995df7e1cf82724b616a2efe016ca9880c6d7d07cb21132515c04343ab24642d0f73e0d
|
||||
EBUILD ltex-ls-16.0.0.ebuild 2677 BLAKE2B 8bfeaa417d2f3a1bdfeade147f42a615451cfbe6ef86092a4e4af3e908876fe1f9683e023acb646dd35befba8758e905a8650b488da4db703ae567771949bde1 SHA512 249f01de15e2ddfe15cb35935e46fc508a01a9243c9c70c487c9e9364f8bfa2f386b4747a415f201e853bf040e906fe5eba7a37446bc50c45e1a402ee322fdb9
|
||||
MISC metadata.xml 341 BLAKE2B 079fcdfbb5074cf8f1eb5ae2ebc4c20e4047b8b4f5303e6c30756b87988584c93943d5064d1902deddae2729ea5bb06a4814075b46b05c9f717a49c004052f57 SHA512 f7143d9495597a9a51043c9bc6bdb66e6644982621c1e1802d2ad297a2398d2084c7147eb107f2b67c6ab5c68d53a8f0188bf10c8efc70ef0af102f483afd658
|
10
app-text/ltex-ls/files/languagetool.desktop
Normal file
10
app-text/ltex-ls/files/languagetool.desktop
Normal 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;
|
19
app-text/ltex-ls/files/languagetool.initd
Normal file
19
app-text/ltex-ls/files/languagetool.initd
Normal 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 $?
|
||||
}
|
14
app-text/ltex-ls/files/logo.svg
Normal file
14
app-text/ltex-ls/files/logo.svg
Normal 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 |
94
app-text/ltex-ls/ltex-ls-16.0.0.ebuild
Normal file
94
app-text/ltex-ls/ltex-ls-16.0.0.ebuild
Normal file
@@ -0,0 +1,94 @@
|
||||
# Copyright 1999-2024 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://valentjn.github.io/ltex/"
|
||||
SRC_URI="https://github.com/valentjn/ltex-ls/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
CP_DEPEND="
|
||||
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/checker-framework-qual:0
|
||||
dev-java/animal-sniffer-annotations:0
|
||||
dev-java/fastinfoset:0
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/jre-1.8
|
||||
${CP_DEPEND}
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm lib/{slf4j,guava,icu4j,junit,hamcrest-core,FastInfoset,animal-sniffer-annotations}*.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}"
|
||||
}
|
11
app-text/ltex-ls/metadata.xml
Normal file
11
app-text/ltex-ls/metadata.xml
Normal 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">valentjn/ltex-ls</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
3
dev-java/commons-text/Manifest
Normal file
3
dev-java/commons-text/Manifest
Normal file
@@ -0,0 +1,3 @@
|
||||
DIST commons-text-1.14.0-src.tar.gz 365401 BLAKE2B bde7f76383f967c5d1cfc9dba383d93ec0f9ba37573d9ff7b030c52cd3b88405f73d56576cb151a5625be8922315438141a921ebbc5c5f4376a60a93e7475dfb SHA512 db9369ca5249e447f871b03f826782ff34d55f7f375c6fe9a6e6ffb740124ad38ced4487ea0bd9fafe1603b5dade9ce6fdd7d595af63b6d3a66560de936aa46a
|
||||
EBUILD commons-text-1.14.0.ebuild 1952 BLAKE2B bd6651a291c7a667aabc6d795b0dc086cb08b1541354c1134db68545882844f70871e845249a9a19e935787cb070e7282224b258f79ac7fba14dd97bb956a567 SHA512 436742971cd821425f39f069b089a5b960e2b277901fb04dd52f0202f8bed0dca7246860b3e2379f7b6872ed065193e4f0dce63088a91d1c36ce9252fa94b54b
|
||||
MISC metadata.xml 237 BLAKE2B 7c3263833976c18611a5cba44845af4d80f2f86c48cf587a657292ed0074022088cef88756e3209b292252dce5c0eea307c4f2f45f28b8517609124708f7d09a SHA512 e8227b536eb45569cbf744907106e101d1aa6bf9ba8337783786d719ab107d8bda0fde5dd7067d168181d694b4161b12d1ef3cb5a83b14971b21aa4479670559
|
61
dev-java/commons-text/commons-text-1.14.0.ebuild
Normal file
61
dev-java/commons-text/commons-text-1.14.0.ebuild
Normal file
@@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Skeleton command:
|
||||
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml
|
||||
# --download-uri mirror://apache//commons/text/source/commons-text-1.10.0-src.tar.gz
|
||||
# --slot 0 --keywords "~amd64 ~ppc64 ~x86" --ebuild commons-text-1.10.0.ebuild
|
||||
|
||||
EAPI=8
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
MAVEN_ID="org.apache.commons:commons-text:${PVR}"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
DESCRIPTION="Apache Commons Text is a library focused on algorithms working on strings"
|
||||
HOMEPAGE="https://commons.apache.org/proper/commons-text/"
|
||||
SRC_URI="https://archive.apache.org/dist/commons/text/source/${P}-src.tar.gz"
|
||||
|
||||
S="${WORKDIR}/${P}-src"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc64 ~x86"
|
||||
|
||||
# Common dependencies
|
||||
# POM: pom.xml
|
||||
# org.apache.commons:commons-lang3:3.12.0 -> >=dev-java/commons-lang-3.12.0:3.6
|
||||
|
||||
CDEPEND="
|
||||
dev-java/commons-lang:3.6
|
||||
"
|
||||
|
||||
# Compile dependencies
|
||||
# POM: pom.xml
|
||||
# test? commons-io:commons-io:2.11.0 -> >=dev-java/commons-io-2.11.0:1
|
||||
# test? org.apache.commons:commons-rng-simple:1.4 -> !!!artifactId-not-found!!!
|
||||
# test? org.assertj:assertj-core:3.23.1 -> !!!suitable-mavenVersion-not-found!!!
|
||||
# test? org.graalvm.js:js:22.0.0.2 -> !!!groupId-not-found!!!
|
||||
# test? org.graalvm.js:js-scriptengine:22.0.0.2 -> !!!groupId-not-found!!!
|
||||
# test? org.junit.jupiter:junit-jupiter:5.9.1 -> !!!groupId-not-found!!!
|
||||
# test? org.mockito:mockito-inline:4.8.0 -> !!!artifactId-not-found!!!
|
||||
# test? org.openjdk.jmh:jmh-core:1.35 -> >=dev-java/jmh-core-1.35:0
|
||||
# test? org.openjdk.jmh:jmh-generator-annprocess:1.35 -> !!!artifactId-not-found!!!
|
||||
|
||||
DEPEND="
|
||||
>=virtual/jdk-1.8:*
|
||||
${CDEPEND}
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/jre-1.8:*
|
||||
${CDEPEND}"
|
||||
|
||||
DOCS=( CONTRIBUTING.md NOTICE.txt README.md RELEASE-NOTES.txt )
|
||||
|
||||
JAVA_AUTOMATIC_MODULE_NAME="org.apache.commons.text"
|
||||
JAVA_ENCODING="ISO-8859-1"
|
||||
|
||||
JAVA_GENTOO_CLASSPATH="commons-lang-3.6"
|
||||
JAVA_SRC_DIR="src/main/java"
|
8
dev-java/commons-text/metadata.xml
Normal file
8
dev-java/commons-text/metadata.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>java@gentoo.org</email>
|
||||
<name>Java</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
3
dev-java/failureaccess/Manifest
Normal file
3
dev-java/failureaccess/Manifest
Normal file
@@ -0,0 +1,3 @@
|
||||
DIST guava-33.4.8.tar.gz 5876137 BLAKE2B 67c14f95ac894bd821126519034ef45cffc016d7e29652b5020bc01a4ea7cecf779359f21261e1011842ff694299f62be3577a34ea0234c61d21fde7ccfa129d SHA512 e0ce963356e9404bd80a1caa76108ece9bb82c1a46a10ff262b8ba515af17fc33c520bf7dae35168ea9d92250b40e46ef062e5ccf5fec6ebad1a791b137c0f60
|
||||
EBUILD failureaccess-33.4.8.ebuild 686 BLAKE2B 53f7faa98253b10ebdb42cd4f4702a59b925aac0b33f6dac4078fd8ecc2416fc1faed890dbd3961d8f775b7884df419b88db3ce5b80e717c40dc2eb03e9881ee SHA512 33e3780906a022bdd17366155677a6b5227e8ed1a931aa26a05bfdd36a275d3f1c9d868b2006f6d21959b30b1cf07983955c188d6c39687e375aac3b3174550d
|
||||
MISC metadata.xml 777 BLAKE2B 0e44350994369e126a7b4fa9b3264c96ab8e4ffa922f2f7ff09a11f68ef489b420873456691f325efba1106ea5d4d839f488a2b39c8aa2a1e7697212b830295f SHA512 5807719572aaacc5269053a97d1ec13fe51cebe35a7c0cc97c1ceb3abef4022e03db0163e8bdbe825efdcc86694466bbf20aac9bb1319419b1caa62886822390
|
25
dev-java/failureaccess/failureaccess-33.4.8.ebuild
Normal file
25
dev-java/failureaccess/failureaccess-33.4.8.ebuild
Normal file
@@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MY_P=guava-${PV}
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
MAVEN_ID="com.google.guava:failureaccess:1.0.1"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
DESCRIPTION="Guava's InternalFutureFailureAccess and InternalFutures classes."
|
||||
HOMEPAGE="https://github.com/google/guava/"
|
||||
SRC_URI="https://github.com/google/guava/archive/v${PV}.tar.gz -> guava-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
|
||||
DEPEND=">=virtual/jdk-1.8:*"
|
||||
RDEPEND=">=virtual/jre-1.8:*"
|
||||
|
||||
JAVA_SRC_DIR="futures/${PN}/src/com/google/common/util/concurrent/internal/"
|
18
dev-java/failureaccess/metadata.xml
Normal file
18
dev-java/failureaccess/metadata.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>pierre.saundersgb@gmail.com</email>
|
||||
<name>Pierre Saunders</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Contains com.google.common.util.concurrent.internal.InternalFutureFailureAccess
|
||||
and InternalFutures. Most users will never need to use this artifact. Its
|
||||
classes are conceptually a part of Guava, but they're in this separate artifact
|
||||
so that Android libraries can use them without pulling in all of Guava (just as
|
||||
they can use ListenableFuture by depending on the listenablefuture artifact).
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="github">google/guava</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
61
licenses/NDI_EULA_END
Normal file
61
licenses/NDI_EULA_END
Normal file
@@ -0,0 +1,61 @@
|
||||
NDI Software Development Kit (SDK) License Agreement
|
||||
|
||||
Please read this document carefully before proceeding. You (the undersigned Licensee) hereby agree to the terms of this NDI® Software Development Kit (SDK) License Agreement (the "License") in order to use the SDK. Vizrt NDI AB (“NDI”) agrees to license you certain rights as set forth herein under these terms.
|
||||
|
||||
1. Definitions
|
||||
a. "SDK" means the entire NDI® Software Development Kit, including those portions pertaining to the Specific SDK, provided to you pursuant to this License, including any source code, compiled executables or libraries, and all documentation provided to you to assist you in building tools that use the NDI® Software for data transfer over a local network.
|
||||
b. "Products" means your software product(s) and/or service(s) that you develop or that are developed on your behalf through the use of the SDK and that are designed to be, and/or are, used, sold and/or distributed to work closely with other NDI Products or Third Party Video Products.
|
||||
c. “NDI Products refers to NDI’s line of products distributed by NDI and any upgrades.
|
||||
d. “SDK Documentation” refers to the documentation included with the Software Development Kit including that portion pertaining to the Specific SDK.
|
||||
e. “Specific SDK” refers to the specific SDK for which you intend to use the NDI® SDK and this license (for example: NDI® Send, NDI Receive, NDI Find, or other SDK’s that are available from time to time. These are examples only and NDI may add or subtract to this list at its discretion, and you agree to use them only in accordance with this Agreement), and includes the documentation relating to it.
|
||||
f. “Third Party Video Products” refers to products of third parties developed by or for them also using the NDI® Software Development Kit in any way.
|
||||
|
||||
2. License
|
||||
a. Pursuant to the terms, conditions and requirements of this License and the SDK Documentation, you are hereby granted a nonexclusive royalty-free license to use the sample code, object code and documentation included in the SDK for the sole purpose of developing Products using the Specific SDK, and to distribute, only in accordance with the SDK Documentation requirements, object code included in the SDK solely as used by such Products (your Product and compiled sample code referred to as the “Bundled Product”).
|
||||
b. If you are making a product release you must use a version of the SDK that is less than thirty (30) days old if there is one.
|
||||
c. This is a License only, and no employment, joint venture, partnership, or other business venture is created by this License.
|
||||
d. Unless otherwise stated in the SDK, no files within the SDK and the Specific SDK may be distributed. Certain files within the SDK or the Specific SDK may be distributed, said files and their respective distribution license are individually identified within the SDK documentation. This is not a license to create revisions or other derivative works of any NDI software or technology.
|
||||
e. You agree to comply with the steps outlined in the SDK Documentation, including the SDK manual for the Specific SDK. Different obligations and restrictions may be imposed by NDI with respect to different Specific SDK’s. NDI will not agree to sponsor your Product or show affiliation; however NDI shall have the right to test the Product, and if it does not work or operate to NDI’s satisfaction, NDI may terminate this license pursuant to Section 10. Notwithstanding that NDI may test the Product, it does not warrant the test; it is for NDI’s benefit, and you agree not to promote in your Product marketing or elsewhere any results or that NDI has tested the Product.
|
||||
f. You acknowledge that information provided to NDI to induce NDI to enter into this license with you about your experience in the industry, sales, distribution, SDK experience or otherwise, whether such information is provided to NDI verbally or in writing, is true.
|
||||
g. NDI makes the SDK available for developers for developing Products only, under these specific conditions herein, and if any, or all, of the terms of this license are not enforceable within your legal jurisdiction in any way, or if any clause is voided or modified in any way, then you may not enter into this agreement, any license and permission granted herein is revoked and withdrawn as of the date you first downloaded and/or used the SDK, and you are then unauthorized to copy, create derivative works, or otherwise use the SDK in any way.
|
||||
|
||||
|
||||
3. Restrictions and Confidentiality.
|
||||
a. “Confidential Information” includes the SDK and all specifications, source code, example code, tools and documentation provided within the SDK, and any support thereof, and any other proprietary information provided by NDI and identified as Confidential in the course of assisting You with your NDI® implementation. Confidential Information does not include information that: 1) is or becomes generally available to the public other than as a result of a disclosure by You, or 2) becomes available to You on a non-confidential basis from a source that was not prohibited from disclosing such information. Except as authorized herein, or in the SDK Documentation, or as otherwise approved in writing by NDI: 1) The disclosure to you of the SDK and all other Confidential Information shall not be disclosed to any third party 2)You agree not to commercialize the Confidential Information for yours or others benefit in any way; 3) You will not make or distribute copies of the SDK, or other Confidential Information or electronically transfer the SDK to any individual within your business or company who does not need to know or view the SDK, and under no circumstances shall you disclose it, or any part of it, to any company, or any other individual not employed directly by the business or company you represent, without express written permission of NDI.
|
||||
b. You will not modify, sell, rent, transfer, resell for profit, distribute, or create derivative works based upon the SDK or any part thereof other than as set forth herein, and you will not allow independent contractors to create derivative works; however, you may use the SDK to create your own program for the primary purpose of making it or your Product compatible with the NDI network APIs, a NDI Product, or for other purposes expressly set forth by you in advance in writing and agreed to in writing by NDI. In the case of your derivative works based upon the SDK, you may create and revise your Product using the SDK, and sell, rent, transfer, resell for profit and distribute, so long as it is for the Principal objective for which you were provided the SDK and it otherwise complies with this agreement, including the requirement that your Product or any other Third Party Product using any portion of the SDK continues to use the current SDK as required herein and functions properly using the SDK. NDI reserves the right to determine at any time the compliance of your Product or any Third Party Product as properly using the SDK including maintaining current and complete NDI compatibility. Notwithstanding anything to the contrary herein, no intellectual property claim, whether in patent, trademark, copyright, or otherwise, is made by NDI in or to your Product (except as to the SDK including software code and/or Libraries, and copyright rights therein, and any Confidential Information used in or with the Product).
|
||||
c. You will comply with applicable export control and trade sanctions laws, rules, regulations and licenses and will not export or re-export, directly or indirectly, the SDK into any country, to any organization or individual prohibited by the United States Export Administration Act and the regulations thereunder.
|
||||
d. Any direct or indirect distribution of your Product or any Bundled Products by you that include your Product, shall be under the terms of a license agreement containing terms that: (i) prohibit any modifications to the SDK or any part thereof, (ii) prohibit any reverse engineering, disassembly or recompilation of the SDK or any part thereof, or any protocols used in the SDK, and further prohibit any attempt to do so; (iii) disclaim any and all warranties on behalf of NDI and each of its licensors, (iv) disclaim, to the extent permitted by applicable law, liability of NDI and/or its licensors for any damages, whether direct, indirect, incidental or consequential, arising from the use of the Product or Bundled Products, (v) comply fully with all relevant export laws and regulations of the United States to assure that the Bundled Products or any part thereof is not exported, directly or indirectly, in violation of United States law; (vi) include the appropriate copyright notice showing NDI, Inc. as copyright owner; (vii) require all third party developers using your Product to develop Third Party Products to comply with the terms of the NDI® SDK license, including that such Third Party Products have current and complete NDI compatibility, and further require such third party developers to include in their End User License Agreement the terms of this paragraph 3d.
|
||||
e. You agree not to use the SDK for any unlawful propose or in any way to cause injury, harm or damage to NDI, or its Products, trademarks, reputation and/or goodwill, or use information provided pursuant to the SDK, to interfere with NDI in the commercialization of NDI Products.
|
||||
f. You agree to use NDI trademarks (NDI trademarks include, but are not limited to NDI®, NDIHX™), only in accordance with applicable policies of NDI for such trademark usage by software developers in effect from time to time, which policy may be amended at any time with or without notice. NDI’s trademarks shall not be utilized within the Product itself, or on the Product packaging or promotion, or on websites, except to identify that the Product is compatible with NDI’s pertinent Video Product, and in all cases where NDI trademarks are utilized, special and clear notations shall be provided that the marks are NDI trademarks. Your Product is not a product of NDI and no promotion, packaging, or use of NDI trademarks shall suggest sponsorship by NDI of your Products, except where specifically authorized by NDI in writing. Any distribution of your Product in a fraudulent manner, or in any other manner or method that violates any civil or criminal laws shall constitute a default under this agreement and result in immediate revocation of any right to utilize NDI’s marks.
|
||||
g. NDI owns or has licensed copyright rights to the SDK. To the extent any of the SDK is incorporated into your Product, you agree to include all applicable copyright notices, along with yours, indicating NDI’s copyright rights as applicable and as requested by NDI.
|
||||
h. You agree that by using the SDK, or any portion or part of the NDI® Software, in your Products, that you shall not at any time during the term create, use or distribute Products utilizing the NDI® SDK that are not interoperable with, or have significantly degraded performance of functionality when working with, NDI Products or Third Party Video Products that are created with or utilize in whole or in part the SDK. Your Products and Third Party Products must maintain current and complete NDI® compatibility at all times.
|
||||
i. You agree to not to reverse engineer, disassemble or recompile the SDK or any part thereof, or any protocols used in the SDK, or attempt to do so.
|
||||
j. You agree not to use the SDK, or cause the SDK to be used, for any purpose that it was not designed for, and in particular, you agree not to use the SDK for any purpose but for the precise purposes as expressly identified to NDI in writing that is the basis of the SDK and this license, and you agree you will not attempt to violate any of the foregoing, or encourage third parties to do so.
|
||||
|
||||
4. Software Defect Reporting
|
||||
If you find software defects in the SDK, you agree to make reasonable effort to report them to NDI in accordance with the SDK documentation or in such other manner as NDI directs in writing. NDI will evaluate and, at its sole discretion, may address them in a future revision of the SDK. NDI does not warrant the SDK to be free of defects.
|
||||
|
||||
5. Updates
|
||||
You understand and agree that NDI may amend, modify, change, and/or cease distribution or production of the SDK at any time. You understand that you are not entitled to receive any upgrades, updates, or future versions of the SDK under this License. NDI does not warrant or represent that its future updates and revisions will be compatible with your Product, and NDI does not warrant that its updates and/or revisions will allow your Product to be compatible with or without modifications to your Product.
|
||||
|
||||
6. Ownership
|
||||
Nothing herein is intended to convey to you any patent, trademark, copyright, trade secret or other Intellectual Property owned by NDI or its Licensors in the SDK or in any NDI software, hardware, products, trade names, or trademarks. NDI and its suppliers or licensors shall retain all right, title, and interest to the foregoing Intellectual Property and to the SDK. All rights not expressly granted herein are reserved by NDI.
|
||||
|
||||
7. Indemnity and Limitations
|
||||
You agree to indemnify and hold NDI harmless from any third party claim, loss, or damage (including attorney's fees) related to your use, sale or distribution of the SDK. THE SDK IS PROVIDED TO YOU FREE OF CHARGE, AND ON AN "AS IS" BASIS AND "WITH ALL FAULTS", WITHOUT ANY TECHNICAL SUPPORT OR WARRANTY OF ANY KIND FROM NDI. YOU ASSUME ALL RISKS THAT THE SDK IS SUITABLE OR ACCURATE FOR YOUR NEEDS AND YOUR USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK. NDI AND ITS LICENSORS DISCLAIM ALL EXPRESS AND IMPLIED WARRANTIES FOR THE SDK INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. ALSO, THERE IS NO WARRANTY OF NON-INFRINGEMENT, TITLE OR QUIET ENJOYMENT. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE.
|
||||
|
||||
8. Limitation of Damages
|
||||
NEITHER NDI NOR ITS SUPPLIERS OR LICENSORS SHALL BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOSS (INCLUDING DAMAGES FOR LOSS OF BUSINESS, LOSS OF PROFITS, OR THE LIKE), ARISING OUT OF THIS LICENSE WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, PRODUCT LIABILITY OR OTHERWISE, EVEN IF NDI OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. The limited warranty, exclusive remedies and limited liability set forth above are fundamental elements of the basis of the bargain between NDI and you. You agree that NDI would not be able to provide the Software on an economic basis without such limitations. IN NO EVENT WILL NDI BE LIABLE FOR ANY AMOUNT GREATER THAN WHAT YOU ACTUALLY PAID FOR THE SDK.
|
||||
|
||||
9. Termination
|
||||
Either party may terminate this License upon thirty (30) days written notice. Either party may also terminate if the other party materially defaults in the performance of any provision of this License, the non-defaulting party gives written notice to the other party of such default, and the defaulting party fails to cure such default within ten (10) days after receipt of such notice. Upon the termination of this License, the rights and licenses granted to you by NDI pursuant to this License will automatically cease. Nothing herein shall prevent either party from pursuing any injunctive relief at any time if necessary, or seeking any other remedies available in equity. Each party reserves the right to pursue all legal and equitable remedies available. Upon termination, all SDK materials shall be promptly returned to NDI, and any and all copies stored in electronic or other format shall be deleted and destroyed, and any rights to use NDI’s trademarks are revoked. If this License is terminated for any reason, the provisions of Sections 1, 3, 6, 7, 8, 9, 10, and 11 shall survive such termination.
|
||||
|
||||
10. General
|
||||
Notices given hereunder may be sent to either party at the address below by either overnight mail or by email and are deemed effective when sent. This License shall be governed by the laws of Sweden, without regard to its choice of law rules and you agree to exclusive jurisdiction therein. This License contains the complete agreement between you and NDI with respect to the subject matter (SDK) of this License, and supersedes all prior or contemporaneous agreements or understandings, whether oral or written. It does not replace any licenses accompanying NDI Products. You may not assign this SDK License.
|
||||
|
||||
|
||||
|
||||
|
||||
April 2023 NDI® Technology License Agreement
|
||||
|
||||
|
4
media-video/distroav/Manifest
Normal file
4
media-video/distroav/Manifest
Normal file
@@ -0,0 +1,4 @@
|
||||
AUX distroav-4.13.1-ndi-search-paths.patch 289 BLAKE2B ef8634badb15cd4b8e8f2d7657f7365ffed53f5a5d29e059d604e78a14922f7df3d5d8da4d08d1e769b8593a4795a7cb0352026d2dca73037d6a9d2824d68066 SHA512 552f8b22d47299694faf8d55a45b1069eaf7ecd9c3f434711bb69766b57611c18603f577212aa53e125684a148693c452dd555333129fbc1a7262e0b206884aa
|
||||
DIST distroav-6.1.1.gh.tar.gz 1057152 BLAKE2B 89e06c83d87951ea155f67e52fa6753f5d4d3e0c870489c669b22c268bfd8f312b56f4ecc22248e373e0e4614002dca6bcf4dd4804d56a5456c18c6da5ddb6e8 SHA512 874ba3e0e151e0f15c5ae1313db106169ec93631982c221bdc758cee00412df2141e6412cbff96085092caea3e002eb65bdcef477e2a58f25501472f924734d1
|
||||
EBUILD distroav-6.1.1.ebuild 875 BLAKE2B bef3b4520465db76fa5070d0fc6ec93d004e061298ea6d9f288c23397ec44bbce00555b5d583678b9b54f690b9d56b6ae3af65b610f6d055a528acbb1d77cad6 SHA512 6297ae45c50ae3c421ae09c3d037ec7a0102e139de0992ce44e4ba1a2748a0fe8e1c5ef541709ed7d1d81a689f74222d6a99978f8eab7fd6196a51f1e8c970dc
|
||||
MISC metadata.xml 340 BLAKE2B 3b397365fb208d04250a5c42f701d31bce743a8aba160a0d09eddc95dbc16d502b067b211f3d1b5311e9606df533afc449ce8d8c0c0925bc285a3389fa03e749 SHA512 baf143365bf48f86ed8450401c75803d2276fd477fde4852994c1a77055c42e9d2ac9cd7b9bfecafeb3ded150abfb0f581a30511c528ce1ab5fe5c7abd1d6b88
|
44
media-video/distroav/distroav-6.1.1.ebuild
Normal file
44
media-video/distroav/distroav-6.1.1.ebuild
Normal file
@@ -0,0 +1,44 @@
|
||||
# Copyright 2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
MY_PN="DistroAV"
|
||||
MY_P="DistroAV-${PV}"
|
||||
|
||||
DESCRIPTION="NewTek NDI integration for OBS Studio"
|
||||
HOMEPAGE="https://github.com/distroav/distroav"
|
||||
SRC_URI="https://github.com/distroav/distroav/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
DEPEND="
|
||||
>=media-video/obs-studio-31.0.0
|
||||
dev-qt/qtbase:6[network,widgets]
|
||||
>=media-video/ndi-sdk-6.0:0=
|
||||
net-misc/curl
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-4.13.1-ndi-search-paths.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# Remove bundled NDI headers, required to support multiple NDI major versions
|
||||
rm -r lib/ndi
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
# Build doesn't work without Qt
|
||||
-DENABLE_QT=true
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
--- a/src/plugin-main.cpp
|
||||
+++ b/src/plugin-main.cpp
|
||||
@@ -246,6 +246,7 @@ const NDIlib_v4 *load_ndilib()
|
||||
}
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
locations << "/usr/lib";
|
||||
+ locations << "/usr/lib64";
|
||||
locations << "/usr/local/lib";
|
||||
#endif
|
||||
for (QString location : locations) {
|
11
media-video/distroav/metadata.xml
Normal file
11
media-video/distroav/metadata.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>pierre.saundersgb@gmail.com</email>
|
||||
<name>Pierre Saunders</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">distroav/distroav</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
3
media-video/ndi-sdk/Manifest
Normal file
3
media-video/ndi-sdk/Manifest
Normal file
@@ -0,0 +1,3 @@
|
||||
DIST ndi-sdk-6.2.0.tar.gz 60175936 BLAKE2B d9516169b8c661fb295716ca70334f9edbabf65cf9ac3ad1070bcf58f5260fae7c5415b26205b170693be4558e24a0f90b4d7d5ae2ab3ee8a6ba265f3f858de7 SHA512 8d1e08f29c348fb214b9f11526aa3b1b44adebdd362ca084db2e57ff618dbcce1181fc3368b2c728406ddb129c336717425301ae18879dd42b53e8c4297b59f3
|
||||
EBUILD ndi-sdk-6.2.0.ebuild 1440 BLAKE2B a5afde0275e223bbc9e546e50034c663cd1d42f3ae66c3c80f9155efdeeb9cfc718ab036cef8f73b499e67cdc7811a8a9c9f00d17e07d143747cd3b57f514f3b SHA512 da81f603b465eee7b0546e26b428fdb435e0273c3b5c0a33295a13b0cfe3fc27f80ea23e46bedd1e2862e7d48647ddd49a8616a4c7a0f1fee6a91197a5e79de3
|
||||
MISC metadata.xml 330 BLAKE2B b7d803b1a48b71e7e01fe9d1f6f5efc727f174dccbab5a8a773f53a9af63c52ac09709663fdcfdee5906c31971c7625e62bf5ad02c007cf0347cf6cd0bd3a04e SHA512 f1c52830d8ac8f14d1049c5630bb0ca6afad2d294a787dc4fa8990bdf2bafe8cf867d42d4af82908f24fb3820f18d119ed25c12d99d428cb17d39d6fb33f8865
|
11
media-video/ndi-sdk/metadata.xml
Normal file
11
media-video/ndi-sdk/metadata.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>pierre.saundersgb@gmail.com</email>
|
||||
<name>Pierre Saunders</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="tools">Install additional NDI tools</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
60
media-video/ndi-sdk/ndi-sdk-6.2.0.ebuild
Normal file
60
media-video/ndi-sdk/ndi-sdk-6.2.0.ebuild
Normal file
@@ -0,0 +1,60 @@
|
||||
# Copyright 2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
INSTALLER_VER="$(ver_cut 1)"
|
||||
FILE_NAME="Install_NDI_SDK_v${INSTALLER_VER}_Linux.sh"
|
||||
|
||||
DESCRIPTION="NewTek NDI SDK"
|
||||
HOMEPAGE="https://ndi.video/tech/"
|
||||
SRC_URI="https://downloads.ndi.tv/SDK/NDI_SDK_Linux/Install_NDI_SDK_v${INSTALLER_VER}_Linux.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
S="${WORKDIR}/NDI SDK for Linux/"
|
||||
|
||||
LICENSE="NDI_EULA_END"
|
||||
# subslot is SONAME version
|
||||
SLOT="0/$(ver_cut 1)"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="doc examples tools"
|
||||
|
||||
RDEPEND="net-dns/avahi[dbus]"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
QA_PREBUILT="
|
||||
usr/bin/*
|
||||
usr/*/libndi.so.${PV}
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
unpack "${A}"
|
||||
ARCHIVE="$(awk '/^__NDI_ARCHIVE_BEGIN__/ { print NR+1; exit 0; }' "${WORKDIR}/${FILE_NAME}")" \
|
||||
|| die "Failed to find internal archive location"
|
||||
tail -n+"$ARCHIVE" "${WORKDIR}/${FILE_NAME}" | tar xvz \
|
||||
|| die "Failed to unpack internal archive"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local host
|
||||
case "${CHOST}" in
|
||||
x86_64-*-linux-gnu)
|
||||
host="x86_64-linux-gnu"
|
||||
;;
|
||||
*)
|
||||
die "Unsupported CHOST ${CHOST}"
|
||||
;;
|
||||
esac
|
||||
|
||||
local ndi_so
|
||||
ndi_so="libndi.so.${PV}"
|
||||
dolib.so "lib/${host}/${ndi_so}"
|
||||
dosym "${ndi_so}" "usr/$(get_libdir)/libndi.so.$(ver_cut 1)"
|
||||
dosym "libndi.so.$(ver_cut 1)" "usr/$(get_libdir)/libndi.so"
|
||||
|
||||
doheader -r include/*
|
||||
|
||||
use doc && dodoc -r documentation/*
|
||||
insinto "/usr/share/${PN}"
|
||||
use examples && doins -r examples
|
||||
use tools && dobin "bin/${host}"/*
|
||||
}
|
13
metadata/md5-cache/app-text/ltex-ls-16.0.0
Normal file
13
metadata/md5-cache/app-text/ltex-ls-16.0.0
Normal 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://valentjn.github.io/ltex/
|
||||
INHERIT=java-pkg-2
|
||||
KEYWORDS=~amd64 ~x86
|
||||
LICENSE=MPL-2.0
|
||||
RDEPEND=>=virtual/jre-1.8 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/checker-framework-qual:0 dev-java/animal-sniffer-annotations:0 dev-java/fastinfoset:0 >=dev-java/java-config-2.2.0-r3
|
||||
SLOT=0
|
||||
SRC_URI=https://github.com/valentjn/ltex-ls/releases/download/16.0.0/ltex-ls-16.0.0.tar.gz
|
||||
_eclasses_=java-utils-2 e2cdf66cd9c826ccda532772976d342d java-pkg-2 38fd81c7880666a00a638ca8deb64d72
|
||||
_md5_=249dfdf0afde7a877639743dee1612da
|
14
metadata/md5-cache/dev-java/commons-text-1.14.0
Normal file
14
metadata/md5-cache/dev-java/commons-text-1.14.0
Normal file
@@ -0,0 +1,14 @@
|
||||
DEFINED_PHASES=compile install preinst prepare setup test
|
||||
DEPEND=>=virtual/jdk-1.8:* dev-java/commons-lang:3.6 >=dev-java/java-config-2.2.0-r3 source? ( app-arch/zip )
|
||||
DESCRIPTION=Apache Commons Text is a library focused on algorithms working on strings
|
||||
EAPI=8
|
||||
HOMEPAGE=https://commons.apache.org/proper/commons-text/
|
||||
INHERIT=java-pkg-2 java-pkg-simple
|
||||
IUSE=doc source
|
||||
KEYWORDS=~amd64 ~ppc64 ~x86
|
||||
LICENSE=Apache-2.0
|
||||
RDEPEND=>=virtual/jre-1.8:* dev-java/commons-lang:3.6 >=dev-java/java-config-2.2.0-r3 source? ( app-arch/zip )
|
||||
SLOT=0
|
||||
SRC_URI=https://archive.apache.org/dist/commons/text/source/commons-text-1.14.0-src.tar.gz
|
||||
_eclasses_=java-utils-2 e2cdf66cd9c826ccda532772976d342d java-pkg-2 38fd81c7880666a00a638ca8deb64d72 java-pkg-simple 460c3cd928ba6e677d113a15c496017e
|
||||
_md5_=52bd6a45d313dde798630ae4044f2d4a
|
14
metadata/md5-cache/dev-java/failureaccess-33.4.8
Normal file
14
metadata/md5-cache/dev-java/failureaccess-33.4.8
Normal 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=Guava's InternalFutureFailureAccess and InternalFutures classes.
|
||||
EAPI=8
|
||||
HOMEPAGE=https://github.com/google/guava/
|
||||
INHERIT=java-pkg-2 java-pkg-simple
|
||||
IUSE=doc source
|
||||
KEYWORDS=~amd64 ~arm ~arm64 ~ppc64 ~x86
|
||||
LICENSE=Apache-2.0
|
||||
RDEPEND=>=virtual/jre-1.8:* >=dev-java/java-config-2.2.0-r3 source? ( app-arch/zip )
|
||||
SLOT=0
|
||||
SRC_URI=https://github.com/google/guava/archive/v33.4.8.tar.gz -> guava-33.4.8.tar.gz
|
||||
_eclasses_=java-utils-2 e2cdf66cd9c826ccda532772976d342d java-pkg-2 38fd81c7880666a00a638ca8deb64d72 java-pkg-simple 460c3cd928ba6e677d113a15c496017e
|
||||
_md5_=8aded878ba231cecd421997c5f9d5d0c
|
14
metadata/md5-cache/media-video/distroav-6.1.1
Normal file
14
metadata/md5-cache/media-video/distroav-6.1.1
Normal file
@@ -0,0 +1,14 @@
|
||||
BDEPEND=app-alternatives/ninja >=dev-build/cmake-3.20.5
|
||||
DEFINED_PHASES=compile configure install prepare test
|
||||
DEPEND=>=media-video/obs-studio-31.0.0 dev-qt/qtbase:6[network,widgets] >=media-video/ndi-sdk-6.0:0= net-misc/curl
|
||||
DESCRIPTION=NewTek NDI integration for OBS Studio
|
||||
EAPI=8
|
||||
HOMEPAGE=https://github.com/distroav/distroav
|
||||
INHERIT=cmake
|
||||
KEYWORDS=~amd64
|
||||
LICENSE=GPL-2
|
||||
RDEPEND=>=media-video/obs-studio-31.0.0 dev-qt/qtbase:6[network,widgets] >=media-video/ndi-sdk-6.0:0= net-misc/curl
|
||||
SLOT=0
|
||||
SRC_URI=https://github.com/distroav/distroav/archive/6.1.1.tar.gz -> distroav-6.1.1.gh.tar.gz
|
||||
_eclasses_=toolchain-funcs a0b29008c671a362b505f96fa80ce9c0 flag-o-matic a7afe42e95fb46ce9691605acfb24672 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 460729dc36f68cf03b044bc1d367e34a
|
||||
_md5_=8dade3e3129d6d2c81a4b766fc71d697
|
12
metadata/md5-cache/media-video/ndi-sdk-6.2.0
Normal file
12
metadata/md5-cache/media-video/ndi-sdk-6.2.0
Normal file
@@ -0,0 +1,12 @@
|
||||
DEFINED_PHASES=install unpack
|
||||
DESCRIPTION=NewTek NDI SDK
|
||||
EAPI=8
|
||||
HOMEPAGE=https://ndi.video/tech/
|
||||
IUSE=doc examples tools
|
||||
KEYWORDS=-* ~amd64
|
||||
LICENSE=NDI_EULA_END
|
||||
RDEPEND=net-dns/avahi[dbus]
|
||||
RESTRICT=bindist mirror
|
||||
SLOT=0/6
|
||||
SRC_URI=https://downloads.ndi.tv/SDK/NDI_SDK_Linux/Install_NDI_SDK_v6_Linux.tar.gz -> ndi-sdk-6.2.0.tar.gz
|
||||
_md5_=ee8eed7c884df329ddb7ba8281c6a757
|
17
metadata/md5-cache/net-libs/nodejs-24.4.1
Normal file
17
metadata/md5-cache/net-libs/nodejs-24.4.1
Normal 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.4.1/node-v24.4.1.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
|
4
net-libs/nodejs/Manifest
Normal file
4
net-libs/nodejs/Manifest
Normal file
@@ -0,0 +1,4 @@
|
||||
AUX nodejs-24.1.0-paxmarking.patch 3496 BLAKE2B 128a05fb3bc040edfd53221d5744a0626a0f64b7ba46dac94dc0df0d57631017f2da839e06ce769194a8519dcb7feebbede7cef9743323fded5044694a8eb4cc SHA512 3fae2c3bb0f90bd84e147a7fb740f12fab93843ef8f3a2ecf07359582222f86e9793b49b624894fa244f4d9159ac897e1b32d014a6fffbd0d687a1c0996e4240
|
||||
DIST node-v24.4.1.tar.xz 50266728 BLAKE2B 79461f2ea24e919ce7b27c06ebd3978befa2e2b3ce5277655a5ce8c807e1351efd0400c21e6f993f5e65d12b6353c0bf6d97ff04ecd75248711aa2a9637924fd SHA512 d01a579f2d16b6d7a5d07d58579aa204e2602df13be80b6eb3772ac6f0e28bcbc1e6a68142c2e1c8bc75f397e7ae12ce339f03e46ba4cc6008a938c5a88dcae8
|
||||
EBUILD nodejs-24.4.1.ebuild 8422 BLAKE2B 9f8a38f95be24ef5fb21c953f308f59a3eee0def4d120faab71d666a583eacf568db5a4b5b89e588ffd2be6f0a18de569998c1fa2f0946fb19f1783dd0a79671 SHA512 6d700bde90405850d64f7b0a53d60a62368215c20fbb490146b83fa7aa8c87857a9337705e62bed194d7ae29c3b634117dc56aa0c80052eb8ddb3be9643b304a
|
||||
MISC metadata.xml 919 BLAKE2B fec5e1a55653b516865d2b0f7788ba520fc46029276f6584be3bfa579fb9852119b3a7fb907e1977279227627cc65c085dbffc4a06ca11cd4dd031325a423468 SHA512 658d82da53e3b701d0ed5a2ba4f515744240ebcdf8392c0a40c9b9e9808f89357ea270a2b742dd0045628ff0d87baf9c26f60ac0d046d75808cb97add192c8a3
|
101
net-libs/nodejs/files/nodejs-24.1.0-paxmarking.patch
Normal file
101
net-libs/nodejs/files/nodejs-24.1.0-paxmarking.patch
Normal file
@@ -0,0 +1,101 @@
|
||||
From d6a829fbeefdc289bcdac566dc234bf55380d4a6 Mon Sep 17 00:00:00 2001
|
||||
From: William Hubbs <w.d.hubbs@gmail.com>
|
||||
Date: Sat, 24 May 2025 14:21:24 -0500
|
||||
Subject: [PATCH] pax marking
|
||||
|
||||
---
|
||||
node.gyp | 17 ++++++++++++++++-
|
||||
tools/v8_gypfiles/v8.gyp | 24 +++++++++++++++++++++++-
|
||||
2 files changed, 39 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/node.gyp b/node.gyp
|
||||
index 59303d9ab7c..7db72a0ebdf 100644
|
||||
--- a/node.gyp
|
||||
+++ b/node.gyp
|
||||
@@ -422,6 +422,7 @@
|
||||
'src/node_webstorage.h',
|
||||
],
|
||||
'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
|
||||
+ 'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
|
||||
'node_js2c_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_js2c<(EXECUTABLE_SUFFIX)',
|
||||
'conditions': [
|
||||
['GENERATOR == "ninja"', {
|
||||
@@ -688,11 +689,25 @@
|
||||
'conditions': [
|
||||
['node_snapshot_main!=""', {
|
||||
'actions': [
|
||||
+ {
|
||||
+ 'action_name': 'run_pax_mksnapshot',
|
||||
+ 'inputs': [
|
||||
+ '<(node_mksnapshot_exec)',
|
||||
+ ],
|
||||
+ 'outputs': [
|
||||
+ '<(node_mksnapshot_u_exec)',
|
||||
+ ],
|
||||
+ 'action': [
|
||||
+ 'bash',
|
||||
+ '-c',
|
||||
+ 'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
|
||||
+ ],
|
||||
+ },
|
||||
{
|
||||
'action_name': 'node_mksnapshot',
|
||||
'process_outputs_as_sources': 1,
|
||||
'inputs': [
|
||||
- '<(node_mksnapshot_exec)',
|
||||
+ '<(node_mksnapshot_u_exec)',
|
||||
'<(node_snapshot_main)',
|
||||
],
|
||||
'outputs': [
|
||||
diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
|
||||
index 8e3f015dff1..575bba798ae 100644
|
||||
--- a/tools/v8_gypfiles/v8.gyp
|
||||
+++ b/tools/v8_gypfiles/v8.gyp
|
||||
@@ -9,6 +9,7 @@
|
||||
'v8_vector_stores%': 0,
|
||||
'v8_embed_script%': "",
|
||||
'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
|
||||
+ 'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
|
||||
'v8_os_page_size%': 0,
|
||||
'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
|
||||
'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
|
||||
@@ -1723,7 +1724,7 @@
|
||||
],
|
||||
}, # bytecode_builtins_list_generator
|
||||
{
|
||||
- 'target_name': 'mksnapshot',
|
||||
+ 'target_name': 'mksnapshot_u',
|
||||
'type': 'executable',
|
||||
'dependencies': [
|
||||
'v8_base_without_compiler',
|
||||
@@ -1767,6 +1768,27 @@
|
||||
'ldflags': [ '-fno-lto' ],
|
||||
}],
|
||||
],
|
||||
+ }, # mksnapshot_u
|
||||
+ {
|
||||
+ 'target_name': 'mksnapshot',
|
||||
+ 'type': 'none',
|
||||
+ 'dependencies': ['mksnapshot_u'],
|
||||
+ 'actions': [
|
||||
+ {
|
||||
+ 'action_name': 'paxmark_mksnapshot',
|
||||
+ 'inputs': [
|
||||
+ '<(mksnapshot_u_exec)',
|
||||
+ ],
|
||||
+ 'outputs': [
|
||||
+ '<(mksnapshot_exec)',
|
||||
+ ],
|
||||
+ 'action': [
|
||||
+ 'bash',
|
||||
+ '-c',
|
||||
+ 'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxmark.sh m <(mksnapshot_exec)'
|
||||
+ ],
|
||||
+ },
|
||||
+ ],
|
||||
}, # mksnapshot
|
||||
{
|
||||
'target_name': 'torque',
|
||||
--
|
||||
2.49.0
|
||||
|
21
net-libs/nodejs/metadata.xml
Normal file
21
net-libs/nodejs/metadata.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>williamh@gentoo.org</email>
|
||||
<name>William Hubbs</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="corepack">Enable the experimental corepack package management tool</flag>
|
||||
<flag name="inspector">Enable V8 inspector</flag>
|
||||
<flag name="npm">Enable NPM package manager</flag>
|
||||
<flag name="pax-kernel">Enable building under a PaX enabled kernel</flag>
|
||||
<flag name="snapshot">Enable snapshot creation for faster startup</flag>
|
||||
<flag name="system-icu">Use system <pkg>dev-libs/icu</pkg> instead of the bundled version</flag>
|
||||
<flag name="system-ssl">Use system OpenSSL instead of the bundled one</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">nodejs/node</remote-id>
|
||||
<remote-id type="cpe">cpe:/a:nodejs:nodejs</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
292
net-libs/nodejs/nodejs-24.4.1.ebuild
Normal file
292
net-libs/nodejs/nodejs-24.4.1.ebuild
Normal 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
|
||||
}
|
Reference in New Issue
Block a user