about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2020-06-03 22:09:54 +0200
committerFlorian Klink <flokli@flokli.de>2020-06-03 22:11:37 +0200
commit7de3d934dacd7e4b798d18bcd8d1bc54d3458b46 (patch)
tree4235bf7983b560ad78eec0ea36d7ad4774d99e8d /pkgs
parentb084cf2d3096cd600d0d4d21c733bdb78646ee9a (diff)
downloadnixlib-7de3d934dacd7e4b798d18bcd8d1bc54d3458b46.tar
nixlib-7de3d934dacd7e4b798d18bcd8d1bc54d3458b46.tar.gz
nixlib-7de3d934dacd7e4b798d18bcd8d1bc54d3458b46.tar.bz2
nixlib-7de3d934dacd7e4b798d18bcd8d1bc54d3458b46.tar.lz
nixlib-7de3d934dacd7e4b798d18bcd8d1bc54d3458b46.tar.xz
nixlib-7de3d934dacd7e4b798d18bcd8d1bc54d3458b46.tar.zst
nixlib-7de3d934dacd7e4b798d18bcd8d1bc54d3458b46.zip
bpython: substituteAll the path to `which`
This is used to detect the presence of xclip and other clipboard
handling tools.

Fixes https://github.com/NixOS/nixpkgs/issues/56941.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/python-modules/bpython/clipboard-make-which-substitutable.patch27
-rw-r--r--pkgs/development/python-modules/bpython/default.nix17
2 files changed, 43 insertions, 1 deletions
diff --git a/pkgs/development/python-modules/bpython/clipboard-make-which-substitutable.patch b/pkgs/development/python-modules/bpython/clipboard-make-which-substitutable.patch
new file mode 100644
index 000000000000..685d34228a1b
--- /dev/null
+++ b/pkgs/development/python-modules/bpython/clipboard-make-which-substitutable.patch
@@ -0,0 +1,27 @@
+From 6f544a5bd43446859754cb80e012af933b843db9 Mon Sep 17 00:00:00 2001
+From: Florian Klink <flokli@flokli.de>
+Date: Wed, 3 Jun 2020 22:05:34 +0200
+Subject: [PATCH] clipboard: make which substitutable
+
+This is used to detect the presence of xclip and other clipboard
+handling tools.
+---
+ bpython/clipboard.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bpython/clipboard.py b/bpython/clipboard.py
+index aee429b..f346429 100644
+--- a/bpython/clipboard.py
++++ b/bpython/clipboard.py
+@@ -58,7 +58,7 @@ class OSXClipboard(object):
+ 
+ def command_exists(command):
+     process = subprocess.Popen(
+-        ["which", command], stderr=subprocess.STDOUT, stdout=subprocess.PIPE
++        ["@which@", command], stderr=subprocess.STDOUT, stdout=subprocess.PIPE
+     )
+     process.communicate()
+ 
+-- 
+2.26.2
+
diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix
index 73ce843cf018..ad7322cbf661 100644
--- a/pkgs/development/python-modules/bpython/default.nix
+++ b/pkgs/development/python-modules/bpython/default.nix
@@ -1,4 +1,14 @@
-{ stdenv, buildPythonPackage, fetchPypi, pygments, greenlet, curtsies, urwid, requests, mock }:
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, curtsies
+, greenlet
+, mock
+, pygments
+, requests
+, substituteAll
+, urwid
+, which }:
 
 buildPythonPackage rec {
   pname = "bpython";
@@ -9,6 +19,11 @@ buildPythonPackage rec {
     sha256 = "1764ikgj24jjq46s50apwkydqvy5a13adb2nbszk8kbci6df0v27";
   };
 
+  patches = [ (substituteAll {
+    src = ./clipboard-make-which-substitutable.patch;
+    which = "${which}/bin/which";
+  })];
+
   propagatedBuildInputs = [ curtsies greenlet pygments requests urwid ];
 
   postInstall = ''