Commit graph

9271 commits

Author SHA1 Message Date
scheibelp
3560f6dbe9 views: packages can customize how they're added to views (#7152)
Functional updates:

- `python` now creates a copy of the `python` binaries when it is added
  to a view

- Python extensions (packages which subclass `PythonPackage`) rewrite
  their shebang lines to refer to python in the view

- Python packages in the same namespace will not generate conflicts if
  both have `...lib/site-packages/namespace-example/__init__.py`

  - These `__init__` files will also remain when removing any package in
    the namespace until the last package in the namespace is removed


Generally (Updated 2/16):

- Any package can define `add_files_to_view` to customize how it is added
  to a view (and at the moment custom definitions are included for
  `python` and `PythonPackage`)

  - Likewise any package can define `remove_files_from_view` to customize
    which files are removed (e.g. you don't always want to remove the
    namespace `__init__`)

- Any package can define `view_file_conflicts` to customize what it
  considers a merge conflict

- Global activations are handled like views (where the view root is the
  spec prefix of the extendee)

  - Benefit: filesystem-management aspects of activating extensions are
    now placed in views (e.g. now one can hardlink a global activation)

  - Benefit: overriding `Package.activate` is more straightforward (see
    `Python.activate`)

  - Complication: extension packages which have special-purpose logic
    *only* when activated outside of the extendee prefix must check for
    this in their `add_files_to_view` method (see `PythonPackage`)

- `LinkTree` is refactored to have separate methods for copying a
  directory structure and for copying files (since it was found that
  generally packages may want to alter how files are copied but still
  wanted to copy directories in the same way)


TODOs (updated 2/20):

- [x] additional testing (there is some unit testing added at this point
  but more would be useful)

- [x] refactor or reorganize `LinkTree` methods: currently there is a
  separate set of methods for replicating just the directory structure
  without the files, and a set for replicating everything

- [x] Right now external views (i.e. those not used for global
  activations) call `view.add_extension`, but global activations do not
  to avoid some extra work that goes into maintaining external views. I'm
  not sure if addressing that needs to be done here but I'd like to
  clarify it in the comments (UPDATE: for now I have added a TODO and in
  my opinion this can be merged now and the refactor handled later)

- [x] Several method descriptions (e.g. for `Package.activate`) are out
  of date and reference a distinction between global activations and
  views, they need to be updated

