* Add dmlc/mxnet packags.
* Build mxnet+cuda+opencv with GCC-4.8.5 and GCC-5.4.0.
* Build mxnet version 0.10.0, 0.10.0.post1 and 0.10.0.post2.
* Add component version constrain for mxnet 0.10.0.x .
* Go through flake8.
* Replace commit hash with commit date as package version.
* Go throught Travis-CI.
* Update submodule version for 0.10.0.post2.
* Add openmp variant for dmlc-core and mxnet.
* Refine variant handling.
* Fix filter_file for dmlc-core.
* Cut long strings into multiple lies due to PEP8 requirements.
* Fix for PEP8.
* Add CUB_INCLUDE.
* Add py-mxnet: Python binding for MXNet.
* Remove distutils.dir_util.
* Add the profiler variant for mxnet.
* Add a shared variant for nnvm.
* Set USE_OPENMP to OFF by default.
* Fix flake8 errors.
* Fix flake8 issues.
* flake8 issues again.
closes#5506
The application of patches to upstream executables has been reworked
according to the suggestions of the main developer in #5506. In
particular we are not maintaining a dictionary that maps plumed
versions to the versions of patchable executables, and we are using a
non-interactive command to patch applications.
All the comments on substituting plumed at run-time do not apply here,
since we use RPATH and we want to maintain a 1:1 relationship between
the DAG hash and the plumed library used.
* Add package for aspell and ass't dictionaries
Add a package definition for aspell.
Add a handful of dictionaries to convince myself that the support for
a bunch of dictionaries works.
* Flake8 cleanup
* Use six's version of urlparse
`urlparse` is not python3 friendly. This works around it (stolen from
`.../cmd/md5.py`).
* Fix incorrect trimming regexp
* Clean up dictionary build
- more parsimonious use of `which` (`make()` has already been made)
- use `sh` instead of `bash`
* Use a helper method to generate info for variants
I figured out my issues with static methods. I *think* that it this
is pythonic.
* Convert aspell to an extendable package
Convert aspell to be extendable and rework the dictionaries to be
extensions.
As it stands, there's a great deal of cut and paste in the
dictionaries, I'll abstract that out next.
The {de,}activate methods copy a great deal of code out of
package.py. Perhaps there's a better way....
* Create AspellDictPackage and use it for the dictionaries
Reduce the repeated code, pull it into a base class.
I'm confused about why 'from spack import *' wasn't more useful in the
base class.
* Oops, -de & -es should be AspellDictPackages too
* Typo: pakcage -> package
* Address some commentary
* Update copyright dates, 2016->2017
This is a simple package that drops their shell wrapper into
prefix.bin and their jar files into prefix.lib.
The approach comes from the picard package.
* Updating ag to the latest version
* Pretty by request
* Restore url to previous value
There *is* an https version available, but I've also been told
to not just update the url when adding new version. I'm following
the latter advice and trusting security to the digest.
* Adding maven v3.5.0
Updating package file to include later version of maven but still signifying a preference for the older
* removing specific preference flag
* ncl: Fix temp directory
Currently, ncl is configured using a transient temp directory. This
leads to warnings such as this when executing ncl later on:
warning:"/tmp/ncl_ncar_xxxxxx" tmp dir does not exist or is not writable:
NCL functionality may be limited -- check TMPDIR environment variable
As this also breaks some functionality, use the system temp directory
instead (typically /tmp).
* ncl: Depend on esmf
esmf is required for some ncl scripts (such as ESMF_regridding.ncl).
* Add link dependency on xproto to xau
The libxcb build was failing like so:
```
1 error found in build log:
[ ... ]
131 checking whether to build developer documentation... yes
132 checking for doxygen... /usr/bin/doxygen
133 checking for dot... /usr/bin/dot
134 checking for CHECK... no
135 checking for XCBPROTO... yes
136 checking for NEEDED... no
>> 137 configure: error: Package requirements (pthread-stubs xau >= 0.99.2) were not met:
138
139 Package 'xproto', required by 'xau', not found
140
141 Consider adjusting the PKG_CONFIG_PATH environment variable if you
142 installed software in a non-standard prefix.
143
```
This adds a link dependency on libxproto that allows the libxcb build to
succeed.
* Change more build deps to build, link
These were also necessary for emacs+X to build.
* Fix flake8 complaint
* edits to address issues where spack concretization attempts to set properties on already-installed specs
* most added checks only need to check if the spec is concrete; they dont also need to check if the package is installed
* add test to ensure that patches are not applied to an installed spec
* add test to ensure that an error is detected when a dependent requests a dependency constraint which conflicts with a requested installed dependency
* Add package for multitail@6.4.2
Lightly tested on CentOS 7.
* Responde to feedback/comments
Use `install_targets` to specify PREFIX= and DESTDIR= instead of
hacking away at the Makefile. Expand commentary about "Why?".
Use `headers.include_flags` and `libs.ld_flags` to avoid explicitly
setting `-L` and `-I` when hacking away at the Makefile.
* Added exasp2 spackage
Added spackage for exasp2 proxy app
* Fixed MPI in ExaSP2
Explicitly disabled MPI when not enabled.
Set MPI variant to default as per Spack standards
* Generalized BML Passing for ExaSP2
* Modified to follow spack rules on blas
Fortunately was able to modify exasp2 build system to support spack
model for blas and lapack requirements. No guarantee is made for support
of anything other than originally supported libraries
* Fixed flake8 error
explicitly set the zlib path for libpng configure.
fixes:
```
[ ... ]
92 checking for memset... yes
93 checking for pow... no
94 checking for pow in -lm... yes
95 checking for clock_gettime... yes
96 checking for zlibVersion in -lz... no
97 checking for z_zlibVersion in -lz... no
>> 98 configure: error: zlib not installed
```
This is a partial fix for #5564.
This package used to trust that `configure` would discover `gmp` from
its environment.
It's safer to tell it where to find `gmp` explicitly.
This does that by adding a configure_args() that provides a
`--with-gmp=...` argument for configure.
* Added support for BML+mpi variant
Added support for BML+mpi variant. Currently restricted to master
(develop) branch pending release of next bml tag
* Update package.py
Removing redundant statement
* Update package.py
Added explicit disabling of MPI when not requested
- A package can depend on a special patched version of its dependencies.
- The `Spec` YAML (and therefore the hash) now includes the sha256 of
the patch in the `Spec` YAML, which changes its hash.
- The special patched version will be built separately from a "vanilla"
version of the same package.
- This allows packages to maintain patches on their dependencies
without affecting either the dependency package or its dependents.
This could previously be accomplished with special variants, but
having to add variants means the hash of the dependency changes
frequently when it really doesn't need to. This commit allows the
hash to change *just* for dependencies that need patches.
- Patching dependencies shouldn't be the common case, but some packages
(qmcpack, hpctoolkit, openspeedshop) do this kind of thing and it
makes the code structure mirror maintenance responsibilities.
- Note that this commit means that adding or changing a patch on a
package will change its hash. This is probably what *should* happen,
but we haven't done it so far.
- Only applies to `patch()` directives; `package.py` files (and their
`patch()` functions) are not hashed, but we'd like to do that in the
future.
- The interface looks like this: `depends_on()` can optionally take a
patch directive or a list of them:
depends_on(<spec>,
patches=patch(..., when=<cond>),
when=<cond>)
# or
depends_on(<spec>,
patches=[patch(..., when=<cond>),
patch(..., when=<cond>)],
when=<cond>)
- Previously, the `patch()` directive only took an `md5` parameter. Now
it only takes a `sha256` parameter. We restrict this because we want
to be consistent about which hash is used in the `Spec`.
- A side effect of hashing patches is that *compressed* patches fetched
from URLs now need *two* checksums: one for the downloaded archive and
one for the content of the patch itself. Patches fetched uncompressed
only need a checksum for the patch. Rationale:
- we include the content of the *patch* in the spec hash, as that is
the checksum we can do consistently for patches included in Spack's
source and patches fetched remotely, both compressed and
uncompressed.
- we *still* need the patch of the downloaded archive, because we want
to verify the download *before* handing it off to tar, unzip, or
another decompressor. Not doing so is a security risk and leaves
users exposed to any arbitrary code execution vulnerabilities in
compression tools.
* Add '--test=all' and '--test=root' options to test either the root or the root and all dependencies.
* add a test dependency type that is only used when --test is enabled.
* test dependencies are not added to the spec, but they are provided in the test environment.
+ Count, or compute differences of, physical lines of source code in the
given files (may be archives such as compressed tarballs or zip files)
and/or recursively below the given directories.
* Autodock vina: spec
* Adding comment to patch. The implemnetation of boost is version dependent on older boost replacing depecrated function of boost.
* Adding in boost version dependency
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Add ability to build llvm-openmp-ompt alone, with gnu compilers and use the resulting ompt interface in cbtf-krell and openspeedshop to gather openmp specific performance information.
* Fix flake8 errors.
* Fix flake8 errors - stage 2.
* Fixes based on reviewer suggestions and comments.
* Use build_type variant to set the build type and allow changing of the type.
* Fix missing comma in cmake_arg list, found on another test machine.
* r-glmnet: Create New Package.
* pr-quantities: add version & py-numpy conflict (#5307)
* r-glmnet: Update version to 2.0-13
* r-matrix: Update version to 1.2-11
* r-lattice: Update version to 0.20-35.
The default implementation of Package.fetch_remote_versions will take
a URL like https://github.com/google/protobuf/archive/ and automatically
search https://github.com/google/protobuf/releases/ for new package
versions. In the case of protobuf the release/ path contains release
artifacts for a version and the archive/ path contains the desired
source. Since both are associated with the version, and
Package.fetch_remote_versions only stores one URL for a given version,
the two paths are in conflict; previously the URL returned for a
given version was arbitrarily chosen between the two paths. This
updates the definition for the Protobuf package to always search for
URLs in https://github.com/google/protobuf/archive/
* blas_lapack: add multithreading variant
* elemental: update
* intel-mkl: extend to macOS
* rename multithreading to threads
* intel-mkl: avoid long lines
* intel-mkl: make one install error a conflict
* openblas: fix a minor bug in the test
Update the git package to git@2.14.1.
This requires a pcre that has been built with `--enable-jit`, so this
adds a variant to pcre to support that and arranges so that git versions
before 2.14 depend on pcre and git 2.14 and after depend on pcre+jit.
Due to the logic in configure.ac, we may be using both the system
linker (LD_RO='ld -r -o') and the linker tied to the compiler (LD=$CXX).
This may produce weird link-time errors when the two executables are
not the same.
The PR works around the issue disabling 'ld -r'
Open MPI has been relying on versions of PMIx since the 2.0.0
release. Although the embedded version can be used, it makes
more sense long term for Spack to know about the PMIx package,
and to build Open MPI against PMIx as an external package.
There are other software components that may eventually be
reliant on PMIx including MPICH, GASNet, the OpenSHMEM reference
implementation, etc.
This is also partly motivated by the desire to have ECP ST
projects to be released through Spack.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
* Make texlive untrusted
TeXLive updates their installer without changing its name. We've been
playing keep-up with them, but I'm proposing it's not worth it.
I seem to end up installing it '--no-checksum' anyway.
This commit updates the package to make that approach official,
removing the checksum, adding a note to the description and a bigger
note/comment inthe package body.
* Pull installer from stable source (packages are still *live*)
This pulls the installer script from the "historic" repository. It
appears to be stable, so that we can use a checksum with it (one
hopes, time will tell).
The installer still pulls the packages from the live repos so
installations aren't reproducible.
Add r-biobase package. Remove explicit R dependency from r-biocgenerics
package (since it is an instance of RPackage). Update version for
r-biocgenerics and remove github versions.
* First draft package for sambamba
Depends on the ldc package (#5279) that alalazo's working on.
It requires a patch to the Makefile because one of ldc's library
functions mentions dlopen. I *think* that ldc should be handling
this. See the discusssion in #5279.
It also requires a "static" ldc. Again, see #5279.
Finally, it needs "undeaD" as a resource, but I'm guessing at the
appropriate release. See
https://github.com/lomereiter/sambamba/issues/312.
* alalazo renamed the shared_libs variant, keep up...
+ The recipe for cgns seems to be wrong. CMake complains about variables set but
not used (`HDF5_NEEDS_ZLIB`, `HDF5_NEEDS_MPI` and `HDF5_NEEDS_SZIP`) and fails
to find HDF5.
+ This change set removes these variables from the cmake configure line,
replacing them with `'-DHDF5_DIR=%s' % spec['hdf5'].prefix`
+ cgns also has trouble with parallel make, so I set `parallel = False`.
* fixes#967
* Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
* Don't assume spack is in the path when building docs.
* fixing build issues for gcc on osx
* reverting inadvertent change on develop
* fixing typesetting of bsws description
* very minor update to RTD docs footer to ref github contributors
* Revert "very minor update to RTD docs footer to ref github contributors"
This reverts commit c40d75da7f3b918350a263e7a9ef34df56b7fb01.
* switch fastmath to depend_on arpack_ng; remove arpack/parpack
* Module files now are generated using a template engine refers #2902#3173
jinja2 has been hooked into Spack.
The python module `modules.py` has been splitted into several modules
under the python package `spack/modules`. Unit tests stressing module
file generation have been refactored accordingly.
The module file generator for Lmod has been extended to multi-providers
and deeper hierarchies.
* Improved the support for templates in module files.
Added an entry in `config.yaml` (`template_dirs`) to list all the
directories where Spack could find templates for `jinja2`.
Module file generators have a simple override mechanism to override
template selection ('modules.yaml' beats 'package.py' beats 'default').
* Added jinja2 and MarkupSafe to vendored packages.
* Spec.concretize() sets mutual spec-package references
The correct place to set the mutual references between spec and package
objects at the end of concretization. After a call to concretize we
should now be ensured that spec is the same object as spec.package.spec.
Code in `build_environment.py` that was performing the same operation
has been turned into an assertion to be defensive on the new behavior.
* Improved code and data layout for modules and related tests.
Common fixtures related to module file generation have been extracted
in `conftest.py`. All the mock configurations for module files have been
extracted from python code and have been put into their own yaml file.
Added a `context_property` decorator for the template engine, to make
it easy to define dictionaries out of properties.
The default for `verbose` in `modules.yaml` is now False instead of True.
* Extendable module file contexts + short description from docstring
The contexts that are used in conjunction with `jinja2` templates to
generate module files can now be extended from package.py and
modules.yaml.
Module files generators now infer the short description from package.py
docstring (and as you may expect it's the first paragraph)
* 'module refresh' regenerates all modules by default
`module refresh` without `--module-type` specified tries to
regenerate all known module types. The same holds true for `module rm`
Configure options used at build time are extracted and written into the
module files where possible.
* Fixed python3 compatibility, tests for Lmod and Tcl.
Added test for exceptional paths of execution when generating Lmod
module files.
Fixed a few compatibility issues with python3.
Fixed a bug in Tcl with naming_scheme and autoload + unit tests
* Updated module file tutorial docs. Fixed a few typos in docstrings.
The reference section for module files has been reorganized. The idea is
to have only three topics at the highest level:
- shell support + spack load/unload use/unuse
- module file generation (a.k.a. APIs + modules.yaml)
- module file maintenance (spack module refresh/rm)
Module file generation will cover the entries in modules.yaml
Also:
- Licenses have been updated to include NOTICE and extended to 2017
- docstrings have been reformatted according to Google style
* Removed redundant arguments to RPackage and WafPackage.
All the callbacks in `RPackage` and `WafPackage` that are not build
phases have been modified not to accept a `spec` and a `prefix`
argument. This permits to leverage the common `configure_args` signature
to insert by default the configuration arguments into the generated
module files. I think it's preferable to handling those packages
differently than `AutotoolsPackage`. Besides only one package seems
to override one of these methods.
* Fixed broken indentation + improved resiliency of refresh
Fixed broken indentation in `spack module refresh` (probably a rebase
gone silently wrong?). Filter the writers for blacklisted specs before
searching for name clashes. An error with a single writer will not
stop regeneration, but instead will print a warning and continue
the command.
* Add --with-mpi=spec['mpi'].name at configure step to avoid error when finding 2 MPI implementations
* Improve scorep package with different compilers and mpi providers
Merge work from multiple contributors on the mesa package. This
includes the following changes and decisions:
* Added in mesa +hwrender support
* make +swrender the default selection since this represents a very
common usage case (ie, cluster usage)
* leave ~llvm as the default, since inadvertently building this package
could take a very long time. May need to revisit this assumption in
the future since the performance difference can be quite substantial.
* build libGLESv1+2 and libGL for all variants
* avoid dependence on dri/libdrm when ~hwrender
* disable gallium drivers if none are requested
- '\b' in regular expression needs to be in a raw string (r'\b')
- Regression test that would've caught this was unintentionally disabled
- This fixes the string and the test
Fixes a problem in ymake-filter: The line buffer is currently hardcoded to be
2048 bytes large but some Makefiles contain lines longer than that. This
caused the Makefiles to sometimes not be generated, consequently failing parts
of the build.
Fixes#4112
This commit extends the support of the AutotoolsPackage methods
`with_or_without` and `enable_or_disable` to bool-valued variants. It
also defines for those functions a convenience short-cut if the
activation parameter is the prefix of a spec (like in
`--with-{pkg}={prefix}`).
This commit also includes:
* Updates to viennarna and adios accordingly: they have been modified to
use `enable_or_disable` and `with_or_without`
* Improved docstrings in `autotools.py`. Raise `KeyError` if name is
not a variant.
* fix armadillo macro expansions
- most compilers `#define linux 1`
- armadillo does raw pasting of include directories in code
- this means macro expansion of `linux-x86_64` -> `1-x86_64`
- new version, previous download url seems broken
- lib64 instead of lib?
- needs verification, was required for intel, works for others
* flake8: two spaces is modules, one for classes
* add some explanation of how the patch works
* use p1 patch file with -U0 to prepend undef linux
* armadillo v8.100.1
* Improve PDToolkit support for different compilers
PDT dependency of TAU profiler doesn't use CC, CXX eb variables and needs command line arguments for compiler identification. If we don't pass compiler id then it uses gcc and result in link time errors while building TAU. This patch fixes it; tested with PGI and Intel compilers.
Renames the existing bootstrap command to 'clone'. Repurposes
'spack bootstrap' to install packages that are useful to the
operation of Spack (for now this is just environment-modules).
For bash and ksh users running setup-env.sh, if a Spack-installed
instance of environment-modules is detected and environment modules
and dotkit are not externally available, Spack will define the
'module' command in the user's shell to use the environment-modules
built by Spack.
* Added support to query packages by tags.
- The querying commands `spack list`, `spack find` and `spack info` have
been modified to support querying by tags. Tests have been added to
check that the feature is working correctly under what should be the
most frequent use cases.
* Refactored Repo class to make insertion of new file caches easier.
- Added the class FastPackageChecker. This class is a Mapping from
package names to stat info, that gets memoized for faster access.
- Extracted the creation of a ProviderIndex to its own factory function.
* Added a cache file for tags.
- Following what was done for providers, a TagIndex class has been added.
This class can serialize and deserialize objects from json. Repo and
RepoPath have a new method 'packages_with_tags', that uses the TagIndex
to compute a list of package names that have all the tags passed as
arguments.
On Ubuntu 14.04 the effect if the cache reduces the time for spack list
from ~3sec. to ~0.3sec. after the cache has been built.
* Fixed colorization of `spack info`
pkgconf is a new pkg-config implementation with additional features and
no external dependencies.
For a detailed comparison, see: http://pkgconf.org/features.html
Adds a development version of boost, based on their github master
repo.
Git clones the submodules forever, but installs! :)
Useful for testing since boost tends to break complex software
dependencies quite often. This helps testing it before releases.
* Package 'cdo': removed obsolete version 1.6.9.
* Package 'cdo': updated urls.
* Package 'cdo': added version 1.9.0.
* Package 'cdo': no need to specify per version urls.
* Package 'cdo': switched from Package to AutotoolsPackage.
* Package 'cdo': added new variant 'openmp'.
* Package 'cdo': variants 'curl' and 'magics' by default.
Users can now add an optional custom message to the conflicts directive.
Layout on screen has been changed to improve readability and the long
spec is shown in tree format. Two conflicts in `espresso` have been
modified to showcase the feature.
- Python I/O would not properly interleave (or appear) with output from
subcommands.
- Add a flusing wrapper around sys.stdout and sys.stderr when
redirecting, so that Python output is synchronous with that of
subcommands.
- This should speed-up Travis CI tests and refers to #5049
- Travis uses build-stages to group tests together
- The idea is to let fast tests fail first, then move to longer ones.
- Added external perl to avoid download failure from CPAN and reduce build time
- Disabling perl-dbi: continues to fail with (504 Gateway Time-out) on Travis
- We now cover all the build systems in tests:
- Add back `openblas` to Travis as a separate package.
- Switched `openblas` for `astyle` to build a simpler MakefilePackage.
- Added 'tut' (WafPackage)
- Added 'py-setuptools' (PythonPackage)
- Added 'perl-dbi' (PerlPackage)
- Added 'build_systems' directory to the ones for which we get a summary
- Added 'openjpeg' (CMakePackage)
- Added 'r-rcpp' (RPackage)
- Added comments to build tests to show the covered build system
+ gitk (and possibly other tools) expect to find the Tk executable `wish`, so
add a symlink with this name that points to the the versioned filename.
+ Example: `wish --> wish8.6`
Previously, when +graph and +mpi were enabled, the graph library
was replaced with the graph_parallel library. This alters the
logic for +graph+mpi to build both libraries.
* Gaussian: Gaussian install
* Adding Patch to spack installed files
* Adding extra environment variables for gaussian at run time
* Adding provides linda
* Adding linda as a provided package
* Shortning vars and fixing flake8 indentation and spacings
this is a fix to an installation that failed due to
configure for some reason not finding the libiconv
shipped with glibc, but still trying to link against it
see http://xmlsoft.org/FAQ.html
* Refactor IntelInstaller into IntelPackage base class
* Move license attributes from __init__ to class-level
* Flake8 fixes: remove unused imports
* Fix logic that writes the silent.cfg file
* More specific version numbers for Intel MPI
* Rework logic that selects components to install
* Final changes necessary to get intel package working
* Various updates to intel-parallel-studio
* Add latest version of every Intel package
* Add environment variables for Intel packages
* Update env vars for intel package
* Finalize components for intel-parallel-studio package
Adds a +tbb variant to intel-parallel-studio.
The tbb package was renamed to intel-tbb.
Now both intel-tbb and intel-parallel-studio+tbb
provide tbb.
* Overhaul environment variables set by intel-parallel-studio
* Point dependent packages to the correct MPI wrappers
* Never default to intel-parallel-studio
* Gather env vars by sourcing setup scripts
* Use mpiicc instead of mpicc when using Intel compiler
* Undo change to ARCH
* Add changes from intel-mpi to intel-parallel-studio
* Add comment explaining mpicc vs mpiicc
* Prepend env vars containing 'PATH' or separators
* Flake8 fix
* Fix bugs in from_sourcing_file
* Indentation fix
* Prepend, not set if contains separator
* Fix license symlinking broken by changes to intel-parallel-studio
* Use comments instead of docstrings to document attributes
* Flake8 fixes
* Use a set instead of a list to prevent duplicate components
* Fix MKL and MPI library linking directories
* Remove +all variant from intel-parallel-studio
* It is not possible to build with MKL, GCC, and OpenMP at this time
* Found a workaround for locating GCC libraries
* Typos and variable names
* Fix initialization of empty LibraryList
* Added a package for the MDAnalysis toolkit.
* Openblas now builds with clang when using 0.2.20
* Fixed flake8 error
* Added a guard to fail for openblas+openmp when on OSX systems
* Changed the guard to look for Apple's build of clang and to improve
the error messages.
* Removed blank line.
`h5z-zfp` now builds zfp with correct bit stream word size; the syntax of the variant declaration did not work in previous versions of spack but does now
Adds the "buildcache" command to spack. The buildcache command is
used to create gpg signatures for archives of installed spack
packages; the signatures and archives are placed together in a
directory that can be added to a spack mirror. A user can retrieve
the archives from a mirror and verify their integrity using the
buildcache command. It is often the case that the user's Spack
instance is located in a different path compared to the Spack
instance used to generate the package archive and signature, so
this includes logic to relocate the RPATHs generated by Spack.
* py-networkx: adding older version py-networkx
* py-pypeflow: new package
* falcon: adding new package
pacbio-daligner: adding new package
pacbio-damasker: adding new package
pacbio-dazz-db: adding new package
pacbio-dextractor: adding new package
* py-networkx: modifying version order to be in line with convention
* falcon: tweaking py-networkx dependency to satisfy setuptools
py-pypeflow: adding missing dependency
* pacbio-dextractor: changing hdf5 dependency
* pacbio-daligner: adding gmake build dep
pacbio-damasker: adding gmake build dep
pacbio-dazz-db: adding gmake build dep
pacbio-dextractor: adding gmake build dep
* mpest: new package
* adding architecture env var and making more version-flexible
* fixing environment
* fixed build directory
* getting rid of duplicated code
* signalp: new package
* fixed homepage
* fixed url and phases
* refixed phase
* improved readability
* making path in execuatble adaptable to new versions
* fixes#967
* Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
* Don't assume spack is in the path when building docs.
* adding mfem variants; do not assume build defaults
* adjusting format to clarify options
* fixing some build issues
* fixing mfem+sundials
* removing mesquite variant...turns out it is obsolete
* adding examples to mfem; fixing sundials darwin installs
* adding some additional variants and setting some configure flags by fiat
* switching most check_variants logic to conflicts() directives
* adding comment about cmake config
* fixing flake8 issues; thought I had already done that
* moving func def into install method
* switch yes_no to no_yes; fix miss-spelling of miniapps
* switching make target all to lib
* changing yes_no to function as requested; fix problem with same in sundials
* fix missing import sys directive
* adding master and develop versions to amrex
* Added a package for the MDAnalysis toolkit.
* Added additional packages that Elemental depends on.
* Changed LBANN to not ask for the scalapack variant in Elemental.
* Removed variant control on scalapack
* New package: qbox
* API changes
* Use install instead of shutil for comd
* Use any BLAS library
* Fix typo
* Python2 fix
* python2 + fix backslashes
* Modified to respond to ld_flags correctly
* Modified to use ld_flags
* Add ld_flags support
* Updated Changes
* Updated AMG with required MPI
* Updated AMG with Version ' changes'
* Fixed Issues with flag's and variant checks
* Updated with MPI Alone and Changes - NO Serial Variant
* Updated with MPI Alone and Changes - NO Serial Variant
* Fixed Flake 8 line length error
* Updated Spack Issues
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Add new OpenSpeedShop gui package based on qt4/qt5 gui toolkit.
* Fix flake8 errors.
* Fix flake8 errors.
* Update bcl2fastq2 with info for 2.19.1.403
Heads up, the download location changed (domain name AND protocol).
* Flake8 fix
What's one space between friends?
* Adding lower bound to pnetcdf conflict in Trilinos to allow for use of develop and master branch.
* Using even lower bound for pnetcdf conflict in Trilinos.
* Added a package for the MDAnalysis toolkit.
* Changed cmake_options to args to be consistent with the rest of the
file and fix a cmake error about undefined errors. Additionally,
added guards for both png and zlib to not include their cmake options
when those variants are not specified.
* slurm: added initial recipe
* Modified variants following Adam comment.
The MV variant 'features' has been turned into a set of BV variants. The
dependency on 'readline' has been made optional.
* new package: cns-nospec
* made changes as suggested and added proxy-app tag
* updated edit()
* adjusted logic for '+debug'
* install readme and license
* install readme and license
* install readme and license; fix mpi version build issues
* fix build issues for ~mpi
* pep8 compliant
* new package: amr-exp-parabolic
* removed boilerplate and added tag
* install license and readme
* fix mpi build issues
* change access to include/lib directories and pep8 compliant now
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.
* Fix issues with the cbtf-argonavis package.py files related to comments.
* Add changes for changing the krell packages from Package to CMakePackage.
* Add better changes for changing the krell packages from Package to CMakePackage.
* Add more modifications for changing the krell packages from Package to CMakePackage.
* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros
* Fix new travis errors.
* Fix new travis errors.
* Add more changes for PR 4765.
* Add more refinements to the conversion from Package to CMakePackage.
* Fix new travis errors.
* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.
* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.
* Fix more flake issues caused by last changes.
* Fix a bug where openspeedshop will not build when no mpi variants are specified. Also switch to a multiple level variant for building the gui(s). Use none, qt3, and qt4 as the variants with qt3 being the default.
* Add fix for spack issue #4843, where LTDL include files were not found.
* Add the build_type variant back into the openspeedshop package file.
* Add new package for the Argo Navis/Krell new graphical user support library: QtGraph.
* Revert "Add new package for the Argo Navis/Krell new graphical user support library: QtGraph."
This reverts commit f8883de446c404e46d4c33fe497ae1e9ab2f04a6.
* Add new package for the Argo Navis/Krell new graphical user support library: qtgraph.
* Fix flake8 errors.
* Fix flake8 errors.
* Fix flake8 errors.
* Fix flake8 errors.
* Fix flake8 errors.
* Add changes to support QMakePackage class instead of Package class for qtgraph.
* Update change for suggested reviewer improvements.
* Fix flake8 errors.
* Fix flake8 errors.
* new package: VPFFT
* install readme and license
* misc
* changed version name to 'develop'
* removed the misplaced package file
* updated eigen path, fixed docstring, and updated 'docs' installation method
* pep8 compliant, changed installation of docs
IceT places its CMake module in the wrong directory,
which is not included in the default CMake search paths.
This fixes it for *directly* depending packages without the
need to add
```yaml
icet:
environment:
prepend_path:
CMAKE_PREFIX_PATH: '${PREFIX}/lib'
```
to the `modules.yaml` as a workaround.
* Molcas 8.2: Adding molcas spec file
* Molcas 8.2: Putting in patch file for molcas driver not to be installed in spack stage directory
* Molcas making changes
* Making changes in ordering
* transabyss: new package and dependencies
* fixed build deps in igraph and version conflict spec in abyss
* fixed versioning stuff and package structure
* fixed dep type
* fixing dep type for real this time
Build system "usually" autodetects mpi library but this is
not the case on many platforms. Provide mpi library name/version
as part for configure args.
* savanna: explicitly adding variant sz to adios since it is no longer enabled by default in adios
* savanna: removing +sz from adios as sz is now enabled in adios by default
* savanna: explicitly specifying adios variants required by savanna
* adios: conform to pep8
* adios: added versions 1.11.0 and 1.12.0
* adios: added variant no_mpi to explicitly disable mpi support
* adios: add new variant mxml
adios v1.12.0 onwards contains an xml library built within.
To build with an external mxml, a new variant must be used
* adios: new variant for sz transform
* adios: flexpath and dataspaces staging variants
Two new variants for staging: flexpath and dataspaces.
New variant 'staging' that will enable both
* adios: dependency on libtool:2.4.2 since adios does not build with newer libtool 2.4.6
* adios: better description for variant no-mpi
* adios: new variant for netcdf
as requested by @mamelara from LBL
* adios: renamed variant 'no_mpi' to 'serial'
* adios: removed variant mxml
* adios: corrected implementation of the mpi dependency, along with its relation with the 'serial' variant
Added conflicts between 'serial' and other variants
* adios: added 'else' clause when variants are not added
* adios: replaced variant 'serial' with 'mpi'
* adios: Added configure option to explicitly disable variants that are not enabled.
* adios: setting default zfp to true
* adios: fixed flake8 errors
* adios: removed some old comments
* adios: setting default sz to False.
It is recommended to set default to False when dependency is on develop (sz@develop).
* adios: removing dependency on develop for sz and setting default sz to true
* adios: updated url to latest release.
Just keeping it clean
* new package:SNAP
* removed boilerplate
* Delete .nfs00000000003a8b1700001358
* install another executable in bin and install readme
* added quotes around README.md
* moved readme to prefix
* Added a package for the MDAnalysis toolkit.
* Added a patch that allows Elemental to use cuBLAS internally.
* Added support for LBANN to use the new cuBLAS extension in Elemental.
* Added a proper variant for when LBANN does not want to use cuBLAS in
elemental.
* Added a package for the cnpy project and used it in the lbann package.
* Removed unnecessary comment lines.
* Removed blank lines
* Removed debug variant
* Add support for libjpeg-turbo
* Added additional variants for OpenCV features. Fixed bug when linking
in TIFF support, where libtiff used the regular JPEG library and
OpenCV used libjpeg-turbo. Now libtiff can use libjpeg-turbo.
* Removed the variant for getting Elemental to use the cublas variant.
Updated the requirements for OpenCV to add new options.
* Fixed a flake8 error in OpenCV and added a path to find cnpy in lbann.
* Fixed line too long flake8 error.
* Added a flag to specify the datatype size in lbann and fixed a flake8 error.
* Added a debug build variant using hte new build_type
* Fixed flake8
* Fixed how the debug build is pushed to Elemental
* Fixed a bug in the Elemental package where the blas search flags were
being overridden by the blas link flags. Changed how the sequential
initialization variant is implemented in LBANN.
* Added support via a variant to explicitly use mkl or openblas. This
helps work around variant forwarding problems.
* Updated package files to address pull request comments.
* new package: cns-nospec
* made changes as suggested and added proxy-app tag
* updated edit()
* adjusted logic for '+debug'
* install readme and license
* install readme and license
* new package: SMC
* removed template and added proxy-app tag
* added comp variant in edit()
* edited comp variant in edit()
* move executable and input file into bin and install readme and license
Fixes#4898
Constraints that were supposed to be conditionally activated for
specified values of a single-valued variant were being activated
unconditionally in the case that the variant was associated with
an implicit dependency. For example if X->Y->Z and Y places a
conditional constraint on Z for a given single-valued variant on
Y, then it would have been applied unconditionally when
concretizing X.
Earlier versions of boost had a fixed maximum number of jobs. 1.54
was 64, it bumped once or twice afterwards and in 1.59 [this
commit][commit] it became dynamic.
I need 1.54 for as a prereq for bcl2fastq but I can't build 1.54 on my
144 core build box.
This fixes that.
[commit]: 316e26ca71
* Fix cdefs macro to be compatible with gcc 4.8.x
See the discussion in #4945 (after the merge) for additional
background.
libbsd builds with gcc@5.4.0 on CentOS 7, but not with the system's
gcc@4.8.5. Others have reported problems with gcc@4.8.3 on Fedora 19.
The problem boils down to the lack of support for the clang extension
`__has_include_next`. The immediate symptom seems to be the
pre-processor using defining macro like this
```
```
then then tripping over an expansion of it like this:
```
blah.h:13:23: error: missing binary operator before token "("
```
This patch changes the macro definition to:
```
```
which swallows the arguments with which the macro is invoked.
The end result is that libbsd builds for me on CentOS 7 using the
system compiler.
* Apply this patch for any compiler version before 5
This includes subversions of 4, like 4.8.5.
* chlorop: new package
* chlorop: moving main script to bin and moving runtime tmp location.
* chlorop: fixing flake8 error.
* chlorop: cleaning up, removing CHLOROTMP, advising user to set it.
* chlorop: removing unused import
Adds ADIOS2, the C++ Exascale HPC I/O rewrite of ORNL's ADIOS
library.
Currently, many variants (especially for data transforms such as
compression) are not yet added. It already provides Python bindings.
* Changed every 'fpic' variant to 'pic'. fixes#2463
Every variant that activates compilation of position independent code
has been changed to 'pic'. Hardcoded compiler flags in packages have
been substituted with `self.compiler.pic_flag`.
* Changed literal uses of '-fpic' to 'self.compiler.pic_flag'
* Add a QMakePackage base class
* Fix sqlite linking bug in qt-creator
* Add latest version of qt-creator
* Add latest version of qwt
* Use raw strings for regular expressions
* Increase minimum required version of qt
* Add comment about specific version of sqlite required
* Fixes for latest version of qwt and qt-creator
* Older versions of Qwt only work with older versions of Qt
* SCR CMake package
* Fix dtcmp variant description and set pdsh deptypes to build/run
* added variants for system config file location
* add variants for several scr cmake options
* Added more variants for compile time options
* Added libyogrt and made corrosponding changes to scr package.
* Cleanup yogrt package now that Ive verified it works
* Added description for libyogrt
* upper case async api names
* Make use of mv variants
* fix pdsh package for scr
* added IBM BBAPI as async option
* update pdsh and scr to use static pdsh modules
* Add package for libbsd, add variant to expat for libbsd
The recent expat release requires a high quality source of randomness.
CentOS 7 does not seem to have one, but one is available in libbsd.
This commit adds a package for libbsd and adds a variant to expat to
use it (defaults to False).
* Make libbsd default for newer, conflict for older
Make the libbsd variant default to true.
Conflict if you're asking for libbsd and an older version of expat.
This means that in order to install an older version of expat you'll
need to specify `~libbsd`.
* Rework so that 2.2.0 and 2.2.2 work by default
Get rid of the conflicts and use better constraints/tests in the
`depends_on` and the `configure_args` bits.
* Add package for canu
There's a top-level perl script, which is touched up to use a
spack-built perl instead of `#!/usr/bin/env perl`. It's
self-contained, it uses `FindBin` to locate it's libaries.
* Add dependency on gnuplot
I noticed a hidden mention of the use of gnuplot in the docs.
This adds the dependency.
* Tighten dependencies, flake8 cleanup
gnuplot is a run dependency.
jdk is a run dependency.
perl is a run dependency.
Make flake8 happy.