summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-03-31test/package_sanity.py: ported to pytest (#3474)Massimiliano Culpo1-34/+33
2017-03-31test/versions.py: ported to pytest (#3635)Massimiliano Culpo1-403/+443
2017-03-31Spack works with Python 3Todd Gamblin4-5/+6
- Update version guard in spack script to allow python 3 - Update min required version in the docs
2017-03-31Clean up tests and add Python3 to Travis.Todd Gamblin3-90/+172
- Clean up spec_syntax tests: don't dependend on DB order. - spec_syntax hash parsing tests were strongly dependent on the order the DB was traversed. - Tests now specifically grab the specs they want from the mock DB. - Tests are more readable as a result. - Add Python3 versions to Travis tests.
2017-03-31Make packages Python3 compatible.Todd Gamblin6-18/+20
2017-03-31Fix concretization bugs with virtuals and deptypes.Todd Gamblin2-25/+39
1. Fix #2807: Can't depend on virtual and non-virtual package - This is tested by test_my_dep_depends_on_provider_of_my_virtual_dep in the concretize.py test. - This was actually working in the test suite, but it depended on the order the dependencies were resolved in. Resolving non-virtual then virtual worked, but virtual, then non-virtual did not. - Problem was that an unnecessary copy was made of a spec that already had some dependencies set up, and the copy lost half of some of the dependency relationships. This caused the "can'd depend on X twice error". - Fix by eliminating unnecessary copy and ensuring that dep parameter of _merge_dependency is always safe to own -- i.e. it's a defensive copy from somewhere else. 2. Fix bug and simplify concretization of deptypes. - deptypes weren't being accumulated; they were being set on each DependencySpec. This could cause concretization to get into an infinite loop. - Fixed by accumulating deptypes in DependencySpec.update_deptypes() - Also simplified deptype normalization logic: deptypes are now merged in constrain() like everything else -- there is no need to merge them specially or to look at dpeendents in _merge_dependency(). - Add some docstrings to deptype tests.
2017-03-31Use key sorting instead of cmp()Todd Gamblin19-396/+318
- Get rid of pkgsort() usage for preferred variants. - Concretization is now entirely based on key-based sorting. - Remove PreferredPackages class and various spec cmp() methods. - Replace with PackagePrefs class that implements a key function for sorting according to packages.yaml. - Clear package pref caches on config test. - Explicit compare methods instead of total_ordering in Version. - Our total_ordering backport wasn't making Python 3 happy for some reason. - Python 3's functools.total_ordering and spelling the operators out fixes the problem. - Fix unicode issues with spec hashes, json, & YAML - Try to use str everywhere and avoid unicode objects in python 2.
2017-03-31Resolve Python2/Python3 unicode issues by using str()Todd Gamblin7-13/+15
- Remove ascii encoding assumption from spack_yaml - proc.communicate() returns bytes; convert to str before adding. - Fix various byte string/unicode issues for Python 2/3 support - Need to decode subprocess output as utf-8 in from_sourcing_files. - Fix comments in strify()
2017-03-31Convert Python 2 idioms to Python 2/3-compatible ones.Todd Gamblin74-323/+396
- convert print, StringIO, except as, octals, izip - convert print statement to print function - convert StringIO to six.StringIO - remove usage of csv reader in Spec, in favor of simple regex - csv reader only does byte strings - convert 0755 octal literals to 0o755 - convert `except Foo, e` to `except Foo as e` - fix a few places `str` is used. - may need to switch everything to str later. - convert iteritems usages to use six.iteritems - fix urllib and HTMLParser - port metaclasses to use six.with_metaclass - More octal literal conversions for Python 2/3 - Fix a new octal literal. - Convert `basestring` to `six.string_types` - Convert xrange -> range - Fix various issues with encoding, iteritems, and Python3 semantics. - Convert contextlib.nested to explicitly nexted context managers. - Convert use of filter() to list comprehensions. - Replace reduce() with list comprehensions. - Clean up composite: replace inspect.ismethod() with callable() - Python 3 doesn't have "method" objects; inspect.ismethod returns False. - Need to use callable in Composite to make it work. - Update colify to use future division. - Fix zip() usages that need to be lists. - Python3: Use line-buffered logging instead of unbuffered. - Python3 raises an error with unbuffered I/O - See https://bugs.python.org/issue17404
2017-03-31Update externals to work with Python 3Todd Gamblin44-132/+7069
- Update YAML version to support Python 3 - Python 3 support for ordereddict backport - Exclude Python3 YAML from version tests. - Vendor six into Spack. - Make Python version-check tests work with Python 3 - Add ability to add version check exceptions with '# nopyqver' line comments.
2017-03-31PythonPackage: Let There Be Tests! (#2869)Adam J. Stewart6-7/+167
* 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
2017-03-31new and updated PRUNERS tools (#3648)Gregory Lee4-4/+86
2017-03-31Fix mxml (#3639)Michael Kuhn2-2/+6
mxml is now hosted on GitHub.
2017-03-31Add QBank package (#3641)Adam J. Stewart3-5/+128
* Add QBank package * Install the documentation and add it to the MANPATH * Add Perl DBI package * Make sure setup method variables are consistent
2017-03-31Perl: add more versions, add phases (#3640)Adam J. Stewart1-14/+43
2017-03-31CONFIG: add older bison version 2.7 (#3645)Mark Olesen1-0/+1
- for programs that don't yet work with bison 3.x
2017-03-31Included LIBXSMM 1.8 into the list of available versions. (#3646)Hans Pabst1-1/+2
2017-03-31Subversion with perl bindings (#3644)Milton Woods2-7/+68
* perl-term-readkey: add perl Term::ReadKey package * subversion: add variant with perl bindings * subversion: use `which('perl')` to find perl executable in package.py
2017-03-30perl-xml-parser: add perl XML::Parser package (#3643)Milton Woods1-0/+37
2017-03-30Extendable Perl (#3614)Milton Woods10-8/+264
* 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
2017-03-30support OpenFOAM package(s) (#3528)Mark Olesen13-222/+2496
* 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
2017-03-30add package py-spykeutils (#3633)healther1-0/+39
* add package py-spykeutils * fixed dependency version restriction
2017-03-30cp2k: update to 4.1 + update of dependencies (#3561)Massimiliano Culpo8-122/+160
* 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
2017-03-30Move py-dev to the proper repo directory (#3630)Adam J. Stewart2-0/+0
2017-03-30Fix url fetching for GnuTLS (#3631)Adam J. Stewart1-5/+9
2017-03-29Concretization problem breaks httpie dependency (#3629)George Hartzell1-1/+5
* Concretization problem breaks httpie dependency Concretization problem breaks this. Unconditional for now... https://github.com/LLNL/spack/issues/3628 * Flake8 cleanups
2017-03-29Add package for snakemake (#3605)George Hartzell2-0/+73
* Add package for snakemake * Flake8 cleanups * Add package for py-wrapt * Address PR feedback Switch to pypi URL. Tighten Python3 dependency spec. Add missing dependencies (wrapt, requests). - add package for wrapt.
2017-03-29Add package for httpie (#3609)George Hartzell1-0/+43
* Add package for httpie * Remove wayward FIXME and flake8 cleanup * Update dependencies, address PR feedback Fine tune dependencies (version constraints). Add missing dependency. Make SOCKS support a variant. * Flake8 cleanup
2017-03-29petsc: a workaround for macOS Clang 8.1.0 and XCode 8.3 (#3615)Denis Davydov2-0/+25
2017-03-29add package py-bokeh (#3618)healther1-0/+45
* add package py-bokeh * remove setuptools dependency * add missing dependencies
2017-03-29Allow py-py2cairo to be built with cairo~X (#3620)healther1-1/+1
2017-03-29add package py-pympler (#3621)healther1-0/+42
* add package py-pympler * add python@2.5: dependency
2017-03-29Add package py-pynn (#3622)healther1-0/+50
* add package py-pynn * fix docstring * fix dependency mess * add python dependency
2017-03-29Add py-pymongo dependencies (#3624)healther1-0/+4
* add package py-mongo * add dependencies
2017-03-29htslib depends_on version must match samtools (#3625)George Hartzell1-1/+3
2017-03-29Add abipy package and dependencies (#3352)Adam J. Stewart13-15/+459
* Add abipy package and dependencies * Add first official release of py-abipy * Ignore files from dependencies during activation
2017-03-29add package py-mongo (#3619)healther1-0/+34
2017-03-29add package py-brian2 (#3617)healther1-0/+50
2017-03-29Add version 3.5.9 to package gnutls (#3616)healther1-2/+14
2017-03-28Add Blast+ package. (#3562)George Hartzell2-0/+229
* 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.
2017-03-28Add info for version 2.16 (#3601)George Hartzell1-0/+1
2017-03-28Add support for v1.9.9 (#3602)George Hartzell1-0/+1
2017-03-28Add packages for jq and ongiruma (#3607)George Hartzell2-0/+70
jq is a commandline JSON processor. Oniguruma is a regexp library on which jq depends.
2017-03-28Add package for direnv (#3608)George Hartzell1-0/+39
2017-03-28Add package for BATS (#3611)George Hartzell1-0/+38
Add package for the BASH Automated Testing System.
2017-03-28bowtie2: add support for version 2.3.1 (#3599)George Hartzell3-4/+28
* Add support for 2.3.1 Updated digest and added a dependency on tbb. * Cleanup patch name and add description
2017-03-28Update/samtools (#3595)George Hartzell3-0/+5
* Update samtools family to 1.4 * simple cleanup * Make bzip depends_on for future versions too
2017-03-28New package: ncftp client (#3603)George Hartzell1-0/+37
* Add package for ncftp * Flake8 cleanups
2017-03-28New package: staden-io-lib (#3604)George Hartzell1-0/+37
* Add package for staden-io-lib * Flake8 cleanups
2017-03-28New package: mummer (#3606)George Hartzell1-0/+55
* Add package for mummer Blocked on https://github.com/LLNL/spack/pull/3555. * Make "check" step optional and flake8 cleanups