summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Arms2022-08-31 22:06:11 +1000
committerLuke Arms2022-08-31 22:06:11 +1000
commit9288de053bb835ecb20cbeec67c8beb85caf9810 (patch)
tree987a5006eaffbc9bbb7728d453cbe3429f3641d1
parente3fa2d87cbc34faf27a4ad43f957ade2abd32e4b (diff)
downloadaur-9288de053bb835ecb20cbeec67c8beb85caf9810.tar.gz
Update to v1.11.0
- Add support for asar and non-asar builds - Move Electron version to variable - Move `npm install` to `build()` as per PKGBUILD best practice - Cleanup
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD70
2 files changed, 37 insertions, 43 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 453f5cfdfede..556cc61bc1b9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = stretchly
pkgdesc = The break time reminder app
- pkgver = 1.10.0
- pkgrel = 2
+ pkgver = 1.11.0
+ pkgrel = 1
url = https://github.com/hovancik/stretchly/
arch = i686
arch = x86_64
@@ -21,10 +21,10 @@ pkgbase = stretchly
depends = libsecret
depends = libappindicator-gtk3
depends = libxcrypt-compat
- depends = electron17
+ depends = electron19
conflicts = stretchly-bin
conflicts = stretchly-git
- source = https://github.com/hovancik/stretchly/archive/v1.10.0.tar.gz
- sha256sums = cc01383ef15fe56662cc143e7ac89dd07e10bdd68e963d79229a0643f978b815
+ source = https://github.com/hovancik/stretchly/archive/v1.11.0.tar.gz
+ sha256sums = 404910cd9c16db0bd6fc4557f474bb493fdd978eae07afffb0d9cb36a3fff42e
pkgname = stretchly
diff --git a/PKGBUILD b/PKGBUILD
index 8cc12e81c0a6..9157c5f556d4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,18 +1,19 @@
# Maintainer: Luke Arms <luke@arms.to>
+_electron_version=19
pkgname=stretchly
-pkgver=1.10.0
-pkgrel=2
+pkgver=1.11.0
+pkgrel=1
pkgdesc="The break time reminder app"
arch=('i686' 'x86_64')
url="https://github.com/hovancik/stretchly/"
license=('BSD')
-depends=('gtk3' 'libnotify' 'nss' 'libxss' 'libxtst' 'xdg-utils' 'at-spi2-atk' 'util-linux-libs' 'libsecret' 'libappindicator-gtk3' 'libxcrypt-compat' 'electron17')
+depends=('gtk3' 'libnotify' 'nss' 'libxss' 'libxtst' 'xdg-utils' 'at-spi2-atk' 'util-linux-libs' 'libsecret' 'libappindicator-gtk3' 'libxcrypt-compat' "electron$_electron_version")
makedepends=('git' 'nvm' 'jq' 'python')
conflicts=("${pkgname}-bin" "${pkgname}-git")
source=("https://github.com/hovancik/stretchly/archive/v${pkgver}.tar.gz")
-sha256sums=('cc01383ef15fe56662cc143e7ac89dd07e10bdd68e963d79229a0643f978b815')
+sha256sums=('404910cd9c16db0bd6fc4557f474bb493fdd978eae07afffb0d9cb36a3fff42e')
_ensure_local_nvm() {
if type nvm &>/dev/null; then
@@ -28,63 +29,56 @@ prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
_ensure_local_nvm
_node_version=$(jq -r '.engines.node' package.json)
- # Don't create an asar package
- local TEMP
- TEMP=$(mktemp)
- jq '.build.asar = false' package.json >"$TEMP"
- cp "$TEMP" package.json
- rm -f "$TEMP"
# ` || false` is a workaround until this upstream fix is released:
# https://github.com/nvm-sh/nvm/pull/2698
nvm ls "$_node_version" &>/dev/null ||
nvm install "$_node_version" || false
- nvm use "$_node_version"
- npm install --no-save --no-audit --no-progress --no-fund
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
_ensure_local_nvm
nvm use "$_node_version"
+ npm install --no-save --no-audit --no-progress --no-fund
# electron-builder only generates /usr/share/* assets for target package
# types 'apk', 'deb', 'freebsd', 'p5p', 'pacman', 'rpm' and 'sh', so build a
# pacman package and unpack it
- local _outfile _appname _electron _unpackdir=${srcdir}/${pkgname}-${pkgver}.unpacked
- _outfile=dist/$(jq -r '"\(.name)-\(.version)"' package.json).pacman
- _appname=$(jq -r .name package.json)
- _electron=${_unpackdir}/opt/${_appname}/${pkgname}
- rm -Rf "${_unpackdir}"
+ local _appname _appver _outfile _unpackdir=${srcdir}/${pkgname}-${pkgver}.unpacked
+ _appname=$(jq -r '.name' package.json)
+ _appver=$(jq -r '.version' package.json)
+ _outfile=dist/${_appname}-${_appver}.pacman
+ rm -rf "${_unpackdir}"
mkdir -p "${_unpackdir}"
+
local i686=ia32 x86_64=x64
+ # Add -c.asar=false to suppress creation of an app archive
./node_modules/.bin/electron-builder build \
--linux pacman \
--"${!CARCH}" \
- -c.electronDist=/usr/lib/electron17 \
- -c.electronVersion="$(</usr/lib/electron17/version)"
- tar -C "${_unpackdir}" -Jxf "${_outfile}"
-
- echo "Deleting Electron ($(du -h "$_electron" | awk '{print $1}'))..." >&2
- rm -v "$_electron"
+ -c.electronDist="/usr/lib/electron$_electron_version" \
+ -c.electronVersion="$(<"/usr/lib/electron$_electron_version/version")"
+ tar -C "${_unpackdir}" -xf "${_outfile}"
# Replace absolute path in desktop entry
- sed -Ei "s/^(Exec=).*/\1stretchly/" \
+ sed -Ei "s/^(Exec=).*/\1\\/usr\\/bin\\/${pkgname} %U/" \
"${_unpackdir}/usr/share/applications/${pkgname}.desktop"
-
- # Create /usr/bin/stretchly
- install -D -m 0755 /dev/null "${_unpackdir}/usr/bin/stretchly"
- cat >"${_unpackdir}/usr/bin/stretchly" <<EOF
-#!/bin/sh
-exec electron17 '/usr/lib/$(sed -E "s/'/'\\\\''/g" <<<"${_appname}")/' "\$@"
-EOF
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- local _appname
- _appname=$(jq -r .name package.json)
- rm -rf "${pkgdir:?}/usr"
- mv "${srcdir}/${pkgname}-${pkgver}.unpacked/usr" "${pkgdir}/"
+ local _appname _appdir _appfile=
+ _appname=$(jq -r '.name' "${srcdir}/${pkgname}-${pkgver}/package.json")
+ _appdir=opt/${_appname}/resources/app
+ cd "${srcdir}/${pkgname}-${pkgver}.unpacked"
+ mv "usr" "${pkgdir}/"
install -d "${pkgdir}/usr/lib"
- mv "${srcdir}/${pkgname}-${pkgver}.unpacked/opt/${_appname}/resources/app" "${pkgdir}/usr/lib/${_appname}"
- install -D "${srcdir}/${pkgname}-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ [[ -d $_appdir ]] || {
+ _appdir=${_appdir%/*}
+ _appfile=/app.asar
+ }
+ mv "$_appdir" "${pkgdir}/usr/lib/${pkgname}"
+ install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm755 /dev/stdin "${pkgdir}/usr/bin/${pkgname}" <<END
+#!/bin/sh
+exec /usr/lib/electron${_electron_version}/electron /usr/lib/$pkgname$_appfile "\$@"
+END
}