* hunspell: write autoreconf method to triage error
This commit fixes the error described in GitHub issue
`AutotoolsPackage` class attempts to call `libtoolize`, which doesn't
exist on macOS systems that externally install `libtool` in Spack via
Homebrew -- Homebrew installzes GNU libtoolize as `glibtoolize`.
The fix is to call `autoreconf` only, and GitHub pull request #12344
makes this change in
AutotoolsPackage (https://github.com/spack/spack/pull/12344). However,
while waiting for that pull request to be merged, overriding the
`autoreconf` method achieves the same result for a self-contained
fix. This self-contained fix is necessary to fix a dependency bug in
the `hunspell` package.
* hunspell: add missing gettext dependency
* hunspell: add version 1.7.0
* add new package cromwell
* fix flake8 errors, add cromwell-womtool package
* change name of cromwell to cromwell-server
* renamed cromwell-server to just cromwell
* update description to what is in the project docs
* fixing format call for python2.6 compatibility
* Add comment that 1.0.1 versions are no longer supported
* Add comment that 1.0.2 versions are only supported up to
December 2019
* Add versions 1.0.2s, 1.0.2r, and 1.0.2p
* Add versions 1.1.0k, 1.1.0j, and 1.1.0i
* Add version 1.1.1c
* Add comment that 1.1.0 versions are only supported up to
September 2019
Resolves#11932.
Move the PIC flags from CFLAGS on the configure line to the spack
compiler wrapper for ncurses. The problem with the configure line for
autotools is that specifying CFLAGS sets the entire flags, thus
deleting the flags that configure would add itself.
By default, if CFLAGS is unspecified, then configure picks a sensible
default of `-g -O2`. But adding `-fPIC` erases these and it ends up
building unoptimized.
* Add patch to detect newer versions of MacOS and to fix a typo in
configure.ac (AM_LIBTOOLSFLAGS should be AM_LIBTOOLFLAGS)
* Remove variant declarations for unsupported languages
* Add support for quartz on MacOS
* Add optional X Window support
* Specifically build against qt@4 when building QT support
* Point to appropriate C++ standard libraries when building with
Clang on MacOS
* Disable parallel build (for all platforms)
* Increase verbosity of configure script by adding
--disable-silent-rules
* Add numpy 1.17.0
* Overhaul numpy package
* Flake8 fixes
* Undefined reference fix
* HeaderList and LibraryList need an arg
* veclibfort has no headers
* Add patch for older versions of py-numpy
* Remove py-meep hack from py-numpy package
* libflame: always add max arg hack flag
* Fix build with GCC 4.8
* Compiler flags come from self.compiler
* Only apply -std=c99 to cflags
* Try to fix libflame package
* Fix ATLAS build on macOS
* --force-clang flag added in 3.10.3
When building with GCC, c-blosc requires the -std=gnu99 flag.
Before this patch, the build would only add -std=gnu99 for GCC when
building on specific architectures; this adds -std=gnu99 in all cases
when using GCC.
When loading `openpmd-api` as a lib to build outside of
spack or to build depending spack packages, the "CMake-PUBLIC"
header-only library MPark.Variant must be available. Also,
the `*Config.cmake` package must be able to find dependent
libs if used.
* new package: py-backports-tempfile
* Update var/spack/repos/builtin/packages/py-backports-tempfile/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* remove rc version
* fix single quote
* add new version, add sha256 sums
* Update var/spack/repos/builtin/packages/py-apipkg/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* add python dependencies
* new package: py-usgs
* Update var/spack/repos/builtin/packages/py-usgs/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-usgs/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* new package: py-requests-futures
* Update var/spack/repos/builtin/packages/py-requests-futures/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* minimap2: remove py-mappy dependency and build on ARM
py-mappy: Change URL and new version.
* merge py-mappy to minimap2.
* 1. add type in depends_on.
2. remove unneeded which.
* Incorporate as a patch upstream commit 0c20dbf059 (diff-acb9169b4ccbac494ced5140d285a015) resolving problems with `-Wno-...` options not being understood by GCC.
* Incorporate as a patch upstream PR https://github.com/ericniebler/range-v3/pull/1202 fixing upstream issue https://github.com/ericniebler/range-v3/issues/1196.
* Compile tests only if we actually want to run them.
* Optionally compile documentation with a `+doc` variant.
* Add `+examples` and `+perf` variants to avoid unnecessary compilation of components usually not required for install.
* Add conditional build-only dependency on Boost when appropriate.
* Install docs, examples and performance tests if built (not part of upstream build instructions).
* Add @chissg as a maintainer.
- Update c-blosc to 1.17.0
- Add patch to build test_forksafe for versions 1.15.0 through 1.17.0
when compiled with the Intel compiler.
- Remove code that turned off building the test with the Intel compiler
1. xmmintrrin.h is included x86 only.
2. Add makefiles for non-x86 hosts.
3. mpicc in Makefiles is replaced spacks mpi compile command.
4. variant check is rewite with satisfies.
* Geant4 data packages: Set the install path name explicitly.
* Use the correct directory name for g4photonevaporation,g4radioactivedecay,g4realsurface
* Add versions 8.0.16, 5.7.26, and 5.6.44
* Update boost dependency for versions 8.0.16, 8.0.15, and 8.0.14
* Update dtrace script when building for versions before 8 as is done
for the glib package
* Set perl as a build dependency for versions before 8
* cxxstd=17 conflicts with version 8 when server code is built
(~client_only)
* Add -Wno-deprecated-declarations for cxxstd > 11
* Add -Wno-error=register for cxxstd > 14
This updates the Spack QT package to enable building qt version 4 on
MacOS.
This includes the following changes to the qt package:
* add version 4.8.7
* add option to build with or without shared libs
* add options to disable tools, ssl, sql, and freetype support
* add qt4-tools patch when building qt@4+tools
* add option to build as a framework (only available on MacOS)
* replace qt4-el-capitan patch with qt4-mac patch (which includes the
edits from qt4-el-capitan)
* apply qt4-pcre-include-conflict.patch only for version 4.8.6
(rather than all 4.x versions)
* apply qt4-gcc-and-webkit.patch for 4.x versions before 4.8.7 and
create a separate qt4-gcc-and-webkit-487.patch for version 4.8.7
* update patch function for qt@4 on MacOS to update configure
variables relevant to Spack (e.g. PREFIX)
* add option to build freetype with Spack, as a vendored dependency
of QT, or not at all (default is to build with Spack)
This includes the following edits outside of the qt package:
* Update MacOS version utility function to return all parts of the
Mac version (rather than just the first two)
* gettext package: implement "libs"
* python package: add gettext as a dependency
Fixes#12007.
The Cray cc wrappers don't handle the -s flag (strip) cleanly, It's
not essential to strip the binary, so just remove the flag on Cray.
Note: the default build on Cray is for the back end and the unzip
binary won't run on the front end. To build for FE, use something
like arch=cray-fe-x86_64.
* Add +shared variant, which builds shared library in addition to the
static library.
* Install libraries even when specifying the header-only option
(header-only is just about installing an additional folder).
* An additional make call is not required to build generator
executables (they are built by default).
* Streamlined help-line of each variant.
* Fix Mac platform check for dependency in py-ipython package: 'when'
constraints in Spack directives must be Specs (either a Spec
object or a Spec in string format)
* Fix Mac version check in py-numpy: platform.mac_ver() returns a
3-part string as its first tuple item so the check as written would
never pass; use Spack Version object to simplify check.
* Fix Mac version check in qt package (the check was incorrectly
comparing ints and strings) and use Spack version object to
simplify check.
* Add versions 4.3.0, 4.3.1, and 4.3.2
* The URL format changed after 4.1.4, so this adds a url_for_version
function to choose the URL format based on the version
With this PR, a user can designate older versions of OpenGL as an
external Spack package, and dependents can use that installation
as long as they do not have version requirements.
MacOS currently comes with OpenGL 2.1; there is currently no
'provides' directive in the OpenGL Spack package which specifies a
gl version provided for versions earlier than OpenGL 3.3, so earlier
versions of OpenGL are not considered to provide any version of gl.
This PR records that any version of OpenGL provides 'gl' (which is
sufficient for any package that does not require a specific version
of gl).
* Version 1.3.0 requires python 3.5 or later (no Python 2 support)
* Remove test of scipy.weave import (not available since 1.0)
* Add more-sensitive py-numpy constraints based on py-scipy version
* Replace py-nose dependency with py-pytest
* Add adamjstewart as maintainer
* Rename py-pytorch to py-torch
* Add versions 1.1.0 and 1.0.1
* Define modules to test import of after installation (import_modules)
* py-typing dependency is only needed for older versions of Python
(3.4 or before)
* Newer versions of py-torch depend on newer versions of CUDA
* Add adamjstewart as maintainer
* Remove libuuid dependency for python on Darwin
Python 2.7 includes Carbon, which requires a proprietary typedef defined in
the system `/usr/include/uuid/uuid.h`:
```
In file included from /rnsdhpc/code/spack/var/spack/stage/python-2.7.16-chgwvgls4ezgujsknn27vlmkhwbzpqik/Python-2.7.16/Python/mactoolboxglue.c:27:
In file included from /rnsdhpc/code/spack/var/spack/stage/python-2.7.16-chgwvgls4ezgujsknn27vlmkhwbzpqik/Python-2.7.16/Include/pymactoolbox.h:10:
In file included from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:23:
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:208:
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/HFSVolumes.h:25:
/usr/include/hfs/hfs_format.h:794:2: error: unknown type name 'uuid_string_t'; did you mean 'io_string_t'?
```
Similarly, even with Python 3, having Spack's libuuid in the toolchain
causes matplotlib to fail to build downstream because its `osx` backend
links against Carbon:
```
building 'matplotlib.backends._macosx' extension
/rnsdhpc/code/spack/lib/spack/env/clang/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include -I/usr/X11/include -I/opt/X11/include -I. -I/rnsdhpc/code/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/python-3.7.2-bipx24oyxqxowqc75o5vfih7dljiaohz/include/python3.7m -c src/_macosx.m -o build/temp.macosx-10.14.5-x86_64-3.7/src/_macosx.o
In file included from src/_macosx.m:1:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:87:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLError.h:15:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:208:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/HFSVolumes.h:25:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/hfs/hfs_format.h:794:2: error: unknown type name 'uuid_string_t'; did you mean 'io_string_t'?
uuid_string_t ext_jnl_uuid;
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/device/device_types.h:89:33: note: 'io_string_t' declared here
typedef char io_string_t[512];
```
MacOS version 10.14.5
Xcode 10.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
* Mark libuuid as conflicting with Darwin due to framework
If Spack's libuuid is included by any other package that tests for or
requires the Cocoa or Carbon frameworks, the build will *fail* becuse it
appears that Apple's libraries require a special version of libuuid and
uuid.h.
```
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:87:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLError.h:15:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:208:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/HFSVolumes.h:25:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/hfs/hfs_format.h:794:2: error: unknown type name 'uuid_string_t'; did you mean 'io_string_t'?
uuid_string_t ext_jnl_uuid;
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/device/device_types.h:89:33: note: 'io_string_t' declared here
typedef char io_string_t[512];
```
* Revert "Mark libuuid as conflicting with Darwin due to framework"
This reverts commit 9a68b75202005fc265abe2033e4ad36312a9a34d.
* Document libuuid exception in python package
* update to kim-api-2.1.1 and openkim-models-2019-07-25
* openkim-models provide needed dependency constraints and settings
* add maintainers and fixup flake8 errors
* font-util: Remove duplicated dependencies.
* font-util: Fix path handling for font resources.
The "join_path" call made no sense but still managed to work somehow most of the times.
If +pthreads is specified, googletest actually gets build without
pthreads support and vice versa.
If pthreads is not available, googletest should detect it itself which
is why "enabling" pthreads in case of ~pthreads does not seem to cause
any error.
Change-Id: I29de8c4a23dc3901124b27a1ead3354949b7e65b
* xsdk: phist has a conflict with gcc version <= gcc-4.9.1 - so add a variant to disable it on older compiler builds
This is triggered by #11677
* fix typo
* Added a new package for LAME and a variant in sox for it.
* Fixed download url for LAME
* libmad: Added new package libmad for mp3 decoding. Changed sox variant from lame to mp3.
* libmad: Added m4 as a requirement
* libmad: Added comment on patch origins
* libmad: Added a list_url for alternate download location
* libmad: Fixing libmad download url
- We don't currently make enough use of the maintainers field on
packages, though we could use it to assign reviews.
- add a command that allows maintainers to be queried
- can ask who is maintaining a package or packages
- can ask what packages users are maintaining
- can list all maintained or unmaintained packages
- add tests for the command
* Add QMCPACK v. 3.8.0
* Remove QE variant conflict for serial QMCPACK installations.
* Add support for QE 6.4.1 converter.
* FindLibxml2QMC patch function only needed prior to QMCPACK 3.8.0
* ioapi: add version 3.2
* ioapi: unwrap version checksum; it's exempt from line length QA
* ioapi: drop overridden build(); it's the same as the default
* cmake: Move cxx11 flags for fujitsu into the flag_handler method
* cmake: sanitization and error checking in flag_handler
* cmake: Fix fujitsu flag check from 'fc' to 'fj'
* openjdk
* Removing preferred from latest and adding a few lines for readability.
* Remove bad whitesapce
* removing formatting changes
* stable url for openjdk 1.8
* remove extra blank line
* actual binary
Add version for 'gpu' and variant for 'cuda'. These are currently available from the 'master-gpu' branch.
* hpctoolkit: add version gpu and variant cuda
* The gcc >= 4.8.x requirement only applies for dyninst >= 10.x.
ibm-java: fix the URL to only use a machine type that ibm-java
supports so that 'spack info' doesn't report a non-existent URL on
platforms that it doesn't support.
* Fix scikit-learn build with Apple clang
* Update compiler unit tests
* Fix unit tests
* Fix OpenMP dep
* recursive=True no longer necessary
* Add myself as a maintainer
* Specify which versions require OpenMP
* Typo fixes
* LLVM-OpenMP is the correct dependency, no OMPT
* Flake8 fix
* Undo Apple Clang OpenMP flag change, split into a separate PR
Later versions of libjpeg-turbo build with CMake; to build with
user-specified cflags, the user must supply these to CMake as
-DCMAKE_C_FLAGS (Spack's typical approach of injecting these flags
into the compiler wrapper invocation is insufficient in this case).
Currently libjpeg-turbo cannot be implemented as a CMakePackage
(and thereby take advantage of the flag_handler implementation it
provides) because not all versions of libjpeg-turbo use CMake, so
this adds a custom implementation of flag_handler and
flags_to_build_system_args to libjpeg-turbo.
* cmake: change c++ spec when building with Fujitsu compiler.
* cmake: define cxxflags using a Fujitsu compiler's method.
* cmake: Add condition of whether to add cxx11 option.
It seems that GitHub's output changed slightly for this patch (one more
letter for both short hashes on the index line), probably due to the
number of objects in the repository.
This PR adds the ability to specify the auto-dispatch targets that can
be used by the Intel compilers. The `-ax` flag will be written to the
respective compiler configuration files. This ability is very handy when
wanting to build optimized builds for various architectures. This PR
does not set any optimization flags, however.
The default library search for a package checks the lib/ and lib64/
directories for libraries before the root prefix, in order to save
time when searching for libraries provided by externals (which e.g.
may have '/usr/' as their root).
This moves that logic into the "find_libraries" utility method so
packages implementing their own custom library search logic can
benefit from it.
This also updates packages which appear to be replicating this logic
exactly, replacing it with a single call to "find_libraries".
This PR has several modifications for the r package.
- The tk package is always depended on but this pulls in X11, making the
'X' variant non-functional. This PR sets a dependency of tk on '+X'.
- There is a missing dependency on libxmu when '+X' is set.
- The libraries for R wind up in a non-standard location and are thus
left out of the RPATH settings. This PR adds that directory to RPATH.
- The MKL integer interface for gfortran is not in the BLAS libs. This
PR replaces the intel interface with the gfortran interface if needed.
- Use the `LibraryList` `ld_flags` method for blas as that is more in
line with th R Installation and Administration manual.
Note that this PR depends on PR #11956. This PR closes#8642.
TK can be built with support for libXft and X Screensaver. Both of these
are turned on in the Tk configure script. That means the system
libraries will get picked up if they are on the system and nothing is
specified in the package. Since the default for both of them is 'True' I
set the default value for the variants to 'True'.
* bowtie2: Add version 2.5.3.1 and fix to build on ARM
1. Add version 2.5.3.1.
2. Add simde for ARM.
3. Disable -fopenmp-simd when gcc 4.8.X or before for ARM.
4. Add Makefile option POPCNT_CAPABILITY=0 for ARM.
* flake8.
Fixes#11781
* Rename build log to spack-build-log.txt
* Rename environment variables file to spack-build-env.txt
* The name of the log and env files is now the same during the build
and after the build completes
* Update packages which referred to the build log/env files
* For packages installed before this commit using older names for the
build and env files, search for the older names
* ferret: use libx11 from spack
* ferret: use mpi library with or without fortran support
* ferret: add version 7.2
* ferret: no need to specify ~mpi
* ferret: creating symlinks may fail for external packages; set include/lib paths instead
* use autoreconf to regenerate configure script and config.guess for
newer architectures
* Add perl build dependency for older versions. The required perl
version is constrained because the perl script uses syntax that
is deprecated in older versions
Declare a conflict for TAU versions older than 2.28.1, that they
can't depend on libelf or libdwarf. The user can still install it
by specifying tau@2.24~libelf~libdwarf.
* py-antlr4-python3-runtime: new package
* py-antlr4-python3-runtime: fix for flake8
* py-antlr4-python3-runtime: indent docstring
* py-antlr4-python3-runtime: clarify role of this package vs ANTLR in docstring
* py-antlr4-python3-runtime: remove whitespace at end of line
The py-reportlab package includes binaries for easy_install and pip.
That blocks activation if py-setuptools and/or py-pip are installed.
This PR block the binaries from py-reportlab as easy_install and pip
should be installed with their respective packages.
* py-cf-units: new package
* py-cf-units: download from pypi.io
* py-cf-units: include py-pytest-runner as build dep
* py-cf-units: remove empty build_args function
* py-cf-units: fix for flake8
* py-cf-units: indent docstring
* py-cf-units: remove excess spaces
* py-cf-units: list master branch ahead of numeric versions
* py-cf-units: remove extension keyword from version
If R is provided by the system with a module (i.e. registered in
packages.yaml with a "module" entry) and has no discernible prefix,
this allows turbine to still make use of R.
This PR corrects a problem with the opa-psm2 package. It was
installing headers into <prefix>/usr/include and libraries into
<prefix>/usr/lib instead of <prefix>/include and <prefix>/lib.
The extra level of usr/ subdirectories causes dependent packages
like libfabric to fail to build.
The original packaging, with openfoam as a virtual and with
openfoam-com, openfoam-org and openfoam-extend as
providers, adds an obfuscation layer without any benefit.
- Rename `openfoam-com` to `openfoam`, and remove the
`openfoam` virtual package.
- `parse_anonymous_spec()` is a vestige of the days when Spack didn't
support nameless specs. We don't need it anymore because now we can
write Spec() for a spec that will match anything, and satisfies()
semantics work properly for anonymous specs.
- Delete `parse_anonymous_spec()` and replace its uses with simple calls
to the Spec() constructor.
- make then handling of when='...' specs in directives more consistent.
- clean up Spec.__contains__()
- refactor directives and tests slightly to accommodate the change.
Added a wrapperrpath variant to mpich that defaults to `True`.
Users can set this to `False` (e.g., spack install mpich~wrapperrpath) to
disable the wrapper RPATHs. This makes it easier to replacing an MPICH
installation in a container with an MPICH for the host system,
e.g., Cray MPICH with Shifter on Cori, Intel MPI, MVAPICH2, etc.
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
The version of LLVM used by flang is new enough that CppBackend doesn't exist. Unfortunately, `flang-xxxxxxxx` is seen as < `3.9.0` by the version check.
* add a special case for `flang` versions.
* 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`)
* When fabrics=auto or schedulers=auto, the intent is to defer to the
OpenMPI configure and let it determine and use what it finds
available on the system. The current behavior for 'with_or_without'
in the case of 'auto' explicitly disables all possible values.
This updates the logic to call 'with_or_without' only when the
value of fabrics/schedulers is not 'auto'.
* To allow explicitly disabling all fabrics/schedulers, each of these
variants has added support for 'none' (which is also the default
value).
* Add a conflict for the loadleveler scheduler for openmpi-3 and
above as it is no longer a valid configure option.
* Update optional-lite and span-lite to use CMakePackage
These packages only have CMake installs on their most recent versions.
Therefore, we overload all of the CMake stages to fallback to the old
versions (no-op for most, copytree for install), and use CMakePackage on
the new versions.
* Add new string-view-lite version with CMake install support
* Only override phases for old versions of *-lite packages
* trilinos: add variant to disable chaco from seacas
keep it OFF by default due to the presence of the global symbol "divide"
that can lead to symbol clash with other libraries, for example see
https://github.com/dealii/dealii/issues/8170#issuecomment-492700787
* dealii: add conflict statement for adol-c and Trilinos SEACAS Chaco
* dyninst: rework the cmake args for version 10.1 and later
Add a separate when() case for the cmake args for Dyninst 10.1.0 and
later. The prereq args have changed enough that this makes things
easier going forward. (My previous commit 26b9369c was inaccurate and
temporary.)
Dyninst 10.1.0 accepts boost 1.70, but earlier dyninst are restricted
to <= 1.69 (not worth back porting every boost change).
Change all the dyninst versions to 3 digits for clarity and
consistency.
* Add version 10.1.0.
* added patch for intel-tbb@2019.1: with old compilers
* sparately specify when @:2018 and @2019
the reason we can't say @:2019 is that would include @2019.1 where the
patch doesn't work.
* should be possible to list when constraint as @:2019
According to my reading of ["Version ranges" in the Spack
docs](https://spack.readthedocs.io/en/latest/packaging_guide.html#version-ranges),
this should apply to up to `2019` but not `2019.1:`
* @:2019.0 appears to be necessary to specify 2019 but not 2019.1
* specifying 2019.1 2019.2 2019.3 2019.4 separately and explcitly
* flake8 fixes for long lines.
* add comments to explain why so many different patch directives
* remove blank like for flake8
* revert spec %gcc@4.8.0:4.99999 -> %gcc@4.8.0:
- CMake is built *very* frequently, and the number of dependencies it has
accumulated can take a very long time on some systems.
- Use +ownlibs by default to avoid the build overhead. This won't
interfere with other packages by introducing conflicting libraries, as
CMake is nearly always a build dependency.
This avoids using Boost 1.70.0, fixes library access in OpenSpeedShop
packages, adds new versions, and updates QT dependency constraints
in CBTF and OpenSpeedShop packages
- Constrain Boost dependency to 1.69.0 or earlier to avoid issues
with 1.70.0 for Open|SpeedShop and CBTF packages
- Update DYNINSTAPI_RT_LIB environment variable to use single library
from "find_libraries" (which returns a list) in OpenSpeedShop
packages
Fixes#11443
- Add version 1.9.3 for CBTF Argo Navis, CBTF Krell, CBTF LANL, and
CBTF packages
- Add version 2.4.1 for OpenSpeedShop Utils and OpenSpeedShop
packages
- Update QT dependency to 5.10.0 or greater for QtGraph and CBTF Argo
Navis packages
This makes several changes to make CDO work with gcc@9:
- Add version 1.9.7rc2
- Add a patch to make version 1.9.7rc2 build with gcc@9:
- Add a conflict with GCC 9 for earlier versions of CDO
It also adds a pkgconfig build dependency as configure checks for it.
* recon: new package at 1.08
* recon: add period
* recon: use proper decorators, better documentation
* recon: fix incorrect os import
* recon: add repeatmasker patch as variant