Install this version:
emerge -a =www-apps/code-server-bin-4.19.1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =www-apps/code-server-bin-4.19.1
Or alternatively:
emerge --autounmask-write -a =www-apps/code-server-bin-4.19.1
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_PN="${PN/-bin/}"
MY_P="${MY_PN}-${PV}"
BASE_URI="https://github.com/coder/${MY_PN}/releases/download/v${PV}/${MY_P}-linux"
inherit systemd
DESCRIPTION="VS Code in the browser (binary version with unbundled node and ripgrep)"
HOMEPAGE="https://coder.com/"
SRC_URI="
amd64? ( ${BASE_URI}-amd64.tar.gz -> ${P}-amd64.tar.gz )
arm64? ( ${BASE_URI}-arm64.tar.gz -> ${P}-arm64.tar.gz )
"
S="${WORKDIR}/${MY_P}-linux-${ARCH}"
LICENSE="MIT ISC BSD Apache-2.0 BSD-2 PYTHON 0BSD"
LICENSE+=" LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
RESTRICT="test"
RDEPEND="
app-crypt/libsecret
>=net-libs/nodejs-18.0.0[ssl]
sys-apps/ripgrep
virtual/krb5
"
PATCHES=( "${FILESDIR}/${PN}-node.patch" )
DOCS=( README.md ThirdPartyNotices.txt )
QA_PREBUILT="*"
# Relative
VSCODE_MODULES="lib/vscode/node_modules"
QA_PRESTRIPPED="
opt/${PN}/node_modules/@node-rs/argon2-linux-x64-musl/argon2.linux-x64-musl.node
opt/${PN}/${VSCODE_MODULES}/@parcel/watcher/prebuilds/linux-x64/node.napi.musl.node
opt/${PN}/${VSCODE_MODULES}/@parcel/watcher/prebuilds/linux-x64/node.napi.glibc.node
"
src_prepare() {
default
# We remove as much precompiled code as we can,
# node modules not written in JS cannot be removed
# thus "-bin".
# use system node
rm ./lib/node || die "Failed to remove bundled nodejs"
# remove bundled ripgrep binary
rm ./"${VSCODE_MODULES}"/@vscode/ripgrep/bin/rg \
|| die "Failed to remove bundled ripgrep"
# Only required at build time
find "${S}" -type l -name python3 -delete || die
# not needed
rm ./postinstall.sh || die
# For windows
rm -r ./"${VSCODE_MODULES}"/@parcel/watcher/prebuilds/win32-x64 || die
if [[ $ELIBC != "musl" ]]; then
rm ./"${VSCODE_MODULES}"/@parcel/watcher/prebuilds/linux-x64/node.napi.musl.node || die
elif [[ $ELIBC != "glibc" ]]; then
rm ./"${VSCODE_MODULES}"/@parcel/watcher/prebuilds/linux-x64/node.napi.glibc.node || die
rm ./"${VSCODE_MODULES}"/@parcel/watcher/prebuilds/darwin-x64/node.napi.glibc.node || die
rm ./"${VSCODE_MODULES}"/@parcel/watcher/prebuilds/darwin-arm64/node.napi.glibc.node || die
fi
rm -r ./lib/vscode/extensions/node_modules/.bin || die
}
src_install() {
einstalldocs
insinto "/opt/${PN}"
doins -r .
fperms +x "/opt/${PN}/bin/${MY_PN}"
dosym -r "/opt/${PN}/bin/${MY_PN}" "/opt/${PN}/bin/${PN}"
dosym -r "/opt/${PN}/bin/${PN}" "/usr/bin/${PN}"
dosym -r "/usr/bin/rg" \
"/opt/${PN}/${VSCODE_MODULES}/@vscode/ripgrep/bin/rg"
systemd_douserunit "${FILESDIR}/${PN}.service"
newinitd "${FILESDIR}/${PN}.rc" "${PN}"
newconfd "${FILESDIR}/${PN}.conf" "${PN}"
}
pkg_postinst() {
elog "When using code-server systemd service run it as a user"
elog "For example: 'systemctl --user enable --now code-server'"
}
app-crypt/libsecret >=net-libs/nodejs-18.0.0[ssl] sys-apps/ripgrep virtual/krb5
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | code-server-bin-4.19.1-amd64.tar.gz | 96311589 bytes | https://github.com/coder/code-server/releases/download/v4.19.1/code-server-4.19.1-linux-amd64.tar.gz |
| DIST | code-server-bin-4.19.1-arm64.tar.gz | 96427997 bytes | https://github.com/coder/code-server/releases/download/v4.19.1/code-server-4.19.1-linux-arm64.tar.gz |