diff options
author | Daniel Peukert | 2020-02-27 12:28:43 +0100 |
---|---|---|
committer | Daniel Peukert | 2020-02-27 12:28:43 +0100 |
commit | 951e33eb46494e2c1e40e6ba92052c6dfad36371 (patch) | |
tree | a8c59f8fb54fba8d4ac7fb47fa77887f09c40bca | |
parent | a2924f89ee1dbdffe034556a3249520ea37717f3 (diff) | |
download | aur-951e33eb46494e2c1e40e6ba92052c6dfad36371.tar.gz |
Re-added mongodb-compass (built from source)
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 123 | ||||
-rw-r--r-- | hadron-build-packaging.diff | 25 | ||||
-rw-r--r-- | launch.sh | 2 |
4 files changed, 141 insertions, 29 deletions
@@ -1,16 +1,20 @@ pkgbase = mongodb-compass-readonly-beta - pkgdesc = The official GUI for MongoDB - Readonly Edition (beta version) - pkgver = 1.20.0beta.9 - pkgrel = 2 + pkgdesc = The official GUI for MongoDB - Readonly Edition - beta version + pkgver = 1.20.0.beta.9 + pkgrel = 3 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-readonly-beta-1.20.0beta.9-2::https://downloads.mongodb.com/compass/beta/mongodb-compass-readonly-beta-1.20.0-beta.9.x86_64.rpm - source = launch.sh - sha256sums = da6df0f7738602f8a7c752a5d2503a61b10d7cee99066f9fdfc3e8286c557b5f - sha256sums = 1bf3dd5e9363e750f4099acab9c8e22af7dc8645215d3fc4ed13abb0d38c5137 + source = mongodb-compass-readonly-beta-1.20.0.beta.9-3.tar.gz::https://github.com/mongodb-js/compass/archive/v1.20.0-beta.9.tar.gz + source = hadron-build-packaging.diff + sha256sums = 152471d72eb716787bad9511c87b3524a61643e3861ecd384deef9d3fe96e315 + sha256sums = 3f438dc5b2eb99a4831f83d753cb3dc86fc8b3217499310fe03469570f300ff2 pkgname = mongodb-compass-readonly-beta @@ -1,27 +1,112 @@ # Maintainer: Daniel Peukert <dan.peukert@gmail.com> -pkgname='mongodb-compass-readonly-beta' -pkgver='1.20.0beta.9' -pkgrel='2' -pkgdesc='The official GUI for MongoDB - Readonly Edition (beta version)' -arch=('x86_64') +_target='compass-readonly-beta' +_edition=' Readonly Beta' +pkgname="mongodb-$_target" +_pkgver='1.20.0-beta.9' +pkgver="$(printf '%s' "$_pkgver" | tr '-' '.')" +pkgrel='3' +pkgdesc='The official GUI for MongoDB - Readonly Edition - beta version' +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/beta/mongodb-compass-readonly-beta-1.20.0-beta.9.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=('da6df0f7738602f8a7c752a5d2503a61b10d7cee99066f9fdfc3e8286c557b5f' - '1bf3dd5e9363e750f4099acab9c8e22af7dc8645215d3fc4ed13abb0d38c5137') +sha256sums=('152471d72eb716787bad9511c87b3524a61643e3861ecd384deef9d3fe96e315' + '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" "$@" |