diff options
author | surefire | 2020-11-29 18:54:48 +0300 |
---|---|---|
committer | surefire | 2020-11-29 18:54:48 +0300 |
commit | 39edf63907bccd5180bab7c4d1f177e49f9fcd5e (patch) | |
tree | c0e9973d3c3e3839feca58e00e7b2da1c962d8c8 | |
parent | 752e94ca720f55181ee650a3dd354402f9d7e3c6 (diff) | |
download | aur-39edf63907bccd5180bab7c4d1f177e49f9fcd5e.tar.gz |
upgpkg: keeweb 1.16.0
Signed-off-by: surefire <surefire@cryptomile.net>
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 79 | ||||
-rw-r--r-- | keeweb.sh | 3 | ||||
-rw-r--r-- | package.json.patch.js | 1 |
5 files changed, 62 insertions, 36 deletions
@@ -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/ @@ -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 => { |