diff --git a/pkgs/development/python-modules/nbmerge/default.nix b/pkgs/by-name/nb/nbmerge/package.nix similarity index 65% rename from pkgs/development/python-modules/nbmerge/default.nix rename to pkgs/by-name/nb/nbmerge/package.nix index 5b825fa91a513ae..b6dc642c9687875 100644 --- a/pkgs/development/python-modules/nbmerge/default.nix +++ b/pkgs/by-name/nb/nbmerge/package.nix @@ -1,38 +1,32 @@ { lib, - buildPythonPackage, fetchFromGitHub, - setuptools, - nbformat, - nose, + python3Packages, }: -buildPythonPackage rec { +python3Packages.buildPythonApplication rec { pname = "nbmerge"; version = "0.0.4"; pyproject = true; src = fetchFromGitHub { owner = "jbn"; - repo = pname; + repo = "nbmerge"; rev = "refs/tags/v${version}"; hash = "sha256-Uqs/SO/AculHCFYcbjW08kLQX5GSU/eAwkN2iy/vhLM="; }; - nativeBuildInputs = [ setuptools ]; + patches = [ ./pytest-compatibility.patch ]; - propagatedBuildInputs = [ nbformat ]; + build-system = [ python3Packages.setuptools ]; - nativeCheckInputs = [ nose ]; + dependencies = [ python3Packages.nbformat ]; - checkPhase = '' - runHook preCheck + nativeCheckInputs = [ python3Packages.pytestCheckHook ]; + postCheck = '' patchShebangs . - nosetests -v PATH=$PATH:$out/bin ./cli_tests.sh - - runHook postCheck ''; pythonImportsCheck = [ "nbmerge" ]; diff --git a/pkgs/by-name/nb/nbmerge/pytest-compatibility.patch b/pkgs/by-name/nb/nbmerge/pytest-compatibility.patch new file mode 100644 index 000000000000000..81ea4c4218f83e0 --- /dev/null +++ b/pkgs/by-name/nb/nbmerge/pytest-compatibility.patch @@ -0,0 +1,19 @@ +diff --git a/tests/test_merge.py b/tests/test_merge.py +index 06ee559..9d7b1af 100644 +--- a/tests/test_merge.py ++++ b/tests/test_merge.py +@@ -1,3 +1,4 @@ ++import io + import os + import sys + import unittest +@@ -21,8 +22,7 @@ def file_names_from(file_paths): + + class TestMerge(unittest.TestCase): + def setUp(self): +- if not hasattr(sys.stdout, "getvalue"): +- self.fail("need to run in buffered mode") ++ sys.stdout = io.StringIO() + + def _validate_merged_three(self, merged): + self.assertEqual(len(merged.cells), 6) diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 748d4fa6af18b2c..4b887b0e4249203 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -314,6 +314,7 @@ mapAliases ({ mrkd = throw "mrkd has been promoted to a top-level attribute name: `pkgs.mrkd`"; # added 2023-08-01 multi_key_dict = multi-key-dict; # added 2023-11-05 mutmut = throw "mutmut has been promoted to a top-level attribute name: `pkgs.mutmut`"; # added 2022-10-02 + nbmerge = throw "nbmerge has moved to pkgs.nbmerge"; # added 2024-07-05 net2grid = gridnet; # add 2022-04-22 nghttp2 = throw "in 1.52.0 removed deprecated python bindings."; # added 2023-06-08 ninja-python = ninja; # add 2022-08-03 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e3e6066cf77d193..960a53e4f1e06ec 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8835,8 +8835,6 @@ self: super: with self; { nbmake = callPackage ../development/python-modules/nbmake { }; - nbmerge = callPackage ../development/python-modules/nbmerge { }; - nbsmoke = callPackage ../development/python-modules/nbsmoke { }; nbsphinx = callPackage ../development/python-modules/nbsphinx { };