diff options
author | Morgenstern | 2019-04-20 14:22:36 +1200 |
---|---|---|
committer | Morgenstern | 2019-04-20 14:22:36 +1200 |
commit | 3ea93debbb3d8f7530299a32ae2b665f50ab6176 (patch) | |
tree | 3578b84ec12fb4d9b73d8b8e9f9f51306e1e9460 | |
download | aur-3ea93debbb3d8f7530299a32ae2b665f50ab6176.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | PKGBUILD | 41 | ||||
-rw-r--r-- | pass-parcellite.patch | 26 |
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." + } |