diff options
author | Daniel Peukert | 2020-02-27 12:27:14 +0100 |
---|---|---|
committer | Daniel Peukert | 2020-02-27 12:27:14 +0100 |
commit | 9985498655e0659d576879d8d427ab06d1488b23 (patch) | |
tree | 2b6cb4d965636ca5e922d069f313465b08c28d66 | |
parent | 5a356e627c3109900508592bfbf8e79a6446f4d7 (diff) | |
download | aur-9985498655e0659d576879d8d427ab06d1488b23.tar.gz |
Re-added mongodb-compass (built from source)
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 119 | ||||
-rw-r--r-- | hadron-build-packaging.diff | 25 | ||||
-rw-r--r-- | launch.sh | 2 |
4 files changed, 137 insertions, 25 deletions
@@ -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 @@ -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" "$@" |