# Maintainer: D. Can Celasun pkgname=visual-studio-code-bin _pkgname=visual-studio-code pkgver=1.43.2 pkgrel=2 pkgdesc="Visual Studio Code (vscode): Editor for building and debugging modern web and cloud applications (official binary version)" arch=('x86_64') url="https://code.visualstudio.com/" license=('custom: commercial') provides=('code') conflicts=('code') # lsof: need for terminal splitting, see https://github.com/Microsoft/vscode/issues/62991 depends=(libxkbfile gnupg gtk3 libsecret nss gcc-libs libnotify libxss glibc lsof) optdepends=('glib2: Needed for move to trash functionality' 'libdbusmenu-glib: Needed for KDE global menu') source=(code_x64_${pkgver}.tar.gz::https://vscode-update.azurewebsites.net/${pkgver}/linux-x64/stable ${_pkgname}.desktop ${_pkgname}-url-handler.desktop) sha256sums=('8f38474e258c1bbd469b5311051c50466a080b9e970b506e0e0bad387d524fed' '0deefcb638e06c35a52e7e9fb8e19b2dc393f01e5c1c122d2938cddeb22cf8de' 'be3d123aacd575d8f836728266eb421ea70399d713d1fc30378dbc5602b519fb') # BEGIN YARR! # yarr harr fiddle dee dee # i do what i want because a pirate is free # -- Xaekai makedepends=(asar) prepare() { _pkg=VSCode-linux-x64 cd $_pkg # Drop telemetry TELEMETRY_URLS="(dc\.services\.visualstudio\.com)|(vortex\.data\.microsoft\.com)" REPLACEMENT="s/$TELEMETRY_URLS/0\.0\.0\.0/g" grep -rl --exclude-dir=.git --exclude="*.asar" -E $TELEMETRY_URLS . | xargs sed -i -E $REPLACEMENT # unpack asar, cleanse, repack, overwrite original local _ORIGINAL_ASAR="resources/app/node_modules.asar" local _asar=$(mktemp -d -t archpkg-vscode-XXXX) local _newasar=$( mktemp node_modules.XXXX.asar ) asar e $_ORIGINAL_ASAR $_asar ( cd $_asar ; grep -rl -E $TELEMETRY_URLS . | xargs sed -i -E $REPLACEMENT ) asar p $_asar $_newasar mv -fv $_newasar $_ORIGINAL_ASAR chmod 644 $_ORIGINAL_ASAR } # END YARR! package() { _pkg=VSCode-linux-x64 install -d "${pkgdir}/usr/share/licenses/${_pkgname}" install -d "${pkgdir}/opt/${_pkgname}" install -d "${pkgdir}/usr/bin" install -d "${pkgdir}/usr/share/applications" install -d "${pkgdir}/usr/share/icons" install -m644 "${srcdir}/${_pkg}/resources/app/LICENSE.rtf" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE.rtf" install -m644 "${srcdir}/${_pkg}/resources/app/resources/linux/code.png" "${pkgdir}/usr/share/icons/${_pkgname}.png" install -m644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop" install -m644 "${srcdir}/${_pkgname}-url-handler.desktop" "${pkgdir}/usr/share/applications/${_pkgname}-url-handler.desktop" cp -r "${srcdir}/${_pkg}/"* "${pkgdir}/opt/${_pkgname}" -R ln -s /opt/${_pkgname}/bin/code "${pkgdir}"/usr/bin/code }