diff --git a/www-apps/code-server-bin/Manifest b/www-apps/code-server-bin/Manifest index c12bd20712..35f6dc21a8 100644 --- a/www-apps/code-server-bin/Manifest +++ b/www-apps/code-server-bin/Manifest @@ -1,3 +1,5 @@ +DIST code-server-4.12.0-linux-amd64.tar.gz 97828967 BLAKE2B 60089c914ba94eff0bfa142254635188c138553ce81e66aff8f24f6be9a1a7bc35efc5d900e010437e7cdcb2209c55cf988a9c88d65b063bcc0eb233d0a7b929 SHA512 5ef36f8d3b3838ce1b30f460748f44e89f77843e6b8fec18bbb4b69028558c041b1b31af576f51693091d6f8e2b9bd03d94a8c4e3f7389b613dae8986f64cb6a +DIST code-server-4.12.0-linux-arm64.tar.gz 96637295 BLAKE2B ab842644f50871e97016c08e9470fa24ae2a1d2b4dc344faf7a45153595deed6cd88146adbf1871db2082a0a06a0d12fc50eb588c7307f51d9737cb5c6b230f1 SHA512 dc09e21ff35f987cdb7f5b62d2133b53af5f634b747a13b7fe9cff0c6be61a93950b1e23a8869206b8ed3544bb34221d2c38d6fb25d176e8136ebd0d255fe7ad DIST code-server-4.7.1-linux-amd64.tar.gz 103979733 BLAKE2B 0346e107ef55d09094d341b64ddf4e31cb683a4a7a296405c1336a0f008a01667dee0732df912057ec82712db0da48b14e2c04def7c666c354eebea18076b59b SHA512 d4e542a894fef141a411ba9dbd5360ca5794a6464d0ce32f5a6681de3311a64e4fd3cedc31144d3ef2eae89cd6266d6db028c042e9692051da31a87a7649962c DIST code-server-4.7.1-linux-arm64.tar.gz 94777720 BLAKE2B 0d08f9b9966070a21918ce1a4e9d79c5ce9c4d4550d588cc6b0bf30777a015b4616c49a7fa9f776c303238a9920ebb0a341a9bd421067a333579cf38bc16dab5 SHA512 8ac49726830168786a4eac7f3b2182af9510443cd3bc0b5760ddee0ee6ce7845fdd91cd680c95821a3dce41c9c2cdf0b7f50ab7817b6764305e262c643c9d896 DIST code-server-4.8.3-linux-amd64.tar.gz 106357330 BLAKE2B 2b72427abf01dd1ef0fcc85971d484b116a558ae586fbdaf0f40ded66ad1523c57449141f7ad1d8b2bf364094b2be7999f275d2a8d00ccb6194b56e89133ed0d SHA512 c074007129082819b70be588f5f1f81613f7b12d4b2bc9a606f56767747c13c62707c54694bdbc5a27da60027c0a9cc98efc3e5c64e05c0947dcb45b551efb4d diff --git a/www-apps/code-server-bin/code-server-bin-4.12.0.ebuild b/www-apps/code-server-bin/code-server-bin-4.12.0.ebuild new file mode 100644 index 0000000000..fd76d89d00 --- /dev/null +++ b/www-apps/code-server-bin/code-server-bin-4.12.0.ebuild @@ -0,0 +1,100 @@ +# 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 ) + arm64? ( ${BASE_URI}-arm64.tar.gz ) +" +RESTRICT="test" +LICENSE="MIT 0BSD ISC PYTHON BSD-2 BSD Apache-2.0 Unlicense LGPL-2.1+ + || ( BSD-2 MIT Apache-2.0 ) + || ( MIT WTFPL ) + || ( BSD GPL-2 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + ${DEPEND} + >=net-libs/nodejs-16.0.0[ssl] + sys-apps/ripgrep + app-crypt/libsecret +" + +S="${WORKDIR}/${MY_P}-linux-${ARCH}" + +PATCHES=( "${FILESDIR}/${PN}-node.patch" ) + +DOCS=( "LICENSE" "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" + + # 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}" "${EPREFIX}/usr/bin/${PN}" + + dosym -r "/usr/bin/rg" \ + "${EPREFIX}/opt/${PN}/${VSCODE_MODULES}/@vscode/ripgrep/bin/rg" + + systemd_douserunit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + elog "When using code-server systemd service run it as a user" + elog "For example: 'systemctl --user enable --now code-server'" +}