Commit Graph

174 Commits

Author SHA1 Message Date
Harmen Stoppels
e51748ee8f zlib-api: new virtual with zlib/zlib-ng as providers (#37372)
Introduces a new virtual zlib-api, which replaces zlib in most packages.

This allows users to switch to zlib-ng by default for better performance.
2023-08-09 09:22:58 -04:00
Massimiliano Culpo
3843001004 Fixed bugs discovered in conflicts directives (#39338) 2023-08-09 14:20:49 +02:00
Howard Pritchard
783be9b350 dealii - add platform-introspection variant (#37833)
This option is needed for DFT FE - or more accurately the check needs to
be checked off for a number of platforms or else the code doesn't work.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2023-05-29 10:56:03 +02:00
Luca Heltai
c16c5ad106 dealii: add support for 9.4.1 and 9.4.2 (#36627)
* Make sure the standard is cxx17 for 9.4:

* Fix patches for > 9.4
2023-05-02 10:49:53 +02:00
Massimiliano Culpo
d84c6ad29e cmake build system: make "generator" a variant (#35552) 2023-03-18 16:39:04 +01:00
Adam J. Stewart
603569e321 Style: black 23, skip magic trailing comma (#35351)
* Style: black 23, skip magic trailing commas

* isort should use same line length as black

* Fix unused import

* Update version of black used in CI

* Update new packages

* Update new packages
2023-02-16 23:06:12 -06:00
Massimiliano Culpo
ddecf07045 Use the maintainers directive in all packages (#35201) 2023-02-01 21:07:25 -08:00
Harmen Stoppels
fce95e2efb license year bump (#34921)
* license bump year
* fix black issues of modified files
* mypy
* fix 2021 -> 2023
2023-01-18 14:30:17 -08:00
Adam J. Stewart
c5883fffd7 Python: drop EOL versions (#33898)
This PR removes [end of life](https://endoflife.date/python) versions of Python from Spack. Specifically, this includes all versions of Python older than 3.7.

See https://github.com/spack/spack/discussions/31824 for rationale. Deprecated in #32615. And #28003.

For anyone using software that relies on Python 2, you have a few options:

* Upgrade the software to support Python 3. The `3to2` tool may get you most of the way there, although more complex libraries may need manual tweaking.
* Add Python 2 as an [external package](https://spack.readthedocs.io/en/latest/build_settings.html#external-packages). Many Python libraries do not support Python 2, but you may be able to add older versions that did once upon a time.
* Use Spack 0.19. Spack 0.19 is the last release to officially support Python 3.6 and older
* Create and maintain your own [custom repository](https://spack.readthedocs.io/en/latest/repositories.html). Basically, you would need a package for Python 2 and any other Python 2-specific libraries you need.
2022-11-22 15:02:30 -08:00
Terry Cojean
f9e9ecd0c1 Ginkgo 1.5.0 version, new MPI variant, related fixes (#33838)
* Ginkgo 1.5.0 release, new MPI variant

* Fix ROCTHRUST/ROCPRIM issues

* Fix deal.II issue with Ginkgo 1.5.0

* Also fix hipRAND+rocRAND RPATH settings

* Turn off CCACHE for spack builds.

Co-authored-by: Veselin Dobrev <dobrev@llnl.gov>

Co-authored-by: Veselin Dobrev <dobrev@llnl.gov>
2022-11-14 12:33:11 -06:00
Veselin Dobrev
a5d35c3077 [sundials] fix cmake argument generation for '+magma' (#33858)
[dealii] force cmake to accept Scalapack settings from Spack
2022-11-13 09:50:57 -06:00
Mikael Simberg
ee721f9c91 Add Boost 1.80.0 (#32879)
* Add Boost 1.80.0
* Add conflict for Boost 1.80.0 and dealii
* Add conflict for Boost 1.80 and %oneapi
2022-10-20 13:32:25 -07:00
Luca Heltai
1c22af8ef4 dealii:: fixed application of stdcxx variant (#32413)
* Fixed imposition of stdcxx.

* Fixed style.
2022-08-29 08:41:17 -07:00
Jean-Paul Pelteret
85b8a41ccb deal.II 9.4: Fix issues due to override of CMake FIND_PACKAGE macro (#32079) 2022-08-22 11:37:52 -06:00
Todd Gamblin
f52f6e99db black: reformat entire repository with black 2022-07-31 13:29:20 -07:00
Todd Gamblin
156af2a60a black: clean up noqa comments from most of the code
Many noqa's in the code are no longer necessary now that the column limit is 99
characters. Others can easily be eliminated, and still more can just be made more
specific if they do not have to do with line length.

The only E501's still in the code are in the tests for `spack.util.path` and the tests
for `spack style`.
2022-07-31 13:29:20 -07:00
Jean-Paul Pelteret
f6d701ca26 deal.II: add v9.4.0 (#31279) 2022-07-05 11:40:28 +02:00
Tom Scogland
18c2f1a57a refactor: packages import spack.package explicitly (#30404)
Explicitly import package utilities in all packages, and corresponding fallout.

This includes:

* rename `spack.package` to `spack.package_base`
* rename `spack.pkgkit` to `spack.package`
* update all packages in builtin, builtin_mock and tutorials to include `from spack.package import *`
* update spack style
  * ensure packages include the import
  * automatically add the new import and remove any/all imports of `spack` and `spack.pkgkit`
    from packages when using `--fix`
  * add support for type-checking packages with mypy when SPACK_MYPY_CHECK_PACKAGES
    is set in the environment
* fix all type checking errors in packages in spack upstream
* update spack create to include the new imports
* update spack repo to inject the new import, injection persists to allow for a deprecation period

Original message below:
 
As requested @adamjstewart, update all packages to use pkgkit.  I ended up using isort to do this,
so repro is easy:

```console
$ isort -a 'from spack.pkgkit import *' --rm 'spack' ./var/spack/repos/builtin/packages/*/package.py
$ spack style --fix
```

There were several line spacing fixups caused either by space manipulation in isort or by packages
that haven't been touched since we added requirements, but there are no functional changes in here.

* [x] add config to isort to make sure this is maintained going forward
2022-05-28 12:55:44 -04:00
Adam J. Stewart
5df10c04cd Use stable URLs and ?full_index=1 for all github patches (#29239)
The number of commit characters in patch files fetched from GitHub can change,
so we should use `full_index=1` to enforce full commit hashes (and a stable
patch `sha256`).

Similarly, URLs for branches like `master` don't give us stable patch files,
because branches are moving targets. Use specific tags or commits for those.

- [x] update all github patch URLs to use `full_index=1`
- [x] don't use `master` or other branches for patches
- [x] add an audit check and a test for `?full_index=1`

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2022-03-23 08:50:00 +01:00
Luca Heltai
3d6156d3b2 dealii: new version and restrict sundials version (#29631) 2022-03-20 15:47:37 -04:00
Abhik Sarkar
0ce8b9d398 Make boost minimal and composable (Original PR#22303) (#28623)
* Make boost composable

Currently Boost enables a few components through variants by default,
which means that if you want to use only what you need and no more, you
have to explicitly disable these variants, leading to concretization
errors whenever a second package explicitly needs those components.

For instance if package A only needs `+component_a` it might depend on
`boost +component_a ~component_b`. And if packge B only needs
`+component_b` it might depend on `boost ~component_a +component_b`. If
package C now depends on both A and B, this leads to unsatisfiable
variants and hence a concretization error.

However, if we default to disabling all components, package A can simply
depend on `boost +component_a` and package B on `boost +component_b` and
package C will concretize to depending on `boost +component_a
+component_b`, and whatever you install, you get the bare minimum.

* Fix style

* Added composable boost dependencies for folly

* fixing akantu merge issue

* hpctoolkit boost dependencies already defined

* Fix Styles

* Fixup style once more

* Adding isort fix

* isort one more time

* Fix for package audit issue

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Ryan O'Malley <rd.omalley@comcast.net>
2022-03-17 17:42:07 -06:00
Todd Gamblin
93377942d1 Update copyright year to 2022 2022-01-14 22:50:21 -08:00
Jean-Paul Pelteret
b4a2fd1fcd deal.II: Update for 9.3.2 release (#27303) 2021-11-09 12:02:51 +01:00
Daniel Arndt
e221617386 deal.II package: Update CMake variable for >=9.3.0 (#26909) 2021-10-25 15:00:40 -07:00
Satish Balay
36bd69021d dealii: @9.3.1 has build errors with boost@1.77.0 - so add dependency on boost@1.76.0 [or lower] (#26709) 2021-10-14 01:30:53 +02:00
Harmen Stoppels
b9e72557e8 Remove .99 from version ranges (#26422)
In most cases, .99 can be omitted thanks to #26402 .
2021-10-03 09:09:02 -04:00
Satish Balay
148071ac8a dealii: add version 9.3.1 (#25915) 2021-09-14 15:26:08 -06:00
Jean-Paul Pelteret
3e4b576f83 deal.II: Bump minimum required version for Ginkgo package (#25795) 2021-09-06 14:07:11 +02:00
Seth R. Johnson
42c230dfbe trilinos: simplify variants (#25359) 2021-08-16 07:34:03 -04:00
Seth R. Johnson
624c72afae trilinos: simplify some variants (#24820)
* trilinos: rename basker variant

The Basker solver is part of amesos2 but is clearer without the extra
scoping.

* trilinos: automatically enable teuchos and remove variant

Basically everything in trilinos needs teuchos

* trilinos: group top-level dependencies

* trilinos: update dependencies, removing unused

- GLM, X11 are unused (x11 lacks dependency specs too)
- Python variant is more like a TPL so rearrange that
- Gtest internal package shouldn't be compiled or exported
- Add MPI4PY requirement for pytrilinos

* trilinos: remove package meta-options

- XSDK settings and "all opt packages" are not used anywhere
- all optional packages are dangerous

* trilinos: Use hwloc iff kokkos

See #19119, also the HWLOC tpl name was misspelled so this was being ignored before.

* Flake

* Fix trilinos +netcdf~mpi

* trilinos: default to disabling external dependencies

* Remove teuchos from downstream dependencies

* fixup! trilinos: Use hwloc iff kokkos

* Add netcdf requirements to packages with ^trilinos+exodus

* trilinos: disable exodus by default

* fixup! Add netcdf requirements to packages with ^trilinos+exodus

* trilinos: only enable hwloc when @13: +kokkos

* xyce: propagate trilinos dependencies more simply

* dtk: fix missing boost dependency

* trilinos: remove explicit metis dependency

* trilinos: require metis/parmetis for zoltan

Disable zoltan by default to minimize default dependencies

* trilinos: mark mesquite disabled and fix kokkos arch

* xsdk: fix trilinos to also list zoltan [with zoltan2]

* ci: remove nonexistent variant from trilinos

* trilinos: add missing boost dependency

Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2021-07-16 11:36:06 -07:00
Todd Gamblin
24c01d57cf imports: sort imports everywhere in Spack (#24695)
* fix remaining flake8 errors

* imports: sort imports everywhere in Spack

We enabled import order checking in #23947, but fixing things manually drives
people crazy. This used `spack style --fix --all` from #24071 to automatically
sort everything in Spack so PR submitters won't have to deal with it.

This should go in after #24071, as it assumes we're using `isort`, not
`flake8-import-order` to order things. `isort` seems to be more flexible and
allows `llnl` mports to be in their own group before `spack` ones, so this
seems like a good switch.
2021-07-08 22:12:30 +00:00
Luca Heltai
1533c2fade dealii: add support for arborx (#24154) 2021-06-06 22:16:43 -04:00
Jean-Paul Pelteret
237ff4b2b2 dealii: add v9.3.0 (#24077) 2021-06-02 09:33:34 +02:00
Luca Heltai
8a7487773b dealii: added support for simplices, updated sundials (#20621) 2021-01-27 17:02:15 +01:00
Luca Heltai
812a3fb0ae dealii: fix concretization problem between trilinos and adol-c (#20606) 2021-01-06 09:51:21 +01:00
Luca Heltai
155a3b3a08 Fix compilation for boost@1.72: (#20618) 2021-01-05 10:42:11 -08:00
Todd Gamblin
a8ccb8e116 copyrights: update all files with license headers for 2021
- [x] add `concretize.lp`, `spack.yaml`, etc. to licensed files
- [x] update all licensed files to say 2013-2021 using
      `spack license update-copyright-year`
- [x] appease mypy with some additions to package.py that needed
      for oneapi.py
2021-01-02 12:12:00 -08:00
Massimiliano Culpo
7501d9d150 dealii, piranha, trilinos: remove mentions of non-existing variants (#20406) 2020-12-15 17:44:20 +01:00
Jean-Paul Pelteret
3a56248eba deal.II: Add more conflicts due to symbol clashes between dependencies (#19408) 2020-10-20 14:55:22 -05:00
Jean-Paul Pelteret
50c7bc8cfd deal.II: Fix broken include and library path concatenation (#19315) 2020-10-14 21:23:55 -05:00
David M. Rogers
beeab6e1b9 Make DEAL_II_MPI_WITH_CUDA_SUPPORT conditional on mpi package option. (#19279) 2020-10-13 13:23:04 -05:00
David M. Rogers
d431fcd904 Added CUDAHOSTCXX variable needed to compile with cuda and mpi. (#19254)
* Added CUDAHOSTCXX variable needed to compile with cuda and mpi.

* Added guard for setting CUDAHOSTCXX with MPI.

* Acceptable working version of dealii+cuda+mpi.
2020-10-12 02:28:06 -07:00
Jean-Paul Pelteret
fe239c83fc deal.II: Further modernisation and improvements (#19253) 2020-10-11 15:48:09 -04:00
Jean-Paul Pelteret
69eb51dbfe dealii: Reorganize package and add some new settings (#19137)
New variants:
- cxxstd
- examples
2020-10-10 09:20:53 -04:00
Mathias Anselmann
b578d55d12 setting old GO default values for older trilinos versioins to (hopefully) not break the installation. Adjusting dealii package to just explicitly set GO if trilinos >= 12.18.1 is installed (#15439) 2020-09-22 18:52:05 -05:00
Massimiliano Culpo
14599f09be Separate Apple Clang from LLVM Clang (#17110)
* Separate Apple Clang from LLVM Clang

Apple Clang is a compiler of its own. All places
referring to "-apple" suffix have been updated.

* Hack to use a dash in 'apple-clang'

To be able to use autodoc from Sphinx we need
a valid Python name for the module that contains
Apple's Clang code.

* Updated packages to account for the existence of apple-clang

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* Added unit test for XCode related functions

Co-authored-by: Gregory Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-25 11:18:48 -05:00
Luca Heltai
a6779061d7 dealii: deal with nanoflann after 9.2.0 (#16839) 2020-05-28 12:02:34 +02:00
Luca Heltai
55eb192234 dealii: 9.2.0 release (#16743) 2020-05-22 19:19:19 -07:00
Jean-Paul Pelteret
4b3b023284 deal.II: Update dependencies and fix target for vectorisation (#15731)
* Update ADOL-C homepage url

* Update SymEngine to v0.6

* deal.II: Add code to add target vectorisation flags
2020-03-29 10:56:15 -05:00
Mathias Anselmann
d6b0cf75ed cherry-picking global ordinal type variant from https://github.com/spack/spack/pull/14215 and setting dealii to GO int, to make it compile again (#15288)
Co-authored-by: Andrey Prokopenko <andrey.prok@gmail.com>
2020-03-03 11:26:20 -06:00