* 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
* Adding 'self.' to the spec call for configure_args
* Updating this to set spec to self.spec
* More updates to the configure_args spec calls
* Another spec issue
* Another spec issue.
* And another spec issue
* Switching cmor back to self.spec.
- Add a PythonPackage class with build system support.
- Support build phases in PythonPackage
- Add a custom sanity check for PythonPackages
- Get rid of nolink dependencies in python packages
- Update spack create to use new PythonPackage class
- Port most of Python packages to new PythonPackage class
- Conducted a massive install and activate of Python packages.
- Fixed bugs introduced by install and activate.
- Update API docs on PythonPackage
* Set MPI[lang] env var to compiler wrappers on cray
Sets MPICC, MPICXX, MPIFC etc to point to the compiler wrappers on Cray systems.
Some packages look for MPIs via environment variables - e.g adios
* Use spec to check for Cray
* os is no longer used.
* petsc: add 64bit variant
* hypre: add int64 variant
* superlu-dist: add int64 variant
* petsc: add int64 variant
* metis: rename idx64 to int64 to make it consistent with other packages
* mumps: rename idx64 to int64 to make it consistent with other packages
* dealii: rename 64bit to int64 to make it consistent with other packages
added latest version of isl. Needed to get llvm/clang in the latest
trunk to build via spack, but there are more versions available.
what is the policy regarding those? Add what we need for now?
* Updating BoxLib with the ability to build again.
* Using Spack MPI compilers directly.
* Fixing typo.
* Using tarball from github archive for boxlib.
* Added customization for make targets in 'build' and 'install' phases for CMakePackage
* Use rst in build system docs so that Sphinx generates nice API docs
* Allow AutotoolsPackages to be built in a different directory
* Flake8
* Fix missing import
* Allow configure to be located in different directory
* Update espressopp to use build targets
* Flake8
* Sphinx fix, lists must be a new paragraph
* Back out change that allowed a configure script in a different directory than build_directory
* Add missing deps, build in parallel
* Missing space for rst list
Although it hurts a little, officially pre-compiled headers in
boost are only supported for gcc & msvc and the latest clang
releases still fail to build boost with it.
Therefore, I disabled building those to get boost build with
clang 3.9.0 on an Ubuntu 14.04 (x86).
Links to documentation and boost bug reports are inline, so
people can later on check if they still apply. Seems just to
be a bug in `Boost.Build` that tries to set `-o` with multiple
output files.
* Added support for Octopus 6.0 and the optional libraries: metis, parmetis, netcdf, arpack-ng, and scalapack.
* Fix PEP 8 line too long error.
* Changed format syntax {} to {0} to support Python 2.6.
* Adding the py-ipdb package for more stable debugging with iPython.
* Removing deprecated python support, adding missing dependencies.
* Adding version checks for (i)python
* 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.
* Removing the nobuild, nolink, and alldeps dependency types in favor of being explicit.
* This will help with maintenance going forward, as adding more dependency types won't affect existing declared dependencies in weird ways.
* default deptype is still `('build', 'link')`
* Remove +mpi variant from NCO
* Update NCO deps to AutotoolsPackage
* Update the other NetCDF packages to AutotoolsPackage
* ANTLR has a nolink deptype on java, don't worry about csharp
* Remove restrictions from NCO package, fix homepage
* Add version 4.6.3 of NCO
* Missed AutotoolsPackage for NetCDF-CXX4
* NetCDF tests fail when run in parallel
* Remove commented out dependency
* Add documentation dependency
* espressopp: package for the ESPResSo++ software
This commit adds a package for the ESPResSo++
simulation software.
* Move Espressopp package to CMakePackage
This commit moves Espressopp package to CMakePackage.
Addresses some comments in the PR.
* Remove run_tests and changed type of dependencies
Addressed some comments from @adamjstewart.
Removed global run_tests setting and removed type from many
dependencies. Set type for py-mpi4py to 'nolink'.
* Updated to last version and fix mpi4py dependency
Added latest espressopp version and changed mpi4py (version) dependency for
different espressopp versions.
* Changed mpi4py version requirements for espressopp
Changed py-mpi4py version requirements for espressopp@1.9.4 according
to the package build requirements for that version.
Adds the following packages:
node-js py-backports-abc py-functools32 py-pycurl py-vcversione
npm py-certifi py-jsonschema py-tornado py-zmq
- Added python packages that are dependencies for the Jupyter suite
- Update new python packaages to use extension package install function.
- Added npm and node-js packages
* Rename packages
* Upcasing depends_on() in packages.
* Downcased extends('r')
* Fixed erroneously changed URL that had slipped through.
* Fixed typo
* Fixed link from documentation into package source code.
* Fixed another doc problem.
* Changed underscores to dashes in package names.
* Added test to enforce lowercase, no-underscore naming convention.
* Fix r-xgboost
* Downcase more instances of 'R' in package auto-creation.
* Fix test.
* Converted unit test packages to use dashes not underscores
* Downcase `r` in the docs.
* Update module_file_support.rst
Fix r->R for class R.
* Use zlib's "fossil" site for old tarballs
Following citibeth's suggestion in #2732, use zlib's "fossil"
site (not to be confused with the sqlite team's VCS...) for retrieving
old tarballs.
Digests for 1.2.{8,10} match and both install for me on CentOS 7.
* Use zlib's "fossil" URL as the one true URL
Everything seems to be available at zlib's "fossil" URL, so just use
it as the one and only url.
(and fix a flake8 complaint about a comment)
* add package for conduit
* try to fix main conduit docstring
* use join_path instead of pjoin
* address a few requests in pr #2670
change name of 'github-master' to 'master'
change 'docs' variant to 'doc', set default to False
remove explicit +shared variant spec for silo and hdf5 deps
(in the conduit +shared case) cases since they default to True
add reference to static rpath issue
(https://github.com/LLNL/spack/issues/2658)
* address pr #2670 requests
add todos and more info on why variants for deps where selected
use python module install python to enable spack activate
use .format instead of %s
* zlib@1.2.10 and R do not get along, work around it
R's configure script has trouble with version numbers > 1.2.9.
This works around it by constraining R to 1.2.8.
I'm working with some R folk on getting it fixed going forward.
* Add adamjstewart's change.
* Update to latest zlib version, server no longer provides older version
Funded-by: IDEAS
Project: IDEAS/xSDK
* Add alternative URL for previous release of zlib
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives
* _dep_types -> dependency_types
* using a meta-class to inject directives into packages
* directives are lazy
fixes#2466
* directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin
* directives.py: added a test for simple inheritance of directives
* Minor improvement requested by @tgamblin
CMakePackage: importing names from spack.directives
directives: wrap __new__ to respect pep8
* Refactoring requested by @tgamblin
directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
The upstream luafilesystem tarball/version had a wayward/inconsistent
underscore in their more recent version tag. The played badly with
our package fetching machinery (due to recent changes?).
Upstream cleaned up their bit which required some touchups here.
- updated the url
- updated the version (digest)
- updated the format statement for the path to the rockspec.
* Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark
Tinyxml comes in two flavors, 1 and 2. Each comes in several
versions... So they cannot be easily united into a single package.
* Use CMakePackage and friends, add copyright
Also eleminate debug/release variants, since it no longuer fits in the
CMakePackage format.
* Remove unnecessary url
* spdlog now has tagged releases
* Remove unnecessary url argument
* Fewer quotes in cmake args, because magic
* Incorrect base class for tinyxml
* Ensure that every package has a license
Also fixes URLs with http://http:// doubled.
This is a continuation of #2656.
* Add license to every file in Spack
* Make sure Todd is the author of all packages
* Fix flake8 tests
* Don't license external Sphinx docs
* Don't display licenses in tutorial example packages
Also fixes typos and converts command-line examples
from tcsh to bash, which is more common
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface
* Fixed install error in cmor package
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface
* Fixed install error in cmor package
* Modifiying fontconfig file to allow install in OpenSuse 13.2
* Adding pkg-config dependency to freetype and libxml2
* Removed first possible solution. With @adamjstewart selecting the one adding pkg-config to dependencies
* Update digest for vim@8.0 tarball.
The digest appears to have changed.
The new digest value matches the value in their
[MD5SUMS](ftp://ftp.vim.org/pub/vim/unix/MD5SUMS)
file.
* Change ftp.vim.org -> github.com/vim/vim/archive
Vim seems to do weekly releases, but the name of the tarball on
ftp.vim.org doesn't change so we have to regularly play 'update the
digest' (aka Internet whack-a-mole).
This commit changes the url so that we are now downloading particular
versions from the Vim project's github archive.
I didn't walk back through of time to get all of the versions that
used to be explicit. I grabbed the final `7.4` and the current `8.0`
releases. If people need more we can add them.
* Add package for fastqc
This tool is a java mess. Their Way To Do It is to just copy the entire
tree into it's final resting place, make the perl script at the top
level executable and take it from there.
Yuck.
This package assumes that `set_executable` actually sets all the user
bits. If that change doesn't go in, then something equivalent needs to
be done.
* Use chmod to make fastqc executable
I haven't gotten any feedback on changing set-executable, so switch to
using chmod (from the cuda package).
* Flake8 cleanup
* Install files neatly, don't just copy top level of dir
Rather than blindly copying everything in the distribution, carefully
put the necessary bits into reasonable places. Neatness counts, etc...
This requires patching the `fastqc` perl script, so this commit adds a
patch file.
* Additional pep8 cleanup
* Let dependency handle adding jdk to PATH
* Flake8 cleanup
* Ensure that java is on PATH
I thought that the run dependency on the jdk would put
java on my PATH, but it does not appear to work.
For now, do it by hand.
* Customization for make targets in build and test phases for AutotoolsPackage
* Updated Blitz++ to use customized make build and test targets
* Removed flake8 error
* Removed make test customization, added make install customization, need to figure out issues with multiple make targets
* Changed build_targets and install_targets to normal attributes
* py-markdown: Add new package for python-markdown.
* py-markdown: Added restrictions on Python version.
* py-markdown: Removed upper-limit on compatible Python versions.
* py-markdown: Reinstated upper bound on Python version. Also fixed small formatting error.
* MakefilePackage: changed build_args and install_args for consistency with #2464
openblas: derives from MakefilePackage
* MakefilePackage: changed default edit behavior
* Add python cdo support
* Correct pypi url
* Corrected a blanck space that was failing CI
* Corrected url that was failing CI
* Following @alalazo indications, Write this line wrapping it around 80 chars to pass Travis
* Added cdo package depency
* Added support for xSDKTrilinos package
* Updated xsdktrilinos/package.py for PR review
* Added trilinos version # reqs to xsdktrilinos
* xsdktrilinos now uses CMakePackage
* Cleaned up xsdktrilinos/package.py
* Removed unused cxxflags from xsdktrilinos
* Removed unused sys import from xsdktrilinos
* clang: do xcode mockup iff requested by a package
* add a note
* add pkg to setup_custom_environment() and decide whether or not to use mockup XCode there based on the package
Supports installing both a "known version" of PETSc/PFlotran that works and
the develop/master branches of both packages
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 4 hour
* update flux dependencies and package
* refinements from @adamjstewart
* fix flux document generation
The docbook-xsl package has been added, and correctly configures catalog
files to generate documentation correctly with asciidoc.
* Update emacs: current release, use our x11 bits
Add checksum for 25.1 release.
Rework the X support:
- use Spack's X11 bits
- add ability to specify an X toolkit (gtk or athena, default is gtk).
- change toolkit names to align with Emacs' configure usage.
* PEP8 cleanups.
* glib dependency should not be type=build
I'd like to blame that on a typo, but it's a few too many characters
for that to be viable. I'm not sure what I was thinking.
* Pass X variant down: emacs->pango->cairo
* X variants default to False, warn on bad toolkit
Change the X variants for emacs, pango and cairo to default to False.
Check that the toolkit is a valid choice and give a reasonable error if
not.
* Fix flake8 issue, reword warning text
* gtkplus needs to use +X variant for pango to work
In order for a useful variant of pango to be built into the spec I
needed to make the dependency on gtkplus explicitly specify it's X
variant. The X variant is the default, but that wasn't enough to make
it happy. Since it's happiness is the most imporant thing in the
world, this change! :)
yaml-cpp has a boost dependency, and according to [yaml-cpp
page](https://github.com/jbeder/yaml-cpp):
yaml-cpp 0.5.3 has been released! This is a bug fix release. It also
will be the last release that uses Boost; futures releases will require
C++11 instead.
See #2059 for background.
I'm unable to install `lmod` because lua-luafilesystem fails.
The luarocks install bits attempt to do a shallow clone of the luafilesystem
sources and the default git on my CentOS 7 test box (`git version 1.8.3.1`)
fails.
This adds a build dependency that ensures that a relatively modern git is
available.
* Update texlive digest value
While the discussion in #2494 progresses, this changes fixes the digest
values so that builds succeeed.
* Add warning that texlive is not repeatably installable
* Update OpenMPI to the AutotoolsPackage
* Add Java support to OpenMPI
* Fix missing commas
* Be more specific about what versions support what flags
* Revert description for thread_multiple variant
* py-rtree: Added package
* py-rtree = RTree (spatial indexing) data structure for Python
* libspatialindex = Underlying C library wrapped by py-rtree
* Flake8 and Copyright issues.
* Fix Python syntax error.
* Fixed dependency type error.
* Added new version, based on updates requested in upstream PR
* 1. Change cmake to build dependency.
2. Updated to CMakePackage
* Update go to 1.7.4 and 1.6.4 to fix security issues
The go team recently rolled out two releases to address security
issues. Details available on the [go release
site](https://golang.org/doc/devel/release.html).
This commit updates our explicitly supported versions.
It also includes a comment about two CentOS requirements (enable
user_namespace and ensure that the static c library is installed) that
are required for the pacakges to pass their tests.
* Flake8 cleanup
* Make X11 font install dir the font search default
We install the X11 fonts into `/share/fonts` beneath the font-util
installation prefix, but that directory is not one of the places that
the font subsystem searches.
This commit makes the fontconfig package depend on the font-util
package, and then it makes
```python
spec['font-util'].prefix + "/share/fonts"
```
be the fontconfig default font location.
Before this change, plots drawn by R have bounding boxes where font
glyphs should be. After this change fonts appear as expected.
* Enrich description string (trigger new CI run)
Improve the docstring for the package.
Also interested in the side effect of triggering another CI run
to see if the recent flake8 fix lets this PR run clean.
* Flake8 cleanups
* Update R&friends to use our X11 libs
Add `depends_on()`'s for R, Cairo, and Tk so that they use the Spack X
bits.
* Conditionalize X stuff on variant
Another step towards hooking up the X stuff.
There's still discussion happening on the issue, but this is better
than the 'everything must build with X' state that it was in.