* Current develop spack.bat file cannot handle any reserved characters
being passed via the CLI, particularly '=' and '?'. To address this,
re-do the CLI parsing for loop to use custom logic to allow for more
granular handling of CLI args.
* We take a less-than-ideal approach to escaping local scope and
handling unset variables as well as the actual parsing of CL
arguments. To address this, don't quote the args and then try to
parse the quotes we just added (resulting in spack flags being
undefined). Instead, leverage batch script features. Since we are
not unnecessarily quoting things, we don't need to think about
removing them, and in the case of paths with spaces, we should _not_
be removing the quotes as we currently do.
Corrects libs detection with a more specific root, otherwise there
can be inconsistencies between version of WGL requested and the
version picked up by `find_libraries`.
Corrects headers detection - win-sdk, win-wdk, and WGL headers all
exist under the same directory, so we can compute the headers for WGL
without querying the spec for win-sdk (which causes errors).
This commit also removes the `plat` variant of `wgl`, which is
redundant with the Spec's target.
- [x] Specs that define 'new' versions in the require: section need to generate associated facts to indicate that those versions are valid.
- [x] add test to verify success with unknown versions.
- [x] remove unneeded check that was leading to extra complexity and test
failures (at this point, all `hash=version` does not require listing out that version
in `packages.yaml`)
- [x] unique index for origin (dont reuse 0)
Co-authored-by: Peter Josef Scheibel <scheibel1@llnl.gov>
* Add v8.4.1, and a few other changes.
Minor adjustments for better alignment between Spack and ESMF native
build. For ESMF >= 8.3.1 now Spack defaults to using
external-parallelio. Before use internal version, which was PIO-1 all
the way up to v8.3.0b10 anyway! Xerces is disabled by default.
* Deal with two long lines flagged by prechecks/style.
* Try to satisfy prechecks/style.
* Try to satisfy flake8 rules wrt indentation of continuation lines.
* Now trying to satisfy "black reformatting".
* For "black" formatting really put that ugly comma at the end before
closing parentheses. Interesting.
* Support building against external-parallelio even w/o mpi, but select the
external-parallelio dependency accordingly.
* Correct C compiler setting.
* Handle `pnetcdf` variant consistent with how `ParallelIO` does it. And
also pass the `pnetcdf` variant down to the `external-parallelio`
dependency if set.
* Long line formatting again.
* Simplify handling of tarball URL construction and update sha256
checksums.
* Align version check with recommended self.spec.satisfies().
* Deprecate v8.4.0 which has a bug that can cause memory corruption, fixed
in v8.4.1.
* Use double quotes vs single quotes as per style-check... although
https://spack-tutorial.readthedocs.io/en/latest/tutorial_packaging.html#querying-spec-versions
clearly shows it with single quotes.
* ispc: attempts at getting more recent versions to work
* ispc: more attempts to get newer versions to build
* ispc: cleanup
* llvm: remove ispc_patches variant again
* ispc: unpin ncurses
* ispc: satisfy style checks
* ispc: 1.19 is only compatible with LLVM 13-15
otherwise it would not build against develop, as this now has LLVM 16
* ispc: relax LLVM version to what ispc requires itself
verified that it builds against LLVM 13, 14, 15, but not 12 and 16
* ispc: use spec.satisfies instead of version comparison
according to suggestions from review and docs, this is the canonical way to do it
* ispc: checksum 1.18.1
just in order to include all versions, also checked that it builds
---------
Co-authored-by: Martin Aumüller <aumuell@reserv.at>
Add a `find_first` method that locates one instance of a file
that matches a specified pattern by recursively searching a directory
tree. Unlike other `find` methods, this only locates one file at most,
so can use optimizations that avoid searching the entire tree:
Typically the relevant files are at low depth, so it makes sense to
locate files through iterative deepening and early exit.
Update tcl and lmod modulefile template to provide more information on
help message (name, version and target) like done on whatis for lmod
modulefiles.