summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/vscode')
-rw-r--r--app-editors/vscode/Manifest15
-rw-r--r--app-editors/vscode/files/code-url-handler.desktop (renamed from app-editors/vscode/files/vscode-url-handler.desktop)2
-rw-r--r--app-editors/vscode/files/code.desktop (renamed from app-editors/vscode/files/vscode.desktop)4
-rw-r--r--app-editors/vscode/files/vscode-url-handler-wayland.desktop12
-rw-r--r--app-editors/vscode/files/vscode-wayland.desktop18
-rw-r--r--app-editors/vscode/metadata.xml8
-rw-r--r--app-editors/vscode/vscode-1.62.3.ebuild121
-rw-r--r--app-editors/vscode/vscode-1.89.0.ebuild (renamed from app-editors/vscode/vscode-1.60.2.ebuild)91
-rw-r--r--app-editors/vscode/vscode-1.89.1.ebuild (renamed from app-editors/vscode/vscode-1.61.2.ebuild)91
9 files changed, 119 insertions, 243 deletions
diff --git a/app-editors/vscode/Manifest b/app-editors/vscode/Manifest
index 5b1c26371cb8..c16079c48783 100644
--- a/app-editors/vscode/Manifest
+++ b/app-editors/vscode/Manifest
@@ -1,9 +1,6 @@
-DIST vscode-1.60.2-amd64.tar.gz 105537736 BLAKE2B 395cbea3c7522749423d8b79d7461189dbb04b1d751bb4a70b6ce7782e971c1dac0e51cda91e961cab0fceeef16e073803d2f54bd6d8840596a2ea45f9f34369 SHA512 caf8acea129533a6cb5824d5ed97f9e9f740dcdc67c3a0c3cf778d58a8fddebe870892d25ad74116c5311a53497db933ff70e5e250480c3a0d76e5fc62733b02
-DIST vscode-1.60.2-arm.tar.gz 94232609 BLAKE2B eb896cc316dfc96d6d523d15da735b18eb6e6011d7ec92b5f9fa8732f574097579c8af4601312c831a9f4aa752087188e203b761e86df31b688838b45354deb1 SHA512 8261b71740344f927091dadd28bcb06d17b70551da0fd0b3c20378ec744cc31660ae32aadedd87a8942c410da381dbf7e023c27af913a62a1bba774d6de241ea
-DIST vscode-1.60.2-arm64.tar.gz 107827801 BLAKE2B aff930e81534972f2dc3d7d0d5cc489ec77818c0304859d64838317fbaf9225f4325a8b237268569f88eca7c76ea7a73275d90747b4485eff30d5f59a9cdd977 SHA512 cc50c7ec44d546b227c271f621be87120a1c36c2ed8236421e9c7227c1cb83bf970d5673191afc1383c4479393b5fae873fd6829179d1d9139b6c3ec32c5c1fd
-DIST vscode-1.61.2-amd64.tar.gz 112814371 BLAKE2B c297d27f12dbbf5bb752076881ae28100d1b051d14528425f8227c5c70ce779ab8db93b960bd4d4ff9788fa2e63167c4253324ba4413b0975d41608c541c6303 SHA512 52c3b89612f2d2f72ea9de9449d191130a23a3dbae1f2876e1716773abe9b6c7064a8eb6053d6bc94438b6e3753df2f00ccc4452b2404fcb2c052ea6090d83cc
-DIST vscode-1.61.2-arm.tar.gz 94477034 BLAKE2B cecb63ed58a36fbbef13cf7de086f0f7f77efea03fc605801b3064c273736ea999b91ef84e0c900ca415955cd7a508d20c33e92a5acab0dcca388d9624743902 SHA512 9cfd10c4cc6d2e3eaa1323afc1b493448632f57681b1e7d595d7f52a7e7d4c4a2ce48d2e6b21b2380fb7be8d98d33d5848a91af178eed974f952bcd7cfbbcb3d
-DIST vscode-1.61.2-arm64.tar.gz 108043274 BLAKE2B f512c85102b3e3858a5ba8f2a63ec9fc7fdee77ffbe768287cd72e89103880002fd2ca77bc72f0210f2f4c0e4cec2b7708404e7db874d7c87d97b17361a26d4e SHA512 dcac0d56bde8b1fd855d386da77e164354f8c819e994d395cfd6b9cf50d5ac96421745c6efc20ec89448e6020b61b0d4ed482e74ecb39422a6acf3662f905dfa
-DIST vscode-1.62.3-amd64.tar.gz 113702793 BLAKE2B 0d5b79c0379bfc39f8ab356d6ae760d2b3bb32c41b308e5f78d824a8198201f1ea1c61034e2207bd674d00b1d5b52e75dbab07d2d7053adb17e9b64a4a47fd0c SHA512 5d69e7fda01c381b3a068a73f5506aee78f299b2a9a48fce46100d5f6d1f4558c4c0abbe17c8507e85711409052fdf9d590b12c0534e6e5cfe002f766df69c50
-DIST vscode-1.62.3-arm.tar.gz 94730175 BLAKE2B 176d2f39b1b8bc945b7fb03e4db834846a35afafe024a774326b15a1e083c06d08e4a7ac8c38233299869f7c02eed16e89335012202acb888cb0034042ec12ca SHA512 130471b46794e1fd202fb83b891577e1f6bd29b72637e4efb5822e33a5578a848b236fc6c8a4652841e7b28f29cc9ffca718a3ddfda3d78cceef9b04087861a5
-DIST vscode-1.62.3-arm64.tar.gz 108316120 BLAKE2B def07c01b4371b6e3ea1c47a45eb5763922fee650b83c3c9d9527d1323c602494b0e200543cbf527dbddb040ff786d88df5fac3d678d200d2a8768c7c3e0d135 SHA512 f1c91bdcef8f249bd4c81ec36ed5e0222eb1e6848206e33c3c7533a9805d594c8d64515317646f78a4d4b7cd7d89f05d499c5c82789c9b8ac3fbdb4451519ecd
+DIST vscode-1.89.0-amd64.tar.gz 143134909 BLAKE2B 93fffeb6d1d13d5f1b553bb16816a6b9b6ff1979a5ae4c3e3f294ce911875f5b1ebdf0888c4fcba5a47cad3229ff5b88bb938c0d180f84a22f060fd53c878d8b SHA512 7509c6c073fd8e23eb1c989e67085b4f9f9686d26c33d6dd915b1836fd8501b59b261b142590cf00cecf62cbccc30f2c620ebfef6af2173b0f41fa59160e4428
+DIST vscode-1.89.0-arm.tar.gz 128531766 BLAKE2B 12920281d644fcd2582ffe32b15328888a3acd5341578f6548f48c976c41c330fb33ea30d0933742f1978423afae42d187d5a6feea2bb96837da4fb0067352e2 SHA512 25ac38362cfbdbbb51fe278ba641323ecefe3281b731d22d6ca3b57e125eb12bd6c9cccb68d69cd1c50dc4a399606e5c7ae19dafef8ae6b113658d975ed56560
+DIST vscode-1.89.0-arm64.tar.gz 139462657 BLAKE2B b0873b26f8d49d5c1be9cc0d71e7f88c1154faf3e8660ecd1ea8f79932b9399ec70d468035bdc7a067970e6c315ae3b92658239e2278b0cd5cdd16bebd637007 SHA512 156cf694f9c7a0acff313108e49e0d0a300bf6e5a4aef410056c4f874b6c054d5718542213da6edae42d3ba738a0b8fbd537f7c725d7352a2fd5e8129fc6d22c
+DIST vscode-1.89.1-amd64.tar.gz 143147679 BLAKE2B 1b6e33d02e6b65ac91710276d0ffcffb636f645c9a21bad2057c20855dd621702d5cebaabfcf7be02632d41d1bbaa89fe5270326be4237d7d69de04a343bc655 SHA512 09ff935fbb56a8c63d6a18a2cae482dc45e1f34f524260591f4e5859f6a6297a789291b856e3c644af9255a64a92815b0217f8dda237fc00e445f822e1adf531
+DIST vscode-1.89.1-arm.tar.gz 128552384 BLAKE2B 3f26d82a44d7a68588205c2ee2b7523ffd992860deaa7863322e8dbfbc886062ee3fa4530a647d655c4eaf8b1b22c5b981436fd658c9005e9fcfd7aacc159b6b SHA512 fe63cf0315e382b80367bfd8bdc8fc75f11f734b38f8413fa3ad2da25e9402fd52fb1f48cf2faa13d702bb6d8ea8e82e5ca5dbb4aaf8819d35d6a442c8e01d0f
+DIST vscode-1.89.1-arm64.tar.gz 139443388 BLAKE2B 4a88f080b631688a969160b002d47b1846d2bd6d80360f6f3bbbf3d6c2620abd29aa431ba15e4414beb009445f9342f2d6f57c39678490b362b68c53a793f8fc SHA512 ebd1176aea7cb5ecf260324c40353b4af274c19c4b09f665fe7eec7e83bf163609503d986f75f50681ecb2ef2996c41988a794b2c526a1f865ef87c1313bab30
diff --git a/app-editors/vscode/files/vscode-url-handler.desktop b/app-editors/vscode/files/code-url-handler.desktop
index 73e3834801b4..fe65d7527069 100644
--- a/app-editors/vscode/files/vscode-url-handler.desktop
+++ b/app-editors/vscode/files/code-url-handler.desktop
@@ -2,7 +2,7 @@
Name=VSCode - URL Handler
Comment=Editing evolved
GenericName=Code Editor
-Exec=/usr/bin/vscode --open-url %U
+Exec=/usr/bin/vscode @exec_extra_flags@ --open-url %U
Icon=vscode
Type=Application
NoDisplay=true
diff --git a/app-editors/vscode/files/vscode.desktop b/app-editors/vscode/files/code.desktop
index d648416a26ca..ec697eca68b6 100644
--- a/app-editors/vscode/files/vscode.desktop
+++ b/app-editors/vscode/files/code.desktop
@@ -2,7 +2,7 @@
Name=VSCode
Comment=Editing evolved
GenericName=Code Editor
-Exec=/usr/bin/vscode --unity-launch %F
+Exec=/usr/bin/vscode @exec_extra_flags@ --unity-launch %F
Icon=vscode
Type=Application
StartupNotify=false
@@ -14,5 +14,5 @@ Keywords=vscode;code;
[Desktop Action new-empty-window]
Name=New Empty Window
-Exec=/usr/bin/vscode --new-window %F
+Exec=/usr/bin/vscode @exec_extra_flags@ --new-window %F
Icon=vscode
diff --git a/app-editors/vscode/files/vscode-url-handler-wayland.desktop b/app-editors/vscode/files/vscode-url-handler-wayland.desktop
deleted file mode 100644
index a3214afa7d32..000000000000
--- a/app-editors/vscode/files/vscode-url-handler-wayland.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Name=VSCode - URL Handler
-Comment=Editing evolved
-GenericName=Code Editor
-Exec=/usr/bin/vscode --enable-features=UseOzonePlatform --ozone-platform=wayland --open-url %U
-Icon=vscode
-Type=Application
-NoDisplay=true
-StartupNotify=true
-Categories=Utility;TextEditor;Development;IDE;
-MimeType=x-scheme-handler/vscode;
-Keywords=vscode;code;
diff --git a/app-editors/vscode/files/vscode-wayland.desktop b/app-editors/vscode/files/vscode-wayland.desktop
deleted file mode 100644
index 1c12a97ffd01..000000000000
--- a/app-editors/vscode/files/vscode-wayland.desktop
+++ /dev/null
@@ -1,18 +0,0 @@
-[Desktop Entry]
-Name=VSCode Wayland
-Comment=Editing evolved
-GenericName=Code Editor
-Exec=/usr/bin/vscode --enable-features=UseOzonePlatform --ozone-platform=wayland --unity-launch %F
-Icon=vscode
-Type=Application
-StartupNotify=false
-StartupWMClass=Code
-Categories=Utility;TextEditor;Development;IDE;
-MimeType=text/plain;inode/directory;application/x-code-workspace;
-Actions=new-empty-window;
-Keywords=vscode;code;
-
-[Desktop Action new-empty-window]
-Name=New Empty Window
-Exec=/usr/bin/vscode --enable-features=UseOzonePlatform --ozone-platform=wayland --new-window %F
-Icon=vscode
diff --git a/app-editors/vscode/metadata.xml b/app-editors/vscode/metadata.xml
index 70a9316b5281..52921d6c9411 100644
--- a/app-editors/vscode/metadata.xml
+++ b/app-editors/vscode/metadata.xml
@@ -5,10 +5,18 @@
<email>adel.ks@zegrapher.com</email>
<name>Adel KARA SLIMANE</name>
</maintainer>
+ <maintainer type="person">
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <use>
+ <flag name="egl">Use EGL platform, enables smooth rending in high refresh rate monitors on X11/Xwayland</flag>
+ <flag name="wayland">Run in wayland mode under wayland sessions, xwayland otherwise. This flag doesn't affect x11 sessions.</flag>
+ </use>
<longdescription>
Visual Studio Code is a lightweight but powerful source code editor which
runs on your desktop and is available for Windows, macOS and Linux. It
diff --git a/app-editors/vscode/vscode-1.62.3.ebuild b/app-editors/vscode/vscode-1.62.3.ebuild
deleted file mode 100644
index dbed711c205a..000000000000
--- a/app-editors/vscode/vscode-1.62.3.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop pax-utils 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}"
-
-RESTRICT="mirror strip bindist"
-
-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"
-
-RDEPEND="
- app-accessibility/at-spi2-atk:2
- app-accessibility/at-spi2-core:2
- app-crypt/libsecret[crypt]
- dev-libs/atk
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- media-libs/alsa-lib
- media-libs/mesa
- sys-apps/dbus
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- 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/libxshmfence
- x11-libs/pango
-"
-
-QA_PREBUILT="
- /opt/vscode/code
- /opt/vscode/libEGL.so
- /opt/vscode/libffmpeg.so
- /opt/vscode/libGLESv2.so
- /opt/vscode/libvulkan.so*
- /opt/vscode/chrome-sandbox
- /opt/vscode/libvk_swiftshader.so
- /opt/vscode/swiftshader/libEGL.so
- /opt/vscode/swiftshader/libGLESv2.so
- /opt/vscode/resources/app/extensions/*
- /opt/vscode/resources/app/node_modules.asar.unpacked/*
-"
-
-src_install() {
- if use amd64; then
- cd "${WORKDIR}/VSCode-linux-x64" || die
- elif use arm; then
- cd "${WORKDIR}/VSCode-linux-armhf" || die
- elif use arm64; then
- cd "${WORKDIR}/VSCode-linux-arm64" || die
- else
- die "Visual Studio Code only supports amd64, arm and arm64"
- fi
-
- # Cleanup
- rm -r ./resources/app/LICENSES.chromium.html ./resources/app/LICENSE.rtf ./resources/app/licenses || die
-
- # Install
- pax-mark m code
- insinto "/opt/${PN}"
- doins -r *
- fperms +x /opt/${PN}/{,bin/}code
- fperms 4711 /opt/${PN}/chrome-sandbox
- fperms 755 /opt/${PN}/resources/app/extensions/git/dist/askpass.sh
- fperms 755 /opt/${PN}/resources/app/extensions/git/dist/askpass-empty.sh
- fperms -R +x /opt/${PN}/resources/app/out/vs/base/node
- fperms +x /opt/${PN}/resources/app/node_modules.asar.unpacked/vscode-ripgrep/bin/rg
- dosym "../../opt/${PN}/bin/code" "usr/bin/vscode"
- dosym "../../opt/${PN}/bin/code" "usr/bin/code"
- domenu "${FILESDIR}/vscode.desktop"
- domenu "${FILESDIR}/vscode-url-handler.desktop"
- domenu "${FILESDIR}/vscode-wayland.desktop"
- domenu "${FILESDIR}/vscode-url-handler-wayland.desktop"
- newicon "resources/app/resources/linux/code.png" "vscode.png"
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- elog "You may want to install some additional utils, check in:"
- elog "https://code.visualstudio.com/Docs/setup#_additional-tools"
-}
diff --git a/app-editors/vscode/vscode-1.60.2.ebuild b/app-editors/vscode/vscode-1.89.0.ebuild
index dbed711c205a..f803279f6a02 100644
--- a/app-editors/vscode/vscode-1.60.2.ebuild
+++ b/app-editors/vscode/vscode-1.89.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit desktop pax-utils xdg
+inherit desktop pax-utils xdg optfeature
DESCRIPTION="Multiplatform Visual Studio Code from Microsoft"
HOMEPAGE="https://code.visualstudio.com"
@@ -14,8 +14,6 @@ SRC_URI="
"
S="${WORKDIR}"
-RESTRICT="mirror strip bindist"
-
LICENSE="
Apache-2.0
BSD
@@ -36,22 +34,27 @@ LICENSE="
W3C
"
SLOT="0"
-KEYWORDS="-* ~amd64 ~arm ~arm64"
+KEYWORDS="-* amd64 ~arm ~arm64"
+IUSE="egl kerberos wayland"
+RESTRICT="mirror strip bindist"
RDEPEND="
- app-accessibility/at-spi2-atk:2
- app-accessibility/at-spi2-core:2
+ >=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
- dev-libs/atk
+ app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
+ media-libs/libcanberra[gtk3]
+ media-libs/libglvnd
media-libs/mesa
+ net-misc/curl
sys-apps/dbus
+ sys-libs/zlib
+ sys-process/lsof
x11-libs/cairo
- x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
@@ -63,23 +66,13 @@ RDEPEND="
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
- x11-libs/libxshmfence
+ x11-libs/libXScrnSaver
x11-libs/pango
+ x11-misc/xdg-utils
+ kerberos? ( app-crypt/mit-krb5 )
"
-QA_PREBUILT="
- /opt/vscode/code
- /opt/vscode/libEGL.so
- /opt/vscode/libffmpeg.so
- /opt/vscode/libGLESv2.so
- /opt/vscode/libvulkan.so*
- /opt/vscode/chrome-sandbox
- /opt/vscode/libvk_swiftshader.so
- /opt/vscode/swiftshader/libEGL.so
- /opt/vscode/swiftshader/libGLESv2.so
- /opt/vscode/resources/app/extensions/*
- /opt/vscode/resources/app/node_modules.asar.unpacked/*
-"
+QA_PREBUILT="*"
src_install() {
if use amd64; then
@@ -93,29 +86,47 @@ src_install() {
fi
# Cleanup
- rm -r ./resources/app/LICENSES.chromium.html ./resources/app/LICENSE.rtf ./resources/app/licenses || die
+ 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.asar.unpacked/kerberos || die
+ fi
# Install
pax-mark m code
- insinto "/opt/${PN}"
- doins -r *
- fperms +x /opt/${PN}/{,bin/}code
+ mkdir -p "${ED}/opt/${PN}" || die
+ cp -r . "${ED}/opt/${PN}" || die
fperms 4711 /opt/${PN}/chrome-sandbox
- fperms 755 /opt/${PN}/resources/app/extensions/git/dist/askpass.sh
- fperms 755 /opt/${PN}/resources/app/extensions/git/dist/askpass-empty.sh
- fperms -R +x /opt/${PN}/resources/app/out/vs/base/node
- fperms +x /opt/${PN}/resources/app/node_modules.asar.unpacked/vscode-ripgrep/bin/rg
- dosym "../../opt/${PN}/bin/code" "usr/bin/vscode"
- dosym "../../opt/${PN}/bin/code" "usr/bin/code"
- domenu "${FILESDIR}/vscode.desktop"
- domenu "${FILESDIR}/vscode-url-handler.desktop"
- domenu "${FILESDIR}/vscode-wayland.desktop"
- domenu "${FILESDIR}/vscode-url-handler-wayland.desktop"
+
+ 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"
}
pkg_postinst() {
xdg_pkg_postinst
- elog "You may want to install some additional utils, check in:"
- elog "https://code.visualstudio.com/Docs/setup#_additional-tools"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "keyring support inside vscode" "virtual/secret-service"
}
diff --git a/app-editors/vscode/vscode-1.61.2.ebuild b/app-editors/vscode/vscode-1.89.1.ebuild
index dbed711c205a..f803279f6a02 100644
--- a/app-editors/vscode/vscode-1.61.2.ebuild
+++ b/app-editors/vscode/vscode-1.89.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit desktop pax-utils xdg
+inherit desktop pax-utils xdg optfeature
DESCRIPTION="Multiplatform Visual Studio Code from Microsoft"
HOMEPAGE="https://code.visualstudio.com"
@@ -14,8 +14,6 @@ SRC_URI="
"
S="${WORKDIR}"
-RESTRICT="mirror strip bindist"
-
LICENSE="
Apache-2.0
BSD
@@ -36,22 +34,27 @@ LICENSE="
W3C
"
SLOT="0"
-KEYWORDS="-* ~amd64 ~arm ~arm64"
+KEYWORDS="-* amd64 ~arm ~arm64"
+IUSE="egl kerberos wayland"
+RESTRICT="mirror strip bindist"
RDEPEND="
- app-accessibility/at-spi2-atk:2
- app-accessibility/at-spi2-core:2
+ >=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
- dev-libs/atk
+ app-misc/ca-certificates
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
+ media-libs/libcanberra[gtk3]
+ media-libs/libglvnd
media-libs/mesa
+ net-misc/curl
sys-apps/dbus
+ sys-libs/zlib
+ sys-process/lsof
x11-libs/cairo
- x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
@@ -63,23 +66,13 @@ RDEPEND="
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
- x11-libs/libxshmfence
+ x11-libs/libXScrnSaver
x11-libs/pango
+ x11-misc/xdg-utils
+ kerberos? ( app-crypt/mit-krb5 )
"
-QA_PREBUILT="
- /opt/vscode/code
- /opt/vscode/libEGL.so
- /opt/vscode/libffmpeg.so
- /opt/vscode/libGLESv2.so
- /opt/vscode/libvulkan.so*
- /opt/vscode/chrome-sandbox
- /opt/vscode/libvk_swiftshader.so
- /opt/vscode/swiftshader/libEGL.so
- /opt/vscode/swiftshader/libGLESv2.so
- /opt/vscode/resources/app/extensions/*
- /opt/vscode/resources/app/node_modules.asar.unpacked/*
-"
+QA_PREBUILT="*"
src_install() {
if use amd64; then
@@ -93,29 +86,47 @@ src_install() {
fi
# Cleanup
- rm -r ./resources/app/LICENSES.chromium.html ./resources/app/LICENSE.rtf ./resources/app/licenses || die
+ 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.asar.unpacked/kerberos || die
+ fi
# Install
pax-mark m code
- insinto "/opt/${PN}"
- doins -r *
- fperms +x /opt/${PN}/{,bin/}code
+ mkdir -p "${ED}/opt/${PN}" || die
+ cp -r . "${ED}/opt/${PN}" || die
fperms 4711 /opt/${PN}/chrome-sandbox
- fperms 755 /opt/${PN}/resources/app/extensions/git/dist/askpass.sh
- fperms 755 /opt/${PN}/resources/app/extensions/git/dist/askpass-empty.sh
- fperms -R +x /opt/${PN}/resources/app/out/vs/base/node
- fperms +x /opt/${PN}/resources/app/node_modules.asar.unpacked/vscode-ripgrep/bin/rg
- dosym "../../opt/${PN}/bin/code" "usr/bin/vscode"
- dosym "../../opt/${PN}/bin/code" "usr/bin/code"
- domenu "${FILESDIR}/vscode.desktop"
- domenu "${FILESDIR}/vscode-url-handler.desktop"
- domenu "${FILESDIR}/vscode-wayland.desktop"
- domenu "${FILESDIR}/vscode-url-handler-wayland.desktop"
+
+ 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"
}
pkg_postinst() {
xdg_pkg_postinst
- elog "You may want to install some additional utils, check in:"
- elog "https://code.visualstudio.com/Docs/setup#_additional-tools"
+ optfeature "desktop notifications" x11-libs/libnotify
+ optfeature "keyring support inside vscode" "virtual/secret-service"
}