Clang 8.0 now supports openmp 4.5 and many commerical compilers also support
openmp >= 4.0. This commit removes the openmp version guard and rely on CMake
to throw errors out when openmp version requirement is not satisified.
It also add options for precision control.
* CGNS: Add option for 64-bit integers
Added the `int64` variant which will build the library using 64-bit integers for certain values. This gives the capability to have models with more than 2 billion cells and/or nodes.
Beginning with CGNS-3.1.0, two new typedef variables have been introduced to support 64-bit mode. The `cglong_t` typedef is always a 64-bit integer, and `cgsize_t` will be either a 32-bit or 64-bit integer depending on how the library was built. Many of the C functions in the MLL have been changed to to use `cgsize_t` instead of `int` in the arguments. These functions include any that may exceed the 2Gb limit of an` int`, e.g. zone dimensions, element data, boundary conditions, and connectivity. In Fortran, all integer data is taken to be `integer*4` for 32-bit and `integer*8` for 64-bit builds.
* EXODUS: Update version and dependencies
Allow pulling master version from git. Note that I hope to have better versioning "soon"
Add requirement to use Netcdf-4.6.1 or later as those versions no longer require changing the `maxdims` or `maxvars` defines in the netcdf.h include file. With these versions, Exodus can use an unmodified NetCDF. These versions of NetCDF are also better than previous versions (code quality, performance, robustness).
It is still possible to run exodusII with previous NetCDF versions, but I don't know how to specify that the dependency where maxdims/maxvars variants are only needed for versions prior to 4.6.0.
I also removed the explicit dependency on HDF5 as that dependency should be applied through the NetCDF dependency.
* Remove white-space on blank line
* Provide a new spackage for py-pint.
Pint is a Python package to define, operate and manipulate physical quantities:
the product of a numerical value and a unit of measurement. It allows arithmetic
operations between them and conversions from and to different
units. https://pint.readthedocs.io/en/latest/
* Switch hash from md5 to sha256.
Add several new versions so that current functionality can be accessed. Current version is now 1.5.13.
Update `url`, `list_url`, and `list_depth` so spack can find available versions
* PNETCDF: Update with current versions
Added latest versions. (1.10.0, 1.9.0, 1.8.1)
* PNETCDF: Revert version change in url
Reverted the change in the url variable version since not required.
* NETCDF: Add new versions and update url
Added the 4.6.2 version which was recently released.
Changed the url to point to the official Unidata site and added option to retrieve master version from git.
* NETCDF: checksum and version updates
Reverted back to use of previous URL. The `https://github.com/Unidata/netcdf-c/archive/v4.6.2.tar.gz` location is newer, but spack does not seem to be able to access all of the versions at that location -- only goes back to 4.5.0. Since several installations are still providing 4.4.0, thought it best to go back to previous url. However, it looks like the naming convention has changed since 4.6.2, so need to provide explicit url for 4.6.2. Probably best to go to a `url_for_version()` scheme if that naming convention stays in place?
This commit allows users to enable openmp, rendering, logging and mpi
in vtkm. Meanwhile, it adds support for cuda architecture selection.
[VTK-m 1.3 Release notes](https://gitlab.kitware.com/vtk/vtk-m/tags/v1.3.0)
Overhaul hpctoolkit to AutotoolsPackage and to build its dependencies
directly from spack instead of using hpctoolkit-externals.
Remove hpctoolkit-externals since it's no longer needed.
* py-jupyter-console: Add version 5.2.0
* py-jupyter-core: add version 4.4.0
* py-lxml: add version 4.2.5
* py-zmq: add version 17.1.2
* py-terminado: add version 0.8.1
* py-pexpect: add version 4.6.0
* py-pytables: add version 3.4.4
Fixes#994473c978d replaced a move with a copy, which cased rmdir to fail (as
it expects an empty directory). This switches to use `shutil.rmtree`
instead.
The latest OpenMPI release, v4.0.0, does not build with many GCC
variants. Since this is our default, a lot of users get hit.
Let's wait for some point releases.
* py-geopandas: New package, including packages for its dependencies
* Trailing whitespace removed, etc
* One more trailing whitespace
* Removed some extraneous dependencies. No idea why I thought I needed them, but it now builds fine without them.
* Added a variant +plotting, to include the dependencies required for plotting, as these are large-ish if not being used.
* Added explicit dependency on py-matplotlib
* r-geor: new package, and a couple of its dependencies
* Update to new copyright header
* Include the list_url for the R package archive dir
* Added explicit version ranges on dependencies, as per the relevant CRAN pages
* Correct dependency types in r-splancs.
* r-compositions: new package, including its dependencies
* Include the list_url for the R package archive dir
* Added explicit version ranges on dependencies, as per the relevant CRAN pages
Drop versions 8.1.x. These were > 5 years old, no other spack package
uses them, and they used autotools. Packages 'stat' and 'mitos' still
use 8.2.1, so we keep that.
Switch class Dyninst to CMakePackage.
Clean up how the versions depend on various packages. For example,
Dyninst used libelf up to 9.2, and then elfutils starting with 9.3.
This makes things easier going forward.
Add variant 'openmp' (default True) to enable openmp support for
ParseAPI. This was added in 10.0.0.
Add variant 'static' (default False) to also build static libraries.
This goes back to 9.1.0.
Disable cotire for the 9.3.x versions. Cotire has no real use in a
one-time build and can break parallel builds with both static and
shared libs.
* package: add asciidoctor gem
Faster, easier to use, less impossible to install correctly
implementation of asciidoc.
* ritual sacrifice of EOF whitespace to flake8
* openblas: enable parallel builds
* cp2k: enable parallel builds
* cp2k: fix building on multilib/Suse distros
use the actual directory path where files where installed to instead of
the default prefix+'/lib'
* cp2k: ensure we have a non-header-only libxsmm
* openblas: disable max num CPU detection on virtualized build
* cp2k: install data and set compiled-in DATA_DIR
* cp2k: make libxc an optional dependency (enabled by default)
* cp2k: link libint statically
* cp2k: declare statically linked library deps as type=build
* cp2k: add support for PGI compiler
* cp2k: rename smm=none to smm=blas for clarification
* cp2k: blacklist unsupported compilers
* cp2k: mark wannier90 a build-time dep since statically linked
* cp2k: make pexsi and elpa optional
* cp2k: add support for v6.1
* libxc: add version 4.2.3
* cp2k: use pkg-config to link properly to libxsmm
* cp2k: fix OpenMP support by making it explicit
Previously, CP2K accepted threaded ELPA or BLAS, leading to #(CPU) processes
being spawned even though no explicit OpenMP was requested. Now the
`popt` variant should truly be thread free while the `psmp` variant uses
threads also internally.
* cp2k: source tarballs moved to GitHub
* Add initial packages for citcoms and dependencies
* Ignore Pythia imports
* Add py-merlin package
* Add GMT package
* Fixes to get GMT working
* Get hc package building
* Get CitcomS 3.2.0 working
* Add fstrack package
* Fix hash
* added develop version in argobots package and added valgrind variant
* made autotools required only for develop version
* corrected style
* Added --disable-valgrind
Added --disable-valgrind to explicitly disable it when +valgrind isn't provided.
Pass cflags to configure so that configure gets the values from the
spack install line.
Disable -Werror so that we don't fail the build over a stray warning.
Libunwind releases are few and far between, so we need access to
recent snapshots from the git repository.
Pass cflags to configure so that make will respect the value from the
spack install line.
glib should not use the globally installed gtk-doc. Otherwise, gtk-doc
can fail with Python errors such as `ImportError: No module named site`.
This is due to the fact that Spack sets `PYTHONHOME`, which can confuse
the global Python installation that is used by gtk-doc.
- Add version 2.1.0
- Now that #9264 has been merged, gplates seems to build fine with newer
versions of gcc (tested with gcc@8)
- When using the ninja generator, gplates can be built in parallel
* Update Dyninst package file for TBB dependency
Dyninst master and 10.0 release
versions require the tbb package. This mod
updates the tbb versions adding the one that
dyninst uses and adds the required spack package
changes to dyninst/package.py.
* Put new version of tbb in proper location, per reviewer comment.
* Only depend on tbb if building the development version.
* Changes for the release of Dyninst 10.0.0
* Introduce FFTW2 and FFT3 providers for Intel-MKL and FFTW Spack packages.
* make fftw default package for fftw-api virtual package
* virtual package test assertion now provides location of default virtual packages.
* Change name of virtual package to fftw-api and used versioned interface.
- `spack.util.environment` is the new home for routines that modify
environment variables.
- This is to make room for `spack.environment` to contain new routines
for dealing with spack environments
* modified tutorial packages
* update hint in hdf5 tutorial file (typo for suggested argument)
* add repo.yaml to tutorial repository
* update tutorial docs to refer user to tutorial package repository
* flake edits
* recommend site scope vs. defaults
* you don't specify the repo's name when adding a repo, just the path
* henson: new package
* henson: change github path to henson-insitu
* henson: make mpi-wrappers=off by default
* henson: remove unsued variable and spaces to make linter happy
* henson: rename version master to develop
* xeus: new package
cppzmq: add version 4.3.0
zeromq: make libsodium optional, on by default
* xeus: add patch so it builds, add new version
nlohmann-json: add more versions
cryptopp: add more versions
* xeus: flake8
* xeus: fix license
* Provide a newer doxygen version.
+ Also provide a patch that allows collaboration diagrams to work properly with
C++ std::shared_ptr<T>. Ref:
6c380ba91a
* Add the setting of CBTF_MPI_IMPLEMENTATION to the cbtf-krell
and openspeeedshop package files, so that the mpi implementation
can be found by the tool. This allows users to not have to
set this manually if only one mpi implementation is specified
in the build.
* Update version ranges for dependencies of cbtf packages
* GCC: constrain version 6, 7, and 8 to build with ISL version at
most 0.18
* GCC version 9 (not yet released) will be compatible with
ISL version 0.20 so future GCC releases are constrained to build
with ISL version at most 0.20
* ISL: Add v0.15, replace all md5 sums with sha256 sums for ISL
versions
* GCC versions before 6 were constrained to build with ISL 0.14
but have been confirmed to work with ISL 0.15
* GCC: Place an upper bound on GCC's mpfr dependency
* packages/phist: add variant 'fortran' to enable/disable building the Fortran bindings
* xsdk: add phist
* packages/xsdk: add a comment reg. updating phist dependency
* packages/phist: +fortran variant is only for versions 1.7:
* packages/phist: update comments
* xsdk: forgot to specify kernel library for phist (picked tpetra, assuming trilinos+tpetra will be installed)
* packages/phist: add variant 'openmp' to allow disabling OpenMP
* phist: fix compile error due to missing -lm
* flake8: fix warnings
* packages/phist: fix cmake flag: XSDK_ENABLE_Fortran (rather than XSDK_BUILD_Fortran)
* packages/phist: allow disabling building the scamac matrix generator (which causes trouble on some systems)
* packages/xsdk: disable scamac within phist because it caused problems for @balay and is not essential for now
* packages/phist: actually disable scamac via cmake if ~scamac
* phist: disable openmp from xsdk
This commit overhauls the libMesh package script in a number of ways:
* We now inherit from AutotoolsPackage.
* libMesh contains about a dozen third-party dependencies that can
only be provided by the copy bundled with libMesh. This patch
enumerates all such bundled dependencies and disables all of them
by default.
* libMesh supports compilation with external installations of boost,
eigen, hdf5, slepc, and tbb; this patch adds all of them to
package.py.
* libMesh will look for a few system executables (xz, bzip, gdb) by
default. This is now disabled.
* libMesh will now used a copy of perl installed by spack instead of
trying to find the system copy.
* Compilation with non-system MPI installations requires an additional
flag (--with-mpi=); this has been added.
The install() function in the miniconda2 & 3 package.py files referenced
self.url, which is hard-coded to 4.3.11. That's not necessary the
version that the user requested, though. Changed the install() function
to reference self.stage.archive_file. Also added a version string for
4.5.11.
Move suite-sparse gcc version constraint from dealii to suite-sparse
package and update it (gcc 4.9 is required as of version 5.2.0 rather
than 5.1.0). The constraint is now expressed as a conflict rather
than a dependency.
* updated visit package
* make hdf5 and silo conflict with ~gui variant
* Changed parallel => mpi and quotes in description
* Corrected +mpi variant in VisIt package
The previous commit introduced a bug (+parallel variant wasn't renamed +mpi), and the +mpi variant wasn't True by default. This is corrected.
arrow: add missing dependency for python build
The Parquet library moved into the Arrow organisation, hence add a
parquet flavor and adapt dependencies.
* flux: ensure git tags are always available
previous `--unshallow` would only run when `--depth 0` was used. If
1--single-branch` was used, then the `.git/shallow` file would not exist
and `--unshallow` would not work.
add v0.6.0 and update dependencies accordingly
update dependencies to match latest flux versions
adds support for python 3
increases precision of czmq version required for older flux versions
adds new lz4 dependency
* Add stat version 4.0.1
* stat 4.0.1: requires py-xdot
* stat versions at or above 4.0.0 dont require python 2 (it still
requires python but can build with 2 or 3)
* stat versions at or above 4.0.0 dont require py-pygtk and py-enum34
* Replace py-xdot version 0.9.1 with 1.0
* py-xdot: use lib directory vs. lib64 for atk dependency
* Add version 18.9.0 (w/CMake)
* Add version dependent install methods to handle transition from
Make-based package (17.1) to CMake-based package, using the NEST
package as an example
* Remove unnecessary build_targets method for older Make-based
version
* Don't retrieve just the C/Fortran interfaces for netlib-lapack -
blas/lapack libs are now handled the same for all implementations
* Remove netlib-lapack detection patch
* add new version 3.1.0
* add conflict for parmetis without mpi
* strumpack >= 3.1.0 uses -DTPL_ENABLE_<package> instead of
-DSTRUMPACK_USE_<package>
* require cmake at least 3.2
* Added support for the Aluminum library to LBANN and Hydrogen. Also
fixed several bugs in the grouping of dependencies of both packages.
* Updated the conduit package to have the proper dependency on the
python variant.
* Added new versions for NCCL
* Fixed a bug in how Hydrogen set the path for OpenBLAS.
* Added support for conduit in LBANN.
* vtk: add variants for Xdmf IO support, ffmpeg support, and MPI
* vtk: depends on boost when Xdmf support is enabled
* vtk: add backported patch for python3.7
* vtk: New policy only for cmake >= 3.12
* mesa: add py-argparse dependency (for build)
* lz4: use MOREFLAGS instead of LIBS to add -lrt
scalasca actually requires cubew, not the full cube bundle. However,
cubew@4.4 causes the build of previous versions to fail because there is
no cube-config script anymore.
- remove the old LGPL license headers from all files in Spack
- add SPDX headers to all files
- core and most packages are (Apache-2.0 OR MIT)
- a very small number of remaining packages are LGPL-2.1-only
- This is bundled into one commit to make it easy to revert if we do get
consent from peetsv's company to relicense these contributions.
- Revert "dialign-tx adding patch for gcc@5.4.0 (#6413)"
- This reverts commit 09eeb991a2.
- Remove the following LGPL-2.1 packages because we have not gotten
consent to relicense them:
- fast-gbs
- igv
- metasv
- perl-xml-libxml
- py-cnvkit
- py-crossmap
- py-pybedtools
- py-pyfaidx
- py-pyvcf
- py-vmd-python
- r-cghflasso
- r-dismo
- r-proc
- r-spatial
- r-utf8
* omega-h: fix dependencies
1. Remove Gmodel altogether. Omega_h doesn't
actually call Gmodel for anything, it was
more or less just doing additional unit
testing for Gmodel
2. Make Trilinos off by default. Most codes do
not need the ParameterList interface, and
Kokkos through Trilinos is not well explored
in Spack
3. Use modern CMake style to choose the zlib
dependency
getopts.pl is not listed as a Spack dependency of sspace-standard,
so without this change, this package was only working on systems
where getopts.pl was already installed.
* Added conflict in Trilinos for STK when building as shared on Darwin.
* Created shared variant for Nalu and Nalu-Wind to automatically build
Trilinos as static library on Darwin.
* Moved ECP tags from Nalu to Nalu-Wind (the latter is the official
ECP application).
* Remove py-setuptools dependency from py-spyder (fixes#9205)
* Add constraint on transitive qt dependency to build with webkit
extension (required for this package)
* Update pycodestyle dependency constraints
* reordered dependencies (py-zmq, py-chardet) to confirm to the
ordering in setup.py
* superlu-dist: Update package.py for superlu-dist v6.0.0 using CMake
* superlu_dist: Update the header of package.py
* Specify lapack_blas and DCMAKE_INSTALL_LIBDIR
disable support for superlu-dist before v5
current stable releases of PETSc and Trilinos have non-overlapping
requirements on Superlu-dist. For now turn it off by default in
Trilinos, which requires older versions.
* bison: Add missing build dependencies
bison also depends on cmp, which is currently not available in Spack.
* help2man: Add missing build dependency
* m4: Fix build with newer versions of glibc
* openssl: Add missing build dependency
openssl's configure script is actually a Perl script.
* texinfo: Add missing perl dependency
* diffutils: New package
* findutils: Fix build with newer versions of glibc
* mvapich2, mpich: Add missing findutils dependency
* Add option to disable threads for Geant4
* Add option to enable DagMC in MOAB
* Explicitly add OFF flag when threading is disabled
* Fix unintentional enabling of C++14 in Geant4
The following always evaluated to True:
'c++14' or 'c++1y' in spec:
* Push default flag handlers into module scope
* Preserve backwards compatibility of builtin flag handler names
Ensure Spack continues to work for packages using the `Package.env_flags` idiom and equivalent.
* update docs and tests to match
* Update packages to match new syntax
* xerces-c: Add variant for choice of transcoder (gnuiconv, iconv, icu,
macos, windows). It's important to specify a --enable-transcoder
option on the configure line or else xerces may make a different
choice when multiple transcoders are available.
* Pass the compile flags to configure. For cflags and cxxflags, this is
necessary to respect the value from the spack install line.
Otherwise, xerces (and any autotools package) will choose a default
value that overrides the spack compiler wrapper.
* Add xerces version 3.2.2.
* icu4c needs the --enable-rpath configure option on Darwin
* New package: tldd
* https://gitlab.com/miscripts/tldd
* Improvements
* make it prefetchable by specifying a hash based version
* specify the constraints on pstreams versions (from INSTALL)
* Improvements
* Make it a Makefile Package and only overwrite the install_targets
* Remove the URL as there's really no downloadable 'tar ball' version
* Initial commit for new package STRUMPACK, a linear solver library.
* Update to STRUMPACK version 3.0.3.
This adds a check for OpenMP task priority support (since OpenMP 4.5)
* treesub: new package starting at 0.2
* treesub: fix ant build, add exec script
* treesub: use portable octal format
* treesub: add license header
not sure how it even went missing.
The build process of Catalyst requires Python at build time (see line 86) even when the +python variant is not selected.
When the +python variant is selected, Python becomes required at build, link, and run time. There doesn't seem to be any restriction on the version of Python required when +python is not selected.
* Fix: bug in VTK package
Fix for issue 9423 (https://github.com/spack/spack/issues/9423): compilers other than clang don't have the `is_apple` property.
* VTK package: removing trailing whitespace
So flake8 stops complaining.
* Release 2.0 of the ECP Proxy Apps suite
* update laghos version
* make install dir structure consistent across all ecp-proxy-apps
* minor
* update macsio version