Commit graph

5056 commits

Author SHA1 Message Date
Todd Gamblin
193f68083f Platform-specific config scopes (#2030)
* Add platform-specific configuration scopes.

* Update `spack config` to use the new scope arguments.
2016-10-15 17:00:11 -07:00
Pramod Kumbhar
e93c9060f5 fix sqlite download url (#2031) 2016-10-15 16:31:23 -07:00
Massimiliano Culpo
8d5961ecaf spack purge : updated documentation fixes #1938 (#2025) 2016-10-15 15:51:49 -07:00
Massimiliano Culpo
9726574846 travis : unit tests will run with and without libyaml (#2024)
* travis : unit tests will run with and without libyaml

* travis : fixed package that are installed
2016-10-15 14:21:50 -07:00
Elizabeth Fischer
3dbde09747 Workaround for illegal package merging in py-matplotlib/py-basemap (#1964)
* Workaround for illegal package merging in py-matplotlib/py-basemap

# Conflicts:
#	var/spack/repos/builtin/packages/py-basemap/package.py

* flake8

* flake8

* Be conservative: only apply the namespace package fix for Python >= 3.5.2

* flake8

* Bug fix
2016-10-14 16:09:54 -07:00
Adam J. Stewart
fbe9142b7e Fix list_url for fish shell (#2022) 2016-10-14 12:46:59 -07:00
John Finigan
4be224238e py-macs2: New package (#2011)
* py-macs2: New package

* py-macs2: add py-numpy@1.6: dependency
2016-10-14 12:00:56 -07:00
Kelly Thompson
e359a7ca59 Add missing 'import os'. (#2012) 2016-10-14 12:00:43 -07:00
Denis Davydov
48f23aadbe dealii: remove extra test which are now mostly integrated in make test (#2013) 2016-10-14 09:49:31 -07:00
Adam J. Stewart
78d3c7e2a2 Major updates to Contribution Guide (#1968)
* Major updates to Contribution Guide

* Grammar changes

* Fix missing/extra backticks

* Rewording, links, and tips added
2016-10-14 09:16:13 -07:00
Denis Davydov
0d89e5e32b Package/petsc slepc new versions (#2019)
* petsc: add 3.7.4

* slepc: add 3.7.3
2016-10-14 08:25:22 -07:00
Todd Gamblin
d861a52ebe Use cYAML if it is available in Python. (#2010) 2016-10-12 18:25:18 -07:00
Elizabeth Fischer
b27f4e3aeb py-matplotlib: Add variants for optional dependencies. (#2008) 2016-10-12 14:55:38 -07:00
Elizabeth Fischer
67ef6df4db Made optional CGAL dependencies optional. (#2006)
* Made optional CGAL dependencies optional.

* cgal: Added note explaining that the CORE library is not the same as core CGAL functionality.

* Bug fix and flake8

* flake8
2016-10-12 13:02:06 -07:00
Ben Boeckel
b369be65d7 Mock up Xcode devdir to make Qt5 work on Mac OS X (#1832)
* build_environment: allow compilers to set up an environment

* clang: mock up a toolchain directory for xcode

Some projects ignore CC and CXX flags and instead use xcode to find the
toolchain. Clang on Apple should set up the environment properly.
Arguably, every compiler could do this on Apple, but let's see how this
works out just for AppleClang for now.

The Documentation directory is ~1.7G and the excluded platforms add up
to about 7G. Ignoring swift saves another 500M. The resulting Xcode.app
copy is in the 2G range.

* compiler: set member variables early

This is required so that later methods can query things such as the
version of the compiler.

* compiler: support finding the real path of the compiler

On Apple, the /usr/bin compilers are actually wrapping tools themselves
which query xcrun for the currently selected Xcode installation. Pierce
this veil and get the real, full path the to underlying compilers
instead.

* icu4c: install with rpath

On macOS, icu installs with a library ID of the library name. Enabling
rpath makes its ID its full installed path which lets Qt5 link against
it successfully.

* qt: no -no-gtkstyle flag on Qt5 on macOS
2016-10-12 09:58:12 -07:00
Massimiliano Culpo
1925db5c77 spack list : updated documentation (#2004)
* spack list : updated documentation

* spack list : removed space before ':'
2016-10-12 09:43:28 -07:00
Glenn Johnson
5b070418e7 Documentation for modules configuration options (#1685)
This PR add documentation for the `suffixes` and `hash_length` options
for modules.yaml.

This resolves #1416.
2016-10-11 23:14:42 -07:00
Todd Gamblin
488e1bab2c Make insecure option work with curl AND git. (#1786) 2016-10-11 23:13:40 -07:00
Elizabeth Fischer
a6f85f51d0 patchelf: Add version (#1540)
* patchelf: Add version

* flake8

* Removed unnecessary url_for_version() function.

* Restored old URL
2016-10-11 23:11:25 -07:00
Denis Davydov
025b914079 oce: fix for Sierra (#1934) 2016-10-11 23:10:51 -07:00
Massimiliano Culpo
eb17895630 environment modifications : permit to pass parameters along with file to be sourced (#1626) 2016-10-11 22:55:14 -07:00
gmatteo
949766d92e Abinit: Added package(s) (#1995)
* First version of Abinit package

* Ignore *.swp files

* Add libxc, etsf_io packages

* AtomPaw package

* Make Abinit depend on mpi@2: and external version of libxc, netcdf, hdf5, etsf_io

* etsf_io: install Fortran modules in prefix.include

* Remove etsf_io from abinit requirements

* Add libxc2.2.1 (required by Abinit and atompaw)

* Cleanup

* Run make check

* Cleanup

* Use ld_flags instead of hard-coded libs, fix pep8, add copyright

* Put scalapack before lapackblas
2016-10-11 15:22:46 -07:00
Joseph Ciurej
37d125b890 Update Package : ExodusII (#1504)
* Added support for the 'maxdims' and 'maxvars' flags for 'NetCDF'.

* Added the '+mpi' variant and improved dependencies for 'exodusii'.
Improved the 'exodusii' package so that it's less reliant on patches.

* Added better type checking to variant values in the 'netcdf' package.

* Corrected the required CMake version for the 'exodusii' package.

* Fixed the dependencies of the '+mpi' variant of the 'exodusii' package.
2016-10-11 14:53:02 -07:00
Adam J. Stewart
6dc8bbcb3a Package all of Xorg/X11/XCB (#1740)
* Updates to Mesa and other Xorg packages

* Add packages for all Xorg Protocol extensions

* Add packages for first half of Xorg libraries

* Add packages for remaining Xorg libraries

* Add packages for all Xorg utilities

* Add packages for Xorg documentation tools

* Add build deps to Xorg protocol headers

* Add packages for XCB

* Add build deps to Xorg libraries

* Add build deps to Xorg utilities

* Add packages for Xorg fonts and font-related utilities

* Change font deptype from build to default

I wasn't sure which deptype was appropriate at first since none of
the packages are actually linked together. I initially chose the
build deptype for this reason. However, the font packages don't
install into their own prefix. They install into font-config. If
font-config is a build dependency, that means you can uninstall it
without uninstalling the font packages, which wouldn't make sense
since they install into font-config. So I switched them back to
the default deptype.

* Minor formatting changes to ncview

* Add half-way done xorg-server package

* Add packages for Xorg test suites, not yet tested!

* Add packages for Xorg data

* Add first quarter of Xorg apps

* Add more packages for Xorg apps

* Add dependencies to mesa

* Remove comments from mesa package

* Flake8

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add package for Sublime Text

* Add packages for remaining Xorg apps

* Revisit testing packages, add missing dependencies

* Add dependencies, clean up FIXMEs
2016-10-11 09:42:20 -07:00
alalazo
dd56784d28 qa : flake8 issues 2016-10-11 16:44:18 +02:00
alalazo
c7a5dd36e2 qa : flake8 issues 2016-10-11 16:30:06 +02:00
alalazo
ab995df777 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/build_environment.py
	lib/spack/spack/cmd/install.py
	lib/spack/spack/cmd/setup.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/hdf5/package.py
2016-10-11 16:28:08 +02:00
Mario Melara
b42dbc01fe Use python platform.system for system ID (#1499)
* Rebase and merging using platform.system

Rebasing and merging using platform.system instead of uname -a.

* Add missing import platform statement

* Remove subprocess import

Remove ununsed import subprocess to make changes flak8 compliant
2016-10-11 07:04:29 -07:00
Denis Davydov
4d939802ae hypre: fix blas/lapack for MKL (#1993) 2016-10-11 06:48:16 -07:00
Todd Gamblin
1dff309a3f Merge pull request #1989 from KineticTheory/cray_compile_wrappers
On Cray machines, use the Cray compile wrappers instead of MPI wrappers.
2016-10-11 06:46:29 -07:00
Todd Gamblin
f9d8325cc2 Merge pull request #1562 from LLNL/features/db-locking
Finer-grained locking
2016-10-11 02:35:46 -07:00
Adam J. Stewart
aa079dbdf1 Add variant to MPICH to enable ROMIO support (#1944) 2016-10-11 02:16:01 -07:00
Denis Davydov
49aed3969c tethex: add a new package (#1991) 2016-10-11 02:13:25 -07:00
Todd Gamblin
9c5c8b22c8 Fix bug in spack debug create-db-tarball
- Fix a bug handling '/' characters in branch names.

- Make tarballs use a descriptive name for the top-level directory, not
  just `opt`.
2016-10-11 01:55:33 -07:00
Todd Gamblin
f0edfa6edf Roll my my own bit_length function for Python 2.6 compatibility. 2016-10-11 01:55:33 -07:00
Todd Gamblin
222f551c37 Use a single lock file for stages and a single file for prefixes.
- Locks now use fcntl range locks on a single file.

How it works for prefixes:

- Each lock is a byte range lock on the nth byte of a file.

- The lock file is ``spack.installed_db.prefix_lock`` -- the DB tells us
  what to call it and it lives alongside the install DB.  n is the
  sys.maxsize-bit prefix of the DAG hash.

For stages, we take the sha1 of the stage name and use that to select a
byte to lock.

With 100 concurrent builds, the likelihood of a false lock collision is
~5.36e-16, so this scheme should retain more than sufficient paralellism
(with no chance of false negatives), and get us reader-writer lock
semantics with a single file, so no need to clean up lots of lock files.
2016-10-11 01:55:33 -07:00
Todd Gamblin
080a78664e Add tests for locks with byte ranges. 2016-10-11 01:55:33 -07:00
Todd Gamblin
3d8d8d3644 Fix bug with lock upgrades.
- Closing and re-opening to upgrade to write will lose all existing read
  locks on this process.
  - If we didn't allow ranges, sleeping until no reads would work.
  - With ranges, we may never be able to take some legal write locks
    without invalidating all reads. e.g., if a write lock has distinct
    range from all reads, it should just work, but we'd have to close the
    file, reopen, and re-take reads.

- It's easier to just check whether the file is writable in the first
  place and open for writing from the start.

- Lock now only opens files read-only if we *can't* write them.
2016-10-11 01:55:33 -07:00
Todd Gamblin
a024c6df95 Add base32_prefix_bits function to get prefix of DAG hash as an int. 2016-10-11 01:55:32 -07:00
Todd Gamblin
da6bbfb2d4 Add byte-range parameters to llnl.util.lock 2016-10-11 01:55:32 -07:00
Todd Gamblin
ea10e3bab0 Remove need to touch lock files before using.
- Locks will now create enclosing directories and touch the lock file
  automatically.
2016-10-11 01:55:32 -07:00
Todd Gamblin
907fe912ef Make llnl.util.lock use file objects instead of low-level OS fds.
- Make sure we write, truncate, flush when setting PID and owning host in
  the file.
2016-10-11 01:55:32 -07:00
alalazo
f229290880 stage : try to remove dead links only of folder that you actually care about
A use case where the previous approach was failing is :

 - more than one spack process running on compute nodes
 - stage directory is a link to fast LOCAL storage

 In this case the processes may try to unlink something that is "dead" for them, but actually used by other processes on storage they cannot see.
2016-10-11 01:55:32 -07:00
alalazo
f47dcdc47a lockfiles : creates directory for locks if not already present 2016-10-11 01:55:32 -07:00
alalazo
a3fc492d45 diy : removed global write lock on the db 2016-10-11 01:55:32 -07:00
alalazo
74fb1029fa uninstall : removed global lock 2016-10-11 01:55:25 -07:00
alalazo
b3a6e307b9 unit tests : fixed failing tests 2016-10-11 01:38:27 -07:00
alalazo
34fe51a4aa install : finer graned locking for install command 2016-10-11 01:38:27 -07:00
Adam J. Stewart
5988b3a222 More specific dependency versions, wrap make check (#1962) 2016-10-11 01:36:40 -07:00
Sergey Kosukhin
7fd639d6fc Update libjpeg-turbo: added new version and removed redundant dependency. (#1897) 2016-10-11 01:32:05 -07:00