summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD56
1 files changed, 34 insertions, 22 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 00a0c65960d4..ee033f44ebcf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,9 +2,10 @@
# Contributor: HÃ¥vard Pettersson <mail@haavard.me>
# Contributor: Andrew Stubbs <andrew.stubbs@gmail.com>
+_nodeversion=20
pkgname=balena-etcher
_pkgname=etcher
-pkgver=1.7.8
+pkgver=1.19.16
pkgrel=1
epoch=2
pkgdesc='Flash OS images to SD cards & USB drives, safely and easily'
@@ -12,8 +13,8 @@ arch=('x86_64' 'i686' 'armv7h' 'aarch64')
_github_url='https://github.com/balena-io/etcher'
url='https://balena.io/etcher'
license=(Apache)
-depends=("electron12" "gtk3" "libxtst" "libxss" "nss" "alsa-lib" "glib2" "polkit" "libusb")
-makedepends=("npm" "python2" "git" "jq" "patch" "nodejs<17")
+depends=()
+makedepends=("git" "python" "nvm")
optdepends=("libnotify: for notifications")
conflicts=("${_pkgname}"
"${_pkgname}-git"
@@ -21,47 +22,58 @@ conflicts=("${_pkgname}"
)
options=('!strip')
source=("etcher::git+https://github.com/balena-io/${_pkgname}.git#tag=v${pkgver}"
- "${pkgname}-electron.sh"
- "${pkgname}-electron.desktop"
+ "${pkgname}.desktop"
)
-sha256sums=('SKIP'
- '13651534055dd72dd622ff8ac3d56ee818008dfa1f680b5c4ad7f7ef14698800'
- 'c950d9578f9cf60998c920bb60c6617559963f06a4918e7072fdc706b0ef5754')
+sha256sums=('51022d670029b8bfd06d17b3db518375e5c480fd928315c90c72044ed9f77db7'
+ '6c5fb48aeb636272689c86d7cf9beea4515214636bc617a61c3e8387628b3415')
+
+_ensure_local_nvm() {
+ # let's be sure we are starting clean
+ which nvm >/dev/null 2>&1 && nvm deactivate && nvm unload
+ export NVM_DIR="${srcdir}/.nvm"
+
+ # The init script returns 3 if version specified
+ # in ./.nvrc is not (yet) installed in $NVM_DIR
+ # but nvm itself still gets loaded ok
+ source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
+ nvm install ${_nodeversion}
+ nvm use "${_nodeversion}"
+}
prepare() {
cd "${_pkgname}"
git submodule init
git submodule update || cd "${srcdir}/${_pkgname}/scripts/resin" && git checkout --
+ _ensure_local_nvm
}
build() {
+ _ensure_local_nvm
cd "${_pkgname}"
- make electron-develop
- npm run webpack
- npm prune --production
+ export npm_config_build_from_source=true
+ export npm_config_cache="${srcdir}/.npm_cache"
+ export npm_config_disturl=https://electronjs.org/headers
+ npm install
+ npm run package
}
package() {
cd "${_pkgname}"
- _appdir="${pkgdir}/usr/lib/${pkgname}"
+ _appdir="${pkgdir}/opt/${pkgname}"
install -d "${_appdir}"
- install package.json "${_appdir}"
- cp -a {lib,generated,node_modules} "${_appdir}"
- install -D assets/icon.png "${_appdir}/assets/icon.png"
- install -D lib/gui/app/index.html "${_appdir}/lib/gui/app/index.html"
+ cp -a out/balenaEtcher-linux-*/* "${_appdir}"
- install -Dm755 "${srcdir}/${pkgname}-electron.sh" "${pkgdir}/usr/bin/${pkgname}-electron"
- install -Dm644 "${srcdir}/${pkgname}-electron.desktop" \
- "${pkgdir}/usr/share/applications/${pkgname}-electron.desktop"
+ install -d "${pkgdir}/usr/bin"
+ ln -s /opt/${pkgname}/${pkgname} "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${pkgname}.desktop"
for size in 16x16 32x32 48x48 128x128 256x256 512x512; do
install -Dm644 "assets/iconset/${size}.png" \
- "${pkgdir}/usr/share/icons/hicolor/${size}/apps/${pkgname}-electron.png"
+ "${pkgdir}/usr/share/icons/hicolor/${size}/apps/${pkgname}.png"
done
- find "${pkgdir}" -name package.json -print0 | xargs -r -0 sed -i '/_where/d'
}
-# vim:set ts=2 sw=2 et: