# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DESCRIPTION="Fast, reliable, and secure node dependency management" HOMEPAGE="https://yarnpkg.com" # Yarn Berry (v4) distributes pre-built bundles via npm # The @yarnpkg/cli-dist package contains the bundled CLI SRC_URI="https://registry.npmjs.org/@yarnpkg/cli-dist/-/cli-dist-${PV}.tgz -> ${P}.tar.gz" LICENSE="BSD-2" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 ~x86" IUSE="" RDEPEND="!dev-util/cmdtest net-libs/nodejs" DEPEND="${RDEPEND}" # npm tarballs extract to 'package/' S="${WORKDIR}/package" src_install() { # Install the bundled yarn CLI local install_dir="/usr/$(get_libdir)/node_modules/yarn" insinto "${install_dir}" doins -r . # The cli-dist package has bin/yarn.js as the entry point dosym "../$(get_libdir)/node_modules/yarn/bin/yarn.js" /usr/bin/yarn dosym yarn /usr/bin/yarnpkg # Make scripts executable local path shebang while read -r -d '' path; do read -r shebang < "${ED}${path}" || die [[ "${shebang}" == \#\!* ]] || continue fperms +x "${path}" done < <(find "${ED}" -type f -printf '/%P\0' || die) }