editors/vscode: Remove port
Desktop software not suitable for server-centric environment
This commit is contained in:
@@ -175,6 +175,7 @@ editors/libreoffice-zu
|
||||
editors/linux-wps-office
|
||||
editors/openoffice-4
|
||||
editors/openoffice-devel
|
||||
editors/vscode
|
||||
emulators/fuse-roms
|
||||
emulators/gens
|
||||
emulators/klh10
|
||||
|
||||
@@ -172,7 +172,6 @@
|
||||
SUBDIR += vim-colorschemes-legacy
|
||||
SUBDIR += vim-lsp
|
||||
SUBDIR += vis
|
||||
SUBDIR += vscode
|
||||
SUBDIR += web-mode
|
||||
SUBDIR += with-editor
|
||||
SUBDIR += with-editor-devel
|
||||
|
||||
@@ -1,323 +0,0 @@
|
||||
PORTNAME= vscode
|
||||
DISTVERSION= 1.98.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= editors
|
||||
MASTER_SITES= https://github.com/tagattie/FreeBSD-VSCode/releases/download/${DISTVERSION}/:node_modules
|
||||
DISTFILES= vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules \
|
||||
vscode-marketplace-exts-${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= amd64
|
||||
|
||||
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} \
|
||||
jq:textproc/jq \
|
||||
rg:textproc/ripgrep \
|
||||
npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX}
|
||||
LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \
|
||||
libatspi.so:accessibility/at-spi2-core \
|
||||
libasound.so:audio/alsa-lib \
|
||||
libFLAC.so:audio/flac \
|
||||
libopus.so:audio/opus \
|
||||
libsndio.so:audio/sndio \
|
||||
libdbus-1.so:devel/dbus \
|
||||
libicuuc.so:devel/icu \
|
||||
libepoll-shim.so:devel/libepoll-shim \
|
||||
libevent.so:devel/libevent \
|
||||
libffi.so:devel/libffi \
|
||||
libnotify.so:devel/libnotify \
|
||||
libpci.so:devel/libpci \
|
||||
libnspr4.so:devel/nspr \
|
||||
libpcre2-8.so:devel/pcre2 \
|
||||
libre2.so:devel/re2 \
|
||||
liblcms2.so:graphics/lcms2 \
|
||||
libdrm.so:graphics/libdrm \
|
||||
libpng.so:graphics/png \
|
||||
libwayland-client.so:graphics/wayland \
|
||||
libwebp.so:graphics/webp \
|
||||
libdav1d.so:multimedia/dav1d \
|
||||
libvpx.so:multimedia/libvpx \
|
||||
libopenh264.so:multimedia/openh264 \
|
||||
libpipewire-0.3.so:multimedia/pipewire \
|
||||
libcups.so:print/cups \
|
||||
libfreetype.so:print/freetype2 \
|
||||
libharfbuzz.so:print/harfbuzz \
|
||||
libkrb5.so.3:security/krb5 \
|
||||
libsecret-1.so:security/libsecret \
|
||||
libnss3.so:security/nss \
|
||||
libexpat.so:textproc/expat2 \
|
||||
libxkbcommon.so:x11/libxkbcommon \
|
||||
libxshmfence.so:x11/libxshmfence \
|
||||
libfontconfig.so:x11-fonts/fontconfig
|
||||
RUN_DEPENDS= xdg-open:devel/xdg-utils \
|
||||
bash:shells/bash
|
||||
TEST_DEPENDS= electron${ELECTRON_VER_MAJOR}:devel/electron${ELECTRON_VER_MAJOR} \
|
||||
bash:shells/bash
|
||||
|
||||
USES= desktop-file-utils gl gmake gnome iconv:wchar_t jpeg \
|
||||
localbase:ldflags nodejs:20,build pkgconfig python:build \
|
||||
shebangfix xorg
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= microsoft
|
||||
|
||||
SOURCE_COMMIT_HASH= ddc367ed5c8936efe395cffeec279b04ffd7db78
|
||||
|
||||
BINARY_ALIAS= python=${PYTHON_CMD}
|
||||
|
||||
USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xkbfile \
|
||||
xrandr xrender xscrnsaver xtst
|
||||
USE_GL= gbm gl glesv2
|
||||
USE_GNOME= atk cairo pango gdkpixbuf gtk30 libxml2 libxslt
|
||||
|
||||
SHEBANG_REGEX= ./(extensions|node_modules|resources|scripts|src)/.*\.sh$$
|
||||
PATHFIX_FILES= src/vs/workbench/contrib/debug/node/terminals.ts
|
||||
|
||||
DATADIR= ${PREFIX}/share/code-oss
|
||||
TMPDIR= ${WRKDIR}
|
||||
BUNDLE_LIBS= yes
|
||||
|
||||
MAKE_ENV+= BUILD_SOURCEVERSION=${SOURCE_COMMIT_HASH}
|
||||
# Don't download electron binary distribution on electron node_modules installation
|
||||
MAKE_ENV+= ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
# Don't download browser binaries on playwright node_modules installation
|
||||
MAKE_ENV+= PLAYWRIGHT_BROWSERS_PATH=${WRKDIR}/pw-browsers \
|
||||
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
# Don't create __pycache__ directory when executing node-gyp
|
||||
# This is a workaround to avoid filesystem violations during poudriere build
|
||||
MAKE_ENV+= PYTHONDONTWRITEBYTECODE=1
|
||||
|
||||
NODEJS_DIR= ${.CURDIR:H:H}/www/node20
|
||||
.include "${NODEJS_DIR}/Makefile.version"
|
||||
ELECTRON_DIR= ${.CURDIR:H:H}/devel/electron34
|
||||
.include "${ELECTRON_DIR}/Makefile.version"
|
||||
|
||||
ELECTRON_DOWNLOAD_URL= https://github.com/electron/electron/releases/download/v${ELECTRON_VER}
|
||||
ELECTRON_DOWNLOAD_URL_HASH!= /sbin/sha256 -q -s ${ELECTRON_DOWNLOAD_URL}
|
||||
ELECTRON_ARCH= ${ARCH:S/aarch64/arm64/:S/amd64/x64/:S/i386/ia32/}
|
||||
|
||||
pre-everything::
|
||||
@${ECHO_MSG} ""
|
||||
@${ECHO_MSG} "The limit imposed by poudriere(8) for the maximum number of files allowed to be"
|
||||
@${ECHO_MSG} "opened by a jail (default 1024) is exceeded during the build of ${PORTNAME}."
|
||||
@${ECHO_MSG} "To successfully build ${PORTNAME} with poudriere(8), you must add the following"
|
||||
@${ECHO_MSG} "line to poudriere.conf:"
|
||||
@${ECHO_MSG} "MAX_FILES_${PORTNAME}=8192"
|
||||
@${ECHO_MSG} ""
|
||||
|
||||
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 -p "JSON.stringify(require('${WRKSRC}/build/npm/dirs').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${ELECTRON_VER}\2|' \
|
||||
${WRKSRC}/.npmrc
|
||||
@${REINPLACE_CMD} -E 's|^(target=").*(")$$|\1${NODEJS_PORTVERSION}\2|' \
|
||||
${WRKSRC}/remote/.npmrc
|
||||
@(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" {} ';')
|
||||
@${REINPLACE_CMD} -e 's/@@NAME_LONG@@/Code - OSS/; \
|
||||
s/@@NAME_SHORT@@/Code - OSS/; \
|
||||
s/@@PRODNAME@@/Code - OSS/; \
|
||||
s/@@NAME@@/code-oss/g; \
|
||||
s|@@EXEC@@|${PREFIX}/bin/code-oss|; \
|
||||
s/@@ICON@@/com.visualstudio.code.oss/; \
|
||||
s/@@URLPROTOCOL@@/code-oss/; \
|
||||
s/@@LICENSE@@/MIT/; \
|
||||
s/@@APPNAME@@/code-oss/g; \
|
||||
s|/usr/share|${PREFIX}/share|' \
|
||||
${WRKSRC}/resources/completions/bash/code \
|
||||
${WRKSRC}/resources/completions/zsh/_code \
|
||||
${WRKSRC}/resources/linux/bin/code.sh \
|
||||
${WRKSRC}/resources/linux/code.appdata.xml \
|
||||
${WRKSRC}/resources/linux/code.desktop \
|
||||
${WRKSRC}/resources/linux/code-url-handler.desktop
|
||||
@(cd ${WRKDIR}/builtInExtensions && \
|
||||
${FIND} . -type f -name '*.sh' \
|
||||
-exec ${SED} -i '' -e "s|/usr/bin/pgrep|/bin/pgrep|g" \
|
||||
-e 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|' {} ';')
|
||||
|
||||
pre-build:
|
||||
# rebuild native node modules in top directory
|
||||
@for subdir in `${FIND} ${WRKSRC}/node_modules -type f -name binding.gyp -exec ${DIRNAME} {} ';'`; do \
|
||||
${ECHO_MSG} "===> Rebuilding native modules in $${subdir}"; \
|
||||
cd $${subdir} && \
|
||||
${SETENV} ${MAKE_ENV} \
|
||||
npm_config_runtime=electron \
|
||||
npm_config_target=${ELECTRON_VER} \
|
||||
npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers \
|
||||
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 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; \
|
||||
else \
|
||||
cd $${subdir} && \
|
||||
${SETENV} ${MAKE_ENV} \
|
||||
npm_config_runtime=electron \
|
||||
npm_config_target=${ELECTRON_VER} \
|
||||
npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers \
|
||||
node-gyp --userconfig=${WRKSRC}/.npmrc rebuild; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
# copy rg binary file to @vscode/ripgrep node module directory
|
||||
@${MKDIR} ${WRKSRC}/node_modules/@vscode/ripgrep/bin
|
||||
@${CP} ${LOCALBASE}/bin/rg ${WRKSRC}/node_modules/@vscode/ripgrep/bin
|
||||
@${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 gulp-atom-electron
|
||||
@${MKDIR} ${WRKDIR}/.cache/electron/${ELECTRON_DOWNLOAD_URL_HASH}
|
||||
@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 .
|
||||
@cd ${WRKDIR}/.cache/electron/${ELECTRON_DOWNLOAD_URL_HASH} && \
|
||||
${SHA256} -r *-v${ELECTRON_VER}-linux-*.zip | \
|
||||
${SED} -e 's/ / */' > SHASUMS256.txt
|
||||
# add newline character at the end of the file if not already
|
||||
@${AWK} '1' ${WRKSRC}/build/checksums/electron.txt > \
|
||||
${WRKSRC}/build/checksums/electron.txt.new
|
||||
@${MV} -f ${WRKSRC}/build/checksums/electron.txt.new \
|
||||
${WRKSRC}/build/checksums/electron.txt
|
||||
@cd ${WRKDIR}/.cache/electron/${ELECTRON_DOWNLOAD_URL_HASH} && \
|
||||
${SHA256} -r *-v${ELECTRON_VER}-linux-*.zip | \
|
||||
${SED} -e 's/ / */' >> ${WRKSRC}/build/checksums/electron.txt
|
||||
# remove backup files so that they are not included in the package
|
||||
@${FIND} ${WRKSRC} -type f \( -name '*.orig' -o -name '*~' \) -delete
|
||||
# build and package vscode
|
||||
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} npx tsc -p build/tsconfig.build.json
|
||||
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
|
||||
npm_config_runtime=electron \
|
||||
npm_config_target=${ELECTRON_VER} \
|
||||
npm_config_nodedir=${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR}/node_headers \
|
||||
npm --userconfig=${WRKSRC}/.npmrc run gulp vscode-linux-${ELECTRON_ARCH}-min
|
||||
# move marketplace extensions
|
||||
@${MV} ${WRKDIR}/builtInExtensions/* ${WRKDIR}/VSCode-linux-${ELECTRON_ARCH}/resources/app/extensions
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
|
||||
${INSTALL_DATA} ${WRKSRC}/resources/completions/bash/code \
|
||||
${STAGEDIR}${PREFIX}/etc/bash_completion.d/code-oss
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
|
||||
${INSTALL_DATA} ${WRKSRC}/resources/completions/zsh/_code \
|
||||
${STAGEDIR}${PREFIX}/share/zsh/site-functions/_code-oss
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/share/appdata
|
||||
${INSTALL_DATA} ${WRKSRC}/resources/linux/code.appdata.xml \
|
||||
${STAGEDIR}${PREFIX}/share/appdata/code-oss.appdata.xml
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/share/applications
|
||||
.for f in code.desktop code-url-handler.desktop
|
||||
${INSTALL_DATA} ${WRKSRC}/resources/linux/${f} \
|
||||
${STAGEDIR}${PREFIX}/share/applications/${f:S/code/code-oss/}
|
||||
.endfor
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
|
||||
${INSTALL_DATA} ${WRKSRC}/resources/linux/code.png \
|
||||
${STAGEDIR}${PREFIX}/share/pixmaps/com.visualstudio.code.oss.png
|
||||
@${MKDIR} ${STAGEDIR}${DATADIR}
|
||||
${TAR} -cf - -C ${WRKDIR}/VSCode-linux-${ELECTRON_ARCH} . | \
|
||||
${TAR} -xf - -C ${STAGEDIR}${DATADIR}
|
||||
@${FIND} ${STAGEDIR}${DATADIR}/resources/app -type f -exec ${FILE} {} ';' | \
|
||||
${GREP} 'ELF.*FreeBSD' | ${AWK} -F ': ' '{print $$1}' | ${XARGS} ${STRIP_CMD}
|
||||
.for f in chromedriver mksnapshot v8_context_snapshot_generator
|
||||
@${RM} ${STAGEDIR}${DATADIR}/${f}
|
||||
.endfor
|
||||
@${RM} -r ${STAGEDIR}${DATADIR}/gen
|
||||
@${RM} -r ${STAGEDIR}${DATADIR}/node_headers
|
||||
@${RM} -r ${STAGEDIR}${DATADIR}/resources/completions
|
||||
${RLN} ${STAGEDIR}${DATADIR}/bin/code-oss ${STAGEDIR}${PREFIX}/bin
|
||||
${INSTALL_SCRIPT} ${FILESDIR}/wrapper.sh ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
|
||||
|
||||
pre-test:
|
||||
# setup electron dependency for unit tests
|
||||
@${MKDIR} ${WRKSRC}/.build/electron
|
||||
@${TAR} -cf - -C ${LOCALBASE}/share/electron${ELECTRON_VER_MAJOR} . | \
|
||||
${TAR} -xf - -C ${WRKSRC}/.build/electron
|
||||
@cd ${WRKSRC}/.build/electron && ${MV} -f electron code-oss
|
||||
|
||||
do-test:
|
||||
# Note: Xvfb or something similar is necessary for headless testing
|
||||
# unit tests
|
||||
cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ./scripts/test.sh || ${TRUE}
|
||||
# UI smoke tests
|
||||
cd ${WRKSRC} && ${SETENV} ${TEST_ENV} yarn smoketest
|
||||
|
||||
build-remote-extension-host: configure pre-build
|
||||
# setup download cache for node
|
||||
@${MKDIR} ${WRKSRC}/.build/node/v${NODEJS_PORTVERSION}/linux-${ELECTRON_ARCH}
|
||||
@${CP} ${LOCALBASE}/bin/node ${WRKSRC}/.build/node/v${NODEJS_PORTVERSION}/linux-${ELECTRON_ARCH}
|
||||
# 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-${ELECTRON_ARCH}-min
|
||||
@${MKDIR} ${WRKDIR}/vscode-reh/bin/${SOURCE_COMMIT_HASH}
|
||||
${TAR} -cf - -C ${WRKDIR}/vscode-reh-linux-${ELECTRON_ARCH} . | \
|
||||
${TAR} -xf - -C ${WRKDIR}/vscode-reh/bin/${SOURCE_COMMIT_HASH}
|
||||
@${FIND} ${WRKDIR}/vscode-reh -type f -exec ${FILE} {} ';' | \
|
||||
${GREP} 'ELF.*FreeBSD' | ${AWK} -F ': ' '{print $$1}' | ${XARGS} ${STRIP_CMD}
|
||||
${TAR} -czf ${WRKDIR}/vscode-reh-${DISTVERSION}-${OPSYS:tl}${OSREL:R}-${ARCH}.tar.gz -C ${WRKDIR}/vscode-reh .
|
||||
# cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} npm run gulp vscode-reh-web-linux-${ELECTRON_ARCH}-min
|
||||
|
||||
### targets for port maintainer(s)
|
||||
make-node-modules-archive: extract
|
||||
@${ECHO_MSG} "===> Fetching and installing node modules in ${WRKSRC}"
|
||||
@cd ${WRKSRC} && \
|
||||
${SETENV} ${MAKE_ENV} npm install --ignore-scripts --no-progress --no-audit --no-fund && \
|
||||
${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 \
|
||||
cd ${WRKSRC}/$${dir} && \
|
||||
${ECHO_MSG} "===> Fetching and installing node modules in ${WRKSRC}/$${dir}" && \
|
||||
${SETENV} ${MAKE_ENV} npm install --ignore-scripts --no-progress --no-audit --no-fund && \
|
||||
if [ -d node_modules ]; then \
|
||||
${TAR} -czf ${WRKDIR}/vscode-`echo $${dir} | tr _ __ | tr / _`-node-modules${EXTRACT_SUFX} node_modules; \
|
||||
fi; \
|
||||
done
|
||||
@cd ${WRKDIR} && \
|
||||
${TAR} -czf vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX} vscode-*-node-modules.tar.gz
|
||||
|
||||
make-marketplace-exts-archive: extract
|
||||
@${RM} -r ${WRKSRC}/.build/builtInExtensions
|
||||
@cd ${WRKSRC} && \
|
||||
${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>
|
||||
@@ -1,7 +0,0 @@
|
||||
TIMESTAMP = 1741954121
|
||||
SHA256 (vscode/vscode-node-modules-1.98.2.tar.gz) = b7a655391928a022d69bad6aac95f0b2266e67c9d499ad5573f334f5fe89a91e
|
||||
SIZE (vscode/vscode-node-modules-1.98.2.tar.gz) = 397868183
|
||||
SHA256 (vscode/vscode-marketplace-exts-1.98.2.tar.gz) = 5010a01ba64ada6477792df88e1546eddc5fe4934c9f28976972cdf6820ce75f
|
||||
SIZE (vscode/vscode-marketplace-exts-1.98.2.tar.gz) = 1613655
|
||||
SHA256 (vscode/microsoft-vscode-1.98.2_GH0.tar.gz) = e33c5e245420e877eca378103661d99ee768d6c21fa9bd690a7171b32258d6da
|
||||
SIZE (vscode/microsoft-vscode-1.98.2_GH0.tar.gz) = 22215085
|
||||
@@ -1,11 +0,0 @@
|
||||
--- build/gulpfile.extensions.js.orig 2024-12-10 22:22:47 UTC
|
||||
+++ build/gulpfile.extensions.js
|
||||
@@ -247,7 +247,7 @@ const compileNonNativeExtensionsBuildTask = task.defin
|
||||
* @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(
|
||||
- bundleMarketplaceExtensionsBuildTask,
|
||||
+ // bundleMarketplaceExtensionsBuildTask,
|
||||
task.define('bundle-non-native-extensions-build', () => ext.packageNonNativeLocalExtensionsStream().pipe(gulp.dest('.build')))
|
||||
));
|
||||
gulp.task(compileNonNativeExtensionsBuildTask);
|
||||
@@ -1,11 +0,0 @@
|
||||
--- build/lib/layersChecker.ts.orig 2025-02-04 18:19:16 UTC
|
||||
+++ build/lib/layersChecker.ts
|
||||
@@ -407,7 +407,7 @@ function createProgram(tsconfigPath: string): ts.Progr
|
||||
function createProgram(tsconfigPath: string): ts.Program {
|
||||
const tsConfig = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
|
||||
|
||||
- const configHostParser: ts.ParseConfigHost = { fileExists: existsSync, readDirectory: ts.sys.readDirectory, readFile: file => readFileSync(file, 'utf8'), useCaseSensitiveFileNames: process.platform === 'linux' };
|
||||
+ const configHostParser: ts.ParseConfigHost = { fileExists: existsSync, readDirectory: ts.sys.readDirectory, readFile: file => readFileSync(file, 'utf8'), useCaseSensitiveFileNames: (process.platform === 'linux' || process.platform === 'freebsd') };
|
||||
const tsConfigParsed = ts.parseJsonConfigFileContent(tsConfig.config, configHostParser, resolve(dirname(tsconfigPath)), { noEmit: true });
|
||||
|
||||
const compilerHost = ts.createCompilerHost(tsConfigParsed.options, true);
|
||||
@@ -1,24 +0,0 @@
|
||||
--- build/lib/preLaunch.ts.orig 2024-09-27 21:08:28 UTC
|
||||
+++ build/lib/preLaunch.ts
|
||||
@@ -35,9 +35,9 @@ async function ensureNodeModules() {
|
||||
}
|
||||
}
|
||||
|
||||
-async function getElectron() {
|
||||
- await runProcess(npm, ['run', 'electron']);
|
||||
-}
|
||||
+// async function getElectron() {
|
||||
+// await runProcess(npm, ['run', 'electron']);
|
||||
+// }
|
||||
|
||||
async function ensureCompiled() {
|
||||
if (!(await exists('out'))) {
|
||||
@@ -47,7 +47,7 @@ async function main() {
|
||||
|
||||
async function main() {
|
||||
await ensureNodeModules();
|
||||
- await getElectron();
|
||||
+ // await getElectron();
|
||||
await ensureCompiled();
|
||||
|
||||
// Can't require this until after dependencies are installed
|
||||
@@ -1,11 +0,0 @@
|
||||
--- build/lib/snapshotLoader.ts.orig 2022-07-05 18:15:23 UTC
|
||||
+++ build/lib/snapshotLoader.ts
|
||||
@@ -25,7 +25,7 @@ namespace snaps {
|
||||
break;
|
||||
|
||||
case 'win32':
|
||||
- case 'linux':
|
||||
+ case 'linux': case 'freebsd':
|
||||
loaderFilepath = `VSCode-${process.platform}-${arch}/resources/app/out/vs/loader.js`;
|
||||
startupBlobFilepath = `VSCode-${process.platform}-${arch}/snapshot_blob.bin`;
|
||||
break;
|
||||
@@ -1,15 +0,0 @@
|
||||
--- build/node_modules/tree-sitter/src/node.cc.orig 2024-10-11 07:51:19 UTC
|
||||
+++ build/node_modules/tree-sitter/src/node.cc
|
||||
@@ -479,9 +479,9 @@ struct SymbolSet {
|
||||
}
|
||||
|
||||
struct SymbolSet {
|
||||
- std::basic_string<TSSymbol> symbols;
|
||||
- void add(TSSymbol symbol) { symbols += symbol; }
|
||||
- bool contains(TSSymbol symbol) { return symbols.find(symbol) != symbols.npos; }
|
||||
+ std::vector<TSSymbol> symbols;
|
||||
+ void add(TSSymbol symbol) { symbols.push_back(symbol); }
|
||||
+ bool contains(TSSymbol symbol) const { return std::find(symbols.begin(), symbols.end(), symbol) != symbols.end(); }
|
||||
};
|
||||
|
||||
bool symbol_set_from_js(SymbolSet *symbols, const Local<Value> &value, const TSLanguage *language) {
|
||||
@@ -1,11 +0,0 @@
|
||||
--- extensions/emmet/src/test/testUtils.ts.orig 2022-02-02 16:57:24 UTC
|
||||
+++ extensions/emmet/src/test/testUtils.ts
|
||||
@@ -31,7 +31,7 @@ export function createRandomFile(contents = '', fileEx
|
||||
}
|
||||
|
||||
export function pathEquals(path1: string, path2: string): boolean {
|
||||
- if (process.platform !== 'linux') {
|
||||
+ if (process.platform !== 'linux' && process.platform !== 'freebsd') {
|
||||
path1 = path1.toLowerCase();
|
||||
path2 = path2.toLowerCase();
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
--- extensions/vscode-api-tests/src/utils.ts.orig 2022-02-02 16:57:24 UTC
|
||||
+++ extensions/vscode-api-tests/src/utils.ts
|
||||
@@ -38,7 +38,7 @@ export async function deleteFile(file: vscode.Uri): Pr
|
||||
}
|
||||
|
||||
export function pathEquals(path1: string, path2: string): boolean {
|
||||
- if (process.platform !== 'linux') {
|
||||
+ if (process.platform !== 'linux' && process.platform !== 'freebsd') {
|
||||
path1 = path1.toLowerCase();
|
||||
path2 = path2.toLowerCase();
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
--- extensions/vscode-test-resolver/src/util/processes.ts.orig 2022-04-11 07:30:00 UTC
|
||||
+++ extensions/vscode-test-resolver/src/util/processes.ts
|
||||
@@ -20,7 +20,7 @@ export function terminateProcess(p: cp.ChildProcess, e
|
||||
} catch (err) {
|
||||
return { success: false, error: err };
|
||||
}
|
||||
- } else if (process.platform === 'darwin' || process.platform === 'linux') {
|
||||
+ } else if (process.platform === 'darwin' || process.platform === 'linux' || process.platform === 'freebsd') {
|
||||
try {
|
||||
const cmd = path.join(extensionPath, 'scripts', 'terminateProcess.sh');
|
||||
const result = cp.spawnSync(cmd, [p.pid!.toString()]);
|
||||
@@ -1,11 +0,0 @@
|
||||
--- node_modules/kerberos/binding.gyp.orig 2024-09-09 06:45:52 UTC
|
||||
+++ node_modules/kerberos/binding.gyp
|
||||
@@ -54,7 +54,7 @@
|
||||
]
|
||||
}
|
||||
}],
|
||||
- ['OS=="mac" or OS=="linux"', {
|
||||
+ ['OS=="mac" or OS=="linux" or OS=="freebsd"', {
|
||||
'sources': [
|
||||
'src/unix/base64.cc',
|
||||
'src/unix/kerberos_gss.cc',
|
||||
@@ -1,11 +0,0 @@
|
||||
--- node_modules/kerberos/src/kerberos_common.h.orig 2023-08-06 02:45:18 UTC
|
||||
+++ node_modules/kerberos/src/kerberos_common.h
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef KERBEROS_COMMON_H
|
||||
#define KERBEROS_COMMON_H
|
||||
|
||||
-#if defined(__linux__) || defined(__APPLE__)
|
||||
+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
|
||||
#include "unix/kerberos_gss.h"
|
||||
|
||||
namespace node_kerberos {
|
||||
@@ -1,19 +0,0 @@
|
||||
--- product.json.orig 2023-11-01 09:39:20 UTC
|
||||
+++ product.json
|
||||
@@ -31,6 +31,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",
|
||||
@@ -1,11 +0,0 @@
|
||||
--- remote/node_modules/kerberos/binding.gyp.orig 2024-09-09 06:45:52 UTC
|
||||
+++ remote/node_modules/kerberos/binding.gyp
|
||||
@@ -54,7 +54,7 @@
|
||||
]
|
||||
}
|
||||
}],
|
||||
- ['OS=="mac" or OS=="linux"', {
|
||||
+ ['OS=="mac" or OS=="linux" or OS=="freebsd"', {
|
||||
'sources': [
|
||||
'src/unix/base64.cc',
|
||||
'src/unix/kerberos_gss.cc',
|
||||
@@ -1,11 +0,0 @@
|
||||
--- remote/node_modules/kerberos/src/kerberos_common.h.orig 2023-08-06 02:46:04 UTC
|
||||
+++ remote/node_modules/kerberos/src/kerberos_common.h
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef KERBEROS_COMMON_H
|
||||
#define KERBEROS_COMMON_H
|
||||
|
||||
-#if defined(__linux__) || defined(__APPLE__)
|
||||
+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
|
||||
#include "unix/kerberos_gss.h"
|
||||
|
||||
namespace node_kerberos {
|
||||
@@ -1,11 +0,0 @@
|
||||
--- resources/linux/bin/code.sh.orig 2022-06-08 11:20:55 UTC
|
||||
+++ resources/linux/bin/code.sh
|
||||
@@ -13,7 +13,7 @@ if [ -n "$VSCODE_IPC_HOOK_CLI" ]; then
|
||||
fi
|
||||
|
||||
# test that VSCode wasn't installed inside WSL
|
||||
-if grep -qi Microsoft /proc/version && [ -z "$DONT_PROMPT_WSL_INSTALL" ]; then
|
||||
+if grep -qi Microsoft /proc/version 2> /dev/null && [ -z "$DONT_PROMPT_WSL_INSTALL" ]; then
|
||||
echo "To use @@PRODNAME@@ with the Windows Subsystem for Linux, please install @@PRODNAME@@ in Windows and uninstall the Linux version in WSL. You can then use the \`@@APPNAME@@\` command in a WSL terminal just as you would in a normal command prompt." 1>&2
|
||||
printf "Do you want to continue anyway? [y/N] " 1>&2
|
||||
read -r YN
|
||||
@@ -1,12 +0,0 @@
|
||||
--- resources/server/bin/helpers/check-requirements-linux.sh.orig 2024-07-31 20:26:36 UTC
|
||||
+++ resources/server/bin/helpers/check-requirements-linux.sh
|
||||
@@ -35,6 +35,9 @@ if [ -f /etc/os-release ]; then
|
||||
if [ "$OS_ID" = "nixos" ]; then
|
||||
echo "Warning: NixOS detected, skipping GLIBC check"
|
||||
exit 0
|
||||
+ elif [ "$OS_ID" = "freebsd" ]; then
|
||||
+ echo "Warning: FreeBSD detected, skipping GLIBC check"
|
||||
+ exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- scripts/code-perf.js.orig 2024-03-01 05:22:09 UTC
|
||||
+++ scripts/code-perf.js
|
||||
@@ -65,7 +65,7 @@ function getExePath(buildPath) {
|
||||
case 'darwin':
|
||||
relativeExePath = path.join('Contents', 'MacOS', 'Electron');
|
||||
break;
|
||||
- case 'linux': {
|
||||
+ case 'linux': case 'freebsd': {
|
||||
const product = require(path.join(buildPath, 'resources', 'app', 'product.json'));
|
||||
relativeExePath = product.applicationName;
|
||||
break;
|
||||
@@ -1,11 +0,0 @@
|
||||
--- scripts/test.sh.orig 2024-09-27 21:08:28 UTC
|
||||
+++ scripts/test.sh
|
||||
@@ -27,7 +27,7 @@ test -d node_modules || npm i
|
||||
test -d node_modules || npm i
|
||||
|
||||
# Get electron
|
||||
-npm run electron
|
||||
+# npm run electron
|
||||
|
||||
# Unit Tests
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
@@ -1,11 +0,0 @@
|
||||
--- src/bootstrap-node.ts.orig 2025-02-10 13:07:56 UTC
|
||||
+++ src/bootstrap-node.ts
|
||||
@@ -152,7 +152,7 @@ export function configurePortable(product: Partial<IPr
|
||||
return process.env['VSCODE_PORTABLE'];
|
||||
}
|
||||
|
||||
- if (process.platform === 'win32' || process.platform === 'linux') {
|
||||
+ if (process.platform === 'win32' || process.platform === 'linux' || process.platform === 'freebsd') {
|
||||
return path.join(getApplicationPath(), 'data');
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
--- src/main.ts.orig 2025-03-12 13:24:52 UTC
|
||||
+++ src/main.ts
|
||||
@@ -141,7 +141,7 @@ if (userLocale) {
|
||||
// Pseudo Language Language Pack is being used.
|
||||
// In that case, use `en` as the Electron locale.
|
||||
|
||||
-if (process.platform === 'win32' || process.platform === 'linux') {
|
||||
+if (process.platform === 'win32' || process.platform === 'linux' || process.platform === 'freebsd') {
|
||||
const electronLocale = (!userLocale || userLocale === 'qps-ploc') ? 'en' : userLocale;
|
||||
app.commandLine.appendSwitch('lang', electronLocale);
|
||||
}
|
||||
@@ -231,7 +231,7 @@ function configureCommandlineSwitchesSync(cliArgs: Nat
|
||||
'proxy-bypass-list'
|
||||
];
|
||||
|
||||
- if (process.platform === 'linux') {
|
||||
+ if (process.platform === 'linux' || process.platform === 'freebsd') {
|
||||
|
||||
// Force enable screen readers on Linux via this flag
|
||||
SUPPORTED_ELECTRON_SWITCHES.push('force-renderer-accessibility');
|
||||
@@ -1,20 +0,0 @@
|
||||
--- src/vs/base/common/platform.ts.orig 2024-09-04 12:53:09 UTC
|
||||
+++ src/vs/base/common/platform.ts
|
||||
@@ -74,7 +74,7 @@ if (typeof nodeProcess === 'object') {
|
||||
if (typeof nodeProcess === 'object') {
|
||||
_isWindows = (nodeProcess.platform === 'win32');
|
||||
_isMacintosh = (nodeProcess.platform === 'darwin');
|
||||
- _isLinux = (nodeProcess.platform === 'linux');
|
||||
+ _isLinux = (nodeProcess.platform === 'linux' || nodeProcess.platform === 'freebsd');
|
||||
_isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];
|
||||
_isElectron = isElectronProcess;
|
||||
_isCI = !!nodeProcess.env['CI'] || !!nodeProcess.env['BUILD_ARTIFACTSTAGINGDIRECTORY'];
|
||||
@@ -100,7 +100,7 @@ else if (typeof navigator === 'object' && !isElectronR
|
||||
_isWindows = _userAgent.indexOf('Windows') >= 0;
|
||||
_isMacintosh = _userAgent.indexOf('Macintosh') >= 0;
|
||||
_isIOS = (_userAgent.indexOf('Macintosh') >= 0 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;
|
||||
- _isLinux = _userAgent.indexOf('Linux') >= 0;
|
||||
+ _isLinux = (_userAgent.indexOf('Linux') >= 0 || _userAgent.indexOf('FreeBSD') >= 0);
|
||||
_isMobile = _userAgent?.indexOf('Mobi') >= 0;
|
||||
_isWeb = true;
|
||||
_language = nls.getNLSLanguage() || LANGUAGE_DEFAULT;
|
||||
@@ -1,21 +0,0 @@
|
||||
--- src/vs/base/node/ps.ts.orig 2024-01-31 22:36:21 UTC
|
||||
+++ src/vs/base/node/ps.ts
|
||||
@@ -208,7 +208,7 @@ export function listProcesses(rootPid: number): Promis
|
||||
|
||||
exec('which ps', {}, (err, stdout, stderr) => {
|
||||
if (err || stderr) {
|
||||
- if (process.platform !== 'linux') {
|
||||
+ if (process.platform !== 'linux' && process.platform !== 'freebsd') {
|
||||
reject(err || new Error(stderr.toString()));
|
||||
} else {
|
||||
const cmd = JSON.stringify(FileAccess.asFileUri('vs/base/node/ps.sh').fsPath);
|
||||
@@ -223,7 +223,8 @@ export function listProcesses(rootPid: number): Promis
|
||||
}
|
||||
} else {
|
||||
const ps = stdout.toString().trim();
|
||||
- const args = '-ax -o pid=,ppid=,pcpu=,pmem=,command=';
|
||||
+ // const args = '-ax -o pid=,ppid=,pcpu=,pmem=,command=';
|
||||
+ const args = '-ax -o pid= -o ppid= -o pcpu= -o pmem= -o command=';
|
||||
|
||||
// Set numeric locale to ensure '.' is used as the decimal separator
|
||||
exec(`${ps} ${args}`, { maxBuffer: 1000 * 1024, env: { LC_NUMERIC: 'en_US.UTF-8' } }, (err, stdout, stderr) => {
|
||||
@@ -1,11 +0,0 @@
|
||||
--- src/vs/code/electron-main/app.ts.orig 2025-03-12 13:24:52 UTC
|
||||
+++ src/vs/code/electron-main/app.ts
|
||||
@@ -1006,7 +1006,7 @@ export class CodeApplication extends Disposable {
|
||||
services.set(IUpdateService, new SyncDescriptor(Win32UpdateService));
|
||||
break;
|
||||
|
||||
- case 'linux':
|
||||
+ case 'linux': case 'freebsd':
|
||||
if (isLinuxSnap) {
|
||||
services.set(IUpdateService, new SyncDescriptor(SnapUpdateService, [process.env['SNAP'], process.env['SNAP_REVISION']]));
|
||||
} else {
|
||||
@@ -1,11 +0,0 @@
|
||||
--- src/vs/platform/environment/node/userDataPath.ts.orig 2024-11-05 12:18:19 UTC
|
||||
+++ src/vs/platform/environment/node/userDataPath.ts
|
||||
@@ -76,7 +76,7 @@ function doGetUserDataPath(cliArgs: NativeParsedArgs,
|
||||
case 'darwin':
|
||||
appDataPath = path.join(os.homedir(), 'Library', 'Application Support');
|
||||
break;
|
||||
- case 'linux':
|
||||
+ case 'linux': case 'freebsd':
|
||||
appDataPath = process.env['XDG_CONFIG_HOME'] || path.join(os.homedir(), '.config');
|
||||
break;
|
||||
default:
|
||||
@@ -1,11 +0,0 @@
|
||||
--- src/vs/workbench/api/browser/mainThreadTask.ts.orig 2024-10-31 05:10:14 UTC
|
||||
+++ src/vs/workbench/api/browser/mainThreadTask.ts
|
||||
@@ -678,7 +678,7 @@ export class MainThreadTask extends Disposable impleme
|
||||
case 'darwin':
|
||||
platform = Platform.Platform.Mac;
|
||||
break;
|
||||
- case 'linux':
|
||||
+ case 'linux': case 'freebsd':
|
||||
platform = Platform.Platform.Linux;
|
||||
break;
|
||||
default:
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
--- src/vs/workbench/services/actions/common/menusExtensionPoint.ts.orig 2025-03-12 13:24:52 UTC
|
||||
+++ src/vs/workbench/services/actions/common/menusExtensionPoint.ts
|
||||
@@ -1146,7 +1146,7 @@ class CommandsTableRenderer extends Disposable impleme
|
||||
|
||||
switch (platform) {
|
||||
case 'win32': key = rawKeyBinding.win; break;
|
||||
- case 'linux': key = rawKeyBinding.linux; break;
|
||||
+ case 'linux': case 'freebsd': key = rawKeyBinding.linux; break;
|
||||
case 'darwin': key = rawKeyBinding.mac; break;
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
--- test/automation/src/electron.ts.orig 2023-10-03 13:06:11 UTC
|
||||
+++ test/automation/src/electron.ts
|
||||
@@ -103,7 +103,7 @@ export function getDevElectronPath(): string {
|
||||
switch (process.platform) {
|
||||
case 'darwin':
|
||||
return join(buildPath, 'electron', `${product.nameLong}.app`, 'Contents', 'MacOS', 'Electron');
|
||||
- case 'linux':
|
||||
+ case 'linux': case 'freebsd':
|
||||
return join(buildPath, 'electron', `${product.applicationName}`);
|
||||
case 'win32':
|
||||
return join(buildPath, 'electron', `${product.nameShort}.exe`);
|
||||
@@ -116,7 +116,7 @@ export function getBuildElectronPath(root: string): st
|
||||
switch (process.platform) {
|
||||
case 'darwin':
|
||||
return join(root, 'Contents', 'MacOS', 'Electron');
|
||||
- case 'linux': {
|
||||
+ case 'linux': case 'freebsd': {
|
||||
const product = require(join(root, 'resources', 'app', 'product.json'));
|
||||
return join(root, product.applicationName);
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
exec code-oss "$@"
|
||||
@@ -1,4 +0,0 @@
|
||||
VS Code is a type of tool that combines the simplicity of a code
|
||||
editor with what developers need for their core edit-build-debug
|
||||
cycle. It provides comprehensive editing and debugging support, an
|
||||
extensibility model, and lightweight integration with existing tools.
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user