The following improvements are made to cxx standard support
(e.g. compiler.cxxNN_flag functions) in compilers:
* Add cxx98_flag property
* Add support for throwing an exception when a flag is not supported (previously
if a flag was not supported the application was terminated with tty.die)
* The name of the flag associated with e.g. c++14 standard support changes for
different compiler versions (e.g. c++1y vs c++14). This makes a few corrections
on what flag to return for which version.
* Added tests to confirm that versions report expected flags for various c++
standards (or raise an exception for versions that don't provide a given cxx
standard)
Note that if a given cxx standard is the default, the associated flag property will
return ""; cxx98 is assumed to be the default standard so this is the behavior for
the associated property in the base compiler class.
Package changes:
* Improvements to the boost spec to take advantage of the improved standard
flag facility.
* Update the clingo spec to catch the new exception rather than look for an
empty flag to indicate non-support (which is not part of the compiler flag API)
The tcl package references the original sources upon install, and the tk build
requires the tcl sources. This updates the tcl package to install its sources following
the example of #4102, and also updates the tclConfig.sh file to properly reference
the installed sources (rather than the staging directory created by Spack).
* Update to 2018.3 and improve version URLs, dependencies and patching.
Improve to version -> URL translation to be algorithmic rather than manual.
Make binutils build dependency explicit where appropriate because we're sensitive to the assembler used.
Build's use of '-mrtm' is only patched away if it needs to be because the assembler is too old.
Incorporate @adamjstewart request to convert GCC version check to a conflict.
* Allow specification of C++ standard.
* Improve TBB patch per PR comments.
* Restrict RTM patch application to older OS only.
* New version 2018_U4.
* Delete support for old versions of Elemental in Hydrogen
* Fix cmake_args versions in lbann
* Remove unused import (again)
* Revert elemental to pre-llnl fork
* Strip tailing whitespace from libgfortran.so
* Fix flake8
* Remove debug print
* * Add back elemental@develop
* Prohibit installation of hydrogen previous to 0.99
* Fix flake8
* Change cmake_args error to a conflicts for old versions of Hydrogen
* Use ~ not -
* fermisciencetools: new package
* fermisciencetools: new package
* added comments about the error in building the source distribution; fixed flake8 errors
* add sqlitebrowser
Change-Id: I20cac709509e82d348cebc11b0d584b53b2ad3d4
* add message and clean up unnecessary code
Change-Id: Ib9d2229ee25d751274680d06824891ee78fa5970
* and make flake8 happy
Change-Id: I814eb89eefe1767af4d8043b08b61991750516df
* make gcc-independence great again
Change-Id: I75f7271757782a6735eb7f03c0551d190722974d
* remove explicit import of dso_suffix
Change-Id: I626c6391b22524895199db5508606c4cf22bf9b5
* add a shared variant for all supported versions
* address comment from @citibeth about MacOS lib installs
* address additional comments from @citibeth about MacOS lib installs
* set +shared variant to be default behavior
* add package py-cartopy
Change-Id: Ifbe541e852921c384a381594a2c1110814556311
* fix comments and flake8
Change-Id: I8d5e994580e8252e00654e68ad79d74e06089939
* remove pip dependency... not sure why added in the first place
Change-Id: Ie2a788887dac30778cc43931a0732980a347514d
* move build, link, run to default dependencies
Change-Id: I1ec0cb7dc4a697c4ca9e68a0cc0d8694cc21c100
Provides a patch for the fix in
https://github.com/ornladios/ADIOS/pull/182
Installed ADIOS MPI-enabled libraries are with that able to also
perform serial I/O without the need to start the whole app via
`mpiexec`.
* trilinos: add more package conflicts
This was done by putting in required lib dependencies from each
package's `cmake/Dependencies.cmake`.
* trilinos: added few more trilinos packages
* trilinos: hiccup fix
* add 1.4.13.4 for SZ
* undo spack link (change llnl/spack to spack/spack) and change .zip to .tar.gz
* revise package.py for SZ 1.4.13.4 based on Adam's comments.
* adding partially completed recipe for phast. will need clapack as dependency
* try to install phast
* seems to still need CLAPCK
* using CLAPACK instead
* phast: updated
* fixed flake8 error
* phast cannot build with clapack built with external blas?
* phast: depend on clapack built without external blas
* fixed flake8 errors
* phast: updated build_directory
* pybind11: test support
Add a test functionality to pybind11.
* CMake: test also on "make check"
Some projects use non-CTest manual targets for tests.
* Fix digest for abyss@1.5.2
The digest value for v1.5.2 appears to have changed. This value works
for me, today.
The existing value v2.0.2 works as is.
* Use "download" URL for ABYSS
Following the suggestion of the project team, switch to using the
release tarballs from the "download" URL instead of the automagically
generated ones at the "archive" URL.
Converstation here: https://github.com/bcgsc/abyss/issues/232
The URL that we were using for pigz only provides the current
version. When the author released v2.4 the package became
uninstallable (unless you have the tarball cached).
It turns out that their are tarballs of the tagged source tree
available on GitHub and they're sufficient to build things (no
additional bits needed).
This commit switches the URL to the GitHub archive URL.
Sadly, this changes the v2.3.4 digest, but that version was no longer
available/install-able anyway, so "net-net we're still in positive
territory".
Installing the current version of Picard fails with:
```
==> Error: Unable to parse extension from https://github.com/broadinstitute/picard/releases/download/2.18.3/picard.jar.
If this URL is for a tarball but does not include the file extension
in the name, you can explicitly declare it with the following syntax:
version('1.2.3', 'hash', extension='tar.gz')
If this URL is for a download like a .jar or .whl that does not need
to be expanded, or an uncompressed installation script, you can tell
Spack not to expand it with the following syntax:
version('1.2.3', 'hash', expand=False)
```
Fix it, but adding `expand=False`, like the other versions.
* fix missing -lrt for Centos6, issue: #7552
* fix missing -lrt for Centos6, issue: #7552
* fix using make() as opposed to patching
* remove patch, as the fix is provided withing package.py instead
* make flake8 happy
* Update package: add info for emacs@26.1
In addition to the digest, it needs gnutls (perhaps there's a way to
turn it off, but it seems like a Good Thing to encourage, so...).
* Clean up tls variant handling
- Don't to specify the dependency for @26.1:, just need to fix what's
already there.
- Don't assume that configure will DTRT w.r.t. gnutls when it's
discovered in the environmnet, use explicit configure switches.
- Clean up some unnecessary dependencies when +tls. Why would you
need libxpm when building +tls? Will ask the original author about
this.
* Use append when adding configure switches
* Add dependency on pcre
When one builds +X, Spack's pcre is pulled into the build via
the X dependencies. When one builds without it, the build discovers
and links against the system library.
We might as well just depend on it and have a consistent outcome.
The recipe previously did not include -DWITH_JASPER
Other edits:
* BUILD_IPP_IW is BUILD instead of WITH; it was in a different section of the CMakeLists.txt. Move it to the top
* Several options were missing :BOOL, add them
* -DWITH_ZLIB doesn't actually exist as an option, at least in the latest version.
* Added new package Camellia.
* Fixed an issue with a missing blank line.
Added a couple more Trilinos packages (things I expect to depend on eventually).
* Fixed a couple issues raised by @adamjstewart.
* Specified 4.9.2 as the supported MOAB version.
5.0.0 causes build issues on Macs during the link of Camellia's drivers. The issue is that we end up with -framework -lAccelerate in the link line, where it should read -framework Accelerate, I believe. I'm not sure where this comes from, but 4.9.2 does not have this issue.
* Trimmed slightly the Trilinos requirements.
Also deleted a blank line that had spaces in it because the Travis-CI thing didn't like that.
* Reduced length of MOAB description (Travis-CI complained).
* Reduced the MOAB line further; didn't quite get there last time!
This is to satisfy Travis-CI's requirement that the description be less than 80 characters long (E501).
* Put in my GitHub handle, in place of an allusion to my email address.
Also added a new argument for Camellia build, and made the MOAB description longer (thanks to @adamjstewart's note that long lines are allowed so long as they are not split).
* Added MPI dependency.
Added explicit OFF for MOAB enablement when ~moab.
Swapped order of variant and version.
* Add Tophat v2.1.2, fixes automake issues
The Tophat team merged the patch from
https://github.com/spack/spack/pull/8244 and release v2.1.2
This change requires the old automake if you're building the older
release and is relaxed about the automake it requires if you're
building the v2.1.2 release.
Building v2.1.1 and v2.1.2 works on a CentOS 7 system, I don't have
the necessary bit to actually test the resulting binaries.
Here's the commit note from the change that was ultimately merged
upstream.
Fixes#8025
> Tophat was failing to build with automake@1.16.1, it worked with the
> older automake@1.15.1. This commit adds a patch to Tophat's
> src/Makefile.am which cleans up a few things. The result builds
> successfully with both automake@1.15.1 and automake@1.16.1. I have no
> way to check that the resulting builds Do The Right Thing.
>
> It changes two things:
>
> the original Makefile.am had a rule for $(SAMPROG) with no
> actions, and since there was a directory there with a tempting name
> the newer automake was trying to do something with it, but lacked
> the appropriate clues. Since that target is actually made as a side
> effect of making the library (sigh...), it seems to work to just
> give that rule something harmless to do (the Peter Principle
> triumphs again...).
>
> a bunch of the targets need a libtophat.a and libgc.a; the older
> automake was probably able to guess what to do given the list of
> sources but the newer automake apparently won't make the necessary
> assumptions. This patch wires up a simple rule and cleans up the
> appropriate dependencies so that things work.
>
> While it may appear that I'm someone who understands automake, keep in
> mind that I only play such a person on a TV reality show. YMMV.
* Remove extraneous when constraint
* kokkos: update kokkos spackage to add current host/gpu architectures.
* kokkos: simplify host/gpu architecture selection and make intent of arg population logic more clear.
* kokkos: mollify flake8.
* Make strings and logic more pythonic. Add error for GPU arch without CUDA.
* kokkos: simplify conflicts behaviour. make args population more pythonic.
* kokkos: move gpu values to list for use in variant and conflicts checking.
* kokkos: How fortunate the man with None.
* kokkos: fix gpu_arch conflict loop error. add conflict to guard against +cuda and 2.5.00:develop versions, until kokkos issue #1296 is resolved.
* kokkos: mollify flake8.
* kokkos: add descriptive message to version conflict with +cuda.
* update globalarrays package to current releases
* rename class to Globalarrays to match package folder
* rename bytes to int64, minor cleanup of descriptions
* int64 False by default
* remove reference to external as we aren't supplying paths, and use args.append()
* correcting args.append syntax
* add conflicts
* Fix bug; don't know why this ever worked in the first place.
* Add fix to netcdf-fortran too; flake8
* Simplify configure_args()
* netcdf-fortran: simplify that too
* Use libs[0] and headers.directories[0] instead of hardcoded paths in opencv dependencies
* Fix library finding in libjpeg-turbo
* Use build_type=Debug instead of +debug to determine build_type
Spack doesn't have a CSharp package, so the only time ANTLR would
succeed is if a system-installed CSharp was available. This disables
CSharp support, which enables building on systems without
system-installed CSharp.
* PR #4945 did not make this work on SuSE 11. Adding the latest version of libexpat did. Also update for Expat's move to GitHub.
* Update package.py
* Update package.py
Move to url_for_version()
* Changed netlib-lapack to fix an error in their CMake setup. Changed
netlib-lapack spackage file to add Fortran flags correctly for XL
compiler.
* Fixed line length -- forgot abt flake8...
* Fix the package version where the ibm patch applies.
- simplify the singleton pattern across the codebase
- reduce lines of code needed for crufty initialization
- reduce functions that need to mess with a global
- Singletons whose semantics changed:
- spack.store.store() -> spack.store
- spack.repo.path() -> spack.repo.path
- spack.config.config() -> spack.config.config
- spack.caches.fetch_cache() -> spack.caches.fetch_cache
- spack.caches.misc_cache() -> spack.caches.misc_cache
- spack.store was previously initialized at the spack.store module level,
but this means the store has to be initialized on every spack call.
- this moves the state in spack.store to a singleton so that the store is
only initialized when needed.
Fixes#8152
Flex 2.6.4 doesn't build with gcc@7:. This sets Flex 2.6.3 as the
preferred version. The flex package had a conflict directive for
this but originally the recorded conflict was specific to ubuntu;
this appears to be an issue on multiple operating systems so this
also updates the conflict to be more general and adds a comment
which links to the relevant issues.
Fixes#7946
Creates an openspeedshop-utils package that does not depend on qt3
and can be used to resolve the needs of cbtf-argonavis-gui.
Changes for creating a release versus develop build are also
included. There are package versions which are no longer relevant
(e.g. 1.3.0 for cbtf-argonavis-gui has been replaced with 1.3.0.0)
but these versions need to be kept to allow uninstalling them;
issue #8173 has been created to investigate this.
- After spack install, these test cases are built in a seperate step, outside of spack, but they need to patched after staging so users don't have to do it in a seperate step.
- The test cases are installed under `<petsc install directory>/share/petsc/examples` and can be built and executed by invoking `gmake -f gmakefile.test` in that directory.
* Added Shim to Support hdf5+mpi in Spack Silo
Added compatibility for hdf5+mpi to silo spackage to support spackages
with dependency chains that include silo and hf5+mpi
* Fixed fixable flake8 issue with silo spackage
Fixed missing whitespace around operator
* Setting MPI Variant to Default to True
As per guidance changing variant to default to MPI builds
* Create custom PATH that texlive requires in its module.
* Updating texlive to 2018 distribution.
* Using platform instead of sys for easier portability across linux and osx.
* Add package for "bumpversion"
bumpversion is a tool that automagically increments version numbers
for projects. It can update files and do other magic along the way.
* Remove py- package prefix and use pypi.io URL
Renamed the package 'bumpversion'.
Fetch the package from pypi.io.
* Add version info for bumpverion@0.5.3
Fixes#8088#7012 added a @when condition for a @run_before check to constrain
that check to only run on Darwin. @when is intended to be used to
choose one of several different implementations of a given function
and cannot be used to conditionally deactivate a check altogether.
This replaces the external decorator with a check that executes at
the beginning of the function.
* dealii: disable tpetra when +cuda; check for '' in cuda_arch
* trilinos: fix Kokkos CUDA
* Revert "trilinos: fix Kokkos CUDA"
This reverts commit 6aae894bc7d49c9e736c06f65b81b8c219443920.
* update according to @aprokop comments
* minor
* fix flake8
For Spectrum MPI, if -np is omitted, the default behavior is to
assign one process per process slot, where the default process slot
allocation is one per core. On systems with many cores, the number
of processes can exceed the size of the grid specified when the
testcase is run and the test case fails. This specifies a small
number of processes when running the test case to prevent failure.
* llvm+lldb plaform=darwin: check for lldb_codesign
Building LLVM with LLDB requires that the "lldb_codesign" code
certificate be created (see
https://llvm.org/svn/llvm-project/lldb/trunk/docs/code-signing.txt for
details). This commit checks for this certificate on Darwin if LLDB is
to be built, and returns an informative error message if this
certificate is unavailable.
Add variants to control building of many 3rd-party modules in opencv.
They are enabled by default, which matches the defaults chosen by
opencv when these options are not set explicitly. This also updates
the lbann opencv dependency to disable most of these new variants by
default in order to build faster.
Fixes#2781
This PR introduces a new attribute for packages called
`archive_files`, which designates files that should be saved from
a package build (e.g. the config.log generated during autotools
builds).
The attribute contains a list of glob expressions; Any file that
matches will be archived in the `<prefix>/.spack/archived-files`
directory. Errors that occur when archiving files are collected and
reported in a file named `<prefix>/.spack/archived-files/errors.txt`.
`AutotoolsPackage` and `CMakePackage` provide a sensible default
override for this attribute.
- Adds v1.3.0 and v1.4.0
- List explicit CMake version dependency (from Benchmark CMake files)
- Disable the building of tests. Starting in v1.4.0 this introduced a dependency on GoogleTest
Tested by building all versions on macOS High Sierra
* New Package: svn2git
https://github.com/nirvdrum/svn2git
svn2git is a tiny utility for migrating projects from Subversion to Git while
keeping the trunk, branches and tags where they should be. It uses git-svn to
clone an svn repository and does some clean-up to make sure branches and tags
are imported in a meaningful way, and that the code checked into master ends up
being what's currently in your svn trunk rather than whichever svn branch your
last commit was in.
* Actually requires +perl variant of subversion.
* fix style issue.
* Added magma package
* Incorporated Serban's change
* Remove deleted files
* argparse.py
* Sync forked Spack repo in github
* Use reported version of IBM XL Fortran compiler for compiler versions
>= 16.0.
Starting with the April 2018 release, the IBM XL C and Fortran
compilers report the same version, 16.0. Consequently, there is
no need to downgrade the Fortran compiler version to match that
of the C compiler.
* Eliminate blank lines.
* Update the Spectrum MPI package.py file to specify the correct compilation
scripts for the PGI compilers.
* mvapich2: add registration cache and file systems variants, avoid empty --with-pm= if no process manager is specified, add missing leading dash in --disable-silent-rules
* mpifileutils: roll back to dtcmp v1.0.3 due to API change, add option to build master branch
* add comment to explain why certain dtcmp is required, rename version for git branch
* dtcmp v1.0.2 is missing github tarball
When building eospac with %clang, spack's Fortran compiler wrapper is called
'flang', which is rejected by the eospac build system..Allow compilation with
%clang by patching the eospac build system.
My testing only covers %clang where flang is actually gfortran. However, this
patch only registers 'flang' as a known Fortran compiler and does not set any
flags or options that are compiler specific.
.
Add configurable HTTP, Python and readline support.
Add previously missing dependencies.
Minor patch to improve Python support (see https://github.com/xrootd/xrootd/pull/695).
* Use GitLab's API endpoint for fetching a git snapshot.
* More GitLab packages use the API.
* find_list_url for GitLab's API URLs.
* Flake8
* Url for 'hacckernels'.
* Check GitLab API regexps before the non-API ones.
* Add Trinity package
New package to install Trinity - another odd installer (assumes installation to /usr/local/bin and doesn't copy dot files hence deleting them)
* Update package.py
added dependencies from https://github.com/trinityrnaseq/trinityrnaseq/wiki/Installing-Trinity
* Update package.py
Copy tree to prefix.bin so that PATH can correctly be set for the Trinity command - can't split it off as it seems everything needs to stay together.
* Update package.py
Fixed over-length lines and space before comma
This commit fixes#7900.
In short: in the absence of constraints to the contrary, spack will
download the preferred version of a package, which is usually the most
recent non-develop version. On a clean spack installation without
hypre installed, `spack install mfem` will download hypre 2.14.0,
which is API-incompatible with mfem 3.3.2 (and earlier versions of
mfem), so spack will throw compiler errors re: the API mismatch.
This commit fixes that error by restricting mfem release versions
3.3.2 and earlier to hypre version 2.10.b to 2.13.999 (only 2.13.0
currently exists, but if it has a non-2.14.x maintenance release,
these versions of hypre should also be permitted).
* automake: added version 1.16.1
* lmod: added version 7.7.29
* git: added version 2.17.0
* tmux: added version 2.7
* scala: added version 2.12.5, fixed typo in version 2.10.6
* Added spark@2.3.0, hadoop@3.1.0, jdk@8u172-b11
* picard: added version 2.18.3
* tar: added version 1.30
Added OpenMP variant for kokkos that can be disabled to build and test
on platforms where OpenMP is not available or desired. Also updated
version list
* Committer: sajid <sajid@xrmlite.phys.northwestern.edu>
modified: var/spack/repos/builtin/packages/py-numpy/package.py
* Corrected typo
* removing whitespace
* remove whitespace
* remove whitespace, if not will do this in vim
* fabtests: new package
* fabtests: fix hashes for github archive behavior & add libfabric dep
* fabtests: both versions confirmed working
* fabtests: use developer provided archive
* Fix build issue with PMIx on aarch64
Work around a bug in PMIx that causes build issues on aarch64. Bug was
fixed in PMIx 2.1.1, so the spack package checks both the architecture
and the PMIx version. Workaround is to just not build the PMIx test and
example code.
* Minor code cleanups
Minor corrections to make 'spack flake8' happy.
* Add support for version 2.1.1
* r-matr: Create new package.
* shocklibs: Create new package.
* r-biom-utils: Create new package.
* r-mgraster: Create new package
* py-poster: Create new package.
* py-requests-toolbelt: Create new package.
* perl-libwww-perl: Create new package.
* py-mg-rast-tools: Create new package.
* mg-rast-tools: Fix version constraints for dependencies.
* Change dependency type of py-setuptools.
* openPMD-api
Add a new package for openPMD-api.
openPMD is a meta-data standard (markup, schema) for hierarchical,
scientific particle and mesh based data.
openPMD-api is a library wrapping the underlying backends (HDF5,
ADIOS, ...) into a single, object-aware API.
* Repository: https://github.com/openPMD/openPMD-api
* Project: https://github.com/openPMDhttp://www.openPMD.org
* mpi variant forwarding: fix concretization
+ I am unable to build suite-sparse@5.2.0 with clang@6.0.0. The build fails
with the error:
```
2397 [ 99%] Linking C executable wildtype_demo
2398 make[4]: Leaving directory
`/tmp/kellyt/spack-stage/spack-stage-w0XYhK/SuiteSparse/GraphBLAS/build'
>> 2399 libgraphblas.so.2.0.1: undefined reference to `__fpclassify'
>> 2400 clang-6.0: error: linker command failed with exit code 1 (use -v to
see invocation)
>> 2401 make[4]: *** [wildtype_demo] Error 1
```
+ This error appears because libgraphblas.so requires `-lm`, but that link
dependency is not explicitly listed in GraphBLAS\CMakeLists.txt.
+ A patch file is provided to add this dependency. The patch is only applied
when the compiler is `%clang`.
* ADIOS 1.13.1
ADIOS 1.13.1 fixes several issues with zero-sized block
reading and writing when compression transports are used.
* SZ 1.4.12.3
Add the lastest SZ release used in ADIOS1.