From 8fe808d10a1239af59ede2281d38e2bf31934ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81tila=20Saraiva?= Date: Wed, 23 Mar 2022 15:49:41 -0300 Subject: [PATCH] devito: init at unstable-2022-04-22 --- .../python-modules/devito/default.nix | 100 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 102 insertions(+) create mode 100644 pkgs/development/python-modules/devito/default.nix diff --git a/pkgs/development/python-modules/devito/default.nix b/pkgs/development/python-modules/devito/default.nix new file mode 100644 index 00000000000..0953cbf9ec7 --- /dev/null +++ b/pkgs/development/python-modules/devito/default.nix @@ -0,0 +1,100 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, anytree +, nbval +, sympy +, scipy +, cached-property +, psutil +, py-cpuinfo +, cgen +, click +, multidict +, distributed +, pyrevolve +, codepy +, pytestCheckHook +, matplotlib +, pytest-xdist +}: + +buildPythonPackage rec { + pname = "devito"; + version = "unstable-2022-04-22"; + + src = fetchFromGitHub { + owner = "devitocodes"; + repo = "devito"; + rev = "7cb52eded4038c1a0ee92cfd04d3412c48f2fb7c"; + sha256 = "sha256-QdQRCGmXaubPPnmyJo2ha0mW5P1akRZhXZVW2TNM5yY="; + }; + + postPatch = '' + # Removing unecessary dependencies + sed -e "s/flake8.*//g" \ + -e "s/codecov.*//g" \ + -e "s/pytest.*//g" \ + -e "s/pytest-runner.*//g" \ + -e "s/pytest-cov.*//g" \ + -i requirements.txt + + # Relaxing dependencies requirements + sed -e "s/>.*//g" \ + -e "s/<.*//g" \ + -i requirements.txt + ''; + + checkInputs = [ pytestCheckHook pytest-xdist matplotlib ]; + + # I've had to disable the following tests since they fail while using nix-build, but they do pass + # outside the build. They mostly related to the usage of MPI in a sandboxed environment. + disabledTests = [ + "test_assign_parallel" + "test_gs_parallel" + "test_if_parallel" + "test_if_halo_mpi" + "test_cache_blocking_structure_distributed" + "test_mpi" + "test_codegen_quality0" + "test_new_distributor" + "test_subdomainset_mpi" + "test_init_omp_env_w_mpi" + "test_mpi_nocomms" + ]; + + disabledTestPaths = [ + "tests/test_pickle.py" + "tests/test_benchmark.py" + "tests/test_mpi.py" + "tests/test_autotuner.py" + "tests/test_data.py" + "tests/test_dse.py" + "tests/test_gradient.py" + ]; + + propagatedBuildInputs = [ + anytree + cached-property + cgen + click + codepy + distributed + nbval + multidict + psutil + py-cpuinfo + pyrevolve + scipy + sympy + ]; + + pythonImportsCheck = [ "devito" ]; + + meta = with lib; { + homepage = "https://www.devitoproject.org/"; + description = "Code generation framework for automated finite difference computation"; + license = licenses.mit; + maintainers = with maintainers; [ atila ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4cf3394323c..9d3c7ffdf6c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2181,6 +2181,8 @@ in { detect-secrets = callPackage ../development/python-modules/detect-secrets { }; + devito = callPackage ../development/python-modules/devito { }; + devolo-home-control-api = callPackage ../development/python-modules/devolo-home-control-api { }; devolo-plc-api = callPackage ../development/python-modules/devolo-plc-api { };