summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorsurefire2020-11-29 18:54:48 +0300
committersurefire2020-11-29 18:54:48 +0300
commit39edf63907bccd5180bab7c4d1f177e49f9fcd5e (patch)
treec0e9973d3c3e3839feca58e00e7b2da1c962d8c8
parent752e94ca720f55181ee650a3dd354402f9d7e3c6 (diff)
downloadaur-39edf63907bccd5180bab7c4d1f177e49f9fcd5e.tar.gz
upgpkg: keeweb 1.16.0
Signed-off-by: surefire <surefire@cryptomile.net>
-rw-r--r--.SRCINFO14
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD79
-rw-r--r--keeweb.sh3
-rw-r--r--package.json.patch.js1
5 files changed, 62 insertions, 36 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2cbab41c5cc3..174c39877b93 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = keeweb
pkgdesc = Desktop password manager compatible with KeePass databases
- pkgver = 1.15.7
- pkgrel = 2
+ pkgver = 1.16.0
+ pkgrel = 1
url = https://keeweb.info
arch = any
license = MIT
@@ -11,16 +11,16 @@ pkgbase = keeweb
makedepends = nodejs>=8.15.0
makedepends = npm
makedepends = python2
- depends = electron9
+ depends = electron
depends = org.freedesktop.secrets
optdepends = xdotool: for auto-type
conflicts = keeweb-desktop
- source = keeweb::git+https://github.com/keeweb/keeweb.git#tag=v1.15.7
- source = keeweb.sh
+ source = keeweb::git+https://github.com/keeweb/keeweb.git#tag=v1.16.0
+ source = git+https://github.com/keeweb/keeweb-native-modules.git#tag=0.4.1
source = package.json.patch.js
sha1sums = SKIP
- sha1sums = 7793e6391d2160458ca54648daa63bb2f1717e4c
- sha1sums = d64a29202b71f30b1c4eaef5c01cee574b55894a
+ sha1sums = SKIP
+ sha1sums = 5e2a12694cf56ec9ed558554819dba0187e7fbdc
pkgname = keeweb
diff --git a/.gitignore b/.gitignore
index b13fa6e019e6..64ced1a34ec5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
*.tar.gz
*.pkg.tar.*
keeweb/
+keeweb-native-modules/
diff --git a/PKGBUILD b/PKGBUILD
index 0ada867a333c..794100a662b5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,14 +1,15 @@
# Maintainer: surefire@cryptomile.net
pkgname=keeweb
-pkgver=1.15.7
-pkgrel=2
+pkgver=1.16.0
+_electron=electron
+pkgrel=1
pkgdesc="Desktop password manager compatible with KeePass databases"
arch=('any')
url="https://keeweb.info"
license=('MIT')
depends=(
- 'electron9'
+ $_electron
'org.freedesktop.secrets'
)
makedepends=(
@@ -23,29 +24,29 @@ optdepends=('xdotool: for auto-type')
conflicts=('keeweb-desktop')
source=(
"${pkgname}::git+https://github.com/keeweb/keeweb.git#tag=v${pkgver}"
- 'keeweb.sh'
+ "git+https://github.com/keeweb/keeweb-native-modules.git#tag=0.4.1"
'package.json.patch.js'
)
sha1sums=('SKIP'
- '7793e6391d2160458ca54648daa63bb2f1717e4c'
- 'd64a29202b71f30b1c4eaef5c01cee574b55894a')
+ 'SKIP'
+ '5e2a12694cf56ec9ed558554819dba0187e7fbdc')
case "$CARCH" in
- i686) _keeweb_arch=ia32;;
- x86_64) _keeweb_arch=x64;;
- aarch64) _keeweb_arch=arm64;;
- *) _keeweb_arch=DUMMY;;
+ i686) _arch=ia32;;
+ x86_64) _arch=x64;;
+ aarch64) _arch=arm64;;
+ *) _arch=DUMMY;;
esac
prepare() {
- cd "${pkgname}"
+ cd "${srcdir}/${pkgname}"
# remove extra dependencies
node ../package.json.patch.js
sed -i \
- -e "/const electronVersion/ s/pkg.dependencies.electron/'$(</usr/lib/electron/version)'/" \
+ -e "/const electronVersion/ s/pkg.dependencies.electron/'$(</usr/lib/${_electron}/version)'/" \
Gruntfile.js
sed -i \
@@ -59,36 +60,62 @@ prepare() {
}
build() {
- cd "${pkgname}"
+ export npm_config_build_from_source=true
+ export npm_config_optional=false
+
+ cd "${srcdir}/${pkgname}"
export SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=1
export SASS_FORCE_BUILD=1
export LIBSASS_EXT=auto
- export npm_config_nodedir=/usr
- export npm_config_optional=false
- export npm_config_build_from_source=true
- npm install
+ npm install --nodedir=/usr
npm install css-loader
npx grunt build-web-app build-desktop-app-content
- asar p tmp/desktop/app tmp/app.asar
-}
+ asar p tmp/desktop/app tmp/desktop/app.asar
-package() {
- cd "${pkgname}"
+ cat <<-EOF > tmp/desktop/keeweb
+ #!/usr/bin/sh
+ exec ${_electron} /usr/lib/keeweb/app.asar --disable-updater "\$@"
+ EOF
- install -Dm0755 ../keeweb.sh "${pkgdir}/usr/bin/keeweb"
- install -Dm0644 -t "${pkgdir}/usr/lib/keeweb" tmp/app.asar
+ cd "${srcdir}/keeweb-native-modules"
- #TODO: requires a rebuild from source code
- install -Dm0644 -t "${pkgdir}/usr/lib/keeweb/node_modules/@keeweb/keeweb-native-modules" node_modules/@keeweb/keeweb-native-modules/*-linux-${_keeweb_arch}.node
+ local electron_build_opts=(
+ production
+ arch=$_arch
+ runtime=electron
+ disturl=https://electronjs.org/headers
+ target=$(</usr/lib/${_electron}/version)
+ target_arch=$_arch
+ use_system_libusb=true
+ )
- install -Dm0644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE DEPS-LICENSE
+ HOME="${srcdir}/.electron-gyp" npm install "${electron_build_opts[@]/#/--}"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ install -Dm0755 -t "${pkgdir}/usr/bin" tmp/desktop/keeweb
+ install -Dm0644 -t "${pkgdir}/usr/lib/keeweb" tmp/desktop/app.asar
+ install -Dm0644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE DEPS-LICENSE
install -Dm0644 -t "${pkgdir}/usr/share/mime/packages" package/deb/usr/share/mime/packages/keeweb.xml
install -Dm0644 -t "${pkgdir}/usr/share/applications" package/deb/usr/share/applications/keeweb.desktop
install -Dm0644 graphics/128x128.png "${pkgdir}/usr/share/pixmaps/keeweb.png"
+
+ local _src_mdir="${srcdir}/keeweb-native-modules/node_modules"
+ local _pkg_mdir="${pkgdir}/usr/lib/keeweb/node_modules/@keeweb/keeweb-native-modules"
+
+ install -Dm0644 "${_src_mdir}/argon2/build-tmp-napi-v3/Release/argon2.node" \
+ "${_pkg_mdir}/argon2-linux-${_arch}.node"
+ install -Dm0644 "${_src_mdir}/keytar/build/Release/keytar.node" \
+ "${_pkg_mdir}/keytar-linux-${_arch}.node"
+ install -Dm0644 "${_src_mdir}/usb/build/Release/usb_bindings.node" \
+ "${_pkg_mdir}/usb-linux-${_arch}.node"
+ install -Dm0644 "${_src_mdir}/yubikey-chalresp/build/Release/yubikey-chalresp.node" \
+ "${_pkg_mdir}/yubikey-chalresp-linux-${_arch}.node"
}
diff --git a/keeweb.sh b/keeweb.sh
deleted file mode 100644
index fe1808cc216c..000000000000
--- a/keeweb.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/sh
-
-exec electron9 /usr/lib/keeweb/app.asar --disable-updater "$@"
diff --git a/package.json.patch.js b/package.json.patch.js
index 8d3a7ac41cf1..31362616c831 100644
--- a/package.json.patch.js
+++ b/package.json.patch.js
@@ -23,6 +23,7 @@ const removePkg = [
/^sumchecker$/,
/^webpack-bundle-analyzer$/,
/^webpack-dev-server$/,
+ /keeweb-native-modules$/,
];
Object.keys(data.dependencies).forEach(dep => {