Date: Thu, 18 Dec 2025 09:05:11 +0000 From: Hiroki Tagato <tagattie@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 31fd408f128c - main - editors/vscode: Update to 1.107.0 Message-ID: <6943c3c7.3eb79.7f9ddac@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by tagattie: URL: https://cgit.FreeBSD.org/ports/commit/?id=31fd408f128c20dacbba0be25388e831bc1df057 commit 31fd408f128c20dacbba0be25388e831bc1df057 Author: Hiroki Tagato <tagattie@FreeBSD.org> AuthorDate: 2025-12-18 08:50:47 +0000 Commit: Hiroki Tagato <tagattie@FreeBSD.org> CommitDate: 2025-12-18 09:04:40 +0000 editors/vscode: Update to 1.107.0 This update features hassle-free remote development over ssh. Prior to this update, users who want to use remote development over ssh needs to take some manual steps for setting up environment. From now on, just installing "Open Remote - SSH" extension should be enough. For more details, follow the instruction shown upon package installation. Additional changes to the port include: - split out target for building remote extension host to Makefile.reh to avoid excessive dependencies - populate product.json with useful information mainly for making popular extensions work out of the box[1] Changelog: https://code.visualstudio.com/updates/v1_107 Reported by: GitHub (watch releases) Obtained from: https://github.com/VSCodium/vscodium [1] --- editors/vscode/Makefile | 31 +- editors/vscode/Makefile.reh | 133 +++++ editors/vscode/Makefile.version | 2 + editors/vscode/distinfo | 14 +- ...sions.js => patch-build_gulpfile.extensions.ts} | 8 +- editors/vscode/files/patch-build_gulpfile.reh.ts | 29 + .../vscode/files/patch-build_gulpfile.vscode.ts | 11 + editors/vscode/files/patch-build_lib_electron.ts | 4 +- editors/vscode/files/patch-build_lib_preLaunch.ts | 6 +- .../patch-build_lib_propertyInitOrderChecker.ts | 4 +- ...soft-authentication_extension.webpack.config.js | 34 ++ editors/vscode/files/patch-package.json | 6 +- editors/vscode/files/patch-product.json | 19 - editors/vscode/files/patch-src_bootstrap-node.ts | 4 +- editors/vscode/files/patch-src_vs_base_node_ps.ts | 4 +- ..._services_actions_common_menusExtensionPoint.ts | 4 +- .../files/patch-test_automation_src_electron.ts | 6 +- editors/vscode/files/product.json.extensions | 597 +++++++++++++++++++++ editors/vscode/files/update-product-json.sh | 37 ++ editors/vscode/pkg-message | 44 ++ editors/vscode/pkg-plist | 218 +++++++- 21 files changed, 1129 insertions(+), 86 deletions(-) diff --git a/editors/vscode/Makefile b/editors/vscode/Makefile index 45fedbedec6f..45d2414aaffd 100644 --- a/editors/vscode/Makefile +++ b/editors/vscode/Makefile @@ -1,5 +1,5 @@ PORTNAME= vscode -DISTVERSION= 1.106.3 +DISTVERSION= ${VSCODE_VERSION} CATEGORIES= editors MASTER_SITES= https://github.com/tagattie/FreeBSD-VSCode/releases/download/${DISTVERSION}/:node_modules DISTFILES= vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules \ @@ -19,7 +19,6 @@ EXTRACT_DEPENDS=jq:textproc/jq \ node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION} BUILD_DEPENDS= zip:archivers/zip \ electron${ELECTRON_VER_MAJOR}:devel/electron${ELECTRON_VER_MAJOR} \ - tsgo:lang/typescript-go \ jq:textproc/jq \ rg:textproc/ripgrep \ npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX} @@ -68,8 +67,6 @@ USES= desktop-file-utils display:test gl gmake gnome gssapi:mit \ USE_GITHUB= yes GH_ACCOUNT= microsoft -SOURCE_COMMIT_HASH= bf9252a2fb45be6893dd8870c0bf37e2e1766d61 - BINARY_ALIAS= python=${PYTHON_CMD} USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xkbfile \ @@ -95,9 +92,12 @@ MAKE_ENV+= PLAYWRIGHT_BROWSERS_PATH=${WRKDIR}/pw-browsers \ MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1 TEST_ENV= ${MAKE_ENV:C/TMPDIR=.*//} -NODEJS_DIR= ${.CURDIR:H:H}/www/node22 +.include "Makefile.version" +.include <bsd.port.pre.mk> + +NODEJS_DIR= ${.CURDIR:H:H}/www/node${NODEJS_VERSION} .include "${NODEJS_DIR}/Makefile.version" -ELECTRON_DIR= ${.CURDIR:H:H}/devel/electron37 +ELECTRON_DIR= ${.CURDIR:H:H}/devel/electron39 .include "${ELECTRON_DIR}/Makefile.version" ELECTRON_DOWNLOAD_URL= https://github.com/electron/electron/releases/download/v${ELECTRON_VER} @@ -118,7 +118,7 @@ post-extract: ${WRKSRC}/build/.moduleignore.freebsd @${ECHO_MSG} "===> Installing node modules in ${WRKSRC}" @${TAR} -xzf ${WRKDIR}/vscode-.-node-modules${EXTRACT_SUFX} -C ${WRKSRC} - @for dir in `node -p "JSON.stringify(require('${WRKSRC}/build/npm/dirs').dirs)" | jq -r '.[]'`; do \ + @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \ if [ -f ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} ]; then \ ${ECHO_MSG} "===> Installing node modules in ${WRKSRC}/$${dir}"; \ ${TAR} -xzf ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} -C ${WRKSRC}/$${dir}; \ @@ -130,6 +130,9 @@ post-patch: ${WRKSRC}/.npmrc @${REINPLACE_CMD} -E 's|^(target=").*(")$$|\1${NODEJS_PORTVERSION}\2|' \ ${WRKSRC}/remote/.npmrc + @${REINPLACE_CMD} -e 's/%%DISTVERSION%%/${DISTVERSION}/g' \ + ${WRKSRC}/build/gulpfile.reh.ts \ + ${WRKSRC}/build/gulpfile.vscode.ts @(cd ${WRKSRC} && \ ${FIND} -E . -type f -iregex '${SHEBANG_REGEX}' \ -exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" {} ';') @@ -156,6 +159,8 @@ post-patch: ${FIND} . -type f -name '*.sh' \ -exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" \ -e 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|' {} ';') + @${SETENV} FILESDIR=${FILESDIR} \ + ${SH} ${FILESDIR}/update-product-json.sh ${WRKSRC} pre-build: # rebuild native node modules in top directory @@ -169,7 +174,7 @@ pre-build: node-gyp --userconfig=${WRKSRC}/.npmrc rebuild; \ done # rebuild native node modules in subdirectories - @for dir in `node -p "JSON.stringify(require('${WRKSRC}/build/npm/dirs').dirs)" | jq -r '.[]'`; do \ + @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \ for subdir in `${FIND} ${WRKSRC}/$${dir}/node_modules -type f -name binding.gyp -exec ${DIRNAME} {} ';' 2> /dev/null`; do \ ${ECHO_MSG} "===> Rebuilding native modules in $${subdir}"; \ if [ "`${ECHO_CMD} $${subdir} | ${GREP} /build/`" ]; then \ @@ -210,12 +215,8 @@ do-build: @cd ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} && \ zip -q -r ${WRKDIR}/.cache/electron/${ELECTRON_DOWNLOAD_URL_HASH}/electron-v${ELECTRON_VER}-linux-${ELECTRON_ARCH}.zip . # remove backup files so that they are not included in the package - @${FIND} ${WRKSRC} -type f \( -name '*.orig' -o -name '*~' \) -delete + @${FIND} ${WRKSRC} -type f \( -name '*.bak' -o -name '*.orig' -o -name '*~' \) -delete # build and package vscode - cd ${WRKSRC}/build && \ - ${SETENV} ${MAKE_ENV} npm run prebuild-ts - cd ${WRKSRC} && \ - ${SETENV} ${MAKE_ENV} tsgo -p build/tsconfig.build.json cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} \ npm_config_runtime=electron \ @@ -299,7 +300,7 @@ make-node-modules-archive: extract patch-package-json ${SETENV} ${MAKE_ENV} npm install \ --ignore-scripts --no-progress --no-audit --no-fund --no-update-notifier && \ ${TAR} -czf ${WRKDIR}/vscode-.-node-modules${EXTRACT_SUFX} node_modules - @for dir in `node -p "JSON.stringify(require('${WRKSRC}/build/npm/dirs').dirs)" | jq -r '.[]'`; do \ + @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \ cd ${WRKSRC}/$${dir} && \ ${ECHO_MSG} "===> Fetching and installing node modules in ${WRKSRC}/$${dir}" && \ ${SETENV} ${MAKE_ENV} npm install \ @@ -317,4 +318,4 @@ make-marketplace-exts-archive: extract ${SETENV} ${MAKE_ENV} npm run download-builtin-extensions @${TAR} -czf ${WRKDIR}/vscode-marketplace-exts-${DISTVERSION}${EXTRACT_SUFX} -C ${WRKSRC}/.build builtInExtensions -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/editors/vscode/Makefile.reh b/editors/vscode/Makefile.reh new file mode 100644 index 000000000000..247bb4469c56 --- /dev/null +++ b/editors/vscode/Makefile.reh @@ -0,0 +1,133 @@ +PORTNAME= vscode +DISTVERSION= ${VSCODE_VERSION} +CATEGORIES= editors +MASTER_SITES= https://github.com/tagattie/FreeBSD-VSCode/releases/download/${DISTVERSION}/:node_modules +PKGNAMESUFFIX= -reh +DISTFILES= vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules +DIST_SUBDIR= ${PORTNAME} + +MAINTAINER= tagattie@FreeBSD.org +COMMENT= Visual Studio Code - Open Source ("Code - OSS") +WWW= https://code.visualstudio.com/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +ONLY_FOR_ARCHS= aarch64 amd64 + +EXTRACT_DEPENDS=jq:textproc/jq \ + node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION} +BUILD_DEPENDS= jq:textproc/jq \ + rg:textproc/ripgrep \ + npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX} +LIB_DEPENDS= libbrotlidec.so:archivers/brotli \ + libcares.so:dns/c-ares \ + libicui18n.so:devel/icu \ + libllhttp.so:www/llhttp \ + libnghttp2.so:www/libnghttp2 \ + libnghttp3.so:www/libnghttp3 \ + libngtcp2.so:net/libngtcp2 \ + libsimdjson.so:devel/simdjson \ + libuv.so:devel/libuv \ + libzstd.so:archivers/zstd \ + libsqlite3.so:databases/sqlite3 \ + libsecret-1.so:security/libsecret +RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss + +USES= gssapi:mit localbase:ldflags nodejs:22,build pkgconfig \ + python:build shebangfix + +USE_GITHUB= yes +GH_ACCOUNT= microsoft + +SHEBANG_REGEX= ./(extensions|node_modules|resources|scripts|src)/.*(\.(pl|py|sh)|makeBlacker|makeFF)$$ +PATHFIX_FILES= src/vs/workbench/contrib/debug/node/terminals.ts + +MAKE_ENV= BUILD_SOURCEVERSION=${SOURCE_COMMIT_HASH} + +BINARY_ALIAS= python=${PYTHON_CMD} + +.include "Makefile.version" +.include <bsd.port.pre.mk> + +NODEJS_ARCH= ${ARCH:S/aarch64/arm64/:S/amd64/x64/} +NODEJS_DIR= ${PORTSDIR}/www/node${NODEJS_VERSION} +.include "${NODEJS_DIR}/Makefile.version" + +post-extract: + @${CP} ${WRKSRC}/build/.moduleignore.linux \ + ${WRKSRC}/build/.moduleignore.freebsd + @${ECHO_MSG} "===> Installing node modules in ${WRKSRC}" + @${TAR} -xzf ${WRKDIR}/vscode-.-node-modules${EXTRACT_SUFX} -C ${WRKSRC} + @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \ + if [ -f ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} ]; then \ + ${ECHO_MSG} "===> Installing node modules in ${WRKSRC}/$${dir}"; \ + ${TAR} -xzf ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} \ + -C ${WRKSRC}/$${dir}; \ + fi; \ + done + +post-patch: + @${REINPLACE_CMD} -E 's|^(target=").*(")$$|\1${NODEJS_PORTVERSION}\2|' \ + ${WRKSRC}/remote/.npmrc + @${REINPLACE_CMD} -e 's/%%DISTVERSION%%/${DISTVERSION}/g' \ + ${WRKSRC}/build/gulpfile.reh.ts \ + ${WRKSRC}/build/gulpfile.vscode.ts + @(cd ${WRKSRC} && \ + ${FIND} -E . -type f -iregex '${SHEBANG_REGEX}' \ + -exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" {} ';') + @(cd ${WRKSRC} && \ + ${FIND} ${PATHFIX_FILES} -type f \ + -exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" {} ';') + @${SETENV} FILESDIR=${FILESDIR} \ + ${SH} ${FILESDIR}/update-product-json.sh ${WRKSRC} + +pre-build: +# rebuild native node modules in subdirectories + @for dir in `node --input-type=module -e "console.log(JSON.stringify((await import('${WRKSRC}/build/npm/dirs.ts')).dirs))" | jq -r '.[]'`; do \ + for subdir in `${FIND} ${WRKSRC}/$${dir}/node_modules -type f -name binding.gyp -exec ${DIRNAME} {} ';' 2> /dev/null`; do \ + ${ECHO_MSG} "===> Rebuilding native modules in $${subdir}"; \ + if [ "`${ECHO_CMD} $${subdir} | ${GREP} /build/`" ]; then \ + cd $${subdir} && \ + ${SETENV} ${MAKE_ENV} \ + npm_config_runtime=node \ + npm_config_target=${NODEJS_PORTVERSION} \ + npm_config_nodedir=${LOCALBASE} \ + node-gyp --userconfig=${WRKSRC}/build/.npmrc rebuild; \ + elif [ "`${ECHO_CMD} $${subdir} | ${GREP} /remote/`" ]; then \ + cd $${subdir} && \ + ${SETENV} ${MAKE_ENV} \ + npm_config_runtime=node \ + npm_config_target=${NODEJS_PORTVERSION} \ + npm_config_nodedir=${LOCALBASE} \ + node-gyp --userconfig=${WRKSRC}/remote/.npmrc rebuild; \ + fi; \ + done; \ + done +# copy rg binary file to @vscode/ripgrep node module directory + @${MKDIR} ${WRKSRC}/build/node_modules/@vscode/ripgrep/bin + @${CP} ${LOCALBASE}/bin/rg \ + ${WRKSRC}/build/node_modules/@vscode/ripgrep/bin + @${MKDIR} ${WRKSRC}/remote/node_modules/@vscode/ripgrep/bin + @${CP} ${LOCALBASE}/bin/rg \ + ${WRKSRC}/remote/node_modules/@vscode/ripgrep/bin + +do-build: +# setup download cache for node + @${MKDIR} ${WRKSRC}/.build/node/v${NODEJS_PORTVERSION}/linux-${NODEJS_ARCH} + @${CP} ${LOCALBASE}/bin/node \ + ${WRKSRC}/.build/node/v${NODEJS_PORTVERSION}/linux-${NODEJS_ARCH} +# remove backup files so that they are not included in the package + @${FIND} ${WRKSRC} -type f \( -name '*.bak' -o -name '*.orig' -o -name '*~' \) -delete +# build vscode remote extension host + cd ${WRKSRC} && \ + ${SETENV} ${MAKE_ENV} \ + npm_config_runtime=node \ + npm_config_target=${NODEJS_PORTVERSION} \ + npm_config_nodedir=${LOCALBASE} \ + npm --userconfig=${WRKSRC}/remote/.npmrc run \ + gulp vscode-reh-linux-${NODEJS_ARCH}-min + ${TAR} -czf ${WRKDIR}/vscode-reh-${OPSYS:tl}-${NODEJS_ARCH}-${DISTVERSION}.tar.gz \ + -C ${WRKDIR}/vscode-reh-linux-${NODEJS_ARCH} . + +.include <bsd.port.post.mk> diff --git a/editors/vscode/Makefile.version b/editors/vscode/Makefile.version new file mode 100644 index 000000000000..57026b24956e --- /dev/null +++ b/editors/vscode/Makefile.version @@ -0,0 +1,2 @@ +VSCODE_VERSION= 1.107.0 +SOURCE_COMMIT_HASH= 302ff6a2e235c95b88e587d4a4b6eeb1b6613297 diff --git a/editors/vscode/distinfo b/editors/vscode/distinfo index 967dfefb1260..5bc95718674c 100644 --- a/editors/vscode/distinfo +++ b/editors/vscode/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1764278578 -SHA256 (vscode/vscode-node-modules-1.106.3.tar.gz) = 2634b129617857e323bb81b0e74281286141e81f0e931ed46039a5f4d40b4322 -SIZE (vscode/vscode-node-modules-1.106.3.tar.gz) = 456865192 -SHA256 (vscode/vscode-marketplace-exts-1.106.3.tar.gz) = 80a47e71e539baa3383f3cb139dc2d2f632b118a82e985c1fe61e90a574ea2d4 -SIZE (vscode/vscode-marketplace-exts-1.106.3.tar.gz) = 1704511 -SHA256 (vscode/microsoft-vscode-1.106.3_GH0.tar.gz) = 1b8530e60339963f5a12601db3191fa1f325a210148dfbea00275813583d69b9 -SIZE (vscode/microsoft-vscode-1.106.3_GH0.tar.gz) = 24044557 +TIMESTAMP = 1765693727 +SHA256 (vscode/vscode-node-modules-1.107.0.tar.gz) = 2540f57eab612c3f8d773fa2ddd3634f55916d89e9f26385b21e25663b6e141a +SIZE (vscode/vscode-node-modules-1.107.0.tar.gz) = 467359399 +SHA256 (vscode/vscode-marketplace-exts-1.107.0.tar.gz) = 8b50dde24b1ced293323bb81900da5645dee952866dad8af6247cde6abee784b +SIZE (vscode/vscode-marketplace-exts-1.107.0.tar.gz) = 1711786 +SHA256 (vscode/microsoft-vscode-1.107.0_GH0.tar.gz) = 6233b61cb7b5f62eca82de2d2c6c960eaec4bccbdc27ed00076eb34dd27939e4 +SIZE (vscode/microsoft-vscode-1.107.0_GH0.tar.gz) = 24211409 diff --git a/editors/vscode/files/patch-build_gulpfile.extensions.js b/editors/vscode/files/patch-build_gulpfile.extensions.ts similarity index 57% rename from editors/vscode/files/patch-build_gulpfile.extensions.js rename to editors/vscode/files/patch-build_gulpfile.extensions.ts index 7ed6ec5a8421..acc7408cdae8 100644 --- a/editors/vscode/files/patch-build_gulpfile.extensions.js +++ b/editors/vscode/files/patch-build_gulpfile.extensions.ts @@ -1,9 +1,9 @@ ---- build/gulpfile.extensions.js.orig 2025-10-08 13:50:39 UTC -+++ build/gulpfile.extensions.js -@@ -236,7 +236,7 @@ const compileNonNativeExtensionsBuildTask = task.defin +--- build/gulpfile.extensions.ts.orig 2025-12-14 06:36:07 UTC ++++ build/gulpfile.extensions.ts +@@ -218,7 +218,7 @@ export const compileNonNativeExtensionsBuildTask = tas * @note this does not clean the directory ahead of it. See {@link cleanExtensionsBuildTask} for that. */ - const compileNonNativeExtensionsBuildTask = task.define('compile-non-native-extensions-build', task.series( + export const compileNonNativeExtensionsBuildTask = task.define('compile-non-native-extensions-build', task.series( - bundleMarketplaceExtensionsBuildTask, + // bundleMarketplaceExtensionsBuildTask, task.define('bundle-non-native-extensions-build', () => ext.packageNonNativeLocalExtensionsStream(false, false).pipe(gulp.dest('.build'))) diff --git a/editors/vscode/files/patch-build_gulpfile.reh.ts b/editors/vscode/files/patch-build_gulpfile.reh.ts new file mode 100644 index 000000000000..3fa99675c1bd --- /dev/null +++ b/editors/vscode/files/patch-build_gulpfile.reh.ts @@ -0,0 +1,29 @@ +--- build/gulpfile.reh.ts.orig 2025-12-14 06:38:54 UTC ++++ build/gulpfile.reh.ts +@@ -25,7 +25,7 @@ import glob from 'glob'; + import File from 'vinyl'; + import * as fs from 'fs'; + import glob from 'glob'; +-import { compileBuildWithManglingTask } from './gulpfile.compile.ts'; ++import { compileBuildWithoutManglingTask } from './gulpfile.compile.ts'; + import { cleanExtensionsBuildTask, compileNonNativeExtensionsBuildTask, compileNativeExtensionsBuildTask, compileExtensionMediaBuildTask } from './gulpfile.extensions.ts'; + import { vscodeWebResourceIncludes, createVSCodeWebFileContentMapper } from './gulpfile.vscode.web.ts'; + import * as cp from 'child_process'; +@@ -321,7 +321,7 @@ function packageTask(type: string, platform: string, a + + let productJsonContents = ''; + const productJsonStream = gulp.src(['product.json'], { base: '.' }) +- .pipe(jsonEditor({ commit, date: readISODate('out-build'), version })) ++ .pipe(jsonEditor({ commit, date: readISODate('out-build'), version, serverDownloadUrlTemplate: 'https://github.com/tagattie/FreeBSD-VSCode/releases/download/%%DISTVERSION%%/vscode-reh-${os}-${arch}-%%DISTVERSION%%.tar.gz' })) + .pipe(es.through(function (file) { + productJsonContents = file.contents.toString(); + this.emit('data', file); +@@ -475,7 +475,7 @@ function tweakProductForServerWeb(product: typeof impo + gulp.task(serverTaskCI); + + const serverTask = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}`, task.series( +- compileBuildWithManglingTask, ++ compileBuildWithoutManglingTask, + cleanExtensionsBuildTask, + compileNonNativeExtensionsBuildTask, + compileExtensionMediaBuildTask, diff --git a/editors/vscode/files/patch-build_gulpfile.vscode.ts b/editors/vscode/files/patch-build_gulpfile.vscode.ts new file mode 100644 index 000000000000..895e181f0eea --- /dev/null +++ b/editors/vscode/files/patch-build_gulpfile.vscode.ts @@ -0,0 +1,11 @@ +--- build/gulpfile.vscode.ts.orig 2025-12-14 06:41:04 UTC ++++ build/gulpfile.vscode.ts +@@ -270,7 +270,7 @@ function packageTask(platform: string, arch: string, s + + let productJsonContents: string; + const productJsonStream = gulp.src(['product.json'], { base: '.' }) +- .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version })) ++ .pipe(jsonEditor({ commit, date: readISODate('out-build'), checksums, version, serverDownloadUrlTemplate: 'https://github.com/tagattie/FreeBSD-VSCode/releases/download/%%DISTVERSION%%/vscode-reh-${os}-${arch}-%%DISTVERSION%%.tar.gz' })) + .pipe(es.through(function (file) { + productJsonContents = file.contents.toString(); + this.emit('data', file); diff --git a/editors/vscode/files/patch-build_lib_electron.ts b/editors/vscode/files/patch-build_lib_electron.ts index c89cd63f67f6..c08444e60dd3 100644 --- a/editors/vscode/files/patch-build_lib_electron.ts +++ b/editors/vscode/files/patch-build_lib_electron.ts @@ -1,6 +1,6 @@ ---- build/lib/electron.ts.orig 2025-07-09 22:00:36 UTC +--- build/lib/electron.ts.orig 2025-12-10 18:02:22 UTC +++ build/lib/electron.ts -@@ -199,8 +199,9 @@ export const config = { +@@ -201,8 +201,9 @@ export const config = { winIcon: 'resources/win32/code.ico', token: process.env['GITHUB_TOKEN'], repo: product.electronRepository || undefined, diff --git a/editors/vscode/files/patch-build_lib_preLaunch.ts b/editors/vscode/files/patch-build_lib_preLaunch.ts index 692542cf3cbe..3acab403e05c 100644 --- a/editors/vscode/files/patch-build_lib_preLaunch.ts +++ b/editors/vscode/files/patch-build_lib_preLaunch.ts @@ -1,6 +1,6 @@ ---- build/lib/preLaunch.ts.orig 2024-09-27 21:08:28 UTC +--- build/lib/preLaunch.ts.orig 2025-12-10 18:02:22 UTC +++ build/lib/preLaunch.ts -@@ -35,9 +35,9 @@ async function ensureNodeModules() { +@@ -32,9 +32,9 @@ async function ensureNodeModules() { } } @@ -13,7 +13,7 @@ async function ensureCompiled() { if (!(await exists('out'))) { -@@ -47,7 +47,7 @@ async function main() { +@@ -44,7 +44,7 @@ async function main() { async function main() { await ensureNodeModules(); diff --git a/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts b/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts index b595a907f5d8..240da8aea01b 100644 --- a/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts +++ b/editors/vscode/files/patch-build_lib_propertyInitOrderChecker.ts @@ -1,6 +1,6 @@ ---- build/lib/propertyInitOrderChecker.ts.orig 2025-09-09 22:02:15 UTC +--- build/lib/propertyInitOrderChecker.ts.orig 2025-12-10 18:02:22 UTC +++ build/lib/propertyInitOrderChecker.ts -@@ -43,7 +43,7 @@ function createProgram(tsconfigPath: string): ts.Progr +@@ -45,7 +45,7 @@ function createProgram(tsconfigPath: string): ts.Progr function createProgram(tsconfigPath: string): ts.Program { const tsConfig = ts.readConfigFile(tsconfigPath, ts.sys.readFile); diff --git a/editors/vscode/files/patch-extensions_microsoft-authentication_extension.webpack.config.js b/editors/vscode/files/patch-extensions_microsoft-authentication_extension.webpack.config.js new file mode 100644 index 000000000000..8edba19e8c63 --- /dev/null +++ b/editors/vscode/files/patch-extensions_microsoft-authentication_extension.webpack.config.js @@ -0,0 +1,34 @@ +--- extensions/microsoft-authentication/extension.webpack.config.js.orig 2025-12-10 18:02:22 UTC ++++ extensions/microsoft-authentication/extension.webpack.config.js +@@ -6,6 +6,7 @@ import path from 'path'; + import withDefaults, { nodePlugins } from '../shared.webpack.config.mjs'; + import CopyWebpackPlugin from 'copy-webpack-plugin'; + import path from 'path'; ++import fs from 'fs'; + + const isWindows = process.platform === 'win32'; + const isMacOS = process.platform === 'darwin'; +@@ -25,6 +26,9 @@ switch (process.platform) { + case 'linux': + platformFolder = 'linux'; + break; ++ case 'freebsd': ++ platformFolder = 'freebsd'; ++ break; + default: + throw new Error(`Unsupported platform: ${process.platform}`); + } +@@ -32,11 +36,12 @@ console.log(`Building Microsoft Authentication Extensi + const arch = process.env.VSCODE_ARCH || process.arch; + console.log(`Building Microsoft Authentication Extension for ${process.platform} (${arch})`); + ++const exists = fs.globSync(`**/dist/${platformFolder}/${arch}/(lib|)msal*.(node|dll|dylib|so)`).length > 0; + const plugins = [...nodePlugins(import.meta.dirname)]; + if ( + (isWindows && windowsArches.includes(arch)) || + isMacOS || +- (isLinux && linuxArches.includes(arch)) ++ (isLinux && linuxArches.includes(arch) && exists) + ) { + plugins.push(new CopyWebpackPlugin({ + patterns: [ diff --git a/editors/vscode/files/patch-package.json b/editors/vscode/files/patch-package.json index 9edf7cfea439..05272d0a43a6 100644 --- a/editors/vscode/files/patch-package.json +++ b/editors/vscode/files/patch-package.json @@ -2,13 +2,13 @@ https://github.com/eclipse/openvsx/issues/543 https://github.com/termux/termux-packages/issues/24739 https://github.com/termux/termux-packages/pull/24757 ---- package.json.orig 2025-11-11 14:25:32 UTC +--- package.json.orig 2025-12-10 18:02:22 UTC +++ package.json @@ -108,6 +108,7 @@ - "native-is-elevated": "0.7.0", + "native-is-elevated": "0.8.0", "native-keymap": "^3.3.5", "native-watchdog": "^1.4.1", + "node-ovsx-sign": "^1.2.0", "node-pty": "1.1.0-beta35", "open": "^10.1.2", - "tas-client-umd": "0.2.0", + "tas-client": "0.3.1", diff --git a/editors/vscode/files/patch-product.json b/editors/vscode/files/patch-product.json deleted file mode 100644 index 4c3b4f4a3232..000000000000 --- a/editors/vscode/files/patch-product.json +++ /dev/null @@ -1,19 +0,0 @@ ---- product.json.orig 2025-04-09 23:39:47 UTC -+++ product.json -@@ -33,6 +33,16 @@ - "nodejsRepository": "https://nodejs.org", - "urlProtocol": "code-oss", - "webviewContentExternalBaseUrlTemplate": "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/", -+ "documentationUrl": "https://go.microsoft.com/fwlink/?LinkID=533484", -+ "extensionsGallery": { -+ "serviceUrl": "https://open-vsx.org/vscode/gallery", -+ "itemUrl": "https://open-vsx.org/vscode/item" -+ }, -+ "introductoryVideosUrl": "https://go.microsoft.com/fwlink/?linkid=832146", -+ "keyboardShortcutsUrlLinux": "https://go.microsoft.com/fwlink/?linkid=832144", -+ "quality": "stable", -+ "requestFeatureUrl": "https://go.microsoft.com/fwlink/?LinkID=533482", -+ "tipsAndTricksUrl": "https://go.microsoft.com/fwlink/?linkid=852118", - "builtInExtensions": [ - { - "name": "ms-vscode.js-debug-companion", diff --git a/editors/vscode/files/patch-src_bootstrap-node.ts b/editors/vscode/files/patch-src_bootstrap-node.ts index 555c2a2f8f3b..44befc6d9b24 100644 --- a/editors/vscode/files/patch-src_bootstrap-node.ts +++ b/editors/vscode/files/patch-src_bootstrap-node.ts @@ -1,6 +1,6 @@ ---- src/bootstrap-node.ts.orig 2025-09-09 22:02:15 UTC +--- src/bootstrap-node.ts.orig 2025-12-10 18:02:22 UTC +++ src/bootstrap-node.ts -@@ -150,7 +150,7 @@ export function configurePortable(product: Partial<IPr +@@ -155,7 +155,7 @@ export function configurePortable(product: Partial<IPr return process.env['VSCODE_PORTABLE']; } diff --git a/editors/vscode/files/patch-src_vs_base_node_ps.ts b/editors/vscode/files/patch-src_vs_base_node_ps.ts index 3d0cdab9e6bf..d5bf0afe856a 100644 --- a/editors/vscode/files/patch-src_vs_base_node_ps.ts +++ b/editors/vscode/files/patch-src_vs_base_node_ps.ts @@ -1,6 +1,6 @@ ---- src/vs/base/node/ps.ts.orig 2025-06-11 13:47:56 UTC +--- src/vs/base/node/ps.ts.orig 2025-12-10 18:02:22 UTC +++ src/vs/base/node/ps.ts -@@ -225,7 +225,7 @@ export function listProcesses(rootPid: number): Promis +@@ -223,7 +223,7 @@ export function listProcesses(rootPid: number): Promis } } else { const ps = stdout.toString().trim(); diff --git a/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts b/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts index c581f80ef624..2339c2ff3386 100644 --- a/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts +++ b/editors/vscode/files/patch-src_vs_workbench_services_actions_common_menusExtensionPoint.ts @@ -1,6 +1,6 @@ ---- src/vs/workbench/services/actions/common/menusExtensionPoint.ts.orig 2025-11-11 14:25:32 UTC +--- src/vs/workbench/services/actions/common/menusExtensionPoint.ts.orig 2025-12-10 18:02:22 UTC +++ src/vs/workbench/services/actions/common/menusExtensionPoint.ts -@@ -1191,7 +1191,10 @@ class CommandsTableRenderer extends Disposable impleme +@@ -1203,7 +1203,10 @@ class CommandsTableRenderer extends Disposable impleme switch (platform) { case 'win32': key = rawKeyBinding.win; break; diff --git a/editors/vscode/files/patch-test_automation_src_electron.ts b/editors/vscode/files/patch-test_automation_src_electron.ts index d9e0cf8836e2..f6ecbded70d6 100644 --- a/editors/vscode/files/patch-test_automation_src_electron.ts +++ b/editors/vscode/files/patch-test_automation_src_electron.ts @@ -1,6 +1,6 @@ ---- test/automation/src/electron.ts.orig 2025-11-11 14:25:32 UTC +--- test/automation/src/electron.ts.orig 2025-12-10 18:02:22 UTC +++ test/automation/src/electron.ts -@@ -96,6 +96,7 @@ export function getDevElectronPath(): string { +@@ -118,6 +118,7 @@ export function getDevElectronPath(): string { case 'darwin': return join(buildPath, 'electron', `${product.nameLong}.app`, 'Contents', 'MacOS', 'Electron'); case 'linux': @@ -8,7 +8,7 @@ return join(buildPath, 'electron', `${product.applicationName}`); case 'win32': return join(buildPath, 'electron', `${product.nameShort}.exe`); -@@ -108,7 +109,8 @@ export function getBuildElectronPath(root: string): st +@@ -130,7 +131,8 @@ export function getBuildElectronPath(root: string): st switch (process.platform) { case 'darwin': return join(root, 'Contents', 'MacOS', 'Electron'); diff --git a/editors/vscode/files/product.json.extensions b/editors/vscode/files/product.json.extensions new file mode 100644 index 000000000000..6b42ee37649f --- /dev/null +++ b/editors/vscode/files/product.json.extensions @@ -0,0 +1,597 @@ +{ + "extensionAllowedBadgeProviders": [ + "api.bintray.com", + "api.travis-ci.com", + "api.travis-ci.org", + "app.fossa.io", + "badge.buildkite.com", + "badge.fury.io", + "badge.waffle.io", + "badgen.net", + "badges.frapsoft.com", + "badges.gitter.im", + "badges.greenkeeper.io", + "cdn.travis-ci.com", + "cdn.travis-ci.org", + "ci.appveyor.com", + "circleci.com", + "cla.opensource.microsoft.com", + "codacy.com", + "codeclimate.com", + "codecov.io", + "coveralls.io", + "david-dm.org", + "deepscan.io", + "dev.azure.com", + "docs.rs", + "flat.badgen.net", + "gemnasium.com", + "githost.io", + "gitlab.com", + "godoc.org", + "goreportcard.com", + "img.shields.io", + "isitmaintained.com", + "marketplace.visualstudio.com", + "nodesecurity.io", + "opencollective.com", + "snyk.io", + "travis-ci.com", + "travis-ci.org", + "visualstudio.com", + "vsmarketplacebadge.apphb.com", + "www.bithound.io", + "www.versioneye.com" + ], + "extensionAllowedBadgeProvidersRegex": [ + "^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg" + ], + "extensionsEnabledWithApiProposalVersion": [ + "GitHub.copilot-chat", + "ms-vscode.vscode-commander", + "ms-vscode.vscode-copilot-vision", + "GitHub.vscode-pull-request-github" + ], + "extensionEnabledApiProposals": { + "ms-azuretools.vscode-containers": [ + "authenticationChallenges" + ], + "ms-azuretools.vscode-azureresourcegroups": [ + "authenticationChallenges" + ], + "ms-azuretools.vscode-azure-github-copilot": [ + "authenticationChallenges" + ], + "ms-azuretools.vscode-dev-azurecloudshell": [ + "contribEditSessions", + "authenticationChallenges" + ], + "ms-toolsai.vscode-ai": [ + "authenticationChallenges" + ], + "TeamsDevApp.vscode-ai-foundry": [ + "authenticationChallenges" + ], + "ms-vscode.vscode-selfhost-test-provider": [ + "testObserver", + "testRelatedCode" + ], + "VisualStudioExptTeam.vscodeintellicode-completions": [ + "inlineCompletionsAdditions" + ], + "ms-vsliveshare.vsliveshare": [ + "contribMenuBarHome", + "contribShareMenu", + "contribStatusBarItems", + "diffCommand", + "documentFiltersExclusive", + "fileSearchProvider", + "findTextInFiles", + "notebookLiveShare", + "terminalDimensions", + "terminalDataWriteEvent", + "textSearchProvider" + ], + "ms-vscode.js-debug": [ + "portsAttributes", + "findTextInFiles", + "workspaceTrust", + "tunnels" + ], + "ms-toolsai.vscode-ai-remote": [ + "resolvers", + "authenticationChallenges" + ], + "ms-python.python": [ + "codeActionAI", + "contribEditorContentMenu", + "quickPickSortByLabel", + "portsAttributes", + "testObserver", + "quickPickItemTooltip", + "terminalDataWriteEvent", + "terminalExecuteCommandEvent", + "notebookReplDocument", + "notebookVariableProvider", + "terminalShellEnv" + ], + "ms-python.vscode-python-envs": [ + "terminalShellEnv", + "terminalDataWriteEvent" + ], + "ms-dotnettools.dotnet-interactive-vscode": [ + "notebookMessaging" + ], + "GitHub.codespaces": [ + "contribEditSessions", + "contribMenuBarHome", + "contribRemoteHelp", + "contribViewsRemote", + "resolvers", + "tunnels", + "terminalDataWriteEvent", + "treeViewReveal", + "notebookKernelSource" + ], + "ms-vscode.azure-repos": [ + "extensionRuntime", + "fileSearchProvider", + "textSearchProvider" + ], + "ms-vscode.remote-repositories": [ + "canonicalUriProvider", + "contribEditSessions", + "contribRemoteHelp", + "contribMenuBarHome", + "contribViewsRemote", + "contribViewsWelcome", + "contribShareMenu", + "documentFiltersExclusive", + "editSessionIdentityProvider", + "extensionRuntime", + "fileSearchProvider", + "quickPickSortByLabel", + "workspaceTrust", + "shareProvider", + "scmActionButton", + "scmSelectedProvider", + "scmValidation", + "textSearchProvider", + "timeline" + ], + "ms-vscode-remote.remote-wsl": [ + "resolvers", + "contribRemoteHelp", + "contribViewsRemote", + "telemetry" + ], + "ms-vscode-remote.remote-ssh": [ + "resolvers", + "tunnels", + "terminalDataWriteEvent", + "contribRemoteHelp", + "contribViewsRemote", + "telemetry" + ], + "ms-vscode.remote-server": [ + "resolvers", + "tunnels", + "contribViewsWelcome" + ], + "ms-vscode.remote-explorer": [ + "contribRemoteHelp", + "contribViewsRemote", + "extensionsAny" + ], + "ms-vscode-remote.remote-containers": [ + "contribEditSessions", + "resolvers", + "portsAttributes", + "tunnels", + "workspaceTrust", + "terminalDimensions", + "contribRemoteHelp", + "contribViewsRemote" + ], + "ms-vscode.js-debug-nightly": [ + "portsAttributes", + "findTextInFiles", + "workspaceTrust", + "tunnels" + ], + "ms-vscode.lsif-browser": [ + "documentFiltersExclusive" + ], + "ms-vscode.vscode-speech": [ + "speech" + ], + "GitHub.vscode-pull-request-github": [ + "activeComment", + "chatParticipantAdditions", + "chatParticipantPrivate", + "chatSessionsProvider", + "codiconDecoration", + "codeActionRanges", + "commentingRangeHint", + "commentReactor", + "commentReveal", + "commentThreadApplicability", + "contribAccessibilityHelpContent", + "contribCommentEditorActionsMenu", + "contribCommentPeekContext", + "contribCommentThreadAdditionalMenu", + "contribCommentsViewThreadMenus", + "contribEditorContentMenu", + "contribMultiDiffEditorMenus", + "contribShareMenu", + "diffCommand", + "languageModelToolResultAudience", + "markdownAlertSyntax", + "quickDiffProvider", + "remoteCodingAgents", + "shareProvider", + "tabInputTextMerge", + "tokenInformation", + "treeItemMarkdownLabel", + "treeViewMarkdownMessage" + ], + "GitHub.copilot": [ + "inlineCompletionsAdditions", + "devDeviceId" + ], + "GitHub.copilot-nightly": [ + "inlineCompletionsAdditions", + "devDeviceId" + ], + "GitHub.copilot-chat": [ + "interactive", + "terminalDataWriteEvent", + "terminalExecuteCommandEvent", + "terminalSelection", + "terminalQuickFixProvider", + "chatParticipantAdditions", + "defaultChatParticipant", + "embeddings", + "chatEditing", + "chatProvider", + "mappedEditsProvider", + "aiRelatedInformation", + "aiSettingsSearch", + "codeActionAI", + "findTextInFiles", + "findTextInFiles2", + "textSearchProvider", + "textSearchProvider2", + "activeComment", + "commentReveal", + "contribSourceControlInputBoxMenu", + "contribCommentEditorActionsMenu", + "contribCommentThreadAdditionalMenu", + "contribCommentsViewThreadMenus", + "newSymbolNamesProvider", + "findFiles2", + "chatReferenceDiagnostic", + "extensionsAny", + "authLearnMore", + "testObserver", + "aiTextSearchProvider", + "documentFiltersExclusive", + "chatParticipantPrivate", + "contribDebugCreateConfiguration", + "inlineCompletionsAdditions", + "chatReferenceBinaryData", + "languageModelSystem", + "languageModelCapabilities", + "languageModelThinkingPart", + "chatStatusItem", + "taskProblemMatcherStatus", + "contribLanguageModelToolSets", + "textDocumentChangeReason", + "resolvers", + "taskExecutionTerminal", + "dataChannels", + "chatSessionsProvider", + "devDeviceId", + "contribEditorContentMenu" + ], + "GitHub.remotehub": [ + "contribRemoteHelp", + "contribMenuBarHome", + "contribViewsRemote", + "contribViewsWelcome", + "documentFiltersExclusive", + "extensionRuntime", + "fileSearchProvider", + "quickPickSortByLabel", + "workspaceTrust", + "scmSelectedProvider", + "scmValidation", + "textSearchProvider", + "timeline" + ], + "ms-python.vscode-pylance": [ + "terminalShellEnv", + "portsAttributes" + ], + "ms-python.debugpy": [ + "contribViewsWelcome", + "debugVisualization", + "portsAttributes" + ], + "ms-toolsai.jupyter-renderers": [ + "contribNotebookStaticPreloads" + ], + "ms-toolsai.jupyter": [ + "notebookDeprecated", + "notebookMessaging", + "notebookMime", + "portsAttributes", + "quickPickSortByLabel", + "notebookKernelSource", + "interactiveWindow", + "notebookControllerAffinityHidden", + "contribNotebookStaticPreloads", + "quickPickItemTooltip", + "notebookExecution", + "notebookCellExecution", + "notebookVariableProvider", + "notebookReplDocument" + ], + "donjayamanne.kusto": [ + "notebookVariableProvider" + ], + "ms-toolsai.tensorboard": [ + "portsAttributes" + ], + "dbaeumer.vscode-eslint": [], + "ms-vscode.azure-sphere-tools-ui": [ + "tunnels" + ], + "ms-azuretools.vscode-azureappservice": [ + "terminalDataWriteEvent" + ], + "ms-vscode.anycode": [ + "extensionsAny" + ], + "ms-vscode.cpptools": [ + "terminalDataWriteEvent", + "chatParticipantAdditions" + ], + "vscjava.vscode-java-pack": [], + "ms-dotnettools.csdevkit": [ + "inlineCompletionsAdditions" + ], + "ms-dotnettools.vscodeintellicode-csharp": [ + "inlineCompletionsAdditions" + ], + "microsoft-IsvExpTools.powerplatform-vscode": [ + "fileSearchProvider", + "textSearchProvider" + ], + "microsoft-IsvExpTools.powerplatform-vscode-preview": [ + "fileSearchProvider", + "textSearchProvider" + ], + "TeamsDevApp.ms-teams-vscode-extension": [ + "chatParticipantAdditions", + "languageModelSystem" + ], + "ms-toolsai.datawrangler": [], + "ms-vscode.vscode-commander": [], + "ms-vscode.vscode-websearchforcopilot": [], + "ms-vscode.vscode-copilot-vision": [ + "chatReferenceBinaryData", + "codeActionAI" *** 675 LINES SKIPPED ***home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6943c3c7.3eb79.7f9ddac>
