From af931a7a0ee71e2a684ca4ed0f9af38ea79935d2 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 09:06:55 +0100 Subject: [PATCH 01/25] python2Packages.pygtk: drop --- .../python2-modules/pygtk/default.nix | 99 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python2-packages.nix | 2 - 3 files changed, 1 insertion(+), 101 deletions(-) delete mode 100644 pkgs/development/python2-modules/pygtk/default.nix diff --git a/pkgs/development/python2-modules/pygtk/default.nix b/pkgs/development/python2-modules/pygtk/default.nix deleted file mode 100644 index e5702f908169..000000000000 --- a/pkgs/development/python2-modules/pygtk/default.nix +++ /dev/null @@ -1,99 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - fetchpatch, - python, - pkg-config, - gtk2, - pygobject2, - pycairo, - pango, - buildPythonPackage, - isPy3k, -}: - -buildPythonPackage rec { - pname = "pygtk"; - outputs = [ - "out" - "dev" - ]; - version = "2.24.0"; - format = "other"; - - disabled = isPy3k; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; - sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"; - }; - - patches = [ - # https://bugzilla.gnome.org/show_bug.cgi?id=660216 - fixes some memory leaks - (fetchpatch { - url = "https://gitlab.gnome.org/Archive/pygtk/commit/eca72baa5616fbe4dbebea43c7e5940847dc5ab8.diff"; - sha256 = "031px4w5cshcx1sns430sdbr2i007b9zyb2carb3z65nzr77dpdd"; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/Archive/pygtk/commit/4aaa48eb80c6802aec6d03e5695d2a0ff20e0fc2.patch"; - sha256 = "0z8cg7nr3qki8gg8alasdzzyxcihfjlxn518glq5ajglk3q5pzsn"; - }) - ]; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - pango - ]; - - propagatedBuildInputs = [ - gtk2 - pygobject2 - pycairo - ]; - - configurePhase = "configurePhase"; - - buildPhase = "buildPhase"; - - env.NIX_CFLAGS_COMPILE = - lib.optionalString stdenv.hostPlatform.isDarwin "-ObjC" - + lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) " -lpython2.7" - + " -fpermissive"; # downgrade code errors to warnings - - installPhase = "installPhase"; - - checkPhase = '' - sed -i -e "s/glade = importModule('gtk.glade', buildDir)//" \ - tests/common.py - sed -i -e "s/, glade$//" \ - -e "s/.*testGlade.*//" \ - -e "s/.*(glade.*//" \ - tests/test_api.py - '' - + '' - sed -i -e "s/sys.path.insert(0, os.path.join(buildDir, 'gtk'))//" \ - -e "s/sys.path.insert(0, buildDir)//" \ - tests/common.py - make check - ''; - # XXX: TypeError: Unsupported type: - # The check phase was not executed in the previous - # non-buildPythonPackage setup - not sure why not. - doCheck = false; - - postInstall = '' - rm $out/bin/pygtk-codegen-2.0 - ln -s ${pygobject2}/bin/pygobject-codegen-2.0 $out/bin/pygtk-codegen-2.0 - ln -s ${pygobject2}/${python.sitePackages}/pygobject-${pygobject2.version}.pth \ - $out/${python.sitePackages}/${pname}-${version}.pth - ''; - - meta = { - description = "GTK 2 Python bindings"; - homepage = "https://gitlab.gnome.org/Archive/pygtk"; - platforms = lib.platforms.all; - license = with lib.licenses; [ lgpl21Plus ]; - maintainers = with lib.maintainers; [ bryango ]; - }; -} diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 55eb3d572c60..1252de7b1f14 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -340,6 +340,7 @@ mapAliases { pygame_sdl2 = throw "'pygame_sdl2' has been renamed to/replaced by 'pygame-sdl2'"; # Converted to throw 2025-10-29 PyGithub = throw "'PyGithub' has been renamed to/replaced by 'pygithub'"; # Converted to throw 2025-10-29 pygls_2 = pygls; # added 2026-01-05 + pygtk = throw "pygtk has been removed because it was not supported by python3"; # Added 2026-01-14 pyheif = throw "pyheif has been removed due to lack of upstream maintenance and breakage. Use `pillow-heif` instead."; # added 2025-09-17 pyhiveapi = throw "'pyhiveapi' has been renamed to/replaced by 'pyhive-integration'"; # Converted to throw 2025-10-29 pyialarmxr = throw "'pyialarmxr' has been renamed to/replaced by 'pyialarmxr-homeassistant'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index ebfdbb802acb..86647bbc016f 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -53,8 +53,6 @@ with super; pygobject2 = callPackage ../development/python2-modules/pygobject { }; - pygtk = callPackage ../development/python2-modules/pygtk { }; - pyparsing = callPackage ../development/python2-modules/pyparsing { }; pytest = pytest_4; From fdbced07feabce12b4c01e230b5cdf72de31f910 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 09:08:51 +0100 Subject: [PATCH 02/25] python2Packages.pygobject2: drop --- .../python2-modules/pygobject/default.nix | 62 ------------- .../pygobject/pygobject-2.0-fix-darwin.patch | 88 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python2-packages.nix | 2 - 4 files changed, 1 insertion(+), 152 deletions(-) delete mode 100644 pkgs/development/python2-modules/pygobject/default.nix delete mode 100644 pkgs/development/python2-modules/pygobject/pygobject-2.0-fix-darwin.patch diff --git a/pkgs/development/python2-modules/pygobject/default.nix b/pkgs/development/python2-modules/pygobject/default.nix deleted file mode 100644 index 88a4375b0029..000000000000 --- a/pkgs/development/python2-modules/pygobject/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - fetchpatch, - python, - buildPythonPackage, - pkg-config, - glib, - isPy3k, - pythonAtLeast, -}: - -buildPythonPackage rec { - pname = "pygobject"; - version = "2.28.7"; - format = "other"; - disabled = pythonAtLeast "3.9"; - - src = fetchurl { - url = "mirror://gnome/sources/pygobject/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"; - }; - - outputs = [ - "out" - "devdoc" - ]; - - patches = lib.optionals stdenv.hostPlatform.isDarwin [ - ./pygobject-2.0-fix-darwin.patch - (fetchpatch { - url = "https://github.com/macports/macports-ports/raw/f2975d5bbbc2459c661905c5a850cc661fa32f55/python/py-gobject/files/py-gobject-dynamic_lookup-11.patch"; - sha256 = "sha256-mtlyu+La3+iC5iQAmVJzDA5E35XGaRQy/EKXzvrWRCg="; - extraPrefix = ""; - }) - ]; - - configureFlags = [ "--disable-introspection" ]; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ glib ]; - - # in a "normal" setup, pygobject and pygtk are installed into the - # same site-packages: we need a pth file for both. pygtk.py would be - # used to select a specific version, in our setup it should have no - # effect, but we leave it in case somebody expects and calls it. - postInstall = lib.optionalString (!isPy3k) '' - mv $out/${python.sitePackages}/{pygtk.pth,${pname}-${version}.pth} - - # Prevent wrapping of codegen files as these are meant to be - # executed by the python program - chmod a-x $out/share/pygobject/*/codegen/*.py - ''; - - meta = { - homepage = "https://pygobject.readthedocs.io/"; - description = "Python bindings for GLib"; - license = lib.licenses.gpl2; - maintainers = [ ]; - }; -} diff --git a/pkgs/development/python2-modules/pygobject/pygobject-2.0-fix-darwin.patch b/pkgs/development/python2-modules/pygobject/pygobject-2.0-fix-darwin.patch deleted file mode 100644 index 7fef05262f4d..000000000000 --- a/pkgs/development/python2-modules/pygobject/pygobject-2.0-fix-darwin.patch +++ /dev/null @@ -1,88 +0,0 @@ ---- a/gio/unix-types.defs -+++ b/gio/unix-types.defs -@@ -7,18 +7,6 @@ - (gtype-id "G_TYPE_UNIX_CONNECTION") - ) - --(define-object DesktopAppInfo -- (docstring -- "DesktopAppInfo(desktop_id) -> gio.unix.DesktopAppInfo\n\n" -- "gio.Unix.DesktopAppInfo is an implementation of gio.AppInfo\n" -- "based on desktop files." -- ) -- (in-module "giounix") -- (parent "GObject") -- (c-name "GDesktopAppInfo") -- (gtype-id "G_TYPE_DESKTOP_APP_INFO") --) -- - (define-object FDMessage - (in-module "giounix") - (parent "GSocketControlMessage") ---- a/gio/unix.defs -+++ b/gio/unix.defs -@@ -32,54 +32,6 @@ - - - --;; From gdesktopappinfo.h -- --(define-function desktop_app_info_get_type -- (c-name "g_desktop_app_info_get_type") -- (return-type "GType") --) -- --(define-function desktop_app_info_new_from_filename -- (c-name "g_desktop_app_info_new_from_filename") -- (return-type "GDesktopAppInfo*") -- (parameters -- '("const-char*" "filename") -- ) --) -- --(define-function g_desktop_app_info_new_from_keyfile -- (c-name "g_desktop_app_info_new_from_keyfile") -- (return-type "GDesktopAppInfo*") -- (parameters -- '("GKeyFile*" "key_file") -- ) --) -- --(define-function desktop_app_info_new -- (c-name "g_desktop_app_info_new") -- (is-constructor-of "GDesktopAppInfo") -- (return-type "GDesktopAppInfo*") -- (parameters -- '("const-char*" "desktop_id") -- ) --) -- --(define-method get_is_hidden -- (of-object "GDesktopAppInfo") -- (c-name "g_desktop_app_info_get_is_hidden") -- (return-type "gboolean") --) -- --(define-function desktop_app_info_set_desktop_env -- (c-name "g_desktop_app_info_set_desktop_env") -- (return-type "none") -- (parameters -- '("const-char*" "desktop_env") -- ) --) -- -- -- - ;; From gunixfdmessage.h - - (define-function g_unix_fd_message_get_type ---- a/gio/unix.override -+++ b/gio/unix.override -@@ -24,7 +24,6 @@ - #define NO_IMPORT_PYGOBJECT - #include - #include --#include - #include - #include - #include diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 1252de7b1f14..db52f40d06ef 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -353,6 +353,7 @@ mapAliases { pymicro-vad = throw "'pymicro-vad' was removed because Home Assistant switched to 'pysilero-vad'"; # added 2026-01-08 PyMVGLive = throw "'PyMVGLive' has been renamed to/replaced by 'pymvglive'"; # Converted to throw 2025-10-29 pymyq = throw "'pymyq' has been renamed to/replaced by 'python-myq'"; # Converted to throw 2025-10-29 + pyobject = throw "'pyobject' has been removed because it was only supporting python 2"; # Added 2026-01-24 pyownet = throw "pyownet was removed because Home Assistant switched to aio-ownet"; # added 2025-10-31 pypcap = throw "pypcap has been removed because it is broken and unmaintained upstream."; # added 2025-06-18 pyqldb = throw "pyqldb has been removed, because the underlying service is reaching end of support"; # added 2025-07-30 diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 86647bbc016f..6bc5a5bbd9a8 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -51,8 +51,6 @@ with super; inherit (pkgs.buildPackages) meson; }; - pygobject2 = callPackage ../development/python2-modules/pygobject { }; - pyparsing = callPackage ../development/python2-modules/pyparsing { }; pytest = pytest_4; From a879987ac8d4bb9137c37b4efc343a2a86fc9e06 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:24:51 +0100 Subject: [PATCH 03/25] python2Packages.pyparsing: drop --- .../python2-modules/pyparsing/default.nix | 49 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 pkgs/development/python2-modules/pyparsing/default.nix diff --git a/pkgs/development/python2-modules/pyparsing/default.nix b/pkgs/development/python2-modules/pyparsing/default.nix deleted file mode 100644 index 36de6922e72d..000000000000 --- a/pkgs/development/python2-modules/pyparsing/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - buildPythonPackage, - fetchFromGitHub, - lib, - - # since this is a dependency of pytest, we need to avoid - # circular dependencies - jinja2, - railroad-diagrams, -}: - -let - pyparsing = buildPythonPackage rec { - pname = "pyparsing"; - version = "2.4.7"; - format = "setuptools"; - - src = fetchFromGitHub { - owner = "pyparsing"; - repo = pname; - rev = "pyparsing_${version}"; - sha256 = "14pfy80q2flgzjcx8jkracvnxxnr59kjzp3kdm5nh232gk1v6g6h"; - }; - - # circular dependencies if enabled by default - doCheck = false; - nativeCheckInputs = [ - jinja2 - railroad-diagrams - ]; - - checkPhase = '' - python -m unittest - ''; - - passthru.tests = { - check = pyparsing.overridePythonAttrs (_: { - doCheck = true; - }); - }; - - meta = { - homepage = "https://github.com/pyparsing/pyparsing"; - description = "Alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions"; - license = lib.licenses.mit; - }; - }; -in -pyparsing diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 6bc5a5bbd9a8..a5d6050851f7 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -51,7 +51,7 @@ with super; inherit (pkgs.buildPackages) meson; }; - pyparsing = callPackage ../development/python2-modules/pyparsing { }; + pyparsing = disabled super.pyparsing; pytest = pytest_4; From 00259414d5c1bfd963d0386ef841962e8e9538be Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 09:11:43 +0100 Subject: [PATCH 04/25] python2Packages.pycairo: drop --- .../python2-modules/pycairo/default.nix | 66 ------------------- pkgs/top-level/python2-packages.nix | 4 +- 2 files changed, 1 insertion(+), 69 deletions(-) delete mode 100644 pkgs/development/python2-modules/pycairo/default.nix diff --git a/pkgs/development/python2-modules/pycairo/default.nix b/pkgs/development/python2-modules/pycairo/default.nix deleted file mode 100644 index ed4f1f2e6e21..000000000000 --- a/pkgs/development/python2-modules/pycairo/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ - lib, - fetchFromGitHub, - fetchpatch, - meson, - ninja, - buildPythonPackage, - pytest, - pkg-config, - cairo, - python, -}: - -buildPythonPackage rec { - pname = "pycairo"; - version = "1.18.2"; - - format = "other"; - - src = fetchFromGitHub { - owner = "pygobject"; - repo = "pycairo"; - rev = "v${version}"; - sha256 = "142145a2whvlk92jijrbf3i2bqrzmspwpysj0bfypw0krzi0aa6j"; - }; - - patches = [ - (fetchpatch { - url = "https://github.com/pygobject/pycairo/commit/678edd94d8a6dfb5d51f9c3549e6ee8c90a73744.patch"; - sha256 = "sha256-HmP69tUGYxZvJ/M9FJHwHTCjb9Kf4aWRyMT4wSymrT0="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - ]; - - buildInputs = [ - cairo - ]; - - # HACK: Don't use the pytestCheckHook because PYTHONPATH - # will be added by the Python setuptook breaking meson. - checkPhase = '' - ${pytest}/bin/pytest - ''; - - mesonFlags = [ - # This is only used for figuring out what version of Python is in - # use, and related stuff like figuring out what the install prefix - # should be, but it does need to be able to execute Python code. - "-Dpython=${python.pythonOnBuildForHost.interpreter}" - ]; - - meta = { - description = "Python 2 bindings for cairo"; - homepage = "https://pycairo.readthedocs.io/"; - license = with lib.licenses; [ - lgpl21Only - mpl11 - ]; - platforms = lib.platforms.linux ++ lib.platforms.darwin; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index a5d6050851f7..81af93a7e2e0 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -47,9 +47,7 @@ with super; pluggy = callPackage ../development/python2-modules/pluggy { }; - pycairo = callPackage ../development/python2-modules/pycairo { - inherit (pkgs.buildPackages) meson; - }; + pycairo = disabled super.pycairo; pyparsing = disabled super.pyparsing; From dfea2974aa3e1fc11e2137ef960186820d863b2a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:29:42 +0100 Subject: [PATCH 05/25] python2Packages.cffi: drop --- .../python2-modules/cffi/default.nix | 52 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 53 deletions(-) delete mode 100644 pkgs/development/python2-modules/cffi/default.nix diff --git a/pkgs/development/python2-modules/cffi/default.nix b/pkgs/development/python2-modules/cffi/default.nix deleted file mode 100644 index 52ed21c84918..000000000000 --- a/pkgs/development/python2-modules/cffi/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - lib, - stdenv, - cffi, -}: - -if cffi == null then - null -else - cffi.overridePythonAttrs { - disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ - # cannot load library 'c' - "test_FILE" - "test_FILE_object" - "test_FILE_only_for_FILE_arg" - "test_load_and_call_function" - "test_load_library" - - # cannot load library 'dl' - "test_dlopen_handle" - - # cannot load library 'm' - "test_dir_on_dlopen_lib" - "test_dlclose" - "test_dlopen" - "test_dlopen_constant" - "test_dlopen_flags" - "test_function_typedef" - "test_line_continuation_in_defines" - "test_missing_function" - "test_remove_comments" - "test_remove_line_continuation_comments" - "test_simple" - "test_sin" - "test_sinf" - "test_stdcall_only_on_windows" - "test_wraps_from_stdlib" - - # MemoryError - "test_callback_as_function_argument" - "test_callback_crash" - "test_callback_decorator" - "test_callback_large_struct" - "test_callback_returning_void" - "test_cast_functionptr_and_int" - "test_function_pointer" - "test_functionptr_intptr_return" - "test_functionptr_simple" - "test_functionptr_void_return" - "test_functionptr_voidptr_return" - ]; - } diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 81af93a7e2e0..7e5846555d78 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -15,7 +15,7 @@ with super; bootstrapped-pip = toPythonModule (callPackage ../development/python2-modules/bootstrapped-pip { }); - cffi = callPackage ../development/python2-modules/cffi { inherit cffi; }; + cffi = disabed super.cffi; configparser = callPackage ../development/python2-modules/configparser { }; From 094256ce6efef11be909f8c580d5d5804ab8621a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:40:19 +0100 Subject: [PATCH 06/25] python2Packages.jinja2: drop --- .../python2-modules/jinja2/default.nix | 48 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 49 deletions(-) delete mode 100644 pkgs/development/python2-modules/jinja2/default.nix diff --git a/pkgs/development/python2-modules/jinja2/default.nix b/pkgs/development/python2-modules/jinja2/default.nix deleted file mode 100644 index d66b6544e14e..000000000000 --- a/pkgs/development/python2-modules/jinja2/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - lib, - stdenv, - buildPythonPackage, - isPy3k, - fetchPypi, - pytest, - markupsafe, - setuptools, -}: - -buildPythonPackage rec { - pname = "Jinja2"; - version = "2.11.3"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"; - }; - - nativeCheckInputs = [ pytest ]; - propagatedBuildInputs = [ - markupsafe - setuptools - ]; - - # Multiple tests run out of stack space on 32bit systems with python2. - # See https://github.com/pallets/jinja/issues/1158 - # warnings are no longer being filtered correctly for python2 - doCheck = !stdenv.hostPlatform.is32bit && isPy3k; - - checkPhase = '' - pytest -v tests -W ignore::DeprecationWarning - ''; - - meta = { - homepage = "http://jinja.pocoo.org/"; - description = "Stand-alone template engine"; - license = lib.licenses.bsd3; - longDescription = '' - Jinja2 is a template engine written in pure Python. It provides a - Django inspired non-XML syntax but supports inline expressions and - an optional sandboxed environment. - ''; - maintainers = with lib.maintainers; [ pierron ]; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 7e5846555d78..9bc34161cd6f 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -29,7 +29,7 @@ with super; importlib-metadata = callPackage ../development/python2-modules/importlib-metadata { }; - jinja2 = callPackage ../development/python2-modules/jinja2 { }; + jinja2 = disabled super.jinja2; markupsafe = callPackage ../development/python2-modules/markupsafe { }; From 5df004f48b18fc9b53ff038927772d36cd4f845a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:44:34 +0100 Subject: [PATCH 07/25] python2Packages.pytest-xdist: drop --- .../python2-modules/hypothesis/default.nix | 2 - .../python2-modules/pytest-xdist/default.nix | 59 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 3 files changed, 1 insertion(+), 62 deletions(-) delete mode 100644 pkgs/development/python2-modules/pytest-xdist/default.nix diff --git a/pkgs/development/python2-modules/hypothesis/default.nix b/pkgs/development/python2-modules/hypothesis/default.nix index d2b8c9066f89..70fe9682b824 100644 --- a/pkgs/development/python2-modules/hypothesis/default.nix +++ b/pkgs/development/python2-modules/hypothesis/default.nix @@ -7,7 +7,6 @@ pexpect, doCheck ? true, pytest, - pytest-xdist, flaky, mock, sortedcontainers, @@ -41,7 +40,6 @@ buildPythonPackage rec { nativeCheckInputs = [ pytest - pytest-xdist flaky mock pexpect diff --git a/pkgs/development/python2-modules/pytest-xdist/default.nix b/pkgs/development/python2-modules/pytest-xdist/default.nix deleted file mode 100644 index 96db76de1488..000000000000 --- a/pkgs/development/python2-modules/pytest-xdist/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ - lib, - fetchPypi, - buildPythonPackage, - execnet, - pytest, - setuptools-scm, - pytest-forked, - filelock, - psutil, - six, - isPy3k, -}: - -buildPythonPackage rec { - pname = "pytest-xdist"; - version = "1.34.0"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "1vh4ps32lp5ignch5adbl3pgchvigdfmrl6qpmhxih54wa1qw3il"; - }; - - nativeBuildInputs = [ - setuptools-scm - pytest - ]; - nativeCheckInputs = [ - pytest - filelock - ]; - propagatedBuildInputs = [ - execnet - pytest-forked - psutil - six - ]; - - # Encountered a memory leak - # https://github.com/pytest-dev/pytest-xdist/issues/462 - doCheck = !isPy3k; - - checkPhase = '' - # Excluded tests access file system - py.test testing -k "not test_distribution_rsyncdirs_example \ - and not test_rsync_popen_with_path \ - and not test_popen_rsync_subdir \ - and not test_init_rsync_roots \ - and not test_rsyncignore" - ''; - - meta = { - description = "py.test xdist plugin for distributed testing and loop-on-failing modes"; - homepage = "https://github.com/pytest-dev/pytest-xdist"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ dotlambda ]; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 9bc34161cd6f..f6a1d61337a8 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -60,7 +60,7 @@ with super; }; }; - pytest-xdist = callPackage ../development/python2-modules/pytest-xdist { }; + pytest-xdist = disabled super.pytest-xdist; recoll = disabled super.recoll; From 123a63462926edb13153c90e74bef89492421727 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:48:51 +0100 Subject: [PATCH 08/25] python2Packages.filelock: drop --- .../python2-modules/filelock/default.nix | 28 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 pkgs/development/python2-modules/filelock/default.nix diff --git a/pkgs/development/python2-modules/filelock/default.nix b/pkgs/development/python2-modules/filelock/default.nix deleted file mode 100644 index 8f6358ffd654..000000000000 --- a/pkgs/development/python2-modules/filelock/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools-scm, -}: - -buildPythonPackage rec { - pname = "filelock"; - version = "3.2.1"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "1qry67zv2pmz8px6wdfbjqv75nmryy2ac7asqgs6q6db2722kpcw"; - }; - - nativeBuildInputs = [ - setuptools-scm - ]; - - meta = { - homepage = "https://github.com/benediktschmitt/py-filelock"; - description = "Platform independent file lock for Python"; - license = lib.licenses.unlicense; - maintainers = with lib.maintainers; [ henkkalkwater ]; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index f6a1d61337a8..eaa91cdda3d2 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -23,7 +23,7 @@ with super; coverage = callPackage ../development/python2-modules/coverage { }; - filelock = callPackage ../development/python2-modules/filelock { }; + filelock = disabled super.filelock; hypothesis = callPackage ../development/python2-modules/hypothesis { }; From 61937413717028a2521f4db441a505a76210537e Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:47:49 +0100 Subject: [PATCH 09/25] python2Packages.coverage: drop --- .../python2-modules/coverage/default.nix | 27 ------------------- .../python2-modules/hypothesis/default.nix | 2 -- pkgs/top-level/python2-packages.nix | 2 +- 3 files changed, 1 insertion(+), 30 deletions(-) delete mode 100644 pkgs/development/python2-modules/coverage/default.nix diff --git a/pkgs/development/python2-modules/coverage/default.nix b/pkgs/development/python2-modules/coverage/default.nix deleted file mode 100644 index 7bf3247d8768..000000000000 --- a/pkgs/development/python2-modules/coverage/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - mock, -}: - -buildPythonPackage rec { - pname = "coverage"; - version = "5.5"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c"; - }; - - # No tests in archive - doCheck = false; - nativeCheckInputs = [ mock ]; - - meta = { - description = "Code coverage measurement for python"; - homepage = "https://coverage.readthedocs.io/"; - license = lib.licenses.bsd3; - }; -} diff --git a/pkgs/development/python2-modules/hypothesis/default.nix b/pkgs/development/python2-modules/hypothesis/default.nix index 70fe9682b824..89331389b4d5 100644 --- a/pkgs/development/python2-modules/hypothesis/default.nix +++ b/pkgs/development/python2-modules/hypothesis/default.nix @@ -3,7 +3,6 @@ buildPythonPackage, fetchFromGitHub, attrs, - coverage, pexpect, doCheck ? true, pytest, @@ -34,7 +33,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ attrs - coverage sortedcontainers ]; diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index eaa91cdda3d2..41f4914c7421 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -21,7 +21,7 @@ with super; contextlib2 = callPackage ../development/python2-modules/contextlib2 { }; - coverage = callPackage ../development/python2-modules/coverage { }; + coverage = disabled super.coverage; filelock = disabled super.filelock; From eb24888d98e7ab43f50d2e8681f955dcecf1c965 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:51:39 +0100 Subject: [PATCH 10/25] python2Packages.hypothesis: drop --- .../python2-modules/hypothesis/default.nix | 57 ------------------- .../python2-modules/pytest/default.nix | 3 +- pkgs/top-level/python2-packages.nix | 9 +-- 3 files changed, 3 insertions(+), 66 deletions(-) delete mode 100644 pkgs/development/python2-modules/hypothesis/default.nix diff --git a/pkgs/development/python2-modules/hypothesis/default.nix b/pkgs/development/python2-modules/hypothesis/default.nix deleted file mode 100644 index 89331389b4d5..000000000000 --- a/pkgs/development/python2-modules/hypothesis/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - attrs, - pexpect, - doCheck ? true, - pytest, - flaky, - mock, - sortedcontainers, -}: -buildPythonPackage rec { - # https://hypothesis.readthedocs.org/en/latest/packaging.html - - # Hypothesis has optional dependencies on the following libraries - # pytz fake_factory django numpy pytest - # If you need these, you can just add them to your environment. - - version = "4.57.1"; - format = "setuptools"; - pname = "hypothesis"; - - # Use github tarballs that includes tests - src = fetchFromGitHub { - owner = "HypothesisWorks"; - repo = "hypothesis-python"; - rev = "hypothesis-python-${version}"; - sha256 = "1qcpcrk6892hzyjsdr581pw6i4fj9035nv89mcjrcrzcmycdlfds"; - }; - - postUnpack = "sourceRoot=$sourceRoot/hypothesis-python"; - - propagatedBuildInputs = [ - attrs - sortedcontainers - ]; - - nativeCheckInputs = [ - pytest - flaky - mock - pexpect - ]; - inherit doCheck; - - checkPhase = '' - rm tox.ini # This file changes how py.test runs and breaks it - py.test tests/cover - ''; - - meta = { - description = "Python library for property based testing"; - homepage = "https://github.com/HypothesisWorks/hypothesis"; - license = lib.licenses.mpl20; - }; -} diff --git a/pkgs/development/python2-modules/pytest/default.nix b/pkgs/development/python2-modules/pytest/default.nix index 3adb0a7d4aad..b8ddc2299704 100644 --- a/pkgs/development/python2-modules/pytest/default.nix +++ b/pkgs/development/python2-modules/pytest/default.nix @@ -3,7 +3,6 @@ buildPythonPackage, fetchPypi, attrs, - hypothesis, py, setuptools-scm, setuptools, @@ -35,9 +34,9 @@ buildPythonPackage rec { ''; nativeCheckInputs = [ - hypothesis mock ]; + buildInputs = [ setuptools-scm ]; propagatedBuildInputs = [ attrs diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 41f4914c7421..9ef1c960f979 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -25,7 +25,7 @@ with super; filelock = disabled super.filelock; - hypothesis = callPackage ../development/python2-modules/hypothesis { }; + hypothesis = disabled super.hypothesis; importlib-metadata = callPackage ../development/python2-modules/importlib-metadata { }; @@ -53,12 +53,7 @@ with super; pytest = pytest_4; - pytest_4 = callPackage ../development/python2-modules/pytest { - # hypothesis tests require pytest that causes dependency cycle - hypothesis = self.hypothesis.override { - doCheck = false; - }; - }; + pytest_4 = callPackage ../development/python2-modules/pytest { }; pytest-xdist = disabled super.pytest-xdist; From 50476a84bec3dc7bc2082a2f1a33e472d51c844a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:52:39 +0100 Subject: [PATCH 11/25] python2Packages.markupsafe: drop --- .../python2-modules/markupsafe/default.nix | 24 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 25 deletions(-) delete mode 100644 pkgs/development/python2-modules/markupsafe/default.nix diff --git a/pkgs/development/python2-modules/markupsafe/default.nix b/pkgs/development/python2-modules/markupsafe/default.nix deleted file mode 100644 index ec6aa8cb600c..000000000000 --- a/pkgs/development/python2-modules/markupsafe/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, -}: - -buildPythonPackage rec { - pname = "MarkupSafe"; - version = "1.1.1"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"; - }; - - meta = { - description = "Implements a XML/HTML/XHTML Markup safe string"; - homepage = "http://dev.pocoo.org"; - license = lib.licenses.bsd3; - maintainers = [ ]; - }; - -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 9ef1c960f979..52a45fc64b7d 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -31,7 +31,7 @@ with super; jinja2 = disabled super.jinja2; - markupsafe = callPackage ../development/python2-modules/markupsafe { }; + markupsafe = disabled super.markupsafe; mock = callPackage ../development/python2-modules/mock { }; From d6648d84934a189df84bf3b1129235f5a64bccf7 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:54:00 +0100 Subject: [PATCH 12/25] python2Packages.pytest: drop --- .../python2-modules/mock/default.nix | 2 - .../python2-modules/packaging/default.nix | 2 - .../python2-modules/pip/default.nix | 3 +- .../python2-modules/pluggy/default.nix | 4 - .../python2-modules/pytest/default.nix | 100 ------------------ .../python2-modules/zipp/default.nix | 11 -- pkgs/top-level/python2-packages.nix | 4 +- 7 files changed, 3 insertions(+), 123 deletions(-) delete mode 100644 pkgs/development/python2-modules/pytest/default.nix diff --git a/pkgs/development/python2-modules/mock/default.nix b/pkgs/development/python2-modules/mock/default.nix index 3e100689eb54..d65fede054b5 100644 --- a/pkgs/development/python2-modules/mock/default.nix +++ b/pkgs/development/python2-modules/mock/default.nix @@ -7,7 +7,6 @@ six, pbr, unittestCheckHook, - pytest, }: buildPythonPackage rec { @@ -35,7 +34,6 @@ buildPythonPackage rec { nativeCheckInputs = [ unittestCheckHook - pytest ]; meta = { diff --git a/pkgs/development/python2-modules/packaging/default.nix b/pkgs/development/python2-modules/packaging/default.nix index f5a0f459bd4e..b39721c46b3a 100644 --- a/pkgs/development/python2-modules/packaging/default.nix +++ b/pkgs/development/python2-modules/packaging/default.nix @@ -4,7 +4,6 @@ fetchPypi, pyparsing, six, - pytestCheckHook, pretend, }: @@ -27,7 +26,6 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ - pytestCheckHook pretend ]; diff --git a/pkgs/development/python2-modules/pip/default.nix b/pkgs/development/python2-modules/pip/default.nix index 229f34fa1a7a..2ccdf3ca4189 100644 --- a/pkgs/development/python2-modules/pip/default.nix +++ b/pkgs/development/python2-modules/pip/default.nix @@ -7,7 +7,6 @@ scripttest, virtualenv, pretend, - pytest, }: buildPythonPackage rec { @@ -34,8 +33,8 @@ buildPythonPackage rec { scripttest virtualenv pretend - pytest ]; + # Pip wants pytest, but tests are not distributed doCheck = false; diff --git a/pkgs/development/python2-modules/pluggy/default.nix b/pkgs/development/python2-modules/pluggy/default.nix index 968068182188..b01e63c5834f 100644 --- a/pkgs/development/python2-modules/pluggy/default.nix +++ b/pkgs/development/python2-modules/pluggy/default.nix @@ -16,10 +16,6 @@ buildPythonPackage rec { sha256 = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"; }; - checkPhase = '' - py.test - ''; - # To prevent infinite recursion with pytest doCheck = false; diff --git a/pkgs/development/python2-modules/pytest/default.nix b/pkgs/development/python2-modules/pytest/default.nix deleted file mode 100644 index b8ddc2299704..000000000000 --- a/pkgs/development/python2-modules/pytest/default.nix +++ /dev/null @@ -1,100 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - attrs, - py, - setuptools-scm, - setuptools, - six, - pluggy, - funcsigs, - isPy3k, - more-itertools, - atomicwrites, - mock, - writeText, - wcwidth, - packaging, - isPyPy, -}: -buildPythonPackage rec { - version = "4.6.11"; - format = "setuptools"; - pname = "pytest"; - - src = fetchPypi { - inherit pname version; - sha256 = "50fa82392f2120cc3ec2ca0a75ee615be4c479e66669789771f1758332be4353"; - }; - - postPatch = '' - substituteInPlace setup.py \ - --replace "pluggy>=0.12,<1.0" "pluggy>=0.12,<2.0" - ''; - - nativeCheckInputs = [ - mock - ]; - - buildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ - attrs - py - setuptools - six - pluggy - more-itertools - atomicwrites - wcwidth - packaging - ] - ++ lib.optionals (!isPy3k) [ funcsigs ]; - - doCheck = !isPyPy; # https://github.com/pytest-dev/pytest/issues/3460 - checkPhase = '' - runHook preCheck - - # don't test bash builtins - rm testing/test_argcomplete.py - - # determinism - this test writes non deterministic bytecode - rm -rf testing/test_assertrewrite.py - - PYTHONDONTWRITEBYTECODE=1 $out/bin/py.test -x testing/ -k "not test_collect_pyargs_with_testpaths" - runHook postCheck - ''; - - # Remove .pytest_cache when using py.test in a Nix build - setupHook = writeText "pytest-hook" '' - pytestcachePhase() { - find $out -name .pytest_cache -type d -exec rm -rf {} + - } - - appendToVar preDistPhases pytestcachePhase - - # pytest generates it's own bytecode files to improve assertion messages. - # These files similar to cpython's bytecode files but are never laoded - # by python interpreter directly. We remove them for a few reasons: - # - files are non-deterministic: https://github.com/NixOS/nixpkgs/issues/139292 - # (file headers are generatedt by pytest directly and contain timestamps) - # - files are not needed after tests are finished - pytestRemoveBytecodePhase () { - # suffix is defined at: - # https://github.com/pytest-dev/pytest/blob/4.6.11/src/_pytest/assertion/rewrite.py#L32-L47 - find $out -name "*-PYTEST.py[co]" -delete - } - appendToVar preDistPhases pytestRemoveBytecodePhase - ''; - - meta = { - homepage = "https://docs.pytest.org"; - description = "Framework for writing tests"; - maintainers = with lib.maintainers; [ - lovek323 - madjar - ]; - license = lib.licenses.mit; - platforms = lib.platforms.unix; - }; -} diff --git a/pkgs/development/python2-modules/zipp/default.nix b/pkgs/development/python2-modules/zipp/default.nix index a08e88cc6d7d..ed94f8e364a5 100644 --- a/pkgs/development/python2-modules/zipp/default.nix +++ b/pkgs/development/python2-modules/zipp/default.nix @@ -3,8 +3,6 @@ buildPythonPackage, fetchPypi, setuptools-scm, - pytest, - pytest-flake8, more-itertools, }: @@ -22,15 +20,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ more-itertools ]; - nativeCheckInputs = [ - pytest - pytest-flake8 - ]; - - checkPhase = '' - pytest - ''; - # Prevent infinite recursion with pytest doCheck = false; diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 52a45fc64b7d..0f8b544c1959 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -51,9 +51,9 @@ with super; pyparsing = disabled super.pyparsing; - pytest = pytest_4; + pytest = disabled super.pytest; - pytest_4 = callPackage ../development/python2-modules/pytest { }; + pytest_4 = disabled super.pytest; pytest-xdist = disabled super.pytest-xdist; From c02e1cfb2158c9bb3b8aea1f689753020ccf5019 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:57:03 +0100 Subject: [PATCH 13/25] python2Packages.mock: drop --- .../python2-modules/mock/default.nix | 45 ------------------- .../python2-modules/pip/default.nix | 2 - pkgs/top-level/python2-packages.nix | 2 +- 3 files changed, 1 insertion(+), 48 deletions(-) delete mode 100644 pkgs/development/python2-modules/mock/default.nix diff --git a/pkgs/development/python2-modules/mock/default.nix b/pkgs/development/python2-modules/mock/default.nix deleted file mode 100644 index d65fede054b5..000000000000 --- a/pkgs/development/python2-modules/mock/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - isPy27, - funcsigs, - six, - pbr, - unittestCheckHook, -}: - -buildPythonPackage rec { - pname = "mock"; - version = "3.0.5"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3"; - }; - - propagatedBuildInputs = [ - six - pbr - ] - ++ lib.optionals isPy27 [ funcsigs ]; - - # On PyPy for Python 2.7 in particular, Mock's tests have a known failure. - # Mock upstream has a decoration to disable the failing test and make - # everything pass, but it is not yet released. The commit: - # https://github.com/testing-cabal/mock/commit/73bfd51b7185#diff-354f30a63fb0907d4ad57269548329e3L12 - #doCheck = !(python.isPyPy && python.isPy27); - doCheck = false; # Infinite recursion pytest - - nativeCheckInputs = [ - unittestCheckHook - ]; - - meta = { - description = "Mock objects for Python"; - homepage = "http://python-mock.sourceforge.net/"; - license = lib.licenses.bsd2; - }; - -} diff --git a/pkgs/development/python2-modules/pip/default.nix b/pkgs/development/python2-modules/pip/default.nix index 2ccdf3ca4189..e0b6b001cb3e 100644 --- a/pkgs/development/python2-modules/pip/default.nix +++ b/pkgs/development/python2-modules/pip/default.nix @@ -3,7 +3,6 @@ buildPythonPackage, bootstrapped-pip, fetchFromGitHub, - mock, scripttest, virtualenv, pretend, @@ -29,7 +28,6 @@ buildPythonPackage rec { pipInstallFlags = [ "--ignore-installed" ]; nativeCheckInputs = [ - mock scripttest virtualenv pretend diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 0f8b544c1959..41ba19d8799e 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -33,7 +33,7 @@ with super; markupsafe = disabled super.markupsafe; - mock = callPackage ../development/python2-modules/mock { }; + mock = disabled super.mock; more-itertools = callPackage ../development/python2-modules/more-itertools { }; From 11fe3af7590b3c5c7d2574b78463cdf74ccd410d Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 21:58:21 +0100 Subject: [PATCH 14/25] python2Packages.wcwidth: drop --- .../python2-modules/wcwidth/default.nix | 27 ------------------- pkgs/top-level/python2-packages.nix | 4 +-- 2 files changed, 1 insertion(+), 30 deletions(-) delete mode 100644 pkgs/development/python2-modules/wcwidth/default.nix diff --git a/pkgs/development/python2-modules/wcwidth/default.nix b/pkgs/development/python2-modules/wcwidth/default.nix deleted file mode 100644 index f16622f7a7b0..000000000000 --- a/pkgs/development/python2-modules/wcwidth/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - backports-functools-lru-cache, - wcwidth, - lib, -}: - -wcwidth.overridePythonAttrs (oldAttrs: { - propagatedBuildInputs = oldAttrs.propagatedBuildInputs or [ ] ++ [ - backports-functools-lru-cache - ]; - - /** - As of version 0.2.13 upstream still supports python2. In the future, this - package should be dropped or pinned to the last working version after the - final release for python2. See: - https://github.com/jquast/wcwidth/pull/117#issuecomment-1946609638 - */ - disabled = false; - - meta = oldAttrs.meta // { - /** - maintainers overridden here for python2; this makes sure that python3 - maintainers are not blamed for the breakage here. - */ - maintainers = with lib.maintainers; [ bryango ]; - }; -}) diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 41ba19d8799e..eb18d417151c 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -69,9 +69,7 @@ with super; doCheck = false; # circular dependency with pytest }); - wcwidth = callPackage ../development/python2-modules/wcwidth { - inherit wcwidth; - }; + wcwidth = disabled super.wcwitch; wheel = callPackage ../development/python2-modules/wheel { }; From 7ca75c48113eabb026b8ddd93477c3ac40d8eda1 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:00:03 +0100 Subject: [PATCH 15/25] python2Packages.backports-functools-lru-cache: drop --- .../backports-functools-lru-cache/default.nix | 38 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python2-packages.nix | 4 -- 3 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 pkgs/development/python2-modules/backports-functools-lru-cache/default.nix diff --git a/pkgs/development/python2-modules/backports-functools-lru-cache/default.nix b/pkgs/development/python2-modules/backports-functools-lru-cache/default.nix deleted file mode 100644 index 78a52491f1fc..000000000000 --- a/pkgs/development/python2-modules/backports-functools-lru-cache/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools, - setuptools-scm, -}: - -buildPythonPackage rec { - pname = "backports-functools-lru-cache"; - version = "1.6.6"; - pyproject = true; - - src = fetchPypi { - pname = "backports.functools_lru_cache"; - inherit version; - hash = "sha256-e3DnAbpNtYwO2GcanTORsKu5vRvCTU6Qw0gPS6r8wtw="; - }; - - nativeBuildInputs = [ - setuptools - setuptools-scm - ]; - - # circular dependency: - # backports-functools-lru-cache -> pytest -> wc-width -> backports-functools-lru-cache - doCheck = false; - - pythonImportsCheck = [ - "backports.functools_lru_cache" - ]; - - meta = { - description = "Backport of functools.lru_cache"; - homepage = "https://github.com/jaraco/backports.functools_lru_cache"; - license = lib.licenses.mit; - }; -} diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index db52f40d06ef..037a61bb36e9 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -74,6 +74,7 @@ mapAliases { atsim_potentials = throw "'atsim_potentials' has been renamed to/replaced by 'atsim-potentials'"; # Converted to throw 2025-10-29 autotrash = throw "'autotrash' has been renamed to/replaced by 'super.pkgs.autotrash'"; # Converted to throw 2025-10-29 Babel = throw "'Babel' has been renamed to/replaced by 'babel'"; # Converted to throw 2025-10-29 + backports-functools-lru-cache = throw "'backports-functools-lru-cache' has been removed from nixpkgs as it was not longer used in python2"; # Added 2026-01-14 backports_shutil_get_terminal_size = throw "'backports_shutil_get_terminal_size' has been renamed to/replaced by 'backports-shutil-get-terminal-size'"; # Converted to throw 2025-10-29 basewood-av = throw "'basewood-av' has been removed due to being archived upstream and unused"; # added 2025-11-26 bash_kernel = throw "'bash_kernel' has been renamed to/replaced by 'bash-kernel'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index eb18d417151c..3edf7143941c 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -9,10 +9,6 @@ with super; { attrs = callPackage ../development/python2-modules/attrs { }; - backports-functools-lru-cache = - callPackage ../development/python2-modules/backports-functools-lru-cache - { }; - bootstrapped-pip = toPythonModule (callPackage ../development/python2-modules/bootstrapped-pip { }); cffi = disabed super.cffi; From fa13e71eb91e97bff7b8997bf073bb8425fc0d6a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:00:58 +0100 Subject: [PATCH 16/25] python2Packages.attrs: drop --- .../python2-modules/attrs/default.nix | 42 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 pkgs/development/python2-modules/attrs/default.nix diff --git a/pkgs/development/python2-modules/attrs/default.nix b/pkgs/development/python2-modules/attrs/default.nix deleted file mode 100644 index d2613cfcfb42..000000000000 --- a/pkgs/development/python2-modules/attrs/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, -}: - -buildPythonPackage rec { - pname = "attrs"; - version = "21.4.0"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-YmuoI0IR25joad92IwoTfExAoS1yRFxF1fW3FvB24v0="; - }; - - outputs = [ - "out" - "testout" - ]; - - postInstall = '' - # Install tests as the tests output. - mkdir $testout - cp -R tests $testout/tests - ''; - - pythonImportsCheck = [ - "attr" - ]; - - # pytest depends on attrs, so we can't do this out-of-the-box. - # Instead, we do this as a passthru.tests test. - doCheck = false; - - meta = { - description = "Python attributes without boilerplate"; - homepage = "https://github.com/hynek/attrs"; - license = lib.licenses.mit; - maintainers = [ ]; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 3edf7143941c..83d9bfdd2054 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -7,7 +7,7 @@ self: super: with self; with super; { - attrs = callPackage ../development/python2-modules/attrs { }; + attrs = disabled super.attrs; bootstrapped-pip = toPythonModule (callPackage ../development/python2-modules/bootstrapped-pip { }); From d0ebeb004e7f2b4a5c68575bf2bdb4c76dfe1a36 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:02:05 +0100 Subject: [PATCH 17/25] python2Packages.pluggy: drop --- .../python2-modules/pluggy/default.nix | 32 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 33 deletions(-) delete mode 100644 pkgs/development/python2-modules/pluggy/default.nix diff --git a/pkgs/development/python2-modules/pluggy/default.nix b/pkgs/development/python2-modules/pluggy/default.nix deleted file mode 100644 index b01e63c5834f..000000000000 --- a/pkgs/development/python2-modules/pluggy/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - buildPythonPackage, - lib, - fetchPypi, - setuptools-scm, - importlib-metadata, -}: - -buildPythonPackage rec { - pname = "pluggy"; - version = "0.13.1"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"; - }; - - # To prevent infinite recursion with pytest - doCheck = false; - - nativeBuildInputs = [ setuptools-scm ]; - - propagatedBuildInputs = [ importlib-metadata ]; - - meta = { - description = "Plugin and hook calling mechanisms for Python"; - homepage = "https://github.com/pytest-dev/pluggy"; - license = lib.licenses.mit; - maintainers = [ ]; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 83d9bfdd2054..f141113e14dd 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -41,7 +41,7 @@ with super; pip = callPackage ../development/python2-modules/pip { }; - pluggy = callPackage ../development/python2-modules/pluggy { }; + pluggy = disabled super.pluggy; pycairo = disabled super.pycairo; From 04f7b4cd681b567482650ce9ec7b55a915190047 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:06:20 +0100 Subject: [PATCH 18/25] python2Packages.importlib-metadata: drop --- .../importlib-metadata/default.nix | 45 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 46 deletions(-) delete mode 100644 pkgs/development/python2-modules/importlib-metadata/default.nix diff --git a/pkgs/development/python2-modules/importlib-metadata/default.nix b/pkgs/development/python2-modules/importlib-metadata/default.nix deleted file mode 100644 index 7aaa45854161..000000000000 --- a/pkgs/development/python2-modules/importlib-metadata/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools-scm, - zipp, - pathlib2, - contextlib2, - configparser, - isPy3k, -}: - -buildPythonPackage rec { - pname = "importlib-metadata"; - version = "2.1.1"; - format = "setuptools"; - - src = fetchPypi { - pname = "importlib_metadata"; - inherit version; - sha256 = "1pdmsmwagimn0lsl4x7sg3skcr2fvzqpv2pjd1rh7yrm5gzrxpmq"; - }; - - nativeBuildInputs = [ setuptools-scm ]; - - propagatedBuildInputs = [ - zipp - ] - ++ lib.optionals (!isPy3k) [ - pathlib2 - contextlib2 - configparser - ]; - - # Cyclic dependencies - doCheck = false; - - pythonImportsCheck = [ "importlib_metadata" ]; - - meta = { - description = "Read metadata from Python packages"; - homepage = "https://importlib-metadata.readthedocs.io/"; - license = lib.licenses.asl20; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index f141113e14dd..d40ed82fd1d8 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -23,7 +23,7 @@ with super; hypothesis = disabled super.hypothesis; - importlib-metadata = callPackage ../development/python2-modules/importlib-metadata { }; + importlib-metadata = disabled super.importlib-metadata; jinja2 = disabled super.jinja2; From 0a2a17a5371666884d9dcb51efc7ff3d4dded805 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:07:07 +0100 Subject: [PATCH 19/25] python2Packages.contextlib2: drop --- .../python2-modules/contextlib2/default.nix | 25 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 26 deletions(-) delete mode 100644 pkgs/development/python2-modules/contextlib2/default.nix diff --git a/pkgs/development/python2-modules/contextlib2/default.nix b/pkgs/development/python2-modules/contextlib2/default.nix deleted file mode 100644 index 273fd278c528..000000000000 --- a/pkgs/development/python2-modules/contextlib2/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, -}: - -buildPythonPackage rec { - pname = "contextlib2"; - version = "0.6.0.post1"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"; - }; - - # requires unittest2, which has been removed - doCheck = false; - - meta = { - description = "Backports and enhancements for the contextlib module"; - homepage = "https://contextlib2.readthedocs.org/"; - license = lib.licenses.psfl; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index d40ed82fd1d8..62e9a844e9c7 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -15,7 +15,7 @@ with super; configparser = callPackage ../development/python2-modules/configparser { }; - contextlib2 = callPackage ../development/python2-modules/contextlib2 { }; + contextlib2 = disabled super.contextlib2; coverage = disabled super.coverage; From e675728e4936c5120e2835aff28ffd5ceebfe814 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:08:14 +0100 Subject: [PATCH 20/25] python2Packages.zipp: drop --- .../python2-modules/zipp/default.nix | 31 ------------------- pkgs/top-level/python2-packages.nix | 3 +- 2 files changed, 1 insertion(+), 33 deletions(-) delete mode 100644 pkgs/development/python2-modules/zipp/default.nix diff --git a/pkgs/development/python2-modules/zipp/default.nix b/pkgs/development/python2-modules/zipp/default.nix deleted file mode 100644 index ed94f8e364a5..000000000000 --- a/pkgs/development/python2-modules/zipp/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools-scm, - more-itertools, -}: - -buildPythonPackage rec { - pname = "zipp"; - version = "1.0.0"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "0v3qayhqv7vyzydpydwcp51bqciw8p2ajddw68x5k8zppc0vx3yk"; - }; - - nativeBuildInputs = [ setuptools-scm ]; - - propagatedBuildInputs = [ more-itertools ]; - - # Prevent infinite recursion with pytest - doCheck = false; - - meta = { - description = "Pathlib-compatible object wrapper for zip files"; - homepage = "https://github.com/jaraco/zipp"; - license = lib.licenses.mit; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 62e9a844e9c7..6418e30ce386 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -71,6 +71,5 @@ with super; zeek = disabled super.zeek; - zipp = callPackage ../development/python2-modules/zipp { }; - + zipp = disabled super.zipp; } From 4bf90188491933eb164fc183e034bb6a229476fa Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:08:40 +0100 Subject: [PATCH 21/25] python2Packages.configparser: drop --- .../python2-modules/configparser/default.nix | 33 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 34 deletions(-) delete mode 100644 pkgs/development/python2-modules/configparser/default.nix diff --git a/pkgs/development/python2-modules/configparser/default.nix b/pkgs/development/python2-modules/configparser/default.nix deleted file mode 100644 index 679d19c59f47..000000000000 --- a/pkgs/development/python2-modules/configparser/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - lib, - stdenv, - buildPythonPackage, - fetchPypi, - setuptools-scm, -}: - -buildPythonPackage rec { - pname = "configparser"; - version = "4.0.2"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df"; - }; - - # No tests available - doCheck = false; - - nativeBuildInputs = [ setuptools-scm ]; - - preConfigure = '' - export LC_ALL=${if stdenv.hostPlatform.isDarwin then "en_US" else "C"}.UTF-8 - ''; - - meta = { - description = "Updated configparser from Python 3.7 for Python 2.6+"; - license = lib.licenses.mit; - homepage = "https://github.com/jaraco/configparser"; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 6418e30ce386..930f7a495ae7 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -13,7 +13,7 @@ with super; cffi = disabed super.cffi; - configparser = callPackage ../development/python2-modules/configparser { }; + configparser = disabled super.configparser; contextlib2 = disabled super.contextlib2; From 4d84f591ce8a1642f057b965e20bbd013b78598d Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:09:35 +0100 Subject: [PATCH 22/25] python2Packages.packaging: drop --- .../python2-modules/packaging/default.nix | 44 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 pkgs/development/python2-modules/packaging/default.nix diff --git a/pkgs/development/python2-modules/packaging/default.nix b/pkgs/development/python2-modules/packaging/default.nix deleted file mode 100644 index b39721c46b3a..000000000000 --- a/pkgs/development/python2-modules/packaging/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - pyparsing, - six, - pretend, -}: - -# We keep 20.4 because it uses setuptools instead of flit-core -# which requires Python 3 to build a universal wheel. - -buildPythonPackage rec { - pname = "packaging"; - version = "20.4"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"; - }; - - propagatedBuildInputs = [ - pyparsing - six - ]; - - nativeCheckInputs = [ - pretend - ]; - - # Prevent circular dependency - doCheck = false; - - meta = { - description = "Core utilities for Python packages"; - homepage = "https://github.com/pypa/packaging"; - license = [ - lib.licenses.bsd2 - lib.licenses.asl20 - ]; - maintainers = with lib.maintainers; [ bennofs ]; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 930f7a495ae7..61a20515662a 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -37,7 +37,7 @@ with super; # build tool in Python 3, but it does not yet support Python 2 ninja = pkgs.buildPackages.ninja; - packaging = callPackage ../development/python2-modules/packaging { }; + packaging = disabled super.packaging; pip = callPackage ../development/python2-modules/pip { }; From a5e67d21ab524fe977db5d5cf0e374a362b1a6c7 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:11:09 +0100 Subject: [PATCH 23/25] python2Packages.more-itertools: drop --- .../more-itertools/default.nix | 32 ------------------- pkgs/top-level/python2-packages.nix | 2 +- 2 files changed, 1 insertion(+), 33 deletions(-) delete mode 100644 pkgs/development/python2-modules/more-itertools/default.nix diff --git a/pkgs/development/python2-modules/more-itertools/default.nix b/pkgs/development/python2-modules/more-itertools/default.nix deleted file mode 100644 index 783f57e1cfa9..000000000000 --- a/pkgs/development/python2-modules/more-itertools/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - unittestCheckHook, - six, - stdenv, -}: - -buildPythonPackage rec { - pname = "more-itertools"; - version = "5.0.0"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - sha256 = "38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4"; - }; - - nativeCheckInputs = [ unittestCheckHook ]; - propagatedBuildInputs = [ six ]; - - # iterable = range(10 ** 10) # Is efficiently reversible - # OverflowError: Python int too large to convert to C long - doCheck = !stdenv.hostPlatform.is32bit; - - meta = { - homepage = "https://more-itertools.readthedocs.org"; - description = "Expansion of the itertools module"; - license = lib.licenses.mit; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 61a20515662a..1462ea7f7c16 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -31,7 +31,7 @@ with super; mock = disabled super.mock; - more-itertools = callPackage ../development/python2-modules/more-itertools { }; + more-itertools = disabled super.more-itertools; # ninja python stub was created to help simplify python builds using PyPA's # build tool in Python 3, but it does not yet support Python 2 From 1eb691efe892fa8be059660b56b13c381fff70b2 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:12:14 +0100 Subject: [PATCH 24/25] python2Packages.six: drop --- pkgs/top-level/python2-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 1462ea7f7c16..41c706a46158 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -61,9 +61,7 @@ with super; setuptools = callPackage ../development/python2-modules/setuptools { }; - six = super.six.overridePythonAttrs (_: { - doCheck = false; # circular dependency with pytest - }); + six = disabled super.six; wcwidth = disabled super.wcwitch; From d9e4a7913e6c08837542962733d74e73f6fbf03b Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 14 Jan 2026 22:13:37 +0100 Subject: [PATCH 25/25] python2Packages.ninja: drop --- pkgs/top-level/python2-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 41c706a46158..ab674985fe11 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -33,9 +33,7 @@ with super; more-itertools = disabled super.more-itertools; - # ninja python stub was created to help simplify python builds using PyPA's - # build tool in Python 3, but it does not yet support Python 2 - ninja = pkgs.buildPackages.ninja; + ninja = disabled super.ninja; packaging = disabled super.packaging;