Commit graph

5850 commits

Author SHA1 Message Date
健美猫
864670c0ab Retrive CUDA installers from Internet. (#3012) 2017-02-03 18:07:54 -08:00
sknigh
24553c12bb Flex and Glib builds are dependent on m4 (#3022) 2017-02-03 17:19:23 -08:00
George Hartzell
c456dfb60f Make module autoload warnings configurable (#2763)
Modules generated by the module creation machinery currently print out
a notice that warnts the user that things are being autoloaded.  In
some situations those warnings are problematic.  See #2754 for
discussion.

This is a first cut at optionally disabling the warning messages:

- adds a helper tothe EnvModule base class that encapsulates the
  config file variable;
- adds a method to the base class that provides a default (empty)
  code fragment for generating a warning message;
- passes the warning fragment into the bit that formats the autoload
  string;
- adds specialized autload_warner() methods in the tcl and lmod
  subclasses;; and finally
- touches up the autoload_format strings in the specialized classes.
2017-02-03 15:53:30 -08:00
George Hartzell
b28d8345ec Force particular repo to increase predictability (#2746)
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.
2017-02-03 15:44:26 -08:00
George Hartzell
5a836fd06e Blacklist implicit packages for modulefile generation (#2603)
Add the ability to the modules generation process to blacklist
packages that were installed implicitly.  One can still whitelist
modules that were installed implicitly.

This changes adds a `blacklist_implicts` boolean as a peer to the
`whitelist` and `blacklist` arrays, e.g.:

```
modules:
  enable::
    - lmod
  lmod:
    whitelist:
      - 'lua'
      - 'py-setuptools'
    blacklist:
      -  '%gcc@4.8.3'
    blacklist_implicits: True
```

It adds a small helper in `spec.py` and then touches up the package
filtering code in `modules.py`.
2017-02-03 15:42:46 -08:00
George Hartzell
acb9281dbf Different versions of cmake need diff vers of openssl (#2993)
* 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.
2017-02-03 14:35:16 -08:00
George Hartzell
6c1b19f394 Ocaml fails as an AutotoolsPackage (#2995)
Switch the ocaml install bit back to being a Package with its own little install method.

This fix allows me to build Unison on CentOS 7.
2017-02-03 14:22:50 -08:00
George Hartzell
10d36ee343 Fetch tarballs from ant archive dir. (#2997)
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.
2017-02-03 14:21:14 -08:00
Mayeul d'Avezac
d7c816386a Add new versions of catch (#3016) 2017-02-03 14:20:41 -08:00
George Hartzell
0929b23d53 Update git package to include 2.11.1 (#3020)
Add git v2.11.1 digest.

Built and lightly tested on CentOS 7.
2017-02-03 14:17:33 -08:00
Carlos Bederián
3d67bf46ba Update Tcl/Tk to 8.6.6 (#3002) 2017-02-03 14:15:15 -08:00
Howard Pritchard
0cdbd74b82 openmpi (#2988)
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>
2017-02-03 14:10:44 -08:00
Adam J. Stewart
dbb18df3f2 Add latest stable Perl release (#2969) 2017-02-03 14:10:08 -08:00
Tom Scogland
95c04f3ab1 llvm: add 3.9.1, only download necessary resources (#3015)
* llvm: add 3.9.1, only download necessary resources

* sacrifice some spaces on the altar of flake8 the vengeful and merciless
2017-02-03 14:04:36 -08:00
健美猫
a08ccbedee Patch OpenMPI 2.0.x to fix pmi_opcaddy_t_class issue. (#2962) 2017-01-31 14:52:38 -05:00
serbanmaerean
8275b44715 Change default fflags for XL compiler to only "-qzerosize" (#2966) 2017-01-31 14:51:05 -05:00
Henrik Bengtsson
4f297f4336 R: Using official cloud URL for CRAN (#2956)
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.
2017-01-31 14:47:20 -05:00
Adam J. Stewart
41c77d7429 Add installcheck phase to AutotoolsPackage (#2863)
* Add installcheck phase to AutotoolsPackage
* Update installcheck phase with new callbacks API
* build_directory has been converted to a property
2017-01-31 14:35:38 -05:00
Gregory Lee
7d279e06a0 Merge pull request #2964 from Zzzoom/fftw_add_sse2
FFTW: Add SSE2 support to x86_64 target
2017-01-31 09:48:47 -08:00
Adam J. Stewart
2ac0bcfcb0 Add latest version of Xorg util-macros (#2965) 2017-01-31 08:30:08 -08:00
Henrik Bengtsson
6e729bc333 DOCS: Examplify what file types are automatically extracted (#2955) 2017-01-31 08:26:19 -08:00
Adam J. Stewart
123f057089 Refactor Spack's URL parsing commands (#2938)
* Replace `spack urls` and `spack url-parse` with `spack url`
* Allow spack url list to only list incorrect parsings
* Add spack url test reporting
* Add unit tests for new URL commands
2017-01-31 11:14:52 -05:00
Denis Davydov
2e81fe4fb3 openssl: add extra url to download old versions (#2935) 2017-01-31 10:51:26 -05:00
Massimiliano Culpo
2babe4e4ff removed call syntax from property fixes #2944 (#2945) 2017-01-31 10:48:57 -05:00
健美猫
d46a1eadcd Replace FTP retrieval URLs with HTTP/HTTPS serving packages with identical checksum. (#2958) 2017-01-31 09:56:35 -05:00
Adam J. Stewart
0c0a1fdedc Add several new R packages (#2952)
* 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
2017-01-31 09:54:34 -05:00
Massimiliano Culpo
19cf7a2833 libmng: fix trying to run configure on an already configured directory fixes #2959 (#2961) 2017-01-31 09:49:29 -05:00
Carlos Bederián
617786707f FFTW: Add SSE2 support to x86_64 target 2017-01-30 18:17:36 -03:00
Adam J. Stewart
75763bb8e3 Make OpenSSL tests optional (#2939)
* Make OpenSSL tests optional

* Add version constraint to Perl dependency in OpenSSL
2017-01-27 11:38:21 -08:00
becker33
58a4c5c14d Fix ambiguous hash message generation. (#2940)
* Fix ambiguous hash message generation. Engineering fix
2017-01-27 11:37:21 -08:00
Denis Davydov
aa7c5d1115 mumps: fix compilation with MKL (#2936) 2017-01-27 11:32:25 -08:00
Adam J. Stewart
6158115ca8 Standardize argparse help messages (#2847) 2017-01-26 02:33:01 -08:00
Adam J. Stewart
c7a1328326 Add missing dependencies to VizGlow package (#2581)
* Add missing dependencies to VizGlow package

* Use a version-specific URL for xterm
2017-01-26 02:30:18 -08:00
Todd Gamblin
ffb8aaa3f3 Packaging docs for MPI (#2838)
* Add MPI docs to packaging guide and simplify packaging guide TOC a bit.
2017-01-26 02:29:31 -08:00
Massimiliano Culpo
81a5146b1d AutotoolsPackage: minor improvements (#2859)
* 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
2017-01-26 02:27:15 -08:00
Todd Gamblin
3b2124af6a Turn off codecov comments (use only statuses) 2017-01-26 02:21:26 -08:00
Todd Gamblin
a5700a8888 Use codecov for coverage instead of coveralls (#2933)
* Switch from coveralls to codecov

- Add .codecov.yml, simplify .travis.yml
- Add codecov badge to README.md

* Add tests for spack graph.
2017-01-26 02:19:35 -08:00
Jean-Paul Pelteret
f59011f314 Adol-C: Enable trig/erf functions; advanced branching (#2747) 2017-01-26 01:33:20 -08:00
Denis Davydov
d324d13456 py-numpy: rework blas/lapack (#2365)
* py-numpy: fix blas/lapack section title

* py-numpy: rework BLAS/LAPACK

including a workaround for MKL due to
limited config system of numpy
2017-01-26 00:46:35 -08:00
scheibelp
e4d2d747ce Spec.satisfies accesses Spec.concrete as property (#2928)
* 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
2017-01-25 21:43:12 -07:00
Sam Gutiérrez
596190c83c Update libquo's homepage, url, and description. (#2925)
* 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.
2017-01-25 21:41:26 -07:00
Adam J. Stewart
b18b6bad6f Remove intel-parallel-studio +all checks (#2905) 2017-01-25 21:41:09 -07:00
Denis Davydov
c24dc9072e oce: fix fetching (#2921)
* 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
2017-01-25 21:39:40 -07:00
Erik Schnetter
1ddd9c75c6 c-blosc: Add variant to disable AVX2 support (#2931)
Not all compilers support AVX2 instructions, and the package’s test for this is much too simplistic.
2017-01-25 21:39:10 -07:00
Timothy Brown
11454280e7 Updating udunits version. (#2922)
* 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.
2017-01-25 21:38:44 -07:00
becker33
8ae380fb71 Fixes for parsing specs with hashes (#2889)
- Allows hashes to be specified after other parts of the spec
- Does not allow other parts of the spec to be specified after the hash
- The hash must either end input or be followed by another separate spec
- The next spec cannot be an anonymous spec (it must start with a package name or a hash)

See #2769 (after it was merged) for further discussion of this interface addition. That discussion resulted in these requirements:

```
python                     # 1 spec
/abc123                    # 1 spec
python /abc123             # 1 spec
/456789                    # 1 spec
python /abc123 /456789     # 2 specs
python /456789 /abc123     # 2 specs
/abc123 /456789            # 2 specs
/456789 /abc123            # 2 specs
/456789 /abc123 python     # 3 specs
```

assuming `abc123` and `456789` are both hashes of different python specs.
2017-01-25 21:38:10 -07:00
Jean-Paul Pelteret
a4f594a68d Update valgrind to 3.12.0 (#2929) 2017-01-25 17:14:55 -08:00
serbanmaerean
5e2a96574b Add support for IBM threaded compilers: xl*_r (#2894)
* Add support for IBM threaded compilers, xl*_r

Added new compiler class, xl_r; added default flags to the compilers.yaml file.

* Add cppflags to the set of default flags to be added to the compilers stanza in compiler.yaml.

These flags are optional. Only defined flags will be listed in the compilers.yaml file.

* Fix scripting warnings revealed by flake8.

Updated __init__.py and xl_r.py to conform with flake8 rules.

* Add justification to the definition of the XL default compiler flags.
2017-01-25 16:26:17 -07:00
Massimiliano Culpo
fc866ae0fe build systems: simpler, clearer decorators: run_after, run_before (#2860)
* 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
2017-01-25 08:57:01 -07:00
George Hartzell
90d47a3ead Add dependency on perl (#2909)
* 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...
2017-01-24 14:07:13 -07:00