# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit wrapper DESCRIPTION="Fast, disk space efficient package manager" HOMEPAGE="https://pnpm.io" # Since 12.0.0 the CLI is a native executable, shipped in the per-platform packages # @pnpm/exe.-[-musl]. The pnpm package on npm is only a wrapper that # installs one through a lifecycle script, or downloads one at run time. URLPREFIX="https://registry.npmjs.org/@pnpm" SRC_URI=" amd64? ( elibc_glibc? ( ${URLPREFIX}/exe.linux-x64/-/exe.linux-x64-${PV}.tgz -> ${P}-x64.tgz ) elibc_musl? ( ${URLPREFIX}/exe.linux-x64-musl/-/exe.linux-x64-musl-${PV}.tgz -> ${P}-x64-musl.tgz ) ) arm64? ( elibc_glibc? ( ${URLPREFIX}/exe.linux-arm64/-/exe.linux-arm64-${PV}.tgz -> ${P}-arm64.tgz ) elibc_musl? ( ${URLPREFIX}/exe.linux-arm64-musl/-/exe.linux-arm64-musl-${PV}.tgz -> ${P}-arm64-musl.tgz ) ) " S="${WORKDIR}/package" LICENSE="MIT" SLOT="0" KEYWORDS="-* ~amd64 ~arm64" RESTRICT="strip" RDEPEND=" !sys-apps/pnpm net-libs/nodejs elibc_glibc? ( sys-devel/gcc:* sys-libs/glibc ) elibc_musl? ( sys-libs/musl ) " QA_PREBUILT="usr/bin/pnpm" src_install() { dobin pnpm # The executable resolves its own path, so an alias cannot be a symlink. These # are the ones upstream ships as shell scripts in its wrapper package. make_wrapper pn pnpm make_wrapper pnpx "pnpm dlx" make_wrapper pnx "pnpm dlx" dodoc THIRD-PARTY-NOTICES.md }