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
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.
Fixes issues #9613 and #3209.
Remove the spack wrapper directories from PATH for the bootstrap step.
This was breaking the build for Cray (and other cross-compile) because
bjam was built for the BE and died on SIGILL on the FE.
This only affects building bjam. The boost libraries are still built
the normal spack way with the spack wrappers.
Add variants 'cray' and 'bgq' to build for Cray and Blue Gene compute
nodes. These systems need separate options to find the MPI compiler
for hpcprof-mpi.
The 4.0.1 release is the culmination of the SUNDIALS 4.0.0 preview releases,
i.e. the 4.0.0-dev versions. As such, the 4.0.0-dev releases are now
being removed.
* Explicitly listing blas and lapack sections in site.cfg for numpy when using netlib-lapack so that scipy can find them as well.
* Reducing code to use a function call instead of copying and pasting.
* Fixing flake8 errors.
* Fixing python 3.6 error when site.cfg lists library_dirs multiple times.
* Formatting.
* Verifying blas and lapack are enabled before writing to site.cfg.
* Fixing flake8 errors.
* Fixing conflicts since this package file has been updated.
* Fixing flake8 stuff.
* Handling blas and lapack variants for netlib-lapack in site.cfg for py-numpy.
* Don't write netlib-lapack site.cfg file if no blas or lapack variants enabled in py-numpy.
* Removing redundant if statement.
* Fixing mistake in py-numpy site.cfg generation.
* Separating blas and lapack further in site.cfg for netlib-lapack in py-numpy.
Allow customizing views with Spec-formatted directory structure
Allow views to specify projections that are more complicated than
merging every package into a single shared prefix. This will allow
sites to configure a view for the way they want to present packages
to their users; for example this can be used to create a prefix for
each package but omit the DAG hash from the path.
This includes a new YAML format file for specifying the simplified
prefix for a spec in a view. This configuration allows the use of
different prefix formats for different specs (i.e. specs depending
on MPI can include the MPI implementation in the prefix).
Documentation on usage of the view projection configuration is
included.
Depending on the projection configuration, paths are not guaranteed
to be unique and it may not be possible to add multiple installs of
a package to a view.
* elfutils: option to install elf.h header file
Add variant 'elfh' (default False) to install the elf.h header file to
the include directory. This provides access to a newer version of
elf.h and allows an elf application to build with the same elf.h that
libelf.so was built with.
Add version 0.175.
* Drop the variant 'elfh' and always install elf.h instead.
* new package: git-fat
* backport of rsync -> older versions no longer available
Change-Id: I3a41f17df0f88ca11e08ea6fd2f2d381435e0f09
* fix legal stuff and use new git attribute
Change-Id: Ice156dfe8ad4137a861f7b2938ee92f4024142be
* use date as version number rather than hash
Change-Id: Ib537659e368f69124895306d6a6ac0c5e36061a7
* only use the date once
Change-Id: I2592fa28aaa53fed949ddc82959d712ff3f6f752
* Initial compiler support
* added arm.py
* Changed licence to Arm suggested header
* Changed licence to the same as clang.py
Main author of file is Nick Forrington <Nick.Forrington@arm.com>
Minor changes by Srinath Vadlamani <srinath.vadlamani@arm.com>
* compilers: add arm compiler detection to Spack
- added arm.py with support for detecting `armclang` and `armflang`
Co-authored-by: Srinath Vadlamani <srinath.vadlamani@arm.com>
* Changed to using get get_compiler_version
* linking to general cc for arm compiler
* For arm compiler add CFLAGS to use compiler-rt rtlib.
* Escape for special characters in rexep
* Cleaned up for Flake8 to pass.
* libcompiler-rt should be part of the LDFLAGS not CFLAGS
* fixed m4 when using clang to used LDFLAGS. Fixed comments for arm.py to display compiler --version output with # NOAQ for flakes pass.
* added arm compilers
* proper linked names
* add the tfel package
* fix the tfel package
* fix the tfel package
* fix the tfel package
* Taking Adam J. Steward' remarks into account
* fixes trailing white spaces
* Update description
* Update dependencies following @adamjstewart adices
* Style fixes
* Style fixes
* Add java optional support
* add the maintainers attribute (following @alalazo advice), disable interface not selected (following @adamjstewart advice)
* flake8 fixes
* Fix Cast3M and python-bindings support. Python detection is made compatible with cmake'FindPythonLibs module (at least how it is used in TFEL)
* Style fixes
* Style fixes
* Fix test on python version
* Follow @adamjstewart advices: code is much cleaner and readable
* Small fix
* Small fix
* Add comment
* Small fix in cmake option
* try again (trying to overcome Travis CI unstable build process)
* Add support for the MFrontGenericInterfaceSupport project (MGIS)
* Style fixes
* Package documentation update
* Package documentation update
* Fix a typo thanks to Andreas Baumbach review
* Follow Adam J. Stewart advices
* Fix type
* bowtie: new versions and %gcc@8.0.0: fix
Bowtie development shifted from Sourceforge to GitHub.
This commit adds several versions from GitHub, using the archive
tarballs. Note that the URL for 1.2.2 tarball is actually an '_p1'
tag....
It leaves the old 1.2 release download info in place.
Versions 1.2.0 and newer come from GitHub (I'm unsure if the 1.2 and
1.2.0 are equivalent).
Include a fix that enables %gcc@8.0.0: from:
https://github.com/BenLangmead/bowtie/issues/87
But, v1.2.2 has trouble with "newer" gcc's, so it only adds v1.2.2 for
%gcc@6.0.0:.
Feel free to tighten this. I know that:
- 1.2 -> 1.2.2 work with %gcc@5.5.0;
- 1.2 -> 1.2.1.1 work with %gcc@8.2.0; and
- 1.2.2 fails with %gcc@8.2.0
* Tighten to `conflicts('%gcc@8:', when='@1.2.2')`
* Point 1.2.2 and 1.2.2_p1 at the 1.2.2_p1 tarball
* Update package.py
Doxygen has migrated from a private SVN to GitHub. This PR updates the URLs and adds versioned commit hashes from GitHub. It also includes version 1.8.15 as the latest option.
* Update package.py
This enforces conventions that allow for correct handling of
multi-valued variants where specifying no value is an option,
and adds convenience functionality for specifying multi-valued
variants with conflicting sets of values. This also adds a notion
of "feature values" for variants, which are those that are understood
by the build system (e.g. those that would appear as configure
options). In more detail:
* Add documentation on variants to the packaging guide
* Forbid usage of '' or None as a possible variant value, in
particular as a default. To indicate choosing no value, the user
must explicitly define an option like 'none'. Without this,
multi-valued variants with default set to None were not parsable
from the command line (Fixes#6314)
* Add "disjoint_sets" function to support the declaration of
multi-valued variants with conflicting sets of options. For example
a variant "foo" with possible values "a", "b", and "c" where "c"
is exclusive of the other values ("foo=a,b" and "foo=c" are
valid but "foo=a,c" is not).
* Add "any_combination_of" function to support the declaration of
multi-valued variants where it is valid to choose none of the
values. This automatically defines "none" as an option (exclusive
with all other choices); this value does not appear when iterating
over the variant's values, for example in "with_or_without" (which
constructs autotools option strings from variant values).
* The "disjoint_sets" and "any_combination_of" methods return an
object which tracks the possible values. It is also possible to
indicate that some of these values do not correspond to options
understood by the package's build system, such that methods like
"with_or_without" will not define options for those values (this
occurs automatically for "none")
* Add documentation for usage of new functions for specifying
multi-valued variants
* PARALLEL-NETCDF: Update new version and location
PnetCDF-1.11.0 is released.
Also, the canonical download area has been changed and they are now using git, so can also provide a develop and master checkout.
One issue is that they changed the name of the tar files, so 1.11.0 needs special handling (and future versions will also).
All checksums at new location match the checksums from the old location.
* Address concerns in review
Added a `url_for_version` function to handle the name change in the tar files at version 1.11.0 and later. Updated description to match current shown on website. Updated `homepage` setting since it has recently moved.
* Address issues in second review
- in many files, regular strings were used in places where raw strings
should've been used.
- convert these to raw strings and get rid of new flake8 errors
* express: new version, use tags and fix gcc@6.0.0:
Express fails to build with gcc@6.0.0:.
The debian project [has a
fix](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811859) but
they don't seem to have pushed it upstream.
I've opened an issue and a PR in eXpress repo, but eXpress isn't
actively developed, so I'm fixing it here too.
Since the Spack package was created, the eXpress team tagged their
releases. I've updated the package to use the tags.
Version 1.5.1 used to be known as 2015-11-29 (same commit). 1.5.2 is
new(er).
* Make flake8 happ{y,ier}
Apply fix from aspell issue (519) for a pointer dereference bug that
newer versions of gcc won't let slip past.
There hasn't been a release that includes the fix, this applies the
change to the latest release.
There's a missing break in a switch statement that newer gcc's
dislike.
Our #4696 simply disallowed newer gcc's.
This fixes the problem instead.
It's been [PR'ed upstream](https://github.com/agordon/fastx_toolkit/pull/22).
Tested with gcc@5.5.0 and gcc@8.2.0 on CentOS.
The most recent release of bamutil that we support uses an embedded
copy of libStatGen that has several issues that keep it from building
with newer releases of gcc.
They've all been fixed upstream and the latest release of bamutil
would pick them up if/when we support it. The build process has
changed though, plus my team needs *this* version.
This commit backports those fixes.
- cleanup patch.py:
- make patch.py constructors more understandable
- loosen coupling of patch.py with package
- in Package: make package_dir, module, and namespace class properties
- These were previously instance properties and couldn't be called from
directives, e.g. in patch.create()
- make them class properties so that they can be used in class definition
- also add some instance properties to delegate to class properties so
that prior usage on Package objects still works
* Always build glib with iconv
My early PR, #10165, which added a variant to configure glib to use
libiconv and defaulted to false, seems to be causing more trouble than
the knob is worth.
This changes the glib package to always depend on and use libiconv.
* libiconv depends_on is no longer conditional
* First draft for installing Stata 15
I've tested this works on my systems and gives a successful install of STATA 15.
* Flake8 cleanup
* Another Flake8
* Update license header
* Various improvements
A lot of improvements as suggested by @adamjstewart
* flake8 check
* paraview: adding variants to use external packages as internal do not compile
* paraview: add latest paraview version
* catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5
* catalyst: add latest catalyst version
* catalyst: added ParaView_DIR env variable to catalyst module
* add paraview, catalyst patches
- https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2433
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2436
* - Handle updated library paths for catalyst.
Versions 5.4 and old places libraries under a paraview subdirectory.
Eg, "lib/paraview-5.4", they are now placed directly under "lib"
- Minor code style cleanup
* Handle update library and python paths for ParaView-5.5
* catalyst: added ParaView_DIR path to spack_env
* BUG: applied the patch to the extracted catalyst source files
* paraview: added missing self to a member variable
* paraview: added Paraview_DIR to env
* catalyst: added osmesa variant
* of-catalyst: added new package
* add (FOAM,WM)_PROJECT_DIR also to spack_env environment
* depends on first openfoam release supporting catalyst
* openfoam-com: added missing env variables to module generation
* openfoam: fixed flake8 errors
* of-catalyst: added full variant and openfoam version dependency
* paraview: adding variants to use external packages as internal do not compile
* catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5
* catalyst: added ParaView_DIR env variable to catalyst module
* add paraview, catalyst patches
- https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2433
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2436
* - Handle updated library paths for catalyst.
Versions 5.4 and old places libraries under a paraview subdirectory.
Eg, "lib/paraview-5.4", they are now placed directly under "lib"
- Minor code style cleanup
* Handle update library and python paths for ParaView-5.5
* catalyst: added ParaView_DIR path to spack_env
* BUG: applied the patch to the extracted catalyst source files
* of-catalyst: added new package
* add (FOAM,WM)_PROJECT_DIR also to spack_env environment
* depends on first openfoam release supporting catalyst
* paraview: added missing self to a member variable
* openfoam-com: added missing env variables to module generation
* openfoam: fixed flake8 errors
* paraview: added Paraview_DIR to env
* catalyst: added osmesa variant
* of-catalyst: added full variant and openfoam version dependency
* paraview-catalyst: use always external expat and netcdf
* of-catalyst: reformatted package description
* paraview-catalyst: removed duplicated function
* catalyst: fixed flake8 error
* of-catalyst: fixed license header
* of-catalyst: minor changes
* of-catalyst: renamed gitrepo with git
* of-catalyst: removed useless gitrepo parameter
* Added a package for the MDAnalysis toolkit.
* Added python packages for breathe and m2r. Updated versions and URL
for the sphinx package.
* Fixed flake8 error
* Updated package requirements based on feedback.
* Updated with requirements from the setup.py
* Switched it back to pypi.
* py-pynio: new package
* Major re-working to add some of the optional dependencies, and make it conform to the approach described in the pynio setup.py comments. Much of it turned out to be too complicated, and I have added some notes in comments to explain this to future adventurers.
* Added variants for the hdf5 and gdal dependencies, which do seem to be genuinely optional. Also added absolute dependencies for jpeg and zlib, which setup.py says it wants, but were being found as the os-installed versions.
* Added descriptions for the new variants, and moved them to above the dependencies
Enable explicitly building glib with or without libiconv.
Heads up: if you build with ~iconv but there is something else in the
spec that includes libiconv then glib will *still* automagically
discover it and the build will fail.
* add the tfel package
* fix the tfel package
* fix the tfel package
* fix the tfel package
* Taking Adam J. Steward' remarks into account
* fixes trailing white spaces
* Update description
* Update dependencies following @adamjstewart adices
* Style fixes
* Style fixes
* Add java optional support
* add the maintainers attribute (following @alalazo advice), disable interface not selected (following @adamjstewart advice)
* flake8 fixes
* Fix Cast3M and python-bindings support. Python detection is made compatible with cmake'FindPythonLibs module (at least how it is used in TFEL)
* Style fixes
* Style fixes
* Fix test on python version
* Follow @adamjstewart advices: code is much cleaner and readable
* Small fix
* Small fix
* Add comment
* Small fix in cmake option
* try again (trying to overcome Travis CI unstable build process)
* CGNS: Allow use of git branch versions
Add ability to use git `master` and `develop` branches of the CGNS library. The `seacas` package sometimes needs to use the `master` or `develop` branch due to some new changes to the parallel I/O implementation in CGNS which has not yet been released.
* CGNS: Reorder to put newest version on top
Based on review comments, place newest version (develop) first in list.
* dyninst: patch to build dyninst with older gcc
Add 'v9.3.2-auto.patch'. This patch changes some 'auto t: type' usage
to the older but equivalent 'type.begin()'. This allows building
dyninst 9.3.2 with gcc 4.4 which doesn't support the newer syntax.
This patch is harmless with newer gcc.
* Fix typo in patch. (My bad for sloppy cut-and-paste.)
* Restrict the patch to gcc 4.7 and earlier. gcc 4.8 supports the newer
usage and thus doesn't need the patch.
* proper include & linking of libarchive
* due to linux headers, mfu can't build on mac
* hard code deps in configure line
rather than relying on pkg-config
* +xattr during config
* must also link the lib
* find mfu.h
* long lines
* Add thread count variant
Atlas automatically configures itself and optimizes to run with a fixed number of threads. This can be overridden during compile by setting a flag and atlas will tune itself to use the specified number, rather than all system CPUs.
Default value is the existing logic, autoconfigure.
* Fix Linting
* Another lint for longline
* Added rocksdb package
* Fixes based on @tristan0x and @pramodk comments
* Cleanup
* A couple minor fixes based on @adamjstewart 's advice
* Fixed flake8 errors
- previous removal of FOAM_EXT_LIBBIN (ThirdParty) from the environment
during the build could lead to the system scotch library being found
instead of the spack installation.
Avoid this largely cosmetic change to the setting in favour of
improved build robustness. These modifications will be largely
superfluous in the 1812 release anyhow.
- Split the patching algorithm into 'regular' and '@:1806' since the
next versions of openfoam will again need fewer patches.
- Add hook into foamCreateManpage to be used where available
* SEACAS: Add preliminary support for seacas package
* Eliminate leftover from package I copied from.
* And remove another stray line
Sorry, thought I had checked this better...
* SEACAS: Shorten long lines; fixup indentation
* SEACAS: Remove unused os import
* Add PLASMA version 18.11.0 and Lua variant (#9689)
* Add PLASMA 18.11.1 with optional Lua and test for headers
* New versions for a few python modules (#9969)
* 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
* SEACAS: Default to mpi on
* SEACAS: Modify to reduce variants
Instead of using an `allpkgs` or explicitly specifying each individual subset,
changed to minimize variants:
* By default, the exodus and IOSS libraries are built and a few
executables directly related to the IOSS library.
* variant `common` defaults to True and builds the "common" seacas
applications. This is based on my definition, so there may be
could be some discussion on what belongs here.
* variant `legacy` defaults to True and builds the remainder of the
seacas applications. These are still used, but mainly in more
esoteric areas. Might be better to default to False, but I wanted
default to just build everything which is what other SEACAS builds
always do...
Removed the `kokkos` variants for now as I need to do some more
thinking on how best to support this. Not often used currently,
so shouldn't be an issue.
Cleaned up other issues raised by Adam and found by me.
* SEACAS: Address flake8 issues
* SEACAS: Clean up variant package logic
Fixed package variant logic.
Consolidated some other variant handling logic
Other minor refactors for hopefully better readability
* SEACAS: Fix flake8 error
Missing whitespace around operator fixed.
* GDL: python integration fixes
* renamed python-related variants to follow the convention
* building the Python module requires patches currently targetting 0.9.8 othwerwise asking for the Python module *only* builds the Pyhton module
* building the python module also requires patching the vendored (with the GDL) antlr to be built as a shared library
* Typo
Co-Authored-By: rmsds <ricardo.d.silva@gmail.com>
* Rename embed-python variant to embed_python
* zoltan: only add gussed MPI libs if no MPI wrappers are used
- if MPI-wrappers are used for compilation, we can assume that
linking works without manually specifying MPI libs
(guessing may result in wrong libs, cf. #8979)
- thus, only guess the NPI libs and add them explicitly if no
MPI-wrappers are used
- use llnl.util.filesystem.find_libraries instead of a locally
defined routine to guess the MPI libs if needed
(cf. #8979)
* zoltan: rely on MPI-wrappers to know the required MPI libs
The sys_ustat.h.patch to file sanitizer_platform_limits_posix.cc from
PR #10046 does not apply cleanly to gcc 4.8 or 4.9 (or earlier).
GCC up to 4.8.x either don't have libsanitizer or else don't include
ustat.h in sanitizer_platform_limits_posix.cc.
GCC 4.9.x includes ustat.h, but needs a slightly different patch.
The patch applies to GCC 5.x up to 6.4, and 7.x up to 7.3 and also
8.1.0.
The patch is already included in the tar files for gcc 6.5.0, 7.4.0
and 8.2.0.
* flux-sched: fix compilation errors
configure was being run twice becuase the staging symlinks were
confusing autotools
mirror flux-core in building in a subdirectory to avoid other common
compilation problems, like the one in PR #3543
* flux-core: update dependencies
munge is no longer a dependency
provide hints for lua version so that `spack install flux-core` works
"out-of-the-box". Currently, when no explicity version is provided, the
concretizer attempts to use lua@5.3, which is invalid. Closes#10000
* Added a package for the MDAnalysis toolkit.
* Added Ninja as the generator for LBANN, Hydrogen, and Aluminum. Also
fixed a bug in how the Conduit variant is included in LBANN. Added
new versions for Hydrogen and LBANN.
* Updated lbann package so that the CMAKE parameters are set when the
variant is on and off.
Fix the install of the single header amalgate in catch2.
The public API for catch < 2.3.0 was "#include <catch.hpp>".
For 2.3.0+ it is "#include <catch2/catch.hpp>"
* Spades: Add version 3.13.0
In version 3.13.0 the CmakeLists.txt dir is at a different location than
in other versions. Versions up to 3.12.0 are located in "src" whereas
3.13.0 is a level deeper at "assemblers/src".
* Remove git and add new version hash
* Add mising QE releases.
* Update QE dependencies and conflicts.
* QE 6.3 install method requires a patch to work properly.
* include QE git develop branch
* QE HDF5 needs Fortran support. HDF5 versions prior to 1.8.16 leads to QE runtime errors.
* Number of MKL related conflicts for QE.
* Flake8 fixes for QE for hdf5 lines.
* Pass in all compilers properly to QE configure
* Fixed external BLAS/LAPACK linkage in QE.
* Library search was problematic in QE.
* Add section headings to QE package.
* External FFTW compatible libraries properly detected in QE.
* Flake8 fixes for QE
* QE configure defaults to False for ELPA, thus Spack package should as well.
* QE depends on FFTW3 provider instead of FFTW explictly.
* Primary QE repo is gitlab.com, not github.com. Github mirror lags behind gitlab site.
* Support both 6.3-backports branch and develop branch in QE.
* QE patch needed for proper MKL detection. MKL_ROOT is detected and preferred, still falls back to finding first MKL installation in /opt/intel.
* Use FFTW-API provider versioned interface for specify QE FFT dependency.
* QE FFTW conflicts no longer need thanks to FFTW-API provider versioned interface.
* Flake8 3.6.0 fix in support of https://github.com/spack/spack/pull/9853
* Fix QE conflict with ilp64 variant in support of https://github.com/spack/spack/pull/9853
* Remove custom url_for_version for QE package and use builtin url instead. In support of https://github.com/spack/spack/pull/9853
* Use FFTW builtin flags for QE instead of custom Python code. In support of https://github.com/spack/spack/pull/9853
* Fix typo in QE package comments. In support of https://github.com/spack/spack/pull/9853
* Future proof QE package patches in anticipation of QE >= 6.3.1. In support of https://github.com/spack/spack/pull/9853
* Adding version 2.0.12 of numactl.
* Adding new versions of hwloc.
* Adding NVML variant to hwloc.
* Adding gl variant to hwloc.
* Updating hwloc numactl dependency and gl dependency.
* Using gl virtual package in hwloc.
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.