diff options
author | Daniel Peukert | 2022-12-24 16:39:47 +0100 |
---|---|---|
committer | Daniel Peukert | 2022-12-24 16:39:47 +0100 |
commit | 10566bea724738d8e648c6550c63a212b77839d2 (patch) | |
tree | 912d2161571ff4fa781aeba11594ed7fd5f90db7 /PKGBUILD | |
download | aur-10566bea724738d8e648c6550c63a212b77839d2.tar.gz |
Add beekeeper-studio
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..398914cdec04 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,71 @@ +# Maintainer: Daniel Peukert <daniel@peukert.cc> +pkgname='beekeeper-studio' +pkgver='3.7.10' +pkgrel='1' +pkgdesc='Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more' +arch=('x86_64' 'i686' 'armv7h' 'aarch64') +url="https://github.com/$pkgname/$pkgname" +license=('GPL3') +_electronpkg='electron13' +depends=("$_electronpkg") +makedepends=('git' 'libxcrypt-compat' 'nodejs<19.0.0' 'npm' 'python' 'yarn') +source=( + "$pkgname-$pkgver-$pkgrel.tar.gz::$url/archive/v$pkgver.tar.gz" + 'electron-builder-config.diff' + 'configure-environment.diff' + 'fix-argv.diff' +) +sha512sums=('dd699e618a00cb7851d6366c8a6d818e1ff78c2ec6f7b319041053b665d7c0d0c5bb37d55887fe7f8757294f30d00651e3c540e1f5342094ac98df7d1e0d3117' + 'c8c63ffdc75ec73f6258aa0020b228f86d883de0c6608b14b3a35604dfeaebac7ae89f0dbc57b3bbb922cbfc3231117d769488f194961c68af646574d9ea49e0' + 'dc653535664904c74c812b589881994c1109c664f9174186ccd362a42172edeb0251712c98f3c9a17d7356bf47f942eff03c2294181402ff9cbc9cb211616d57' + 'ae6b5847bdf65f8fb43b3694c151f55c307b2b402624b627b755133b4173760fa4673158b77c252b8a9b18dc33be3068e2c79e23762a4de05de11447cf259c3c') + +_sourcedirectory="$pkgname-$pkgver" + + +prepare() { + cd "$srcdir/$_sourcedirectory/" + + patch --forward -p1 < "$srcdir/electron-builder-config.diff" + patch --forward -p1 < "$srcdir/configure-environment.diff" + patch --forward -p1 < "$srcdir/fix-argv.diff" + + sed -i "s|%%ELECTRON_DIST%%|/usr/lib/$_electronpkg|g" 'apps/studio/vue.config.js' + sed -i "s|%%ELECTRON_VERSION%%|$(cat "/usr/lib/$_electronpkg/version")|g" 'apps/studio/vue.config.js' + + yarn install --ignore-engines +} + +build() { + cd "$srcdir/$_sourcedirectory/apps/studio/" + NODE_OPTIONS='--openssl-legacy-provider' yarn run vue-cli-service electron:build +} + +package() { + # Electron resources + cd "$srcdir/$_sourcedirectory/apps/studio/dist_electron/" + install -Dm644 'linux-unpacked/resources/app.asar' "$pkgdir/usr/lib/$pkgname/app.asar" + cp -r --no-preserve=ownership --preserve=mode 'linux-unpacked/resources/app.asar.unpacked/' "$pkgdir/usr/lib/$pkgname/app.asar.unpacked/" + cp -r --no-preserve=ownership --preserve=mode 'linux-unpacked/resources/public/' "$pkgdir/usr/lib/$pkgname/public/" + + # Binary + install -dm755 "$pkgdir/usr/bin/" + cat << EOF > "$pkgdir/usr/bin/$pkgname" +#!/bin/sh +exec $_electronpkg '/usr/lib/$pkgname/app.asar' "\$@" +EOF + chmod +x "$pkgdir/usr/bin/$pkgname" + + # Extract pacman archive and copy files + mkdir -p "$srcdir/$pkgname-$pkgver-$pkgrel-pacman/" + tar -xf "$pkgname-$pkgver.pacman" --directory "$srcdir/$pkgname-$pkgver-$pkgrel-pacman/" + cd "$srcdir/$pkgname-$pkgver-$pkgrel-pacman/" + + install -dm755 "$pkgdir/usr/share/" + cp -r --no-preserve=ownership --preserve=mode 'usr/share/applications' "$pkgdir/usr/share/applications/" + cp -r --no-preserve=ownership --preserve=mode 'usr/share/icons' "$pkgdir/usr/share/icons/" + cp -r --no-preserve=ownership --preserve=mode 'usr/share/mime' "$pkgdir/usr/share/mime/" + + # Get rid of binary path in desktop file + sed "s|^Exec=\"/opt/Beekeeper Studio/$pkgname\"|Exec=$pkgname|" -i "$pkgdir/usr/share/applications/$pkgname.desktop" +} |