diff --git a/pkgs/development/python-modules/bash-kernel/bash-path.patch b/pkgs/development/python-modules/bash-kernel/bash-path.patch new file mode 100644 index 000000000000..98c3cc511ab7 --- /dev/null +++ b/pkgs/development/python-modules/bash-kernel/bash-path.patch @@ -0,0 +1,22 @@ +diff --git a/bash_kernel/kernel.py b/bash_kernel/kernel.py +index 0496f1e..bd13c4f 100644 +--- a/bash_kernel/kernel.py ++++ b/bash_kernel/kernel.py +@@ -88,7 +88,7 @@ class BashKernel(Kernel): + @property + def banner(self): + if self._banner is None: +- self._banner = check_output(['bash', '--version']).decode('utf-8') ++ self._banner = check_output(['@bash@', '--version']).decode('utf-8') + return self._banner + + language_info = {'name': 'bash', +@@ -116,7 +116,7 @@ class BashKernel(Kernel): + # source code there for comments and context for + # understanding the code here. + bashrc = os.path.join(os.path.dirname(pexpect.__file__), 'bashrc.sh') +- child = pexpect.spawn("bash", ['--rcfile', bashrc], echo=False, ++ child = pexpect.spawn("@bash@", ['--rcfile', bashrc], echo=False, + encoding='utf-8', codec_errors='replace') + # Following comment stolen from upstream's REPLWrap: + # If the user runs 'env', the value of PS1 will be in the output. To avoid diff --git a/pkgs/development/python-modules/bash_kernel/default.nix b/pkgs/development/python-modules/bash-kernel/default.nix similarity index 53% rename from pkgs/development/python-modules/bash_kernel/default.nix rename to pkgs/development/python-modules/bash-kernel/default.nix index 5956d52de861..1c50b151f01e 100644 --- a/pkgs/development/python-modules/bash_kernel/default.nix +++ b/pkgs/development/python-modules/bash-kernel/default.nix @@ -4,42 +4,38 @@ , fetchpatch , flit-core , ipykernel -, isPy27 , python , pexpect , bash +, substituteAll }: buildPythonPackage rec { - pname = "bash_kernel"; + pname = "bash-kernel"; version = "0.9.1"; - format = "flit"; - disabled = isPy27; + pyproject = true; src = fetchPypi { - inherit pname version; - sha256 = "sha256-AYPVPjYP+baEcQUqmiiagWIXMlFrA04njpcgtdFaFis="; + pname = "bash_kernel"; + inherit version; + hash = "sha256-AYPVPjYP+baEcQUqmiiagWIXMlFrA04njpcgtdFaFis="; }; patches = [ - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/takluyver/bash_kernel/pull/69.diff"; - sha256 = "1qd7qjjmcph4dk6j0bl31h2fdmfiyyazvrc9xqqj8y21ki2sl33j"; + (substituteAll { + src = ./bash-path.patch; + bash = lib.getExe bash; }) ]; - postPatch = '' - substituteInPlace bash_kernel/kernel.py \ - --replace "'bash'" "'${bash}/bin/bash'" \ - --replace "\"bash\"" "'${bash}/bin/bash'" - ''; + nativeBuildInputs = [ + flit-core + ]; - nativeBuildInputs = [ flit-core ]; - - propagatedBuildInputs = [ ipykernel pexpect ]; - - # no tests - doCheck = false; + propagatedBuildInputs = [ + ipykernel + pexpect + ]; preBuild = '' export HOME=$TMPDIR @@ -49,6 +45,9 @@ buildPythonPackage rec { ${python.pythonOnBuildForHost.interpreter} -m bash_kernel.install --prefix $out ''; + # no tests + doCheck = false; + meta = with lib; { description = "Bash Kernel for Jupyter"; homepage = "https://github.com/takluyver/bash_kernel"; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index ea0ab64e2049..30a0d6472232 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -58,6 +58,7 @@ mapAliases ({ backports_tempfile = throw "backports_tempfile has been removed, since we no longer need to backport to python3.3"; # added 2023-07-28 backports_unittest-mock = throw "backports_unittest-mock has been removed, since we no longer need to backport to python3.2"; # added 2023-07-28 backports_weakref = throw "backports_weakref has been removed, since we no longer need to backport to python3.3"; # added 2023-07-28 + bash_kernel = bash-kernel; # added 2023-11-10 beancount_docverif = beancount-docverif; # added 2023-10-08 bedup = throw "bedup was removed because it was broken and abandoned upstream"; # added 2023-02-04 bip_utils = bip-utils; # 2023-10-08 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8837eaac5da0..41cf6b5344fc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1321,7 +1321,7 @@ self: super: with self; { basemap-data = callPackage ../development/python-modules/basemap-data { }; - bash_kernel = callPackage ../development/python-modules/bash_kernel { }; + bash-kernel = callPackage ../development/python-modules/bash-kernel { }; bashlex = callPackage ../development/python-modules/bashlex { };