* packages/phist: new version 1.6.1
* packages/phist: depends on Python 3.x for generating Fortran and C++ bindings
* packages/phist: new version 1.7.2
* phist: depend on python@3 only for versions later than 1.7
* packages/phist: depend on python@3: rather than 3
* phist: python dependency is type='build', thans @adamjstewart
* libiberty: new package
The libiberty.a library from GNU binutils. Libiberty provides
demangling and support functions for the GNU toolchain.
This package uses the binutils tarfile but only builds the libiberty
subdirectory. This is useful for other packages that want the
demangling functions without the rest of binutils.
Add variant 'fpic' to compile with -fPIC.
Addresses some issues raised in PR #8806.
* libiberty: change variant name to 'pic'.
Allow libiberty to install the library in lib64 and don't try to copy
it to lib.
* update of veloc & dep versions (replace old non-working versions)
* veloc doesn't work with gcc <= 4.9.3
* explicitly pass MPI to CMake for veloc build
* elfutils: update version and add variants
Add latest version 0.173.
Add variants bzip2, xz and zlib to support reading compressed DWARF
sections, default True.
Move maintainer-mode to a variant with default False. This is only
useful for developers who want to modify the source for generated
files.
* Add dependency on zlib for reading compressed DWARF sections.
Add variants to use bzip2 and xz for compressed sections.
Remove maintainer mode and the dependencies on flex and bison.
These are not used for one-time builds.
Be sure to squash both the commits and the commit messages.
This commit continues the changes discussed in #8823 by creating a new
"apple-libunwind" placeholder package that supplies instructions for
how to configure packages.yaml to register Apple's libunwind
implementation with spack. This package also provides the "unwind"
virtual package representing the libunwind base API. The clang-apple
compiler version should be specified in packages.yaml so that
apple-unwind is only used with Apple's clang compiler, not the stock
LLVM compiler.
This commit begins addressing the ideas discussed in #8823. The
libunwind library now provides the "unwind" virtual package, which
represents the "libunwind base API" common to LLVM libunwind, Apple's
LLVM libunwind, and non-GNU libunwind.
* Switch to perf_event backend to allow user installations but with limited features.
* Fix flake8 issues
* Fix flake8 issues remove filter for INSTALL_CHOWN
* Incorporate the comments
* Add unzip to lua-luaposix
I ended up on an [Ubuntu] system that hadn't had unzip employed
and discovered lua-luaposix requires it (while buildig Lmod).
Closes#8533
* Move unzip prereq to lua, type=run
Rather than touching up each of the lua rocks (packages)
that need unzip, make it available as a run dependency in
lua.
Tested by building lmod on a minimal Ubuntu system.
Flang now uses its own version of llvm and clang (called flang-driver). This is
handled by adding flang-specific versions of the LLVM package and updates flang
to depend on those versions.
* libmonitor: update to version 2018.07.18 and add variant to configure
for hpctoolkit.
* Specify the @2013.02.18 version in cbtf-argonavis and cbtf-krell,
since this is no longer the default version. These are the only
other packages that use libmonitor.
* amg2013: fix homepage and url
* kripke: fix homepage and url
* lcals: fix homepage and url
* lulesh: fix homepage and move to git
* urls on single line
- This was a nasty workaround due to the way our compiler wrappers used
to work. We don't want to have to modify our elfutils installation to
install libdwarf.
- Since cd9691de5, we no longer need this because the package will always
come before dependencies in our include order.
Renames the flux package to flux-core and updates its dependencies, versions,
and variants. Adds a flux-sched package.
This also updates two flux-core dependencies: lua and czmq.
The mumps package was unable to build using the llvm clang compiler
suite, as it defaulted to using mpif90 for linking and mpif90 cannot
be used for linking shared library code. This PR modifies the MUMPS
package.py to allow it to use IBM XL Fortran for linking. It also
eliminates the need for the existing MUMPS IBM XL patches by having
package.py specify the compiler-dependent "shared" flag to the
linker, and always using the compiler suite's Fortran compiler
for linking.
Several packages specified pkg-config as a dependency, which is
a specific implementation of the pkgconfig virtual. Most packages
do not request a specific implementation. The current concretizer
may choose a different implentation of pkgconfig for the nonspecific
dependents, which conflicts with the request for pkg-config. This
replaces all requests for a specific implementation of pkgconfig
with the virtual package as a temporary solution to the issue.
* Update and Bugfix for pexsi/package.py
1. pexsi@0.10.2 is not compatible with superlu-dist@5.4.0 due to [Change LargeDiag to LargeDiag_MC64; Add LargeDiag_AWPM](d7dce5a348).
2. In the 'edit' phase, '@MPICXX_LIB' must be substituted before '@MPICXX' is substituted.
* change dict to list of tuples
Use a list of tuples to remember the order of `substitutions`.
* Update package.py
* Update package.py
* netcdf-fortran: enforce autoreconf when building with NAG.
* netcdf-fortran: patch the configure script instead of running autoreconf to get rid of additional dependencies.
* netcdf-fortran: add comment for the patch.
If the OpenMPI build finds the infiniband drivers in /usr/lib64, it adds
-Wl,-rpath -Wl,/usr/lib64 to the OpenMPI wrappers. If the wrappers are using
a compiler outside of /usr, and the OpenMPI wrappers are used to build software
outside of Spack, they will rpath /usr/lib64 into the executable which then has
GLIBC, GLIBCXX runtime errors due to it picking up GCC libraries in /usr/lib64.
This adds the directories specified in "extra_rpaths" to the OpenMPI wrappers,
which allows them to use the correct compiler when invoked outside of Spack
builds.
* Updated llvm to version 6.0.1. The previous 6.0.0 had an incorrectly declared symbol, discussed at https://reviews.llvm.org/D44140, which, amongst other things, broke py-numba. This version works fine with py-numba.
* Flag the conflict between py-numba and llvm@6.0.0
* Removed a single trailing space to satisfy checks
* First draft of a templight recipe
* Let's be explicit for now, we can be clever later on
* The clang6 version does not work, drop it
* Reorder FIXMEs more logically
* Add patch for current templight develop branch
* Create an artificial stable release of templight
* Take some additional inspiration from llvm package
* Added the templight supporting tools
* Remove old notes from the no-url branch
* Avoid unnecessary join_path
* intel-tbb: Add variant `tm` to disable transactional memory.
Some AMD or very old Intel systems don't support transactional memory. This commit adds a variant `tm` that defaults to `True`, but can be switched off to allow running on those systems.
- Previously, Spack didn't check the arguments you put in version()
directives.
- So, you could do something like this, where there are arguments for a
URL fetcher AND for a git fetcher:
version('1.0', md5='abc123', git='https://foo.bar', commit='feda2343')
- Now, we check the arguments before constructing a fetcher, to ensure
that each package has *only* arguments for a single type of fetcher.
- Also added `test_package_version_consistency()` to the `package_sanity`
test, so that all builtin packages are required to have valid
`version()` directives.
- packagers can specify two top-level fetch URLs if one is `url`
- e.g., `url` and `git` or `url` and `svn`
- allow only one VCS fetcher so we can differentiate between URL and VCS.
- also clean up fetcher logic and class structure
- Packages can remove the top-level `url` attribute and still work
- These are now legal:
- Packages with *only* version-specific URLs (even with gaps)
- Packages with a top-level git/hg/svn attribute and `version`
directives for that.
- If a package has both a top-level hg/git/svn attribute AND a top-level
url attribute, the url attribute takes precedence.
- This changes `get_checksums_for_versions` to generate code that uses an
explicit `sha256` argument instead if the bare `md5` hash we used to
generate.
- also use a generic digest parameter for the `version` directive, rather
than a specific `md5` parameter.
* fix to build libmatheval with guile@2.0:
* fixed formatting issues
* fixed formatting issues2
* fixed check for autoreconf and renaming of configure.in
* fixed force_autoreconf
* now patching configure, which is hopefully more robust
* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
* add mofem-cephas package
* add mofem fracture module
* add user modules build and fracture modyle
* add minimal surface module
* add slepc variant
* bump mofem core lib version
* bump mofem core lib version
* bump version
* fix bug
* set upper bound to petsc version and other chanes
* fix indentation
* add minimal med file installation
* chcekc with flake8 and installation with spack packages
* add variants to med package
* upper bound to adol-c and remove obsolete internal package install
* fix basic module install
* module install from external source in extended prefix
* remove obsolte code and reverse to variant doxygen
* fix git adress
* improve packaging for mofem users modules
* fix flake8
* move dependencies after variants
* move root_cmakelists_dir right before cmake_args
* remove unused variants
* use append for single element
* replace root_cmakelists_dir
* use install_tree instead copy tree
* simplify code
* remove phase and mkdirp
* add run tests
* instal ext modules to ext_users_modules directory
* move version below url
* simplify directory name
* use underscore in variant name
* remove unused variable
* fix link to blas libs
* add missing boost dependence
* fix problem with copying module source code
* change variant name form doxygen to docs
* add expanded description
* make installation consistent with spack
* fix flake8
* make extensions installed
* code comments and minor corrections
* make slepc variant false by default
* New package: Verrou, a floating point error checker
* Clean up usage of patch
* Account for future patches in version ranges
* Manual call to autogen is not needed anymore, but extra dependencies are needed
* Use trick from automake to evade shebang length limit
* Use a glob instead of an explicit file list
* Turns out conflict() does not do what I want...
* Suggestions from @citibeth reviews
- Use 'develop' convention for the master branch
- Prefer tarballs over git repositories
- Increase robustness against default configuration
* Drop a couple of older releases with a different patching procedure
* Playing coding style golf
* Various bug squashing
- Missed master -> develop substitution
- Turns out manually calling autogen.sh is needed after all
- Missed + in spec
* More style golfing to fit in 80 columns
* Remove unnecessary mention of the develop branch
* py-pytest: Added dependency on py-setuptools-scm, as well as py-setuptools, to prevent the build from silently installing its own copy of setuptools-scm
* py-pytest: Dependency on setuptools-scm only needs to be 'build'
* The xlf_seacas.patch fails on the latest trilinos develop branch so confine it up to version 12.12.1.
* Fixing likely mistak in seacas patch version range.
Fixes#8036
Before this PR Package.installed was returning True if the spec prefix
existed, without checking the DB. This is wrong for external packages,
whose prefix exists before being registered into the DB. Now the property
checks for both the prefix and a DB entry.