# Copyright 2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit shell-completion DESCRIPTION="Incredibly fast JavaScript runtime, bundler, test runner, and package manager" HOMEPAGE="https://bun.sh https://github.com/oven-sh/bun" SRC_URI=" amd64? ( https://github.com/oven-sh/bun/releases/download/bun-v${PV}/bun-linux-x64.zip -> ${P}-amd64.zip ) arm64? ( https://github.com/oven-sh/bun/releases/download/bun-v${PV}/bun-linux-aarch64.zip -> ${P}-arm64.zip ) " S="${WORKDIR}" LICENSE="MIT" SLOT="0" KEYWORDS="-* ~amd64 ~arm64" IUSE="+symlink" BDEPEND="app-arch/unzip" RDEPEND=" symlink? ( !net-libs/nodejs !net-libs/nodejs-bin ) " RESTRICT="strip" QA_PREBUILT="usr/bin/bun" src_prepare() { default mv bun-linux*/bun . || die "Failed to move bun binary" # generate shell completion scripts for sh in bash fish zsh; do env SHELL=${sh} "${S}/bun" completions ${sh} > "${WORKDIR}/completion.${sh}" done } src_install() { dobin bun dosym bun /usr/bin/bunx use symlink && dosym bun /usr/bin/node # fix env: node: No such file or directory newbashcomp completion.bash "${PN}" newfishcomp completion.fish "${PN}".fish newzshcomp completion.zsh _"${PN}" }