diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2023-10-20 14:37:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-20 14:37:07 +0200 |
commit | cbc39977ca03634f7a69eba25bd58c138e5d1519 (patch) | |
tree | 8a0cee40db750be932c6be96940610a70590ce4f /var/spack/repos/duplicates.test/packages | |
parent | 06fc24df5edff050d9092a68f12eff02fceb2a90 (diff) | |
download | spack-cbc39977ca03634f7a69eba25bd58c138e5d1519.tar.gz spack-cbc39977ca03634f7a69eba25bd58c138e5d1519.tar.bz2 spack-cbc39977ca03634f7a69eba25bd58c138e5d1519.tar.xz spack-cbc39977ca03634f7a69eba25bd58c138e5d1519.zip |
ASP-based solver: minimize weights over edges (#40632)
With the introduction of multiple build dependencies from the same package in the DAG, we need to minimize a few weights accounting for edges rather than nodes. If we don't do that we might have multiple "optimal" solutions that differ only in how the same nodes are connected together. This commit ensures optimal versions are picked per parent in case of multiple choices for a dependency.
Diffstat (limited to 'var/spack/repos/duplicates.test/packages')
-rw-r--r-- | var/spack/repos/duplicates.test/packages/py-floating/package.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/var/spack/repos/duplicates.test/packages/py-floating/package.py b/var/spack/repos/duplicates.test/packages/py-floating/package.py new file mode 100644 index 0000000000..2921b617bd --- /dev/null +++ b/var/spack/repos/duplicates.test/packages/py-floating/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.package import * + + +class PyFloating(Package): + """An extension that depends on: + - py-setuptools without further constraints + - py-shapely, which depends on py-setuptools@=60 + - py-numpy, which depends on py-setuptools@=59 + + We need to ensure that by default the root node gets the best version + of setuptools it could. + """ + + homepage = "http://www.example.com" + url = "http://www.example.com/tdep-1.0.tar.gz" + + version("1.25.0", md5="0123456789abcdef0123456789abcdef") + + extends("python") + depends_on("py-numpy", type=("build", "run")) + depends_on("py-shapely", type=("build", "run")) + depends_on("py-setuptools", type="build") |