* hpcviewer: new package
Add binary package for hpcviewer and hpctraceviewer for the Rice
hpctoolkit on Linux x86_64, ppc64 and ppc64le.
* ibm-java: add property 'home' so that spec['java'].home will work.
* Flake
* More flake.
* Test that the version, machine type pair exists before using it in the
sha dictionaries so that 'spack info' doesn't crash on unsupported
configurations.
* mariadb-c-client is a new package using the distinct, LGPL,
MySQL-compatible client library from mariadb.com. It provides the
virtual package mariadb-client
* mariadb is recorded as a provider of the mariadb-client virtual
* The mysql-client virtual package is also added, and mariadb-c-client
is recorded as a provider for it
* Throw InstallError if more than one GPU architecture is passed to cuda_arch. Previous cuda_arch test was not actually working because comparison with none string was on the cuda_arch list instead of the first entry of the list.
* Removing redundant cuda_arch statement.
* New package: py-mysql-connector
* Fixed docstring
* 1. Determined that py-setuptools was not needed at all, so removed.
2. Added py-protobuf. Docs seem to imply that only C protobuf library is required; however, the Python setup.py says differently, and some Python code seems to reference protobuf too. I don't know why this worked for me, but it looks like including py-protobuf is the right thing to do.
* Applied solution detailed in:
https://github.com/mysql/mysql-connector-python/pull/9
Uncommenting this patch will make `error: option --single-version-externally-managed not recognized` reappear.
* Clean up / reorder lines
* flake8
qt currently falls back to bundled versions of sqlite, harfbuzz, pcre,
double-conversion and xcb. This adds the appropriate dependencies and
configure arguments. A new variant adds multibyte support to pcre and
pcre2, which is required by qt.
Additionally, newer versions of gcc (starting with @8.3.0) cause build
failures. This adds a patch to fix the problem.
The changes have been tested with all versions of qt currently available
in Spack. 5.2 and 5.3 do not build for reasons that seem to be unrelated
to these changes, though.
* Add binary package of the IBM Java SDK for big and little-endian
powerpc (power7, 8 and 9). The jdk and openjdk packages only install
on x86_64.
* Add ibm-java as a java provider
* The jdk and openjdk packages only install on x86_64. Add conflicts
for ppc64 and ppc64le to jdk and openjdk.
shmemrun and oshrun do not exist in OpenMPI v4.0.0
(ref: https://www.open-mpi.org/doc/v4.0/)
The Spack OpenMPI package was failing the install by trying to
remove them. This guards the removal of several scripts when
using the Slurm scheduler to handle the case where they don't exist.
It seems that this is actually a glibc problem and while 2.6.4 builds
without the patch on newer versions of gcc (@8:), it still sometimes
segfaults (as observed during the doxygen build).
* Add 'fiber' as a default library for boost
* Add autoconf/automake etc. dependencies to libseccomp package
* New package: brotli
* New package: editline
* Add brotli, editline, boost dependencies to Nix
Remove 2.6.3 as preferred version (but keep it available for
building). The latest version (currently 2.6.4) is now preferred
(according to Spack's defaults).
* Update dependencies for py-flake8 when building version 3.7.7
* Add FIXME comment for an example dependency constraint which causes
concretization to hang
* Add py-entrypoints version 0.3
* Add py-pycodestyle version 2.5.0
* Add libuv version 1.10.0
* CMake versions before 3.12.0 do not build with libuv version
1.25.0, so a constraint is added to build earlier versions of
CMake with libuv version 1.10.x
Update CPATH in setup_environment for Eigen, so that the
Spack-generated module for Eigen will help builds outside of Spack
use the appropriate include prefix for Eigen headers
(<install_prefix>/include/eigen3/ rather than <install_prefix>/include/)
Note that this only updates the run-time environment, rather than the
build-time environment, so Spack builds depending on Eigen that use
pkgconfig will not be confused by the presence of the Eigen include
directory in CPATH.
* Replace kim-api package with kim-api-v2, which has different
versions and removes the 'cmake_args' method
* Add openkim-models-v2 as an extension package
* libelf: move url to fossies.org
Libelf is no longer maintained and the original mr511.de web site no
longer exists. The final release, 0.8.13 from Nov 2009 is still
archived at fossies.org.
Fixes#10757.
* Change the homepage to the FSF entry.
New release of UnifyCR. Remove unsupported pre-1.0 versions
UnifyCR has had a few dependency changes to make the backend more
efficient. A new pre-release version has been released as well to
mark these changes. Prior versions are no longer supported.
Fixes#10769
This updates the .headers property to include header subdirectories
for Python and Eigen (as is recommended by these packages).
#10623 updated the default behavior of .headers.directories to
exclude subdirectories (since this can cause clashes with system
headers). This broke some packages which depended on the old behavior
of .headers.directories: for example if you had
<package-prefix>/include/subdir/ex1.h, .headers.directories would
include <package-prefix>/include/subdir.
The environment modules package has been updated to include
versions up to 4.0.0. The url of the package and the homepage
have been updated accordingly.
The `spack bootstrap` command now builds version 3.2.10 of
the environment-modules package, and will do until #10708
is fixed.
* Make use of new QE multi-valued HDF5 variant interface
* Remove explicit CUDA dependency (which is handled by inheriting
from CudaPackage)
* Update cuda_arch unset variant check
libbeagle compiles against CUDA by default but no there is no mention
of it in the package recipe. This PR adds explicit cuda paths and
variants, and fixes the target architecture as well (for those who
don't have compute_13)
Serial HDF5 in serial QE only works in develop version. This adds
a conflict to the QE package to prevent Spack from trying to build
specs which don't satisfy this constraint.
This restores the use of Package.headers when computing -I options
for building a package that was added in #8136 and reverted in
#10604. #8136 used utility logic that located all header files in
an installation prefix, and calculated the -I options as the
immediate roots containing those header files.
In some cases, for a package containing a directory structure like
prefix/
include/
ex1.h
subdir/
ex2.h
dependents may expect to include ex2.h relative to 'include', and
adding 'prefix/include/subdir' as a -I was causing errors,
in particular if ex2.h has the same name as a system header.
This updates header utility logic to by default return the base
"include" directory when it exists, rather than subdirectories.
It also makes it possible for package implementers to override
Package.headers to return the subdirectory when it is required
(for example with libxml2).
Update older md5 checksums to sha256. Require CMake >= 3.6.0 (updated
from 3.5.0). Remove some third-party depends_on statements (which
were commented out before).
Extract implicit xenv dependency into a new package and add it as an
explicit dependency. Update Gaudi to explicitly depend on older
versions of xenv rather than the latest develop because that
conflicts with Spack's compiler wrappers.
The nvptx installation support phase (added in 040b658) was always
running for gcc regardless of whether +nvptx was enabled. This
removes the "@when" syntax (which apparently is not working) and
adds a check inside of the "nvptx_install" function to bail out if
+nvptx is not enabled.
On macOS, the build of libxxhash is performed by a bare `make`
launched by `MakePackage`s default `build` phase. As `prefix`
is not set at this point, the library gets compiled with a hard-coded
install name of `/usr/local/libxxhash.dylib`. Downstream clients,
in the tested case Root, will then fail to build as the install name
is incorrect.
Move setting of `prefix` from `install` to `edit` so that it
propagates to subsequent `build` and `install` phases.
* QE hdf5 is now a multi-valued variant. Update conflicts accordingly.
* Update dependencies for hdf5 multi-valued variant. Bug fix: high-level hdf5 library needs to be a hard dependecy.
* Support for HDF5 serial interface. Note that this is not supported in QE autoconf, but will be fixed in the next official release.
* Support in QMCPACK for CUDA_ARCH flag.
* No need to have explicit CUDA variant anymore.
* Internal QMCPACK CMake assumes a minimum GPU architecture if none is provided.
* cp2k: archive the Makefile after a successful installation
* cp2k: all checksums are now sha256
* libint: all checksums are now sha256 + added versions 2.4.X
* libxc: all checksums are now sha256 + added version 4.3.2
* cp2k: os.path.join instead of join_path + simplified openmp flags
* cp2k: turned into a MakefilePackage
* cp2k: refactored edit method so that Makefile writing happens last
* icu4c: Add cxxstd variant
For versions supported in Spack, ICU4C defaults to the C++11.
Provide a variant to default to this, plus options for C++14
and 17 if dependees require for ABI compatibility.
* icu4c: cxxstd variant cannot be multi
* Updated Geant4 and dependencies clhep and vecgeom to use cxxstd= variant so that it is applied consistently.
* Make standalone geant4 data packages that are used when data is not installed with geant4. This allows installing the data files are externals that can be common to many compiler version.
* move geant4 data package dependencies to umbrella package geant4-data
Fixes#7855Closes#8070Closes#2645
When searching for library directories (e.g. to add "-L" arguments to
the compiler wrapper) Spack was only trying the "lib/" and "lib64/"
directories for each dependency install prefix; this missed cases
where packages would install libraries to subdirectories and also was
not customizable. This PR makes use of the ".headers" and ".libs"
properties for more-advanced location of header/library directories.
Since packages can override the default behavior of ".headers" and
".libs", it also allows package writers to customize.
The following environment variables which used to be set by Spack
for a package build have been removed:
* Remove SPACK_PREFIX and SPACK_DEPENDENCIES environment variables as
they are no-longer used
* Remove SPACK_INSTALL environment variable: it was not used before
this PR
* Added a package for the MDAnalysis toolkit.
* Updated LBANN, Hydrogen, and Aluminum to not require CUDA-aware MPI
even when using CUDA. Fixed small bugs within both LBANN and Hydrogen
packages. Added requirements for breathe and cereal to LBANN.
* Update use case for doc dependencies.
* Cleaning up some of the LBANN software stack dependencies.
Add variant to support compiling against main C++ standards if needed
for ABI compatibility. Use 'default' value as Xerces-C autoconf system
does not enforce a minimum, or set a default, C++ standard.
* Extend current recipe for root package
* Add removed old version
* Add dependency type for Python and R packages
* Add compiler variants
* Adding new root version: 6.14.00
* Add back the minimum cmake version required
* LZ4 and xxhash support for old (using builtin options) and new versions (external packages)
* Set PYTHONPATH in setup_environment
* Address typos and issues pointed by HadrienG2
* Add newer ROOT versions
* Solve support for asimage
* Define incompatible variants
* Organize old dependencies
* Add support for minuit
* Add support for pythia6
* Remove unneeded list_url
* Update license header
* Remove block of commented old dependencies
* Contrain Qt version
* Comment pythia8 variant/dependency, not supported by spack
* Force not to build pythia8
* Adding a package for cardioid.
* Changing package to pass flake8
* Removing template leftovers per @ax3l 's advice
* Adding a homepage so tests pass.
* Removing whitespace for flake8
* Changing the name of master branch to match spack standards.
Add patch to fix Fortran mangling in CMake test
This is a fix for builds with GCC 6/7/8 and CMake 2/3. It includes
a link to the issue where this is reported. For now, the Spack
package applies the patch to all releases >= 2.0.2
This package depends on both python 3.5+ and node-js which depends on
python 2.7/2.8 to build. Currently it can only be installed if the
node-js package's python dependency is manually removed, so node-js
will build with python found on the system rather than provided by
spack. Upcoming commits may allow spack to reconcile this
automatically.
* xsdk@develop: switch trilinos from @master to @develop
* xsdk@develop: dtk - fix trilinos dependency on dtk.
- dkt-3.0 should be used with trilinos-12.4*
- dtk/master should be used with trilinos@develop
A version >= 0.9.4 required for py-black. Added latest, which is
0.10.0. Manually verified that the .tar.gz for v0.9.3 used to generate
the sha256 matched the previous md5.
Add tribool.patch to add explicit casts from tribool to bool in two
places. Boost, starting with version 1.69, turned on explicit
conversions for tribool, which breaks the build for dyninst.
This is merged into the current dyninst develop and is expected to be
part of the next release, so the version range uses the current
release as an upper bound.
Closes#10168
* Add versions 4.1.0.0 and 4.0.12.0
* Replace md5 checksums with sha256
* Logic to generate a helper script for versions earlier than 4 was
not running. This corrects the branch which controls whether this
script is generated.
* Constrain Java dependency to version 8 (GATK does not work with
Java 11)
* Avoid adding scripts that have dependencies not handled by Spack
such as gcloud and google-chrome. These scripts are good candidates
for later extensions.
Closes#2622
This retrieves and installs the binary of Oracle's OpenJDK (an
open-source JDK implementation). The logic is largely based on the
Spack JDK package (Oracle's closed-source JDK implementation).
For now this is only supports Linux. If the download could be
customized based on OS (for the same version), binaries are also
available for MacOS and Windows.
Build system was changed to use a Makefile. Therefore older versions
(which don't support this) are removed. The new build system also
supports testing by default.
Fixes#7372
Added patch method which renames config.h in the fftw subdir of the
source tree. fftw 2.1.5 appears to ship with a copy of this file
with all defines commented out. This gets read by the #include
directives instead of the version in the build directory with the
correct defines. As a result, many C preprocessor macros left
undefined, including F77_FUNC_ which causes the bulk of fttwf77.c
to be skipped due to an #ifdef, so fftw_reverse_int_array et al
not included in library. Fixes#7372
Also fixed some inconsistencies with the handling of quad and
long_double in specs between the configure method and the build,
check, and install methods.
The Mercury package previously depended on libfabric@develop on
Cray platforms in order to pick up a fix for the GNI provider that
was only available in git. This is no longer needed now that the
libfabric package is at 1.7.0.
Add new versions for py-keras. Versions of py-keras at or after
2.2.0 require keras-processing and keras-applications packages.
Add these packages to Spack and add dependencies to the py-keras
package.
* Add version 11.2.68
* Add variant to disable AVX2 for older hardware
* Change the makefile so libraries and includes are not placed
under $PREFIX/usr
* Updated URL and homepage
Added versions 1.0.0-rc1, 0.6.1, 0.6.0, 0.5.1
hwloc dependency was removed after 0.5.1, so the related configure
option is not specified after 0.5.1
Require py-matplotlib dependency version 2.2.3 (version was not
specified before)
Fixes#8343#4154#7370Closes#4155
All but one of the backports packages were using "pkgutil-style"
namespacing, but configparser was using "pkg_resource-style".
A namespace needs to be one style or another. This adds a new
configparser version which switches to using the pkgutil-style
namespace approach.
With this update, one can now install flake8 with Spack and use
it by loading modules.
The PREFIX variable in the makefiles is directly used to construct the
install name on the library metadata on darwin. If not passed, the
default /usr/local is used and the resulting librhash.dylib contains
usage informaiton of /usr/local/lib/librhash.0.dylib. This adds the
PREFIX= variable directly to the make command so the resulting usage
metadata contains the correct valid library path.
* flux-core: add v0.11.0 and updated dependencies
libuuid hasn't been a direct dependency of flux-core since 2015 (well
before any of the versions listed in the package).
The yaml-cpp dependency moved to flux-sched when we moved the jobpsec
library from core to sched.
Some python3 incompatibilities were found in 0.11.0, so bump the python3
support back a version.
* flux-sched: add v0.7.0 and make boost dependency more precise
* llvm: Bump version to 7.0.1
* llvm: Added perl-data-dumper build dependency for openmp
* llvm: Enable exception handling and RTTI
Useful to have turned on in general with RTTI but also necessary
to workaround some lldb stability issues with some versions of
libstdc++.
* Update the PMIx package
- Add latest releases to the list.
- Add dependency on hwloc for versions >= 3.0
- Flag preferred versions for libevent and hwloc
- Improve the description
- Point the project URL to the correct site
Signed-off-by: Ralph Castain <rhc@pmix.org>
* Only install the hwloc dependency for versions >= 3.0.0
Thanks to @ax3l for the suggestion
Signed-off-by: Ralph Castain <rhc@pmix.org>
* Add myself as a listed maintainer
Signed-off-by: Ralph Castain <rhc@pmix.org>
* Add warnings for existing conflicts. New versions of QMCPACK require a compiler with C++14 support.
* QMCPACK now requires a newer release of CMake.
* Switch QMCPACK to using FFTW-api provider.
* Relax dependencies on QMCPACK +da variant.
* Add QMCPACK 3.6.0 release.
* QMCPACK compiler-CUDA conflicts.
* QMCPACK fix typo in expressing conflict.
* Conditional needed since these variables are only used when FFTW is a dependency to QMCPACK.
* QMCPACK QE variant dependency was underspecified. Must include MPI as a hard dependency on QE.
* Update QMCPACK dependencies for HDF5, CMake and Boost.
* QMCPACK clean-up, more consistent use of spec vs. self.spec.
* Add support for collective I/O variant of QMCPACK.
* Update QMCPACK conflicts for QE and PHDF5 variants.
* Use built-in install method for QMCPACK starting with 3.6.0
* QMCPACK compiler C++14 conflicts were off by one version.
* QMCPACK package needs to setup_environment method.
* In support of PR#10252, get rid of slashes in string.
* Migrate these to the CUDA package and make a seperate PR.
* In support of PR#10252, get rid of join_path for nexus.
* In support of PR#10252, work around concretizer limitation.
* In support of PR#10252, convert to conditionals to if-else clauses for compactness.
* In support of PR#10252, get rid of extra space and new line in warning messages.
* Updated MPI and TAU versions in the TAU package
* Updated PDT versions
* Added support for Python (+python), default to `False`
* Cleaned up binutils, python, mpi usage.
* Updated binutils install to add additional header files to the include/extra directory.
* Resolving review problems with TAU and binutils packages.
The binutils package was updated to include support for installing
the ELF headers as a +headers variant. The TAU package was updated
to use all known Spack dependencies.
* r-gamlss-data: new package at 5.1-0
* r-gamlss-dist: new package at 5.1-1
* r-gamlss: new package at 5.1-2
* r-gamlss: add mass, survival, nlme imports
Fixes#10361Fixes#6634
When mkl isnt in the spec, still write an explicit mkl entry to
prevent numpy from looking in system dirs and using a system install
of mkl. Do the same for openblas and atlas (although mkl was the only
system install reported to interfere with Spack's choice).
* Updating nalu-wind, nalu, openfast, and tioga packages. Includes
improved handling of +shared variant.
* Add fftw and catalyst support to nalu-wind.
* Restrict ParaView to use matplotlib versions before 3 (which
require Python 3)
* py-modred: New package
Parallelized python module for finding modal decompositions and
reduced order models.
* fix license
I think?
* Add dependency on py-numpy
and remove commented out code
* vigra: new package
* Better constraints and types on some depends_on. Use site_packages_dir variable for Python install dir. Explicit switch-offs where available. Change some local variables to suit style checks.
* Take care of lines too long
* Explicit WITH_HDF5=ON
* docbook processing works correctly for gdk-pixbuf
1. The various bits of documentation in gdk-pixbuf include hardcoded
references to dtd's and stuff at their canonical, Internet,
locations. BUT, gdk-pixbuf runs xslt-proc with the `--nonet`
option, which forbids it from using the network. Sadness ensues.
Traditionally folks use XML Catalogs to map these to local copies.
Our docbook-xsl package wasn't setting the appropriate env var in
its dependents environments to use our catalog.
Now it does. Less sadness ensues.
2. If we're going to use these things, we should depend on them.
* Add gdk-pixbuf's bin to build environment
The "post-install.sh" script uses gdk-pixbuf-query-loaders, which was
installed earlier.
If py-psyclone can set its own bin on its PATH, so can we...
* Make gdk-pixbuf use recognizable docbook location
Our docbook-xsl package assumes that the canonical location is
`http://cdn.docbook.org/release/xsl/current/manpages/docbook.xsl`, but
the gdk-pixbuf's meson build script uses
`http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl`.
This means that our XML Catalog doesn't fix the reference and sadness
happens.
Just patch the build that we see what we want to see, then we can make
it all go away.
* Add commentary re docbook patch
* Make catalog helper a property
Thanks @adamjstewart!
* Run tests if/when run_tests is true
Thanks @adamjstewart!
* Tune up dependencies
Thanks @adamjstewart!
* Wordsmit commentary
This adds a lot of fixes and updates for alpine ascent and its dependencies:
* add support for static (via ~shared) and use vtk-m 1.2
* update vtkh package to output cmake configure file and pinning it to vtkm 1.2
* make conduit respect ~python
* fix ascent python logic
* consistant cmake usage
* conditionally add tbb in ascent if vtkh
* enable openmp
* more robust handling of variants
* update ascent and conduit for static builds
* add optional support for mfem in ascent
* enable mfem conduit support for ascent
* add optional adios dep to conduit
* remove ver req from conduit
* ascent: remove confusing comment
* tweaks to conduit and ascent pkg recipes
* fix typo in conduit package
* pref conduit master
* changing mfem to depend on conduit@master to get updated relay
* restore use of conduit 0.3.1 or greater for mfem
* set master as preferred conduit version
* allow mfem to use conduit master
* adding rover package and editing ascent
* updating vtkm cmake dep
* guard ascent python support on +shared
* removing rover to simply ascent package
* add fortran variant to conduit, to allow us to turn off conduit support even when a fortran compiler is specified
* fix fortran compiler check so it can work on cray systems
* working towards cuda fix for vtkm lagrange filter
* update ascent package with more variants, and patch to avoid nvcc issue
* hdf5 flags fix for BGQ
* add post install test
* add testing to ascent
* add testing of the using-with-make example
* add ctest output on error for run_tests
* dealii: fix concretization of xsdk package
* tests: add concretization tests for deal.II and xSDK, which are often broken due to limitations in the concretizer
* use pytest.mark.parametrize