summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorsurefire2018-11-06 19:00:35 +0300
committersurefire2018-11-06 19:00:35 +0300
commitee48bb5df457dfd6bd2395cc451da70e9ec1dafe (patch)
treec352ccace7bde0d1484f86e34829ea67758c130d
parenta31f27d9f4beb642f94bbaac227369ec3b495927 (diff)
downloadaur-ee48bb5df457dfd6bd2395cc451da70e9ec1dafe.tar.gz
upgpkg: keeweb 1.6.3
-rw-r--r--.SRCINFO24
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD112
-rw-r--r--app.js.patch5
-rw-r--r--hide-menubar.patch12
-rw-r--r--keeweb.sh3
-rw-r--r--package.json.patch.js33
7 files changed, 125 insertions, 65 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d6b0c866aadd..fada52af7792 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,27 +1,27 @@
-# Generated by mksrcinfo v8
-# Mon Apr 18 07:33:55 UTC 2016
pkgbase = keeweb-git
pkgdesc = Desktop password manager compatible with KeePass databases.
- pkgver = 1.1.2.1.g5553b10
+ pkgver = 1.6.3+192+g9b9cda3
pkgrel = 1
- url = https://github.com/antelle/keeweb
+ url = https://github.com/keeweb/keeweb
arch = any
license = MIT
- makedepends = nodejs-grunt
+ makedepends = asar
makedepends = npm
- makedepends = sed
- makedepends = patch
+ makedepends = libsass
depends = electron
- depends = xdg-utils
- depends = sh
+ optdepends = xdotool: for auto-type
provides = keeweb
provides = keeweb-desktop
conflicts = keeweb
conflicts = keeweb-desktop
- source = git+https://github.com/antelle/keeweb.git
- source = app.js.patch
+ source = keeweb-git::git+https://github.com/keeweb/keeweb.git#branch=develop
+ source = hide-menubar.patch
+ source = package.json.patch.js
+ source = keeweb.sh
sha1sums = SKIP
- sha1sums = 6ead549d69231890a76ae7531fb03637fccb942a
+ sha1sums = a55c2ed276c6073b7954452cdc88209633d51ace
+ sha1sums = 3cad1556a5a855a3ab5152f1b2cb175287bd8368
+ sha1sums = a2ab033d06abfe7616d2615d8edf7931f29efc96
pkgname = keeweb-git
diff --git a/.gitignore b/.gitignore
index 69e800010b61..a96056c71886 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ pkg/
src/
keeweb/
+keeweb-git/
diff --git a/PKGBUILD b/PKGBUILD
index 587a4a8a1b72..74e5998878d8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,66 +1,82 @@
-# Maintainer: wenLiangcan <boxeed at gmail dot com>
+# Maintainer: surefire <surefire at cryptomile dot net>
+# Contributor wenLiangcan <boxeed at gmail dot com>
pkgname=keeweb-git
-_pkgname=keeweb
-pkgver=1.1.2.1.g5553b10
+pkgver=1.6.3+192+g9b9cda3
pkgrel=1
-pkgdesc="Desktop password manager compatible with KeePass databases."
+pkgdesc="Desktop password manager compatible with KeePass databases. (develop branch)"
arch=('any')
-url="https://github.com/antelle/keeweb"
+url="https://github.com/keeweb/keeweb"
license=('MIT')
-depends=('electron' 'xdg-utils' 'sh')
-makedepends=('nodejs-grunt' 'npm' 'sed' 'patch')
-provides=("${_pkgname}" "${_pkgname}-desktop")
-conflicts=("${_pkgname}" "${_pkgname}-desktop")
-source=('git+https://github.com/antelle/keeweb.git'
- 'app.js.patch')
+depends=('electron')
+makedepends=(
+ 'asar'
+ 'npm'
+ 'libsass'
+)
+optdepends=('xdotool: for auto-type')
+conflicts=('keeweb' 'keeweb-desktop')
+provides=('keeweb' 'keeweb-desktop')
+source=(
+ "${pkgname}::git+https://github.com/keeweb/keeweb.git#branch=develop"
+ 'hide-menubar.patch'
+ 'package.json.patch.js'
+ 'keeweb.sh'
+)
+
sha1sums=('SKIP'
- '6ead549d69231890a76ae7531fb03637fccb942a')
-_desktop="${_pkgname}.desktop"
+ 'a55c2ed276c6073b7954452cdc88209633d51ace'
+ '3cad1556a5a855a3ab5152f1b2cb175287bd8368'
+ 'a2ab033d06abfe7616d2615d8edf7931f29efc96')
pkgver() {
- cd "${srcdir}/${_pkgname}"
- git describe --tags --long | sed 's/^v//;s/-/./g'
+ cd "${pkgname}"
+ git describe --long --tags | sed 's/^v//; s/_/./g; s/-/+/g'
}
prepare() {
- cat > ${_desktop} << EOF
-[Desktop Entry]
-Type=Application
-Name=Keeweb
-Comment=KeePass web app
-Exec=/usr/bin/${_pkgname}
-Icon=/usr/share/${_pkgname}/electron/icon.png
-Categories=Utility;
-Terminal=false
-StartupNotify=true
-Version=${pkgver}
-EOF
-
- cat > "${_pkgname}.sh" << EOF
-#!/usr/bin/env sh
-electron /usr/share/${_pkgname}/electron --htmlpath=/usr/share/${_pkgname}/html \$*
-EOF
+ cd "${pkgname}"
+
+ patch -Np1 -i ../hide-menubar.patch
+
+ # remove extra dependencies
+ node ../package.json.patch.js
+
+ sed -i \
+ -e "/electronVersion/ d" \
+ -e "/loader: 'babel-loader'/,+2 d" \
+ -e "/loader: 'uglify-loader'/ d" \
+ -e "/'eslint',/ d" \
+ -e "/'uglify',/ d" \
+ Gruntfile.js
+
+ sed -i \
+ -e '/Exec=/ c \Exec=keeweb %u' \
+ package/deb/usr/share/applications/keeweb.desktop
}
build() {
- cd ${_pkgname}
- # skip electron installation
- sed -i 's/^.*"electron-builder".*$//;s/^.*"grunt-electron".*$//;s/postinstall/_pi/' package.json
- npm install
- grunt --force
+ cd "${pkgname}"
+
+ export SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=1
+ export LIBSASS_EXT=auto
+
+ npm install --no-package-lock
+ node_modules/.bin/grunt --skip-sign build-web-app build-desktop-app-content
+
+ asar p tmp/desktop/app ../keeweb.asar
}
package() {
- cd "${_pkgname}"
- find ./{electron,tmp} -type f -exec install -Dm644 {} \
- "${pkgdir}/usr/share/${_pkgname}/{}" \;
- mv "${pkgdir}/usr/share/${_pkgname}/"{tmp,html}
- # auto hide menubar
- patch "${pkgdir}/usr/share/${_pkgname}/electron/app.js" < "${srcdir}/app.js.patch"
-
- install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
- install -Dm644 "${srcdir}/${_desktop}" "${pkgdir}/usr/share/applications/${_desktop}"
- install -Dm755 "${srcdir}/${_pkgname}.sh" "${pkgdir}/usr/bin/${_pkgname}"
-}
+ cd "${pkgname}"
+
+ install -Dm0755 ../keeweb.sh "${pkgdir}/usr/bin/keeweb"
+ install -Dm0644 -t "${pkgdir}/usr/lib/keeweb" ../keeweb.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"
+}
diff --git a/app.js.patch b/app.js.patch
deleted file mode 100644
index 3038776b8b8c..000000000000
--- a/app.js.patch
+++ /dev/null
@@ -1,5 +0,0 @@
-97c97,98
-< icon: path.join(__dirname, 'icon.png')
----
-> icon: path.join(__dirname, 'icon.png'),
-> autoHideMenuBar: true
diff --git a/hide-menubar.patch b/hide-menubar.patch
new file mode 100644
index 000000000000..92ebf9816468
--- /dev/null
+++ b/hide-menubar.patch
@@ -0,0 +1,12 @@
+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
new file mode 100644
index 000000000000..c5b1095b84e4
--- /dev/null
+++ b/keeweb.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/sh
+
+exec electron /usr/lib/keeweb/keeweb.asar --disable-updater "$@"
diff --git a/package.json.patch.js b/package.json.patch.js
new file mode 100644
index 000000000000..5617cc7ee617
--- /dev/null
+++ b/package.json.patch.js
@@ -0,0 +1,33 @@
+'use strict';
+
+const PATCHABLE_FILE = './package.json';
+
+const fs = require('fs');
+const data = JSON.parse(fs.readFileSync(PATCHABLE_FILE));
+
+// remove extra dependencies
+const removePkg = [
+ /^babel-/,
+ /^electron$/,
+ /^eslint/,
+ /^grunt-appdmg$/,
+ /^grunt-concurrent$/,
+ /^grunt-contrib-compress$/,
+ /^grunt-contrib-deb$/,
+ /^grunt-contrib-uglify$/,
+ /^grunt-contrib-watch$/,
+ /^grunt-electron$/,
+ /^grunt-eslint$/,
+ /^uglify-loader$/,
+ /^webpack-dev-server/,
+];
+
+Object.keys(data.devDependencies).forEach(dep => {
+ if (removePkg.some(reg => reg.test(dep)))
+ delete data.devDependencies[dep];
+});
+
+// upgrade node-sass
+data.devDependencies['node-sass'] = '^4.9.3';
+
+fs.writeFileSync(PATCHABLE_FILE, JSON.stringify(data, null, '\t')); \ No newline at end of file