summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorJaime Martínez Rincón2023-09-18 23:17:04 +0200
committerJaime Martínez Rincón2023-09-18 23:17:04 +0200
commitce8ce27a8a44c566ad1223b802a1937dca6b3872 (patch)
tree1daedc7075e07ca90037ee7ed3e6ab94d10ac030 /PKGBUILD
parenta3a9837db2696648de8746968fe6bedc3a72a4c1 (diff)
downloadaur-ce8ce27a8a44c566ad1223b802a1937dca6b3872.tar.gz
use shared electron22 runtime and bump version
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD58
1 files changed, 45 insertions, 13 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 40f01e517dbf..810a67368658 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,16 +2,24 @@
pkgname=httptoolkit
pkgver=1.14.3
-pkgrel=1
+pkgrel=2
epoch=1
pkgdesc="Beautiful, cross-platform & open-source HTTP(S) proxy, analyzer and client."
arch=("x86_64")
url="https://httptoolkit.tech/"
license=('GPL3')
-depends=()
-makedepends=(npm zip git)
+
+# ci.yml specifies node 18 as of version 1.14.3
+_node_version=18
+
+# package.json specifies electron 22.3.24 as of version 1.14.3
+_electron_version=22
+
+depends=("electron${_electron_version}" python)
+makedepends=(git nvm)
checkdepends=()
optdepends=()
+
provides=()
conflicts=(httptoolkit-bin)
replaces=()
@@ -27,15 +35,33 @@ md5sums=('SKIP'
'faf640796c9ad59c3fe56dac09b19767')
validpgpkeys=()
+_ensure_local_nvm() {
+ if type nvm &>/dev/null; then
+ nvm deactivate
+ nvm unload
+ fi
+ unset npm_config_prefix
+ export NVM_DIR=${srcdir}/.nvm
+ . /usr/share/nvm/init-nvm.sh
+}
+
+prepare() {
+ cd "${srcdir}/${pkgname}"
+ _ensure_local_nvm
+ nvm ls "$_node_version" &>/dev/null ||
+ nvm install "$_node_version"
+ nvm exec "$_node_version" \
+ npm install --no-save --no-audit --no-progress --no-fund
+}
+
build() {
- cd ${srcdir}/${pkgname}
-
- # Install node packages
- npm install
-
- # Build the project
- npm run build:src
- npm run build:electron -- --linux dir
+ cd "${srcdir}/${pkgname}"
+ _ensure_local_nvm
+ nvm exec "$_node_version" npm run build:src
+ nvm exec "$_node_version" npm run build:electron -- \
+ -c.electronDist=/usr/lib/electron${_electron_version} \
+ -c.electronVersion="$(cat /usr/lib/electron${_electron_version}/version)" \
+ --linux dir
}
package() {
@@ -50,7 +76,13 @@ package() {
install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 "${srcdir}/${pkgname}/src/icons/icon.png" "${pkgdir}/usr/share/icons/${pkgname}.png"
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications"
- ln -s "/opt/${pkgname}/httptoolkit" "${pkgdir}/usr/bin/${pkgname}"
+ _electron=${pkgdir}/opt/${pkgname}/${pkgname}
+ echo "Deleting Electron binary ($(du -h "$_electron" | awk '{print $1}'))"
+ rm -v "$_electron"
+ install -m755 /dev/null "${pkgdir}/usr/bin/${pkgname}"
+ cat >"${pkgdir}/usr/bin/${pkgname}" <<EOF
+#!/bin/sh
+exec electron${_electron_version} /opt/${pkgname}/resources/app.asar "\$@"
+EOF
find "$pkgdir" -name package.json -print0 | xargs -r -0 sed -i "s|$srcdir||g"
}
-