diff options
Diffstat (limited to 'app-editors/vscode/vscode-1.107.0.ebuild')
| -rw-r--r-- | app-editors/vscode/vscode-1.107.0.ebuild | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/app-editors/vscode/vscode-1.107.0.ebuild b/app-editors/vscode/vscode-1.107.0.ebuild new file mode 100644 index 000000000000..ee99fe72d08b --- /dev/null +++ b/app-editors/vscode/vscode-1.107.0.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit chromium-2 desktop optfeature pax-utils shell-completion xdg + +DESCRIPTION="Multiplatform Visual Studio Code from Microsoft" +HOMEPAGE="https://code.visualstudio.com" +SRC_URI=" + amd64? ( https://update.code.visualstudio.com/${PV}/linux-x64/stable -> ${P}-amd64.tar.gz ) + arm? ( https://update.code.visualstudio.com/${PV}/linux-armhf/stable -> ${P}-arm.tar.gz ) + arm64? ( https://update.code.visualstudio.com/${PV}/linux-arm64/stable -> ${P}-arm64.tar.gz ) +" +S="${WORKDIR}" + +LICENSE=" + Apache-2.0 + BSD + BSD-1 + BSD-2 + BSD-4 + CC-BY-4.0 + ISC + LGPL-2.1+ + Microsoft-vscode + MIT + MPL-2.0 + openssl + PYTHON + TextMate-bundle + Unlicense + UoI-NCSA + W3C +" +SLOT="0" +KEYWORDS="-* amd64 ~arm arm64" +IUSE="egl kerberos wayland" +RESTRICT="mirror strip bindist" + +RDEPEND=" + || ( + sys-apps/systemd + sys-apps/systemd-utils + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + app-crypt/libsecret[crypt] + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/libglvnd + media-libs/mesa + net-misc/curl + sys-apps/dbus + virtual/zlib:= + sys-process/lsof + x11-libs/cairo + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libxkbfile + x11-libs/libXrandr + x11-libs/libXScrnSaver + x11-libs/pango + x11-misc/xdg-utils + kerberos? ( app-crypt/mit-krb5 ) +" + +QA_PREBUILT="*" + +src_unpack() { + default + mv "${S}"/VSCode-linux-* "${S}/vscode" || die +} + +src_configure() { + default + chromium_suid_sandbox_check_kernel_config +} + +src_prepare() { + default + pushd "vscode/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die +} + +src_install() { + cd vscode || die + + # Cleanup + rm -r ./resources/app/ThirdPartyNotices.txt || die + + # Disable update server + sed -e "/updateUrl/d" -i ./resources/app/product.json || die + + if ! use kerberos; then + rm -r ./resources/app/node_modules/kerberos || die + fi + + # Install + pax-mark m code + mkdir -p "${ED}/opt/${PN}" || die + cp -r . "${ED}/opt/${PN}" || die + fperms 4711 /opt/${PN}/chrome-sandbox + + dosym -r "/opt/${PN}/bin/code" "usr/bin/vscode" + dosym -r "/opt/${PN}/bin/code" "usr/bin/code" + + local EXEC_EXTRA_FLAGS=() + if use wayland; then + EXEC_EXTRA_FLAGS+=( "--ozone-platform-hint=auto" "--enable-wayland-ime" ) + fi + if use egl; then + EXEC_EXTRA_FLAGS+=( "--use-gl=egl" ) + fi + + sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \ + "${FILESDIR}/code-url-handler.desktop" \ + > "${T}/code-url-handler.desktop" || die + + sed "s|@exec_extra_flags@|${EXEC_EXTRA_FLAGS[*]}|g" \ + "${FILESDIR}/code.desktop" \ + > "${T}/code.desktop" || die + + domenu "${T}/code.desktop" + domenu "${T}/code-url-handler.desktop" + newicon "resources/app/resources/linux/code.png" "vscode.png" + + # Install metainfo + insinto /usr/share/metainfo + doins "${FILESDIR}/code.appdata.xml" + + # Install MIME type definitions + insinto /usr/share/mime/packages + doins "${FILESDIR}/code-workspace.xml" + + # Install completions + newbashcomp resources/completions/bash/code code + newzshcomp resources/completions/zsh/_code _code +} + +pkg_postinst() { + xdg_pkg_postinst + optfeature "desktop notifications" x11-libs/libnotify + optfeature "keyring support inside vscode" "virtual/secret-service" + optfeature "Live Share" dev-libs/icu +} |
