summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorgenstern2019-04-20 14:22:36 +1200
committerMorgenstern2019-04-20 14:22:36 +1200
commit3ea93debbb3d8f7530299a32ae2b665f50ab6176 (patch)
tree3578b84ec12fb4d9b73d8b8e9f9f51306e1e9460
downloadaur-3ea93debbb3d8f7530299a32ae2b665f50ab6176.tar.gz
Initial commit
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD41
-rw-r--r--pass-parcellite.patch26
3 files changed, 95 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..147d1d1005d2
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = pass-parcellite
+ pkgdesc = Stores, retrieves, generates, and synchronizes passwords securely (Parcellite history removal support)
+ pkgver = 1.7.3
+ pkgrel = 1
+ url = https://www.passwordstore.org/
+ arch = any
+ license = GPL2
+ checkdepends = git
+ depends = xclip
+ depends = bash
+ depends = gnupg
+ depends = tree
+ depends = parcellite-git
+ optdepends = git: for Git support
+ optdepends = dmenu: for passmenu
+ optdepends = qrencode: for QR code support
+ provides = passmenu
+ provides = pass
+ conflicts = passmenu
+ conflicts = pass
+ replaces = passmenu
+ source = https://git.zx2c4.com/password-store/snapshot/password-store-1.7.3.tar.xz
+ source = pass-parcellite.patch
+ sha256sums = 2b6c65846ebace9a15a118503dcd31b6440949a30d3b5291dfb5b1615b99a3f4
+ sha256sums = f37dcc73d214fc9435e499f4b4c153fa93e923bd9dc7fe3d8fc1821119054fb1
+
+pkgname = pass-parcellite
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9967243ca8cb
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Morgenstern <charles [at] charlesbwise [dot] com>
+# Contributor: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Simon Zimmermann <simon@insmo.com>
+
+pkgname='pass-parcellite'
+pkgver=1.7.3
+pkgrel=1
+pkgdesc='Stores, retrieves, generates, and synchronizes passwords securely (Parcellite history removal support)'
+arch=('any')
+url='https://www.passwordstore.org/'
+license=('GPL2')
+depends=('xclip' 'bash' 'gnupg' 'tree' 'parcellite-git')
+checkdepends=('git')
+optdepends=('git: for Git support'
+ 'dmenu: for passmenu'
+ 'qrencode: for QR code support')
+replaces=('passmenu')
+provides=('passmenu' 'pass')
+conflicts=('passmenu' 'pass')
+source=("https://git.zx2c4.com/password-store/snapshot/password-store-${pkgver}.tar.xz"
+ "pass-parcellite.patch")
+sha256sums=('2b6c65846ebace9a15a118503dcd31b6440949a30d3b5291dfb5b1615b99a3f4'
+ 'f37dcc73d214fc9435e499f4b4c153fa93e923bd9dc7fe3d8fc1821119054fb1')
+
+prepare() {
+ cd "${srcdir}/password-store-$pkgver/"
+ patch --forward --strip=1 --input="${srcdir}/pass-parcellite.patch"
+}
+
+check() {
+ cd "${srcdir}/password-store-$pkgver/"
+ make test
+}
+
+package() {
+ cd "${srcdir}/password-store-$pkgver/"
+ make DESTDIR="${pkgdir}" WITH_ALLCOMP=yes install
+
+ cd contrib/dmenu
+ install -Dm0755 passmenu "${pkgdir}/usr/bin/passmenu"
+}
diff --git a/pass-parcellite.patch b/pass-parcellite.patch
new file mode 100644
index 000000000000..f2a5d1072cd0
--- /dev/null
+++ b/pass-parcellite.patch
@@ -0,0 +1,26 @@
+diff --unified --recursive --text password-store-1.7.3.orig/src/password-store.sh password-store-1.7.3.new/src/password-store.sh
+--- password-store-1.7.3.orig/src/password-store.sh 2018-08-03 15:32:48.000000000 +1200
++++ password-store-1.7.3.new/src/password-store.sh 2019-04-20 14:09:13.702924600 +1200
+@@ -155,7 +155,8 @@
+ # variable. Specifically, it cannot store nulls nor (non-trivally) store
+ # trailing new lines.
+ local sleep_argv0="password store sleep on display $DISPLAY"
+- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
++ # Allow multiple $sleep_argv0 processes
++ #pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
+ local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | $BASE64)"
+ echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard"
+ (
+@@ -173,6 +174,12 @@
+ qdbus org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory &>/dev/null
+
+ echo "$before" | $BASE64 -d | xclip -selection "$X_SELECTION"
++
++ # Wait until all $sleep_argv0 processes have cleared, then
++ # wipe the Parcellite clipboard history
++ while pgrep -f "^$sleep_argv0" 2>/dev/null; do
++ :
++ done; echo -n "clear_all" > "$HOME"/.local/share/parcellite/fifo_cmd
+ ) >/dev/null 2>&1 & disown
+ echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds."
+ }