Commit graph

13317 commits

Author SHA1 Message Date
Massimiliano Culpo
0a006351c8 Spack can be extended with external commands (#8612)
This provides a mechanism to implement a new Spack command in a
separate directory, and with a small configuration change point Spack
to the new command.

To register the command, the directory must be added to the
"extensions" section of config.yaml. The command directory name must
have the prefix "spack-", and have the following layout:

  spack-X/
    pytest.ini #optional, for testing
    X/
	  cmd/
	    name-of-command1.py
	    name-of-command2.py
	    ...
    tests/ #optional
      conftest.py
	  test_name-of-command1.py
    templates/ #optional jinja templates, if needed

And in config.yaml:

  config:
    extensions:
      - /path/to/spack-X

If the extension includes tests, you can run them via spack by adding
the --extension option, like "spack test --extension=X"
2019-03-28 16:56:36 -07:00
Kelly (KT) Thompson
b2b91a1f00 Random123 - provide a patch to fix compiles with IBM XL (#11028)
* Newer versions of IBM XL no longer define `__xlC__`, but define `__ibmxl__`
  instead.  This one-line patch fixes this problem in Random123.
* This patch was also provided to the Random123 maintiners
  (Random123@DEShawResearch.com). I don't expect a new release from them for a
  while, so I believe that this patch is the correct path forward (for now).
2019-03-28 17:20:28 -05:00
Satish Balay
06e82edf15
hypre: add a modified superlu-dist patch for @:2.14.0 (#11032) 2019-03-28 14:57:51 -05:00
Peter Scheibel
a6511fbafc Consistent patch ordering (#10879)
* preserve the order in which patches are applied by packages (in spite of grouping them by 'when')

* add tests confirming patch order
2019-03-28 11:25:44 -07:00
Peter Scheibel
99f35c3338 spack chain (#8772)
* initial work to make use of an 'upstream' spack installation: this uses the DB of the upstream installation to check if a package is installed

* need to query upstream dbs when adding new record to local db

* prevent reindexing upstream DBs

* set prefix on specs read from DB based on path stored in install record

* check that Spack does not install packages that are recorded as installed in an upstream db

* externals do not add their path to install records - need to use 'external_path' to get path of upstream externals

* views need to check for upstream installations when linking metadata

* package and spec now calculate upstream installation properties on-demand themselves rather than depending on concretization to set these properties up-front. The added tests for upstream installations don't work with this new strategy so they need to be updated

* only refresh modules for local specs (not those in upstream packages); optionally generate local module files for packages installed upstream

* when a user tries to locate a module file for a package installed upstream, tell them to use the upstream spack instance to locate it

* support recursive upstream databases (allow upstream databases to use their own upstream databases)

* separate upstream config into separate file with its own schema; each entry now also includes a name

* metadata_dir is no longer customizable on a per-instance basis for YamlDirectoryLayout

* treat metadata_dir as an instance variable but dont set it from kwargs; this follows several other hardcoded variables which must be consistent between upstream and downstream DBs. Also update DirectoryLayout.metadata_path to work entirely with Spec.prefix, since Spec.prefix is set from the DB when available (so metadata_path was duplicating that logic)
2019-03-27 13:06:46 -07:00
Mario Melara
298a55b28f Replace previous bash command to new one (#7005)
Prevents infinite recursion caused by sourcing `setup-env.sh` in bashrc
2019-03-27 10:26:52 -07:00
Elsa Gonsiorowski, PhD
8a4e762bec libyogrt package: add versions, scheduler support (#10884)
* Add latest libyogrt versions
* Add url_for_version to handle differing url formats for different
  versions
* Add 'scheduler' variant to configure scheduler. Currently only
  slurm can be installed with Spack. A value of 'system' indicates
  to use the scheduler installed on the system
2019-03-27 10:25:31 -07:00
Chris Green
e88c1d585c Move CMakePackage build directory to base stage directory (#8431)
Change the location of the CMake build area from the staged source
directory to the stage base directory.

This change allows CMake packages to refer to the build directory in
setup_environment (e.g. if tests need to have a directory in PATH):
Staging happens after the call to setup_environment(), and if the
stage area does not exist, then spec.stage.source_path returns None.

To accommodate this change, archived files (like config.log for
Autotools packages) are archived relative to the stage base directory
rather than the expanded source directory.

Other packages (those not using CMake) will still use the staged
source directory as the default working directory for builds (and
will still be unable to reference this directory in
setup_environment())
2019-03-26 17:40:49 -05:00
Michael Kuhn
7df70154dd lzo package: add version 2.10 (#11015) 2019-03-26 15:40:48 -05:00
Michael Kuhn
44311da0de c-blosc package: add version 1.16.3 (#11014) 2019-03-26 15:40:24 -05:00
Justin Stanley
35d439b1f7 beast1 package: add version 1.10.4, use url_for_version (#11009) 2019-03-26 15:39:42 -05:00
Gregory Lee
d2bd4f86dd py-netcdf package: add py-cftime dependency (#11005) 2019-03-26 15:39:10 -05:00
Eric Martin
69bd67385c py-xopen: Add version 0.5.0 (#10995) 2019-03-26 15:32:09 -05:00
Mark W. Krentel
675bb23431 intel-xed package: add versions 2019.03.01 and develop (#10987)
Also add conflicts for PPC
2019-03-26 15:31:28 -05:00
ajw1980
e5b86c5527 Retrieve environment-modules prefix based on architecture (#10975)
When multiple instances of environment-modules were installed with
different architectures, Spack was not retrieving the installation
appropriate for the current architecture when finding the module
prefix.
2019-03-26 15:23:17 -05:00
ajw1980
7a4712b90a New package: py-scikit-optimize (#10973) 2019-03-26 15:10:35 -05:00
ajw1980
48a8ee0363 New package: py-pyodbc (#10972) 2019-03-26 15:09:55 -05:00
ajw1980
99a51e7ed1 New package: py-luigi (#10970) 2019-03-26 15:08:20 -05:00
ajw1980
40121eddd9 Py-jupyter package: dependency fixes (#10966)
* py-prompt-toolkit: Add newer version for required for newer
  py-ipython versions
* py-ipykernel:
  * Add newer py-ipykernel version
  * Depend on py-setuptools so a python egg isn't attempted to be
    built
  * Update dependency for newer py-ipykernel versions
* py-jupyter-console: Remove py-prompt-toolkit dependency since it is
  picked up in py-ipython
* py-ipython:
  * Add missing py-backcall dependency
  * Adjust py-prompt-toolkit dependencies for newer versions of
    ipython
* py-jupyter-notebook: Require newer version of py-ipykernel since
  jupyter is broken with previous versions
2019-03-26 15:05:39 -05:00
ajw1980
9437cf88f0 node-js package: Depend on zlib when +zlib (#10965) 2019-03-26 14:43:30 -05:00
ajw1980
994b8afedc py-numba package: Depend on py-setuptools so an egg isn't built (#10964) 2019-03-26 14:42:57 -05:00
ajw1980
4b76602914 py-dateutil package: add version 2.7.5 (#10961) 2019-03-26 14:42:31 -05:00
ajw1980
6a6a51922f py-pytz package: add version 2018.4 (#10959) 2019-03-26 14:41:09 -05:00
Justin M Wozniak
4719bf25dd r-rinside package: add version 0.2.15 (#10949) 2019-03-26 14:37:49 -05:00
Brian Spilner
308a39eca3 ruby package: add version 2.6.2 (#10945) 2019-03-26 14:34:33 -05:00
Andrew Gaspar
1e6da47b4e Kokkos package: pthreads feature and new kokkos versions (#10943) 2019-03-26 14:31:48 -05:00
Seth R. Johnson
844ca31894 Use 'shlex' to split default Executable arguments (#10929)
This allows shell commands for `spack edit` to be executed correctly if
they have quoted arguments.
2019-03-26 14:02:32 -05:00
Chris Green
670ef9bd7c nix package: improve dependencies based on prerequisites from manual. (#10927) 2019-03-26 13:39:40 -05:00
Michael Kuhn
63ddc44db6 ior package: Add patch to fix 3.2.0 with hdf5 (#10923) 2019-03-26 13:36:54 -05:00
fcannini
f08c9aa601 quantum-espresso: Enable EPW installation (#10637) 2019-03-26 13:33:10 -05:00
Chris Green
763549fe7c mysql: Support client-only, cxxstd and more versions (#10911)
* add cxxstd variant
* add CMake constraints based on platform/version
* add older versions
* update boost dependency version constraints (which are closely
  tied to mysql version) and update boost cxxstd choice to be
  the same as the cxxstd chosen for mysql
* add client-only support (including a patch for 5.5.x)
* record the mysql package as a provider of the mysql-client virtual
2019-03-26 13:19:06 -05:00
Chris Green
1bd8c0c460 boost: Fix build of versions < 1.62.0 (#10910)
Improve management of the Fiber library and C++ standard support:

* Remove Fiber from list of libraries to build
* Improve variant management for Fiber; add variants for Context and
  Coroutine libraries.
* Add known conflict with C++17 for boost < 1.63.0
* Remove C++ standard "default" option, which left the choice of
  C++ standard to the compiler used to build boost
2019-03-26 12:50:06 -05:00
Massimiliano Culpo
89b9880719 Add regression marker to pytest.ini (#11011) 2019-03-26 12:04:36 -05:00
Michael Kuhn
8434e7803d lz4: Add 1.8.3 (#11013) 2019-03-26 15:34:25 +01:00
Michael Kuhn
58d186fc00 zstd: Add 1.3.8 (#11012) 2019-03-26 15:33:26 +01:00
Nichols A. Romero
66172f80f3 Fixed some issues with CUDA-Intel compiler conflicts. (#10924)
* Fixed some issues with CUDA-Intel compiler conflicts.

* Comment about expressing CUDA-compiler conflicts.

* More precise conflicts and also add support for Intel 19.0
2019-03-26 15:31:56 +01:00
clellsolomon
31d7df7860 ninja-fortran package: add newer versions (#10921) 2019-03-25 20:38:45 -05:00
bfovet
cc2ff82027 New package: MMG (#10902) 2019-03-25 20:24:40 -05:00
Dustin Lagoy
14acfb65c4 netcdf-cxx package: Add optional netCDF4 support (#10899) 2019-03-25 20:22:15 -05:00
Omar Padron
57523c3f0b explicitly install unzip in all docker images (#10891) 2019-03-25 20:10:42 -05:00
Chris Green
17da285cfb range-v3 package: Add notes, conflicts and doc dependencies. (#10887)
* record conflicts with compiler versions which don't provide
  required c++ standard support
* add doxygen (build) dependency
* add note that range-v3 is header-only as of 0.3.6 and update
  package description
2019-03-25 20:10:01 -05:00
Chris Green
a4bf8de09b gl2ps: add missing dependencies and doc variant. (#10886)
Makes building of documentation optional.
2019-03-25 20:04:33 -05:00
Dustin Lagoy
4c68d2e14e py-netcdf4: avoid using system installs of dependencies (#10885)
Use environment variables to point setup.py to Spack installations
of hdf5/netcdf
2019-03-25 20:03:02 -05:00
Chris Green
c124b1f471 postgresql package: build enhancements. (#10877)
We add new variants to handle readline vs libedit, a client-only
build and install, and bindings to TCL, Python and Perl. We also add
new versions and the ability to detect remote versions not otherwise
dealt with.
2019-03-25 19:51:51 -05:00
simo-tuomisto
6478a32598 New package: elmer-fem (#10860)
Elmer finite element method solver; builds Elmer, ElmerICE and
contributed solvers with MPI support.
2019-03-25 19:47:15 -05:00
Omar Padron
bf03edb51b LLVM package: disable CUDA (#10858)
This avoids using a system-installed CUDA package. In the future a
variant can be added to allow using Spack-installed CUDA, but for
now CUDA support is always disabled.
2019-03-25 19:43:18 -05:00
Brian Van Essen
a88b540723 Conduit package: add option to build with hdf5 versions > 1.8 (#10913)
Added a variant to allow conduit to build with newer versions of
HDF5.  Set the default for the variant to prefer compatibility mode
with HDF5 v1.8
2019-03-25 12:26:30 -05:00
Satish Balay
365c17a3d5
xsdk: enable sundials@4.1.0 for xsdk@develop (#10989)
- disable sundials varaiant for dealii and mfem - as they are incomatible with sundials@4.1.0
2019-03-24 22:17:20 -05:00
Satish Balay
8c165494f2
hypre: add superlu-dist variant (#10985)
- add a patch to fix build error with superlu-dist
2019-03-24 22:16:47 -05:00
Satish Balay
d7e984bcf8
amrex: current @develop - and future releases require cmake@3.13 or higher (#10953) 2019-03-24 22:15:49 -05:00