nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1From d11261c2ad184daf6e9edd777bc8a3372c277b4b Mon Sep 17 00:00:00 2001
2From: Johannes Frankenau <johannes@frankenau.net>
3Date: Fri, 10 Aug 2018 09:49:57 +0200
4Subject: [PATCH] Patch the clip() function to work even when using
5 single-binary coreutils
6
7---
8 src/password-store.sh | 4 ++--
9 src/platform/cygwin.sh | 4 ++--
10 src/platform/darwin.sh | 4 ++--
11 3 files changed, 6 insertions(+), 6 deletions(-)
12
13diff --git a/src/password-store.sh b/src/password-store.sh
14index 7264ffc..68551a4 100755
15--- a/src/password-store.sh
16+++ b/src/password-store.sh
17@@ -155,11 +155,11 @@ clip() {
18 # variable. Specifically, it cannot store nulls nor (non-trivally) store
19 # trailing new lines.
20 local sleep_argv0="password store sleep on display $DISPLAY"
21- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
22+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
23 local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | $BASE64)"
24 echo -n "$1" | xclip -selection "$X_SELECTION" || die "Error: Could not copy data to the clipboard"
25 (
26- ( exec -a "$sleep_argv0" bash <<<"trap 'kill %1' TERM; sleep '$CLIP_TIME' & wait" )
27+ ( exec -a "$sleep_argv0" bash <(echo trap 'kill %1' TERM\; sleep "$CLIP_TIME & wait") )
28 local now="$(xclip -o -selection "$X_SELECTION" | $BASE64)"
29 [[ $now != $(echo -n "$1" | $BASE64) ]] && before="$now"
30
31diff --git a/src/platform/cygwin.sh b/src/platform/cygwin.sh
32index 5a8d5ea..423e0ce 100644
33--- a/src/platform/cygwin.sh
34+++ b/src/platform/cygwin.sh
35@@ -3,11 +3,11 @@
36
37 clip() {
38 local sleep_argv0="password store sleep on display $DISPLAY"
39- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
40+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
41 local before="$($BASE64 < /dev/clipboard)"
42 echo -n "$1" > /dev/clipboard
43 (
44- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
45+ ( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
46 local now="$($BASE64 < /dev/clipboard)"
47 [[ $now != $(echo -n "$1" | $BASE64) ]] && before="$now"
48 echo "$before" | $BASE64 -d > /dev/clipboard
49diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh
50index 342ecce..9e12837 100644
51--- a/src/platform/darwin.sh
52+++ b/src/platform/darwin.sh
53@@ -3,11 +3,11 @@
54
55 clip() {
56 local sleep_argv0="password store sleep for user $(id -u)"
57- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
58+ pkill -P $(pgrep -f "^$sleep_argv0") 2>/dev/null && sleep 0.5
59 local before="$(pbpaste | $BASE64)"
60 echo -n "$1" | pbcopy
61 (
62- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
63+ ( exec -a "$sleep_argv0" bash <(echo sleep "$CLIP_TIME") )
64 local now="$(pbpaste | $BASE64)"
65 [[ $now != $(echo -n "$1" | $BASE64) ]] && before="$now"
66 echo "$before" | $BASE64 -d | pbcopy
67--
682.16.4
69