- [x] Update aspell package activations
2018-06-26 16:14:05 -07:00
Andreas Baumbach
1276ce0585 Add version 3.904 of verilator (#8577)
* Add specific version to package verilator

Change-Id: If7645410ec192f92a5eed83ee9b317b569576b4a

* fix dependency types

Change-Id: Ib36c72257c1fa6678c8553225ca21a010d7ae6d1
2018-06-26 17:51:45 -05:00
Sajid Ali
729bed3fd3 Add py-imageio for python3 (#8553)
* 	new file:   var/spack/repos/builtin/packages/py-imageio/package.py

* 	modified:   var/spack/repos/builtin/packages/py-imageio/package.py

* Update package.py
2018-06-26 12:55:10 -05:00
Omar Padron
911b6d7671 Docker dedupe (#8441)
* Add Dockerfile for Scientific Linux 7 (RHEL7 recompile)

* revert version change

* remove duplicate docker-related files
2018-06-26 07:37:28 -07:00
Todd Gamblin
a48bdfaf1d bugfix: fix macos incompatibility in lock test (#8573)
- Spack was assuming that a group with gid == current uid would always exist.
- This was breaking the travis build for macos.

- also fix issue with the DB tarball test finding coverage filesx
2018-06-26 14:51:02 +02:00
Patrick Gartung
bdd5aab8be Add Dockerfile for Scientific Linux 7 (RHEL7 recompile) (#8422)
* Add Dockerfile for Scientific Linux 7 (RHEL7 recompile)
2018-06-26 01:10:13 -07:00
Todd Gamblin
e5a6832760 refactor: move pytest.ini and top-level conftest.py to lib/spack/spack/test
- removes two files from root of repository
- `spack test` still works fine to run tests
2018-06-25 23:02:06 -07:00
健美猞猁
9a0af8a5ce HiC-pro depends on python+ucs4. (#8564) 2018-06-25 12:04:00 -05:00
健美猞猁
808a53c0df A new perl package: perl-io-compress. (#8566)
* A new package: perl-compress-raw-zlib.

* A new package: perl-compress-raw-bzip2.

* A new perl package: perl-io-compress.

* flake8.

* Add zlib and bzip2 dependency.
2018-06-25 12:02:04 -05:00
Todd Gamblin
6afe309fdf refactor: move issue_template.md to .github directory 2018-06-25 09:03:32 -07:00
Todd Gamblin
d04e9fd272 coreutils: add version 8.29 2018-06-24 16:39:04 -07:00
Todd Gamblin
c4c1d37fcd refactor: move templates from root to share/spack
- This complies with the unix directory hierarchy standard (which Spack
  attempts to follow)
- Also unclutters the repo root directory.
2018-06-24 16:38:36 -07:00
Satish Balay
6517dabbce sowing: update to version used by current petsc -i.e 1.1.25-p1 (#8561) 2018-06-24 17:02:39 -05:00
Todd Gamblin
15910debb2 tests: test file/line attribution in config errors 2018-06-24 14:21:52 -07:00
Todd Gamblin
970b558f7f tests: add a test for spack debug command 2018-06-24 14:21:52 -07:00
Todd Gamblin
175de19f2d tests: test html output for spack list
- make list test use SpackCommand
- convert to pytest
- add a test for HTML output
2018-06-24 14:21:52 -07:00
Todd Gamblin
f476e60c01 Add spack -H shortcut for spack help --all
- I keep typing this based on `spack test -h` and `spack test -H`
- This finally makes my fingers happy
2018-06-24 10:19:07 -07:00
Satish Balay
df45b6f56d Balay/petsc remove boost dependency (#8508)
* petsc: remove dependency on boost - its required only as a dependency on trilinos

Also set COPTFLAGS='' etc - this way CFLAGS is the primary way optimization flags are set by spack

* petsc: update pkgs with petsc~boost dependency

* fix flake8

* boost is optional for trilinos - so adjust petsc dependency on boost [via trilinos] accordingly

* do not add boost dependency on petsc [due to trilinos requirement]. Trilinos adds this dependency anyway.
2018-06-24 10:52:14 -05:00
Satish Balay
f6140375e9 xsdk: update xsdk@develop to use plasma@develop (#8555)
plasma@develop has another flag 'DHAVE_MKL' that needs to be disabled [for non-mkl build]

add dependency on gcc-6.0

add in new dependency on readline

plasma: requires both LIBS in make.inc and command line?

If cmd line is missing -some internal values from plasma makefile gets used - causing link errors [on Mac]

tools/lua-5.3.4/src/Makefile:   $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline"

if make.inc is missing - I get:

/usr/bin/ld: cannot find -lmkl_intel_lp64
/usr/bin/ld: cannot find -lmkl_sequential
/usr/bin/ld: cannot find -lmkl_core
collect2: error: ld returned 1 exit status

Also add a new dependency -ldl
2018-06-24 08:08:44 -05:00
George Hartzell
1e92721ab5 Fix m4 on OS X highsierra (#8559)
m4 exited immediately (causing the nettle build to fail).

```
(alice)[11:09:46]spack>>/Users/hartzell/tmp/spack-mac/spack/opt/spack/darwin-highsierra-x86_64/clang-9.1.0-apple/m4-1.4.18-caxsf7l5yd7qbq2bown6bzi5el3ltfwf/bin/m4
Abort trap: 6
(alice)[11:10:18]spack>>fg
```

Tracked down a fix via the Homebrew recipe.  I'll send a note to the
`bug-m4@gnu.org` list to ensure that upstream knows about it.
2018-06-23 20:34:04 -05:00
George Hartzell
4864005483 Fix gcc@5.5.0 on OS X 10.13.5 (#8540)
* Fix gcc@5.5.0 on OS X 10.13.5

gcc@5.5.0 failed to build on my OS X 10.13.5 box.

I found/modified a patch in the MacPorts world that traced back to
Homebrewy, https://trac.macports.org/ticket/56502#no1

The issue has also been reported to gcc,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83531

I eventually discovered a nearly identical version of the patch at
Homebrew.

https://github.com/Homebrew/formula-patches/blob/master/gcc%405/10.13_headers.patch

gcc builds with this and I can compile many things, but e.g. curl and
cmake both fail.  As @davydden and others observed in #1847, it seems
to be an apple thing.

* Fix mistaken change to patch when clause (added :)

I mistakenly deleted a colon from the
'darwin/gcc-7.1.0-headerpad.patch'.
2018-06-23 19:40:42 -05:00
Geoff Womeldorff
a72f240f95 kokkos: add support for version 2.7.00 of kokkos (#8521) 2018-06-23 12:12:12 -05:00
Satish Balay
e1661ff662 omega-h: fix -std=c++11 build error (#8543)
cd /tmp/balay/spack-stage/spack-stage-joxtpr/omega_h-9.13.4/spack-build/src && /home/balay/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.1.0-7ws4tgx4z3o
ru5g5skjrxs5sobpeiyef/bin/mpic++   -Domega_h_EXPORTS -I/home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src -I/tmp/bala
y/spack-stage/spack-stage-joxtpr/omega_h-9.13.4/spack-build/src -I/home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/tpl
-I/home/balay/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/include  -O2 -g -DNDEBUG -fPIC   -o CMakeFiles/omega_h.di
r/Omega_h_map.cpp.o -c /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_map.cpp
In file included from /usr/include/c++/5/chrono:35:0,
                 from /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_timer.hpp:4,
                 from /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_timer.cpp:1:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \
  ^
2018-06-23 07:25:33 -05:00
Michael Kuhn
c2d56b0b10 Fix version detection for gcc@8 (#8511) 2018-06-22 18:03:43 -05:00
Tom Merrick
bef60f6d7e Package/grass (#8505)
* Add the grass74 GIS system.

* Correct flake8 errors

* Made requested changes

* added correct types to python
2018-06-22 18:03:05 -05:00
Jon Rood
e18359bd82 Updating py-pillow with change in checksum for version 5.1.0. (#8547) 2018-06-22 18:02:27 -05:00
Yifan Zhu
8b0d29bec4 New package ncbi-magicblast (#8517)
* ncbi-magicblast: new package

* updated package.py

* updated ncbi-magicblast
2018-06-22 17:48:32 -05:00
Nick Forrington
259b1834f1 silo: Make silo use AutotoolsPackage (#8551)
To benefit from updates to config.guess for newer architectures.

More info: https://github.com/spack/spack/issues/2063
2018-06-22 17:19:03 -05:00
Gregory Lee
ae8645e27d added ReMPI version 1.1.0 (#8548) 2018-06-22 17:03:41 -05:00
Paul Chelarescu
3e7f5250c0 Added minuit package (#8536)
* Added minuit package

* Removed default method and template

* Different URLs for old versions

* Patches for versions down to 1.5.0

* Reverted ROOT package changes

* Removed print statement

* Added checksums for older versions

* Consistent version names
2018-06-22 11:27:25 -05:00
Massimiliano Culpo
d5e8cabe75 Fixed linking of R with MKL + configure issue in a dep (pixman) (#8449) 2018-06-22 08:03:47 -05:00
Denis Davydov
8e3d49cf35 elpa: add 2018.05.001.rc1 and 2017.11.001 (#8512)
* elpa: add 2018.05.001.rc1 and 2017.11.001

* elpa: shift preferred
2018-06-22 07:52:40 -05:00
Mike Pozulp
3c627ea655 new packages: workrave and its dependencies (#7753) 2018-06-21 18:25:26 -07:00
Todd Gamblin
8f2918813d Add tags for ECP applications that are in Spack.
- All now have both 'ecp' and 'ecp-apps' tags.
- ECP ST projects will eventually also have ecp and ecp-software tags.
2018-06-21 16:07:47 -07:00
Jon Rood
9f22bb61ac Correcting position independent code setting for boxlib and amrex. (#8537) 2018-06-21 16:37:10 -05:00
Cyrus Harrison
645c640f38 use new valgrind repo (#8538) 2018-06-21 16:35:07 -05:00
Matthias Diener
a14b1cac9e cmake: update package (#8539) 2018-06-21 15:34:33 -05:00
Daniel Topa
70a0ea910f openmpi: add latest release 3.0.2 (#8452)
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Add in library version in comment
2018-06-21 12:55:17 -05:00
Denis Davydov
e378d4ee34 dealii: add msg= to conflicts statements (#8509) 2018-06-21 18:24:05 +02:00
Peter Doak
5be89bfb7f poppler needs it test repo URL updated (#8519) 2018-06-20 16:04:22 -05:00
Todd Gamblin
398afa460a pytest: add _pytest/_version.py and LICENSE
- pytest was not reporing the correct version from pytest.__version__.
  It reported 'unknown'

- this fixes issues on some systems where system-installed pytest plugins
  would try to use the version and convert it to an int
2018-06-20 14:35:10 -05:00
Todd Gamblin
137456fbf3 externals: move spack.util.ordereddict to external/ordereddict_backport 2018-06-20 14:35:10 -05:00
Chris Green
508bbf407b New package xxhash. (#8530)
* New package xxhash.

* Change requested by @adamjstewart.
2018-06-20 13:51:53 -05:00
Adam J. Stewart
b477868a5f
Add kealib 1.4.8 (#8522) 2018-06-20 13:51:33 -05:00
Axel Huebl
5b309ea6ac openPMD-api: update dependencies (#8528)
update the dependencies of openPMD-api
2018-06-20 11:24:41 -05:00
Michael Kuhn
e6834301b9 glib: Update to 2.56.1 (#8523) 2018-06-20 11:20:04 -05:00
Levi Baber
f9683419f9 mitofates: needs perl at runtime (#8526) 2018-06-20 11:17:14 -05:00
Chuck Atkins
5c731f54b8 Bump ZeroMQ from v4.2.2 to v4.2.5 (#8514)
This addresses some build issues with GCC 8 and the addition of the
-Werror=stringop-truncation warning.
2018-06-20 16:33:17 +02:00
Douglas Duckworth
818e7481a6 added albacore version 2.3.1 (#8513) 2018-06-19 11:16:41 -05:00
Adam J. Stewart
55d0d1814c Allow docs to be built with Sphinx 1.7.1+ (#8500)
* Allow docs to be built with Sphinx 1.7.1+

* Allow docs to be built with Sphinx 2.0+
2018-06-18 17:17:21 -07:00