app-crypt/etoken-sac: fix eutils EAPI 7
[gentoo-zh.git] / www-apps / openvscode-server-bin / openvscode-server-bin-1.75.1.ebuild
blob78f743b8b31bf6980429393dbeefbdaa5c1f0936
1 # Copyright 2022 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
6 inherit systemd
8 MY_PN="${PN//-bin/}"
9 MY_P="${MY_PN}-v${PV}"
11 DESCRIPTION="VS Code that runs a server on remote and allows access through a web browser"
12 HOMEPAGE="https://github.com/gitpod-io/openvscode-server"
13 SRC_URI="
14         amd64? ( https://github.com/gitpod-io/openvscode-server/releases/download/${MY_P}/${MY_P}-linux-x64.tar.gz )
15         arm? ( https://github.com/gitpod-io/openvscode-server/releases/download/${MY_P}/${MY_P}-linux-armhf.tar.gz )
16         arm64? ( https://github.com/gitpod-io/openvscode-server/releases/download/${MY_P}/${MY_P}-linux-arm64.tar.gz )
18 S="${WORKDIR}"
20 RESTRICT="mirror strip bindist"
22 LICENSE="
23         Apache-2.0
24         BSD
25         BSD-1
26         BSD-2
27         BSD-4
28         CC-BY-4.0
29         ISC
30         LGPL-2.1+
31         Microsoft-vscode
32         MIT
33         MPL-2.0
34         openssl
35         PYTHON
36         TextMate-bundle
37         Unlicense
38         UoI-NCSA
39         W3C
41 SLOT="0"
42 KEYWORDS="-* ~amd64 ~arm ~arm64"
44 DEPEND=""
45 RDEPEND="${DEPEND}"
46 BDEPEND=""
48 QA_PREBUILT="
49         /opt/openvscode-server-bin/node
50         /opt/openvscode-server-bin/node_modules/@vscode/ripgrep/bin/rg
51         /opt/openvscode-server-bin/node_modules/spdlog/build/Release/spdlog.node
52         /opt/openvscode-server-bin/node_modules/keytar/build/Release/obj.target/keytar.node
53         /opt/openvscode-server-bin/node_modules/keytar/build/Release/keytar.node
54         /opt/openvscode-server-bin/node_modules/native-watchdog/build/Release/watchdog.node
55         /opt/openvscode-server-bin/node_modules/@parcel/watcher/build/Release/watcher.node
56         /opt/openvscode-server-bin/node_modules/node-pty/build/Release/pty.node
59 src_install() {
60         if use amd64; then
61                 cd "${WORKDIR}/${MY_P}-linux-x64" || die
62         elif use arm; then
63                 cd "${WORKDIR}/${MY_P}-linux-armhf" || die
64         elif use arm64; then
65                 cd "${WORKDIR}/${MY_P}-linux-arm64" || die
66         else
67                 die "openvscode-server only supports amd64, arm and arm64"
68         fi
70         # Install
71         insinto "/opt/${PN}"
72         doins -r *
73         fperms +x /opt/${PN}/bin/{,remote-cli/}openvscode-server
74         fperms +x /opt/${PN}/bin/helpers/browser.sh
75         # bundled node
76         fperms +x /opt/${PN}/node
77         fperms -R +x /opt/${PN}/out/vs/base/node/
78         # bundled other binaries
79         fperms +x /opt/${PN}/node_modules/@vscode/ripgrep/bin/rg
80         fperms +x /opt/${PN}/node_modules/spdlog/build/Release/spdlog.node
81         fperms +x /opt/${PN}/node_modules/keytar/build/Release/obj.target/keytar.node
82         fperms +x /opt/${PN}/node_modules/keytar/build/Release/keytar.node
83         fperms +x /opt/${PN}/node_modules/native-watchdog/build/Release/watchdog.node
84         fperms +x /opt/${PN}/node_modules/@parcel/watcher/build/Release/watcher.node
85         fperms +x /opt/${PN}/node_modules/node-pty/build/Release/pty.node
86         # shellscript of extensions
87         fperms +x /opt/${PN}/extensions/ms-vscode.js-debug/src/terminateProcess.sh
88         fperms +x /opt/${PN}/extensions/git/dist/{askpass,git-editor}{,-empty}.sh
90         dosym "../../opt/${PN}/bin/openvscode-server" "usr/bin/openvscode-server"
92         systemd_newuserunit "${FILESDIR}/openvscode-server-user.service" openvscode-server.service
93         systemd_newunit "${FILESDIR}/openvscode-server-at.service" openvscode-server@.service
96 pkg_postinst() {
97         elog
98         elog "When using openvscode-server systemd services run it as a user"
99         elog "For example: "
100         elog "  'systemctl --user enable --now openvscode-server'"
101         elog "  'systemctl enable --now openvscode-server@\$USER'"
102         elog "Default access link is http://localhost:3000/?tkn=\$TOKEN"
103         elog
104         elog "You may want to modify the systemd unit file to match your needs"
105         elog "For example: "
106         elog "'ExecStart=/usr/bin/openvscode-server --without-connection-token --host 0.0.0.0'"
107         elog
108         elog "For more details, please refer to https://github.com/gitpod-io/openvscode-server#linux"
109         elog