Commit graph

6019 commits

Author SHA1 Message Date
Josh Asplund
048b6fc454 Fixes patch paths for earlier boost versions (#3712)
* 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
2017-04-05 16:26:22 -05:00
Adam J. Stewart
745e2ce52f Fixes needed to build htop (#3691)
* 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
2017-04-05 16:03:11 -05:00
Milton Woods
87eafaa125 subversion: provide checksums for versions 1.8.17 and 1.9.5 (#3663)
* subversion: provide checksums for versions 1.8.17 and 1.9.5

* subversion: release versions sorted from newest to oldest
2017-04-05 15:15:22 -05:00
Denis Davydov
bccc73c6c9 petsc trilinos: fix Scalapack via MKL (#3702)
* petsc trilinos: fix Scalapack via MKL

* indentation
2017-04-05 14:55:28 -05:00
Mark Olesen
aa63bc6f34 update versions for scalasca and related tools (#3697)
- 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.
2017-04-05 14:54:40 -05:00
Michael Kuhn
a813764874 Fix libxpm (#3704)
It tries to use gettext but fails because it does not explicitly link
against libintl.
2017-04-05 14:50:42 -05:00
Michael Kuhn
9dcd6052cb Fix ncl (#3708)
- Add patch to make ncl compile with hdf5 1.10.
- Add missing dependencies to make ncl compile without errors.
2017-04-05 13:59:26 -05:00
scheibelp
9e50d16f13 Merge pull request #2789 from paulhopkins/features/allow_package_installation_directory_to_be_configured
Allow installation directory layout to be configured
2017-04-05 10:45:11 -07:00
Adam J. Stewart
cd1c88c519 Add stress package (#3695) 2017-04-05 11:48:56 -05:00
健美猫
70372ddcd7 Add versions 3.2.0 3.1.0 for protobuf. (#3698) 2017-04-05 07:59:18 -05:00
Paul Hopkins
95c3cff6be Allow installation directory layout to be configured using either hash
length parameter or spec formatting.
2017-04-05 12:08:56 +01:00
George Hartzell
46f25a4e0a Add package for open source Shiny Server (#3688)
* 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
2017-04-04 18:05:28 -05:00
scheibelp
0038ea84a1 Avoid null reference in arch concretization (#2596)
Fixes #2587

The concretizer falls back on using the root architecture (followed
by the default system architecture) to fill in unspecified arch
properties for a spec. It failed to check cases where the root could
be None.
2017-04-04 15:03:52 -07:00
Adam J. Stewart
3866dba265 Convert STREAM to MakefilePackage (#3692) 2017-04-04 15:00:35 -05:00
Adam J. Stewart
3c57862084 Add fio package (#3689) 2017-04-04 13:26:08 -05:00
Denis Davydov
0dbeeab70e intel-mkl: add 2017.2 (#3687)
* intel-mkl: add 2017.2

* intel-mkl: add urls, update docstring
2017-04-04 11:39:26 -05:00
Massimiliano Culpo
20f388cebd Fixes #3675: Abinit: invalid spec on concretization #(3686) 2017-04-04 07:03:11 -07:00
Jean-Paul Pelteret
7de6a28b15 Update SymEngine package to enable build against LLVM (#3682) 2017-04-04 06:56:44 -05:00
Mayeul d'Avezac
0e32369a26 Cppcheck (#3684)
* Adds cppcheck version 1.72

* cppcheck installation requires cfg files

Without these files, cppcheck does not work correctly
2017-04-04 06:55:02 -05:00
Mayeul d'Avezac
8276bd75fc Update tinyxml (#3649)
* 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
2017-04-04 06:52:58 -05:00
Justin Cook
508c96d046 Update getting_started.rst (#3685)
Fixed typo referring to .bashrc file
2017-04-04 06:50:44 -05:00
Adam J. Stewart
d6a28a7401 Add IOzone package (#3679) 2017-04-03 18:05:45 -05:00
Adam J. Stewart
50df071ad9 Overhaul Spack's URL parsing (#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
2017-04-03 15:34:16 -07:00
Adam J. Stewart
7e9777f294 Add latest version of pkg-config (#3672) 2017-04-03 14:09:44 -05:00
健美猫
734f90d11f openfst conflicts with intel@16: and gcc@6: . (#3671) 2017-04-03 13:35:04 -05:00
健美猫
74bd894427 Fix conflict directives for libpfm4. (#3673) 2017-04-03 13:05:03 -05:00
Adam J. Stewart
6cf87e3637 Add latest alpha release of MVAPICH2 (#3674) 2017-04-03 13:04:42 -05:00
George Hartzell
11fe0b9b26 Add depends_on() new-ish bison (#3661)
* Add depends_on() new-ish bison

* Refine dependency, only needed to build.
2017-04-03 10:59:44 -05:00
健美猫
57b3961778 Add libpfm4 package. (#3667) 2017-04-03 10:59:24 -05:00
Jeffrey Salmond
9b19968bac add CUDA_HOME arg to nccl makefile (#3666) 2017-04-03 08:08:28 -05:00
Jeffrey Salmond
b7eee1bd7b add gflags as dependency of glog (#3665) 2017-04-03 07:56:58 -05:00
George Hartzell
cddb7524b7 Hey, I was using that! :) (#3660)
Turns out that we really want 5.22.2 for backward compatibility.
2017-04-02 20:32:20 -05:00
Adam J. Stewart
c0cfaacbc8 Set default providers for all virtual dependencies (#3634)
* Set default providers for everything

* Add default OpenFOAM provider
2017-04-02 14:48:27 -05:00
Massimiliano Culpo
ffef681377 new directive: conflicts() (#3125)
* Add conflicts(<spec>) directive
* openblas: added conflicts for intel@16 refs #3119
* added brief docs and unit tests
2017-04-02 11:40:09 -07:00
Todd Gamblin
0e785e0500 Add epigraph in docs. 2017-04-01 15:32:06 -07:00
Todd Gamblin
221f179716 Add better tests for web.py; fix some bugs found with spidering.
- _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
2017-04-01 15:10:45 -07:00
Adam J. Stewart
28d6d375b4 Fix Python 3 support in spack versions
- Add missing import, fixes spack versions in Python 2
- Fix spack versions in Python 3
2017-04-01 15:10:45 -07:00
Kenneth Hoste
b67e2db159 fix version specs for EasyBuild packages (#3659)
* fix Python version requirement for easybuild-framework

* make 'when' for depends_on('py-easybuild-framework') open-ended
2017-04-01 13:14:15 -05:00
Kenneth Hoste
90306cf415 EasyBuild and dependencies (#3658)
* 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[:]
2017-04-01 10:27:58 -07:00
Kenneth Hoste
fb98f9ee19 fix annoying 'fatal: Not a git repository' error message (#3657)
fix annoying 'fatal: Not a git repository' error message produced by 'spack list' when Spack is not run from a Git repository (#3657)
2017-04-01 03:29:06 -07:00
健美猫
f982cd78ae Add a pcakge: libzip. (#3656) 2017-04-01 00:09:09 -05:00
Gregory Lee
12c1216c34 fix flake8 ignore syntax (use E instead of ignore) (#3651) 2017-03-31 17:51:09 -07:00
Massimiliano Culpo
0c44dd28bb test/package_sanity.py: ported to pytest (#3474) 2017-03-31 13:42:04 -07:00
Massimiliano Culpo
ee7753a597 test/versions.py: ported to pytest (#3635) 2017-03-31 13:41:48 -07:00
Todd Gamblin
a8bcc23fe7 Spack works with Python 3
- Update version guard in spack script to allow python 3
- Update min required version in the docs
2017-03-31 13:40:41 -07:00
Todd Gamblin
3f21f2b088 Clean up tests and add Python3 to Travis.
- 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-31 13:40:41 -07:00
Todd Gamblin
b9ee86cac9 Make packages Python3 compatible. 2017-03-31 13:40:41 -07:00
Todd Gamblin
7f3f493024 Fix concretization bugs with virtuals and deptypes.
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-31 13:40:41 -07:00
Todd Gamblin
fe6f39b662 Use key sorting instead of cmp()
- 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-31 13:40:41 -07:00
Todd Gamblin
0cd6555388 Resolve Python2/Python3 unicode issues by using str()
- 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-31 13:40:41 -07:00