diff --git a/pkgs/development/python-modules/fabulous/default.nix b/pkgs/development/python-modules/fabulous/default.nix index 075f01ee64061..d94227989c490 100644 --- a/pkgs/development/python-modules/fabulous/default.nix +++ b/pkgs/development/python-modules/fabulous/default.nix @@ -2,14 +2,16 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch2, pillow, + setuptools, python, }: buildPythonPackage rec { pname = "fabulous"; version = "0.4.0"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "jart"; @@ -18,9 +20,18 @@ buildPythonPackage rec { hash = "sha256-hchlxuB5QP+VxCx+QZ2739/mR5SQmYyE+9kXLKJ2ij4="; }; - patches = [ ./relative_import.patch ]; + patches = [ + ./relative_import.patch + # https://github.com/jart/fabulous/pull/22 + (fetchpatch2 { + url = "https://github.com/jart/fabulous/commit/5779f2dfbc88fd81b5b5865247913d4775e67959.patch?full_index=1"; + hash = "sha256-miWFt4vDpwWhSUgnWDjWUXoibijcDa1c1dDOSkfWoUg="; + }) + ]; - propagatedBuildInputs = [ pillow ]; + build-system = [ setuptools ]; + + dependencies = [ pillow ]; checkPhase = '' for i in tests/*.py; do @@ -28,10 +39,10 @@ buildPythonPackage rec { done ''; - meta = with lib; { + meta = { description = "Make the output of terminal applications look fabulous"; homepage = "https://jart.github.io/fabulous"; - license = licenses.asl20; - maintainers = [ maintainers.symphorien ]; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.symphorien ]; }; } diff --git a/pkgs/development/python-modules/pypillowfight/default.nix b/pkgs/development/python-modules/pypillowfight/default.nix index 601db553cf5eb..8c001b7ebf82c 100644 --- a/pkgs/development/python-modules/pypillowfight/default.nix +++ b/pkgs/development/python-modules/pypillowfight/default.nix @@ -2,44 +2,39 @@ lib, buildPythonPackage, fetchFromGitLab, - nose, pillow, - isPy3k, - isPyPy, + pytestCheckHook, + setuptools, }: buildPythonPackage rec { pname = "pypillowfight"; - version = "0.3.0"; - format = "setuptools"; + version = "0.3.0-unstable-2024-07-07"; + pyproject = true; src = fetchFromGitLab { domain = "gitlab.gnome.org"; group = "World"; owner = "OpenPaperwork"; repo = "libpillowfight"; - rev = version; - sha256 = "096242v425mlqqj5g1giy59p7grxp05g78w6bk37vzph98jrgv3w"; + # Currently no tagged release past 0.3.0 and we need these patches to fix Python 3.12 compat + rev = "4d5f739b725530cd61e709071d31e9f707c64bd6"; + hash = "sha256-o5FzUSDq0lwkXGXRMsS5NB/Mp4Ie833wkxKPziR23f4="; }; prePatch = '' echo '#define INTERNAL_PILLOWFIGHT_VERSION "${version}"' > src/pillowfight/_version.h ''; - # Disable tests because they're designed to only work on Debian: - # https://github.com/jflesch/libpillowfight/issues/2#issuecomment-268259174 - doCheck = false; + build-system = [ setuptools ]; - # Python 2.x is not supported, see: - # https://github.com/jflesch/libpillowfight/issues/1 - disabled = !isPy3k && !isPyPy; + dependencies = [ pillow ]; - # This is needed by setup.py regardless of whether tests are enabled. - buildInputs = [ nose ]; - propagatedBuildInputs = [ pillow ]; + nativeCheckInputs = [ pytestCheckHook ]; - meta = with lib; { + meta = { description = "Library containing various image processing algorithms"; inherit (src.meta) homepage; - license = licenses.gpl3Plus; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ pyrox0 ]; }; }