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.
* geopm: Added initial files for package geopm
and py-natsort dependency
* geopm: Updated variants for hwloc and mpi defaults
* geopm: Cleaned up unwanted hyphenation in description.
* geopm: updates according to change request.
* geopm: Updated minor change requests.
Clarification for ruby-ronn dependency included as a TODO.
This requires changes in the current configure and build process
which will be changed in a future version.
* geopm: changed to AutotoolsPackage and fixed hwloc
The changes for hwloc required to add a specific version bc of a
conflicting version of openmpi's hwloc dependency being below
1.99. This works but updates to this package should check if this
restriction is still required. (Thus TODO added)
* geopm: Added link dependencies (thanks for pointing this out).
Also removed empty line below class definition.
* geopm: Fixed depends_on according to package guide.
Removed wrong type 'run' and removed types for numactl, mpi and hwloc
to use default build & link type.
* geopm: Fixed and updated +doc dependencies
new pacakge ruby-ronn (package specified as in ruby-narray package)
Updated second +doc dependency doxygen.
* geopm: Changed args for Autotools specific feature.
Added enable_or_disable and with_or_without instead of if cascade.
Added overhead variant.
Also added missing dependency (default: build&link) for json-c).
* glvis@3.3: new package
* mesa-glu: now provides 'glu' (GL Utility library)
* openglu: add package, provides glu
* [GLVis] Use MakefilePackage as base. Add 'develop' version.
Small tweaks in the makefile arguments.
* [GLVis] Locate the X11, GL and GLU libraries within their respective
prefixes. Set the C compiler in the makefile arguments.
* [GLVis] Fix a bug: the same variable was used for two different things.
* [libx11] Add the libs property
* [OpenGL] Add the libs property
* [OpenGLU] Add the libs property
* [GLVis] Use the libs properties of libx11, opengl, and openglu
* opengl: make error throw on install, not fetch
* opengl: add configuration advice for darwin
* opengl: add more versions of GL/OpenGL
* opengl: improve documentation in comments
* [OpenGL] Fix formatting
* new package "DSRC" (bioinformatics)
* remove uncommented line
* get rid of unnecessary import
* convert to MakefilePackage class
* get rid of make() in install phase, remove spaces
* make flake8 happy!
Add a proper install variant for Catch(2).
This allows to use Catch2 downstram with `pkg-config` and
CMake's `find_package` commands via standard environment hints.
* fix boost and muparser for Clang 9.1.0 with C++17
* muparser: add C++11 flags
* dealii: temporary disable python by default
* dealii: make CMake find right python
* Current versions of kokkos conflict with hwloc 2.x
Current versions of kokkos cannot build with hwloc v2.x due to changes
in the associated structs. Requiring v1.11.9 for the time being
until it becomes clear what the kokkos model will be
* Explicitly commenting fix for posterity
Explicitly commented version number of hwloc dependency for kokkos for
posterity purposes and to pass code coverage for speedy merging
* Generalized Kokkos's Hwloc Dependency
Generalized dependency to v1.x of hwloc
* Fixed Flake8 issue
Fixed comment to conform to flake8
* Fixed ordering for Version Requirements
Fixed ordering to indicate <= 1.11.9, not >1
* Generalized kokkos dependency
* explicitly specify user-config.jam as it isn't found
via the environment variable on older boost versions
(cf. what debian/rules does)
=> fixes +mpi build
* fix "error: Ambiguous key" error on :1.58.999 boost
(cf. https://github.com/boostorg/boost/blob/boost-1.59.0/bootstrap.sh#L357)
* ceed bundle package including OCCA, MAGMA, Nek5000, mfem, and PETSc
Very preliminary, a lot of ad hoc decisions, fragile, missing functionality
All packages do build on my MacOS laptop with Cuda
Funded-by: ECP
Project: CEED
Time: 4 hours
Reported-by: Tzanio Kolev <kolev1@llnl.gov>
* Some adjustments in a few CEED-related packages.
This is still very preliminary, but with these changes I'm able to build from
scratch on a Mac laptop and a Linux desktop (RHEL7).
Note that there doesn't seem to be a good way to support CUDA in Spack, so
you'll have to install that manually yourself. You will also need a Fortran
compiler, in particular on a Mac where you also have to make sure that it
is being picked up in ~/.spack/darwin/compilers.yaml.
* ceed bundle package including OCCA, MAGMA, Nek5000, mfem, and PETSc
Very preliminary, a lot of ad hoc decisions, fragile, missing functionality
All packages do build on my MacOS laptop with Cuda
Funded-by: ECP
Project: CEED
Time: 4 hours
Reported-by: Tzanio Kolev <kolev1@llnl.gov>
* Reverting Mac-related CUDA checks in the OCCA and MAGMA packages.
A much better solution is to install CUDA manually and add it to
~/.spack/darwin/packages.yaml:
packages:
cuda:
paths:
cuda@8.0.54: /usr/local/cuda
* Fix flake8 warnings
Funded-by: CEED
Project: CEED/Spack
* remove unneeded commented out code
Funded-by: CEED
Project: CEED/Spack
* Don't have PETSc use MUMPS to speedup install time, try parallel installs for Magma
Funded-by: CEED
Project: CEED/Spack
* Added libceed package and made changes to get the ceed metapackage up and running.
* Get the ceed package up and running and added installing the .h file in the libceed package.
* All packages are now pointed at specific versions (either tagged or git hashed.
* Changed some of the specific versions in the CEED metapackage.
* Some version updates.
* Applied Cameron Smith's patch for the latest pumi.
* Merge
* Nek5000: Use tarball instead of git tag
* Major update of the mfem package - needs more testing. Add a testing
shell script for mfem, test_builds.sh, in the mfem directory. It builds
a number of mfem configurations to ensure they all work.
Add 'suite-sparse' variant to petsc.
Add 'develop' version of libceed.
Add 'metis' variant of laghos.
Update the dependencies of ceed.
* Changes in petsc's handling of zlib to make the latest build work on Mac.
* [MFEM] When using '+libunwind', mfem needs '-ldl'.
* [OCCA] Remove debug print statements.
* [PETSc] Replace the check ('zlib' in spec) with ('+zlib' in spec) - the
latter checks if 'zlib' variant of petsc is enabled which is incorrect;
the former checks if petsc is configured to depend on 'zlib'.
* [MFEM] Add conduit variant.
* [libCEED] Enable testing using 'make prove'.
* [MFEM] Tweak test_builds.sh - all builds pass on fedora 27.
* Add a post install test
* Add a post installation check for NekCEM
* pumi: bump git hash, remove unused patch
* Fixed testing of Laghos package
* Adding variants in CEED package
* Empty file for URL didn't work on LLNL/LC. Replacing with bundle-package.txt -> README.md.
* [MFEM] If the spec defines the 'cxxflags' compiler flags, use that value
to set the CXXFLAGS value in the mfem build system.
* Disabling HDF5 by default.
You can still build it with "spack install ceed+hdf5".
* libceed: fix use of prefix versus DESTDIR
* Added cuda variant for libCEED (off by default)
* [libCEED] When building v0.1, fix ceed.pc before installing it.
* [CEED] Add variants for OCCA and PUMI. Replace the hdf5 variant with
a variant called quickbuild that disables variants in packages to
speedup the build - currently hdf5, boost, and superlu-dist in PETSc.
* [libCEED] Remove unused 'import os'.
* [MAGMA] Add version 2.3.0.
* [OCCA] Major update of occa/package.py.
* [libCEED] Several improvements.
* [CEED] Use fixed versions for occa and libceed.
* [OCCA] Fix a bug in CUDA setup.
* NekCEM doesn't need depends_on('python')
* [OCCA,libCEED,MFEM,CEED] Update occa and libceed versions plus a few
tweaks in occa and mfem.
* Switching to gslib-1.0.2 to fix summitdev bug.
* [Nek5000] Use the Fortran 77 compiler instead of the 'fc' compiler.
Propagate any 'fflags' and 'cflags' specifications to the Nek tools.
* [MFEM] Tweak for 'ppc64le'.
* attempt to override fips compatibility error for md5
* Compiler option changes in libCEED to fix summitdev build.
* Disable the nekcem install test until it can be fixed.
* [NekCEM] Major update of the package to fix various issues.
* [NekCEM] Fix formatting
* zoltan: remove non-portable -g0 flag
the pgi compiler does not accept it
* pumi: specify dependency on cmake > 3
* [Nek5000] Add dependency on libx11 when needed. Various hacks to
support IBM XL compilers.
* [NekCEM] Link with the pthreads library - it is required.
* [MAGMA] Add a patch for magma v2.3.0 when building with gcc <= 4.8.
Add dependency on BLAS.
* [CEED] Update to magma 2.3.0. When building with gcc < 4.9 constrain
the used suite-sparse version to <= 5.1.0 - starting with v5.2.0,
suite-sparse requires gcc >= 4.9.
* Small updates
* [libceed, gslib] Fix style
* [Nek5000] Need 'libxt' as a dependency as well.
* [MUMPS] Temporary workaround for ray.
* Updating occa and libceed to laters pre-1.0.0 and pre-0.2 hashes
* petsc: add pkg-config patch for variable quoting
Variable definitions in pkg-config are processed more like make than a
shell, so don't need quoting. Older versions of pkg-config (<= 0.28)
did not remove the quotes when printing the value.
Freedesktop #67904 (https://bugs.freedesktop.org/show_bug.cgi?id=67904)
Reported-by: Tzanio Kolev <kolev1@llnl.gov>
* petsc: add 3.8.4 and myself as co-maintainer
* Updating libceed to latest pre-0.2 hash.
* [PETSc] Add the 'headers' and 'libs' properties.
* [MFEM] Explicitly add rpaths to link flags for external packages.
This is necessary when MFEM's exported options (in config.mk) are
used outside of Spack for linking against MFEM.
* Unset MFEM_DIR before building MFEM
* [PETSc] As observed by @jedbrown, there is no need to define the 'libs'
property explicitly - the default handler works fine too.
* Build MAGMA shared by default, install a few additional headers
* Forgot a self
* Switching to OCCA tag v1.0.0-alpha.4.
Adding urls for OCCA and libCEED ('spack uninstall' complains otherwise).
* Removed FIXMEs for OCCA tag
* [occa] Cleaned up tagged versions
* [libceed] Updated occa to v1.0.0-alpha.5
* [ceed] Updated occa to v1.0.0-alpha.5
* [libCEED] Always define the 'NDEBUG' makefile option based on the
'debug' variant setting - this should always work regardless of the
default setting inside the libceed makefile.
* [MUMPS] Revert a temporary workaround.
* [CEED, libCEED] Minor tweaks.
* libCEED v0.2 release
* [CEED] Use version 0.2 of libCEED.
* [HPGMG] Remove duplicate version.
* [CEED] Update the hpgmg version
* hpgmg: use tarball for 0.3
The Git repository contains somewhat heavy documentation so the tarballs
are much faster.
* hpgmg: +fe was default for the 0.3 release
* hpgmg: explicitly name build directory to avoid use of ambient PETSC_ARCH
* [HPGMG] Fix flake8 formatting
* libceed@0.2: work around occaFree issue
* Add ignore_conflicts to package activation
includes:
* with_dependency flag for do_activate
* ignore_conflicts flag for do_activate
* start of cleanup of activate cmd
* ensure that apr is picked up
* Update package.py
* add apr explicitly as dependency
* remove unnecessary newlines
* Update package.py
fixing dependencies
Modifications:
* Added zlib dependency, starting from version 3.0.0
* Added memchecker support for debugging
* Remove mpirun and similar links if slurm is selected as a scheduler
* [hypre] Add the 'headers' property plus a small tweak in the 'libs'
property.
* [hypre] Add fallbacks for searching for '.libs' in 'prefix.lib64' and
in all of 'prefix'.
* [hypre] Fix style.
* [hypre] Use find_headers instead of find + HeaderList.
* added a new package file for PHIST (Pipelined, Hybrid-parallel Iterative Solver Toolkit)
* packages/phist: fix some formatting errors (too long lines etc)
and set allowed values for option "outlev"
* packages/phist: fix some more flake8 errors
* add headers property to netlib-lapack and intel-mkl
* ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())
* added a new package file for PHIST (Pipelined, Hybrid-parallel Iterative Solver Toolkit)
* packages/phist: fix some formatting errors (too long lines etc)
and set allowed values for option "outlev"
* packages/phist: fix some more flake8 errors
* phist: use headers property to find lapacke include dir
* phist: fix flake8 error
* phist: be more specific about dependencies and update version
* phist: state trilinos minimum version when building with Tpetra kernels
* gmp: add oldish version 5.1.3 with checksum
* phist: get rid of the 'petsc+complex' variant, it can be installed by kernel_lib=petsc ^petsc+complex
* phist: new version
* phist: fix version checksum
* Revert "add headers property to netlib-lapack and intel-mkl"
This reverts commit d8cb62905e.
* Revert "ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())"
This reverts commit d406a77ed7.
* phist: remove unused function
* phist: reorder package file versions/variants/depends_on/rest
* phist: some minor changes requested by @adamjsteward
* Add latest version of MPFR and patches for older versions
* Fetch and checksum patches instead of storing them
* Fix bug, version attribute was being overridden
* meme: added perl-xml-parser dependency, resolved issue. still need to fix ghostscript or image-magick, conversion not working.
* meme: fixed issue with libxslt/libxml2 conflict, and added imagemagick support
* meme: removing libxslt/libxml2 dependency lines
* meme: configure args
* meme: separating configure args
* meme: removing a comment, and hoping for travis to rebuild. site seems back up.
* meme: make image-magick optional
* meme: add comment referencing PR
* meme: bah flake8
* Promote to Autotools for simplicity; broaden Intel CPU opt targeting from SSE4.2 to AVX2
* make Intel CPU opt targeting same as in ../libxc
* flake8 W291
* use canonical means to pass (ahem) the test phase, h/t @adamjstewart
* revert f25d598 (unrelated merge)
* re-merge
* make py-setuptools a run-time-only dep for py-basemap and patch python package to only apply setuptools flag for build deps
* py-qtconsole does not require setuptools
* intel-xed: new package
The Intel X86 Encoder Decoder library for encoding and decoding
x86 machine instructions.
* intel-xed: style fixes for flake8.
* intel-xed: better style fix
* intel-xed: update to version 2018.02.14, add PYTHONPATH for
building with python 3, cleanup the opt flag.
The restrict compilation option with icc causes deadlock when multithreading is used. This issue has already been reported to the Scotch development team, but for current versions it is more reliable not to use the restrict compilation option.
* libtool: actually do symlinking correctly on darwin
Version 4 of the libtool/darwin debacle:
AutotoolsPackage hardcodes libtool & libtoolize into the autoreconf
stage, so the commands `libtool` and `libtoolize` MUST be present, and
shimming in glibtoolize into AutotoolsPackage when sys.platfrom ==
'darwin' does not work.
join_path(spec['libtool'].prefix.bin, 'libtool') still shadows system
BSD libtool (in apple-cctools, see PR #7177), but this shadowing could
be okay, depending on the combination of dependent specs.
* librom: new package
* Adding unzip package.
* Removing bzip2 dependency in unzip and raising an error when on Cray.
* Fixing error.
* Using conflicts statement for Cray detection in unzip package.
* add headers property to netlib-lapack and intel-mkl
* ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())
* fix flake8 errors
* ghost: remove unnecessary query parameter
* fix flake8 errors
* ghost: make it a CudaPackage (as suggested by @davydden, thanks!)
* ghost: missing whitespace
* Fix a bug when checking for 'xl' or 'xl_r' compiler.
* Add support for parallel build - the 's', 'c', 'd', and 'z' targets
are build separately allowing parallel builds.
* When build '+shared', inject all dependencies into the link lines of
the mumps libraries.
* Run the examples only when installing with the '--test' Spack option.
It seems there has been a change in concretization that resulted in
a request for a llvm latest (5.0.1) while not satisfying the later
more precise request for a version.
Remove the first line and only rely on the last.
A build of python@3.X had the following in the logs:
```
The necessary bits to build these optional modules were not found:
_dbm _gdbm _tkinter
```
As Tkinter is already a variant, we adopt the same strategy for dbm.
This includes:
* Added latest available versions (1.11.9, 2.0.0)
* Added variants to enable graphical output from lstopo
* Enabled build of the bundled netloc package if @2.0.0:
* Added dependency from numactl if @:1.11.9
* Added a constraint to avoid using hwloc@2.0.0 with openmpi
cube's configure only recognizes qt versions with single digit version
components and breaks with qt 5.10. Patch the configure files directly
to avoid having to regenerate them.
Mscgen is a small program that parses Message Sequence Chart descriptions and
produces PNG, SVG, EPS or server side image maps (ismaps) as the output.
See http://www.mcternan.me.uk/mscgen/
This is needed when using system lua on RHEL and clones where lua
is installed in /usr/lib64. Note that the path entry for lua in
packages.yaml should specify the major/minor version of lua (since
this is used to calculate the lua lib directory)
updated hoomd-blue to latest tagged release in repo. This version also supports newer gcc6 compilers, so added constraint for older version to avoid breaking existing installs.
+ Newer versions of zoltan2 are doing test compiles that link to parmetis. If
these checks don't find `metis.h`, the check fails.
+ This small tweak ensures that the zoltan2 configure step can find `metis.h`
that is provided by spack.
For hdf5 `1.8.10` and some compilers, the hdf5 build system adds the
'-ansi' flag. hdf5 1.8.10 is not actually ansi compliant so this
adds a patch to modify the places where it violates ansi
compatibility (which ends up being a few comments).
Make neuron package more generic
* find the bin directory dynamically for use in run_env and spack_env
* replace filter_compilers after install with filter_compiler_wrappers
* update checksum for _current_ 7.5 version
* make +python conflict with ~shared
* prepend the architecture specific lib directory to the LD_LIBRARY_PATH
Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>
Fix installs as "root" user for the last libSplash release.
Missing quoting of string compares resulted in a CMake error
when run as root (e.g. in a Docker build).
This updates Cray.setup_platform_environment to use cray-specific
pkgconfig paths so that all providers of 'pkgconfig' have access
to them (previously the 'pkg-config' provider had this but the
'pkgconf' provider did not).
* [OpenMPI] Add the 'headers' property. This removes some redundant
headers from sub-directories, returned by the default '.headers'
handler.
* [OpenMPI] In the .headers property, add a fallback to search all of
prefix for the mpi.h header. Recommended by @junghans to support some
external configurations, see #7268.
* add verilator package
* try to add environment variable and include folder
* manually install existing scripts and patch out spack's CXX wrapper
* added some comments
* make flake8 happy
Adds Google's new cpu_features library.
Install was added recently, so don't take the `0.1.0` release but
the current `master` until a new version is published.
* Combined llvm and llvm-lld: removed the separate llvm-lld package
and added llvm-lld as an optional add on to the llvm package (the
way several other llvm tools are maintained e.g. lldb)
* Added more lld hashes to llvm package
* The 'CppBackend' target doesn't exist for version 3.9.0 or later
so exclude it for later versions
* Was incorrectly specifying 'sparc' as a target for the 'sparc'
architecture - needed to specify 'Sparc'
* Fix issue #7248 building llvm: don't make the LLVMDemangle target
for llvm < 4.0.0
* No longer need to patch CMake. Using CMAKE_CXX_FLAGS to include BLAS/LAPACK/MKL header files properly.
* Backport two patches to QMCPACK versions prior to 3.3.0: https://github.com/QMCPACK/qmcpack/pull/621, https://github.com/QMCPACK/qmcpack/pull/623
* Insufficient to include lapack_dir in CMAKE_CXX_FLAGS, CMAKE_C_FLAGS is also needed.
* Make patched Espresso a default variant instead of a hard dependency. This is easier on computer architectures where Espresso is hard to build.
* Fix patching with QE variant. Now using correct form of patch command.
* Add QMCPACK v3.4.0
* Backport patch to QMCPACK versions prior to 3.3.0: https://github.com/QMCPACK/qmcpack/pull/643
Yaml-cpp hasn't tagged a release in over 2 years, yet they have fixed
many things and now have the ability to use find_package in CMake.
Since we use this feature in Nalu, we require the latest yaml-cpp
until they tag a new release. I have also deprecated the now
unnecessary ENABLE_INSTALL flag.
* Added a package for the MDAnalysis toolkit.
* Adding a package for the Python virtualenvwrapper pacakge. Included
dependent virtualenv-clone and stevedore packages. Updated py-pbr with
a new version to support this.
* Added extra necessary dependencies and fixed the file download paths.
* Added a package for the MDAnalysis toolkit.
* Added a new package for pygpu, which is the python front end of the
libgpuarray. Additionally changed the dependency for theano so that
it properly picks up the pygpu library.
* Added the libcheck package. Fixed flake8 errors in py-pygpu recipe
and removed spurious dependency on cudnn for libgpuarray.
The edit phase of cbench was used to set environment variables. Though
this works, the variables set this way are not dumped to build.env.
This commit fixes the issue by setting those variables in the
`setup_environment` function.
* [SUNDIALS] Add the 'headers' and 'libs' properties, plus a couple of
small tweaks.
* [SUNDIALS] Revert incorrectly changed conflicts() directive. Fix style.
Fixes#5189
When working with non-normalized paths containing ".." on some
file systems, Spack was found to encounter a permission error when
writing to the path. This normalizes a path written by the
intel-parallel-studio package and also normalizes all paths
written by the license install hook (for all packages) to avoid
this issue for intel-parallel-studio.
Adds the first stable API release of ADIOS2, v.2.1.0.
Also adds a missing `pybind11` CMake flag for proper Python
selection (needed in both the new and previous version).
To accommodate build systems on Darwin which look for glibtool/ize,
#7060 attempted to provide glibtool/ize symlinks for libtool/ize
but accidentally created the same symlink twice. #7073 reverted this
and replaced libtool/ize with glibtool/ize on Darwin. This led to
#7163 since AutotoolsPackages depend on the presence of the 'libtool'
binary, so this returns to the approach of #7160 but makes the
correct symlinks.
XBraid installs `libbraid.a`, but the default `libs` method
implementation will search for `libxbraid`, which does not exist. This
commit fixes the behavior of the `libs` method for the `xbraid`
package by overriding package's `libs` method.
Prior to this commit, running `spack module refresh` with `gdbm`
installed throws the warning:
```console
==> Warning: Could not write module file [/Users/oxberry1/spack/share/spack/lmod/darwin-sierra-x86_64/Core/gdbm/1.14.1.lua]
==> Warning: --> global name 'spack_cc' is not defined <--
```
This warning is repeated for every `gdbm` installation in Spack.
The cause of the issue seems to be the same as in spack/spack (#6089):
using `spack_cc`, `spack_cxx`, or similar inside `configure_args`
causes the warnings to throw when module files are generated.
Moving the use of `spack_cc` into `setup_environment` seems to fix the
problem, even though it's a bit of a kludge.
Running `spack module refresh -m lmod --delete-tree -y` throws the
following warning:
```console
==> Warning: Could not write module file [/Users/oxberry1/spack/share/spack/lmod/darwin-sierra-x86_64/openblas/0.2.20-ibhtl5q/clang/5.0.1/ipopt/3.12.9.lua]
==> Warning: --> global name 'prefix' is not defined <--
```
This warning arises because the variable expansions in
`spack.modules.BaseFileWriter` occur at module/package scope. Even
though `prefix` is an argument to `install` methods in e.g.,
`MakefilePackage`, so using this argument within package methods is
legal, doing so defeats the introspection logic in
`spack.modules.BaseFileWriter`. Replacing `prefix` with `self.prefix`
resolves the problem, because the introspection logic in
`spack.modules.BaseFileWriter` can use introspection to query IPOPT's
prefix.
Following the discussion with Todd and Adam, find has been modified to
accept glob expressions. This should not affect performance as every
glob implementation I inspected has 3 cases (no wildcard, wildcard but
no directories involved, wildcard and directories involved) and uses
fnmatch underneath.
Mixins have been changed to do by default a non-recursive search (but
a recursive search can still be triggered using the recursive keyword).
Following a comment from Todd, the search path for the files listed in
`filter_compiler_wrappers` can now be narrowed. Anyhow, the function
implementation still makes use of `find`, the rationale being that we
have already seen packages that install artifacts in e.g. architecture
dependent folders. The possibility to have a relative search path might
be a good compromise between the previous approach and the one suggested
in the review.
Also: 'ignore_absent' and 'backup' keyword arguments can be optionally
forwarded to `filter_file`.
Implemented a declarative syntax for the additional behavior that can
get attached to classes. Implemented a function to filter compiler
wrappers that uses the mechanism above.
* Remove variants disabling blas and lapack for py-numpy, issues
building these have been resolved
* For CMake greater than 3.10, FindMPI changed, so use
MPIEXE_EXECUTABLE instead of MPIEXE for 3.10 and newer
fixes#7128
Before this PR packages that were indirectly dependent on python might
have failed due to inconsistency between the python found in the
environment and the standard libraries set in PYTHONHOME
This adds a static version of hpgmg (up to now only the latest commit
from the master branch was available). This also adds a debug variant
and sets optimization flags for ~debug when the compiler is gcc,
intel, or clang
Adds the latest release of libSplash (1.7.0) and newly learned
CMake flags for explicit dependency control.
Modifies HDF5 dependency: non-MPI splash does (and did) never run
with a parallel HDF5, due to it's internal cross-dependencies on
MPI.
* libdwarf: fix linker flags
* libdwarf: fix header install names
* libdwarf: add zlib dependency
Prior to this commit, libdwarf was linked to the system zlib. This
commit links it to spack-installed zlib.
* libdwarf: fix dynamic library suffix for Darwin
* Adding support for the Accelerate library on OS X
* Fixed guard on variable and added another depends_on statement to make sure that openblas gets selected even when openmp_blas variant is not turned on.
* Added a package for the MDAnalysis toolkit.
* Added some flags to fix the build RPATHs and OpenMP for LBANN on OS X.
* Fixed Hydrogen branch of Elemental to find OpenMP on OS X.
* Cleaned up JUnit report generation on install
The generation of a JUnit report was previously part of the install
command. This commit factors the logic into its own module, and uses
a template for the generation of the report.
It also improves report generation, that now can deal with multiple
specs installed at once. Finally, extending the list of supported
formats is much easier than before, as it entails just writing a
new template.
* Polished report generation + added tests for failures and errors
The generation of a JUnit report has been polished, so that the
stacktrace is correctly displayed with Jenkins JUnit plugin. Standard
error is still not used.
Added unit tests to cover for installation failures and installation
errors.
* libtool: fix linking of libtool on darwin
* binutils, libtool: fix conflicts w/ BSD tools, v2
Fix namespace conflicts with BSD tools in a more elegant fashion,
using a program prefix, similar to Homebrew.
* Tell R's configure about tcltk config
Add configure arguments that specify the location of
the tcl and tk config scripts.
Fixes#7072
* Flake8 cleanup
Looking at build logs, it seems that prior to this commit bzip2 was
using 'cc', and relying on the PATH to be set correctly to find Spack
wrappers. This commit improves the robustness of the recipe, by using
the absolute path of the wrapper.
On Darwin and other BSD systems, the system 'libtool' and 'libtoolize'
are BSD libtool and libtoolize, respectively. Some build systems
require the GNU versions of these commands, so BSD package systems
tend to name the GNU versions 'glibtool' and 'glibtoolize',
respectively, to avoid namespace collisions.
A problem with the current libtool package is that it installs the GNU
libtool commands as 'libtool' and 'libtoolize', respectively, but
build systems on BSD platforms will attempt to run 'glibtool' and
'glibtoolize'. The expedient solution to this problem is to symlink
'libtool' to 'glibtool' and 'libtoolize' to 'glibtoolize', because
attempting to patch the detection logic one build system at a time
seems impractical.
* Added new link line flag
* Refactored some of the common components out of the different
version's build commands. Also corrected the when commands to
properly capture non-numeric names such as local.
* Added support to the Elemental package for the Hydrogen branch.
* Turning off default Qt support. Restricting Qt version to <= 4.9 else geant4 won't build
* Making vecgeom optional
* Differentiating between cxx11 and cxx14 support
* Making vecgeom optional. Part 2. forgot to move usolids option
* Adding explicit CXX11 and CXX14 support
* Adding more clhep version to support newer GEANT4 versions
* Adding GEANT4 versions 10.03.p03 and 10.04
* Checkpoint. Adding opengl and x11 variant. Lead up to more changes to enable X11 support
* Adding dependency on fixesproto for newer versions
* Making the X11 dependent pieces work without requiring X11 on the system
* Adding motif
This provides options for hardware and software rendering with the
gl API and updates the vtk package to make use of those options:
* Create new "gl" virtual package, provided by mesa
* Add external-only "opengl" package, which represents a system
install that provides gl
* For vtk: prefer system gl implementation by default to get speed
up from hardware rendering. When software rendering is specifically
requested (+osmesa), try to use the llvmpipe approach, as it is
much faster.
* Make qt dependency optional for vtk
* Add basic support for VTK on osx
* qt: Depend on virtual gl package, rather than mesa impl
* visit: add version 2.12.3
* visit: add version 2.13.0
* visit: enable building with hdf5+mpi
* visit: add qwt dependency
Building VisIt requires Qwt, which is not part of Qt. Prior to this
commit, this dependency was not included in the VisIt spack package,
resulting in a configure-time bug with an error message indicating a
missing Qwt dependency.
This commit fixes this bug by adding Qwt dependency information.
Update the qt4 CoreWLAN patch to apply to macOS/OS X 10.12 and 10.13,
which both still use the CoreWLAN framework in their SDKs (although
it's apparently deprecated?!). Without this patch update, `spack
install qt@4.8.6` fails on macOS/OS X 10.12 because the linker
cannot find headers from the CoreWLAN framework.
Apple removed support for Objective-C garbage collection in binaries
in XCode 5.1, but VTK 6.1.0 and earlier set flags for garbage
collection, resulting in a compile-time bug when compiling VTK using
any recent version of XCode (i.e., Apple Clang).
This commit fixes this bug by removing the garbage collection flags
via setting the variable `VTK_REQUIRED_OBJCXX_FLAGS` to the empty
string. This variable has the same value (i.e., the empty string) in
the root-level CMakeLists.txt file for VTK 6.2.0 and later.
VTK 6.1.0 and earlier do not use paths stored in `NETCDF_CXX_ROOT` to
detect the presence of NetCDF C++ headers and libraries. Consequently,
VTK 6.1.0 does not build.
This commit fixes this bug by setting the advanced variables
`NETCDF_CXX_INCLUDE_DIR` and `NETCDF_CXX_LIBRARY` at the command line
to specify the directory containing headers and the full library path
for the NetCDF C++ bindings.
The flag_handlers method was being set as a bound method, but when
reset in the package.py file it was being set as an unbound method
(all python2 issues). This gets the underlying function information,
which is the same in either case.
The bug was uncovered for parmetis in #6858. This is a partial fix.
Included are changes to the parmetis package.py file to make use of
flag_handlers.
This makes use of the new flag_handler logic from 28d8784a to set
compiler flags for ipopt by passing them as arguments to the build
system rather than injecting them into the compiler wrappers. This
avoids conflicts between flags that are chosen by the build system
and flags that are set by the user.
* ruby: fix +openssl & +readline variants
Fix "unqualified variable spec['openssl']" error in the ruby package
that arises when trying to install the `+openssl` variant by
referencing the `spec` field in the `Ruby` class. A similar error
arises when trying to install the `+readline` variant; this error is
also fixed by this patch.
* ruby: make +openssl variant default to on
Ruby's gem command will fetch gems from HTTPS resources by default
(e.g., gem install bundler). Without openssl, request to fetch gems
bounce back with the error
```
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
```
Without the ability to install gems -- required for some spack
packages -- the ruby installation has limited utility for many users.
* ruby: update rubygems ssl cert to fix ssl errors
The SSL certificate bundled with Ruby 2.2.0 is outdated, so e.g., `gem
install erubis` will fail with an SSL certificate error. This commit
installs the updated SSL certificate to the proper directory so that
gems can be downloaded and installed from RubyGems.
The url in graphviz has been fixed and its version has been
updated to the latest available (2.40.1). Added variants for
expat, qt, gtk+ and ghostscript.
* py-fparser: parser for Fortran 77..2003 code
* py-fparser: guard against external pytest.ini
* py-fparser: define 'develop' version as latest master branch
* py-fparser: fetch tagged versions from git repo
* py-fparser: add latest release 0.0.6
* py-fparser: whitespace adjustments for flake8
* py-fparser: inherit python dependency from PythonPackage
* py-fparser: rely on spack to resolve sub-dependencies
* py-fparser: try type='test' for py-pytest
* py-fparser: fetch release tarballs instead of git commits
* py-fparser: test deptype is available, remove comment
* py-fparser: limit versions that use py-six
* py-fparser: version ranges do not need a lower bound
* qt: move licence acceptance from qt3krell.patch to qt3accept.patch
* qt: ensure that ptrdiff_t is defined for qt@3.3.8b
* qt: disable webglplugin for qt@5.10~opengl
* qt: depend on libxext (for qt@3 and @4)
* qt: avoid X dependencies on darwin platforms
* Revert "qt: avoid X dependencies on darwin platforms"
This reverts commit 05ce08de94.
* qt: limit range of versions depending on libxext
See #6794
This fixes cases where test-only dependencies were omitted from
consideration when modifying the environment at build time. This
includes an update to the python package definition to add
testing-related python extensions to its specialized environment
setup.
* coinhsl: add version 2014.01.10 (stable)
* coinhsl: make 2014.01.10 preferred version
Make Harwell Subroutines Library for IPOPT version 2014.01.10 the
preferred version because it is the latest stable version released.
* coinhsl: add option to link w/ BLAS libraries
Building emacs on darwin throws an error when trying to build an Emacs
app in the nextstep/Emacs.app path of the build tree. For now, disable
building this app.
It's possible to enable building the app also; Homebrew offers options
to this effect, and also adds Mac-specific options for starting the
emacs daemon. However, for the sake of simplicity and getting a
workable up-to-date emacs installation on my machine as quickly as
possible, this commit focuses on a minimal viable modification.
* Add a new package: unblur.
* Add a new package: unblur.
* Add a new package: unblur.
* Add a new package: unblur.
Conflicts:
var/spack/repos/builtin/packages/unblur/package.py
* Add a new package: unblur.
* Fix git on ubuntu, first cut
Spack needs to pass information about where the linker
can find `libintl`. We're currently using `LDFLAGS` to do so.
The `LDFLAGS` info is pasted into the command line upstream
of the a file (`libgit.a`) that includes unresolved symbols that
need that library. This fails on Ubuntu, although it seems to
work on CentOS (see #6841).
This change allows git to build on a Ubuntu 16.04.3 droplet.
TODO: test on other platforms...
* Add a bit of useful commentary
* Upgrade recipe for parmetis to be a CMakePackage
+ Eliminate `install` method (use the one from CMakePackage).
+ Move configure options to new method `cmake_args`
+ Move special install instructions for DarwinOS to a `run_after` method.
* Fix run_after section; Remove variant +debug.
Control the find_package of the PNG variant explicitly.
This avoids picking up an "external" PNGwriter install in
case `~png` is picked by changing the default "AUTO" search
to explicit "ON" (required) of "OFF" (ignore if exists).
* py-psyclone: Code generation for the PSyKAl framework from the GungHo project
* py-psyclone: add installation tests based on py.test
* py-psyclone: define 'develop' version as latest master branch
* py-psyclone: extract tagged version 1.5.1 from git repo
* py-psyclone: whitespace adjustments for flake8
* py-psyclone: use compatible versions of py-fparser
* py-psyclone: use type='test' for selected dependencies
* Updating OpenFAST to use explicit lapack and blas libraries from Spack.
* Simplifying openfast blas lib logic and fixes flake8 errors.
* Changing order of blas and lapack libs in openfast package.
* py-pybedtools: Create new package
* py-pybedtools: add py-six requirement
* py-pybedtools: remove py-cython dependency for release version
* py-pybedtools: include minimum version of py-pysam
* Provide build_type variant for Metis.
+ Ideally, we would make Metis a CMakePackage, but `metis@:5` doesn't use CMake.
+ For now, provide a `build_type=` variant similar what is found in
CMakePackage.
+ There is a potential for duplicate specification of `CMAKE_BUILD_TYPE` if both
variants `+debug` and `build_type=` are specified. I am looking for advice on
how this can be resolved.
* Update metis recipe in response to flake8 and user comments.
+ Wrap comment lines that used more than 80 columns.
+ Change `+debug` variant to avoid potential for multiple `-DCMAKE_BUID_TYPE=`
arguments provided to cmake. Specifying this variant no longer appends this
configure option. However, if `+debug` is specified, require
`build_type=Debug` to maintain expected behavior.
* For metis, remove +debug variant; use build_type= instead.
+ Update recipe for metis@4 to extract `build_type=` values and set `OPTFLAGS`
accordingly.
+ For metis@5:, the behavior from the previously supported variant `+debug` can
be obtained with the options `+gdb build_type=Debug`
* Conflicts added for metis@4 when build_type != Release|Debug.
* Use spack function conflicts instead of 'raise InstallError'.
* Create a symbolic link for MotionCor2.
* Create a symbolic link for MotionCor2.
* Create a symbolic link for MotionCor2.
* Create a symbolic link for MotionCor2.
* Adding NEURON package widely used in computational neuroscience community
* flake8 fixes
* Add rx3d variant
* Addressed review comments from Adam
* Addressed 2nd review comments
* Added check for +mpi on bg-q
* Filter spack compiler wrappers in NEURON scripts
Add gcc march=native flag to make front-end build robust
* Make develop as preferred version due to bug in long filename handlings in <= v7.4
* Avoid use of gcc in cross compiling environment
Use arch specific options on cray and bg-q arch
* Simplify cross compiling build:
- v7.5 added and no longer need develop as preferred version
- legacy cray related options removed
- cross compiling args reduced
- python arguments reduced as neuron finds proper libraries
* Simplify bg-q configurations
* Cleanup and unify arch options
* Make sure to add commonly available packages as dependency
* Arch path added to dependent_environment as nrniv needed at runtime
* Support for Power 8 architecture
* Fix python3 on OS X
* flake8 fix
* remove unnecessary conflcist directives
* Added a package for the MDAnalysis toolkit.
* Added a patch file to get rid of compiler warnings with intel compiler
and inlining. Added checksum values for other versions of protobuf.
* Added dependency on Intel compiler for intel patch
* added variant examples to paraview package.py
* qt: added libxt dependency
* add variant to use external hdf5, this is needed when compiling with gcc@4.8.5
* paraview: added python dependecies to PYTHONPATH
* Start adding Nek5000 package
* Add tools to install: genmap, prenek, postnek
* Address comments by @davydden
* Use install_tree (thanks @junghans) and polish
* Update url
* Fix flake formatting errors
* Change F77 and CC compilers
Apparently spack compilers can't be called outside spack and we
have an underscore test in our Nek5000/core/makenek.inc file which
calls F77 compiler.
* Add support for visit and profiling options
* Fix a typo
* Fix a typo
* Remove the C check
* Add visit variant
* Update the install of int_tp tool
* Let MAXNEL to be set during installation
* Added magma package
* Incorporated Serban's change
* Remove deleted files
* argparse.py
* Sync forked Spack repo in github
* Add spectrum-mpi lib path to LD_LIBRAY_PATH in spack_env.
As a result of supporting alternate installation directories, spectrum-mpi does
not use rpath anymore, so we need to set LD_LIBRARY_PATH in spack_env to allow
MPI programs to run during dependent package configuration.
* Fix flake8 error (blank line at EOF)
* xios: XML-IO-SERVER library for IO management of climate models
* xios: install to prefix directory
* xios: add a test case
* xios: define versions to use cache and mirror directories
* xios: use proper svn URL for version 910
* xios: package url must be defined, otherwise uninstall fails
* xios: add trunk version to allow building latest revision
* xios: enable parallel build
* xios: allow installation with mpif90 compiler wrappers
* xios: use mpi variants of dependencies
* xios: allow user to specify MPI launcher via MPIRUN environment variable
* xios: prefer spack versions of blitz and boost (needed for gcc@7)
* xios: enable builds with clang+gfortran on OSX
* xios: use numeric versions for releases, @develop for trunk
* xios: different patches required for @1.0 and @develop
* xios: patch function for clang works across revisions
* xios: link blitz library
* xios: workaround bug 17782 in llvm
* xios: whitespace adjustments for flake8
* xios: avoid bare except clause
* xios: netcdf-fortran inherits ^netcdf+mpi from xios dependencies
* combine all patches for 1612 into a single file, with additional
comments to explain the rational.
* Add kahip decomposition variant.
* Add support for ARM64 architecture.
* filter instead of patching etc/config.*/settings. This eliminates
patch files for 1706, perhaps for the future as well.
* URLs at or before version 1612 have a different structure, so
provide a url_for_version implementation to handle this
* singularity - added master branch as this has latest fixes - 2.4 does not compile on centos 6 without use of this branch
* renamed to develop
* added master branch properly
* add OctavePackage
1. remove import CudaPackage which is not needed anymore
2. mention CudaPackage and OctavePackage in packaging guide
3. adjust OctavePackageTemplate
4. add clue file for Octave build
5. sanity check on self.prefix
* use setup_environment
* esmf: put .mod files in the spack compiler search path
* esmf: allow building with Cray mpi
* esmf: create run-path dependent libraries on osx
* esmf: link fortran interface libraries when building with mpich
* Fix detection of blas and lapack: provide libraries/includes as
arguments to CMake rather than using CMake's auto-detection.
This includes a patch to QMCPACK's CMake files to refer to
Spack-built blas/lapack implementations. This also includes
special-case logic for the intel-mkl implementation of blas/lapack
* Break up unit tests and short tests. Only hard failure if the unit
tests fail, if short tests fail issue a warning only.
* Add QMCPACK 3.3.0, get rid of 3.0.0
- define MPICH_SKIP_MPICXX, link libmpich instead of libmpi
(as per disussion in PR #4990)
ENH: more flexible editing/patching of openfoam env files
CONFIG: comment out requirement for openmpi+thread_multiple
- was originally slated for the 1712 release and beyond, but there are
reportedly unstable version/network combinations.
Leave as comment for future reference, since it may be arise again.
STYLE: renamed openfoam-site.patch as 1706-site.patch (and reformatted)
- to preserve against impending changes in the layout of
config.{csh,sh}/settings
* fix post install method for py3 in mercurial
* Update package.py
* Update package.py
* use print_str instead of manual print detection
* Update package.py
* use only depends_on
* Update package.py
* Update package.py
State py3 compatibility for @4.3: according to setup.py from the 4.3.tar.gz from pypi
Add preferred version 2.0.3. Added beta version. Added conflict with
gcc versions >= 5 when building with cuda@8 (which is currently the
only supported cuda version). Added cuda architecture variant. Added
comment about current lack of cuda@9 support.
Fixes#6522
Patch psxevars.sh and psxevars.csh only when year > 2016.
pxevars.csh does not exist for versions before 2017. psxevars.sh
does not appear to require this patch for versions before 2017.
Fixes#6521.
Bazel's build system filters environment variables, including those
set by Spack for use by its compiler wrapper. This updates the patch
to include the SPACK_DEBUG_LOG_ID variable added in #5837.
* optional path to use spacks py-site-pkgs, install host-cfg for provenance
* add more comments and address review requests
* only use st-pkgs-dir when +python
* ascent does not need doxygen
* capture mpiexec if it exists
* added missing import
* flake8 fix
* default adios variant to False
* ascent develop now reqs conduit master
* optional path to use spacks py-site-pkgs, install host-cfg for provenance
* add more comments and address review requests
* only use st-pkgs-dir when +python
* ascent does not need doxygen
* capture mpiexec if it exists
* added missing import
* flake8 fix
* default adios variant to False
* ascent develop now reqs conduit master
* conduit: use hdf5 1.8 for wider output compat
* Add: Py-Plotly
The requirements of py-plotlit are rather strict fixed to specific
versions, so I did not add an "upper versions" `:` to the constrains.
See
https://github.com/plotly/plotly.py/blob/master/requirements.txt
* Py-Requests, Py-Six, Py-Pytz: Older Versions
Add two older versions of requests, pytz and six for plotly.
- depends on GTK+ with X enabled
(btw, non-X backends are deprecated/removed in GTK+)
- patch for 3.0.1-3.0.2: missing include caused multiple
`error: call of overloaded ‘abs(XYPOSITION)’ is ambiguous`
(seen in GCC 6.3.0); fixed in 3.0.3+
* Update CGNS to be able to be used in Trilinos.
* Updating Trilinos to be able to use CGNS.
* Fixing wrong cmake defines in trilinos for enabling cgns and cleaning up cgns package.
* Changing cgns parallel variant to mpi. Removing explicit dependence on parallel-netcdf in trilinos.
Add additional transform libraries to ADIOS.
Also modifies existing transforms to the versions they were
introduced (otherwise this was resulting in unknown configure flags).
* xsdk: Added MFEM rc package.
* xsdk: add version entry for xsdk-0.3.0-rc1 - and set it as preferred version
* xsdk: remove 'xsdk' from version - recommended by Todd.
Now the usage is:
'spack install xsdk@0.3.0-rc1'
instead of the previous usage:
'spack install xsdk@xsdk-0.2.0'
* xsdk: add petsc@3.8.0 as a dependency for xsdk-0.3.0-rc1
* mfem: fix dependency to use the corrected xsdk version
* Updated the mfem version tags.
* mfem: fix merge
* fix flake8 warning
* Modified xSDK scripts
* fixing the default package.yaml
* fix bad revert
* revert changes to superlu-dist so that the 5.2.1 update can be merged
* update xsdk to use superlu-dist-5.2.1
* update alquimia for xsdk
* fix whitespace
* update hypre for xsdk
* update sundials for xsdk
* update sundials for xsdk
* Fix checking for MKL and extend range of GCC versions
* pflotran: update to release branch
* plasma: fix spec -> self.spec
* Changes to enable mfem hooks into hypre, superlu-dist, and petsc. Sundials hooks may come in the future.
* adding plasma with comment
* Bumped the version of mfem up to handle integration with sundials3.0.0. Also enabled hypre in sundials.
* Turn on the plasma package definition for testing
* Fix conflict declaration to obey ordering rules
* xsdk: udate superlu-dist dependency to v5.2.2
* plasma: change gcc dependency to workarround potential spack bug #5778
* trilinos: update hdf5 dependency to use 'hdf5+hl'
Without this change - I get the following error [triggered by 161dca6d5c9810f808 changes]
$ ./bin/spack install trilinos+hdf5
==> Error: An unsatisfiable variant constraint has been detected for spec:
hdf5@1.10.1%gcc@7~cxx~debug~fortran~hl+mpi+pic+shared~szip~threadsafe arch=linux-fedora27-x86_64
while trying to concretize the partial spec:
netcdf+mpi
^m4
^mpich@3.3a2%gcc@7 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-fedora27-x86_64
^zlib@1.2.11%gcc@7+optimize+pic+shared arch=linux-fedora27-x86_64
netcdf requires hdf5 variant +hl, but spec asked for ~hl
* plasma: add in -lm dependency per #6046
* update sundials version to 3.0.0
* Add fixes to support Netlib LAPACK
* mfem does not use cmake for builds [anymore] - so remove code corresponding to this dependency.
This enables mfem build on OSX [with xcode/clang compilers]
* mfem: update to v3.3.2-rc4
* add patch for building sundials on mac
* xsdk: enable plasma for gcc-4.9+ - same as what plasma/package.py does.
* magma: Fix for cuda-9.0 as it does not support sm20
nvcc fatal : Unsupported gpu architecture 'compute_20'
* add in code for 'spack install xsdk+cuda' - which installs magma
* fix flake8 warning
* fix flake8 warnings
* Updated to the latest MFEM RC.
* alquimia: fix to use petsc-3.8.0+ versions
* petsc: update to version 3.8.1
* petsc: add in conflict between petsc-3.8.0 & mkl
* xsdk: update petsc to 3.8.1 to get MKL build fix
* petsc: fix superlu_dist dependency
* petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configured with zlib
* petsc: fix dependency [of zlib to be on hdf5 - and not on petsc]
* petsc: fix pkgconfig error - with incorrect library link order that can break mfem examples with static build
* petsc: use the fact that hdf5/package.py has a hard dependency on zlib [so no need to check for this dependency in code]
recommended-by: @davydden
* petsc: change hdf5 dependency to 'hdf5+hl' as petsc configure is looing for -lhdf5_hl
https://github.com/spack/spack/issues/5846
* plasma: also detect -lgfortran
* update sundials version to 3.1.0
* alquimia: xsdk-0.3.0-rc -> xsdk-0.3.0
* petsc: update to version 3.8.2
Includes pkgconfig fix [for mfem static build failure]
* Revert "petsc: fix pkgconfig error - with incorrect library link order that can break mfem examples with static build"
This reverts commit d1afa8c20d.
* xsdk: update to use petsc-3.8.2
* Fixed a problem with MFEM trying to use mpicxx instead of the spack defined compiler.
* Minor changes to the mfem build and pointing at mfem's release branch that is currently undergoing internal testing.
* Enabling shared build for Plasma
* plasma: do not look for libgfortran on cray - spack finds the wrong one from the frontend
'-L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/usr/lib64 -lgfortran'
* Some changes to the mfem package that are in the process of being pulled into spack/develop.
* xsdk: switch from 0.3.0-rc1 to 0.3.0
* fix flake8 warnings
* plasma: extract plasma changes from xsdk-0.3.0
* plasma: cleanup per review
- netlib-lapack: add support for spec['lapack:c'].libs, spec['blas:c'].libs
- add getblaslapacklibs() to eliminate duplicate code in edit() and build_targets()
- eliminate string manipulation of ld_flags
- remove gfortran check (will check later)
- remove build() (will check later)
* netlib-lapack: fix tuple per review
* netlib-lapack: use spec[lapack:c,fortran]
* Adding version 2.4.3 to ViennaRNA
* Replaced tab indent with spaces
Flake8 error correction
* no swig for viennarna v2.4.3 only
* correcting version/argument conditional syntax error
libtool is also needed for linking, otherwise downstream
dependencies such as clfft will fail linking against pocl's
libOpenCL.so with errors such as:
```
>> 182 /usr/bin/ld: warning: libltdl.so.7, needed by /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so, not found (try using -rpath or -rpath-link)
>> 183 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlinit'
>> 184 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlerror'
>> 185 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlopen'
>> 186 /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlsym'
>> 187 collect2: error: ld returned 1 exit status
```
* py-petsc4py: Update version to 3.8.0 and add dependencies
- Added explicit dependency on python and numpy
* Kept old version - and corrected minimal python version
* Update to 3.8.1
* add ascent package and and deps
* proper use of site_packages_dir prop
* flake8
* add maitain, small updates
* flake8
* flake8
* fixs for docstrings for sphinx
* petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configured with zlib
* petsc: fix dependency [of zlib to be on hdf5 - and not on petsc]
* petsc: use the fact that hdf5/package.py has a hard dependency on zlib [so no need to check for this dependency in code]
recommended-by: @davydden
* petsc: change hdf5 dependency to 'hdf5+hl' as petsc configure is looing for -lhdf5_hl
https://github.com/spack/spack/issues/5846
* Added missing deps to libffs
* SOSflow spack package pointing to sos_flow feature/spack branch
* Using tag for spack build
* Change url to spack/spack
nghttp2 depends on python, and requires the install directory to exist,
and contain the python module directory which it will eventually
install the python modules into.
* trilinos: update hdf5 dependency to use 'hdf5+hl'
Without this change - I get the following error [triggered by 161dca6d5c9810f808 changes]
$ ./bin/spack install trilinos+hdf5
==> Error: An unsatisfiable variant constraint has been detected for spec:
hdf5@1.10.1%gcc@7~cxx~debug~fortran~hl+mpi+pic+shared~szip~threadsafe arch=linux-fedora27-x86_64
while trying to concretize the partial spec:
netcdf+mpi
^m4
^mpich@3.3a2%gcc@7 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-fedora27-x86_64
^zlib@1.2.11%gcc@7+optimize+pic+shared arch=linux-fedora27-x86_64
netcdf requires hdf5 variant +hl, but spec asked for ~hl
* fix flake8 warning
* added relion v 2.1
* relion 2.1 - misssed comma
* relion now pulling from master branch - removed 2.03 - added cuda 8 as dependency given 9 does not yet work with relion per https://github.com/3dem/relion/issues/296
* r-igraph: find old packages in the archive
Fixes#6104.
* r-irlba: find old packages in the archive
Fixes#6101.
* r-lazyeval: find old packages in the archive
Fixes#6102.
* packages: set list_url for all packages hosted on CRAN
* packages: consistently use the CRAN archive URLs
Aspell compiles in the paths it looks for rather than looking relative
to its binary location. There are also no environment variables to
redirect it other than changing the path to the configuration file it
looks at.
- hdf5's +hl variant is required because the build uses libhdf5_hl.
- sz is only compatible up to version 1.4.10 because the library has
been renamed to libSZ in 1.4.11.
* Fixed the datatype flag in the LBANN package.
Fixed where the datatype flag should be set.
* Added variant to OpenCV to disable building DNN support
* Fixed a bug in how the elemental package tries to find its Fortran
library. The current method does not work with Intel compilers.
* Added necessary paths for cuDNN and CUB.
* Addressed flake8 issues in Elemental package.
* Fixed several flake8 errors. Added variant to build with or without
support for arbitrary-precision floating point arithmetic.
* Added the proper CMake flag when MPFR support is disabled.
* Fixed a bug in how the cudnn path was being set when there was no
cudnn requested. Also requested that OpenCV is built without eigen
support.
* Fixed another bug where a dependency may not be there and thus should
not be always checked.
* Added a package for the MDAnalysis toolkit.
* Changed dependency for the eigen library to not include support for
multiple-precision (arbitrary-precision) floating point arithmetic,
since OpenCV does not support these data types.
* Fixed incorrect implementation
* dockbook: remove update to dependent environment
Remove override of setup_dependent_environment in both docbook-xml
and docbook-xsl, which seems to generate a warning from spack about
"Suspicious requests to set or unset 'XML_CATLOG_FILES' found."
* flux: update version/dependencies to 0.8.0
Update flux-core to v0.8.0. Clean up dependencies and remove unneeded
extra invocation of ./autogen.sh when building from @master.
* flux: modify environment for Lua tests
Modify Spack environment to add `./?.lua` to LUA_PATH so that
fluxometer.lua can be found by tests during `make check` run
from `spack install --tests all flux`
* flux: fix broken flux version when on master
When building @master with spack, the flux version test from
`make check` fails because spack is using a shallow clone. Add
a setup section for @master that calls git pull --depth=50 --tags
to pull down tags and (hopefully) enough information for git-describe
to work properly.
A recent update (#5907) to htslib added a different URL for an old
version of htslib.
Now the package is using that URL as the pattern for the newer
versions too.
I have a vague memory of running into this before, that it's a known
issue.
This fixes it by adding an explicit `url_for_version` routine.
* Add bowtie2@2.3.0, fix dependencies and sbangs
Add support for bowtie2@2.3.0
- digest
- a patch for 2.3.0 that parallels the existing package. Truth be
told it builds (for me) without this, but I'm assuming that they're
there for a reason...).
- tune up dependencies
- need tbb
- don't need readline or zlib
Several things were installed with sbang's that use `/usr/bin/env` to
fine perl or python. Fix the dependency and clean up the sbang lines.
* Fix python exe name, avoid path banging
I'd cut and pasted the python bit from the perl bit and missed one
reference to perl.
While I'm there, use the cleaner `spec['perl'].command` instead of
banging together the path from its bits.
* Fix up the "when" constraints on the dependencies
Get the edge cases right.
- 2.2.5 doesn't need tbb, 2.3.[01] do.
- 2.3.1 needs readline and zlib.
The go team released 1.9.2 which includes fixes for some things
that 1.9.1 broke:
> ... include fixes to the compiler, linker, runtime, documentation, go command, and the crypto/x509, database/sql, log, and net/smtp packages. They include a fix to a bug introduced in Go 1.9.1 and Go 1.8.4 that broke "go get" of non-Git repositories under certain conditions.
* Exodus: skip the -G "Unix Makefiles" part
The problem is that spack passes -G "Unix Makefiles" into cmake, which normally
works. But in the Exodus package, it is being passed into a bash wrapper
script. In there, the $@ then loses the information about "Unix Makefiles"
being just one argument, and in effect passes -G Unix Makefiles into the cmake
(without quotes), and so cmake only sees -G Unix, and then fails. This is a
known problem with bash with no simple solutions. As a workaround, this patch
skips the first two arguments, i.e., -G and "Unix Makefiles". This makes it
work.
Fixes#5895.
* Port exodusii to cmake
The cmake options were taken from the cmake-exodus bash script and ported to
spack directly.
* Use variant forwarding to forward the 'mpi'
Now instead of
spack install exodusii~mpi^netcdf~mpi^hdf5~mpi
one can just use
spack install exodusii~mpi
* sw4lite: fix build errors and add variants
* sw4lite: change linking against blas and lapack
* change order of blas and lapack
* satisfy flake8 requirements
* Update package.py
* Add the custom paraview lib directory structure to the library paths in the paraview module file.
* Fixing flake8 issues.
* Checking if lib64 exists for paraview module file generation, else use lib.
* Fixing more flake8 problems I introduced.
Since LLVM 3.9 Clang can use the libc++ library by default using the
CLANG_DEFAULT_CXX_STDLIB cmake configuration variable, without having to
specify the -stdlib=libc++ option on the clang++ command line.
This commit makes clang++ use libc++ by default for LLVM 3.9 and later if the
libcxx variant is on.
Fixes#5942.
Chasing a performance regression has lead me to this change, going from default optimization gives a significant performance win. The sweet spot for zlib is apparently `-O2`, both `-Ofast` and `-O3` are slightly worse (regression is about 3% compared with `-O2) in my testing.
Happy to share my methodology with people so we can benchmark on a wider variety of systems.
* Add package for scalpel@0.5.3
Scalpel's a bit of a mess, it expects it's users to just unpack the
tarball, build it in the resulting directory and install that
directory onto their PATH. My install step recapitulates this into
prefix.bin. The alternative was rewiring their scripts (perl), which
use `FindBin` and expect things to be located in the same dir that the
script itself is.
Sigh.
Lightly tested on CentOS 7.
* Flake8 cleanup
* Additional flake8 cleanup
* Added procedure to edit sbangs of the parallel perl scripts.
* Specify the types of perl dependency
Adding ", type=('build', 'run')" to the dependency declaration to clarify when and how perl is required
* flake8 cleanup
The problem was that the configure script was not using spack's compiler
wrappers. We now pass the proper compiler wrapper using the CC argument
explicitly.
Fixes#5892.
* r-a4: Add r dependency and update url.
* r-a4base: Add r dependency and update url.
* r-a4classif: update url and add r dependency.
* r-a4core: Update url and add r dependency.
* r-a4preproc: Update url and add r dependency.
* r-a4reporting: Update url and add r dependency.
* r-abaenrichment: Update url and add r dependency.
* r-absseq: Update url and add r dependency.
* r-acgh: Update url and add r dependency.
* r-acme: Update url and add r dependency.
* r-adsplit: Update url and add r dependency.
* r-affxparser: Update url and add r dependency.
* r-affycomp: Update url and add r dependency.
* r-affycompatible: Update url and add r dependency.
* r-affycontam: Update url and add r dependency.
* r-annaffy: Update url and add r dependency.
* r-annotate: Update url and add r dependency.
* r-annotate: Update url and add r dependency.
* r-annotationdbi: Update url and add r dependency.
* r-genefilter: Update url and add r dependency.
* r-mlinterfaces: Update url and add r dependency.
* r-limma: Update url and add r dependency.
* r-multtest: Update url and add r dependency.
* r-a4classif: Correct format.
* r-affycomp: Correct error.
- When you don't use wildcards, flake8 will find places where you used an
undefined name.
- This commit has all the bugfixes resulting from this static check.
Jansson builds only a static library by default, which is probably
not what most users want. Add Cmake args required to build a shared
library and enable those via a default 'shared' variant of the
package.
* new package: hpgmg
* removed build and changed extend() to append()
* changes based on comments
* pep8 compliant
* addressed rest of comments
* trigger checks
* changed from fe_fv to two boolean variants
* fixed compilation issues
* cleared up ambiguities in solver variants
* removed +mpi condition
* changes based on review
#5776 cleaned up the way the the current working directory is
managed (less magic state).
bcl2fastq is packaged like a russian doll, rather than an archive file
that contains the source, there's a zip file that contains a tar.gz
file that contains the source. The package definition has a bit of
extra code that unpacks the inner tarball.
That extra bit of code now needs to explicitly arrange to be in the
correct directory before it does its work.
* py-mpi4py: Add develop version and dependencies
- Add cython dependency for develop version
- Add explicit python dependency
* py-mpi4py: Specify 2.0.1 instead of develop for conditional dep
Perl installs a couple of config files that need to be munged so that
they don't refer to the spack compiler. These files are installed
read-only. Behind the scenes 'filter_file' moves its file to a safe
place, and tries to create a working file that is both O_WRONLY and
has the perms of the original file. On an NFSv4 filesystem, the
combination of 'r--r--r--' and O_WRONLY throws a permissions error.
This commit adds a simple context manager that temporarily makes the
files writable.
* Add a new +clanglibcpp option for Boost
Currently, the compile of boost with clang will use the stdlibc++. This patch adds an optional flag to use clangs included libc++ instead.
* Linting
Fix long lines and white space errors
- Tests use a session-scoped mock stage directory so as not to interfere
with the real install.
- Every test is forced to clean up after itself with an additional check.
We now automatically assert that no new files have been added to
`spack.stage_path` during each test.
- This means that tests that fail installs now need to clean up their
stages, but in all other cases the check is useful.
1.64 had issues serialization (make_array and others) when built with
+mpi+python. It appears that those issues are fixed in 1.65.1
so we can remove preferred tag from 1.63.
* initial update of sundials package
* fix bugs in initial sundials update
* add xsdk cmake setup, fix generic math option, add cuda/raja Makefiles to install fixes
* Fix lapack install bug, add new conflicts, clean up formatting
* Address pull requeset comments and make fomatting style consistent
Remove blas variant as blas is only needed when used by an external
linear solver. Set related CMake blas variables as needed depending
enabled external linear solvers.
Add minimum required CMake version.
Additional conflicts and dependencies for external libraries based
on mpi, indextype, and precision.
Fix SuperLU_MT logic to check which threading type SuperLU_MT was
configured with.
Add maintaiers.
Change Sundials solver options to use an array of values.
Consistently use % for formatting.
* change triple-single quotes to single quotes
* Change indextype option to a single int64 option
* Add dmlc/mxnet packags.
* Build mxnet+cuda+opencv with GCC-4.8.5 and GCC-5.4.0.
* Build mxnet version 0.10.0, 0.10.0.post1 and 0.10.0.post2.
* Add component version constrain for mxnet 0.10.0.x .
* Go through flake8.
* Replace commit hash with commit date as package version.
* Go throught Travis-CI.
* Update submodule version for 0.10.0.post2.
* Add openmp variant for dmlc-core and mxnet.
* Refine variant handling.
* Fix filter_file for dmlc-core.
* Cut long strings into multiple lies due to PEP8 requirements.
* Fix for PEP8.
* Add CUB_INCLUDE.
* Add py-mxnet: Python binding for MXNet.
* Remove distutils.dir_util.
* Add the profiler variant for mxnet.
* Add a shared variant for nnvm.
* Set USE_OPENMP to OFF by default.
* Fix flake8 errors.
* Fix flake8 issues.
* flake8 issues again.
closes#5506
The application of patches to upstream executables has been reworked
according to the suggestions of the main developer in #5506. In
particular we are not maintaining a dictionary that maps plumed
versions to the versions of patchable executables, and we are using a
non-interactive command to patch applications.
All the comments on substituting plumed at run-time do not apply here,
since we use RPATH and we want to maintain a 1:1 relationship between
the DAG hash and the plumed library used.
* Add package for aspell and ass't dictionaries
Add a package definition for aspell.
Add a handful of dictionaries to convince myself that the support for
a bunch of dictionaries works.
* Flake8 cleanup
* Use six's version of urlparse
`urlparse` is not python3 friendly. This works around it (stolen from
`.../cmd/md5.py`).
* Fix incorrect trimming regexp
* Clean up dictionary build
- more parsimonious use of `which` (`make()` has already been made)
- use `sh` instead of `bash`
* Use a helper method to generate info for variants
I figured out my issues with static methods. I *think* that it this
is pythonic.
* Convert aspell to an extendable package
Convert aspell to be extendable and rework the dictionaries to be
extensions.
As it stands, there's a great deal of cut and paste in the
dictionaries, I'll abstract that out next.
The {de,}activate methods copy a great deal of code out of
package.py. Perhaps there's a better way....
* Create AspellDictPackage and use it for the dictionaries
Reduce the repeated code, pull it into a base class.
I'm confused about why 'from spack import *' wasn't more useful in the
base class.
* Oops, -de & -es should be AspellDictPackages too
* Typo: pakcage -> package
* Address some commentary
* Update copyright dates, 2016->2017
This is a simple package that drops their shell wrapper into
prefix.bin and their jar files into prefix.lib.
The approach comes from the picard package.
* Updating ag to the latest version
* Pretty by request
* Restore url to previous value
There *is* an https version available, but I've also been told
to not just update the url when adding new version. I'm following
the latter advice and trusting security to the digest.
* Adding maven v3.5.0
Updating package file to include later version of maven but still signifying a preference for the older
* removing specific preference flag
* ncl: Fix temp directory
Currently, ncl is configured using a transient temp directory. This
leads to warnings such as this when executing ncl later on:
warning:"/tmp/ncl_ncar_xxxxxx" tmp dir does not exist or is not writable:
NCL functionality may be limited -- check TMPDIR environment variable
As this also breaks some functionality, use the system temp directory
instead (typically /tmp).
* ncl: Depend on esmf
esmf is required for some ncl scripts (such as ESMF_regridding.ncl).
* Add link dependency on xproto to xau
The libxcb build was failing like so:
```
1 error found in build log:
[ ... ]
131 checking whether to build developer documentation... yes
132 checking for doxygen... /usr/bin/doxygen
133 checking for dot... /usr/bin/dot
134 checking for CHECK... no
135 checking for XCBPROTO... yes
136 checking for NEEDED... no
>> 137 configure: error: Package requirements (pthread-stubs xau >= 0.99.2) were not met:
138
139 Package 'xproto', required by 'xau', not found
140
141 Consider adjusting the PKG_CONFIG_PATH environment variable if you
142 installed software in a non-standard prefix.
143
```
This adds a link dependency on libxproto that allows the libxcb build to
succeed.
* Change more build deps to build, link
These were also necessary for emacs+X to build.
* Fix flake8 complaint
* edits to address issues where spack concretization attempts to set properties on already-installed specs
* most added checks only need to check if the spec is concrete; they dont also need to check if the package is installed
* add test to ensure that patches are not applied to an installed spec
* add test to ensure that an error is detected when a dependent requests a dependency constraint which conflicts with a requested installed dependency
* Add package for multitail@6.4.2
Lightly tested on CentOS 7.
* Responde to feedback/comments
Use `install_targets` to specify PREFIX= and DESTDIR= instead of
hacking away at the Makefile. Expand commentary about "Why?".
Use `headers.include_flags` and `libs.ld_flags` to avoid explicitly
setting `-L` and `-I` when hacking away at the Makefile.
* Added exasp2 spackage
Added spackage for exasp2 proxy app
* Fixed MPI in ExaSP2
Explicitly disabled MPI when not enabled.
Set MPI variant to default as per Spack standards
* Generalized BML Passing for ExaSP2
* Modified to follow spack rules on blas
Fortunately was able to modify exasp2 build system to support spack
model for blas and lapack requirements. No guarantee is made for support
of anything other than originally supported libraries
* Fixed flake8 error
explicitly set the zlib path for libpng configure.
fixes:
```
[ ... ]
92 checking for memset... yes
93 checking for pow... no
94 checking for pow in -lm... yes
95 checking for clock_gettime... yes
96 checking for zlibVersion in -lz... no
97 checking for z_zlibVersion in -lz... no
>> 98 configure: error: zlib not installed
```
This is a partial fix for #5564.
This package used to trust that `configure` would discover `gmp` from
its environment.
It's safer to tell it where to find `gmp` explicitly.
This does that by adding a configure_args() that provides a
`--with-gmp=...` argument for configure.
* Added support for BML+mpi variant
Added support for BML+mpi variant. Currently restricted to master
(develop) branch pending release of next bml tag
* Update package.py
Removing redundant statement
* Update package.py
Added explicit disabling of MPI when not requested
- A package can depend on a special patched version of its dependencies.
- The `Spec` YAML (and therefore the hash) now includes the sha256 of
the patch in the `Spec` YAML, which changes its hash.
- The special patched version will be built separately from a "vanilla"
version of the same package.
- This allows packages to maintain patches on their dependencies
without affecting either the dependency package or its dependents.
This could previously be accomplished with special variants, but
having to add variants means the hash of the dependency changes
frequently when it really doesn't need to. This commit allows the
hash to change *just* for dependencies that need patches.
- Patching dependencies shouldn't be the common case, but some packages
(qmcpack, hpctoolkit, openspeedshop) do this kind of thing and it
makes the code structure mirror maintenance responsibilities.
- Note that this commit means that adding or changing a patch on a
package will change its hash. This is probably what *should* happen,
but we haven't done it so far.
- Only applies to `patch()` directives; `package.py` files (and their
`patch()` functions) are not hashed, but we'd like to do that in the
future.
- The interface looks like this: `depends_on()` can optionally take a
patch directive or a list of them:
depends_on(<spec>,
patches=patch(..., when=<cond>),
when=<cond>)
# or
depends_on(<spec>,
patches=[patch(..., when=<cond>),
patch(..., when=<cond>)],
when=<cond>)
- Previously, the `patch()` directive only took an `md5` parameter. Now
it only takes a `sha256` parameter. We restrict this because we want
to be consistent about which hash is used in the `Spec`.
- A side effect of hashing patches is that *compressed* patches fetched
from URLs now need *two* checksums: one for the downloaded archive and
one for the content of the patch itself. Patches fetched uncompressed
only need a checksum for the patch. Rationale:
- we include the content of the *patch* in the spec hash, as that is
the checksum we can do consistently for patches included in Spack's
source and patches fetched remotely, both compressed and
uncompressed.
- we *still* need the patch of the downloaded archive, because we want
to verify the download *before* handing it off to tar, unzip, or
another decompressor. Not doing so is a security risk and leaves
users exposed to any arbitrary code execution vulnerabilities in
compression tools.
* Add '--test=all' and '--test=root' options to test either the root or the root and all dependencies.
* add a test dependency type that is only used when --test is enabled.
* test dependencies are not added to the spec, but they are provided in the test environment.
+ Count, or compute differences of, physical lines of source code in the
given files (may be archives such as compressed tarballs or zip files)
and/or recursively below the given directories.
* Autodock vina: spec
* Adding comment to patch. The implemnetation of boost is version dependent on older boost replacing depecrated function of boost.
* Adding in boost version dependency
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Add ability to build llvm-openmp-ompt alone, with gnu compilers and use the resulting ompt interface in cbtf-krell and openspeedshop to gather openmp specific performance information.
* Fix flake8 errors.
* Fix flake8 errors - stage 2.
* Fixes based on reviewer suggestions and comments.
* Use build_type variant to set the build type and allow changing of the type.
* Fix missing comma in cmake_arg list, found on another test machine.
* r-glmnet: Create New Package.
* pr-quantities: add version & py-numpy conflict (#5307)
* r-glmnet: Update version to 2.0-13
* r-matrix: Update version to 1.2-11
* r-lattice: Update version to 0.20-35.
The default implementation of Package.fetch_remote_versions will take
a URL like https://github.com/google/protobuf/archive/ and automatically
search https://github.com/google/protobuf/releases/ for new package
versions. In the case of protobuf the release/ path contains release
artifacts for a version and the archive/ path contains the desired
source. Since both are associated with the version, and
Package.fetch_remote_versions only stores one URL for a given version,
the two paths are in conflict; previously the URL returned for a
given version was arbitrarily chosen between the two paths. This
updates the definition for the Protobuf package to always search for
URLs in https://github.com/google/protobuf/archive/
* blas_lapack: add multithreading variant
* elemental: update
* intel-mkl: extend to macOS
* rename multithreading to threads
* intel-mkl: avoid long lines
* intel-mkl: make one install error a conflict
* openblas: fix a minor bug in the test
Update the git package to git@2.14.1.
This requires a pcre that has been built with `--enable-jit`, so this
adds a variant to pcre to support that and arranges so that git versions
before 2.14 depend on pcre and git 2.14 and after depend on pcre+jit.
Due to the logic in configure.ac, we may be using both the system
linker (LD_RO='ld -r -o') and the linker tied to the compiler (LD=$CXX).
This may produce weird link-time errors when the two executables are
not the same.
The PR works around the issue disabling 'ld -r'
Open MPI has been relying on versions of PMIx since the 2.0.0
release. Although the embedded version can be used, it makes
more sense long term for Spack to know about the PMIx package,
and to build Open MPI against PMIx as an external package.
There are other software components that may eventually be
reliant on PMIx including MPICH, GASNet, the OpenSHMEM reference
implementation, etc.
This is also partly motivated by the desire to have ECP ST
projects to be released through Spack.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
* Make texlive untrusted
TeXLive updates their installer without changing its name. We've been
playing keep-up with them, but I'm proposing it's not worth it.
I seem to end up installing it '--no-checksum' anyway.
This commit updates the package to make that approach official,
removing the checksum, adding a note to the description and a bigger
note/comment inthe package body.
* Pull installer from stable source (packages are still *live*)
This pulls the installer script from the "historic" repository. It
appears to be stable, so that we can use a checksum with it (one
hopes, time will tell).
The installer still pulls the packages from the live repos so
installations aren't reproducible.
Add r-biobase package. Remove explicit R dependency from r-biocgenerics
package (since it is an instance of RPackage). Update version for
r-biocgenerics and remove github versions.
* First draft package for sambamba
Depends on the ldc package (#5279) that alalazo's working on.
It requires a patch to the Makefile because one of ldc's library
functions mentions dlopen. I *think* that ldc should be handling
this. See the discusssion in #5279.
It also requires a "static" ldc. Again, see #5279.
Finally, it needs "undeaD" as a resource, but I'm guessing at the
appropriate release. See
https://github.com/lomereiter/sambamba/issues/312.
* alalazo renamed the shared_libs variant, keep up...
+ The recipe for cgns seems to be wrong. CMake complains about variables set but
not used (`HDF5_NEEDS_ZLIB`, `HDF5_NEEDS_MPI` and `HDF5_NEEDS_SZIP`) and fails
to find HDF5.
+ This change set removes these variables from the cmake configure line,
replacing them with `'-DHDF5_DIR=%s' % spec['hdf5'].prefix`
+ cgns also has trouble with parallel make, so I set `parallel = False`.
* fixes#967
* Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
* Don't assume spack is in the path when building docs.
* fixing build issues for gcc on osx
* reverting inadvertent change on develop
* fixing typesetting of bsws description
* very minor update to RTD docs footer to ref github contributors
* Revert "very minor update to RTD docs footer to ref github contributors"
This reverts commit c40d75da7f.
* switch fastmath to depend_on arpack_ng; remove arpack/parpack
* Module files now are generated using a template engine refers #2902#3173
jinja2 has been hooked into Spack.
The python module `modules.py` has been splitted into several modules
under the python package `spack/modules`. Unit tests stressing module
file generation have been refactored accordingly.
The module file generator for Lmod has been extended to multi-providers
and deeper hierarchies.
* Improved the support for templates in module files.
Added an entry in `config.yaml` (`template_dirs`) to list all the
directories where Spack could find templates for `jinja2`.
Module file generators have a simple override mechanism to override
template selection ('modules.yaml' beats 'package.py' beats 'default').
* Added jinja2 and MarkupSafe to vendored packages.
* Spec.concretize() sets mutual spec-package references
The correct place to set the mutual references between spec and package
objects at the end of concretization. After a call to concretize we
should now be ensured that spec is the same object as spec.package.spec.
Code in `build_environment.py` that was performing the same operation
has been turned into an assertion to be defensive on the new behavior.
* Improved code and data layout for modules and related tests.
Common fixtures related to module file generation have been extracted
in `conftest.py`. All the mock configurations for module files have been
extracted from python code and have been put into their own yaml file.
Added a `context_property` decorator for the template engine, to make
it easy to define dictionaries out of properties.
The default for `verbose` in `modules.yaml` is now False instead of True.
* Extendable module file contexts + short description from docstring
The contexts that are used in conjunction with `jinja2` templates to
generate module files can now be extended from package.py and
modules.yaml.
Module files generators now infer the short description from package.py
docstring (and as you may expect it's the first paragraph)
* 'module refresh' regenerates all modules by default
`module refresh` without `--module-type` specified tries to
regenerate all known module types. The same holds true for `module rm`
Configure options used at build time are extracted and written into the
module files where possible.
* Fixed python3 compatibility, tests for Lmod and Tcl.
Added test for exceptional paths of execution when generating Lmod
module files.
Fixed a few compatibility issues with python3.
Fixed a bug in Tcl with naming_scheme and autoload + unit tests
* Updated module file tutorial docs. Fixed a few typos in docstrings.
The reference section for module files has been reorganized. The idea is
to have only three topics at the highest level:
- shell support + spack load/unload use/unuse
- module file generation (a.k.a. APIs + modules.yaml)
- module file maintenance (spack module refresh/rm)
Module file generation will cover the entries in modules.yaml
Also:
- Licenses have been updated to include NOTICE and extended to 2017
- docstrings have been reformatted according to Google style
* Removed redundant arguments to RPackage and WafPackage.
All the callbacks in `RPackage` and `WafPackage` that are not build
phases have been modified not to accept a `spec` and a `prefix`
argument. This permits to leverage the common `configure_args` signature
to insert by default the configuration arguments into the generated
module files. I think it's preferable to handling those packages
differently than `AutotoolsPackage`. Besides only one package seems
to override one of these methods.
* Fixed broken indentation + improved resiliency of refresh
Fixed broken indentation in `spack module refresh` (probably a rebase
gone silently wrong?). Filter the writers for blacklisted specs before
searching for name clashes. An error with a single writer will not
stop regeneration, but instead will print a warning and continue
the command.
* Add --with-mpi=spec['mpi'].name at configure step to avoid error when finding 2 MPI implementations
* Improve scorep package with different compilers and mpi providers
Merge work from multiple contributors on the mesa package. This
includes the following changes and decisions:
* Added in mesa +hwrender support
* make +swrender the default selection since this represents a very
common usage case (ie, cluster usage)
* leave ~llvm as the default, since inadvertently building this package
could take a very long time. May need to revisit this assumption in
the future since the performance difference can be quite substantial.
* build libGLESv1+2 and libGL for all variants
* avoid dependence on dri/libdrm when ~hwrender
* disable gallium drivers if none are requested
- '\b' in regular expression needs to be in a raw string (r'\b')
- Regression test that would've caught this was unintentionally disabled
- This fixes the string and the test
Fixes a problem in ymake-filter: The line buffer is currently hardcoded to be
2048 bytes large but some Makefiles contain lines longer than that. This
caused the Makefiles to sometimes not be generated, consequently failing parts
of the build.
Fixes#4112
This commit extends the support of the AutotoolsPackage methods
`with_or_without` and `enable_or_disable` to bool-valued variants. It
also defines for those functions a convenience short-cut if the
activation parameter is the prefix of a spec (like in
`--with-{pkg}={prefix}`).
This commit also includes:
* Updates to viennarna and adios accordingly: they have been modified to
use `enable_or_disable` and `with_or_without`
* Improved docstrings in `autotools.py`. Raise `KeyError` if name is
not a variant.
* fix armadillo macro expansions
- most compilers `#define linux 1`
- armadillo does raw pasting of include directories in code
- this means macro expansion of `linux-x86_64` -> `1-x86_64`
- new version, previous download url seems broken
- lib64 instead of lib?
- needs verification, was required for intel, works for others
* flake8: two spaces is modules, one for classes
* add some explanation of how the patch works
* use p1 patch file with -U0 to prepend undef linux
* armadillo v8.100.1
* Improve PDToolkit support for different compilers
PDT dependency of TAU profiler doesn't use CC, CXX eb variables and needs command line arguments for compiler identification. If we don't pass compiler id then it uses gcc and result in link time errors while building TAU. This patch fixes it; tested with PGI and Intel compilers.
Renames the existing bootstrap command to 'clone'. Repurposes
'spack bootstrap' to install packages that are useful to the
operation of Spack (for now this is just environment-modules).
For bash and ksh users running setup-env.sh, if a Spack-installed
instance of environment-modules is detected and environment modules
and dotkit are not externally available, Spack will define the
'module' command in the user's shell to use the environment-modules
built by Spack.
* Added support to query packages by tags.
- The querying commands `spack list`, `spack find` and `spack info` have
been modified to support querying by tags. Tests have been added to
check that the feature is working correctly under what should be the
most frequent use cases.
* Refactored Repo class to make insertion of new file caches easier.
- Added the class FastPackageChecker. This class is a Mapping from
package names to stat info, that gets memoized for faster access.
- Extracted the creation of a ProviderIndex to its own factory function.
* Added a cache file for tags.
- Following what was done for providers, a TagIndex class has been added.
This class can serialize and deserialize objects from json. Repo and
RepoPath have a new method 'packages_with_tags', that uses the TagIndex
to compute a list of package names that have all the tags passed as
arguments.
On Ubuntu 14.04 the effect if the cache reduces the time for spack list
from ~3sec. to ~0.3sec. after the cache has been built.
* Fixed colorization of `spack info`
pkgconf is a new pkg-config implementation with additional features and
no external dependencies.
For a detailed comparison, see: http://pkgconf.org/features.html
Adds a development version of boost, based on their github master
repo.
Git clones the submodules forever, but installs! :)
Useful for testing since boost tends to break complex software
dependencies quite often. This helps testing it before releases.
* Package 'cdo': removed obsolete version 1.6.9.
* Package 'cdo': updated urls.
* Package 'cdo': added version 1.9.0.
* Package 'cdo': no need to specify per version urls.
* Package 'cdo': switched from Package to AutotoolsPackage.
* Package 'cdo': added new variant 'openmp'.
* Package 'cdo': variants 'curl' and 'magics' by default.
Users can now add an optional custom message to the conflicts directive.
Layout on screen has been changed to improve readability and the long
spec is shown in tree format. Two conflicts in `espresso` have been
modified to showcase the feature.
- Python I/O would not properly interleave (or appear) with output from
subcommands.
- Add a flusing wrapper around sys.stdout and sys.stderr when
redirecting, so that Python output is synchronous with that of
subcommands.
- This should speed-up Travis CI tests and refers to #5049
- Travis uses build-stages to group tests together
- The idea is to let fast tests fail first, then move to longer ones.
- Added external perl to avoid download failure from CPAN and reduce build time
- Disabling perl-dbi: continues to fail with (504 Gateway Time-out) on Travis
- We now cover all the build systems in tests:
- Add back `openblas` to Travis as a separate package.
- Switched `openblas` for `astyle` to build a simpler MakefilePackage.
- Added 'tut' (WafPackage)
- Added 'py-setuptools' (PythonPackage)
- Added 'perl-dbi' (PerlPackage)
- Added 'build_systems' directory to the ones for which we get a summary
- Added 'openjpeg' (CMakePackage)
- Added 'r-rcpp' (RPackage)
- Added comments to build tests to show the covered build system
+ gitk (and possibly other tools) expect to find the Tk executable `wish`, so
add a symlink with this name that points to the the versioned filename.
+ Example: `wish --> wish8.6`
Previously, when +graph and +mpi were enabled, the graph library
was replaced with the graph_parallel library. This alters the
logic for +graph+mpi to build both libraries.
* Gaussian: Gaussian install
* Adding Patch to spack installed files
* Adding extra environment variables for gaussian at run time
* Adding provides linda
* Adding linda as a provided package
* Shortning vars and fixing flake8 indentation and spacings
this is a fix to an installation that failed due to
configure for some reason not finding the libiconv
shipped with glibc, but still trying to link against it
see http://xmlsoft.org/FAQ.html
* Refactor IntelInstaller into IntelPackage base class
* Move license attributes from __init__ to class-level
* Flake8 fixes: remove unused imports
* Fix logic that writes the silent.cfg file
* More specific version numbers for Intel MPI
* Rework logic that selects components to install
* Final changes necessary to get intel package working
* Various updates to intel-parallel-studio
* Add latest version of every Intel package
* Add environment variables for Intel packages
* Update env vars for intel package
* Finalize components for intel-parallel-studio package
Adds a +tbb variant to intel-parallel-studio.
The tbb package was renamed to intel-tbb.
Now both intel-tbb and intel-parallel-studio+tbb
provide tbb.
* Overhaul environment variables set by intel-parallel-studio
* Point dependent packages to the correct MPI wrappers
* Never default to intel-parallel-studio
* Gather env vars by sourcing setup scripts
* Use mpiicc instead of mpicc when using Intel compiler
* Undo change to ARCH
* Add changes from intel-mpi to intel-parallel-studio
* Add comment explaining mpicc vs mpiicc
* Prepend env vars containing 'PATH' or separators
* Flake8 fix
* Fix bugs in from_sourcing_file
* Indentation fix
* Prepend, not set if contains separator
* Fix license symlinking broken by changes to intel-parallel-studio
* Use comments instead of docstrings to document attributes
* Flake8 fixes
* Use a set instead of a list to prevent duplicate components
* Fix MKL and MPI library linking directories
* Remove +all variant from intel-parallel-studio
* It is not possible to build with MKL, GCC, and OpenMP at this time
* Found a workaround for locating GCC libraries
* Typos and variable names
* Fix initialization of empty LibraryList
* Added a package for the MDAnalysis toolkit.
* Openblas now builds with clang when using 0.2.20
* Fixed flake8 error
* Added a guard to fail for openblas+openmp when on OSX systems
* Changed the guard to look for Apple's build of clang and to improve
the error messages.
* Removed blank line.
`h5z-zfp` now builds zfp with correct bit stream word size; the syntax of the variant declaration did not work in previous versions of spack but does now
Adds the "buildcache" command to spack. The buildcache command is
used to create gpg signatures for archives of installed spack
packages; the signatures and archives are placed together in a
directory that can be added to a spack mirror. A user can retrieve
the archives from a mirror and verify their integrity using the
buildcache command. It is often the case that the user's Spack
instance is located in a different path compared to the Spack
instance used to generate the package archive and signature, so
this includes logic to relocate the RPATHs generated by Spack.
* py-networkx: adding older version py-networkx
* py-pypeflow: new package
* falcon: adding new package
pacbio-daligner: adding new package
pacbio-damasker: adding new package
pacbio-dazz-db: adding new package
pacbio-dextractor: adding new package
* py-networkx: modifying version order to be in line with convention
* falcon: tweaking py-networkx dependency to satisfy setuptools
py-pypeflow: adding missing dependency
* pacbio-dextractor: changing hdf5 dependency
* pacbio-daligner: adding gmake build dep
pacbio-damasker: adding gmake build dep
pacbio-dazz-db: adding gmake build dep
pacbio-dextractor: adding gmake build dep
* mpest: new package
* adding architecture env var and making more version-flexible
* fixing environment
* fixed build directory
* getting rid of duplicated code
* signalp: new package
* fixed homepage
* fixed url and phases
* refixed phase
* improved readability
* making path in execuatble adaptable to new versions
* fixes#967
* Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
* Don't assume spack is in the path when building docs.
* adding mfem variants; do not assume build defaults
* adjusting format to clarify options
* fixing some build issues
* fixing mfem+sundials
* removing mesquite variant...turns out it is obsolete
* adding examples to mfem; fixing sundials darwin installs
* adding some additional variants and setting some configure flags by fiat
* switching most check_variants logic to conflicts() directives
* adding comment about cmake config
* fixing flake8 issues; thought I had already done that
* moving func def into install method
* switch yes_no to no_yes; fix miss-spelling of miniapps
* switching make target all to lib
* changing yes_no to function as requested; fix problem with same in sundials
* fix missing import sys directive
* adding master and develop versions to amrex
* Added a package for the MDAnalysis toolkit.
* Added additional packages that Elemental depends on.
* Changed LBANN to not ask for the scalapack variant in Elemental.
* Removed variant control on scalapack
* New package: qbox
* API changes
* Use install instead of shutil for comd
* Use any BLAS library
* Fix typo
* Python2 fix
* python2 + fix backslashes
* Modified to respond to ld_flags correctly
* Modified to use ld_flags
* Add ld_flags support
* Updated Changes
* Updated AMG with required MPI
* Updated AMG with Version ' changes'
* Fixed Issues with flag's and variant checks
* Updated with MPI Alone and Changes - NO Serial Variant
* Updated with MPI Alone and Changes - NO Serial Variant
* Fixed Flake 8 line length error
* Updated Spack Issues
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Add new OpenSpeedShop gui package based on qt4/qt5 gui toolkit.
* Fix flake8 errors.
* Fix flake8 errors.
* Update bcl2fastq2 with info for 2.19.1.403
Heads up, the download location changed (domain name AND protocol).
* Flake8 fix
What's one space between friends?
* Adding lower bound to pnetcdf conflict in Trilinos to allow for use of develop and master branch.
* Using even lower bound for pnetcdf conflict in Trilinos.
* Added a package for the MDAnalysis toolkit.
* Changed cmake_options to args to be consistent with the rest of the
file and fix a cmake error about undefined errors. Additionally,
added guards for both png and zlib to not include their cmake options
when those variants are not specified.
* slurm: added initial recipe
* Modified variants following Adam comment.
The MV variant 'features' has been turned into a set of BV variants. The
dependency on 'readline' has been made optional.
* new package: cns-nospec
* made changes as suggested and added proxy-app tag
* updated edit()
* adjusted logic for '+debug'
* install readme and license
* install readme and license
* install readme and license; fix mpi version build issues
* fix build issues for ~mpi
* pep8 compliant
* new package: amr-exp-parabolic
* removed boilerplate and added tag
* install license and readme
* fix mpi build issues
* change access to include/lib directories and pep8 compliant now
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.
* Fix issues with the cbtf-argonavis package.py files related to comments.
* Add changes for changing the krell packages from Package to CMakePackage.
* Add better changes for changing the krell packages from Package to CMakePackage.
* Add more modifications for changing the krell packages from Package to CMakePackage.
* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros
* Fix new travis errors.
* Fix new travis errors.
* Add more changes for PR 4765.
* Add more refinements to the conversion from Package to CMakePackage.
* Fix new travis errors.
* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.
* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.
* Fix more flake issues caused by last changes.
* Fix a bug where openspeedshop will not build when no mpi variants are specified. Also switch to a multiple level variant for building the gui(s). Use none, qt3, and qt4 as the variants with qt3 being the default.
* Add fix for spack issue #4843, where LTDL include files were not found.
* Add the build_type variant back into the openspeedshop package file.
* Add new package for the Argo Navis/Krell new graphical user support library: QtGraph.
* Revert "Add new package for the Argo Navis/Krell new graphical user support library: QtGraph."
This reverts commit f8883de446.
* Add new package for the Argo Navis/Krell new graphical user support library: qtgraph.
* Fix flake8 errors.
* Fix flake8 errors.
* Fix flake8 errors.
* Fix flake8 errors.
* Fix flake8 errors.
* Add changes to support QMakePackage class instead of Package class for qtgraph.
* Update change for suggested reviewer improvements.
* Fix flake8 errors.
* Fix flake8 errors.
* new package: VPFFT
* install readme and license
* misc
* changed version name to 'develop'
* removed the misplaced package file
* updated eigen path, fixed docstring, and updated 'docs' installation method
* pep8 compliant, changed installation of docs
IceT places its CMake module in the wrong directory,
which is not included in the default CMake search paths.
This fixes it for *directly* depending packages without the
need to add
```yaml
icet:
environment:
prepend_path:
CMAKE_PREFIX_PATH: '${PREFIX}/lib'
```
to the `modules.yaml` as a workaround.
* Molcas 8.2: Adding molcas spec file
* Molcas 8.2: Putting in patch file for molcas driver not to be installed in spack stage directory
* Molcas making changes
* Making changes in ordering
* transabyss: new package and dependencies
* fixed build deps in igraph and version conflict spec in abyss
* fixed versioning stuff and package structure
* fixed dep type
* fixing dep type for real this time
Build system "usually" autodetects mpi library but this is
not the case on many platforms. Provide mpi library name/version
as part for configure args.
* savanna: explicitly adding variant sz to adios since it is no longer enabled by default in adios
* savanna: removing +sz from adios as sz is now enabled in adios by default
* savanna: explicitly specifying adios variants required by savanna
* adios: conform to pep8
* adios: added versions 1.11.0 and 1.12.0
* adios: added variant no_mpi to explicitly disable mpi support
* adios: add new variant mxml
adios v1.12.0 onwards contains an xml library built within.
To build with an external mxml, a new variant must be used
* adios: new variant for sz transform
* adios: flexpath and dataspaces staging variants
Two new variants for staging: flexpath and dataspaces.
New variant 'staging' that will enable both
* adios: dependency on libtool:2.4.2 since adios does not build with newer libtool 2.4.6
* adios: better description for variant no-mpi
* adios: new variant for netcdf
as requested by @mamelara from LBL
* adios: renamed variant 'no_mpi' to 'serial'
* adios: removed variant mxml
* adios: corrected implementation of the mpi dependency, along with its relation with the 'serial' variant
Added conflicts between 'serial' and other variants
* adios: added 'else' clause when variants are not added
* adios: replaced variant 'serial' with 'mpi'
* adios: Added configure option to explicitly disable variants that are not enabled.
* adios: setting default zfp to true
* adios: fixed flake8 errors
* adios: removed some old comments
* adios: setting default sz to False.
It is recommended to set default to False when dependency is on develop (sz@develop).
* adios: removing dependency on develop for sz and setting default sz to true
* adios: updated url to latest release.
Just keeping it clean
* new package:SNAP
* removed boilerplate
* Delete .nfs00000000003a8b1700001358
* install another executable in bin and install readme
* added quotes around README.md
* moved readme to prefix
* Added a package for the MDAnalysis toolkit.
* Added a patch that allows Elemental to use cuBLAS internally.
* Added support for LBANN to use the new cuBLAS extension in Elemental.
* Added a proper variant for when LBANN does not want to use cuBLAS in
elemental.
* Added a package for the cnpy project and used it in the lbann package.
* Removed unnecessary comment lines.
* Removed blank lines
* Removed debug variant
* Add support for libjpeg-turbo
* Added additional variants for OpenCV features. Fixed bug when linking
in TIFF support, where libtiff used the regular JPEG library and
OpenCV used libjpeg-turbo. Now libtiff can use libjpeg-turbo.
* Removed the variant for getting Elemental to use the cublas variant.
Updated the requirements for OpenCV to add new options.
* Fixed a flake8 error in OpenCV and added a path to find cnpy in lbann.
* Fixed line too long flake8 error.
* Added a flag to specify the datatype size in lbann and fixed a flake8 error.
* Added a debug build variant using hte new build_type
* Fixed flake8
* Fixed how the debug build is pushed to Elemental
* Fixed a bug in the Elemental package where the blas search flags were
being overridden by the blas link flags. Changed how the sequential
initialization variant is implemented in LBANN.
* Added support via a variant to explicitly use mkl or openblas. This
helps work around variant forwarding problems.
* Updated package files to address pull request comments.
* new package: cns-nospec
* made changes as suggested and added proxy-app tag
* updated edit()
* adjusted logic for '+debug'
* install readme and license
* install readme and license
* new package: SMC
* removed template and added proxy-app tag
* added comp variant in edit()
* edited comp variant in edit()
* move executable and input file into bin and install readme and license
Fixes#4898
Constraints that were supposed to be conditionally activated for
specified values of a single-valued variant were being activated
unconditionally in the case that the variant was associated with
an implicit dependency. For example if X->Y->Z and Y places a
conditional constraint on Z for a given single-valued variant on
Y, then it would have been applied unconditionally when
concretizing X.
Earlier versions of boost had a fixed maximum number of jobs. 1.54
was 64, it bumped once or twice afterwards and in 1.59 [this
commit][commit] it became dynamic.
I need 1.54 for as a prereq for bcl2fastq but I can't build 1.54 on my
144 core build box.
This fixes that.
[commit]: 316e26ca71
* Fix cdefs macro to be compatible with gcc 4.8.x
See the discussion in #4945 (after the merge) for additional
background.
libbsd builds with gcc@5.4.0 on CentOS 7, but not with the system's
gcc@4.8.5. Others have reported problems with gcc@4.8.3 on Fedora 19.
The problem boils down to the lack of support for the clang extension
`__has_include_next`. The immediate symptom seems to be the
pre-processor using defining macro like this
```
```
then then tripping over an expansion of it like this:
```
blah.h:13:23: error: missing binary operator before token "("
```
This patch changes the macro definition to:
```
```
which swallows the arguments with which the macro is invoked.
The end result is that libbsd builds for me on CentOS 7 using the
system compiler.
* Apply this patch for any compiler version before 5
This includes subversions of 4, like 4.8.5.
* chlorop: new package
* chlorop: moving main script to bin and moving runtime tmp location.
* chlorop: fixing flake8 error.
* chlorop: cleaning up, removing CHLOROTMP, advising user to set it.
* chlorop: removing unused import
Adds ADIOS2, the C++ Exascale HPC I/O rewrite of ORNL's ADIOS
library.
Currently, many variants (especially for data transforms such as
compression) are not yet added. It already provides Python bindings.
* Changed every 'fpic' variant to 'pic'. fixes#2463
Every variant that activates compilation of position independent code
has been changed to 'pic'. Hardcoded compiler flags in packages have
been substituted with `self.compiler.pic_flag`.
* Changed literal uses of '-fpic' to 'self.compiler.pic_flag'
* Add a QMakePackage base class
* Fix sqlite linking bug in qt-creator
* Add latest version of qt-creator
* Add latest version of qwt
* Use raw strings for regular expressions
* Increase minimum required version of qt
* Add comment about specific version of sqlite required
* Fixes for latest version of qwt and qt-creator
* Older versions of Qwt only work with older versions of Qt
* SCR CMake package
* Fix dtcmp variant description and set pdsh deptypes to build/run
* added variants for system config file location
* add variants for several scr cmake options
* Added more variants for compile time options
* Added libyogrt and made corrosponding changes to scr package.
* Cleanup yogrt package now that Ive verified it works
* Added description for libyogrt
* upper case async api names
* Make use of mv variants
* fix pdsh package for scr
* added IBM BBAPI as async option
* update pdsh and scr to use static pdsh modules
* Add package for libbsd, add variant to expat for libbsd
The recent expat release requires a high quality source of randomness.
CentOS 7 does not seem to have one, but one is available in libbsd.
This commit adds a package for libbsd and adds a variant to expat to
use it (defaults to False).
* Make libbsd default for newer, conflict for older
Make the libbsd variant default to true.
Conflict if you're asking for libbsd and an older version of expat.
This means that in order to install an older version of expat you'll
need to specify `~libbsd`.
* Rework so that 2.2.0 and 2.2.2 work by default
Get rid of the conflicts and use better constraints/tests in the
`depends_on` and the `configure_args` bits.
* Add package for canu
There's a top-level perl script, which is touched up to use a
spack-built perl instead of `#!/usr/bin/env perl`. It's
self-contained, it uses `FindBin` to locate it's libaries.
* Add dependency on gnuplot
I noticed a hidden mention of the use of gnuplot in the docs.
This adds the dependency.
* Tighten dependencies, flake8 cleanup
gnuplot is a run dependency.
jdk is a run dependency.
perl is a run dependency.
Make flake8 happy.
* Protobuf: CMake
This rebuilds protobuf to be build with CMake,
so cmake config packages are created and installed, too.
Unfurtunately, this drops support for protobuf < 3.
* Protobuf CMake: Add .pc files
* libprotobuf.a: -fPIC
* Protobuf: Minor Updates
Updates from upstream review and planned patch inclusion.
* Fix xsdk build broken by petsc and trilinos
See #4891 for details
* Fix version conflict in trilinos package
Trilinos version 11 may conflict with superlu-dist.
The version "xsdk-0.2.0" was conflicting with superlu-dist,
even though it shouldn't. I added a lower bound to the
comparison to fix this problem.
Thanks for the help @davydden!
For packages which contain a mix of versions with formats X.Y and
X.Y.Z, if the user entered an X.Y version as a preference in
packages.yaml, Spack would get confused and favor any version A.B.Z
where X=A and Y=B. In the case where there is a mix of these version
types, this commit updates preferences so Spack will favor an exact
match.
Adds the cppzmq library, adding a C++ API to ZeroMQ (libzmq). In order to find the autotools-build libzmq, this requires the upcoming cppzmq release (or development branch).
zsh's configure script fails if there's it tries to test for terminal
functionality if there's not a terminal (e.g. in a Jenkins build).
The configure script has a switch that asserts that tcsetpgrp works
and thereby avoids running that test.
This commit adds a variant that invokes that switch, defaulting to
True.
Adds a the latest version of gBenchmark, release 1.2.0.
This is the first gBenchmark version with proper
[CMake config package installs](https://github.com/google/benchmark/issues/363).
This is important for dependencies building against it, such as gRPC.
* Initial Spackage for qmd-progress library
PROGRESS is a library is focused on the development of general solvers
that are commonly used in quantum chemistry packages.
* Removed LA-CC from description to fix formatting
* Added Additional Formatting Requests
Added requested formatting changes and also ensured that graphlib and
mpi are disabled if not enabled
* New Pacakge: lcals
* added logic for arch detection and compiler choice.
* fixes for comments.
* addressed comments.
* removed LCALS_ARCH and added flags though spack.
* addressed comments.
* flake 8 fix.
* reerted the changes along with comments.
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.
* Fix issues with the cbtf-argonavis package.py files related to comments.
* Add changes for changing the krell packages from Package to CMakePackage.
* Add better changes for changing the krell packages from Package to CMakePackage.
* Add more modifications for changing the krell packages from Package to CMakePackage.
* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros
* Fix new travis errors.
* Fix new travis errors.
* Add more changes for PR 4765.
* Add more refinements to the conversion from Package to CMakePackage.
* Fix new travis errors.
* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.
* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.
* Fix more flake issues caused by last changes.
* Fix a bug where openspeedshop will not build when no mpi variants are specified. Also switch to a multiple level variant for building the gui(s). Use none, qt3, and qt4 as the variants with qt3 being the default.
* Add fix for spack issue #4843, where LTDL include files were not found.
* Add the build_type variant back into the openspeedshop package file.
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* added tags.
* changes to use MPI as depedency.
* removed MPI as variant.
* changed pointer to filtered makenek file.
* flake 8 fix.
* Add universal build_type variant to CMakePackage
* Override build_type in some packages with different possible values
* Remove reference to no longer existent debug variant
* Update CBTF packages with new build_type variant
* Keep note on build size of LLVM
* fixes#967
* Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
* Don't assume spack is in the path when building docs.
* Remove PKG_CONFIG_PATH from tmux configure
* Change tmux to AutotoolsPackage
* Correct link to libtinfo in tmux
* Change version.up_to() to return Version() object
* Add unit tests for Version.up_to()
* Fix packages that expected up_to() to return a string
* Ensure that up_to() preserves separator characters
* Use version indexing instead of up_to
* Make all Version formatting properties return Version objects
* Update docs
* Tests need to test string representation
* perl: prepend default perl @INC path to support package activation
* perl: remove stray comma from list of configure arguments
* perl: final comma in configure arguments makes adding arguments safer
This reverts commit fdc10cd611f525ebc31ca1953e048095b1c75350.
* perl: add comment about modified @INC (thanks to George Hartzell)
* perl: use self.prefix.lib and self.prefix.bin for clarity
* perl: convert tabs added by editor to spaces for flake8
* perl: use new path syntax: prefix.lib.perl5
* perl: avoid line break before binary operator
* perl: use compact spack syntax for perl executable
* gBenchmark: Development Package
Add the development version (master branch) of `gBenchmark`
* gBenchmark: Remove Duplicate
Remove duplicate `gbenchmark` library
and keep its patch to remove the shipped
-Werror
Adds SpackCommand class allowing Spack commands to be easily in Python
Example usage:
from spack.main import SpackCommand
info = SpackCommand('info')
out, err = info('mpich')
print(info.returncode)
This allows easier testing of Spack commands.
Also:
* Simplify command tests
* Simplify mocking in command tests.
* Simplify module command test
* Simplify python command test
* Simplify uninstall command test
* Simplify url command test
* SpackCommand uses more compatible output redirection
Installing the stable version 0.5 through the checksummed tar.gz does not fetch the git submodule in the package.
The submodule appears as an empty directory.
Thus, clone the commit tagged as v0.5 using git to get around this issue
* savanna: modified adios dependency spec
* Replaced adios+staging with adios+flexpath+dataspaces
* savanna: Enabling fortran support in adios by default
* savanna: reverting to variant 'staging' for enabling all staging transports
- +swrender variant lets you compile an off-screen only version for
software rendering on clusters.
- +swrender+llvm for using llvm for the software pipe
- added newer versions (17.1 and 13.0) and corrected the url location
to use the canonical location.
* gtkorvo-atl: atl library from gtkorvo
* gtkorvo-dill: dill library from gtkorvo
* gtkorvo-cercs-env: cercs_env library from gtkorvo
* gtkorvo-enet: Enet networking library from gtkorvo
* libffs: FFS middleware communication library from GTKorvo
* libevpath: EVPath high performance communication library from GTKorvo
* gtkorvo-cercs-env: Added homepage and removed function configure_args
* gtkorvo-cercs-env: Re-add of accidental removal of cmake_args function in previous commit
* gtkorvo-enet: Removed configure_args since unused
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* addressed comments
* removed string formatting for LDFLAGS.
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.
* Fix issues with the cbtf-argonavis package.py files related to comments.
* Add changes for changing the krell packages from Package to CMakePackage.
* Add better changes for changing the krell packages from Package to CMakePackage.
* Add more modifications for changing the krell packages from Package to CMakePackage.
* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros
* Fix new travis errors.
* Fix new travis errors.
* Add more changes for PR 4765.
* Add more refinements to the conversion from Package to CMakePackage.
* Fix new travis errors.
* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.
* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.
* Fix more flake issues caused by last changes.
* Initial work on flag trapping using functions called <flag>_handler and default_flag_handler
* Update packages so they do not obliterate flags
* Added append to EnvironmentModifications class
* changed EnvironmentModifications to have append_flags method
* changed flag_val to be a tuple
* Increased test coverage
* added documentation of flag handling
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* added tags and other minor changes.
* removed tags from description.
* new package: CLAMR
* changed from bool variants to single value variants and corresponding logic in build_type and cmake_args
* lowercase variant values
* updated conditionals for variants
* adjusted url and docstring