diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/bpython')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/bpython/clipboard-make-which-substitutable.patch | 27 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/bpython/default.nix | 45 |
2 files changed, 72 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/bpython/clipboard-make-which-substitutable.patch b/nixpkgs/pkgs/development/python-modules/bpython/clipboard-make-which-substitutable.patch new file mode 100644 index 00000000000..685d34228a1 --- /dev/null +++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/bpython/default.nix b/nixpkgs/pkgs/development/python-modules/bpython/default.nix new file mode 100644 index 00000000000..ad7322cbf66 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/bpython/default.nix @@ -0,0 +1,45 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, curtsies +, greenlet +, mock +, pygments +, requests +, substituteAll +, urwid +, which }: + +buildPythonPackage rec { + pname = "bpython"; + version = "0.19"; + + src = fetchPypi { + inherit pname version; + sha256 = "1764ikgj24jjq46s50apwkydqvy5a13adb2nbszk8kbci6df0v27"; + }; + + patches = [ (substituteAll { + src = ./clipboard-make-which-substitutable.patch; + which = "${which}/bin/which"; + })]; + + propagatedBuildInputs = [ curtsies greenlet pygments requests urwid ]; + + postInstall = '' + substituteInPlace "$out/share/applications/org.bpython-interpreter.bpython.desktop" \ + --replace "Exec=/usr/bin/bpython" "Exec=$out/bin/bpython" + ''; + + checkInputs = [ mock ]; + + # tests fail: https://github.com/bpython/bpython/issues/712 + doCheck = false; + + meta = with stdenv.lib; { + description = "A fancy curses interface to the Python interactive interpreter"; + homepage = "https://bpython-interpreter.org/"; + license = licenses.mit; + maintainers = with maintainers; [ flokli ]; + }; +} |