diff --git a/pkgs/development/python-modules/amaranth/default.nix b/pkgs/development/python-modules/amaranth/default.nix index 938b44202b9..5a3f7e449e2 100644 --- a/pkgs/development/python-modules/amaranth/default.nix +++ b/pkgs/development/python-modules/amaranth/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub +, fetchpatch , setuptools , setuptools-scm , pyvcd @@ -31,6 +32,23 @@ buildPythonPackage rec { sha256 = "P9AG3t30eGeeCN5+t7mjhRoOWIGZVzWQji9eYXphjA0="; }; + patches = [ + (fetchpatch { + name = "fix-for-setuptools-64.0.2-preparation.patch"; + url = "https://github.com/amaranth-lang/amaranth/commit/64771a065a280fa683c1e6692383bec4f59f20fa.patch"; + hash = "sha256-Rsh9vVvUQj9nIcrsRirmR6XwFrfZ2VMaYJ4RCQ8sBE0="; + # This commit removes support for Python 3.6, which is unnecessary to fix + # the build when using new setuptools. Include only one file, which has a + # harmless comment change so that the subsequent patch applies cleanly. + includes = ["amaranth/_toolchain/cxx.py"]; + }) + (fetchpatch { + name = "fix-for-setuptools-64.0.2.patch"; + url = "https://github.com/amaranth-lang/amaranth/pull/722/commits/e5a56b07c568e5f4cc2603eefebd14c5cc4e13d8.patch"; + hash = "sha256-C8FyMSKHA7XsEMpO9eYNZx/X5rGaK7p3eXP+jSb6wVg="; + }) + ]; + SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"; nativeBuildInputs = [