Commit graph

11877 commits

Author SHA1 Message Date
Peter Scheibel
4b6de78062
font-util package: add autoconf/automake build deps (#12071)
Fixes #12026

These are required on some systems
2019-07-19 17:45:22 -07:00
albestro
3a026f1412 Fix #11240 (#11995)
* extends mkdirs with permissions for intermediate folders

Does not use os.makedirs mode parameter because its behavior is changed
with Python 3.7 (it ignores it for intermediate dirs), and moreover it
was not possible to set different modes for newly-created folders
and leaf folder.

reference:
- https://bugs.python.org/issue19930
- https://docs.python.org/3.7/library/os.html#os.makedirs

* comment mkdirp step easing code understanding

* revert mkdir to default for package metapath

since metapath is nested in package folder, there is no need
to specify permissions for intermediate folders because the prefix
already exists.

* comment create_install_directory package modes
2019-07-19 10:13:29 -05:00
Michael Kuhn
cadff917c7 leveldb: add 1.22 (#12044) 2019-07-19 09:26:09 -05:00
Chris Green
9b763980b6
libxpm: cope with system gettext if configured. (#10881)
* If gettext is installed in the system it won't be in the spec tree.
2019-07-19 08:36:58 -05:00
Gregory Becker
ba0cd4d912 concretization: fix transient hang in python 3.5
Bug relates to the interplay between:
1. random dict orders in python 3.5
2. bugfix in initial implementation of stacks for `_concretize_dependencies`
   when `self._dependencies` is empty
3. bug in coconcretization algorithm computation of split specs

Result was transient hang in coconcretization.
Fixed #3 (bug in coconcretization) to resolve.
2019-07-18 19:28:50 -07:00
Gregory Becker
ec6e5b0fd3 stacks: add option to link only roots or all specs, default to all 2019-07-18 19:28:50 -07:00
Gregory Becker
7ec89aa036 stacks: refactor view descriptors into a separate object 2019-07-18 19:28:50 -07:00
Gregory Becker
6661cb1926 refactor: clean up Environment class
- remove redundant code in Environment.__init__
- use socket.gethostname() instead of which('hostname')
- refactor updating SpecList references
- refactor 'specs' literals to a single variable for default list name
- use six.string_types for python 2/3 compatibility
2019-07-18 19:28:50 -07:00
Gregory Becker
88295d927e bugfix: spec lists can now include multiple references 2019-07-18 19:28:50 -07:00
Gregory Becker
9577ade3ce stacks: use new format string syntax in environments code
- Change old spec expressions to use Spack's new spec formatting sytnax.
2019-07-18 19:28:50 -07:00
Gregory Becker
2f6af64157 docs: Add documentation for views in environments 2019-07-18 19:28:50 -07:00
Gregory Becker
cebf1fd668 stacks: update view management for multiple/combinatorial views
This adds notion of a default view, other views in environments
2019-07-18 19:28:50 -07:00
Gregory Becker
d0bfe0d6a8 stacks: environment add/remove respect multiply-defined lists 2019-07-18 19:28:50 -07:00
Gregory Becker
f9e6de5474 stacks: allow force-removing from a speclist used in a matrix 2019-07-18 19:28:50 -07:00
Gregory Becker
533a8d7c82 stacks: update environment add/remove algorithms 2019-07-18 19:28:50 -07:00
Gregory Becker
6cfbfcc967 concretization: regression test for constrain() with deps
- ensure that `Spec('foo').constrain('foo ^bar')` works
- prior to stacks implementation, this constraint would have done nothing.
2019-07-18 19:28:50 -07:00
Gregory Becker
12c8996294 docs: initial documentation for environments 2019-07-18 19:28:50 -07:00
Gregory Becker
d450a2fce2 stacks: initial implementation of stacks on environments
- stack syntax in env schema
- switch environment specs over to SpecList object
- add stack functionality to environments
- handle definition extensions through stack.yaml and SpecList
- implement conditional definitions
- tests
2019-07-18 19:28:50 -07:00
Matthias Diener
5be1ff83d1 cmake: add version 3.15.0 (#12058) 2019-07-18 18:28:21 -05:00
Adam J. Stewart
032075af74
Add master version to sklearn (#12057) 2019-07-18 15:56:48 -05:00
Matthieu Dorier
6eba9febaa pkg PRRTE: added version 1.0.0 (#12054) 2019-07-18 13:59:39 -05:00
Matthieu Dorier
3120e06359 added version 3.1.3 of PMIx (#12055) 2019-07-18 13:59:02 -05:00
Adam J. Stewart
c96d687c7c
Workaround for #9149 (#12050) 2019-07-18 13:57:37 -05:00
Justin S
620d728aa5 py-mlxtend: new package at 0.16.0 (#12039)
* py-mlxtend: new package at 0.16.0

* py-mlxtend: fix dependencies
2019-07-18 12:25:41 -05:00
Phil Carns
7428fc66f7 update web site and git url for BMI package (#12036) 2019-07-17 21:28:39 -05:00
Jordan Ogas
ada50b968a add charliecloud v0.10 (#12046) 2019-07-17 21:28:02 -05:00
Adam J. Stewart
5d1f965e59
Fix scikit-learn build with Apple clang (#11496)
* Fix scikit-learn build with Apple clang

* Update compiler unit tests

* Fix unit tests

* Fix OpenMP dep

* recursive=True no longer necessary

* Add myself as a maintainer

* Specify which versions require OpenMP

* Typo fixes

* LLVM-OpenMP is the correct dependency, no OMPT

* Flake8 fix

* Undo Apple Clang OpenMP flag change, split into a separate PR
2019-07-17 21:27:16 -05:00
t-karatsu
1269256e25 libjpeg-turbo: set compiler flags with CMake args (#11938)
Later versions of libjpeg-turbo build with CMake; to build with
user-specified cflags, the user must supply these to CMake as
-DCMAKE_C_FLAGS (Spack's typical approach of injecting these flags
into the compiler wrapper invocation is insufficient in this case).

Currently libjpeg-turbo cannot be implemented as a CMakePackage
(and thereby take advantage of the flag_handler implementation it
provides) because not all versions of libjpeg-turbo use CMake, so
this adds a custom implementation of flag_handler and
flags_to_build_system_args to libjpeg-turbo.
2019-07-17 15:37:18 -07:00
Adam J. Stewart
7f3048c8af
Add support for .txz and .tbz2 file extensions (#12048) 2019-07-17 16:23:23 -05:00
Tamara Dahlgren
b856e24444 tests: uninstall_by_spec error and rpath_args tests (#11971)
* tests: Add uninstall_by_spec error tests.

These tests were originally included in PR #11797.
2019-07-17 15:08:08 -05:00
Greg Becker
5cf8878185 feature: Allow developers to use Spack for partial builds (#12006)
Added new diy option.
2019-07-17 11:46:56 -07:00
Ryan S. Elliott
c9b6c78d3a kim-api 2.1.0 (#12041) 2019-07-17 12:11:34 -05:00
brietzke
0c5ed467ce package opencoarrays: add new version: 2.7.1 (#12043) 2019-07-17 12:11:02 -05:00
t-karatsu
5d9e67d953 Cmake/add option for fujitsu compiler (#11839)
* cmake: change c++ spec when building with Fujitsu compiler.

* cmake: define cxxflags using a Fujitsu compiler's method.

* cmake: Add condition of whether to add cxx11 option.
2019-07-17 12:49:36 -04:00
Shane R. Spencer
1b16be538e Added url_for_version to python/package.py (#12040) 2019-07-16 20:50:43 -05:00
Justin S
267d07e4b9 py-pandas: add 0.24.2 (#12038) 2019-07-16 20:46:17 -05:00
Hironori-Yamaji
c44afdcc80 r: set FPICFLAGS for compilers except 'gcc' (#12033) 2019-07-16 11:56:34 -05:00
brietzke
29d968bd84 package mutationpp: add new version: 1.0.0 (#12035) 2019-07-16 11:55:53 -05:00
Massimiliano Culpo
2fe1ecbaa2 Ignore Modules v4 environment variables in from_sourcing_file (#10753)
* from_sourcing_file: fixed a bug + added a few ignored variables

closes #7536

Credits for this change goes to mgsternberg (original author of #7536)

The new variables being ignored are specific to Modules v4.

* Use Spack Executable in 'EnvironmentModifications.from_sourcing_file'

Using this class avoids duplicating lower level logic to decode
stdout and handle non-zero return codes

* Extracted a function that returns the environment after sourcing files

The logic in `EnvironmentModifications.from_sourcing_file` has been
simplified by extracting a function that returns a dictionary with the
environment one would have after sourcing the files passed as argument.

* Further refactoring of EnvironmentModifications.from_sourcing_file

Extracted a function that sanitizes a dictionary removing keys that are
blacklisted, but keeping those that are whitelisted. Blacklisting and
whitelisting can be done on literals or regex.

Extracted a new factory that creates an instance of
EnvironmentModifications from a diff of two environments.

* Added unit tests

* PS1 is blacklisted + more readable names for some variables
2019-07-16 10:54:33 -05:00
Todd Gamblin
5ed68d31a2
coverage: restore status updates on PRs (#12032)
Codecov is not updating PRs with status anymore. Fix .codecov.yaml to
make this happen.
2019-07-15 22:45:00 -07:00
Todd Gamblin
3f47c5967d
bugfix: fix module() function in setup-env.sh (#12030)
Modify `setup-env.sh` to export fewer variables but to still set the module() function correctly.
2019-07-15 22:43:53 -07:00
Michael Kuhn
ce88cc75ef qt: fix patch checksum (#12024)
It seems that GitHub's output changed slightly for this patch (one more
letter for both short hashes on the index line), probably due to the
number of objects in the repository.
2019-07-15 23:43:02 -05:00
Brian Homerding
36919ba859 binutils: Adding Clang to narrowing conversion error workaround (#12029) 2019-07-15 23:42:02 -05:00
Marc-Andre Hermanns
2cfbde1737 Add JUBE package definition (#12023)
* Add JUBE package definition

* Fixing flake8 errors
2019-07-15 20:58:57 -05:00
Severin Strobl
0ed7204c74 Added HPX version 1.3.0. (#12025) 2019-07-15 20:54:54 -05:00
Adam J. Stewart
41f5b09a98
Fix typo in module template (#12028) 2019-07-15 20:54:20 -05:00
t-karatsu
e3b513874b boost: use clang toolset when building with Fujitsu compiler. (#11827) 2019-07-15 15:13:04 -07:00
Michael Kuhn
a7e915d38b Fix build_jobs exceeding number of cores
All documentation mentions that `build_jobs` is limited by the number of
cores available in the system. This is also enforced when setting it via
`--jobs`. However, when setting it via `config.yaml`, it can exceed the
number of cores available, making builds run out of memory.
2019-07-15 11:40:49 -07:00
Glenn Johnson
3f83a2a7d8 Add auto-dispatch specification to Intel packages (#11697)
This PR adds the ability to specify the auto-dispatch targets that can
be used by the Intel compilers. The `-ax` flag will be written to the
respective compiler configuration files. This ability is very handy when
wanting to build optimized builds for various architectures. This PR
does not set any optimization flags, however.
2019-07-15 11:37:54 -07:00
Massimiliano Culpo
5acbe449e5 spack uninstall can uninstall specs with multiple roots (#11977)
Fixes #3690
Fixes #5637

Uninstalling dependents of a spec was relying on a traversal of the
parents done by inspecting spec._dependents. This is in turn a
DependencyMap that maps a package name to a single DependencySpec object
(an edge in the DAG) and cannot thus model the case where a spec has
multiple configurations of the same parent package installed (for
example if different versions of the same Python library depend on
the same Python installation).

This commit works around this issue by constructing the list of specs to
be uninstalled in an alternative way, and adds tests to verify the
behavior. The core issue with DependencyMap is not resolved here.
2019-07-15 10:30:01 -07:00