From c13d157f462be72c5338333ecaf8737bd307edac Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 31 Mar 2025 14:09:16 +0200 Subject: [PATCH] Revert "python312Packages.forbiddenfruit: drop" This reverts commit fedea1e0faf4bc77a8b7e316da90f7b5ee24e49d. --- .../python-modules/forbiddenfruit/default.nix | 49 +++++++++++++++++++ pkgs/top-level/python-aliases.nix | 3 +- pkgs/top-level/python-packages.nix | 2 + 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/python-modules/forbiddenfruit/default.nix diff --git a/pkgs/development/python-modules/forbiddenfruit/default.nix b/pkgs/development/python-modules/forbiddenfruit/default.nix new file mode 100644 index 000000000000..178f97c0f3d6 --- /dev/null +++ b/pkgs/development/python-modules/forbiddenfruit/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pynose, + setuptools, +}: + +buildPythonPackage rec { + version = "0.1.4"; + pname = "forbiddenfruit"; + pyproject = true; + + src = fetchFromGitHub { + owner = "clarete"; + repo = "forbiddenfruit"; + rev = "refs/tags/${version}"; + hash = "sha256-yHIZsVn2UVmWeBNIzWDE6AOwAXZilPqXo+bVtXqGkJk="; + }; + + build-system = [ setuptools ]; + + env.FFRUIT_EXTENSION = "true"; + + pythonImportsCheck = [ "forbiddenfruit" ]; + + nativeCheckInputs = [ pynose ]; + + # https://github.com/clarete/forbiddenfruit/pull/47 required to switch to pytest + checkPhase = '' + runHook preCheck + + find ./build -name '*.so' -exec mv {} tests/unit \; + nosetests + + runHook postCheck + ''; + + meta = with lib; { + description = "Patch python built-in objects"; + homepage = "https://github.com/clarete/forbiddenfruit"; + changelog = "https://github.com/clarete/forbiddenfruit/releases/tag/${version}"; + license = with licenses; [ + mit + gpl3Plus + ]; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index b28ede386a56..cd9be2d154a9 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -273,8 +273,7 @@ mapAliases ({ flufl_bounce = flufl-bounce; # added 2023-11-03 flufl_i18n = flufl-i18n; # added 2023-11-03 flufl_lock = flufl-lock; # added 2023-11-03 - fn = throw "fn was removed as it is no longer used by any package in nixpkgs, it is not compatible with python 3.11 or newer and it was last updated in 2014."; # added 2025-02-08 - forbiddenfruit = throw "forbiddenfruit has been removed, because it was unmaintained and relied on the nose test framework"; # added 2024-07-08 + fn = throw "fn was removed as it is no longer used by any package in nixpkgs, it is not compatible with python 3.11 or newer and it was last updated in 2014."; # added 2025-02-08 # added 2024-07-08 FormEncode = formencode; # added 2023-02-19 foundationdb51 = throw "foundationdb51 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06 foundationdb52 = throw "foundationdb52 is no longer maintained, use foundationdb71 instead"; # added 2023-06-06 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5ddd4755b56b..7811ef1e674b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5144,6 +5144,8 @@ self: super: with self; { foolscap = callPackage ../development/python-modules/foolscap { }; + forbiddenfruit = callPackage ../development/python-modules/forbiddenfruit { }; + fordpass = callPackage ../development/python-modules/fordpass { }; forecast-solar = callPackage ../development/python-modules/forecast-solar { };