From 8138aa9c13250d870795a1df22bf80768790b3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 7 Jan 2026 02:44:30 -0800 Subject: [PATCH 1/3] python3Packages.pyface: modernize --- .../python-modules/pyface/default.nix | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/pkgs/development/python-modules/pyface/default.nix b/pkgs/development/python-modules/pyface/default.nix index a4960e2f07b5..cbf153701731 100644 --- a/pkgs/development/python-modules/pyface/default.nix +++ b/pkgs/development/python-modules/pyface/default.nix @@ -1,31 +1,26 @@ { lib, - fetchPypi, + fetchFromGitHub, buildPythonPackage, - importlib-metadata, - importlib-resources, setuptools, traits, - pythonOlder, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyface"; version = "8.0.0"; - format = "pyproject"; + pyproject = true; - disabled = pythonOlder "3.6"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-fhNhg0e3pkjtIM29T9GlFkj1AQKR815OD/G/cKcgy/g="; + src = fetchFromGitHub { + owner = "enthought"; + repo = "pyface"; + tag = finalAttrs.version; + hash = "sha256-i97cosaFc5GTv5GJgpx1xc81mir/IWljSrAORUapymM="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ - importlib-metadata - importlib-resources + dependencies = [ traits ]; @@ -36,8 +31,8 @@ buildPythonPackage rec { meta = { description = "Traits-capable windowing framework"; homepage = "https://github.com/enthought/pyface"; - changelog = "https://github.com/enthought/pyface/releases/tag/${version}"; + changelog = "https://github.com/enthought/pyface/releases/tag/${finalAttrs.src.tag}"; maintainers = [ ]; license = lib.licenses.bsdOriginal; }; -} +}) From 9ab47fd22086b6024c28b6f213ecddd6bbd6b954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 7 Jan 2026 02:53:25 -0800 Subject: [PATCH 2/3] python3Packages.pyface: add optional-dependencies --- .../python-modules/pyface/default.nix | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/pkgs/development/python-modules/pyface/default.nix b/pkgs/development/python-modules/pyface/default.nix index cbf153701731..0ac23c85c6d7 100644 --- a/pkgs/development/python-modules/pyface/default.nix +++ b/pkgs/development/python-modules/pyface/default.nix @@ -2,8 +2,17 @@ lib, fetchFromGitHub, buildPythonPackage, + numpy, + pillow, + pygments, + pyqt5, + pyqt6, + pyside2, + pyside6, setuptools, traits, + traitsui, + wxpython, }: buildPythonPackage (finalAttrs: { @@ -24,6 +33,32 @@ buildPythonPackage (finalAttrs: { traits ]; + optional-dependencies = { + pillow = [ pillow ]; + pyqt5 = [ + pygments + pyqt5 + ]; + pyqt6 = [ + pygments + pyqt6 + ]; + pyside2 = [ + pygments + pyside2 + ]; + pyside6 = [ + pygments + pyside6 + ]; + numpy = [ numpy ]; + traitsui = [ traitsui ]; + wx = [ + wxpython + numpy + ]; + }; + doCheck = false; # Needs X server pythonImportsCheck = [ "pyface" ]; From e9829c986832fc98f655363840313a10a2dab556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 7 Jan 2026 03:07:54 -0800 Subject: [PATCH 3/3] python3Packages.pyface: run tests --- .../python-modules/pyface/default.nix | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pyface/default.nix b/pkgs/development/python-modules/pyface/default.nix index 0ac23c85c6d7..1131e4735939 100644 --- a/pkgs/development/python-modules/pyface/default.nix +++ b/pkgs/development/python-modules/pyface/default.nix @@ -9,9 +9,11 @@ pyqt6, pyside2, pyside6, + pytestCheckHook, setuptools, traits, traitsui, + writableTmpDirAsHomeHook, wxpython, }: @@ -59,7 +61,23 @@ buildPythonPackage (finalAttrs: { ]; }; - doCheck = false; # Needs X server + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + enabledTestPaths = "pyface/tests"; + + disabledTestPaths = [ + # tests need an X server + "pyface/tests/test_beep.py" + "pyface/tests/test_clipboard.py" + "pyface/tests/test_font.py" + "pyface/tests/test_image_cache.py" + "pyface/tests/test_image_resource.py" + "pyface/tests/test_system_metrics.py" + "pyface/tests/test_widget.py" + ]; pythonImportsCheck = [ "pyface" ];