rivet: add through v4.0.2 (incl yoda: add through v2.0.2) - #47383
Conversation
|
Hi @wdconinc! I noticed that the following package(s) don't yet have maintainers:
Are you interested in adopting any of these package(s)? If so, simply add the following to the package class: maintainers("wdconinc")If not, could you contact the developers of this package and see if they are interested? You can quickly see who has worked on a package with $ spack blame rivetThank you for your help! Please don't add maintainers without their consent. You don't have to be a Spack expert or package developer in order to be a "maintainer," it just gives us a list of users willing to review PRs or debug issues relating to this package. A package can have multiple maintainers; just add a list of GitHub handles of anyone who wants to volunteer. |
|
Is |
|
But I also had to add this patch for the libpath on hepmc3: diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py
index 3bcfcf431f..4082fe5d06 100644
--- a/var/spack/repos/builtin/packages/rivet/package.py
+++ b/var/spack/repos/builtin/packages/rivet/package.py
@@ -118,7 +118,7 @@ def configure_args(self):
args += ["--with-hepmc=" + self.spec["hepmc"].prefix]
else:
args += ["--with-hepmc3=" + self.spec["hepmc3"].prefix]
- args += ["--with-hepmc3-libpath=" + self.spec["hepmc3"].prefix.lib]
+ args += ["--with-hepmc3-libpath=" + self.spec["hepmc3"].prefix.lib64]
args += ["--with-fastjet=" + self.spec["fastjet"].prefix]
args += ["--with-yoda=" + self.spec["yoda"].prefix]I'm happy to approve and fix those issues in a future PR though |
I'm worried this is one of those patches that will make it work for fedora, but break for ubuntu. My hepmc3 libs are under |
|
That seems like the best solution indeed, but doesn't work as is because spack doesn't find the libraries of hepmc3: With this patch everything works: diff --git a/var/spack/repos/builtin/packages/hepmc3/package.py b/var/spack/repos/builtin/packages/hepmc3/package.py
index 52759ac037..6996be82ca 100644
--- a/var/spack/repos/builtin/packages/hepmc3/package.py
+++ b/var/spack/repos/builtin/packages/hepmc3/package.py
@@ -58,6 +58,12 @@ class Hepmc3(CMakePackage):
conflicts("%gcc@9.3.0", when="@:3.1.1")
patch("ba38f14d8f56c16cc4105d98f6d4540c928c6150.patch", when="@3.1.2:3.2.1 %gcc@9.3.0")
+
+ @property
+ def libs(self):
+ return find_libraries(["libHepMC3", "libHepMC3Search"], root=self.prefix, recursive=True)
+
+
def cmake_args(self):
spec = self.spec
from_variant = self.define_from_variant |
Added the |
|
@spackbot fix style |
|
Let me see if I can fix that for you! |
|
I was able to run spack style --fix==> Running style checks on spack
selected: isort, black, flake8, mypy
==> Modified files
var/spack/repos/builtin/packages/hepmc3/package.py
var/spack/repos/builtin/packages/rivet/package.py
var/spack/repos/builtin/packages/yoda/package.py
==> Running isort checks
isort checks were clean
==> Running black checks
reformatted var/spack/repos/builtin/packages/hepmc3/package.py
All done! ✨ 🍰 ✨
1 file reformatted, 2 files left unchanged.
black checks were clean
==> Running flake8 checks
flake8 checks were clean
==> Running mypy checks
lib/spack/spack/version/version_types.py:145: error: Argument 2 to "StandardVersion" has incompatible type "*Tuple[Tuple[Any, ...], Tuple[Any, ...]]"; expected "Tuple[Tuple[Any, ...], Tuple[Any, ...]]" [arg-type]
lib/spack/spack/version/version_types.py:452: error: Argument 2 to "StandardVersion" has incompatible type "*Tuple[Tuple[Any, ...], Tuple[Any, ...]]"; expected "Tuple[Tuple[Any, ...], Tuple[Any, ...]]" [arg-type]
lib/spack/spack/version/version_types.py:481: error: Argument 2 to "StandardVersion" has incompatible type "*Tuple[Tuple[Any, ...], Tuple[Any, ...]]"; expected "Tuple[Tuple[Any, ...], Tuple[Any, ...]]" [arg-type]
lib/spack/spack/variant.py:131: error: Unsupported right operand type for in ("Union[Collection[Any], Callable[..., Any]]") [operator]
Found 4 errors in 2 files (checked 620 source files)
mypy found errors
I've updated the branch with style fixes. |
* yoda: add v2.0.1, v2.0.2 * rivet: add v3.1.9, v3.1.10, v4.0.0, v4.0.1, v4.0.2 * rivet: yoda@:1 when @:3; conflicts hepmc3@3.3.0 when @:4.0.0 * rivet: fix style * rivet: hepmc=2 only when @:3; use libs.directories[0] * hepmc3: def libs * [@spackbot] updating style on behalf of wdconinc --------- Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
This PR adds
rivet, through v4.0.2. This completes the v3 series and adds the v4 series (which changes the API, uses yoda@2, and adds hdf5 support throughhighfive). Note that the rivet configure.ac requirements for yoda are not always strict enough: rivet-4 usesEstimate::rmErrs()which was only added in yoda-2.0.1.Test build (v4):
Test build (v3):