diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 44 | ||||
-rw-r--r-- | browserslist.diff | 58 | ||||
-rw-r--r-- | hadron-build.diff | 20 |
4 files changed, 107 insertions, 31 deletions
@@ -1,7 +1,7 @@ pkgbase = mongodb-compass-beta pkgdesc = The official GUI for MongoDB - beta version - pkgver = 1.27.0.beta.10 - pkgrel = 2 + pkgver = 1.29.1.beta.0 + pkgrel = 1 url = https://www.mongodb.com/products/compass arch = x86_64 arch = i686 @@ -9,18 +9,20 @@ pkgbase = mongodb-compass-beta arch = aarch64 license = custom:SSPL makedepends = git - makedepends = nodejs-lts-erbium + makedepends = nodejs makedepends = npm>=7.0.0 makedepends = python makedepends = unzip - depends = electron6-bin + depends = electron13 depends = krb5 depends = libsecret depends = lsb-release optdepends = org.freedesktop.secrets - source = mongodb-compass-beta-1.27.0.beta.10-2.tar.gz::https://github.com/mongodb-js/compass/archive/v1.27.0-beta.10.tar.gz + source = mongodb-compass-beta-1.29.1.beta.0-1.tar.gz::https://github.com/mongodb-js/compass/archive/v1.29.1-beta.0.tar.gz source = hadron-build.diff - sha512sums = d8f312c61c23700235197156bc5f931a8b425a982064e010f09614b7451601655f11ca335b91786b52c0cbc7dce447ddda031b025c441436668d58fd9949d8b7 - sha512sums = 9c93c8aa513c9238e04bb860626d09f1e83643cbfd1b8cd66add35cd41e6a7172fedff42f9f9eeedb0e8a3d6b852e1671a8b5a1fa3066d7dd5a543052392946d + source = browserslist.diff + sha512sums = 44482fae3de9ac2af758a384630419a937aef8f8f79abc553d381b4d51789a198b237edc353d5e6264f834ad238942148beee4e993fe3d857afbf4256ed4e3e0 + sha512sums = 03b766834ce0c85abca10fe98ab4aa12a20d1110a4afb11b85c06e7e34ceec1163933be51d7a1881fd576d2cef01118319c856e9bcac92aaefb95084dc2a97f9 + sha512sums = c7ed26d911cea41cea65ede61d41c22c24296c88c4a21532d81b3092844cd65a866fe8e390570362eb7f0200a897a86e97387e8afb4e1ad8e8398c7265d529d2 pkgname = mongodb-compass-beta @@ -2,40 +2,56 @@ _target='compass-beta' _edition=' Beta' pkgname="mongodb-$_target" -_pkgver='1.27.0-beta.10' +_pkgver='1.29.1-beta.0' pkgver="$(printf '%s' "$_pkgver" | tr '-' '.')" -pkgrel='2' +pkgrel='1' pkgdesc='The official GUI for MongoDB - beta version' arch=('x86_64' 'i686' 'armv7h' 'aarch64') url='https://www.mongodb.com/products/compass' license=('custom:SSPL') -depends=('electron6-bin' 'krb5' 'libsecret' 'lsb-release') -makedepends=('git' 'nodejs-lts-erbium' 'npm>=7.0.0' 'python' 'unzip') +_electronpkg='electron13' +depends=("$_electronpkg" 'krb5' 'libsecret' 'lsb-release') +makedepends=('git' 'nodejs' 'npm>=7.0.0' 'python' 'unzip') optdepends=('org.freedesktop.secrets') source=( "$pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/mongodb-js/compass/archive/v$_pkgver.tar.gz" 'hadron-build.diff' + 'browserslist.diff' + ) -sha512sums=('d8f312c61c23700235197156bc5f931a8b425a982064e010f09614b7451601655f11ca335b91786b52c0cbc7dce447ddda031b025c441436668d58fd9949d8b7' - '9c93c8aa513c9238e04bb860626d09f1e83643cbfd1b8cd66add35cd41e6a7172fedff42f9f9eeedb0e8a3d6b852e1671a8b5a1fa3066d7dd5a543052392946d') +sha512sums=('44482fae3de9ac2af758a384630419a937aef8f8f79abc553d381b4d51789a198b237edc353d5e6264f834ad238942148beee4e993fe3d857afbf4256ed4e3e0' + '03b766834ce0c85abca10fe98ab4aa12a20d1110a4afb11b85c06e7e34ceec1163933be51d7a1881fd576d2cef01118319c856e9bcac92aaefb95084dc2a97f9' + 'c7ed26d911cea41cea65ede61d41c22c24296c88c4a21532d81b3092844cd65a866fe8e390570362eb7f0200a897a86e97387e8afb4e1ad8e8398c7265d529d2') _sourcedirectory="compass-$_pkgver" -_homedirectory="$pkgname-$pkgver-$pkgrel-home" prepare() { cd "$srcdir/$_sourcedirectory/" + # Force the newest version of electron-to-chromium + sed -E -i 's|(.*)("electron": ")|\1"electron-to-chromium": "'"$(npm view 'electron-to-chromium@latest' version)"'",\n\1\2|' 'packages/compass/package.json' + # Loosen node version restriction - sed -E -i 's|("node": ").*"|\1'"$(node -v | sed 's/^v//')"'"|' 'packages/compass/package.json' + sed -E -i 's|"node": "\^14.|"node": ">=14.|' 'packages/compass/package.json' 'package-lock.json' # Set system Electron version for ABI compatibility - sed -E -i 's|("electron": ").*"|\1'"$(cat '/usr/lib/electron6/version')"'"|' 'packages/compass/package.json' + sed -E -i 's|("electron": ").*"|\1'"$(cat "/usr/lib/$_electronpkg/version")"'"|' {'configs','packages'}'/'*'/package.json' - # Prepare dependencies - HOME="$srcdir/$_homedirectory" npm run bootstrap + # Run the first part of npm run bootstrap + npm install # Apply hadron-build fixes patch -d 'node_modules/hadron-build/' --forward -p1 < "$srcdir/hadron-build.diff" + + # Apply browserslist fixes + 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/browserslist.diff" + fi + done + + # Run the second part of npm run bootstrap + npx lerna run bootstrap --stream } build() { @@ -46,7 +62,7 @@ build() { # and let electron-packager use it for building # https://github.com/electron/electron-packager/issues/187 - NODE_ENV='production' HOME="$srcdir/$_homedirectory" npm run package-compass "${_target%-beta}" + HADRON_DISTRIBUTION="${_target%-beta}" npm run package-compass } package() { @@ -73,7 +89,7 @@ package() { install -dm755 "$pkgdir/usr/bin/" cat << EOF > "$pkgdir/usr/bin/$pkgname" #!/bin/sh -NODE_ENV=production exec electron6 '/usr/lib/$pkgname/app.asar' "\$@" +NODE_ENV=production exec $_electronpkg '/usr/lib/$pkgname/app.asar' "\$@" EOF chmod +x "$pkgdir/usr/bin/$pkgname" @@ -89,7 +105,7 @@ StartupNotify=true Categories=Office;Database;Building;Debugger;IDE;GUIDesigner;Profiling; EOF - install -Dm644 "$srcdir/$_sourcedirectory/packages/compass/src/app/images/linux/mongodb-compass.png" "$pkgdir/usr/share/pixmaps/$pkgname.png" + install -Dm644 "$srcdir/$_sourcedirectory/packages/compass/app-icons/linux/mongodb-compass.png" "$pkgdir/usr/share/pixmaps/$pkgname.png" install -dm755 "$pkgdir/usr/share/licenses/$pkgname/" for _license in 'LICENSE' 'LICENSES.chromium.html'; do diff --git a/browserslist.diff b/browserslist.diff new file mode 100644 index 000000000000..ff9fd5ffcf04 --- /dev/null +++ b/browserslist.diff @@ -0,0 +1,58 @@ +diff --git a/index.js b/index.js +index 3a22ecc6..062eac27 100644 +--- a/index.js ++++ b/index.js +@@ -33,6 +33,17 @@ function normalize (versions) { + }) + } + ++function normalizeElectron (version) { ++ var versionToUse = version ++ if (version.split('.').length === 3) { ++ versionToUse = version ++ .split('.') ++ .slice(0, -1) ++ .join('.') ++ } ++ return versionToUse ++} ++ + function nameMapper (name) { + return function mapName (version) { + return name + ' ' + version +@@ -768,10 +779,12 @@ var QUERIES = [ + { + regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function (context, from, to) { +- if (!e2c[from]) { ++ var fromToUse = normalizeElectron(from) ++ var toToUse = normalizeElectron(to) ++ if (!e2c[fromToUse]) { + throw new BrowserslistError('Unknown version ' + from + ' of electron') + } +- if (!e2c[to]) { ++ if (!e2c[toToUse]) { + throw new BrowserslistError('Unknown version ' + to + ' of electron') + } + +@@ -804,8 +817,9 @@ var QUERIES = [ + { + regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function (context, sign, version) { ++ var versionToUse = normalizeElectron(version) + return Object.keys(e2c) +- .filter(generateFilter(sign, version)) ++ .filter(generateFilter(sign, versionToUse)) + .map(function (i) { + return 'chrome ' + e2c[i] + }) +@@ -856,7 +870,8 @@ var QUERIES = [ + { + regexp: /^electron\s+([\d.]+)$/i, + select: function (context, version) { +- var chrome = e2c[version] ++ var versionToUse = normalizeElectron(version) ++ var chrome = e2c[versionToUse] + if (!chrome) { + throw new BrowserslistError( + 'Unknown version ' + version + ' of electron') diff --git a/hadron-build.diff b/hadron-build.diff index d035d410e1a0..aff2801daf38 100644 --- a/hadron-build.diff +++ b/hadron-build.diff @@ -1,10 +1,10 @@ diff --git a/commands/release.js b/commands/release.js -index 4405eaa1d..979269fdb 100644 +index 42de1d1a1..1ef8d08a0 100644 --- a/commands/release.js +++ b/commands/release.js -@@ -616,10 +616,7 @@ exports.run = (argv, done) => { - task('create module cache', createModuleCache), - task('create packaged styles', createPackagedStyles), +@@ -465,10 +465,7 @@ exports.run = (argv, done) => { + task('install dependencies', installDependencies), + task('write license file', writeLicenseFile), task('remove development files', removeDevelopmentFiles), - !noAsar && task('create application asar', createApplicationAsar), - !skipInstaller && task('create branded installer', createBrandedInstaller), @@ -12,9 +12,9 @@ index 4405eaa1d..979269fdb 100644 - task('store build configuration as json', writeConfigToJson) + !noAsar && task('create application asar', createApplicationAsar) ].filter(Boolean)); - + return async.series(tasks, (_err) => { -@@ -633,9 +630,5 @@ exports.run = (argv, done) => { +@@ -482,9 +479,5 @@ exports.run = (argv, done) => { exports.handler = (argv) => { exports.run(argv, (_err, CONFIG) => { cli.abortIfError(_err); @@ -25,7 +25,7 @@ index 4405eaa1d..979269fdb 100644 }); }; diff --git a/lib/target.js b/lib/target.js -index 062285659..668e2e57b 100644 +index 6ee5baebb..007ed52af 100644 --- a/lib/target.js +++ b/lib/target.js @@ -4,8 +4,6 @@ const semver = require('semver'); @@ -36,8 +36,8 @@ index 062285659..668e2e57b 100644 - .default; const windowsInstallerVersion = require('./windows-installer-version'); const debug = require('debug')('hadron-build:target'); - -@@ -183,8 +181,7 @@ class Target { + +@@ -206,8 +204,7 @@ class Target { platform: this.platform, arch: this.arch, electronVersion: this.electronVersion, @@ -45,5 +45,5 @@ index 062285659..668e2e57b 100644 - afterExtract: [ffmpegAfterExtract] + sign: null }; - + if (this.platform === 'win32') { |