diff options
author | Daniel Peukert | 2023-02-08 23:50:23 +0100 |
---|---|---|
committer | Daniel Peukert | 2023-02-08 23:50:23 +0100 |
commit | 53a480dc6aa90cc2e15bd609dbe586879c7c7531 (patch) | |
tree | ecaa90dfd5f3fffe74ac277d3e25a31b0dda73e6 | |
parent | 44954988e6bdb6dd12e0c213d86c16f76c66b316 (diff) | |
download | aur-53a480dc6aa90cc2e15bd609dbe586879c7c7531.tar.gz |
Update mongodb-compass-beta to 1.35.1-beta.3, fix argv handling
-rw-r--r-- | .SRCINFO | 11 | ||||
-rw-r--r-- | PKGBUILD | 27 | ||||
-rw-r--r-- | fix-argv.diff | 75 | ||||
-rw-r--r-- | hadron-build.diff | 10 |
4 files changed, 97 insertions, 26 deletions
@@ -1,6 +1,6 @@ pkgbase = mongodb-compass-git pkgdesc = The official GUI for MongoDB - git version - pkgver = r15155.g60ed338bf + pkgver = r15468.g1dbe8415e pkgrel = 1 epoch = 1 url = https://www.mongodb.com/products/compass @@ -14,8 +14,7 @@ pkgbase = mongodb-compass-git makedepends = npm>=8.0.0 makedepends = python makedepends = unzip - makedepends = patchutils - depends = electron15 + depends = electron depends = krb5 depends = libsecret depends = lsb-release @@ -23,10 +22,10 @@ pkgbase = mongodb-compass-git provides = mongodb-compass conflicts = mongodb-compass source = mongodb-compass-git::git+https://github.com/mongodb-js/compass - source = mongodb-compass-git-browserslist.diff::https://github.com/browserslist/browserslist/pull/378.diff source = hadron-build.diff + source = fix-argv.diff sha512sums = SKIP - sha512sums = d7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1 - sha512sums = 8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94 + sha512sums = 18029ff1479cbacb413f7154d5ca7589855273c559ee15bb5b5006eed65b8edcb58fac64cc8deabd20c36e06f298dc4b7152f61391975d2a3ecb6351b787fae7 + sha512sums = 1a2345b90196d3c856d0288d9406cfd667d0ebcce400e6886c7eba2825fa52d7813d45f2c375fcaf4e28d116b68107219e6f662b5bdbb12bf0e402ca61194cf7 pkgname = mongodb-compass-git @@ -3,34 +3,37 @@ _target='compass' _edition='' _pkgname="mongodb-$_target" pkgname="$_pkgname-git" -pkgver='r15155.g60ed338bf' +pkgver='r15468.g1dbe8415e' pkgrel='1' epoch='1' pkgdesc='The official GUI for MongoDB - git version' arch=('x86_64' 'i686' 'armv7h' 'aarch64') url='https://www.mongodb.com/products/compass' license=('custom:SSPL') -_electronpkg='electron15' +_electronpkg='electron' depends=("$_electronpkg" 'krb5' 'libsecret' 'lsb-release') -makedepends=('git' 'nodejs>=16.0.0' 'npm>=8.0.0' 'python' 'unzip' 'patchutils') +makedepends=('git' 'nodejs>=16.0.0' 'npm>=8.0.0' 'python' 'unzip') optdepends=('org.freedesktop.secrets') provides=("$_pkgname") conflicts=("$_pkgname") source=( "$pkgname::git+https://github.com/mongodb-js/compass" - "$pkgname-browserslist.diff::https://github.com/browserslist/browserslist/pull/378.diff" 'hadron-build.diff' + 'fix-argv.diff' ) sha512sums=('SKIP' - 'd7fb3d9d9417bf03aee8a27a813f600756acfd2b8db581f609e13a6c8482f6f70ce1659831c9ddd85bb1a4141430213b79524227b3be775b78b4fa3619fe36d1' - '8d26820139d918c4e9da05b062a86865664218bfbf32b9f002995c30fa22b64e088f59263bee5f8fb4797565fe88b7daf48c383a572c0ced657dab0639e57b94') + '18029ff1479cbacb413f7154d5ca7589855273c559ee15bb5b5006eed65b8edcb58fac64cc8deabd20c36e06f298dc4b7152f61391975d2a3ecb6351b787fae7' + '1a2345b90196d3c856d0288d9406cfd667d0ebcce400e6886c7eba2825fa52d7813d45f2c375fcaf4e28d116b68107219e6f662b5bdbb12bf0e402ca61194cf7') _sourcedirectory="$pkgname" prepare() { cd "$srcdir/$_sourcedirectory/" + # Disable husky command + sed -i '/husky install/d' 'package.json' + # Set system Electron version for ABI compatibility sed -E -i 's|("electron": ").*"|\1'"$(cat "/usr/lib/$_electronpkg/version")"'"|' {'configs','packages'}'/'*'/package.json' @@ -40,18 +43,12 @@ prepare() { # Apply hadron-build fixes patch --forward -p1 < "$srcdir/hadron-build.diff" + # Apply argv fixes + patch --forward -p1 < "$srcdir/fix-argv.diff" + # Run the first part of npm run bootstrap npm install - # Apply browserslist fixes - filterdiff --exclude='*/test/*' "$srcdir/$pkgname-browserslist.diff" > "$srcdir/$pkgname-browserslist-filtered.diff" - - for _folder in 'node_modules/@mongodb-js/'*'/node_modules/browserslist'; do - if grep -q '"version": "2' "$_folder/package.json"; then - patch -d "$_folder/" --forward -p1 < "$srcdir/$pkgname-browserslist-filtered.diff" - fi - done - # Run the second part of npm run bootstrap NODE_OPTIONS='--openssl-legacy-provider' npx lerna run bootstrap --stream } diff --git a/fix-argv.diff b/fix-argv.diff new file mode 100644 index 000000000000..4a048d1ea8e3 --- /dev/null +++ b/fix-argv.diff @@ -0,0 +1,75 @@ +diff --git a/packages/compass-preferences-model/src/global-config.ts b/packages/compass-preferences-model/src/global-config.ts +index ed438e40f..10d2a5aba 100644 +--- a/packages/compass-preferences-model/src/global-config.ts ++++ b/packages/compass-preferences-model/src/global-config.ts +@@ -210,8 +210,6 @@ export interface ParsedGlobalPreferencesResult { + preferenceParseErrors: string[]; + } + +-// See https://github.com/electron/electron/issues/4690 +-const argvStartIndex = process.versions.electron && !process.defaultApp ? 1 : 2; + export async function parseAndValidateGlobalPreferences( + sources: GlobalPreferenceSources = {} + ): Promise<ParsedGlobalPreferencesResult> { +@@ -220,6 +218,16 @@ export async function parseAndValidateGlobalPreferences( + ); + let argv = sources.argv; + if (!argv) { ++ let argvStartIndex = 0; ++ ++ for (const arg of process.argv) { ++ argvStartIndex++; ++ ++ if (arg.includes('app.asar') === true) { ++ break; ++ } ++ } ++ + argv = process.argv.slice(argvStartIndex); + } + const cliPreferences = parseCliArgs(argv); +@@ -309,11 +317,17 @@ export function getHelpText(): string { + text += ` ${path}\n`; + } + if (globalConfigPaths.length > 0) { ++ let binaryName = ''; ++ ++ for (const arg of process.argv) { ++ if (arg.includes('app.asar') === true) { ++ binaryName = arg.replace('/usr/lib/', '').replace('/app.asar', ''); ++ break; ++ } ++ } ++ + text += '\nIf no global configuration file exists, running Compass as\n'; +- text += ` ${escapeShell(process.execPath)}${ +- argvStartIndex >= 2 ? ' ' + escapeShell(process.argv[1]) : '' +- } `; +- text += `--show-example-config > ${escapeShell(globalConfigPaths[0])}\n`; ++ text += ` ${binaryName} --show-example-config > ${escapeShell(globalConfigPaths[0])}\n`; + text += 'can be used to install one.\n'; + } + text += '\nSee the MongoDB Compass documentation for more details.\n'; +diff --git a/packages/compass/src/main/protocol-handling.ts b/packages/compass/src/main/protocol-handling.ts +index fb4486333..6f2921174 100644 +--- a/packages/compass/src/main/protocol-handling.ts ++++ b/packages/compass/src/main/protocol-handling.ts +@@ -13,9 +13,15 @@ async function appProtocolsConfig(): Promise<ProtocolsList> { + return (await import('../../package.json')).config.hadron.protocols; + } + +-const commandArgv = process.defaultApp +- ? [process.execPath, path.resolve(process.argv[1]), '--'] +- : [process.execPath, '--']; ++let commandArgv = []; ++ ++for (const arg of process.argv) { ++ if (arg.includes('app.asar') === true) { ++ commandArgv[0] = arg.replace('/usr/lib/', '').replace('/app.asar', ''); ++ commandArgv[1] = '--'; ++ break; ++ } ++} + + export async function setupProtocolHandlers( + action: 'install' | 'uninstall', diff --git a/hadron-build.diff b/hadron-build.diff index bf34794cdd6f..57e050fb3b95 100644 --- a/hadron-build.diff +++ b/hadron-build.diff @@ -1,8 +1,8 @@ diff --git a/packages/hadron-build/commands/release.js b/packages/hadron-build/commands/release.js -index 117444603..6d7fbd336 100644 +index 1b4611457..9295a2a3a 100644 --- a/packages/hadron-build/commands/release.js +++ b/packages/hadron-build/commands/release.js -@@ -491,9 +491,6 @@ exports.run = (argv, done) => { +@@ -543,9 +543,6 @@ exports.run = (argv, done) => { task('write license file', writeLicenseFile), task('remove development files', removeDevelopmentFiles), !noAsar && task('create application asar', createApplicationAsar), @@ -12,7 +12,7 @@ index 117444603..6d7fbd336 100644 ].filter(Boolean)); return async.series(tasks, (_err) => { -@@ -507,9 +504,5 @@ exports.run = (argv, done) => { +@@ -568,9 +565,5 @@ exports.run = (argv, done) => { exports.handler = (argv) => { exports.run(argv, (_err, CONFIG) => { cli.abortIfError(_err); @@ -23,7 +23,7 @@ index 117444603..6d7fbd336 100644 }); }; diff --git a/packages/hadron-build/lib/target.js b/packages/hadron-build/lib/target.js -index 16a1ec4e3..2a61c3850 100644 +index 39ed422ab..959ce16c9 100644 --- a/packages/hadron-build/lib/target.js +++ b/packages/hadron-build/lib/target.js @@ -10,7 +10,6 @@ const path = require('path'); @@ -34,7 +34,7 @@ index 16a1ec4e3..2a61c3850 100644 const windowsInstallerVersion = require('./windows-installer-version'); const debug = require('debug')('hadron-build:target'); const execFile = promisify(childProcess.execFile); -@@ -241,7 +240,6 @@ class Target { +@@ -227,7 +226,6 @@ class Target { arch: this.arch, electronVersion: this.electronVersion, sign: null, |