summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Peukert2021-11-10 18:15:33 +0100
committerDaniel Peukert2021-11-10 18:15:33 +0100
commit5bec17e6b36dff2cc8f98b058a912ddb80ddd852 (patch)
treebe65d897d10e9ec440f4f82312b443b0ca86f2b5
parentf58acbc49e577b95c6563d28a546dbd798f08777 (diff)
downloadaur-5bec17e6b36dff2cc8f98b058a912ddb80ddd852.tar.gz
Update mongodb-compass-git build process
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD44
-rw-r--r--browserslist.diff58
-rw-r--r--hadron-build.diff20
4 files changed, 102 insertions, 30 deletions
diff --git a/.SRCINFO b/.SRCINFO
index cd5f5ee8c053..6719c96d5ce1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mongodb-compass-git
pkgdesc = The official GUI for MongoDB - git version
- pkgver = r13831.g33955ced0
+ pkgver = r13998.ge51701dd8
pkgrel = 1
epoch = 1
url = https://www.mongodb.com/products/compass
@@ -10,11 +10,11 @@ pkgbase = mongodb-compass-git
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
@@ -23,7 +23,9 @@ pkgbase = mongodb-compass-git
conflicts = mongodb-compass
source = mongodb-compass-git::git+https://github.com/mongodb-js/compass
source = hadron-build.diff
+ source = browserslist.diff
sha512sums = SKIP
- sha512sums = 9c93c8aa513c9238e04bb860626d09f1e83643cbfd1b8cd66add35cd41e6a7172fedff42f9f9eeedb0e8a3d6b852e1671a8b5a1fa3066d7dd5a543052392946d
+ sha512sums = 03b766834ce0c85abca10fe98ab4aa12a20d1110a4afb11b85c06e7e34ceec1163933be51d7a1881fd576d2cef01118319c856e9bcac92aaefb95084dc2a97f9
+ sha512sums = c7ed26d911cea41cea65ede61d41c22c24296c88c4a21532d81b3092844cd65a866fe8e390570362eb7f0200a897a86e97387e8afb4e1ad8e8398c7265d529d2
pkgname = mongodb-compass-git
diff --git a/PKGBUILD b/PKGBUILD
index 547ba3608842..f1209ecd8fa4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,46 +3,58 @@ _target='compass'
_edition=''
_pkgname="mongodb-$_target"
pkgname="$_pkgname-git"
-pkgver='r13831.g33955ced0'
+pkgver='r13998.ge51701dd8'
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')
-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')
provides=("$_pkgname")
conflicts=("$_pkgname")
source=(
"$pkgname::git+https://github.com/mongodb-js/compass"
'hadron-build.diff'
+ 'browserslist.diff'
+
)
sha512sums=('SKIP'
- '9c93c8aa513c9238e04bb860626d09f1e83643cbfd1b8cd66add35cd41e6a7172fedff42f9f9eeedb0e8a3d6b852e1671a8b5a1fa3066d7dd5a543052392946d')
+ '03b766834ce0c85abca10fe98ab4aa12a20d1110a4afb11b85c06e7e34ceec1163933be51d7a1881fd576d2cef01118319c856e9bcac92aaefb95084dc2a97f9'
+ 'c7ed26d911cea41cea65ede61d41c22c24296c88c4a21532d81b3092844cd65a866fe8e390570362eb7f0200a897a86e97387e8afb4e1ad8e8398c7265d529d2')
_sourcedirectory="$pkgname"
-_homedirectory="$pkgname-home"
prepare() {
cd "$srcdir/$_sourcedirectory/"
- # Replace version in package.json
- _compassversion="99.99.$(git rev-list --count HEAD)"
- sed -E -i 's|"version": ".*",|"version": "'"$_compassversion"'",|' 'packages/compass/package.json'
+ # 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
}
pkgver() {
@@ -58,11 +70,11 @@ 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"
+ HADRON_DISTRIBUTION="$_target" npm run package-compass
}
package() {
- local _distFolder="$srcdir/$_sourcedirectory/packages/compass/dist/MongoDB Compass$_edition-linux"
+ local _distFolder="$srcdir/$_sourcedirectory/packages/compass/dist/MongoDB Compass$_edition Dev-linux"
case "$CARCH" in
i686)
_distFolder="$_distFolder-ia32"
@@ -85,7 +97,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"
@@ -101,7 +113,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') {