Commit 1f2fbf2d authored by Gaetan Lepage's avatar Gaetan Lepage
Browse files

python312Packages.pymbolic: fix build

parent 87ef4318
Loading
Loading
Loading
Loading
+19 −31
Original line number Diff line number Diff line
{
  lib,
  astunparse,
  buildPythonPackage,
  fetchpatch,
  fetchPypi,
  fetchFromGitHub,

  # build-system
  hatchling,

  # dependencies
  immutabledict,
  pytools,

  # optional-dependencies
  matchpy,
  numpy,

  # tests
  pytestCheckHook,
  pythonOlder,
  pytools,
  setuptools,
  typing-extensions,
}:

buildPythonPackage rec {
@@ -19,34 +23,18 @@ buildPythonPackage rec {
  version = "2024.2.2";
  pyproject = true;

  disabled = pythonOlder "3.7";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-l2zP8O0bnVrTRxzyuqDQLiMBwevtXld7LgX2M8L1P+w=";
  src = fetchFromGitHub {
    owner = "inducer";
    repo = "pymbolic";
    tag = "v${version}";
    hash = "sha256-07RWdEPhO+n9/FOvIWe4nm9fGekut9X6Tz4HlIkBSpo=";
  };

  patches = [
    (fetchpatch {
      url = "https://github.com/inducer/pymbolic/commit/cb3d999e4788dad3edf053387b6064adf8b08e19.patch";
      excludes = [ ".github/workflows/ci.yml" ];
      hash = "sha256-P0YjqAo0z0LZMIUTeokwMkfP8vxBXi3TcV4BSFaO1lU=";
    })
  ];

  postPatch = ''
    # pytest is a test requirement not a run-time one
      substituteInPlace setup.py \
        --replace '"pytest>=2.3",' ""
  '';

  build-system = [ setuptools ];
  build-system = [ hatchling ];

  dependencies = [
    astunparse
    immutabledict
    pytools
    typing-extensions
  ];

  optional-dependencies = {
@@ -58,11 +46,11 @@ buildPythonPackage rec {

  pythonImportsCheck = [ "pymbolic" ];

  meta = with lib; {
  meta = {
    description = "Package for symbolic computation";
    homepage = "https://documen.tician.de/pymbolic/";
    changelog = "https://github.com/inducer/pymbolic/releases/tag/v${version}";
    license = licenses.mit;
    license = lib.licenses.mit;
    maintainers = [ ];
  };
}