* OpenFOAM: rationalize architecture options
- older versions of OpenFOAM had WM_ARCH_OPTION to choose a 32-bit
build on 64-bit architectures. This is not exactly relevant anymore
and has now been largely removed from OpenFOAM.
- simultaneously the newest version of OpenFOAM has rationalized the
handling of special settings for KNL by rolling these into the
compiler options. We now do the same thing here in spack.
1. Reuse the internal variable arch_option to convey processor-specific
optimizations and add these into the C++OPT=... statement.
2. Drop spack support for configuring a 32-bit build on 64-bit
hardware.
These changes can also be applied to older OpenFOAM versions, and to
various OpenFOAM forks without issue.
* update openfoam versions. New release 1906, patched 1812 version.
ncl does not build with newer versions of gdal (or rather proj). This
also needs a small change to gdal, otherwise we end up with both proj@5
and proj@6 in the spec.
* Remove individual font-* packages and add them as resources of the
font-util package
* Update font-util package to Autotools-based package, and call
autoreconf to regenerate the old configure script
* Add font-adobe-utopia-type1
* fmt: Add cxxstd variant, plus cmake/c++ patches
Spack supported versions of fmt default to C++11 for versions
less than 5, C++14 greater than 5, with fmt implementing
fallbacks to whatever compiler supports.
To give better ABI compatibility and use of newer standards, provide
a `cxxstd` variant defaulting to 11 with 98-17 options. Use cmake_args
to set CMAKE_CXX_STANDARD as appropriate, plus use of `FMT_USE_CPP11`
option for C++98 builds. Use `conflicts` to disable use of certain
standards in versions that don't support, or fail the build, with
those standards.
Add patches to unify use of `CMAKE_CXX_STANDARD` in 3.0 versions,
remove hard-coding of compiler flags in `fmt-config.cmake`, and
prevent use of C++11 features in 4.1.0 when in supported C++98
mode.
Default to not building documents as no dependency on Doxygen is
yet present, and they are not part of the "all" build.
* Use CMake to enforce C++ standard support
Fail configure step if fmt tries to build with a cxxstd variant
not supported by the compiler (or known to CMake).
* fmt: New version 5.3.0
* The py-pytables package depends on hdf5-blosc
* Further modifications to py-pytables package
The 3.2.2 version of py-pytables should still build with internal blosc.
The issue with locking in a multithreaded environment has been
fixed/worked around in version 3.3.
Also, add bzip2 and lzo variants.
* new package/py-blessed
* make flake8 happy
* fix docstring
* tab to spaces
* Update var/spack/repos/builtin/packages/py-blessed/package.py
specify dependency version.
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-blessed/package.py
specify dependency version
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* add setuptools as depedency
Starting with 1.69.0, boost added a bjam option for the default symbol
visibility. Up to 1.68.0, the value was always 'global'. 1.69.0
changed the default to 'hidden' but added an option.
Most packages will work with hidden and won't notice. But some
packages may discover that an interface that they rely on is now
hidden and inaccessible.
https://boostorg.github.io/build/manual/develop/index.html#bbv2.builtin.features.visibility
For resources, it is desirable to use the expanded archive name of
the resource as the name of the directory when adding it to the root
staging area.
#11528 established 'spack-src' as the universal directory where
source files are placed, which also affected the behavior of
resources managed with Stages.
This adds a new property ('srcdir') to Stage to remember the name of
the expanded source directory, and uses this as the default name when
placing a resource directory in the root staging area.
This also:
* Ensures that downloaded sources are archived using the expanded
archive name (otherwise Spack will not be able to determine the
original directory name when using a cached archive).
* Updates working_dir context manager to guarantee restoration of
original working directory when an exception occurs
* Adds a "temp_cwd" context manager which creates a temporary
directory and sets it as the working directory
Starting with 2.1.0, backports.functools_lru_cache replaces functools32
when using python 2.7.x until python2 support is dropped in 3.0.0.
Change-Id: I8db61eac975da0042f6f5babe0f5f0c92807200e
Fixes#11526
The xfd configure script tests for libintl but incorrectly concludes
that no additional library is needed because gettext is provided in
libc. So we add '-lintl' to ldlibs to point to the Spack-installed
gettext. Note that the xfd configure script does not have a
--with-gettext option to do this for us.
Also add version 1.1.3
* xtensor-python: add version 0.23.1
* xtensor-python: update xtensor/xtl dependency version constraints
for 0.23.1
* xtensor-python: remove xtensor/xtl dependency version constraints
for the develop version to favor the latest (develop) version of
these dependencies
* xsimd: add version 7.2.3
* xtensor: add tbb variant to enable TBB parallelization
* xtensor: add version 0.20.7
* xtensor: update CMake args enable xsimd/tbb support based on
variant settings
* xtl: add version 0.6.4
* Added Cinch Spackage and updated Flecsi to Use It
Added spackage for Cinch build system and updated flecsi spackage to use
the external version of cinch
* Flake8 compliance for Cinch and Flecsi
* Fixed Cinch Issue and Requested PR Changes
Swapped cinch back to master branch rather than test branch and style
issues for PR
repeatmasker depended on HMMER but was never actually configured to
use it. The package also had many shebangs pointing to random perl
locations, now patched to use Spack's perl installation.
* Also add version 0.10.0
* Add leading '0' to 0.9.x versions (e.g. 0.09.1) and 0.8.x versions
* Don't mention acts-framework, that package isn't in Spack yet
* Updates to libMesh: added v1.3.1 checksum, added vtk variant, bugfix for enabling petsc when slepc variant is specified
* fixed indentation issues identified by Travis CI
* - updates version number
- added master as a version
- added new variant options for perflog, metaphysicl and blocked storage
-- bug-fix for metis
* fixes for spack indentation errors
* renaming develop to master following review comment of PR.
- A program that generates ASCII pictures of a cow with a message.
- This is used by the ISC19 Singularity tutorial, so we should probably
have it in Spack.
* new package: mutationpp
* Update package.py
* flake8: correct package.py for flake8-python-style
* Update package.py
* modifications as requested by reviewer for #11705
Change 'destination' to 'placement' in the use of resource() for
intel-xed and hpcviewer. Recent commits (1842873f and eb584d89)
changed the directory path for a resource and thus broke the build
for these packages.
#11528 updated Stage to always store a Package's source in a fixed
directory accessible via `Stage.source_path` This left behind a
number of packages which were expecting to access the source code
via `Stage.path`. This Updates those packages to use
`Stage.source_path` instead.
This also updates the name of the fixed directory: The original name
of the fixed directory was "src", so if an expanded archive created a
"src" directory, then users inspecting the directory structure could
see paths like "src/src" (which wasn't wrong but could be confusing).
Therefore this also updates the name of the fixed directory to
"spack-src".
* warpx: only allow master branch, and fix build on darwin
* warpx: Added CXXFLAGS=-std=c++11 for clang
* warpx: further clean up of openmp and c++11 flags
* warpx: Get around the problem with resources
The update uses placement instead of destination
Fixed logic behind flecsi backends to not require legion for an mpi
build and to better support required combinations.
Also made graphviz support and tutorial building optional
* Paraview/VTK: Fix failure on intel builds
Paraview@5.6.0 fails to build with intel compilers on certain platforms.
Error messages have been traced to the optional MotionFX lib.
(see https://discourse.paraview.org/t/error-build-5-6-0-rc1/572)
Turning off motionfx allows for succesful builds on these platforms.
ADIOS2 is the latest implementation of the ADaptable Input Output System,
ADIOS. This brand new architecture was designed to continue supporting the
performance legacy of ADIOS, and extend its current capabilities to address
current and future input/output (IO) challenges in the scientific data
lifecycle through effective research and development (R&D) activities.
ADIOS2 was recently added as a Third Party Library of Trilinos when it
was integrated to IOSS, a library inside the SEACAS package.
Due to the large number of issues this migration has caused, this rolls back
to the older autotools build. However, it still keeps the updates wrt
variants and virtual packages.
* Apply patch to git to make it search for config files from its current location instead of the locations hard coded at install.
* Add provenance info for patch
* Pass needed flags to make
* Environment variables need because of relocation
* Updating the TAU package with 2.28 and public repo
* Cleaning up TAU package and fixing binutils to install extras
The extras variant will install the extra ELF headers needed
by the TAU package. The TAU package has been cleaned up and
extended.
* Adding some comments to the changes in binutils
* Adding correct python support, finding include and lib paths.
* Added PDT 3.25.1.
* Added TAU v2.28.1 with libdwarf and libelf.
* When +libdwarf is activated, +libelf is not automatically activated. It checks separately for libelf.
* Xrootd: set PYTHON_EXECUTABLE with +python variant
When building with python3 PYTHON_EXECUTABLE needs to be set for deprecated FindPythonInterp to work as expected.
* Add comment
* Flake8
* More flake8
* Update package.py
* typo
* Also add versions 0.9.9.104, 0.9.9.52, 0.9.9.0, and 'develop'
* Replace version 0.9.7 with 0.9.7.0
* Update Rose to be an Autotools package
* Update boost dependency to 1.60.0 or later (previously 1.47.0)
* Add EDG binary identifiers for ROSE versions installing from
archives (rather than git)
* Add variants for mvapich2 backend, c++11, debug symbols,
optimization, and ROSE-based projects (codethorn, autopar, and
polyopt)
* Remove patch add_spack_compiler_recognition
* Improve C++ standard computation in ACTS package
* Use a more clever strategy for aligning ACTS cxxstd with ROOT cxxstd
* Add new ACTS releases
* ACTS is not compatible with the new Boost CMake build system yet
* Explain why Boost 1.70 does not work currently
* Add LSF package, which cannot be installed by Spack and must be
system-installed. The package install will fail if no external
LSF is registered in packages.yaml (LSF may not be installed in a
well-known location and the external entry helps Spack locate it
for dependents).
* Add LSF dependency to OpenMPI when schedulers=lsf is chosen
Previously, the vtkm package was adding a "../" option to the
cmake command line. I suppose this was supposed to be pointing
to the source code, but did not. Rather, Spack correctly adds
the source directory as the first argument to cmake. However,
because ../ was added, it used that as the source directory
instead.
Simply remove this argument to make CMake work correctly.
* bump eospac version
* Revert "bump eospac version"
This reverts commit 835b1f822d8c083f6ab9eb17222c00409e8eb3da.
* Add support for new package: unittest-cpp
Add variant 'pic' for including in shared libraries.
Add build dependency on perl. Compiling mbedtls runs several perl
scripts.
Add versions 2.7.10 and 2.16.1, the heads of the two main stable
branches.
This PR implements several refactors requested in #11373, specifically:
- Config scopes are used to handle builtin defaults, command line overrides
and package overrides (`parallel=False`)
- `Package.make_jobs` attribute has been removed; `make_jobs` remains
as a module-scope variable in the build environment.
- The use of the argument `-j` has been rationalized across commands
- move '-j'/'--jobs' argument into `spack.cmd.common.arguments`
- Add unit tests to check that setting parallel jobs works as expected
- add new test to ensure that build job setting is isolated to each build
- Fix packages that used `Package.make_jobs` (i.e. `bazel`)