py-pyprecice: simplify package (#25077)
This commit is contained in:
parent
5f44b0ad48
commit
24048b3545
2 changed files with 10 additions and 53 deletions
|
@ -1,32 +0,0 @@
|
|||
diff --git a/setup.py b/setup.py
|
||||
index 9282639..d69c285 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -1,15 +1,20 @@
|
||||
import os
|
||||
import subprocess
|
||||
import warnings
|
||||
-from packaging import version
|
||||
-import pip
|
||||
+from setuptools._vendor.packaging import version
|
||||
+
|
||||
+# If installed with pip we need to check its version
|
||||
+try:
|
||||
+ import pip
|
||||
+ if version.parse(pip.__version__) < version.parse("19.0"):
|
||||
+ # version 19.0 is required, since we are using pyproject.toml for definition of build-time depdendencies. See https://pip.pypa.io/en/stable/news/#id209
|
||||
+ warnings.warn("You are using pip version {}. However, pip version > 19.0 is recommended. You can continue with the installation, but installation problems can occour. Please refer to https://github.com/precice/python-bindings#build-time-dependencies-cython-numpy-defined-in-pyprojecttoml-are-not-installed-automatically for help.".format(pip.__version__))
|
||||
|
||||
-if version.parse(pip.__version__) < version.parse("19.0"):
|
||||
- # version 19.0 is required, since we are using pyproject.toml for definition of build-time depdendencies. See https://pip.pypa.io/en/stable/news/#id209
|
||||
- warnings.warn("You are using pip version {}. However, pip version > 19.0 is recommended. You can continue with the installation, but installation problems can occour. Please refer to https://github.com/precice/python-bindings#build-time-dependencies-cython-numpy-defined-in-pyprojecttoml-are-not-installed-automatically for help.".format(pip.__version__))
|
||||
+ if version.parse(pip.__version__) < version.parse("10.0.1"):
|
||||
+ warnings.warn("You are using pip version {}. However, pip version > 10.0.1 is required. If you continue with installation it is likely that you will face an error. See https://github.com/precice/python-bindings#version-of-pip3-is-too-old".format(pip.__version__))
|
||||
+except:
|
||||
+ warnings.warn("Assuming that you are not using pip!")
|
||||
|
||||
-if version.parse(pip.__version__) < version.parse("10.0.1"):
|
||||
- warnings.warn("You are using pip version {}. However, pip version > 10.0.1 is required. If you continue with installation it is likely that you will face an error. See https://github.com/precice/python-bindings#version-of-pip3-is-too-old".format(pip.__version__))
|
||||
|
||||
from enum import Enum
|
||||
from setuptools import setup
|
|
@ -30,11 +30,6 @@ class PyPyprecice(PythonPackage):
|
|||
version("2.0.0.2", sha256="5f055d809d65ec2e81f4d001812a250f50418de59990b47d6bcb12b88da5f5d7")
|
||||
version("2.0.0.1", sha256="96eafdf421ec61ad6fcf0ab1d3cf210831a815272984c470b2aea57d4d0c9e0e")
|
||||
|
||||
# Older versions of the bindings checked versions via pip. This patch
|
||||
# removes the pip dependency.
|
||||
# See also https://github.com/spack/spack/pull/19558
|
||||
patch("deactivate-version-check-via-pip.patch", when="@:2.1.1.1")
|
||||
|
||||
depends_on("precice@develop", when="@develop")
|
||||
depends_on("precice@2.2.1", when="@2.2.1.1:2.2.1.99")
|
||||
depends_on("precice@2.2.0", when="@2.2.0.1:2.2.0.99")
|
||||
|
@ -44,22 +39,16 @@ class PyPyprecice(PythonPackage):
|
|||
depends_on("precice@2.0.1", when="@2.0.1.1:2.0.1.99")
|
||||
depends_on("precice@2.0.0", when="@2.0.0.1:2.0.0.99")
|
||||
|
||||
depends_on("python@3:", type=("build", "run"))
|
||||
depends_on("python@3:", type=("build", "link", "run"))
|
||||
depends_on("py-setuptools", type="build")
|
||||
depends_on("py-numpy", type=("build", "run"))
|
||||
depends_on("py-numpy", type=("build", "link", "run"))
|
||||
depends_on("py-mpi4py", type=("build", "run"))
|
||||
depends_on("py-cython@0.29:", type=("build"))
|
||||
depends_on("py-cython@0.29:", type="build")
|
||||
depends_on("py-packaging", when="@:2.1", type="build")
|
||||
depends_on("py-pip", when="@:2.1", type="build")
|
||||
|
||||
phases = ['install_lib', 'build_ext', 'install']
|
||||
|
||||
def build_ext_args(self, spec, prefix):
|
||||
return [
|
||||
"--include-dirs=" + spec["precice"].headers.directories[0],
|
||||
"--library-dirs=" + spec["precice"].libs.directories[0]
|
||||
]
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Older versions of the bindings had a non-standard installation routine
|
||||
# See also https://github.com/spack/spack/pull/19558#discussion_r513123239
|
||||
if self.version <= Version("2.1.1.1"):
|
||||
self.setup_py("install", "--prefix={0}".format(prefix))
|
||||
@when("@:2.1")
|
||||
def patch(self):
|
||||
filter_file(
|
||||
"distutils.command.install", "setuptools.command.install", "setup.py"
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue