diff options
author | surefire | 2020-11-26 15:18:45 +0300 |
---|---|---|
committer | surefire | 2020-11-26 15:18:45 +0300 |
commit | 457847a8fc9b75e69ce561d8fbe87be1ff19f5f0 (patch) | |
tree | a2ca78b614512e4c6dafe6b95c1cb28337bff222 | |
parent | ac31b81fd6ca4d02c024455447f4a5c378393711 (diff) | |
download | aur-457847a8fc9b75e69ce561d8fbe87be1ff19f5f0.tar.gz |
upgpkg: keeweb 1.15.7
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 101 | ||||
-rw-r--r-- | hide-menubar.patch | 12 | ||||
-rw-r--r-- | keeweb.sh | 3 | ||||
-rw-r--r-- | package.json.patch.js | 13 |
6 files changed, 88 insertions, 60 deletions
@@ -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/ @@ -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 => { |