Compare commits
3 Commits
525abe6f3d
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
7866501147 | ||
|
6ebb604cd0 | ||
|
c28f0d5c3e |
@@ -1,8 +1,5 @@
|
||||
AUX notesnook.png 8808 BLAKE2B 35a26a036eaadc579cf3c6679fa54999174f35cdbbc2ecfc78765b3ed48af4c8265b463d474d56d369a6880cd7f69b2114c7a69a9c1ef0f3ee03dea22828f054 SHA512 53ac1638926e8d6192f43f12528c9e9518e9c28f215c8ef4de59e957fbfd409a094badfee3a88819c67a488e5cb02778a66800d18ba19edea26c3d462b4428b8
|
||||
DIST notesnook-bin-3.2.3.amd64.AppImage 113041897 BLAKE2B 1282840cdbde094b8cd55f1b2d401a1611815492f53763557e9e113060bc2ae7a6c7bee5e53217935c9c96b93f313f15b05e791b4412174001229e702ee67d3c SHA512 e211d818bd247f695c747d5da1866bb2b1f8ccd4cfa6a30052d88d836084f828b43df1d3a55f9f046918f4c8a8063a37ac508471cab30a7e0b08a9758d1ff11c
|
||||
DIST notesnook-bin-3.2.3.arm64.AppImage 113312735 BLAKE2B 91b633eefe0fd7b5a64621a119275ae8c49b2b2970356d0903d02bb9c91bf50cd291928f17c0ca8cbbf23108af4f93e6702952af8bb1b5cd3af4de00fac989f9 SHA512 53ea20ef08a4256c6a64c4de12610eef056a432ebac178584407c0eeb1ea1541ef7a64af8a18a12716555484fe3bafba34a6b8ed50038d8eee236cd0a5bbb63c
|
||||
DIST notesnook-bin-3.2.4.amd64.AppImage 113046055 BLAKE2B 29bf901762a7e3eeb4683b474d3135fb2f46970339017eb44ab71436666a9bce664d73bb42d7bd000d6e608a20a4bc7c90785adfc70bbac32ea9ab48ef48cc49 SHA512 ce325bfeffbad7491f70d04a1a355dccf993bf6bfdf01b328804ba623541cca06a16397663b54977a7ce25a2fe659f8deddb202bb8c8641db1a130f5e5d560ac
|
||||
DIST notesnook-bin-3.2.4.arm64.AppImage 113316849 BLAKE2B 49b178b4b5b73ffc3f8ac17b71ebadac5e089b1c34ff2dc9e92231ebbd14e0ca27643b22744a1797d398e56d513838df5b5bc97382f57abd3a0c573788b09e56 SHA512 bca3750bd6414695b578119bc20791d249fa4d307c71024d4575132d0037b7ab243216074bfe319bd6230ec7f9edafaa424b4fa5838dbe39f75b19e0c7098219
|
||||
EBUILD notesnook-bin-3.2.3.ebuild 934 BLAKE2B 834250293860f83bea2ffafbea70a4ad96d0d76b2b52f9f140daeeeaefd05b596b1694cacad4ea86d00cc6588dde11b843f60b9a94afc6db2dd9ea4a713f61b3 SHA512 b3f78180a3132157a83fced6d2b7492a91c80bb3bdacb89ca1b062ed6bfbbc5112af0b1e3599f42c48cd0b9a895f3b6a19a8435520d00b11a7939d72041ee95d
|
||||
EBUILD notesnook-bin-3.2.4.ebuild 934 BLAKE2B 834250293860f83bea2ffafbea70a4ad96d0d76b2b52f9f140daeeeaefd05b596b1694cacad4ea86d00cc6588dde11b843f60b9a94afc6db2dd9ea4a713f61b3 SHA512 b3f78180a3132157a83fced6d2b7492a91c80bb3bdacb89ca1b062ed6bfbbc5112af0b1e3599f42c48cd0b9a895f3b6a19a8435520d00b11a7939d72041ee95d
|
||||
MISC metadata.xml 975 BLAKE2B 215a8104669acf3be4083fc696442bbdd857db0e6a4cbc05164bbd2dfe260f79698362f7e505729aafbf8db228e8ac7c8298d730a778f8696265d3d67d294931 SHA512 60e73c4d77eb724856cafc6bbd481350c3e19ab616019abc19b73dbee9afbad5c270a4b45314c763ca9662e3ce72ab08075e2a0438e68ef9e7071334274b7d18
|
||||
|
@@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION='End-to-end encrypted note taking alternative to Evernote'
|
||||
HOMEPAGE='https://notesnook.com/ https://github.com/streetwriters/notesnook'
|
||||
RELEASE_URI=https://github.com/streetwriters/notesnook/releases
|
||||
SRC_URI="
|
||||
amd64? ( ${RELEASE_URI}/download/v${PV}/notesnook_linux_x86_64.AppImage -> ${P}.amd64.AppImage )
|
||||
arm64? ( ${RELEASE_URI}/download/v${PV}/notesnook_linux_arm64.AppImage -> ${P}.arm64.AppImage )
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
LICENSE='GPL-3'
|
||||
SLOT='0'
|
||||
KEYWORDS='~amd64 ~arm64'
|
||||
RESTRICT='strip'
|
||||
RDEPEND='sys-fs/fuse:0'
|
||||
QA_PREBUILT='*'
|
||||
|
||||
inherit desktop
|
||||
|
||||
src_install() {
|
||||
if use amd64; then
|
||||
newbin "${DISTDIR}/${P}.amd64.AppImage" notesnook
|
||||
elif use arm64; then
|
||||
newbin "${DISTDIR}/${P}.arm64.AppImage" notesnook
|
||||
fi
|
||||
doicon "${FILESDIR}"/notesnook.png
|
||||
make_desktop_entry "${PN}" Notesnook notesnook 'Office;'
|
||||
}
|
@@ -1,10 +1,7 @@
|
||||
AUX cuda-config.in 407 BLAKE2B 5f7a0d50d774db58c180b767f00bead7c7dbf5f6b3b4a2f960dfc3b8450f7abf5c2b67c6620c5318f1331646dd2003d61c70a4c31359efd16ff418ecc9d0b446 SHA512 363903b999c43a47a48c52e8898c6044fadcc66d259338ee22863e859c2bc9873a2f1392aa83c9182486d3aa4eaeb5f164cf8ccf29cc74fd8ad56245f76a039a
|
||||
AUX nvidia-cuda-toolkit-glibc-2.42.patch 1133 BLAKE2B 861f343e2f0921d5bfa17276de8cea2ab99e95e5e129e34f053a0feb29437adc2004bd8d25010ccf6c25e475b1549101c1970c0b5174559ab3676995b123282e SHA512 9a39a47d862f55f1e891227ce4d5b0e639f22f57cf3ab5ffee48e02de46a98f7e9c625556bf62eaba82c11d12ccf6b30d1eb91c085c2a0168681f712d4d50e87
|
||||
AUX parse_manifest.py 8488 BLAKE2B 8ac93a39276eaf89b41a5b0baa168b5974423077b0fd4b22841451514513c914fb4188863d73591f89975cc833dcb88bde289b0676f218715d8735a2d5c0f159 SHA512 4b2d9de215858d25319254666a22a184e26510a3488fc97a939704fab1e81a9baa363fc1168129618ce076de84d7acbeb71d98b8be272017f47b54c237d9b9a4
|
||||
DIST cuda_13.0.0_580.65.06_linux.run 4300799649 BLAKE2B 7eaed96412d7bd937304780882cd4e3fd7feeccd0ee32c7a780bfc76155cbb1f2aea9e2b114202cb797e93467c6f34f98120c4cd02a6f7722c418b62e8b62a67 SHA512 1d09fd6f966e009c5ec461f72839bc70305cda99850ed58c446e4abffb25d9b88e50c0f03a23af13e90245be4b633592a50404cc7dd92cca42e21b8f8d790984
|
||||
DIST cuda_13.0.0_580.65.06_linux_sbsa.run 3983090672 BLAKE2B 8c1d3904c8a7fc40bceedf77a6602a7cfb114c8ad0ea2954d34d9d6d21af80be956a58d41387c24666f66f6f5cafe7305a981b3a5d25fe77cc91a639caa8cc08 SHA512 58acff4db5c62a640517b24006ced20da6bc4ea2c9c15eb0bf6f054bc7599b109ade45ee11bd9bf413f20a283631b669cabaa5cd8e98891f766c922a9eb9a182
|
||||
DIST cuda_13.0.1_580.82.07_linux.run 4302469087 BLAKE2B 4e108eb2345d767c02af493cd0a6f61bce984a6cd8fef5c0ecff7d96e1374607c0c9614bf929bd2532464a69842e56dbd5d9b782eb3b2fbb93295e9ce9be2e14 SHA512 ec45bdbf883114092058a03f3efd03355d0d612597ce5baef812305a889e90d1faf8db805190ff19aa431b4c9b9454d8901bb38dcbec84278887d27ea10e965e
|
||||
DIST cuda_13.0.1_580.82.07_linux_sbsa.run 4046343296 BLAKE2B 3c8c887768ecc89b998b0601780c29099862cb0f4782ea0afe88ff1f4fbd82759b18d56b710f88b2bb4abeac0cd522e6a36350012583b45830b58454db4685e1 SHA512 df7a1c339b149c36e68661d7cd2fe129e9bee120c5b8425809f28a0009307c013a7a9ee8011aa3605046935ecab9b8a3fdc7bee5fac7c187884273fa7212378a
|
||||
EBUILD nvidia-cuda-toolkit-13.0.0.ebuild 10904 BLAKE2B f6eef9e63d2449cf79580db20385d75e41ac263cf1e29482490d44946bc764399fe8c9701970cd2bce81ee08daf7eda5d11562ab490e7f7bcce0059ee6d3546d SHA512 a52fc76ee73a2bdc234c642eff5ecadbd9136f81cdbbf7a857a58a83f8c5daf4a7f6160c55144ee8b383d5a6dd142885678eef20fe6b16955276ef286398b48b
|
||||
EBUILD nvidia-cuda-toolkit-13.0.1.ebuild 10904 BLAKE2B 77e26991a4c85614177e16a4f9db243b2021cfed9b9d6147d828e41f070f7dc1fda24a6e542efadcff9a7cbdf5dab7001d3a85cf782d534a03a0cf550453dd7a SHA512 d787e9838ef59fcc63d5e4ea45259f0b62908773d0e3888235e2989a782d249197c1a363eabb519e01dfdbece29efa21e62456742659b97a3db645e319efcfc0
|
||||
MISC metadata.xml 843 BLAKE2B 5ed06252572415290175ff90b66c1e13b67d282085295586e046019cc7d28b6e11728fba310bcf4101caaf09f4d1383f8df3f1c97325fa9e979dfa06e4704571 SHA512 208c83e0d968796d526b7223c5221f0805401b31420807a21f078797cba8e3f141c654017331a89649af2aa29a40cc1ff28f9cfa3ba2e6bee85fa76957c01837
|
||||
|
@@ -1,386 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# shellcheck disable=SC2317
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
inherit check-reqs edo toolchain-funcs
|
||||
inherit python-r1
|
||||
|
||||
DRIVER_PV="580.65.06"
|
||||
GCC_MAX_VER="15"
|
||||
CLANG_MAX_VER="20"
|
||||
|
||||
DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
|
||||
HOMEPAGE="https://developer.nvidia.com/cuda-zone"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run
|
||||
)
|
||||
arm64? (
|
||||
https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux_sbsa.run
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="NVIDIA-CUDA"
|
||||
|
||||
SLOT="0/${PV}" # UNSLOTTED
|
||||
# SLOT="${PV}" # SLOTTED
|
||||
|
||||
KEYWORDS="-* ~amd64 ~arm64 ~amd64-linux ~arm64-linux"
|
||||
IUSE="clang debugger examples nsight profiler rdma sanitizer"
|
||||
RESTRICT="bindist mirror strip test"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the
|
||||
# actual required minimum driver version are different.
|
||||
RDEPEND="
|
||||
!clang? (
|
||||
<sys-devel/gcc-$(( GCC_MAX_VER + 1 ))_pre[cxx]
|
||||
)
|
||||
clang? (
|
||||
<llvm-core/clang-$(( CLANG_MAX_VER + 1 ))_pre
|
||||
)
|
||||
sys-process/numactl
|
||||
debugger? (
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
examples? (
|
||||
media-libs/freeglut
|
||||
media-libs/glu
|
||||
)
|
||||
nsight? (
|
||||
dev-util/nsight-compute
|
||||
dev-util/nsight-systems
|
||||
)
|
||||
rdma? (
|
||||
sys-cluster/rdma-core
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
$(python_gen_any_dep '
|
||||
dev-python/defusedxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
"
|
||||
|
||||
# CUDA_PATH="/opt/cuda-${PV}" #950207
|
||||
CUDA_PATH="/opt/cuda"
|
||||
QA_PREBUILT="${CUDA_PATH#/}/*"
|
||||
|
||||
python_check_deps() {
|
||||
python_has_version "dev-python/defusedxml[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
cuda-toolkit_check_reqs() {
|
||||
if use amd64; then
|
||||
export CHECKREQS_DISK_BUILD="7228M"
|
||||
elif use arm64; then
|
||||
export CHECKREQS_DISK_BUILD="6998M"
|
||||
fi
|
||||
|
||||
"check-reqs_pkg_${EBUILD_PHASE}"
|
||||
}
|
||||
|
||||
cuda_verify() {
|
||||
# only works with unpacked sources
|
||||
[[ "${EBUILD_PHASE}" != prepare ]] && return
|
||||
|
||||
# run self checks
|
||||
local compiler_versions GCC_HAS_VER CLANG_HAS_VER
|
||||
compiler_versions="$(
|
||||
grep -oP "unsupported (GNU|clang) version.*(gcc versions later than|clang version must be less than) [0-9]*" \
|
||||
"${S}"/builds/cuda_nvcc/targets/*/include/crt/host_config.h
|
||||
)"
|
||||
|
||||
GCC_HAS_VER="$( echo "${compiler_versions}" | grep gcc | grep -oP "(?<=than )[0-9]*")"
|
||||
if [[ "${GCC_MAX_VER}" -ne "${GCC_HAS_VER}" ]]; then
|
||||
eqawarn "check GCC_MAX_VER is ${GCC_MAX_VER} and should be ${GCC_HAS_VER}"
|
||||
fi
|
||||
|
||||
CLANG_HAS_VER="$(( $(echo "${compiler_versions}" | grep clang | grep -oP "(?<=than )[0-9]*") - 1 ))"
|
||||
if [[ "${CLANG_MAX_VER}" -ne "${CLANG_HAS_VER}" ]]; then
|
||||
eqawarn "check CLANG_MAX_VER is ${CLANG_MAX_VER} and should be ${CLANG_HAS_VER}"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
cuda-toolkit_check_reqs
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
cuda-toolkit_check_reqs
|
||||
|
||||
if [[ "${MERGE_TYPE}" == binary ]]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# we need python for manifest parsing and to determine the supported python versions for cuda-gdb
|
||||
python_setup
|
||||
|
||||
if use amd64; then
|
||||
narch=x86_64
|
||||
elif use arm64; then
|
||||
narch=sbsa
|
||||
else
|
||||
die "unknown arch ${ARCH}"
|
||||
fi
|
||||
|
||||
export narch
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cuda_verify
|
||||
|
||||
local exclude=(
|
||||
"cuda-installer"
|
||||
"*-uninstaller"
|
||||
"NVIDIA-Linux-${narch}-${DRIVER_PV}.run"
|
||||
"builds/cuda_documentation"
|
||||
"builds/cuda_nsight"
|
||||
"builds/cuda_nvvp"
|
||||
"builds/nsight_compute"
|
||||
"builds/nsight_systems"
|
||||
"builds/nvidia_fs"
|
||||
)
|
||||
|
||||
edob -m "Extracting ${A}" \
|
||||
bash "${DISTDIR}/${A}" --tar xf -X <(printf "%s\n" "${exclude[@]}")
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
eapply -p1 "${FILESDIR}/nvidia-cuda-toolkit-glibc-2.42.patch"
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
:
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local -x SKIP_COMPONENTS=(
|
||||
"Kernel_Objects"
|
||||
"Visual_Tools"
|
||||
"Documentation" # obsolete
|
||||
"cuda-gdb-src" # not used
|
||||
)
|
||||
|
||||
! use debugger && SKIP_COMPONENTS+=( "cuda-gdb" )
|
||||
! use examples && SKIP_COMPONENTS+=( "Demo_Suite" )
|
||||
! use profiler && SKIP_COMPONENTS+=( "cuda-cupti" "cuda-profiler-api" "nvprof" )
|
||||
! use sanitizer && SKIP_COMPONENTS+=( "compute-sanitizer" )
|
||||
|
||||
dodir "${CUDA_PATH}"
|
||||
into "${CUDA_PATH}"
|
||||
|
||||
dofile() {
|
||||
debug-print-function "${FUNCNAME[0]}" "$@"
|
||||
|
||||
if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
|
||||
die "${FUNCNAME[0]} must receive one or two arguments"
|
||||
fi
|
||||
|
||||
local _DESTDIR
|
||||
_DESTDIR="$(dirname "${CUDA_PATH}/${1%/}")${2:+/${2%/}}"
|
||||
mkdir -p "${ED}${_DESTDIR}" || die "mkdir ${_DESTDIR} failed"
|
||||
|
||||
local dir
|
||||
dir="$(dirname "${1}")"
|
||||
|
||||
if test -z "$(find "${dir}" -maxdepth 1 -name "$(basename "$1")" -print -quit)"; then
|
||||
if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
|
||||
return
|
||||
fi
|
||||
if [[ "$1" == "targets/x86_64-linux/lib/stubs/libcusolverMg*" ]] ||
|
||||
[[ "$1" == "targets/x86_64-linux/lib/libcusparse.so.*" ]]; then
|
||||
return
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
|
||||
# skip noisy warnings
|
||||
if [[ "$(basename "${1}")" == "include" ]] ||
|
||||
[[ "$(basename "${1}")" == "lib64" ]]; then
|
||||
return
|
||||
fi
|
||||
eqawarn "${ED}${_DESTDIR}/$(basename "${1}") exists"
|
||||
return
|
||||
fi
|
||||
|
||||
eval mv -i "${1}" "${ED}${_DESTDIR}" || die "mv failed ${PWD} / ${1} -> ${ED} ${_DESTDIR}"
|
||||
}
|
||||
|
||||
dopcfile() {
|
||||
[[ $# -eq 0 ]] && return
|
||||
|
||||
dodir "${CUDA_PATH}/pkgconfig"
|
||||
cat > "${ED}${CUDA_PATH}/pkgconfig/${1}.pc" <<-EOF || die "dopcfile"
|
||||
cudaroot=${EPREFIX}${CUDA_PATH}
|
||||
libdir=\${cudaroot}/targets/${narch}-linux/lib${4}
|
||||
includedir=\${cudaroot}/targets/${narch}-linux/include
|
||||
|
||||
Name: ${1}
|
||||
Description: ${3}
|
||||
Version: ${2}
|
||||
Libs: -L\${libdir} -l${1}
|
||||
Cflags: -I\${includedir}
|
||||
EOF
|
||||
}
|
||||
|
||||
pushd builds >/dev/null || die
|
||||
fix_executable_bit=(
|
||||
cuda_cupti/extras/CUPTI/samples/pc_sampling_utility/pc_sampling_utility_helper.h
|
||||
cuda_cupti/extras/CUPTI/samples/pc_sampling_continuous/libpc_sampling_continuous.pl
|
||||
|
||||
libcufile/gds/tools/run_gdsio.cfg
|
||||
)
|
||||
|
||||
if use amd64; then
|
||||
fix_executable_bit+=(
|
||||
cuda_opencl/targets/*/include/CL/cl.hpp
|
||||
|
||||
libcufile/targets/*/lib/libcufile_rdma_static.a
|
||||
libcufile/targets/*/lib/libcufile_static.a
|
||||
)
|
||||
fi
|
||||
chmod -x "${fix_executable_bit[@]}" || die "failed chmod"
|
||||
popd >/dev/null || die
|
||||
|
||||
ebegin "parsing manifest" "${S}/manifests/cuda_"*.xml # {{{
|
||||
|
||||
"${EPYTHON}" "${FILESDIR}/parse_manifest.py" "${S}/manifests/cuda_"*".xml" &> "${T}/install.sh" \
|
||||
|| die "failed to parse manifest"
|
||||
# shellcheck disable=SC1091
|
||||
source "${T}/install.sh" || die "failed to source install script"
|
||||
|
||||
eend $? # }}}
|
||||
|
||||
if use debugger; then
|
||||
if [[ -d "${ED}/${CUDA_PATH}/extras/Debugger/lib64" ]]; then
|
||||
rmdir "${ED}/${CUDA_PATH}/extras/Debugger/lib64" || die "remove debugger lib64"
|
||||
fi
|
||||
|
||||
find "${ED}/${CUDA_PATH}/bin" -maxdepth 1 -name "cuda-gdb-*-tui" -print0 | while read -rd $'\0' tui_name; do
|
||||
impl="$(basename "${tui_name}" | cut -d '-' -f 3 | tr '.' '_')"
|
||||
|
||||
if ! has "${impl}" "${PYTHON_COMPAT[@]}" || ! use "python_targets_${impl}"; then
|
||||
rm "${tui_name}" || die "tui-name rm ${tui_name}"
|
||||
sed -e "/$(basename "${tui_name}")\"/d" -i "${ED}/${CUDA_PATH}/bin/cuda-gdb" || die "tui_name sed"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# remove rdma libs (unless USE=rdma)
|
||||
if ! use rdma; then
|
||||
rm "${ED}/${CUDA_PATH}/targets/${narch}-linux/lib/libcufile_rdma"* || die "failed to remove rdma files"
|
||||
fi
|
||||
|
||||
# Add include and lib symlinks
|
||||
mv "${D}${CUDA_PATH}/include/crt" "${D}${CUDA_PATH}/targets/${narch}-linux/include"
|
||||
rmdir "${D}${CUDA_PATH}/include"
|
||||
dosym -r "${CUDA_PATH}/targets/${narch}-linux/include" "${CUDA_PATH}/include"
|
||||
dosym -r "${CUDA_PATH}/targets/${narch}-linux/lib" "${CUDA_PATH}/$(get_libdir)"
|
||||
|
||||
find "${ED}/${CUDA_PATH}" -empty -delete || die
|
||||
|
||||
local ldpathextradirs pathextradirs
|
||||
|
||||
use debugger && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/Debugger/lib64"
|
||||
use profiler && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/CUPTI/lib64"
|
||||
|
||||
local revord=$(( 999999 - $(printf "%02d%02d%02d" "$(ver_cut 1)" "$(ver_cut 2)" "$(ver_cut 3)") ))
|
||||
newenvd - "99cuda${revord}" <<-EOF
|
||||
PATH=${EPREFIX}${CUDA_PATH}/bin${pathextradirs}
|
||||
PKG_CONFIG_PATH=${EPREFIX}${CUDA_PATH}/pkgconfig
|
||||
LDPATH=${EPREFIX}${CUDA_PATH}/$(get_libdir):${EPREFIX}${CUDA_PATH}/nvvm/lib64${ldpathextradirs}
|
||||
EOF
|
||||
|
||||
# CUDA prepackages libraries, don't revdep-build on them
|
||||
insinto /etc/revdep-rebuild
|
||||
newins - "80${PN}${revord}" <<-EOF
|
||||
SEARCH_DIRS_MASK="${EPREFIX}${CUDA_PATH}"
|
||||
EOF
|
||||
|
||||
# https://bugs.gentoo.org/926116
|
||||
insinto /etc/sandbox.d
|
||||
newins - "80${PN}" <<-EOF
|
||||
SANDBOX_PREDICT="/proc/self/task"
|
||||
EOF
|
||||
|
||||
# TODO drop and replace with runtime detection similar to what python does {{{
|
||||
# ATTENTION: change requires revbump, see link below for supported GCC # versions
|
||||
# https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements
|
||||
local cuda_supported_gcc=( 8.5 9.5 10 11 12 13 14 "${GCC_MAX_VER}" )
|
||||
|
||||
sed \
|
||||
-e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc[*]}:g" \
|
||||
"${FILESDIR}"/cuda-config.in > "${ED}/${CUDA_PATH}/bin/cuda-config" || die
|
||||
fperms +x "${CUDA_PATH}/bin/cuda-config"
|
||||
# }}}
|
||||
|
||||
# skip til cudnn has been changed #950207
|
||||
# if [[ "${SLOT}" != "${PV}" ]]; then
|
||||
# dosym -r "${CUDA_PATH}" "${CUDA_PATH%"-${PV}"}"
|
||||
# fi
|
||||
|
||||
fowners -R root:root "${CUDA_PATH}"
|
||||
}
|
||||
|
||||
pkg_postinst_check() {
|
||||
# Due to requiring specific compiler versions here, we check more then we have to, for the sake of clarity.
|
||||
# tc-getCC defaults to gcc, so clang-major-version is checked using gcc and fails on gcc-profiles. # 959420
|
||||
# We therefore force gcc and clang for the check.
|
||||
|
||||
if tc-is-gcc || ! use clang; then
|
||||
if ver_test "$(CC=gcc gcc-major-version)" -gt "${GCC_MAX_VER}"; then
|
||||
ewarn
|
||||
ewarn "gcc > ${GCC_MAX_VER} will not work with CUDA"
|
||||
ewarn
|
||||
ewarn "Append --ccbin= pointing to a gcc bindir to the nvcc compiler flags (NVCCFLAGS)"
|
||||
ewarn "or set NVCC_CCBIN to the same bindir."
|
||||
ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")\""
|
||||
ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
|
||||
if tc-is-clang || use clang; then
|
||||
if ver_test "$(CC=clang clang-major-version)" -gt "${CLANG_MAX_VER}"; then
|
||||
ewarn
|
||||
ewarn "clang > ${CLANG_MAX_VER} will not work with CUDA"
|
||||
ewarn
|
||||
ewarn "Append --ccbin= pointing to a clang bindir to the nvcc compiler flags (NVCCFLAGS)"
|
||||
ewarn "or set NVCC_CCBIN to the same bindir."
|
||||
ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/lib/llvm/*/bin${CLANG_MAX_VER}")\""
|
||||
ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/lib/llvm/*/bin${CLANG_MAX_VER}")"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
pkg_postinst_check
|
||||
fi
|
||||
|
||||
if use profiler; then
|
||||
einfo
|
||||
einfo "nvidia-drivers restricts access to performance counters."
|
||||
einfo "You'll need to run profiling tools (nvprof) "
|
||||
einfo "using sudo (needs cap SYS_ADMIN) or add the following line to "
|
||||
einfo "a modprobe configuration file "
|
||||
einfo "(e.g. /etc/modprobe.d/nvidia-prof.conf): "
|
||||
einfo
|
||||
einfo "options nvidia NVreg_RestrictProfilingToAdminUsers=0"
|
||||
einfo
|
||||
fi
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=install
|
||||
DESCRIPTION=End-to-end encrypted note taking alternative to Evernote
|
||||
EAPI=8
|
||||
HOMEPAGE=https://notesnook.com/ https://github.com/streetwriters/notesnook
|
||||
INHERIT=desktop
|
||||
KEYWORDS=~amd64 ~arm64
|
||||
LICENSE=GPL-3
|
||||
RDEPEND=sys-fs/fuse:0
|
||||
RESTRICT=strip
|
||||
SLOT=0
|
||||
SRC_URI=amd64? ( https://github.com/streetwriters/notesnook/releases/download/v3.2.3/notesnook_linux_x86_64.AppImage -> notesnook-bin-3.2.3.amd64.AppImage ) arm64? ( https://github.com/streetwriters/notesnook/releases/download/v3.2.3/notesnook_linux_arm64.AppImage -> notesnook-bin-3.2.3.arm64.AppImage )
|
||||
_eclasses_=desktop 3a72ffe0d8e1dd73af3a1c8c15a59fed
|
||||
_md5_=d6d19d36b02ef3cd40cc2fdd5bdfbde0
|
@@ -1,16 +0,0 @@
|
||||
BDEPEND=|| ( ( dev-lang/python:3.14 dev-python/defusedxml[python_targets_python3_14(-)] ) ( dev-lang/python:3.13 dev-python/defusedxml[python_targets_python3_13(-)] ) ( dev-lang/python:3.12 dev-python/defusedxml[python_targets_python3_12(-)] ) ( dev-lang/python:3.11 dev-python/defusedxml[python_targets_python3_11(-)] ) )
|
||||
DEFINED_PHASES=compile configure install postinst prepare pretend setup unpack
|
||||
DESCRIPTION=NVIDIA CUDA Toolkit (compiler and friends)
|
||||
EAPI=8
|
||||
HOMEPAGE=https://developer.nvidia.com/cuda-zone
|
||||
INHERIT=check-reqs edo toolchain-funcs python-r1
|
||||
IUSE=clang debugger examples nsight profiler rdma sanitizer python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14
|
||||
KEYWORDS=-* ~amd64 ~arm64 ~amd64-linux ~arm64-linux
|
||||
LICENSE=NVIDIA-CUDA
|
||||
RDEPEND=!clang? ( <sys-devel/gcc-16_pre[cxx] ) clang? ( <llvm-core/clang-21_pre ) sys-process/numactl debugger? ( python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) python_targets_python3_13? ( dev-lang/python:3.13 ) python_targets_python3_14? ( dev-lang/python:3.14 ) ) examples? ( media-libs/freeglut media-libs/glu ) nsight? ( dev-util/nsight-compute dev-util/nsight-systems ) rdma? ( sys-cluster/rdma-core )
|
||||
REQUIRED_USE=|| ( python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14 )
|
||||
RESTRICT=bindist mirror strip test
|
||||
SLOT=0/13.0.0
|
||||
SRC_URI=amd64? ( https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda_13.0.0_580.65.06_linux.run ) arm64? ( https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda_13.0.0_580.65.06_linux_sbsa.run )
|
||||
_eclasses_=check-reqs 2a9731073c152554078a9a8df8fc0f1b edo a5e294016aa84979fcb2459749eb80b2 toolchain-funcs a0b29008c671a362b505f96fa80ce9c0 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multiprocessing 1e32df7deee68372153dca65f4a7c21f python-utils-r1 8a006695bc0db22490452dd06914dda5 python-r1 0e15b2ab9cfc87d7474678201d6bca38
|
||||
_md5_=8a3044e08c32c722efbdbc1046b12db4
|
@@ -1,17 +0,0 @@
|
||||
BDEPEND=|| ( dev-lang/python:3.14[threads(+)] 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.7.0/node-v24.7.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_=3b4ab1b0564ea565fb85cdcf4a059f57
|
@@ -1,6 +1,4 @@
|
||||
AUX nodejs-24.1.0-paxmarking.patch 3496 BLAKE2B 128a05fb3bc040edfd53221d5744a0626a0f64b7ba46dac94dc0df0d57631017f2da839e06ce769194a8519dcb7feebbede7cef9743323fded5044694a8eb4cc SHA512 3fae2c3bb0f90bd84e147a7fb740f12fab93843ef8f3a2ecf07359582222f86e9793b49b624894fa244f4d9159ac897e1b32d014a6fffbd0d687a1c0996e4240
|
||||
DIST node-v24.7.0.tar.xz 51707840 BLAKE2B acd46c43d20f43f6134df5bb65fc6835d977edee9a499a328632c4e6f24fb0f98d032cc8b5afa9a153e2b12669a2b2c6cafdb4f2be5c0265060f34e49a4fdb74 SHA512 d90cca68bf1d1b5a550d68dd1d2e6957610809a67c36e198626cd2ba84ebe006f5d8579a7ea1768fc6802edf0ceb7be5200e566944c2632ff83586e0e3f2af2d
|
||||
DIST node-v24.8.0.tar.xz 52527440 BLAKE2B bad7cb177cdd4d9e769400f6dc3084cb16e581050abc5c8318daf1a7edd7211b2b7196d5acc9aa53640d149d756ddd03595f77cacf4b224400fba4ea96020716 SHA512 5dcd25fda47eff6d6dfa5f4d24261dcbc7ab6de962a1b8a217bf910cdfebedcd03cd2034315630850240b64924cfe5f5e103cd3c76fa6b31b524503ba16d926e
|
||||
EBUILD nodejs-24.7.0.ebuild 8422 BLAKE2B b38c5ff1899c520a29f592b0ac55b028df7ae0d5c47b1468b6cdf6c5915548754af8afb9399653dc77a75ff83536b9976214b15f613a92a329d28b10cb2a2727 SHA512 c850ce25c690435d2c84e1dfd644f034030ddd3e37eb3e3c7dadc3c1f5ca92437664cc4ef265733612d5588728d4c047e986ae106dc3ab10f58f0dacb471e682
|
||||
EBUILD nodejs-24.8.0.ebuild 8422 BLAKE2B b38c5ff1899c520a29f592b0ac55b028df7ae0d5c47b1468b6cdf6c5915548754af8afb9399653dc77a75ff83536b9976214b15f613a92a329d28b10cb2a2727 SHA512 c850ce25c690435d2c84e1dfd644f034030ddd3e37eb3e3c7dadc3c1f5ca92437664cc4ef265733612d5588728d4c047e986ae106dc3ab10f58f0dacb471e682
|
||||
MISC metadata.xml 919 BLAKE2B fec5e1a55653b516865d2b0f7788ba520fc46029276f6584be3bfa579fb9852119b3a7fb907e1977279227627cc65c085dbffc4a06ca11cd4dd031325a423468 SHA512 658d82da53e3b701d0ed5a2ba4f515744240ebcdf8392c0a40c9b9e9808f89357ea270a2b742dd0045628ff0d87baf9c26f60ac0d046d75808cb97add192c8a3
|
||||
|
@@ -1,292 +0,0 @@
|
||||
# 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..14} )
|
||||
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