1 # Copyright 2022 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
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"
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 )
20 RESTRICT="mirror strip bindist"
42 KEYWORDS="-* ~amd64 ~arm ~arm64"
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
61 cd "${WORKDIR}/${MY_P}-linux-x64" || die
63 cd "${WORKDIR}/${MY_P}-linux-armhf" || die
65 cd "${WORKDIR}/${MY_P}-linux-arm64" || die
67 die "openvscode-server only supports amd64, arm and arm64"
73 fperms +x /opt/${PN}/bin/{,remote-cli/}openvscode-server
74 fperms +x /opt/${PN}/bin/helpers/browser.sh
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
98 elog "When using openvscode-server systemd services run it as a user"
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"
104 elog "You may want to modify the systemd unit file to match your needs"
106 elog "'ExecStart=/usr/bin/openvscode-server --without-connection-token --host 0.0.0.0'"
108 elog "For more details, please refer to https://github.com/gitpod-io/openvscode-server#linux"