diff options
author | Luke Arms | 2022-08-31 22:06:11 +1000 |
---|---|---|
committer | Luke Arms | 2022-08-31 22:06:11 +1000 |
commit | 9288de053bb835ecb20cbeec67c8beb85caf9810 (patch) | |
tree | 987a5006eaffbc9bbb7728d453cbe3429f3641d1 | |
parent | e3fa2d87cbc34faf27a4ad43f957ade2abd32e4b (diff) | |
download | aur-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-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 70 |
2 files changed, 37 insertions, 43 deletions
@@ -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 @@ -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 } |