* r-nloptr: Explicit depends_on(nlopt). Previously there was a hidden dependency, masked by the package's configure script.
* r-nloptr: Change spelling of variables to satisfy pyflake8
* r-nloptr: Break a long line to satisfy pyflake8
* r-nloptr: larger indent on continuation, to satisfy pyflake8
* r-nloptr: another attempt at larger indent on continuation, to satisfy pyflake8
* r-nloptr: now a smaller indent on continuation, to satisfy pyflake8
* r-nloptr: Another attempt at right amount of indent.
* r-nloptr: Another attempt at right amount of indent.
* Use the correct attributes for finding the nlopt includes and libs.
* Lines too long, split into pieces
This patch does not apply cleanly anymore and breaks clang/Mac builds
balay@asterix /home/balay/git-repo/github/trilinos (develop=)
$ patch -Np1 < /home/balay/git-repo/github/spack/var/spack/repos/builtin/packages/trilinos/xlf_tpetra.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- a/packages/tpetra/core/src/Tpetra_Details_libGemm.cpp
|+++ b/packages/tpetra/core/src/Tpetra_Details_libGemm.cpp
--------------------------
File to patch:
* Added jdk version, added r-ks and r-multicool packages, made some r packages less conservative in their r version requirement
* flake8 fixes
* fix formatting in jdk version cmd
* Added type=('build', 'run') to some R package dependencies,
added some missing dependencies to r-ks. Thanks Adam.
* fix flake8 error
Due to an internal bug regarding the handling of scalars
(ndim must be 0) in numpy prior to 1.15.0, openPMD-api
will require the latest numpy 1.15+.
Since there is a small regression with datetime pickling in
1.15.0 from the required fix and spack only packages 1.15.1
currently, we depend on 1.15.1 in the recipe.
* add 5 most recent versions and git master branch
* add trilinos, gmodel, throw, examples, optimize, symbols,
and warnings variants
* disable XSDK so that Trilinos dependencies are found.
* added py-pycogent
* flake8 edits
* added type=('build', 'run') to deps, changed py-matplotlib and mpi4py
* changed python min version to 2.6
* fixed cython to py-cython dep
* fixed mpi4py to py-mpi4py
* fixed py-sqlalchemy
* added 1.5.3 version
* fixed version 1.5.3 install
* changed deps names to reflect convention
* added variants
* changed download URL and added SHA256 hash
* fixed deps
* added github url for 1.5.3
* removed unneeded deps
* doesn't require py-setuptools
* fixed url and added py-setuptools specific to version 1.9
* fixed variant names and changed cython to normal dependency instead of variant
* removed cython dep, failed to build when it was present. Changed variant name 'mpi4py' to 'mpi' and changed sqlalchemy variant name to mpi
* fixed dependencies and added py-pymysql dep
* added setup-environment step
* changed download url for 1.5.3 to pypi
* fixed flake8 issue
* updated
* added changes
* Addition of latest maestrowf releases.
* Addition of filelock to dependencies.
* Addition of when clause to depends_on for filelock and tabulate.
* Correction of the tar url.
Update the version numbers and now depend on
the develop version of dyninst because of a
feature in openspeedshop depends on new code
in the dyninst develop tree. Without dyninst
develop, openspeedshop will not build.
* py-matplotlib: Add patch to fix FreeType library detection
Adds patch to add $CPATH to locations searched for FreeType header file
Patch has been upstreamed:
https://github.com/matplotlib/matplotlib/pull/11457
* py-matplotlib: Add patch to fix FreeType library detection
* Make patch only apply to versin 2.2.2 (as already upstreamed)
* Fix flake8 format issue
* py-matplotlib: add range to freetype patch
* py-matplotlib: whitespace
1. I presently get errors of the sort
==> Error: KeyError: 'No spec with name mpi in silo@4.10.2%gcc@8.1.0+fortran+mpi
[...]
$HOME/spack/var/spack/repos/builtin/packages/silo/package.py:84, in configure_args:
81 'FCFLAGS={0}'.format(self.compiler.pic_flag)]
82
83 if '+mpi' in self.spec:
>> 84 config_args.append('CC=%s' % self.spec['mpi'].mpicc)
85 config_args.append('CXX=%s' % self.spec['mpi'].mpicxx)
86 config_args.append('FC=%s' % self.spec['mpi'].mpifc)
without the extra explicit MPI dependency.
2. Silo uses zlib, so we should explicitly depend on it.
Added SUNDIALS 3.1.2 and 4.0.0-dev.1 versions and relevant dependencies
(3.1.2 requires CMake 2.8.12). Updated all versions to use sha256 hashes.
Addressed issue specific to clang compiler on macOS.
* Addition of py-filelock and first page of versions.
* Addition of setup.py patch for setuptools.
* flake8 failure fixes.
* Reduced url declaration to a single line.
* Correction to py-filelock to use distutils.
Consolidate prefix calculation logic for intel packages into the
IntelPackage class.
Add documentation on installing Intel packages with Spack an
(alternatively) adding them as external packages in Spack.
Add variant 'nls' for native language support with default True.
The default inside binutils was always on, but this gives a way of
turning it off, if desired.
Adjust the dependencies. Flex is never used for a one-time build.
Bison and m4 should not be needed, except that prior to rev 2.30, gold
did not include its generated files, so bison is needed when +gold.
Drop configure option --enable-interwork. This option does not exist.
This PR includes the following changes:
* Added JDK 10
* Changed the JDK version numbers according to the consensus reached
in #2284
* Added spec['java'].home and spec['java'].libs, similar to #3367
(JDK and IcedTea)
* Added a check to prevent people from installing JDK on macOS
* Set CLASSPATH for packages depending on Java (JDK and IcedTea)
* Add TODO for extending virtual packages (not currently possible)
* Add TODO for adding Java dependents to views
* Add TODO for packages which extend multiple packages (e.g. Java
and Python)
The Trilinos/stk configuration is pretty Nalu specific right
now (and is acknowledged as such in a comment in package.py), and
this commit enables a module that Nalu will be needing.
* r-goseq: new package
* r-goseq: git not url
* r-goseq: adding packages needed at runtime
* r-goseq: package type
* r-goseq: dep types
* r-goseq: one more
- OpenFOAM-v1806/wmake/scripts/have_kahip must check
$KAHIP_ARCH_PATH instead of $METIS_ARCH_PATH to detect the KAHIB
library
- use a local patch file until the issue is hopefully fixed upstream
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
* 1. Added correct md5 sum for Open MPI v3.1.1 (https://www.open-mpi.org//software/ompi/v3.1/)
2. Made v3.1.1 the default version
3. Added libmpiso versions for v3.1.1 and 3.0.2
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
* Added Open MPI v2.14 to version list; Tested build; Added libmpi.so version
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
* Open MPI 3.1.2 built and tested
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
* libquo: Packaging updates.
This commit accomplishes a few things:
* Changes distribution fetch source
* Removes a deprecated version (1.2.9)
* Changes dependencies based on version type
* Adds a custom autoreconf stage when using the 'develop' version,
omitting this step when building from a distribution
* Reintroduce v1.2.9.
leveldb headers are typically included via <leveldb/c.h>. The migration
to install_tree in 73c978ddd9 caused the
headers to end up in prefix.include, which breaks existing applications.
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
* 1. Added correct md5 sum for Open MPI v3.1.1 (https://www.open-mpi.org//software/ompi/v3.1/)
2. Made v3.1.1 the default version
3. Added libmpiso versions for v3.1.1 and 3.0.2
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
* Added Open MPI v2.14 to version list; Tested build; Added libmpi.so version
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
* QMCPACK now supports QE 6.3. Dropped QE 5.3 due to incompatibilities.
* QMCPACK general clean-up of depends_on.
* Add QMCPACK 3.5.0
* More robust support of MKL detection in QMCPACK.
Fixes#9001#8289 added support for install_tree and copy_tree to merge into an existing
directory structure. However, it did not properly handle relative symlinks and
also removed support for the 'ignore' keyword. Additionally, some of the tests
were overly-strict when checking the permissions on the copied files.
This updates the install_tree/copy_tree methods and their tests:
* copy_tree/install_tree now preserve relative link targets (if the symlink in the
source directory structure is relative, the symlink created in the destination
will be relative)
* Added support for 'ignore' argument back to copy_tree/install_tree (removed
in #8289). It is no longer the object output by shutil.ignore_patterns: you pass a
function that accepts a path relative to the source and returns whether that
path should be copied.
* The openfoam packages (currently the only ones making use of the 'ignore'
argument) are updated for the new API
* When a symlink target is absolute, copy_tree and install_tree now rewrite the
source prefix to be the destination prefix
* copy_tree tests no longer check permissions: copy_tree doesn't enforce
anything about permissions so its tests don't check for that
* install_tree tests no longer check for exact permission matching since it can add
file permissions
* libunwind: add version 1.3-rc1 and variant xz
Version 1.3-rc1 is the latest published snapshot from libunwind.
Variant xz adds spack-built support for reading compressed symbol
tables, or else disables this feature. Without the variant, libunwind
will look for liblzma in /usr/lib.
* Add preferred=True to version 1.2.1 as the last official stable
release.
* gperftools@2.7: new version
* gperftools: update homepage & url
The URL in the homepage field of the gperftools package redirects to
its GitHub repo, and the URL for version 2.3 returns a 404 error. This
commit updates both fields to the most recent sensible values.
* gperftools: update commit hashes to sha256
This commit deletes the url field for all listed versions because it
is no longer needed as a result of updating the package url field. In
addition, all commit hashes are updated to SHA256.
Replace use of `shutil.copytree` with `copy_tree` and `install_tree` functions in `llnl.util.filesystem`.
- `copy_tree` copies without setting permissions. It should be used to copy files around in the build directory.
- `install_tree` copies files and sets permissions. It should be used to copy files into the installation directory.
- `install` and `copy` are analogous single-file functions.
- add more extensive tests for these functions
- update packages to use these functions.
* zoltan: fix building with Intel compilers
- building with the Intel compilers may require explicit linking
with the Intel Fortran library (libifcore)
* simplify code; get rid of format() for static strings
- dependency patching test didn't attempt to apply patches; just to see
whether they were on the spec.
- it applies the patch now and verifies that that patch was applied.
* r-genelendatabase: new package
* r-genelendatabase: git not url
* r-genelendatabase: add runtime deps and fix package type
* r-genelendatabase: dep type
* Add package for fasta
Add a package for the fasta sequence alignment tools.
The build system is novel (fasta is "venerable", so...). The source
tree includes nearly 50 variant Makefiles, the installer is expected
to pick one that's appropriate and then edit the "XDIR" variable to
specify the installation path. I can only test 64 bit darwin and
linux, so that's all I've included. I'm also assuming that every
64bit x86 system we'll see supports the SSE2 extensions. Other
situations can be dealt with when someone has a test case.
* Switch to MakefilePackage and clean up a bit
- Clean up the description
- Switch to MakefilePackage
- generalize the path to the chosen Makefile
- implement separate `edit`, `build`, and `install` phases.
* Fix call to format()
* Fix broken if logic
* 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.