* 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.