summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorsurefire2020-11-26 15:18:45 +0300
committersurefire2020-11-26 15:18:45 +0300
commit457847a8fc9b75e69ce561d8fbe87be1ff19f5f0 (patch)
treea2ca78b614512e4c6dafe6b95c1cb28337bff222
parentac31b81fd6ca4d02c024455447f4a5c378393711 (diff)
downloadaur-457847a8fc9b75e69ce561d8fbe87be1ff19f5f0.tar.gz
upgpkg: keeweb 1.15.7
-rw-r--r--.SRCINFO18
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD101
-rw-r--r--hide-menubar.patch12
-rw-r--r--keeweb.sh3
-rw-r--r--package.json.patch.js13
6 files changed, 88 insertions, 60 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 17fd910bdaa1..c2656c71945c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
pkgbase = keeweb-git
- pkgdesc = Desktop password manager compatible with KeePass databases. (master branch)
- pkgver = 1.7.7+0+g4ca2eb4c
+ pkgdesc = Desktop password manager compatible with KeePass databases. (develop branch)
+ pkgver = 1.15.7+53+gd0fdada9
pkgrel = 1
- url = https://github.com/keeweb/keeweb
+ url = https://keeweb.info
arch = any
license = MIT
makedepends = asar
@@ -10,20 +10,20 @@ pkgbase = keeweb-git
makedepends = libsass>=3.5.5
makedepends = nodejs>=8.15.0
makedepends = npm
+ makedepends = python2
depends = electron
+ depends = org.freedesktop.secrets
optdepends = xdotool: for auto-type
provides = keeweb
provides = keeweb-desktop
conflicts = keeweb
conflicts = keeweb-desktop
- source = keeweb-git::git+https://github.com/keeweb/keeweb.git#branch=master
- source = hide-menubar.patch
- source = keeweb.sh
+ source = keeweb-git::git+https://github.com/keeweb/keeweb.git#branch=develop
+ source = git+https://github.com/keeweb/keeweb-native-modules.git
source = package.json.patch.js
sha1sums = SKIP
- sha1sums = a55c2ed276c6073b7954452cdc88209633d51ace
- sha1sums = c925527f25e732d58438ee16b1c93b33be7bf9c4
- sha1sums = 914afdd9651e71091d4b927cabd25d75786ec7d4
+ sha1sums = SKIP
+ sha1sums = 5e2a12694cf56ec9ed558554819dba0187e7fbdc
pkgname = keeweb-git
diff --git a/.gitignore b/.gitignore
index a96056c71886..7f48486789aa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ src/
keeweb/
keeweb-git/
+keeweb-native-modules/
diff --git a/PKGBUILD b/PKGBUILD
index d489432a20bb..d61aa2ba5072 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,34 +2,44 @@
# Contributor wenLiangcan <boxeed at gmail dot com>
pkgname=keeweb-git
-pkgver=1.7.7+0+g4ca2eb4c
+pkgver=1.15.7+53+gd0fdada9
+_electron=electron
pkgrel=1
-pkgdesc="Desktop password manager compatible with KeePass databases. (master branch)"
+pkgdesc="Desktop password manager compatible with KeePass databases. (develop branch)"
arch=('any')
-url="https://github.com/keeweb/keeweb"
+url="https://keeweb.info"
license=('MIT')
-depends=('electron')
+depends=(
+ $_electron
+ 'org.freedesktop.secrets'
+)
makedepends=(
'asar'
'git'
'libsass>=3.5.5'
'nodejs>=8.15.0'
'npm'
+ 'python2'
)
optdepends=('xdotool: for auto-type')
conflicts=('keeweb' 'keeweb-desktop')
provides=('keeweb' 'keeweb-desktop')
source=(
- "${pkgname}::git+https://github.com/keeweb/keeweb.git#branch=master"
- 'hide-menubar.patch'
- 'keeweb.sh'
+ "${pkgname}::git+https://github.com/keeweb/keeweb.git#branch=develop"
+ "git+https://github.com/keeweb/keeweb-native-modules.git"
'package.json.patch.js'
)
sha1sums=('SKIP'
- 'a55c2ed276c6073b7954452cdc88209633d51ace'
- 'c925527f25e732d58438ee16b1c93b33be7bf9c4'
- '914afdd9651e71091d4b927cabd25d75786ec7d4')
+ 'SKIP'
+ '5e2a12694cf56ec9ed558554819dba0187e7fbdc')
+
+case "$CARCH" in
+ i686) _arch=ia32;;
+ x86_64) _arch=x64;;
+ aarch64) _arch=arm64;;
+ *) _arch=DUMMY;;
+esac
pkgver() {
cd "${pkgname}"
@@ -37,56 +47,83 @@ pkgver() {
}
prepare() {
- cd "${pkgname}"
-
- patch -Np1 -i ../hide-menubar.patch
+ 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 \
- -e "/'eslint',/ d" \
- -e "/'uglify',/ d" \
+ -e "/'eslint',/ d" \
grunt.tasks.js
sed -i \
- -e '/Exec=/ c \Exec=keeweb %u' \
- package/deb/usr/share/applications/keeweb.desktop
-
- sed -i \
- -e 's/: "[^@]*@github:/: "github:/' \
- package-lock.json
+ -e "/const BundleAnalyzerPlugin/ d" \
+ -e "/new BundleAnalyzerPlugin({$/, /^\s*})$/ d" \
+ build/webpack.config.js
}
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
- 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
+
+ cat <<-EOF > tmp/desktop/keeweb
+ #!/usr/bin/sh
+ exec ${_electron} /usr/lib/keeweb/app.asar --disable-updater "\$@"
+ EOF
+
+ cd "${srcdir}/keeweb-native-modules"
+
+ 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
+ )
+
+ HOME="${srcdir}/.electron-gyp" npm install "${electron_build_opts[@]/#/--}"
+
}
package() {
- cd "${pkgname}"
-
- install -Dm0755 ../keeweb.sh "${pkgdir}/usr/bin/keeweb"
- install -Dm0644 -t "${pkgdir}/usr/lib/keeweb" tmp/app.asar
+ 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/hide-menubar.patch b/hide-menubar.patch
deleted file mode 100644
index 92ebf9816468..000000000000
--- a/hide-menubar.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/desktop/app.js b/desktop/app.js
-index 75737e1..c75f793 100644
---- a/desktop/app.js
-+++ b/desktop/app.js
-@@ -137,6 +137,7 @@ function readAppSettings() {
- function createMainWindow() {
- const appSettings = readAppSettings();
- const windowOptions = {
-+ autoHideMenuBar: true,
- show: false,
- width: 1000, height: 700, minWidth: 700, minHeight: 400,
- titleBarStyle: appSettings ? appSettings.titlebarStyle : undefined,
diff --git a/keeweb.sh b/keeweb.sh
deleted file mode 100644
index 9cc0275a0147..000000000000
--- a/keeweb.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/sh
-
-exec electron /usr/lib/keeweb/app.asar --disable-updater "$@"
diff --git a/package.json.patch.js b/package.json.patch.js
index d170b0405e64..31362616c831 100644
--- a/package.json.patch.js
+++ b/package.json.patch.js
@@ -7,18 +7,23 @@ const data = JSON.parse(fs.readFileSync(PATCHABLE_FILE));
// remove extra dependencies
const removePkg = [
+ /^chai$/,
+ /^electron-/,
/^electron$/,
- /^eslint/,
- /^grunt-concurrent$/,
+ /^eslint-/,
+ /^eslint$/,
/^grunt-contrib-compress$/,
/^grunt-contrib-deb$/,
- /^grunt-contrib-uglify$/,
/^grunt-contrib-watch$/,
/^grunt-electron$/,
/^grunt-eslint$/,
+ /^mocha$/,
+ /^puppeteer$/,
/^stats-webpack-plugin$/,
/^sumchecker$/,
- /^webpack-dev-server/,
+ /^webpack-bundle-analyzer$/,
+ /^webpack-dev-server$/,
+ /keeweb-native-modules$/,
];
Object.keys(data.dependencies).forEach(dep => {