summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Peukert2020-02-27 12:27:14 +0100
committerDaniel Peukert2020-02-27 12:27:14 +0100
commit9985498655e0659d576879d8d427ab06d1488b23 (patch)
tree2b6cb4d965636ca5e922d069f313465b08c28d66
parent5a356e627c3109900508592bfbf8e79a6446f4d7 (diff)
downloadaur-9985498655e0659d576879d8d427ab06d1488b23.tar.gz
Re-added mongodb-compass (built from source)
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD119
-rw-r--r--hadron-build-packaging.diff25
-rw-r--r--launch.sh2
4 files changed, 137 insertions, 25 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6267ac51c7c5..5bf64d3e930e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,20 @@
pkgbase = mongodb-compass-community
pkgdesc = The official GUI for MongoDB - Community Edition
- pkgver = 1.20.4
+ pkgver = 1.20.5
pkgrel = 1
url = https://www.mongodb.com/products/compass
arch = x86_64
- license = custom
+ arch = i686
+ arch = armv7h
+ arch = aarch64
+ license = custom:SSPL
+ makedepends = npm
depends = electron3-bin
depends = krb5
depends = libsecret
- source = mongodb-compass-community-1.20.4-1::https://downloads.mongodb.com/compass/mongodb-compass-community-1.20.4.x86_64.rpm
- source = launch.sh
- sha256sums = 22ece01f4149e701eb8f07e1eaf9d8b13b4ea85a05c392f8913cb77498124bab
- sha256sums = 1bf3dd5e9363e750f4099acab9c8e22af7dc8645215d3fc4ed13abb0d38c5137
+ source = mongodb-compass-community-1.20.5-1.tar.gz::https://github.com/mongodb-js/compass/archive/v1.20.5.tar.gz
+ source = hadron-build-packaging.diff
+ sha256sums = 48726164a002ee07ff56041bc80e8897d897b44e99efc5cde7c4381024b21ac5
+ sha256sums = 3f438dc5b2eb99a4831f83d753cb3dc86fc8b3217499310fe03469570f300ff2
pkgname = mongodb-compass-community
diff --git a/PKGBUILD b/PKGBUILD
index 45ad98a70133..3aa17d4468a7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,27 +1,112 @@
# Maintainer: Daniel Peukert <dan.peukert@gmail.com>
-pkgname='mongodb-compass-community'
-pkgver='1.20.4'
+_target='compass-community'
+_edition=' Community'
+pkgname="mongodb-$_target"
+_pkgver='1.20.5'
+pkgver="$(printf '%s' "$_pkgver" | tr '-' '.')"
pkgrel='1'
pkgdesc='The official GUI for MongoDB - Community Edition'
-arch=('x86_64')
+arch=('x86_64' 'i686' 'armv7h' 'aarch64')
url='https://www.mongodb.com/products/compass'
-license=('custom')
+license=('custom:SSPL')
depends=('electron3-bin' 'krb5' 'libsecret')
+makedepends=('npm')
source=(
- "$pkgname-$pkgver-$pkgrel::https://downloads.mongodb.com/compass/mongodb-compass-community-1.20.4.x86_64.rpm"
- 'launch.sh'
+ "$pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/mongodb-js/compass/archive/v$_pkgver.tar.gz"
+ 'hadron-build-packaging.diff'
)
-sha256sums=('22ece01f4149e701eb8f07e1eaf9d8b13b4ea85a05c392f8913cb77498124bab'
- '1bf3dd5e9363e750f4099acab9c8e22af7dc8645215d3fc4ed13abb0d38c5137')
+sha256sums=('48726164a002ee07ff56041bc80e8897d897b44e99efc5cde7c4381024b21ac5'
+ '3f438dc5b2eb99a4831f83d753cb3dc86fc8b3217499310fe03469570f300ff2')
+
+_sourcedirectory="compass-$_pkgver"
+
+prepare() {
+ cd "$srcdir/$_sourcedirectory/"
+
+ # Loosen node version restriction
+ sed -E -i 's|("node": ").*"|\1'"$(node -v | sed 's/^v//')"'"|' 'package.json'
+
+ # Set system Electron version for ABI compatibility
+ sed -E -i 's|("electron": ").*"|\1'"$(cat '/usr/lib/electron3/version' | sed 's/^v//')"'"|' 'package.json'
+
+ # Fix various build failures in beta releases, this can be removed when a new
+ # beta is released, as this has been fixed in master and in stable releases
+ sed -E -i 's|"kerberos": "\^1.1.2"|"kerberos": "^1.1.3"|' 'package.json'
+ sed -E -i 's|"keytar": "\^4.4.1"|"keytar": "^4.13.0"|' 'package.json'
+
+ # Prepare dependencies
+ export HOME="$srcdir/$pkgname-$pkgver-$pkgrel-home"
+ export XDG_CACHE_HOME="$srcdir/$pkgname-$pkgver-$pkgrel-cache"
+ export npm_config_devdir="$srcdir/$pkgname-$pkgver-$pkgrel-npm-dev"
+ export npm_config_cache="$srcdir/$pkgname-$pkgver-$pkgrel-npm-cache"
+
+ npm install
+
+ # Disable hadron-build packaging
+ patch -d 'node_modules/hadron-build/' --forward -p1 < '../hadron-build-packaging.diff'
+}
+
+build() {
+ cd "$srcdir/$_sourcedirectory/"
+
+ export NODE_ENV='production'
+ export HOME="$srcdir/$pkgname-$pkgver-$pkgrel-home"
+ export XDG_CACHE_HOME="$srcdir/$pkgname-$pkgver-$pkgrel-cache"
+ export npm_config_devdir="$srcdir/$pkgname-$pkgver-$pkgrel-npm-dev"
+ export npm_config_cache="$srcdir/$pkgname-$pkgver-$pkgrel-npm-cache"
+
+ # electron-packager does not support building against a local electron binary,
+ # the best we can do for now is to just set the electron version in package.json
+ # and let electron-packager use it for building
+ # https://github.com/electron/electron-packager/issues/187
+
+ npm run release "${_target%-beta}"
+}
package() {
- cd "$srcdir/"
- install -Dm644 "usr/share/$pkgname/resources/app.asar" "$pkgdir/usr/lib/$pkgname/app.asar"
- install -dm755 "$pkgdir/usr/lib/$pkgname/app.asar.unpacked/"
- cp -r --no-preserve=ownership --preserve=mode "usr/share/$pkgname/resources/app.asar.unpacked/"* "$pkgdir/usr/lib/$pkgname/app.asar.unpacked/"
- install -Dm755 "launch.sh" "$pkgdir/usr/bin/$pkgname"
- install -Dm644 "usr/share/$pkgname/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
- install -Dm644 "usr/share/$pkgname/LICENSES.chromium.html" "$pkgdir/usr/share/licenses/$pkgname/LICENSES.chromium.html"
- install -Dm644 "usr/share/applications/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
- install -Dm644 "usr/share/pixmaps/$pkgname.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ local _distFolder="$srcdir/$_sourcedirectory/dist/MongoDB Compass$_edition-linux"
+ case "$CARCH" in
+ i686)
+ _distFolder="$_distFolder-ia32"
+ ;;
+ armv7h)
+ _distFolder="$_distFolder-armv7l"
+ ;;
+ aarch64)
+ _distFolder="$_distFolder-arm64"
+ ;;
+ *)
+ _distFolder="$_distFolder-x64"
+ ;;
+ esac
+ cd "$_distFolder/"
+
+ install -Dm644 'resources/app.asar' "$pkgdir/usr/lib/$pkgname/app.asar"
+ cp -r --no-preserve=ownership --preserve=mode 'resources/app.asar.unpacked/' "$pkgdir/usr/lib/$pkgname/app.asar.unpacked/"
+
+ install -dm755 "$pkgdir/usr/bin/"
+ cat << EOF > "$pkgdir/usr/bin/$pkgname"
+#!/bin/sh
+NODE_ENV=production electron3 /usr/lib/$pkgname/app.asar "\$@"
+EOF
+ chmod +x "$pkgdir/usr/bin/$pkgname"
+
+ install -dm755 "$pkgdir/usr/share/applications/"
+ cat << EOF > "$pkgdir/usr/share/applications/$pkgname.desktop"
+[Desktop Entry]
+Name=MongoDB Compass$_edition
+Comment=The official GUI for MongoDB
+Exec=$pkgname %U
+Icon=$pkgname
+Type=Application
+StartupNotify=true
+Categories=Office;Database;Building;Debugger;IDE;GUIDesigner;Profiling;
+EOF
+
+ install -Dm644 "$srcdir/$_sourcedirectory/src/app/images/linux/mongodb-compass.png" "$pkgdir/usr/share/icons/pixmaps/$pkgname.png"
+
+ install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
+ for _license in 'LICENSE' 'LICENSES.chromium.html'; do
+ install -Dm644 "$_license" "$pkgdir/usr/share/licenses/$pkgname/$_license"
+ done
}
diff --git a/hadron-build-packaging.diff b/hadron-build-packaging.diff
new file mode 100644
index 000000000000..6f405ac840e1
--- /dev/null
+++ b/hadron-build-packaging.diff
@@ -0,0 +1,25 @@
+diff --git a/commands/release.js b/commands/release.js
+index ea6b71e..6f77a55 100644
+--- a/commands/release.js
++++ b/commands/release.js
+@@ -561,9 +561,7 @@ exports.run = (argv, done) => {
+ task('create module cache', createModuleCache),
+ task('create packaged styles', createPackagedStyles),
+ task('remove development files', removeDevelopmentFiles),
+- task('create application asar', createApplicationAsar),
+- task('create branded installer', createBrandedInstaller),
+- task('create application zip', createApplicationZip)
++ task('create application asar', createApplicationAsar)
+ ]);
+
+ return async.series(tasks, (_err) => {
+@@ -577,9 +575,5 @@ exports.run = (argv, done) => {
+ exports.handler = (argv) => {
+ exports.run(argv, (_err, CONFIG) => {
+ cli.abortIfError(_err);
+- cli.ok(`${CONFIG.assets.length} assets successfully built`);
+- CONFIG.assets.map(function(asset) {
+- cli.info(asset.path);
+- });
+ });
+ };
diff --git a/launch.sh b/launch.sh
deleted file mode 100644
index 020b276f4f9d..000000000000
--- a/launch.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec electron3 "/usr/lib/$(basename "$0")/app.asar" "$@"