From 26595b1e41539ba5f141c7d885171858a88b80e6 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Sun, 14 Jul 2024 09:53:49 +0000 Subject: [PATCH 1/2] python312Packages.eliot: 1.14.0 -> 1.15.0 https://github.com/itamarst/eliot/releases/tag/1.15.0 https://github.com/itamarst/eliot/compare/1.14.0...1.15.0 switch to GitHub as source distribution is not available from PyPI --- .../python-modules/eliot/default.nix | 68 +++++++++++-------- 1 file changed, 40 insertions(+), 28 deletions(-) diff --git a/pkgs/development/python-modules/eliot/default.nix b/pkgs/development/python-modules/eliot/default.nix index 6c522d941387..e5f447b233c6 100644 --- a/pkgs/development/python-modules/eliot/default.nix +++ b/pkgs/development/python-modules/eliot/default.nix @@ -1,45 +1,62 @@ { lib, + stdenv, buildPythonPackage, - fetchPypi, + fetchFromGitHub, pythonOlder, - aiocontextvars, - boltons, - hypothesis, - pyrsistent, - pytestCheckHook, + pythonAtLeast, + setuptools, - six, - testtools, + + boltons, + orjson, + pyrsistent, zope-interface, + + daemontools, + dask, + distributed, + hypothesis, + pandas, + pytestCheckHook, + testtools, + twisted, }: buildPythonPackage rec { pname = "eliot"; - version = "1.14.0"; - format = "setuptools"; + version = "1.15.0"; + pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8" || pythonAtLeast "3.13"; - src = fetchPypi { - inherit pname version; - hash = "sha256-wvCZo+jV7PwidFdm58xmSkjbZLa4nZht/ycEkdhoMUk="; + src = fetchFromGitHub { + owner = "itamarst"; + repo = "eliot"; + rev = "refs/tags/${version}"; + hash = "sha256-Ur7q7PZ5HH4ttD3b0HyBTe1B7eQ2nEWcTBR/Hjeg9yw="; }; - propagatedBuildInputs = [ - aiocontextvars + build-system = [ setuptools ]; + + dependencies = [ boltons + orjson pyrsistent - setuptools - six zope-interface ]; nativeCheckInputs = [ + dask + distributed hypothesis + pandas pytestCheckHook testtools - ]; + twisted + ] ++ lib.optionals stdenv.isLinux [ daemontools ]; + + __darwinAllowLocalNetworking = true; pythonImportsCheck = [ "eliot" ]; @@ -48,17 +65,12 @@ buildPythonPackage rec { export PATH=$out/bin:$PATH ''; - disabledTests = [ - "test_parse_stream" - # AttributeError: module 'inspect' has no attribute 'getargspec' - "test_default" - ]; - - meta = with lib; { + meta = { homepage = "https://eliot.readthedocs.io"; description = "Logging library that tells you why it happened"; + changelog = "https://github.com/itamarst/eliot/blob/${version}/docs/source/news.rst"; mainProgram = "eliot-prettyprint"; - license = licenses.asl20; - maintainers = with maintainers; [ dpausp ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dpausp ]; }; } From d7047e2fbfa573db11521da895e0b2b957123aa6 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Sun, 14 Jul 2024 09:53:49 +0000 Subject: [PATCH 2/2] eliot-tree: make usable with Python 3.12 --- pkgs/development/tools/eliot-tree/default.nix | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/pkgs/development/tools/eliot-tree/default.nix b/pkgs/development/tools/eliot-tree/default.nix index 04eac7726f71..3a8c809f933c 100644 --- a/pkgs/development/tools/eliot-tree/default.nix +++ b/pkgs/development/tools/eliot-tree/default.nix @@ -1,39 +1,54 @@ -{ lib, python3Packages, fetchPypi }: +{ + lib, + python3Packages, + fetchPypi, +}: python3Packages.buildPythonApplication rec { pname = "eliot-tree"; version = "21.0.0"; + pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-hTl+r+QJPPQ7ss73lty3Wm7DLy2SKGmmgIuJx38ilO8="; }; - nativeCheckInputs = with python3Packages; [ - testtools - pytest - ]; + # Patch Python 3.12 incompatibilities in versioneer.py. + postPatch = '' + substituteInPlace versioneer.py \ + --replace-fail SafeConfigParser ConfigParser \ + --replace-fail readfp read_file + ''; - propagatedBuildInputs = with python3Packages; [ + build-system = with python3Packages; [ setuptools ]; + + dependencies = with python3Packages; [ colored eliot iso8601 jmespath - setuptools toolz ]; + nativeCheckInputs = with python3Packages; [ + pytestCheckHook + testtools + ]; + # Tests run eliot-tree in out/bin. - checkPhase = '' + preCheck = '' export PATH=$out/bin:$PATH - pytest ''; - meta = with lib; { + pythonImportsCheck = [ "eliottree" ]; + + meta = { homepage = "https://github.com/jonathanj/eliottree"; + changelog = "https://github.com/jonathanj/eliottree/blob/${version}/NEWS.rst"; description = "Render Eliot logs as an ASCII tree"; mainProgram = "eliot-tree"; - license = licenses.mit; - maintainers = [ maintainers.dpausp ]; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dpausp ]; }; }