summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-05-18init: move symbols in `spack` to `spack.pkgkit`Todd Gamblin9-122/+137
- Spack packages were originally expected to call `from spack import *` themselves, but it has become difficult to manage imports in the Spack core. - the top-level namespace polluted by package symbols, and it's not possible to avoid circular dependencies and unnecessary module loads in the core, given all the stuff the packages need. - This makes the top-level `spack` package essentially empty, save for a version tuple and a version string, and `from spack import *` is now essentially a no-op. - The common routines and directives that packages need are now in `spack.pkgkit`, and the import system forces packages to automatically include this so that old packages that call `from spack import *` will continue to work without modification. - Since `from spack import *` is no longer required, we could consider removing ``from spack import *`` from packages in the future and shifting to ``from spack.pkgkit import *``, but we can wait a while to do this.
2018-05-18Fix libjpeg library finding and opencv build with nonstandard library ↵mcneish12-20/+23
directories (#8160) (#8179) * Use libs[0] and headers.directories[0] instead of hardcoded paths in opencv dependencies * Fix library finding in libjpeg-turbo * Use build_type=Debug instead of +debug to determine build_type
2018-05-18locks: add configuration and command-line options to enable/disable locks ↵Todd Gamblin11-54/+323
(#7692) - spack.util.lock behaves the same as llnl.util.lock, but Lock._lock and Lock._unlock do nothing. - can be disabled with a control variable. - configuration options can enable/disable locking: - `locks` option in spack configuration controls whether Spack will use filesystem locks or not. - `-l` and `-L` command-line options can force-disable or force-enable locking. - Spack will check for group- and world-writability before disabling locks, and it will not allow a group- or world-writable instance to have locks disabled. - update documentation
2018-05-18antlr: Turn off CSharp (#8157)Elizabeth Fischer1-0/+1
Spack doesn't have a CSharp package, so the only time ANTLR would succeed is if a system-installed CSharp was available. This disables CSharp support, which enables building on systems without system-installed CSharp.
2018-05-18Turning off parallel during make install for parallel-netcdf. (#8186)Jon Rood1-0/+4
2018-05-18Added vim 8.1 (#8185)sknigh1-0/+1
2018-05-18task: Add version 2.5.1 (#8184)Eric1-0/+1
2018-05-18nco: Find NetCDF (#8159)Elizabeth Fischer1-0/+7
* nco: Find NetCDF properly * flake8
2018-05-18trinity: add perl+threads dependency (#8143)Levi Baber1-0/+1
2018-05-17libexpat: Fix for older systems, move to GitHub (#8135)Elizabeth Fischer1-2/+7
* PR #4945 did not make this work on SuSE 11. Adding the latest version of libexpat did. Also update for Expat's move to GitHub. * Update package.py * Update package.py Move to url_for_version()
2018-05-17trinity: fixing jdk dependency (#8140)Levi Baber1-1/+1
2018-05-17perl: adding threads variant (#8142)Levi Baber1-0/+6
2018-05-17silo: support version 4.10.2-bsd (#8164)Daryl W. Grunau1-1/+3
2018-05-17Update scorep and friends to newest versions (#8171)Michael Kuhn4-7/+20
2018-05-17Changed netlib-lapack to fix an error in the CMake setup. (#8172)Serban Maerean2-6/+21
* Changed netlib-lapack to fix an error in their CMake setup. Changed netlib-lapack spackage file to add Fortran flags correctly for XL compiler. * Fixed line length -- forgot abt flake8... * Fix the package version where the ibm patch applies.
2018-05-17R dismo 1 1 4 - new package (#8176)peetsv1-0/+40
* py-pyfaidx: adding new package * updating the url * r-dismo: new package
2018-05-17cmake: update version (#8178)Matthias Diener1-0/+1
2018-05-17make check_for_compiler_existence an instance variableTodd Gamblin3-18/+16
2018-05-17use os.path.join instead of join_path in coreTodd Gamblin34-156/+141
- Spack core has long used llnl.util.filesystem.join_path, but os.path.join is pretty much the same thing, and is more efficient. - Use os.path.join in the core Spack code from now on.
2018-05-17Convert lazy singleton functions to Singleton objectTodd Gamblin66-551/+512
- simplify the singleton pattern across the codebase - reduce lines of code needed for crufty initialization - reduce functions that need to mess with a global - Singletons whose semantics changed: - spack.store.store() -> spack.store - spack.repo.path() -> spack.repo.path - spack.config.config() -> spack.config.config - spack.caches.fetch_cache() -> spack.caches.fetch_cache - spack.caches.misc_cache() -> spack.caches.misc_cache
2018-05-17init: make spack.cmd.all_commands lazyTodd Gamblin5-11/+27
- `spack.cmd.all_commands` does a directory listing on `lib/spack/spack/cmd`, regardless of whether it is needed - make this lazy so that the directory listing won't happen unless it's necessary.
2018-05-17init: only imoprt jsonschema if neededTodd Gamblin1-9/+10
- It turns out that jsonschema is one of the more expensive imports. - move imports of jsonschema into functions to avoid the performance hits for calls that don't need config.
2018-05-17init: initialize spack.store lazilyTodd Gamblin36-198/+239
- spack.store was previously initialized at the spack.store module level, but this means the store has to be initialized on every spack call. - this moves the state in spack.store to a singleton so that the store is only initialized when needed.
2018-05-17init: move spack.repo global variable into its own moduleTodd Gamblin63-233/+257
- spack.repository module is now spack.repo - `spack.repo` is now `spack.repo.path()` and loaded lazily - Added `spack.repo.get()` and `spack.repo.all_package_names()` as convenience functions to simplify the new lazy interface. - updated tests and code
2018-05-17tests: rename builtin_mock to "mock_packages" for clarity.Todd Gamblin33-121/+117
- rename `builtin_mock` and `refresh_builtin_mock` to the more clear `mock_packages` and `mutable_mock_packages`
2018-05-17init: convert spack.debug global variable to config optionTodd Gamblin11-27/+25
2018-05-17init: remove package_testing globalTodd Gamblin9-75/+82
- refactor the way test dependencies are passed to the concretizer - remove global state - update tests
2018-05-17init: remove dependency on spack.versionTodd Gamblin3-16/+8
- no longer require `spack_version` to be a Version (it isn't used that way anyway) - use a simple tuple `spack_version_info` with major, minor, patch versions - generate `spack_version` from the tuple
2018-05-17init: remove binary_cache_retrieved_specs global variableTodd Gamblin2-26/+21
- remove variable from spack/__init__.py - clean up imports and some code structure in binary_distribution.py
2018-05-17init: remove spack.concretizer global variableTodd Gamblin5-82/+104
2018-05-17init: remove build_jobs global variableTodd Gamblin3-15/+4
2018-05-17init: convert spack.dirty global to config optionTodd Gamblin4-34/+12
2018-05-17init: remove template_dirs globalTodd Gamblin6-24/+5
- remove template_dirs global variable from __init__.py - also remove update_template_dirs fixture, which had no effect on test correctness
2018-05-17init: replace global spack.do_checksum with config optionTodd Gamblin13-71/+67
2018-05-17init: replace spack.insecure global with spack.config.getTodd Gamblin10-43/+116
2018-05-17config: simplify configuration API to just get and setTodd Gamblin31-173/+207
- replace `spack.config.get_configuration()` with `spack.config.config()` - replace `get_config`/`update_config` with `get`, `set` - add a path syntax that can be used to refer to specific config options without firt getting the entire configuration dict - update usages of `get_config` and `update_config` to use `get` and `set`
2018-05-17config: create internal config scope for commands to use.Todd Gamblin5-13/+87
2018-05-17init: Move file cache initialization out of __init__.pyTodd Gamblin9-42/+102
2018-05-17config: rework config system into a class instead of globalsTodd Gamblin13-470/+555
- Current configuration code forces the config system to be initialized at module scope, so configs are parsed on every Spack run, essentially before anything else. - We need more control over configuration init order, so move the config scopes into a class and reduce global state in config.py
2018-05-17init: move editor from spack/__init__.py to spack.util.editorTodd Gamblin3-22/+58
2018-05-17init: factor paths out of spack/__init__.py and into spack.paths moduleTodd Gamblin65-296/+367
2018-05-17init: simplify import ordering in __init__.pyTodd Gamblin8-87/+112
2018-05-17flex: use 2.6.3. by default (#8154)Denis Davydov1-3/+6
Fixes #8152 Flex 2.6.4 doesn't build with gcc@7:. This sets Flex 2.6.3 as the preferred version. The flex package had a conflict directive for this but originally the recorded conflict was specific to ubuntu; this appears to be an issue on multiple operating systems so this also updates the conflict to be more general and adds a comment which links to the relevant issues.
2018-05-17swap-assembler: Create new package. (#8144)lingnanyuan1-0/+43
* swap-assembler: Create new package. * swap-assembler: fix flake8 error.
2018-05-17pv: initial commit (#8147)Christoph Junghans1-0/+36
2018-05-17r-rstan: new version and dependents (#8158)Levi Baber3-0/+4
* r-stanheaders: new version * r-rstan: new version * r-rcppeigen: new version * r-rstan: requires newer version of r-rcppeigen
2018-05-17Add version 6.1. to ESSL spackage file. (#8170)Serban Maerean1-0/+1
2018-05-17cbtf-argonavis-gui: add openspeedshop-utils package to address qt conflicts ↵Jim Galarowicz8-211/+689
(#8066) Fixes #7946 Creates an openspeedshop-utils package that does not depend on qt3 and can be used to resolve the needs of cbtf-argonavis-gui. Changes for creating a release versus develop build are also included. There are package versions which are no longer relevant (e.g. 1.3.0 for cbtf-argonavis-gui has been replaced with 1.3.0.0) but these versions need to be kept to allow uninstalling them; issue #8173 has been created to investigate this.
2018-05-16Add dependencies for py-dask (#8120)Adam J. Stewart11-17/+367
2018-05-16r-rcppcnpy: a new package. (#8139)健美猞猁1-0/+39
* r-rcppcnpy: a new package. * Specify dependency versions. * Update dependency.