* 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.
* Protobuf: CMake
This rebuilds protobuf to be build with CMake,
so cmake config packages are created and installed, too.
Unfurtunately, this drops support for protobuf < 3.
* Protobuf CMake: Add .pc files
* libprotobuf.a: -fPIC
* Protobuf: Minor Updates
Updates from upstream review and planned patch inclusion.
* Fix xsdk build broken by petsc and trilinos
See #4891 for details
* Fix version conflict in trilinos package
Trilinos version 11 may conflict with superlu-dist.
The version "xsdk-0.2.0" was conflicting with superlu-dist,
even though it shouldn't. I added a lower bound to the
comparison to fix this problem.
Thanks for the help @davydden!
For packages which contain a mix of versions with formats X.Y and
X.Y.Z, if the user entered an X.Y version as a preference in
packages.yaml, Spack would get confused and favor any version A.B.Z
where X=A and Y=B. In the case where there is a mix of these version
types, this commit updates preferences so Spack will favor an exact
match.
Adds the cppzmq library, adding a C++ API to ZeroMQ (libzmq). In order to find the autotools-build libzmq, this requires the upcoming cppzmq release (or development branch).
zsh's configure script fails if there's it tries to test for terminal
functionality if there's not a terminal (e.g. in a Jenkins build).
The configure script has a switch that asserts that tcsetpgrp works
and thereby avoids running that test.
This commit adds a variant that invokes that switch, defaulting to
True.
Adds a the latest version of gBenchmark, release 1.2.0.
This is the first gBenchmark version with proper
[CMake config package installs](https://github.com/google/benchmark/issues/363).
This is important for dependencies building against it, such as gRPC.
* Initial Spackage for qmd-progress library
PROGRESS is a library is focused on the development of general solvers
that are commonly used in quantum chemistry packages.
* Removed LA-CC from description to fix formatting
* Added Additional Formatting Requests
Added requested formatting changes and also ensured that graphlib and
mpi are disabled if not enabled
* New Pacakge: lcals
* added logic for arch detection and compiler choice.
* fixes for comments.
* addressed comments.
* removed LCALS_ARCH and added flags though spack.
* addressed comments.
* flake 8 fix.
* reerted the changes along with comments.
* 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.
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* added tags.
* changes to use MPI as depedency.
* removed MPI as variant.
* changed pointer to filtered makenek file.
* flake 8 fix.
* Add universal build_type variant to CMakePackage
* Override build_type in some packages with different possible values
* Remove reference to no longer existent debug variant
* Update CBTF packages with new build_type variant
* Keep note on build size of LLVM
* 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.
* Remove PKG_CONFIG_PATH from tmux configure
* Change tmux to AutotoolsPackage
* Correct link to libtinfo in tmux
* Change version.up_to() to return Version() object
* Add unit tests for Version.up_to()
* Fix packages that expected up_to() to return a string
* Ensure that up_to() preserves separator characters
* Use version indexing instead of up_to
* Make all Version formatting properties return Version objects
* Update docs
* Tests need to test string representation
* perl: prepend default perl @INC path to support package activation
* perl: remove stray comma from list of configure arguments
* perl: final comma in configure arguments makes adding arguments safer
This reverts commit fdc10cd611f525ebc31ca1953e048095b1c75350.
* perl: add comment about modified @INC (thanks to George Hartzell)
* perl: use self.prefix.lib and self.prefix.bin for clarity
* perl: convert tabs added by editor to spaces for flake8
* perl: use new path syntax: prefix.lib.perl5
* perl: avoid line break before binary operator
* perl: use compact spack syntax for perl executable
* gBenchmark: Development Package
Add the development version (master branch) of `gBenchmark`
* gBenchmark: Remove Duplicate
Remove duplicate `gbenchmark` library
and keep its patch to remove the shipped
-Werror
Adds SpackCommand class allowing Spack commands to be easily in Python
Example usage:
from spack.main import SpackCommand
info = SpackCommand('info')
out, err = info('mpich')
print(info.returncode)
This allows easier testing of Spack commands.
Also:
* Simplify command tests
* Simplify mocking in command tests.
* Simplify module command test
* Simplify python command test
* Simplify uninstall command test
* Simplify url command test
* SpackCommand uses more compatible output redirection
Installing the stable version 0.5 through the checksummed tar.gz does not fetch the git submodule in the package.
The submodule appears as an empty directory.
Thus, clone the commit tagged as v0.5 using git to get around this issue
* savanna: modified adios dependency spec
* Replaced adios+staging with adios+flexpath+dataspaces
* savanna: Enabling fortran support in adios by default
* savanna: reverting to variant 'staging' for enabling all staging transports
- +swrender variant lets you compile an off-screen only version for
software rendering on clusters.
- +swrender+llvm for using llvm for the software pipe
- added newer versions (17.1 and 13.0) and corrected the url location
to use the canonical location.
* gtkorvo-atl: atl library from gtkorvo
* gtkorvo-dill: dill library from gtkorvo
* gtkorvo-cercs-env: cercs_env library from gtkorvo
* gtkorvo-enet: Enet networking library from gtkorvo
* libffs: FFS middleware communication library from GTKorvo
* libevpath: EVPath high performance communication library from GTKorvo
* gtkorvo-cercs-env: Added homepage and removed function configure_args
* gtkorvo-cercs-env: Re-add of accidental removal of cmake_args function in previous commit
* gtkorvo-enet: Removed configure_args since unused
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* addressed comments
* removed string formatting for LDFLAGS.
* 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.
* Initial work on flag trapping using functions called <flag>_handler and default_flag_handler
* Update packages so they do not obliterate flags
* Added append to EnvironmentModifications class
* changed EnvironmentModifications to have append_flags method
* changed flag_val to be a tuple
* Increased test coverage
* added documentation of flag handling
* removed the tags as per comment in PR# 4749
* addressed above comments
* changed fortran compiler.
* added proxy application tags.
* added tags by removing them from description.
* addressed comments
* used join_path instead of path concat.
* added tags and other minor changes.
* removed tags from description.
* new package: CLAMR
* changed from bool variants to single value variants and corresponding logic in build_type and cmake_args
* lowercase variant values
* updated conditionals for variants
* adjusted url and docstring
* new package to be added: NuT
* removed cmake_args() and made other changes as suggested
* Added setup_environment()
* PEP8 compliant
* edited version name, build_targets, and files/directories to install
* corrected executable directory
* compiler dependencies based on version
* Change path to CMakeLists.txt to be relative to root, not pwd
* Changes requested during code review
* Revert back to old naming of root_cmakelists_dir
* Make relative directory more clear in docs
* Revert change causing build_type AttributeError
* Fix forgotten abs_path var
* Update CLHEP with new relative path
* Update more packages with new root_cmakelists_dir syntax
somatic-sniper installs its own copy of samtools, which needs curses.
I'm not sure why I didn't stumble on this in my dev environment, but I
just stumbled over it in a standalone build.
The 4.X branches are now on the homepage, so we take the GitHub release
artifact (careful: take their upload, not the automatic tarball).
Adds a development version of ZeroMQ.
Requires a autogen run, as for all their unreleased versions,
and the pkg-config fix in #4736
Always sets the `pkg-config` environment hint for
autotools.
Required dependency for `autoreconf` of ZeroMQ when
build from source (e.g. v4.2.2) via autotools in `autogen.sh`
step for `autoreconf`.
* Add package for r-ada, update r-rpart version
Adds a package for r-ada.
Update the version for r-rpart because the previous version is
no longer at that URL. The previous version *is* in the Archive,
but list_url does not seem to be able to find it.
* Clean up FIXMEs (blush)
* savanna: Runtime framework for online workflow management from the ECP CODAR project
* savanna: added version 0.5
* savanna: Copying the package contents to prefix as part of installation
* savanna: Doing submodules=true for git checkout of develop version
* savanna: removed dependency on adios@develop. depends on adios
* Savanna: Converted package to MakefilePackage
* New Package: Pathfinder
* Added index for String format
* Changed to make Makefile edit more specific
* Make Flake8 Happy
* Removed unneeded conversion
* Add package for Sniffles
* Wire up a manual install step
The cmake infra doesn't install anything, so do it by hand.
The binaries land in a location that embeds the version...
* hybpiper: new package and spades dependency
* hybpiper: making flkae8 happy
* hybpiper: fixing dependency errors
* fixing python dep type
* removing cmake from spade dependencies
* libwebsockets: new versions
both new versions fix a nasty bug leading to a hanging
connection on connect.
* ISAAC Server: Fix libwebsockets
ISAAC server did hang in docker containers due to a bug
in libwebsockets.
* Add two python packages for editing mach-O headers. Much faster than calling otool and install_name_tool directly
* remove non-overriding function
* autopep8
* Adding OpenMP variant to Trilinos. Also building NetCDF with PNetCDF in Trilinos when necessary.
* Adding runtime error for PNetCDF variant in Trilinos when necessary. Omitting unnecessary openmp variant for Trilinos in Nalu.
* Changing variant checks to conflicts statements.
* Adding comments to Trilinos package.
Adds the `gearshifft` package, a benchmark suite for heterogeneous implementations of FFTs.
Adds clFFT, a software library containing FFT functions written in OpenCL.
see: https://github.com/clMathLibraries/clFFT
The vcftools package was installing its Perl libraries into a
directory in the staging directory named 'lib', instead of installing
them into `prefix.lib` where they should have been because the value
passed to the configure script was wrong.
The result was that any attempt to run one of the scripts in the
package failed with something like:
> Can't locate VcfStats.pm in @INC (you may need to install the
> VcfStats module) [...]
This fix provides the correct information in `configure_args`.
Tested lightly on CentOS 7.
* Dataspaces spack package, hard-wired for ubuntu VM
* Initial commit of dataspaces spack package
* Made changes and additions necessary to install on Cori and Titan
* Added temp 1.6.2.1 for testing
* Updated tar file for 1.6.2
* Fixed formatting
* Set the type of build dependencies
* Changed the way autogen.sh is called for compatibility
* Use append instead of extend to add configure flags
* Various syntax fixes
* Switched string checking to method for compatibility
Now using the six library for Python 3 compatibility. Thanks @adamjstewart
* Made MPI variant default
- renamed develop version from 'plus' to 'develop'
- patches now prefixed by corresponding OpenFOAM version number.
This makes it easier to sort and see what old/junk exists.
- remove MPI_BUFFER_SIZEk env variable (for all openfoam variants).
The OpenFOAM shell setup addresses this and there is no reason
to pollute the module environment at this stage.
* sabre initial commit, works but test does not
* removing test until I have time to fix it
* sabre: fixing flake8 errors
* sabre: changing to MakefilePackage
* mpifileutils: update to v0.7
* mpifileutils: disable --enable-experimental in v0.6 and earlier
* mpifileutils: list newest version first, avoid experimental switch unless at v0.7 or later
* * add mpii* wrappers for use with intel compilers
* in mumps package, scotch is compiled without metis option when
ptscotch variant is selected. This removes confusion over which
metis.h to use
* for intel mkl, add SPACK_COMPILER_EXTRA_RPATHS ending in 'intel64'
* scotch lib requires libz when compression is turned on. This
caused a link issue on some Ubuntu distributions (not
redhat). Change Scotch package to add -lz when needed
* * intel-mkl append to SPACK_COMPILER_EXTRA_RPATHS rather than setting
* use more concise method to obtain libz libraries for scotch
* remove changes to intel mpi
* remove commented out depends_on
* fix flake8 errors
* Add package for primer3
Built and mildly tested on CentOS 7.
* Convert to MakefilePackage
I always forget about this...
* Set build_directory the easy way
Life's not always complicated. Don't go out of my way
to make it so....
* Fix Flake8 issue
* added perl-star-fusion and perl-intervaltree
* added perl-star-fusion and all dependencies
* changes
* made changes as requested to perl-star-fusion dependencies
* changed perl-intervaltree dependency
* changes to star fusion
* now using perl properly
- Thanks to pointer from @adamjstewart - can avoid this either by
avoiding an external mxml dependency, or by making certain that they
both use consistent code generation.
The adios package uses '-fPIC' for python linkage and this seems to
require the same for mxml too. If the adios-internal version of mxml
is used, it has the same flags for both.
- The buggy flex-2.6.2 was blacklisted in the corresponding flex
package, but now also removed the md5sum to avoid suggesting that
this version should be revived.
The 2.6.3 has similar problems (at least for scotch), but 2.6.4
seems to work.
- Rejig flex restriction for scotch to exclude 2.6.2-2.6.3 only. Since
flex-2.6.4 appears to be okay again, we can remove the flex version
restriction that trickled through into the openfoam packages as a
consequent of an spack spec bug.
- Make flex a build dependency for the openfoam packages
(seems to have been an earlier oversight).
* Remove unneeded patch lines which fail for the most recent CNTK version on the head of the git repo
* Really check for NVML/GDK
* Fix some violations
* gtkplus: set XDG_DATA_DIRS
* shared-mime-info: database of common MIME types
* gtkplus: needs shared-mime-info for correct handling of stock icons
* shared-mime-info: builds with newer intltool than provided by some platforms
* atk: set XDG_DATA_DIRS at run-time
* gdk-pixbuf: set XDG_DATA_DIRS at run-time
* gtkplus: set XDG_DATA_DIRS at run-time
* pango: set XDG_DATA_DIRS at run-time
* shared-mime-info: set XDG_DATA_DIRS at run-time
* enable some of the tools
do not make zoltan default
* modify moab package
add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab
* few kinks for moab
zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs
install in serial for the time being (because of example makefile
duplicate?)
for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2
* force hdf5+mpi if both are specified
also, something like this works:
spack install moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
use mpich32, and cgm built with oce 0.17.2
* forgot about irel, fbigeom, mbcoupler
* add meshkit package
simple build so far, moab and cgm deps only
also, an example of complex build for cgm
spack install moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
* for meshkit, moab needs to have irel, fbigeom
* forgot to self.spec
after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk
cgm depencency is found out from moab
moab has to be built with irel and fbigeom
* add netgen package and review
do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test
* use conflicts where needed, suggested by review
remove release candidates
* flake8 alignment errors
* flake8
* reviews
flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
also, with +gui, it should depend on a lot more, like tk, tcl?
* flake8 issues
whitespaces and a comment in netgen
* add more explicit options
--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)
* flake8, trailing whitespace
* ninja-fortran: a Fortran-capable fork of ninja build tool
* Use url_for_version for clarity
* Clean ninja-fortran
* Cleanup in the original ninja package
* added py-tomopy package
* fixed dependencies and added import_modules
* edited deps for tomopy with import_modules and added py-olefile pkg
* changed module name
* changed dependency to python because it will not build with setuptools
* fixed dependency list for py-tomopy and py-dxchange
* added py-nose dependency
* fixed tests
* commented out dependency py-counter
* fixed dependency py-pybtex-docutils
* removed nose as a dependency
* fixed flake8 errors
* fixed import_modules
* fixed import_modules indent
* fixed various issues in tomopy and deps files
- paraview 5.2.1 -> 5.4.0 supports both Qt4 and Qt5, but the assumed
default version changes between versions. So explicitly define
which QT major version is being used.
* Several improvements for the openfoam packages
--
Refactor openfoam packages by adding an OpenfoamArch class
Use separate configure, build, install phases.
Provide FOAM_PROJECT_DIR dependent env for openfoam packages
- easier way to locate
Eliminate intermediate installation directories
- unneeded clutter.
- makes it less than easy to find the etc/bashrc file
Add versioning for all openfoam patches
- no certainty which parts (if any) will be needed in future versions,
especially if we strive to ensure that the upstream version builds
well with spack to begin with.
Support build of develop branches
- helps track build regressions for future openfoam releases
STYLE: use common/ and assets/ to provide additional (build) resources ...
* - adjust OpenFOAM provider
Move openfoam-com up front since this is the one being used as a base
for the others
Added line in package.py to patch using ipopt_ppc_build.patch. The patch simply adds support in config.guess and Ipopt/config.guess to build ipopt on ppc64le.
* adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size
* fixing homepage url
* removed fortran error message...just build fortran if can, otherwise ignore
* Added magma package
* Incorporated Serban's change
* fftw: patch configuration file to remove search for xlc_r compiler
when compiler not gcc
FFTW assumes there are only 2 compilers: gcc and IBM XL. When
building threaded fftw, the configuration file is looking for
the threaded IBM XL's xlc_r compiler when the compiler is not gcc.
The PGI compiler is not gcc.
* Include depends_on for gperf
Sometime around 2.12.2 fontconfig acquired a build-time
dependency on `gperf` (this commit, I think:
59fd9960bbb58fd6257adb13ec0f918882149332).
This adds the dependency.
`gperf` is called in the `src/Makefile`, see line 907 of
`src/Makefile.in`.
* Only depend_on gperf if @2.12.2:
The gperf dependency *seems* to only be required when @2.12.2:.
Earlier releases do not check the arg type of the gperf lookup
function (which requires gperf) and are able to use pre-generated
files so gperf is not required at build time.
* 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 Makefile override of PREFIX and install w/gcc-6
* oce changes for cgm
cgm can be configured with oce, but oce needs
to have X11 enabled, because some libraries
(like TKCAF in occ/oce) gets built only of X11 is NOT disabled
so introduce a variant +X11 for oce, which is needed when
configuring cgm with oce(+X11)
* follow up review
simplify by removing the patch and different url paths
use append instead of extend, when necessary
make mpi true by default
X11 dependency is still to be addressed; it pulls in some opengl
library (on laptop nvidia seem to work, on virtual linux machine
mesa was good enough)
- invoke make with the correct TARGET for aarch64
- foforce PILERDRIVER as openblas cannot correctly detect CPU on aarch64
- update url to more recent version
* Fix tpetra-related xsdk errors
Recent changes to the trilinos package broke the xsdk build.
xSDK explicitly disables tpetra, but packages depending on it
(such as ifpack2 and amesos2) are explicitly enabled by default
in the trilinos package. This commit explicitly disables them
within the xsdk package.py.
* Disabled exodus in the xsdk build
See issue #4502 for details
- Introduce an opengl variant that is enabled by default. Disabling it
allows building qt for X forwarding etc.
- Depend on fontconfig and freetype to make use of system fonts.
Otherwise qt can not find any fonts.
- libx11 is required when libxcb is used.
- Set MAKEFLAGS to parallelize qmake compilation.
* Initial version of the namd package
* Modified charm to consider compile against intel/intel-mpi
* Correction of namd to compile with intel-mkl and intel compiler
* Adding inclue64 in the prefix
* adding property for the build directory
* removing useless function build
Fixes#4488. When compiling metis as a shared library, the package
used the syntax `-rpath=`, followed by a path. This syntax is
non-portable, so replace it using Spack's compiler rpath argument
property.
* During install, remove prior unfinished installs
If a user performs an installation which fails, in some cases the
install prefix is still present, and the stage path may also be
present. With this commit, unless the user specifies
'--keep-prefix', installs are guaranteed to begin with a clean
slate. The database is used to decide whether an install finished,
since a database record is not added until the end of the install
process.
* test updates
* repair_partial uses keep_prefix and keep_stage
* use of mock stage object to ensure that stage is destroyed when it should be destroyed (and otherwise not)
* add --restage option to 'install' command; when this option is not set, the default is to reuse a stage if it is found.
* espresso: fixed compilation for 6.1 (elpa) and added support for hdf5
* espresso: addressed items in @davydden review
* espresso: fixed behavior for espresso@:5.4.0
* New Package: lanl-bml
Added LANL's BML library as Spack Package as dependency for future
packages
* Adjusted lanl-bml versions
Specified current master as develop and added v1.1.0 tagged version
* Renamed lanlbml package to bml
* First draft package for mono
Mono's vendor'ed boringssl interacts badly with openssl, so
you need to use `cmake~openssl`.
Left to its own devices, it wants to refer to things in
`/usr/share/.mono`. This doesn't work for installs that don't run as
root, etc... This package includes a variant to redirect those paths
to `prefix.share`.
* Whitespace/Flake8
* Adding Nalu package.
* Fixing flake8 stuff.
* Fixing flake8 stuff.
* Reorganizing trilinos package file a little to make it less verbose.
* Reorganizing trilinos package file for more general use as well as use as a dependency of the Nalu package. Setting fpic as default for yaml-cpp and superlu.
* Explicitly stating fpic variants in dependent packages.
* Updating nalu and trilinos package files with suggested changes.
* Fixing formatting issues. Making suggested changes.
* Fixing formatting.
* Reducing amount of explicit variants in Nalu. Adding suggested changes to Trilinos package file.
* Making suggested changes to Nalu package.
* Turning off superlu-dist variant.
* Cleaning up yaml-cpp file.
* Fixing pnetcdf requirements in trilinos.
* Handle missing defn of __NR_memfd_create
Generally SYS_foo is defined to __NR_foo (in sys/syscall.h) which is
then defined to a syscall number (in asm/unistd_64.h). Certain CentOS
systems have SYS_memfd_create defined to __NR_memfd_create but are
missing the second definition. This is a belt and suspenders solution
to the problem.
See [this post][syscall] for a nice general description of how these
parts fit together.
[syscall]: https://www.uninformativ.de/blog/postings/2017-02-11/0/POSTING-en.html
* Avoid flake8 warning
* postgresql: Fix build with threadsafe and add variant.
* postgresql: Convert Package to AutotoolsPackage.
Also add explicit enable flag for +threadsafe variant.
* Add add'l output formats for graphviz
Add support for additional output formats to graphviz, including gif,
jpg, pdf, and png.
Graphviz calls its pango+cairo option *pangocairo* so I followed suit.
Libgd was missing jpeg/jpg support. None of the other supported
formats are conditionalized and there is no --with/--without support,
so I followed suit.
* Fix ghostscript plugin
When I installed thusly:
spack install graphviz+pangocairo+libgd^cairo+X^pango+X
the ghostscript plugin tripped over some variable names that had
changes in `gs@9.18:`. This fixes them.
* Remove wayward import of tty
* Need to help Makefile.PL find the expat bits
We need to provide Makefile.PL with a clue about where our
expat bits live. We had the dependency, but I suspect
that the lib was actually linking against a system version.
* Use prefix.lib instead of building path myself
Ditto with .include
I've had non-repeatable failures in my CI runs on all three clusters
at the bamutil's step. In each case there are .o or .so files that
are corrupt or truncated.
I suspect that the homebrewed bamutil Makefile scheme doesn't actually
support parallel builds.
* Tighten up graphviz package
The fun started when configure discovered a broken/partial
installation of `swig` in `/usr/local`, then auto-discovered my
system's python and ruby packages.
- SpackException doesn't seem to exist. Convert it to a SpackError
and call `.format(...)` on the error string to fill in the
placeholder.
- Pull swig out of the list of languages. It's something that can be
asked for explicitly and that is needed if *any* of the langagues
are enabled. It's disabled by default.
- Explicitly disable the languages that are in "untested_bindings"
list lest the configure script pick up things from the system.
* Touch up variant description string
* Clean up conditional statement
* Use InstallError, not SpackError
* Drop the swig variant
Get rid of the swig variant and drive that bit based on whether any
languages are enabled.
* Move perl to the untested list
That's not strictly accurate. I tested it and it doesn't work.
There's a missing depends_on(). When you add that you'll discover
that the language binding bit can't find Perl's 'EXTERN.h'. Then
you'll discover that graphviz's `configure` script doesn't have a good
way to include the paths to Perl's bits (looks like I'll have to
gather them for each language and then use them to build `CFLAGS` and
`CXXFLAGS` and `LDFLAGS`). While pondering that, you'll discover that
EXTERN.h is buried down here:
```
opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-35ejv4426dmzreum4ekdibu3ddmhquvi/lib/5.24.1/x86_64-linux/CORE/EXTERN.h
```
and decide that you wish you had never thought to actually test
`graphviz+perl`.
I could find that directory with a snippet like so:
```
perl -MConfig -e 'print "$Config{archlib}\n"'
```
but at this point I'm much, much further down this rabbit hole then I
ever wanted to go.
* Convince python that tested_bindings is a list
When I removed `+perl` and made `tested_bindings` a list of one
thing, I ended up with this:
```
==> Error: cannot concatenate 'str' and 'tuple' objects
```
* Flake8 cleanup
* Don't convert a string to a string
* rm unused () and clarify variable name
Feedback from @adamjstewart
- Get rid of some unnecessary parens.
- Clearer variable name and use.
* Further cleanup of language enabling loop
Now we don't need that pesky temporary variable.
* Add package for cctools
Add a package for cctools.
Requires the recently submitted "useshrplib" support in Perl (or some
other mechanism to enable -fPIC for perl).
* Delete extraneous import
* Perl's shared variant changed, adapt...
The name of the variant that perl uses to build a shared lib changed and
it now defaults to True. Use the new name and continue to be insistent
about using the shared variant.
* Flake8 cleanup
* Added magma package
* Incorporated Serban's change
* boost-pgi: Add support for PGI compiler
There are two patches required:
(1) general fixes required by PGI
(2) workaround for a bug in PGI 17.4
Conflicts:
var/spack/repos/builtin/packages/boost/package.py
* Add variant to build shared Perl lib
Add a variant that enables Perl's "useshrplib" feature, which builds a
shared perl library.
This addresses problems like so:
```
/usr/bin/ld: /blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_opargs' can not be used when making a shared object; recompile with -fPIC
/blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
```
It should also address the Intel compiler issue discussed in #3081
while respecting Perl's configuration machinery.
* Rename shared variant and default to True
* Use correct variant to add configure arg
* Restore bits that set ccflags for intel compilers
After some experimentation we've established that setting
the flag to build a shared perl library is tightly tied to
the use of -fPIC.
This commit restores the code that sets ccflags for
intel compilers.
* Flake8 cleanup
See the discussion about installing jar files in #4386.
Also installs a wrapper script that has explicit references to the
prerequisite java exe and to the jar file in it's final resting place.
* Add packages for clustalw and clustalo (and argtable)
Add packages for the classic multiple alignment package, `clustalw`
and its younger sibling, `clustalo`.
`clustalo` needed the `argtable` package (command line arg parsing).
Lightly tested on CentOS 7.
* Remove FIXME (sigh...)
* Add mpi support to R
* Add multiple precision math routines to R
* Updated the URL to match the version
* Remove duplicate packages
* Add packages for r-ergm and it's dependents
* Fixed depends-on types
* Correct flake8 errors
* Correct Build type
* r-factoextra and dependents
* Revert "r-factoextra and dependents"
This reverts commit afbf477fd66e565fd187262c386bcc08c98a4d7e.
* Add only r-factoextra files
* Add a package for Trimmomatic
See the discussion about installing jar files in #4386.
Also installs a wrapper script that has explicit references to the prerequisite java exe and to the jar file in it's final resting place.
* Fix bad format statement
Apparently something like this "blah{}".format(...) works (it's missing
something inside the curly braces) but fails the travis test.
The two given versions of mariadb are not fetchable under the given
URL, probably because older versions are purged and only kept in
an archive.
Add two working, latest revisions of each release line.
Somehow the path to `CMakeLists.txt` via the class property
`root_cmakelists_dir` was relative but is now actually relative
to `spack-build/`.
Close 4324 by providing a path relative to the source repo
of the stage via a method instead of a member variable
* Add package for vcftools@0.1.14
The package munges the various perl scripts so that their sbang lines
point to the depended upon perl (perhaps with Spack sbanger in the
dance) instead of relying on `/usr/bin/env perl`.
As it stands it installs its Perl libraries into `prefix/lib` and then
depends on `setup_environment` to prepend that dir onto PERL5LIB.
See my [vcftools issue
80](https://github.com/vcftools/vcftools/issues/80) for a discussion
about fixing its non-functional attempt at isolating itself from
PERL5LIB shenanigans.
* perl dependency should be build/run
* Ensure Config.pm has correct setting for cc
Run a filter after install so that Config.pm records the compiler that
Spack built the package with. If this isn't done, $Config{cc} will be
set to Spack's cc wrapper script.
* Also patch compilers Config_heavy.pl
This patch sets ld=gcc, which appears to work. I'm not sure if
there's a good way to get at the ld that Spack uses.
* Clean up quoting
* Fix pattern for Config.pm
Does not start at beginning of line...
What the user wants, the user etc....
Add info for STAR@2.4.2a. It's URL looks different, so added a URL for
it. This broke the URL for the current version, so added a URL for it
also (known bug).
*Minimally* tested on CentOS 7.
* python: ensure that distutils sets valid compiler options for RPATH on cray
* python: add cray-rpath patches for python@2.3:3.0.1 and python@3.1:
* python: in patch(..., when="@a:b platform=c"), limit b must be specified
* python: assume that python@4 will break the cray patches
* Fix mummerplot when ^perl@5.20:
Calling defined() on a hash has been deprecated for ages. It became
an error in perl@5.20. If we're building with a perl where it's
illegal, we should fix it.
* Simplify call to filter_file
Treat the first arg to filter_file as a string rather than
a regex, so that we don't have to figure out the escapes.
* Patch mummerplot for *any* perl version.
* Fix bwa url's
Work around varying github URLs.
See #4365 for details.
* Restore main url entry
@adamjstewart pointed out that the package still needs a main url
so that `spack versions` works.
- Add a `spack gpg` subcommand in anticipation of signed binaries.
- GPG keys are stored in var/spack/gpg, and the spack gpg command manages them.
- Docs are included on the command.
* Add info for jdk@7u80 (not downloadable)
Add version info for jdk@7u80. Oracle does't seem to be
distributing it any longer so there's no reasonable URL to
provide, but for those of us who already have the tarball
this is useful.
* Flake8 cleanup
* Add mpi support to R
* Add multiple precision math routines to R
* Updated the URL to match the version
* Remove duplicate packages
* Add packages for r-ergm and it's dependents
* Fixed depends-on types
* Correct flake8 errors
* Correct Build type
* r-adegenet and dependent packages
* fix parser
* Removed xfails
* cleaned up debug print statements
* make use of these changes in gcc
* Added comment explaining unreachable line, line left for added protection
* cairo: ensure that X support is disabled for variant "~X"
* cairo: explicitly enable X support for +X variant
* cairo: prefer "variant in spec" over spec.satisfies(variant)
* Trailing whitespace cleanup
* Handcraft an install process for mummer (grumble)
Mummer punts on an installation step, they just build in and run from
the same directory.
Mummer also has various hardcoded paths built into it that allow it to
find other executables that it needs as well as its Perl library.
This updates the package to deal with this approach.
It patches the Makefile and scripts/Makefile so that the correct info
is fed to sed when it munges the perl scripts.
The install step is now finer grained and puts things where mummer
relatively wants to find them.
* Add perl dependency
* perl should be build/run dependency
* Fix whitespace
* Delete stray u at top of file
Two changes:
- It seems that Illumina version numbers are dotted and that the
dashed version in the 2.18... filename is an anomaly (based on the
names for 2.17.1.14 and 2.19.0). `url_for_version` does the right
thing for 2.18. It will need to be fixed when support for 2.19 is
added. 2.17 is no longer generally available so it gets a pass.
- Add version and hash for 2.17.1.14.
2.17.1.14 is no longer distributed. If you have a copy of the
source tarball, you can drop it into a local mirror w/ the name
mirror/bcl2fastq2/bcl2fastq2-2.17.1.14.zip and go from there.
* Add mpi support to R
* Add multiple precision math routines to R
* Add packages for r-ergm and it's dependents
* Fixed depends-on types
* Correct flake8 errors
* flex: create variant +lex that creates symlinks for lex and libl.{a,so}
* flex: enable variant +lex by default
* flex: use dso_suffix for portability; replace repetitive code with a loop
I need boost@1.54.0 for bcl2fastq2. I tested bcl2fastq2 using the
system compiler (gcc@4.8.5). My full build uses a spack-build
gcc@5.4.0.
boost@1.54.0 won't build. I found the answer
[here](https://github.com/hashdist/hashstack/issues/802) with the
details in [this upstream/boost
ticket](https://svn.boost.org/trac/boost/ticket/10125).
I've confirmed that these combo's build:
boost version| compiler
------------ | ------------------
boost@1.54.0 | gcc@4.8.5 (system)
boost@1.54.0 | gcc@5.4.0 (Spack)
boost@1.64.0 | gcc@5.5.0 (system)
* added openmpi support to meme
* openmpi is a link dependency which leverages r_path
* openmpi support now the default - meme does not have configure argument for mpi - if it's found then it's used
* added serial option and set mpi to not be default
* modified meme
* Add the gnupg package and missing dependencies. Update versions of existing dependencies.
* this ended up in the wrong repo
* put versions back, remove uneeded function
* OK ;)
* autopep8
* typo on npth line
* whitespace
* Add a new package for Open Babel
* Add post-installation tests, stolen from the fine folks at Homebrew
* Add patch to fix Python 3.6 support
* Add a more complete patch to get Python 3.6 support working
* Add patch to convert tabs to spaces in test script
testpdbformat.py contains mixed tabs and spaces
causing the unit tests to fail. With this patch,
all tests pass with flying colors.
* Add v1.1.26 and make crypto a variant
I need 1.1.26 for bcl2fastq2.
I also need to build it without crypto support.
* Initial support for bcl2fastq2
* Clean up commentary, messages, names
No substantial changes intended, just cleanup.
* fix flake8 and extra import
* The masked grammarian strikes again...
* Be normal (messages don't end in periods)
* When +crypto, add --with-crypto
Add `--with-crypto` to configure args when user hasn't explicitly set
`~crypto`.
* self.spec.satisfies is unsatisfying, in is in instead
See #4135, self.spec.satisfies has issues. @adamjstewart suggests
simply using in.
* added albacore package as well as dependency py-ont-fast5-api
* added py-cutadapt and dependency py-xopen
* made more changes to albacore and cutadapt as well as dependencies
* made changes again per @adamjstewart
* fixed by python n00b errors i think
* fixed?
* tw=79
* made changes to py-ont-fast5-api ont-albacore
* removed bad characters
* albacore requires setuptools as build and run dependency
* added vmd
* added back albacore
* removed vmd package
* added meme software
* libz is only needed as link depedency for meme
* added libxml2 libxslt libgcrypt as link dependencies
* added albacore package as well as dependency py-ont-fast5-api
* added py-cutadapt and dependency py-xopen
* made more changes to albacore and cutadapt as well as dependencies
* made changes again per @adamjstewart
* fixed by python n00b errors i think
* fixed?
* tw=79
* made changes to py-ont-fast5-api ont-albacore
* removed bad characters
* py-cdat-lite: a python package for managing and analysing climate science data
* py-cdat-lite: depends on py-numpy
* py-cdat-lite: flake8 compliance
* py-cdat-lite: provide a generic URL where multiple versions are listed
* py-cdat-lite: restrict python versions; python required at run-time
* py-cdat-lite: use URL under pypi.io for consistency with other packages
* py-cdat-lite: add run-time dependency on py-numpy
* Initial attempt at flann packaging.
Python2 somehow works. Python3 does not. Still debugging their
obscure setup.py configuration.
* Flann good enough. Python3 broken but close.
Flake8 checks in place. Unsure about CMAKE_BUILD_TYPE and default
spack behavior.
* spack uses RelWithDebInfo as default build type.
* builds py2/3, but direct site-packages install
* prefix working, empty python install dir
* flann package +python installs correctly
* str format {0} instead of {}
* potential doctest fix
* consistency of build env with PythonPackage
* fix python again, test deptype todo, build type
* potentially enable matlab, untested
* highfive: New package; this is a C++ wrapper for the HDF5 library
The C++ wrapper that is shipped with the HDF5 library has several shortcomings. The highfive library seems to avoid these.
* highfive: Make MPI variant default to true
* enable cuda support for suite-sparse
* do not use spec.satisfies
* cuda restructure, give clearer comment of why
* str format compatibility
* flake8 checks
* adding 0.5.1 and variant for uint8 bit stream word type
* Revisions as per davydden
* fixing style (flake8) issues
* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant
* added build method; changed zfp_incdir to incdir
* * Adding uber fastmath package to support 'spack install fastmath'
* Adding dims variant boxlib to control compile-time spatial dimension count
* Explicitly disabling many parts of moab to get lib to build. Don't need tools yet.
* Add logic to spack/setup-env to not refer to $SYS_TYPE if its not defined.
* adding mesquite package
* * Added Chombo (still working on Fortran name mangling)
* Made mesquite depend on mpi
* Fixed use of boxlib's dims numerical variant
* adding PUMI
* flake8 compliance
* adding phasta
* fixing flake8 issues
* undue $SYS_TYPE protection change
* fixing install step for fastmath uber package; resolve issues requested by adamjstewart in PR
* revisions as per adamjstewart
* re-enabling trilinos and phasta dependencies
* all changes requested modulu values= and assert statement
* fixing cmake_args usage in pumi; fixing lib installs for chombo
* first pass at numerical variant
* fixing dims variant as per @adamjstewart
* fixing func/var name collision
* fixing means of disabling -Werror
* fix name collision for cmake_args var/func
* fixing chombo homepage/url; make FASTMath use chombo#3.2; remove extraneous comment about boxlib dim
* remove dummy fastmath package; switch to @BarrySmith soln for install of dummy bundle
* fix flake8 import os issue
* remove extraneous comment
* adding url for fastmath scidac site
* final fixes as per @adamjstewart
* adding 1 dims option for boxlib
* switching make(all) to gmake(all)
Added DFLAGS to the `make.inc` file being written.
These macros are also added to the language specific variables
like CFLAGS, CXXFLAGS and FCFLAGS. Changed `spec.satisfies('foo')`
with `'foo' in spec` in `intel-mkl`, see #4135. Added a basic
build interface to `intel-mpi`.
* Add GCC 7
* Allow users to build subset of GCC compilers with multi-value variant.
* Add comment explaining what 'all' actually means
* More specific golang support
* Only require Zip when building Java
* Comment out provide directives that don't currently work
* Add Ada support
* Use conflicts directive
* Fix joining of languages
* Need special flag to build jit
* Explicitly declare GNAT download extension
* Import tty, update lib64 to lib
* BRIG and Go are not supported on macOS
* Simplify formatting and imports
* JIT patch required for newer versions as well
* Updating bamtools to include a dependency for zlib.
In a standard compile, bamtools will fail if zlib headers are not installed on the target machine. In order to maintain compatibility with all systems -- and since zlib is included already as a dependency for cmake -- this patch adds zlib as a link dependency for the bamtools package.
* Modified cmake rpath include.
Bamtools has a non-standard library location, so we need to append $prefix/lib/bamtools to the rpath. Not sure there's a better way to do this...
* Fixing syntax error in package.py
Fixed a non-terminated parenthesis on line 46.
* Updated bamtools to be a CMakePackage
Removed extraneous code, and altered the package to extend cmake_args
including the non-standard library location.
* UpRemoving cmake dependency and removing blank line from end of file
* Updates to cmake_args.
Removed the duplicate definition of std_cmake_args in favor of simply overriding the CMAKE_INSTALL_RPATH variable that is provided. This should allow the package to be linked correctly to itself.
python+tk will not build because it depends (indirectly) on python~tk
via libxcb. There are efforts to allow multiple instances of a package
to concretize together but they are ongoing so in the meantime this
comments out the dependencies and adds TODOs
* SV variants are evaluated correctly in `when=` statements fixes#4113
The problem here was tricky:
```python
spec.satisfies(other)
```
changes already the MV variants in others into SV variants (where
necessary) if spec is concrete. If it is not concrete it does
nothing because we may be acting at a pure syntactical level.
When evaluating a `when=` keyword spec is for sure not concrete
as it is in the middle of the concretization process. In this case we
have to trigger manually the substitution in other to not end up
comparing a MV variant "foo=bar" to a SV variant "foo=bar" and having
False in return. Which is wrong.
* sv variants: improved error message for typos in "when=" statements
Modifications:
- added support for multi-valued variants
- refactored code related to variants into variant.py
- added new generic features to AutotoolsPackage that leverage multi-valued variants
- modified openmpi to use new features
- added unit tests for the new semantics
## Motivation
Python installations are both important and unfortunately inconsistent. Depending on the Python version, OS, and the strength of the Earth's magnetic field when it was installed, the name of the Python executable, directory containing its libraries, library names, and the directory containing its headers can vary drastically.
I originally got into this mess with #3274, where I discovered that Boost could not be built with Python 3 because the executable is called `python3` and we were telling it to use `python`. I got deeper into this mess when I started hacking on #3140, where I discovered just how difficult it is to find the location and name of the Python libraries and headers.
Currently, half of the packages that depend on Python and need to know this information jump through hoops to determine the correct information. The other half are hard-coded to use `python`, `spec['python'].prefix.lib`, and `spec['python'].prefix.include`. Obviously, none of these packages would work for Python 3, and there's no reason to duplicate the effort. The Python package itself should contain all of the information necessary to use it properly. This is in line with the recent work by @alalazo and @davydden with respect to `spec['blas'].libs` and friends.
## Prefix
For most packages in Spack, we assume that the installation directory is `spec['python'].prefix`. This generally works for anything installed with Spack, but gets complicated when we include external packages. Python is a commonly used external package (it needs to be installed just to run Spack). If it was installed with Homebrew, `which python` would return `/usr/local/bin/python`, and most users would erroneously assume that `/usr/local` is the installation directory. If you peruse through #2173, you'll immediately see why this is not the case. Homebrew actually installs Python in `/usr/local/Cellar/python/2.7.12_2` and symlinks the executable to `/usr/local/bin/python`. `PYTHONHOME` (and presumably most things that need to know where Python is installed) needs to be set to the actual installation directory, not `/usr/local`.
Normally I would say, "sounds like user error, make sure to use the real installation directory in your `packages.yaml`". But I think we can make a special case for Python. That's what we decided in #2173 anyway. If we change our minds, I would be more than happy to simplify things.
To solve this problem, I created a `spec['python'].home` attribute that works the same way as `spec['python'].prefix` but queries Python to figure out where it was actually installed. @tgamblin Is there any way to overwrite `spec['python'].prefix`? I think it's currently immutable.
## Command
In general, Python 2 comes with both `python` and `python2` commands, while Python 3 only comes with a `python3` command. But this is up to the OS developers. For example, `/usr/bin/python` on Gentoo is actually Python 3. Worse yet, if someone is using an externally installed Python, all 3 commands may exist in the same directory! Here's what I'm thinking:
If the spec is for Python 3, try searching for the `python3` command.
If the spec is for Python 2, try searching for the `python2` command.
If neither are found, try searching for the `python` command.
## Libraries
Spack installs Python libraries in `spec['python'].prefix.lib`. Except on openSUSE 13, where it installs to `spec['python'].prefix.lib64` (see #2295 and #2253). On my CentOS 6 machine, the Python libraries are installed in `/usr/lib64`. Both need to work.
The libraries themselves change name depending on OS and Python version. For Python 2.7 on macOS, I'm seeing:
```
lib/libpython2.7.dylib
```
For Python 3.6 on CentOS 6, I'm seeing:
```
lib/libpython3.so
lib/libpython3.6m.so.1.0
lib/libpython3.6m.so -> lib/libpython3.6m.so.1.0
```
Notice the `m` after the version number. Yeah, that's a thing.
## Headers
In Python 2.7, I'm seeing:
```
include/python2.7/pyconfig.h
```
In Python 3.6, I'm seeing:
```
include/python3.6m/pyconfig.h
```
It looks like all Python 3 installations have this `m`. Tested with Python 3.2 and 3.6 on macOS and CentOS 6
Spack has really nice support for libraries (`find_libraries` and `LibraryList`), but nothing for headers. Fixed.
* Make dia build w/ Spack's X bits (and misc)
X related
- need to depend on the +X variant of gtkplus
- need to depend on freetype
misc
- fix path to tarball
* Make freetype a "build" dependency
* Freetype is not just a build dep
* ncurses package will build ncurses and ncursesw
* Added libs property to ncurses, added fix for hstr
* flake8 is a harsh mistress
* make libs() more robust
* atop depends on ncurses
* fish depends on ncurses
* libtermkey and nano depend on ncurses
* Adjust url spacing
* Added a patch to the openblas package to change the openmp flag for
icc to qopenmp.
* Fixed a linking problem where when using Intel compilers, it was still
pulling in -lgfortran
* depend on readline, remove hardcoded -ltermcap
Bowtie should use Spack's readline and not explicitly depend on the
system termcap (which, on CentOS, leads to linking against the
system's tinfo library).
* Add depends_on('zlib')
* Add conflict with gcc@6:
Build seems to have trouble with 6's migration to -std=gnu++14.
* Dia requires libxml2.
* Clean up dependencies for Dia (and add X11 deps).
+ Remove dependencies on cairo and libpng. The will be satisfied via gtkplus.
+ Add dependencies on X11 libraries: libsm, libuuid, libxinerama, libxrender.
+ From a dependency diagram, it doesn't appear that we need libxml2 since this
dependency should be come in through cairo (via gtkplus). However, Dia will
not build without it.
* Hackery to get gtkplus to build
PR #3077 broke gtkplus by introducing gobject-introspection.
This big hack makes things work. It has problems.
1. Rather than deal with the nasty sbang fooey in the
g-ir-tool-template.in derived scripts, it just adds a python
dependency to each package that runs one of the scripts. This lets
the `/usr/bin/env python` sbang do the right thing.
2. It stuffs a several directories on to the XDG_DATA_DIRS environment
variable, which is used for (among other things) locating the .gir
files.
3. It avoids building the gtkplus demos because I can't make the bit
that calls `gdk-pixbuf-csource` work. It doesn't think that it can
load `.png` files and all of the google hits I found suggest a bad
`loader.cache` file. The file's fine and I can strace the command
and watch it read it in... Many, many hours wasted here.
In spite of the demo failing, the tests pass and an emacs built
with this lib seems to work.
* Fix sbang so everyone needn't depend_on python
Rather than have every package that
`depends_on('gobject-introspection')` also need to
`depend_on('python')`, this commit fixes the
scripts (e.g. `g-ir-scanner`).
The interesting bit is in the gobject-introspection package. There is
a beefy comment there that is included below.
The commit also removes the now un-necessary dependencies from various
packages.
I have two reservations about this commit:
1. How portable is the "insertion" sed command? I'm particularly
worried that some sed's might need the line to insert to be on a
different line, which I can't imagine how to cram into the
Makefile.in.
The solution I see to this is rather than extending the existing
sed command in the Makefile I could shim in another line in the
rule and e.g. call a bit of Perl (or Python, I suppose) which would
end up being much neater.
2. As written it always uses Spack's `.../bin/sbang`, which might or
might not be a good idea.
If I use "the solution" from number 1 above, then I can check the
line length before I munge it. Otherwise???
---
This package creates several scripts from |
toosl/g-ir-tool-template.in. In their original form these |
scripts end up with a sbang line like |
|
`#!/usr/bin/env /path/to/spack/python`. |
|
These scripts are generated and then used as part of the build |
(other packages also use the scripts after they've been |
installed). |
|
The path to the spack python can become too long. Because these |
tools are used as part of the build, the normal hook that fixes |
this problem can't help us. |
This package fixes the problem in two steps: |
- it rewrites the g-ir-tool-template so that its sbang line |
refers directly to spack's python (filter_file step below); and |
- it patches the Makefile.in so that the generated Makefile has an |
extra sed expression in its TOOL_SUBSTITUTION that results in |
an `#!/bin/bash /path/to/spack/bin/sbang` unconditionally being |
inserted into the scripts as they're generated. |
* Cairo needs python when it's +X
Cairo needs to depend_on python when it's +X. I think it's an
indirect requirement that's coming in via libxcb).
* Flake8 cleanup
* Make cairo's dep on python be type=build
This seems to be the right thing and seems to produce a result
that works (I can build gtk+ and then emacs+X on top of it).
* ghostscript: add version 9.21 and handle new URL format
* ghostscript: add url of latest version to fix `spack versions`
* ghostscript: use github for all versions our package provides (>= 9.18)
* perl: provide +gdbm variant for use when system dbm is missing or buggy
* perl: remove gdbm variant; always depends on gdbm
* perl: pass gdbm paths as Configure arguments
The blast+ configure script supports building
--with-{python,perl}=path and --without-{python,perl}.
This commit makes the use of those two languages configurable via
variants and adds dependencies and explicit --with-... or
--without-... flags to configure.
Python was a non-optional dependency, now it is a variant that
defaults to `True`.
Perl was not previously an explicit dependency but the configure
script was likely to discover one on your system (`/usr/bin/perl`).
It is now a variant that defaults to `True`.
I am unable to accurately determine what these flags to the configure
script enable. My users are frustrated by the dependency on Python in
particular because it constrains the other modules that they can have
loaded for new discernible benefit.
* xSDK: a bundle/meta package that simple installs a series of packages with suitable specs
This is based on struggles with previous attempts at such a bundler
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 12 hours
* PETSc needs c++11 when built with Trilinos
* Added alquimia package
* remove direct setting of cpp in petsc/package.py since it doesn't work on some systems.
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .3 hours
Reported-by: Mark A. Berrill <berrillma@ornl.gov>
* provide the MPI compilers to PETSc configure with --with-cc etc instead of --with-mpi-dir
Funded-by: IDEAS
Project: IDEAS/xSDK
* Spack bug fix issue #3144
String could contain /n which resulting in spack generating warning message to stderr on each
use of compiler which configure interpreted as failing compiler
Thanks-to: Mark A. Berrill <berrillma@ornl.gov>
* Fixed alquimia package
Alquimia expects PETSC_DIR and PETSC_ARCH to be defined, and
refuses to install if they are not. Spack does not define PETSC_
ARCH, so Alquimia will not install. This patch does two things
to fix the alquimia build:
1. A patch has been added to remove the dependency on PETSC_ARCH.
2. Alquimia currently depends on old versions of PETSc and pflotran.
@ghammond86 updated the alquimia interfaces to use more recent
versions, but his patch is still sitting in an alquimia pull
request. As a result, the spack installer now uses his fork
of alquimia. This is a temporary fix until his pull request is
accepted.
* Need to pass to Alquimia the MPI compilers, not the raw compilers
Otherwise the PETSc tests do not produce executables that can run because they are not
linked against MPI libraries
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .5 hours
* Add alquimia to xSDK build
Funded-by: IDEAS
Project: IDEAS/xSDK
* Fix flake8 errors for xsdk packages
* Add xsdk support for xsdk version xsdk-0.2.0
Note that currently it is just dummy code, but will eventually use
a xsdk-0.2.0 tag for each package it installs.
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .7 hours
* Do not build Mumps by default for PETSc since it is not portable, for example to Cray
Allow alquimia to accept PETSc even if the PETSc test executable cannot run since this is a problem on Cray.
Reported-by: Alicia Marie Klinvex <amklinv@sandia.gov>
* Add xsdk-0.2.0-rc1 tag for xsdk-0.2.0 installs
* Switch alquimia download site back to standard location
since they have incorporated Glenn Hammond's fixes
Also it no longer needs the patch to the Alquimia cmake
Funded-by: IDEAS
Project: IDEAS/xSDK
Reported-by: Sergi Molins Rafa <smolins@lbl.gov>
* update hypre to use the latest release candidate for xsdk 0.2.0
Funded-by: IDEAS
Project: IDEAS/xSDK
Reported-by: Ulrike Meier Yang <yang11@llnl.gov>
* Re-added patch to alquimia
The patch was out of date and has been updated accordingly.
* Added Tpetra-free option to Trilinos
The Tpetra stack takes forever to build and is not used by any of the
IDEAS teams, so there should be an option to disable it. I have added
this option and updated the xSDK accordingly. I also disabled
xSDKTrilinos in the xSDK, since none of the apps teams currently use it,
and it's largely Tpetra-based.
* Removed alquimia patch from develop version
The patch has been incorporated into alquimia and is no longer
necessary for the develop version. The tagged version has not
been updated accordingly and still needs the patch for now.
(When the tagged version gets updated, the patch does need to be
removed from spack altogether, or it will break the build.)
* Removed patch from alquimia
It has been incorporated into alquimia, both the develop and
rc2 tagged versions. The 0.2.0 version of alquimia has been updated
to tag rc2 rather than rc1.
* update xsdk-0.2.0 to depend on PETSc xsdk-0.2.0-rc2 which fixes for Apple xcode 8.3
Commit-type: bug-fix
Funded-by: IDEAS
Project: IDEAS/xSDK
* import sys got lost in merge with develop
* Update xsdk packages to use xsdk-0.2.0 tag
Commit-type: feature
Funded-by: IDEAS
Project: ECP
* Fixes for Flake8
note, had to ignore some long lines due to a single string
* simple improvements to XDK packages as suggested by Spack pull request reviewers
Commit-type: style-fix
Funded-by: IDEAS
Project: xSDK
* Removed unneeded : after develop as requested by Denis Davydov in pull request review
Commit-type: style-fix
Funded-by: IDEAS
Project: xSDK
Thanks-to: Denis Davydov
* Removed change that may not be needed due to updates in PETSc spack file such as using mpicc etc directly
Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK
Thanks-to: Adam J. Stewart
* Do not turn on xSDKTrilinos for xSDK builds since it requires tpetra
Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK
* comment why MUMPS is disabled by default for PETSc so that others won't try to enable it when modifying petsc package next time
Commit-type: documentation
Funded-by: IDEAS
Project: xSDK
Thanks-to: Denis Davydov
* Properly ignore flake8 F811 redefinition errors
* Add unit tests for flake8 command
* Allow spack flake8 to work on systems with older git
* Skip flake8 unit tests for Python 2.6 and 3.3
* Added a package for the MDAnalysis toolkit.
* Added the hash for the 1.0 release of caffe and put in a conflict
statemet indicating that protobuf requires a c++11 compiler.
* Changed minimum version number.
* Tweaked the minimum version number.
* Fixed flake8 error.
* grib-api: add version 1.21.0
* libemos: add version 4.4.7 and allow choice of eccodes or grib-api
* magics: add version 2.32.0
* libemos: add description for eccodes variant
* eccodes: new package for encoding and decoding meteorological data
* eccodes: remove line breaks from package docstring
* eccodes: simplify names of variants
* eccodes: give a description for each variant
* eccodes: use succinct code for cmake_args
* eccodes: found extra dependency for python variant
* eccodes: add URL for a list of available releases
- py-setuptools is required by py-yt for importing yt in jupyter notebooks.
- add two dependencies needed for python 2.7
- add the py-subprocess32 package
- Spack doesn't need eggs -- it manages its own directories
- Simplify install layout and reduce sys.path searches by installing all
packages flat (eggs are deprecated for wheels, and this is also what
wheels do).
- We now supply the --single-version-externally-managed argument to
`setup.py install` for setuptools packages and setuptools.
- modify packages to only use setuptools args if setuptools is an
immediate dependency
- Remove setuptools from packages that do not need it.
- Some packages use setuptools *only* when certain args (likeb
'develop' or 'bdist') are supplied to setup.py, and they specifically
do not use setuptools for installation.
- Spack never calls setup.py this way, so just removing the setuptools
dependency works for these packages.
* Checksum code wasn't opening binary files as binary.
- Fixes Python 3 issue where files are opened as unicode text by default,
and decoding fails for binary blobs.
* Simplify fetch test parametrization.
* - add tests for URL fetching and checksumming.
- fix coverage on interface functions in FetchStrategy superclass
- add some extra crypto tests.
* Fix for llvm 4.0.0 on centos
This addresses https://github.com/LLNL/spack/issues/3791
* Only enable this option if on linux
* Change condition to satisfy standard
* Package install remove prior unfinished installs
Depending on how spack is terminated in the middle of building a
package it may leave a partially installed package in the install
prefix. Originally Spack treated the package as being installed if
the prefix was present, in which case the user would have to
manually remove the installation prefix before restarting an
install. This commit adds a more thorough check to ensure that a
package is actually installed. If the installation prefix is present
but Spack determines that the install did not complete, it removes
the installation prefix and starts a new install; if the user has
enabled --keep-prefix, then Spack reverts to its old behavior.
* Added test for partial install handling
* Added test for restoring DB
* Style fixes
* Restoring 2.6 compatibility
* Relocated repair logic to separate function
* If --keep-prefix is set, package installs will continue an install from an existing prefix if one is present
* check metadata consistency when continuing partial install
* Added --force option to make spack reinstall a package (and all dependencies) from scratch
* Updated bash completion; removed '-f' shorthand for '--force' for install command
* dont use multiple write modes for completion file
* Add tests to mercurial package
* Add support for --insecure with mercurial fetching
* Install man pages and tab-completion scripts
* Add tests and latest version for all deps
* Flake8 fix
* Use certifi module to find CA certificate
* Flake8 fix
* Unset PYTHONPATH when running hg
* svn_fetch should use to svn-test, not hg-test
* Drop Python 3 support in Mercurial
Python 3 support is a work in progress and isn't currently
recommended:
https://www.mercurial-scm.org/wiki/SupportedPythonVersions
* Test both secure and insecure hg fetching
* Test both secure and insecure git and svn fetching
* Initial add of flac
* Initial add of id3lib
* Initial add of the opus codec
* Initial add of sox audio processing tools
* Cleanup spec files to be inline with current standard
* Fix pep8 compliance
* Remove un-needed configuration
* ncl: add depends_on statements for bison, flex and libiconv
* ncl: depends on flex for building and linking
* ncl: links with -ll, so requires flex with variant '+lex'
* ncl: depends on szip; external hdf5 may not provide it
* Disable parallel builds
The install step creates a bunch of links to the vim binary, e.g.
`view`. When run with -j greater than 1 there are silent failures.
Running w/out parallelism seems to fix it.
* Only constrain the install phase to be -j 1
Thanks @adamjstewart!
* Add package for nginx@1.12.0
Includes support for:
- zlib
- pcre (and pcre-jit)
- openssl (https support)
Built and basics tested on CentOS 7. I haven't tested the `https`
support [yet].
* Include final bit of doc string sentence.
I trimmed the docstring that I lifed from https://nginx.org/en a bit
too aggressively and left a '...' to remind me to fix it.
Apparently I need more obvious reminders.
Thanks @davydden!
* Install the shell completion scripts
Install the `git-completion.{bash,tcsh,zsh}` and `git-prompt.sh` into
`$(spack location -i git)/share/` (aka `prefix.share/`).
* Use copy_tree to copy all the files
The dest dir already exists, so install_tree()'s not an option.
* Added a package for the MDAnalysis toolkit.
* Added the dependency on setuptools.
* Added the rest of the dependencies to the py-mdanalysis package. Also
added the griddataformats and seaborn packages to satisfy requirements.
* Removed seaborn package since it has been recently added.
* Fixed flake8 error
* Removed inadvertent commits.
* Cleaned up reviewers feedback.
Update the package recipe w.r.t. AutotoolsPackage changes,
now builds "out of source".
Update the package with version info for 1.3.0.
> Mosh 1.3.0 released, with John Hood as release lead. The release includes broader platform compatibility, robustness improvements, better testing, and fixes for excess CPU consumption in some cases. We have switched to semver.org-style versioning and will increment the minor version number whenever we add new functionality. (In our previous practice, this release would probably have been called “1.2.7.”)
Tested on CentOS 7.
* adding 0.5.1 and variant for uint8 bit stream word type
* Revisions as per davydden
* fixing style (flake8) issues
* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant
* added build method; changed zfp_incdir to incdir
* Add the rockstar package
* Add rockstar to yt.
* Correct signature of prep_yt.
* Correct rockstar package installation process
Needed to change the way the necessary prefixes are found as well as
how the completed package is copied.
There should probably be a way to do the copying in a more 'spack' way.
* Add license
* Add description.
* Set no hdf5 variant as default.
* Use copy_tree for copying files
* Use MakefilePackage
* Address concerns from @adamjstewart
* Fix flake8 errors.
Adds a package for mallocMC, a memory allocator for many core
architectures.
This project provides a framework for fast memory managers on
many core accelerators. Currently, it supports NVIDIA GPUs of
compute capability sm_20 or higher through the ScatterAlloc
algorithm. mallocMC is header-only.
Downstream Dependencies
PIConGPU and other projects of HZDR's
*Computational Radiation Physics* group
References
- Markus Steinberger, Michael Kenzel, Bernhard Kainz and Dieter Schmalstieg.
*ScatterAlloc: Massively parallel dynamic memory allocation for the GPU*,
Innovative Parallel Computing (InPar), 2012,
https://doi.org/10.1109/InPar.2012.6339604
- Carlchristian Eckert.
*Enhancements of the massively parallel memory allocator ScatterAlloc and its adaption to the general interface mallocMC*,
Junior Thesis (grosser Beleg), 2014,
http://dx.doi.org/10.5281/zenodo.34461
This adds a maintained version of the (since 2012)
stalled original project.
https://github.com/ComputationalRadiationPhysics/cuda_memtest
Nvidia's NVML (via the GPU deployment kit) could also be
added, providing serial number output of failing GPUs
for multi-GPU nodes.
* Fixes patch paths for earlier boost versions
The directory structure of boost changed at version 1.56.0, so the patch
being used for python support did not work on earlier versions. This
adds another patch that matches earlier versions.
* Removes commented out code
* Fixes needed to build htop
* Build libncursesw.so, not libncurses.so
* Remove htop hack now that it is picking up newer ncurses
* Tell packages to link to new ncursesw libraries
- clean up fetch urls
- inherit from AutotoolsPackage instead of Package
- explicit fPIC flags look suspicious, but leave them in there.
- in scalasca, use the cube version that is implicit from
the scorep dependency instead of specifying it twice.
* The beginnings of a package for shiny-server
Just stashing a WIP.
This doesn't work.
This goes for a while and/but blows up with some OpenSSL related issue.
* Make it work!
Yay!
* shiny-server needs R with X support
My environment gets this for "free" from my packages.yaml, but it
should be explicity.
* Address feedback
- python version
- gcc dependency
- Flake8 comment rules
* Richer caveats and warnings.
* Convert to CMakePackage and fix python version typo
* Fix typo: noqab -> noqa
* Ensure proper build location, clean up comments
* Update tinyxml
* url seems to have changed
* spack replaces "_2_6_2" with "_2.6.2" unless the url is explicitly
given
* copyfile is no longuer available by default
* URL version-parsing should work as of #2972
* Remove fake URLs from Spack
* Ignore long lines for URLs that start with ftp:
* Preliminary changes to version regexes
* New redesign of version regexes
* Allow letters in version-only
* Fix detection of versions that end in Final
* Rearrange a few regexes and add examples
* Add tests for common download repositories
* Add test cases for common tarball naming schemes
* Finalize version regexes
* spack url test -> spack url summary
* Clean up comments
* Rearrange suffix checks
* Use query strings for name detection
* Remove no longer necessary url_for_version functions
* Strip off extraneous information after package name
* Add one more test
* Dot in square brackets does not need to be escaped
* Move renaming outside of parse_name_offset
* Fix versions for a couple more packages
* Fix flake8 and doc tests
* Correctly parse Python, Lua, and Bio++ package names
* Use effective URLs for mfem
* Add checksummed version to mitos
* Remove url_for_version from STAR-CCM+ package
* Revert changes to version numbers with underscores and dashes
* Fix name detection for tbb
* Correctly parse Ruby gems
* Reverted mfem back to shortened URLs.
* Updated instructions for better security
* Remove preferred=True from newest version
* Add tests for new `spack url list` flags
* Add tests for strip_name_suffixes
* Add unit tests for version separators
* Fix bugs related to parseable name but in parseable version
* Remove dead code, update docstring
* Ignore 'binary' at end of version string
* Remove platform from version
* Flip libedit version numbers
* Re-support weird NCO alpha/beta versions
* Rebase and remove one new fake URL
* Add / to beginning of regex to avoid picking up similarly named packages
* Ignore weird tar versions
* Fix bug in url parse --spider when no versions found
* Less strict version matching for spack versions
* Don't rename Python packages
* Be a little more selective, version must begin with a digit
* Re-add fake URLs
* Fix up several other packages
* Ignore more file endings
* Add parsing support for Miniconda
* Update tab completion
* XFAILS are now PASSES for 2 web tests
- _spider in web.py was actually failing to spider deeper than a certain
point.
- Fixed multiprocessing pools to not use daemons and to allow recursive
spawning.
- Added detailed tests for spidering and for finding archive versions.
- left some xfail URL finding exercises for the reader.
- Fix noqa annotations for some @when decorators
* add packages for EasyBuild and dependencies
* fix remarks w.r.t. docstrings & download urls, make dependency specs stricter w.r.t. required versions
* fix easybuild-* dep specs, should be open-ended
* correct dep specs for easybuild and easybuild-easyconfigs using @3.1.2[:]
* Run python setup.py test if --run-tests
* Attempt to import the Python module after installation
* Add testing support to numpy and scipy
* Remove duplicated comments
* Update to new run-tests callback methodology
* Remove unrelated changes for another PR
* perl: make extendable and add Module::Build package
* perl: allow 'spack create' to identify perl packages from their contents
* perl-module-build: fix indenting of package docstring
* perl: split install() method for extensions into phases
* perl: auto-detect build method (Makefile.PL vs Build.PL) and define a 'check' method
* PerlPackage: use import statements similar to those in AutotoolsPackage
* PerlModule: fix detection of Build.PL
* PerlPackageTemplate: remove extraneous lines to avoid flake8 warnings
* PerlPackageTemplate: split into separate templates for Makefile.PL and Build.PL
* PerlPackage: add cross-references to docstrings
* AutotoolsPackage: fix ambiguous cross-references to avoid errors in doc tests
* PerlbuildPackageTemplate: depend on perl-module-build if Build.PL exists
* ENH: add package for building OpenFOAM (1612) from www.openfoam.com
- provide 'openfoam' as virtual package.
- package as openfoam-com to reflect the distribution point.
This initial spack packaging for OpenFOAM supports a number of possible
variants and should handle 64-bit labels properly now that the scotch
package has been updated accordingly.
* ENH: update package for foam-extend (extend-project.de)
- provide 'openfoam' as virtual package.
- much of the build is now aligned with how the openfoam-com package
looks, with the aim of future refactoring.
- avoid installing intermediate targets.
- contains its own environment sourcing script for the build, for more
flexibility and robustness (doesn't touch the python build environ)
* ENH: added package for building from openfoam.org
- provide 'openfoam' as a virtual package.
- this is largely a direct copy of the openfoam-com package.
It has been supplied as a courtesy for users and to ensure maximum
consistency in quality and naming between the foam-extend,
openfoam-com and openfoam-org packages.
* CONFIG: add openfoam into bash completion providers list
* ENH: have openfoam-com use spack as USERMPI
- also simplify the generation of mplib/compiler rules
* ENH: have openfoam-org use spack as SYSTEMMPI
- this setup requires more environment settings than USERMPI
(openfoam-com), but is currently the only means of integration
for openfoam-org
- simplify generation of mplib/compiler rules
* ENH: simplify generation of mplib/compiler rules (foam-extend)
- rename mpi rules from SPACK,SPACKMPI to USER,USERMPI for consistency
with openfoam-com and to generalize for any build system.
* STYLE: record spack tree as a log file (openfoam)
- can be useful for future diagnostics and general record keeping
* libint: updated version, ported to AutotoolsPackage
* elpa: updated version, ported to AutotoolsPackage
* wannier90: updated version, ported to MakefilePackage
* pexsi: updated version, ported to MakefilePackage
* cp2k: updated version, removed wannier 90 from dependencies if cp2k@4.1
* plumed: updated version
Modifications:
* modules has been turned into a single variant, as different versions
have different modules available
* added dictionaries for patches
* netlib-scalapack: ported to CMakePackage
* Add Blast+ package.
Adds support for NCBI's blast+@2.6.0. I'll be adding a few historical versions in the near future.
It's a fairly direct transliteration of the [Homebrew Science recipe][hbs].
I skipped the mysql support.
There is a problem with HDF5 support. Blast's configure script test program defines a macro 'HOST' to a string value and one of the HDF5 bits has an variable named 'HOST'. Fun things happen. I've disabled support for now.
I've run very very basic tests. I'll get this out to my users and ensure that it works and fine tune the options and etc....
[hbs]: https://github.com/Homebrew/homebrew-science/blob/master/blast.rb
* Flake8 fixes
* Update w.t.r. mamelara's PR and cleanup
Add paths to things in the --with-* config args
Add add'l config flags from #3394.
Update patch to no-op and add comment.
Add add'l dependencies after studying `configure --help`.
* Flake8 cleanup
* Add support for blast+@2.2.30
Need to work around a configure bug. See https://github.com/Homebrew/homebrew-science/issues/2337#issuecomment-170011511.
* Re-wrap comment, line length not a problem.
I'd broken a comment across to line in a fit of flake8
induced fear. Adam pointed out that it's ok.
* Remove explicit prefix config
Remove explicit prefix config, the autotools package does it for us.
* Added packages for Structural Simulation Toolkit and Dumpi trace
* sst-dumpi deps
Remove extraneous dependency from sst-dumpi
* Removed redundant function and fake-url from sst-dumpi package
* Fixed URL, Added git branches, requested changes
sst-dumpi version listed as 6.1, made an upstream change to 6.1.0
sst-macro and sst-dumpi can be installed as v6.1.0 and master branch
* Added bootstrap. Tweaked URLs and description
- drop old TCL support from paraview build.
- add +plugins variant to have include directories installed. This is
enabled by default since the additional diskspace for includes is
really minimal and since this also allows re-use of the VTK libraries
from ParaView without necessarily requiring a separate VTK
installation.
- +opengl2 is now the default. As per all newer VTK and paraview versions.
BUG: broken install for paraview-5.0.1 with includes and without python
- incorrect conditional for ui_pqExportStateWizard.h when python is
disabled and includes are to be installed.
gcc compiler detection patch.
These have both been fixed in paraview 5.3.0
ENH: refactor as a CMakePackage.
- Note that "spack install paraview" works as expected, but
"spack build paraview" fails in weird unrelated ways.
* Fix nettle dependency
GnuTLS requires a nettle from the 2.7 series, won't work
with 3.x (so sayeth configure when it crashes...).
* Fix configure symlinking GNUmakefile to itself
I'm confused about how this ever worked, but....
As configure runs, it does something like this:
```
config.status: linking /home/hartzelg/tmp/spack/var/spack/stage/gnutls-3.3.9-uq2u4ecucncv2l3akran765aystyvkys/gnutls-3.3.9/GNUmakefile to GNUmakefile
```
and since that is the cwd the build crashes with:
```
==> 'make' '-j28'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'. Stop.
```
Since the comment in the configure script points out that the
GNUmakefile is "only for the maintainer" I've just commented out the
bit that leads to the symlinking.
Builds for me on CentOS 7. (I do have a recent-ish set of auto-*
things in my patch via linuxbrew)
* Wordsmith
* Fix symbolic link problem properly
Autotools magic. See #3565 for the details.
* Flake8 cleanup
* Add some headroom on the version number constraint
We really want < 3.0 but there's not a good way to express it.
We'd like to avoid having to update the file if they release 2.7.2.
This seems like a good compromise.
* Add url_for_version and depends_on('libiconv')
Fetching is broken. See https://github.com/LLNL/spack/issues/3554.
libgd, when used in gnuplot at least, needs a dependency
on libiconv.
* Undo change from debugging pokery
* pnfft: new package
* Convert some packages with overridden install from AutotoolsPackage to Package
* pnfft: fix URL
* Switch FFTW-derived packages back to AutotoolsPackage
* Disable unneeded build phases in FFTW and derived packages
* Separate build phases for FFTW and derived packages
* Fix broken merge
* fftw: pfft_patches for 3.3.6
* fftw: address @adamjstewart’s review comments
* Clean up the gcc package
* Add preliminary testing support
* Older versions of GCC do not depend on MPC
* DejaGnu 1.4.4 cannot be built in parallel
* Fix GCC test dir
* Add two more deps required to run the testsuite
there were various updated packages, both for the 2.x, 2.0.x,
and 1.10.x release branches of Open MPI.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
(cherry picked from commit 3b671935783fc3af76dc642a54461c2f02ab8ebf)
* Replacing failing git clone by valid url
* Moving to previous version package (0.163)
* Removing automake and autoconf dependencies and adding url_list to pick up newer versions
* Corrected typo
* Reorder versions and removed libtool
* Add missing dependencies to gawk
* Fix make check
* Add mawk packages and awk virtual dependency
* Use mawk instead of gawk to build ncurses
* Rearrange order of patches and dependencies
* hpx5: Convert to AutotoolsPackage, several updates
- convert to AutotoolsPackage
- add several variants
- add several dependencies
- add new version 4.0.0
- don’t set compiler flags explicitly
* hpx5: Don’t import os
* hpx5: Clean up configure arguments
* hpx5: Correct libffi configure declaration
Also add new variant “+instrumentation”.
* hpx5: Correct CUDA, MPI, OpenCL configuration
* hpx5: Use built-in libffi
Spack’s libffi installs its headers in a strange place, and hpx5 can’t pick them up.
* libpciaccess: Convert to AutotoolsPackage, remove Darwin work-around
Other packages that depend on libpciaccess can do so via a conditional dependency (via a variant); we don’t need a dummy package for Darwin any more.
* Disable libpciaccess dependency on non-Darwin platforms
* hwloc: Remove direct dependency on libpciaccess
* Added support for building Theano with GPU support. Added a package
for the libgpuarry libary needed for Theano.
* Added dependency on py-pexpect package which ipython requires.
* hwloc: Add missing dependencies
- add several missing dependencies
- add variants for various features
- add new version 1.11.6
* hwloc: Add descriptions to variants
* New package pocl
* pocl: Update dependencies, add self-test
* pocl: Don't require LLVM shared libraries
LLVM build fails with shared libraries.
* Add patch
* Update
* Update
* Make build and install work; install test still fails
* Split pocl into pocl proper and pocl-test
* Add debug output
* pocl: Update to 0.14-rc
* pocl: Correct flake8 error
* pocl: Heed code review recommendations
* pocl: Add newline at end of file
* pocl: Correct flake8 error
I don’t want to use an even longer line by putting the whole variant declaration onto a single line, nor do I think that having an overlong line and adding `# noqa` at the end is more readable than splitting a string over three lines.
* pocl: Correct dependency type for libtool
Previously, this would fail with a NoSuchMethodError:
class Package(object):
# this is the default implementation
def some_method(self):
...
class Foo(Package):
@when('platform=cray')
def some_method(self):
...
@when('platform=linux')
def some_method(self):
...
This fixes the implementation of `@when` so that the superclass method
will be invoked when no subclass method matches.
Adds tests to ensure this works, as well.
* Add paths to PKG_CONFIG_PATH to find cray .pc file
Adds two paths: /usr/lib64/pkgconfig and /usr/local/lib64/pkgconfig.
cray pkg-config looks at two different paths which are not included
in PKG_CONFIG_PATH environment variable. This PR addresses #3167.
* Flake8 fixes
* flake8 fix again
* cosmomc: New package CosmoMC
* cosmomc: Improve version numbering scheme
* planck-likelihood: New package
* cosmomc: Pacify flake8
* cosmomc: Code cleanup as requested in the review
* cosmomc: Various updates suggested during review
* cosmomc: Limit compiler versions (as documented in the build instructions)
* cosmomc: Correct flake8 error
* cosmomc: Use `libs` instead of `lapack_libs`
* planck-likelihood: Make makefile output more verbose and readable
* planck-likelilhood: Correct order of libraries when calling linker
* cosmomc: Clean up check for suitable compiler
* planck-likelihood: Use modern mechanism to set environment variables
* Cleanup list of offered versions (only the latest update release of each minor version is kept: 1.4.4, 1.5.2, 1.6.6, 1.7.1); introduced master revision (via Git). Slightly more selective installation of the documentation; copy README.md and LICENSE files to documentation folder. Removed outdated build options (make_args); generally stay with LIBXSMM's defaults (general purpose build). Introduced one build variant ("debug").
* Incorporated comments of PR #3371 (https://github.com/LLNL/spack/pull/3371).
* Fixed flake8 complaints.
* Made the full list of versions available starting with version 1.4 (there are earlier releases, however those have been released before the Spack specification became available; original spec. also started with 1.4).
* Made DBG and TRACE actually two separate arguments.
The tests fail on some systems (e.g. Comet at SDSC) that impose limits on the number of processes or threads one can run simultaneously on the head node. Thus the tests should not be run by default.
* ADIOS: change the invocation of python script that generates test files
The python script ADIOS*/utils/gpp/gpp.py is invoked directly in the
ADIOS*/tests/genarray/Makefile and the name of the python interpreter
can be quite long if it is one built under spack, i.e. longer than the
80 characters allowed by the #! line in bash. The name of the shbang
line is truncated at 80 characters and bash cannot find the python
interpreter specified.
This fix changes how the script is executed, by invoking it under
python. This way, the shbang line is ignored.
* adios: fixed flake8 errors from previous commit.
* adio: Switch to AutotoolsPackage class from Package class
Switched in order to add support for the ppc64le platform.
* Adding highwayhash package from Google
* Added the highwayhash package for Tensorflow
* Fixed the numerous flake8 issues
* fixed requested changes
* added conditionals for some installs
* forgot an import
* create install directories before you install anything in them
* Add new package for PaGMO/PyGMO
* Rename py-pygmo to pagmo
* Fix concretization bug
* Correct Python detection, use correct flags
* Install PyGMO to the pagmo prefix, not the Python prefix
This commits address build issues reported in issue #3268.
In particular, makes cleaner the dependency on parallel-netcdf
when +ncmpi variant is requested and adds CFLAGS=-D H5_USE_16_API
to handle the fact that Ior uses old 1.6 style APIs when +hdf5 is
requested.
These changes make Ior build fine and create modules for HDF5 versions
1.8.x and 1.10.0.
Even though build is successfull the modules haven't been tested in a
run.
* Make libgcc_s relocatable
* spack specifies full path to lib64
* don't need trailing /
* setting rpath is different on macos
* add -headerpad_max_install_names linker options
* formatting fixes
* Add Adam's recommendation
* add various variants to vim
* default to --enable-fail-if-missing
* vim package: -{python,ruby,lua,perl} sets build option to `no`
* vim's interpreter build options are `--enable-XXXXinterp={yes,no,dynamic}`
* dynamic seems to work only on windows builds
* `=no` is the default => use it in spack if the variant is disabled
- Added a new interface for Specs to pass build information
- Calls forwarded from Spec to Package are now explicit
- Added descriptor within Spec to manage forwarding
- Added state in Spec to maintain query information
- Modified a few packages (the one involved in spack install pexsi) to showcase changes
- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
- wrapper is returned from `__getitem__` only if spec is concrete
- allows packagers to access build information easily
Declare that (i) Trilinos can be only built against 32bit Hypre
(ii) SLEPc can not be built with Arpack when 64bit indices are used
(iii) reflect those constraints in deal.II's depends_on
While there, add extra release flags for best performance.
* Updating SAMRAI package file with new urls and new versions. Also using Spack's MPI compilers.
* Using default optimization for Samrai and setting type to build for m4 dependency.
* Adding debug variant to Samrai.
* Converting Samrai to AutotoolsPackage.
* Add git-review
* Fix flake8 errors
* use PythonPackage for git-review
* added dependencies for git-review
* fix flake8
* moved url's to pypi.io based urls
* fixed flake8... again
* mostly url fixes, not tested, will do tomorrow
* flake8 fix
* changed URL for py-pysocks
* Fixed URL for pysocks
* fixed url