Commit 7964742d authored by Robert Gerus's avatar Robert Gerus Committed by Austin Seipp
Browse files

python3.pkgs.amaranth: 0.3 -> 0.4.dev197: bump

Required by latest glasgow version
parent 294c4ec9
Loading
Loading
Loading
Loading
+10 −46
Original line number Diff line number Diff line
@@ -3,8 +3,8 @@
, pythonOlder
, fetchFromGitHub
, fetchpatch
, setuptools
, setuptools-scm
, pdm
, python3
, pyvcd
, jinja2
, importlib-resources
@@ -20,52 +20,27 @@

buildPythonPackage rec {
  pname = "amaranth";
  version = "0.3";
  # python setup.py --version
  realVersion = "0.3";
  disabled = pythonOlder "3.6";
  format = "pyproject";
  # python -m setuptools_scm
  version = "0.4.dev197+g${lib.substring 0 7 src.rev}";
  disabled = pythonOlder "3.8";

  src = fetchFromGitHub {
    owner = "amaranth-lang";
    repo = "amaranth";
    rev = "39a83f4d995d16364cc9b99da646ff8db6394166";
    sha256 = "P9AG3t30eGeeCN5+t7mjhRoOWIGZVzWQji9eYXphjA0=";
    rev = "11d5bb19eb34463918c07dc5e2e0eac7dbf822b0";
    sha256 = "sha256-Ji5oYfF2hKSunAdAQTniv8Ajj6NE/bvW5cvadrGKa+U=";
  };

  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=";
    })
    (fetchpatch {
      name = "add-python-3.11-support.patch";
      url = "https://github.com/amaranth-lang/amaranth/commit/851546bf2d16db62663d7002bece51f07078d0a5.patch";
      hash = "sha256-eetlFCLqmpCfTKViD16OScJbkql1yhdi5uJGnfnpcCE=";
    })
  ];

  SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}";

  nativeBuildInputs = [
    git
    setuptools
    setuptools-scm
  ];

  propagatedBuildInputs = [
    jinja2
    pdm
    pyvcd
    setuptools
    python3.pkgs.pdm-backend
  ] ++
    lib.optional (pythonOlder "3.9") importlib-resources ++
    lib.optional (pythonOlder "3.8") importlib-metadata;
@@ -77,17 +52,6 @@ buildPythonPackage rec {
    yosys
  ];

  postPatch = ''
    substituteInPlace setup.py \
      --replace "Jinja2~=2.11" "Jinja2>=2.11" \
      --replace "pyvcd~=0.2.2" "pyvcd" \
      --replace "amaranth-yosys>=0.10.*" "amaranth-yosys>=0.10"

    # jinja2.contextfunction was removed in jinja2 v3.1
    substituteInPlace amaranth/build/plat.py \
      --replace "@jinja2.contextfunction" "@jinja2.pass_context"
  '';

  pythonImportsCheck = [ "amaranth" ];

  meta = with lib; {