* 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
The new repository for the development version points to the most
up-to-date official source for Adol-C. The previous SVN repository was
only occasionally sync'd with this repository.
* Fix build issue #3190 on bg-q :
- disable parallel build as it produces weired linker errors
in cross compiling environment
- update ldflags for bg-q as per Makefile provided Makefile.inc.ppca2_ibm_bgq
* Added note about -lpthread vs -pthread
* Corrected extrae package homepage and url
* Corrected paraver package homepage and url
* To fix 'undefined reference to libintl_dgettext' appearing in extrae package when using binutils+libiberty
* Adding support to previous paraver version and reverting binutils changes to open another PR
* Add installer for petsc4py and slepc4py
* @adamjstewart requested changes on this pull request; make these type=('build', 'run')
* @citibeth suggestion Remove unneeded indirect dependencies
Zoltan expects mpi libraries with option --with-mpi-libs.
If this option is not provided then it uses '-lmpi' which
may not be correct. To avoid this, we have to explicitly
pass empty string.
This adds notes to the source explaining the change.
* Add log4cxx package
* add missing patch files to log4cxx
* remove unnecessary dependencies
* this fails at 'make check'
* this is the AutotoolsPackage version
* fixed install bug
* 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.
Update package file for netlib-lapack to work with IBM XL compiler
The flag -qzerosize is redundant, as the IBM XL compiler should set this flag
by default. However, at this time the default flag appears to be ignore.
Hence, I am setting it in the package file as well, as it has no negative
effect if set twice.
graphviz:
* Download from Fedora projet, as main graphviz site not working.
* Disable java because Spack does not yet support Java, and the system might not have it installed.
* Added all language binding variants; disabled enough in the default configuration to avoid dependencies.
* Removed alternate download location (turned into comments).
* Turn off all language bindings by default.
* Raise an exception on bindings that have not been verified to work.
* Added text indicating what works and doesn't work when user runs `spack info`.
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package.py for ADLB/X: A 2nd package dependency for Swift/T
* New package.py for Turbine
* New package.py for STC
Spack wants URL info even for external packages. Without it, I get
the following error:
NoURLError: Package SpectrumMpi has no version with a URL.
File "/home_local/serbanspack/spack/lib/spack/spack/repository.py", line 580, in get
self._instances[key] = package_class(copy)
File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 562, in __init__
f = fs.for_package_version(self, self.version)
File "/home_local/serbanspack/spack/lib/spack/spack/fetch_strategy.py", line 878, in for_package_version
url = pkg.url_for_version(version)
File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 682, in url_for_version
raise NoURLError(cls)
* Creating a spack package for LLNL's LBANN (Livermore Big
Artificial Neural Network) training toolkit.
* Recipe for building LBANN toolkit. Contains limited feature set and
is optimized for building with GNU gcc and OpenBLAS.
* Removed unnecessary dependencies based on reviewers feedback.
* Added support for the int64 data type in the Elemental library. This
is required for supporting indices for large matrices.
* Added a variant to force a sequential weight matrix initialization.
This is slow, but provides an initialization that is independent of
model parallelism.
* Added a guard to prevent building Elemental with the Intel compiler
for versions that have known bugs.
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package turbine
* Fix package.py as requested by @adamjstewart
* New package.py for ADLB/X: A 2nd package dependency for Swift/T
* Add latest version of GNU Parallel (#3106)
* Address formatting guidelines from @adamjstewart
* WIP on new Turbine package.py
* Formatting fixes
* Complete Turbine package.py
[The fix](https://github.com/golang/go/issues/17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary).
Figured I'd document my digging for the next person to come along.
* spectrum-mpi: Add new package file for external package
IBM Spectrum MPI is a commercial implementation of MPI based on
OpenMPI. It is usually install in /opt/ibm/spectrum_mpi.
Users need to add the Spectrum MPI package in their packages.yaml
file as follows:
packages:
spectrum-mpi:
version: ['10.1.0.2']
paths:
spectrum-mpi@10.1.0.2: /opt/ibm/spectrum_mpi/
buildable: False
all:
providers:
mpi: [spectrum-mpi@10.1.0.2]
* spectrum-mpi: Added license files and removed the versions
No need for versions as the package is external.
* spectrum-mpi: Remove extraneous defines
Keep only the defines that other MPI implementation define in their
package file:
self.spec.mpicc
self.spec.mpicxx
self.spec.mpif77
self.spec.mpifc
Update the go package to v1.7.5.
- This release no longer needs the time-test patch (it's been merged upstream).
- This release still seems to need the cgo-testcshared patch.
- Also add a comment about environment set up that I need to build it successfully on a very large server.
Tested on CentOS 7.
The repository used by the texlive installer defaults to a redirector
that sends one off to various URLs depending on <fill in the blank>.
This is problematic because all of the mirrors do not update in
synchrony and bad tarballs often hang around for a while.
This leads to problems that are particularly hard to diagnose because
you're likely to end up using a different repo the next time around.
This commit constraints the package to a particular, mainstream,
repository. It's not fast, but it's consistent and usually correct.
It also updates the installer digest, because no day is complete
without updating it at least (sigh) once.
* Different versions of cmake need diff vers of openssl. See Issue https://github.com/LLNL/spack/issues/2990 for background.
Versions of cmake through 3.6.9 seem to need OpenSSL up to 1.0.99. Later
versions can use the current release (thanks to @citibeth for
[digging up details](https://cmake.org/pipermail/cmake/2016-November/064631.html)).
@davydden suggested this change.
Without it I *am not* able to build `cmake@3.6.1` on CentOS 7 and I *am*
able to build `cmake@3.7.2`.
Tested with `cmake@3.7.2` and `cmake@3.6.1` on CentOS 7.
With this change I am able to build both `cmake@3.6.1` and `cmake@3.7.2`
on CentOS 7.
There was a new release of Ant (1.9.8) which led to the v1.9.7
tarball disappearing.
This changes the URL to Ant's archive dir, which seems to contain
*everything* including the two current releases (1.9.8 and 1.10.0)
It adds a digest for 1.9.8.
It adds and comments out a digest for 1.10.0 (which requires Java 8),
as I have not tested it.
We just released 2.0.2 yesterday, so add in that release for
spack. Don't need the PMI patch for this release.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
cran.r-project.org runs on a single old-school server in Austria
and could potentially be overloaded if "everyone" used it.
cloud.r-project.org is a cloud-based repository that "automatic redirection to servers worldwide [...]", cf. https://cran.r-project.org/mirrors.html.
I assume, that cloud.* can be scale up as needed. Out of the official CRAN mirror, this should be the safest one to pick if a static CRAN mirror is needed.
* Add several new R packages
* Add a few more R packages
* Update more versions
* Convert Package to RPackage
* Add a few more packages
* Add missing dependencies
* AutotoolsPackage: added configure_directory to permit build out of source. The configure script executable is now invoked with an absolute path. Modified a few packages accordingly.
* build_systems: functions returning directories are now properties
* build_systems: fixed issues with tcl and tk
* AutotoolsPackage: reworked recipe for autoreconf
* Spec.satisfies accesses Spec.concrete as property
Fixes#2760
When copying a spec, _concrete is always set to False for each
dependency. "Spec.satisfies" was accessing the member "_concrete"
directly instead of using the property "concrete". This means that
if you copy a spec, the dependencies will be considered equal, but
did not necessarily satisfy one another. Spec.satisfies is a
prerequisite for a package to be considered an extension; as a
consequence, an extension with run-time dependencies that were also
extensions did not activate those extensions. This updates
Spec.satisfies to avoid checking the cached member "_concrete"
directly.
* Added test to check for activation of dependency extension
* Added test to check for transitive satisfiability between a spec and its copy
* Update libquo's homepage, url, and description.
Recently LANL moved to lanl (from losalamos).
* Fix formatting.
Conform to style guidelines.
* More style updates.
Doesn't appear to be necessary, but for good measure.
* oce: fix fetching
apparently the fetcher is confused when there is a mixture of 3-digits
versions and 2-digits versions, i.e. 0.18 and 0.17.2
* flake8
* Updating udunits.
Udunits 2.2.21 is no longer on the unidata ftp site.
The latest is 2.2.23, adding that and it's md5sum.
* Updating udunits2 download URL.
The Unidata ftp site does not keep previous versions of udunits.
However all the tagged versions are in their github.com repository.
Updating the URL to use github.
* Updating udunits2 with a autoreconf def.
The udunits packages on github do not contain a configure script.
One has to run autoreconf to generate it, so adding that to
package file.
Also updated to the latest version and all md5 checksums.
* PackageMeta: `run_before` is an alias of `precondition`, `run_after` an alias of `sanity_check`
* PackageMeta: removed `precondition` and `sanity_check`
* PackageMeta: decorators are now free-standing
* package: modified/added docstrings. Fixed the semantics of `on_package_attributes`.
* package: added unit test assertion as side effects of install
* build_systems: factored build-time test running into base class
* r: updated decorators in package.py
* docs: updated decorator names
* Add dependency on perl
The build process uses perl and also needs `Test::More`.
Some distros, e.g. CentOS, break the core Perl distribution
into separate packages, so it's possible to "have perl" but
not have all the bits one needs to build OpenSSL.
We'll just install one of ours, which comes with all of its
factory parts included.
* Remove uninformative comment
> # Also requires make
doesn't really add any value...
* Fix configure's zlib version check
R wants a version of zlib that is 1.2.5 or newer.
The version checking code just does a lexicographic comparison
of the first 5 characters of the string, so it seesthat the latest
zlib version, 1.2.10, as 1.2.1 and fails.
This patch changes the comparison to use zlibs' hex ZLIB_VERNUM
so that it does not suffer from this problem.
A version of this patch is wending it's way through the R comunity
community and will/should be included in a future release.
I tested the patch with the current R, 3.3.1.
* Tighten zlib dependency version (>= 1.2.5)
* Convert patch to level=1 format.
* libmonitor does not exist at
http://libmonitor.googlecode.com/svn/trunk/
Change location to HPCToolkit version at github. Specify the hash corresponding
to the 20130218 version.
* When xcb is version 1.11, patch the configure file so it doesn't trip on
pthread-stubs and xau.
* Add os.getcwd()/lib to LD_LIBRARY_PATH, instead of nuking
existing LD_LIBRARY_PATH.
* cfitsio: Allow building as shared libraries
- Allow building as shared libraries
- Also add optional bzip2 variant
- Also update to newest version
This requires the recent correction to “fix_darwin_install_name”.
* cfitsio: Simplify code, default to +shared