summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-12-17py-fenics-dolfinx: update for v0.7.2 (#41394)Garth N. Wells1-4/+12
* Update for v0.7.2 * Dependency fix * Dep type fix
2023-12-16py-optax: add new package (#41278)Christopher Christofi1-0/+25
* py-optax: add new package with version 0.1.7 * Update var/spack/repos/builtin/packages/py-optax/package.py Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> --------- Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com>
2023-12-17py-jupyterlab: Use the correct version dependency for jinja2 (#41543)Thomas Madlener1-1/+1
2023-12-17Add new python package to spack - py-pygame (game development package) (#41477)Henrique Finger Zimerman1-0/+23
Add pygame to spack
2023-12-16py-poetry: Add version 1.6.1 (#41291)Lydéric Debusschère8-35/+90
* py-poetry: Add version 1.6.1 * py-poetry-core: Add version 1.7.0 * py-dulwich: Add version 0.21.6 * py-installer: Add version 0.7.0 * py-keyring: Add version 24.3.0 * py-poetry-plugin-export: Add version 1.6.0 * py-cachecontrol: Add version 0.13.0 * py-xattr: Add version 0.10.1, py-poetry dependence on darwin platform * py-cachecontrol: fix typo * py-cachecontrol: add version 0.13.1 * py-dulwich: remove version constraint on python, sort dependences, add py-typing-extensions dependence * py-poetry-core: add version constraint on python * py-poetry-plugin-export: fix python dependence, sort dependences * py-poetry: sort dependences, fix dependences with respect to reviewing * py-cachecontrol: fix typo * py-poetry-plugin-export: comment py-poetry dependence; py-poetry: fix py-build dependence --------- Co-authored-by: LydDeb <lyderic.debusschere@eolen.com>
2023-12-15libfabric: Add uring variant (#41563)Kyle Gerheiser1-0/+6
* libfabric: Add uring variant * Remove tcp fabric requirement for uring * Fix style and use spec.satisfies
2023-12-15perl-rose-object: New package (#41715)Arne Becker1-0/+28
Adds Rose::Object
2023-12-15perl-compress-lzo: New package (#41716)Arne Becker1-0/+30
Adds Compress::LZO
2023-12-15perl-dbd-oracle: New package (#41719)Arne Becker1-0/+34
2023-12-15clingo: patch clingo to allow for build with modern msvc (#41188)John W. Parent2-0/+31
2023-12-15mpifileutils: add DAOS variant (#35618)Sean Koyama1-7/+17
* mpifileutils: add DAOS variant * mpifileutils: Add daos dep when +daos Add dependency on DAOS when +daos Pass DAOS prefix to ensure correct DAOS is found by during configuration * Change in to satisfies for boolean variants --------- Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
2023-12-14Automated deployment to update package flux-sched 2023-12-14 (#41658)Vanessasaurus1-0/+1
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2023-12-14perl-proc-daemon: New package (#41666)Arne Becker1-0/+28
2023-12-14perl-test-base: New package (#41668)Arne Becker1-0/+31
Adds Test::Base
2023-12-14perl-datetime-format-strptime: New package (#41676)Arne Becker13-4/+274
* perl-datetime-format-strptime: New package Adds package: - perl-datetime-format-strptime And adds these because they are test dependencies: - perl-test-file-sharedir - perl-test2-plugin-nowarnings - perl-test2-suite And modifies these to enable build time tests: - perl-b-hooks-endofscope - perl-class-singleton - perl-datetime-locale - perl-datetime-timezone - perl-file-sharedir - perl-namespace-autoclean - perl-namespace-clean - perl-params-validationcompiler - perl-specio * Add myself as maintainer
2023-12-14perl-common-sense: New package (#41677)Arne Becker1-0/+26
2023-12-14perl-time-clock: New package (#41678)Arne Becker1-0/+28
2023-12-14perl-sql-reservedwords: New package (#41685)Arne Becker1-0/+28
2023-12-14py-pandas: add v2.1.4 (#41590)Adam J. Stewart1-0/+1
2023-12-14py-black: add v23.12.0 (#41589)Adam J. Stewart1-0/+1
2023-12-14intel-oneapi-compilers 2023.2.3: added new version to dpcpp package (#41680)Andrey Perestoronin1-20/+32
* add new cpp compiler version * empty ftn for 2023.2.3 * OLD ftn in 2023.2.3 version * tolerate missing fortran compiler --------- Co-authored-by: Robert Cohn <robert.s.cohn@intel.com>
2023-12-14spec parser: precompile quoting-related regular expressions (#41657)Todd Gamblin2-8/+8
This adds a small (~5%) performance improvement to Spec parsing. Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-12-14Fix spack compiler wrappers in ESMF's esmf.mk on Cray when using cc, CC, ftn ↵Dom Heinzeller1-0/+8
(#41640)
2023-12-14geant4: new version 11.2.0 (#41643)Wouter Deconinck6-4/+27
* geant4: new version 11.2.0 * geant4: depends_on geant4-data@11.2: * geant4-data: new version 11.2.0 * g4abla: new version 3.3 * g4emlow: new version 8.4 * g4incl: new version 1.1 * geant4: depends_on vecgeom@1.2.6: * geant4: depends_on qt@5.9: when @11.2: +qt * vecgeom: new version 1.2.6
2023-12-13perl-cpanel-json-xs: New package (#41646)Arne Becker1-0/+26
2023-12-13perl-mock-config: New package (#41647)Arne Becker1-0/+28
2023-12-13perl-ref-util: New package (#41648)Arne Becker1-0/+28
2023-12-13Improve parsing of quoted flags and variants in specs (#41529)Todd Gamblin7-188/+198
This PR does several things: - [x] Allow any character to appear in the quoted values of variants and flags. - [x] Allow easier passing of quoted flags on the command line, e.g. `cflags="-O2 -g"`. - [x] Handle quoting better in spec output, using single quotes around double quotes and vice versa. - [x] Disallow spaces around `=` and `==` when parsing variants and flags. ## Motivation This PR is motivated by the issues above and by ORNL's [tips for launching at scale on Frontier](https://docs.olcf.ornl.gov/systems/frontier_user_guide.html#tips-for-launching-at-scale). ORNL recommends using `sbcast --send-libs` to broadcast executables and their libraries to compute nodes when running large jobs (e.g., 80k ranks). For an executable named `exe`, `sbcast --send-libs` stores the needed libraries in a directory alongside the executable called `exe_libs`. ORNL recommends pointing `LD_LIBRARY_PATH` at that directory so that `exe` will find the local libraries and not overwhelm the filesystem. There are other ways to mitigate this problem: * You could build with `RUNPATH` using `spack config add config:shared_linking:type:runpath`, which would make `LD_LIBRARY_PATH` take precedence over Spack's `RUNPATHs`. I don't recommend this one because `RUNPATH` can cause many other things to go wrong. * You could use `spack config add config:shared_linking:bind:true`, added in #31948, which will greatly reduce the filesystem load for large jobs by pointing `DT_NEEDED` entries in ELF *directly* at the needed `.so` files instead of relying on `RPATH` search via soname. I have not experimented with this at 80,000 ranks, but it should help quite a bit. * You could use [Spindle](https://github.com/hpc/Spindle) (as LLNL does on its machines) which should transparently fix this without any changes to your executable and without any need to use `sbcast` or other tools. But we want to support the `sbcast` use case as well. ## `sbcast` and Spack Spack's `RPATHs` break the `sbcast` fix because they're considered with higher precedence than `LD_LIBRARY_PATH`. So Spack applications will still end up hitting the shared filesystem when searching for libraries. We can avoid this by injecting some `ldflags` in to the build, e.g., if were were going to launch, say, `LAMMPS` at scale, we could add another `RPATH` specifically for use with `sbcast`: spack install lammps ldflags='-Wl,-rpath=$ORIGIN/lmp_libs' This will put the `lmp_libs` directory alongside `LAMMPS`'s `lmp` executable first in the `RPATH`, so it will be searched before any directories on the shared filesystem. ## Issues with quoting Before this PR, the command above would've errored out for two reasons: 1. `$` wasn't an allowed character in our spec parser. 2. You would've had to double quote the flags to get them to pass through correctly: spack install lammps ldflags='"-Wl,-rpath=$ORIGIN/lmp_libs"' This is ugly and I don't think many users will easily figure it out. The behavior was added in #29282, and it improved parsing of specs passed as a single string, e.g.: spack install 'lammps ldflags="-Wl,-rpath=$ORIGIN/lmp_libs"' but a lot of users are naturally going to try to quote arguments *directly* on the command line, without quoting their entire spec. #29282 used a heuristic to detect unquoted flags and warn the user, but the warning could be confusing. In particular, if you wrote `cflags="-O2 -g"` on the command line, it would break the flags up, warn, and tell you that you could fix the issue by writing `cflags="-O2 -g"` even though you just wrote that. It's telling you to *quote* that value, but the user has to know to double quote. ## New heuristic for quoted arguments from the CLI There are only two places where we allow arbitrary quoted strings in specs: flags and variant values, so this PR adds a simpler heuristic to the CLI parser: if an argument in `sys.argv` starts with `name=...`, then we assume the whole argument is quoted. This means you can write: spack install bzip2 cflags="-O2 -g" directly on the command line, without multiple levels of quoting. This also works: spack install 'bzip2 cflags="-O2 -g"' The only place where this heuristic runs into ambiguity is if you attempt to pass anonymous specs that start with `name=...` as one large string. e.g., this will be interpreted as one large flag value: spack find 'cflags="-O2 -g" ~bar +baz' This sets `cflags` to `"-O2 -g" ~bar +baz`, which is likely not what you wanted. You can fix this easily by either removing the quotes: spack find cflags="-O2 -g" ~bar +baz Or by adding a space at the start, which has the same effect: spack find ' cflags="-O2 -g" ~bar +baz' You may wonder why we don't just look for quotes inside of flag arguments, and the reason is that you *might* want them there. If you are passing arguments like: spack install zlib cppflags="-D DEBUG_MSG1='quick fox' -D DEBUG_MSG2='lazy dog'" You *need* the quotes there. So we've opted for one potentially confusing, but easily fixed outcome vs. limiting what you can put in your quoted strings. ## Quotes in formatted spec output In addition to being more lenient about characters accepted in quoted strings, this PR fixes up spec formatting a bit. We now format quoted strings in specs with single quotes, unless the string has a single quote in it, in which case we JSON-escape the string (i.e., we add `\` before `"` and `\`). zlib cflags='-D FOO="bar"' zlib cflags="-D FOO='bar'" zlib cflags="-D FOO='bar' BAR=\"baz\""
2023-12-13camp: fixing build issue (#41400)yizeyi182-0/+26
* adding necessary headers, to fix https://github.com/spack/spack/issues/41398 * deleting something imported by accident * [@spackbot] updating style on behalf of yizeyi18 * undo commit 7688fed according to suggestion from @msimberg * patching camp@:2022.10.1 for compatibility with gcc-13 * adding the patch * fixing paths in the patch * [@spackbot] updating style on behalf of yizeyi18 * Update camp patch using LLNL/camp@05e1c35 Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi> * changing patch name --------- Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
2023-12-13python: don't run mkdirp in `setup_dependent_package` (#41603)Harmen Stoppels2-5/+2
`setup_dependent_package` is not a build phase, it should just set globals for a package. It's called during setup of runtime environment of packages, and there have been reports of it actually failing due to a read only file system (not sure under what exact conditions that is possible).
2023-12-13perl-config-tiny: New package (#41584)Arne Becker1-0/+28
2023-12-13perl-b-cow: New package (#41596)Arne Becker1-0/+28
2023-12-13perl-throwable: New package (#41597)Arne Becker1-0/+31
2023-12-13perl-scope-guard: New package (#41598)Arne Becker1-0/+28
2023-12-13perl-test-sharedfork: New package (#41599)Arne Becker1-0/+29
2023-12-13perl-safe-isa: New package (#41600)Arne Becker1-0/+28
2023-12-13perl-proc-processtable: New package (#41601)Arne Becker1-0/+28
2023-12-13perl-net-ip: New package (#41606)Arne Becker1-0/+26
2023-12-13perl-any-uri-escape: New package (#41607)Arne Becker1-0/+28
2023-12-13perl-term-table: New package (#41608)Arne Becker1-0/+28
2023-12-13perl-test-pod: New package (#41609)Arne Becker1-0/+28
2023-12-13perl-spiffy: New package (#41610)Arne Becker1-0/+28
2023-12-13perl-ipc-system-simple: New package (#41611)Arne Becker1-0/+28
2023-12-13perl-mime-types: New package (#41612)Arne Becker1-0/+26
2023-12-13perl-convert-nls-date-format: New package (#41613)Arne Becker1-0/+29
2023-12-13perl-module-pluggable: New package (#41614)Arne Becker1-0/+28
2023-12-13perl-email-date-format: New package (#41617)Arne Becker1-0/+28
2023-12-13perl-heap: New package (#41618)Arne Becker1-0/+26
2023-12-13spack mirror create --all: include patches (#41579)Harmen Stoppels1-26/+25
2023-12-13perl-log-any: New package (#41619)Arne Becker1-0/+26