Commit Graph

4984 Commits

Author SHA1 Message Date
alalazo
ac394718ec python : implemented possible solution 2016-03-17 18:22:07 +01:00
alalazo
f0f0663d1b package : split environment_modifications into setup_environment and setup_dependent_environment.
package : renamed `module_modifications` to `modify_module` for consistency
2016-03-17 15:11:39 +01:00
Kelly (KT) Thompson
f07d4c9439 + Provide ~perl and ~shared variants. 2016-03-16 21:30:41 -06:00
citibeth
fa2a66db67 1. Disabled git versions known to have vulnerabilities.
2. Added autoconf command to allow building directly from GitHub source.
2016-03-16 15:46:59 -04:00
Todd Gamblin
905549ea2d Merge pull request #555 from epfl-scitas/packages/binutils
Adding latest version in binutils
2016-03-16 08:39:13 -07:00
alalazo
597727f8be tclmodules : added hooks to process EnvironmentModifications objects 2016-03-16 15:19:13 +01:00
Nicolas Richart
9c29966674 Change urls in binutils to help 'spack checksum/versions' + adding latest version 2016-03-16 12:57:17 +01:00
alalazo
b45ec3f04e environment : simplified modification of the environment 2016-03-16 10:55:28 +01:00
alalazo
b2c98feea4 Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around 2016-03-16 09:02:35 +01:00
Todd Gamblin
68d22253ec Add sanity checks to the libelf build. 2016-03-15 17:22:48 -07:00
Matthew LeGendre
108ea1522a Merge pull request #549 from LLNL/bugfix/gh538-less-greedy-concretize
Bugfix/gh538 less greedy concretize
2016-03-15 16:18:54 -07:00
Todd Gamblin
cdd2ea3067 Merge pull request #537 from adamjstewart/features/octave
Add GNU Octave package
2016-03-15 11:23:40 -07:00
alalazo
572cb93bf8 package : renamed setup_dependent_environment to module_modifications 2016-03-15 14:05:30 +01:00
alalazo
c85888eb57 package : added environment_modifications 2016-03-15 13:36:41 +01:00
alalazo
bcea1df01c environment : refactoreded set_build_environment_variables 2016-03-15 10:49:33 +01:00
Adam J. Stewart
0d9a6d3c25 Updates to qrupdate 2016-03-14 14:19:30 -05:00
Todd Gamblin
f45b8b1083 Add some tests for packages with multiple virtual dependencies.
- Added mock `hypre` package, depends on `lapack` and `blas`.

- test cases where some packages provide both `lapack` and `blas`, but
  others do not.
2016-03-14 05:02:50 -07:00
Erik Schnetter
8b715d9c3f Update tmux 2016-03-13 21:31:48 -04:00
citibeth
003957a689 Reverted bad change 2016-03-13 00:33:13 -05:00
Elizabeth F
c1a8574d8f Fixed for Python 2.6 2016-03-13 00:29:40 -05:00
Elizabeth F
90bb855ffa A new subclass StagedPackage(Package) is introduced. This PR should
not change the behavior for existing packages that subclass from
spack.Package.

If a package subclasses spack.StagedPackage instead of spack.Package,
the install() phase (run inside a forked process) is now separated
into sub-stages:

    a) spconfig: Generate a script spconfig.py that will configure the
       package (eg by running CMake or ./configure) This is for use if
       the user wishes to build externally from Spack.  Therefore, the
       Spack compiler wrappers are NOT used here.  Currently, that
       means that RPATH support is up to the user.

    b) configure: Configure the project (eg: runs configure, CMake,
       etc).  This will configure it for use within Spack, using the
       Spack wrapper.

    c) build: eg: "make"

    d) install: eg: "install"

If one chooses to use StagedPackage instead of Package, then one must
implement each of the install sub-stages as a separate method.
StagedPackage.install() then calls each of the sub-stages as
appropriate.

StagedPackage can be configured to only run certain sub-stages.  This
is done by setting the optional kwarg install_phases when calling
do_install().  Setting install_phases() ONLY has an effect on
StagedPackage, not on any existing packages.  By default,
install_phases is set to make StagedPackage run the same stages that
are normally run for any package: configure, build, install (and NOT
spconfig).

The ability for Spack to run stages selectively for StagedPackage
instances will enable new functionality.  For example, explicit
CMake/Autotools helpers that allow Spack to help configure a user's
project without fetching, building or installing it.

-------------

One implementation of StagedPackage is provided, CMakePackage.  This
has the following advantage for CMake-based projects over using the
standard Package class:

  a) By separating out the phases, it enables future new functionality
     for packages that use it.

  b) It provides an implementation of intall_spconfig(), which will
     help users configure their CMake-based projects.

CMakePackage expects users to implement configure_args() and
configure_env().  These methods provide the package-specific arguments
and environment needed to properly configure the package.  They are
placed in separated functions because they are used in both the
spconfig and configure stages.

TODO:

1. Generate spconfig.py scripts that are more readable.  This allows
   the users to understand how their project is configured.

2. Provide a practical way for the user to ACCESS the spconfig stage
   without building the project through Spack.

3. The CMAKE_TRANSITIVE_INCLUDE_PATH stuff needs to be reworked; it
   should be considered provisional for now.

4. User of Autotools might wish to make a similar ConfigurePackage
   subclass of StagedPackage.

---------------

One package using CMakePackage is introduced.  See ibmisc/package.py.
2016-03-11 23:30:38 -05:00
Elizabeth F
7cd478418d New version of LAPACK 2016-03-11 23:28:36 -05:00
Elizabeth F
90f2e40ff9 Added comment to Emacs. 2016-03-11 23:28:16 -05:00
Adam J. Stewart
145390c7f3 Add gl2ps and qrupdate packages 2016-03-11 16:57:37 -06:00
Todd Gamblin
081bdd0828 Merge pull request #528 from citibeth/efischer/160309-Emacs
Added Emacs package
2016-03-11 13:31:58 -08:00
Adam J. Stewart
6ec65cd4ca Add GNU Octave package 2016-03-11 15:03:37 -06:00
Todd Gamblin
4574f768ef Merge pull request #526 from KineticTheory/develop
Provide instructions for cmake/3.5.0 (plus 2 new variants) and qt/5.4.2
2016-03-11 09:20:47 -08:00
Kelly (KT) Thompson
f5e8857c5e + Rename variant 'sphinxbuild' to 'doc' as recommended in the discussion of
PR#526. Also, remove a debug print statement that was accidentally committed.
2016-03-11 09:51:12 -07:00
Kelly (KT) Thompson
280384fce3 Merge remote-tracking branch 'upstream/develop' into develop 2016-03-10 09:09:16 -07:00
Todd Gamblin
b637f75164 Merge branch 'mplegendre-features/external-packages' into develop 2016-03-10 02:04:44 -08:00
alalazo
4f14db8af2 netlib-lapack : optional dependency on external blas 2016-03-10 10:34:51 +01:00
Todd Gamblin
1fe196f95c whitespace and formatting 2016-03-10 01:29:55 -08:00
Todd Gamblin
ad6625456e Merge pull request #513 from alfredo-gimenez/develop
Variants and fixes to thrift package
2016-03-10 00:59:15 -08:00
Elizabeth F
b701aa10d4 Fixed up 2016-03-09 21:21:25 -05:00
Elizabeth F
267e83d8a7 Added emacs package. 2016-03-09 21:16:50 -05:00
Todd Gamblin
bf1639e044 Merge pull request #522 from epfl-scitas/bugfix/mpfr
change of url for mpfr
2016-03-09 17:17:23 -08:00
Kelly (KT) Thompson
23cbc2b1d9 + Provide download/build instructions for qt/5.4.2.
- This version provides updates to provided cmake scripts that are required
    for building cmake-gui.
+ Provide download/build instructions for version 3.5.0.
  - When building the +qt variant, add a validate function to ensure that
    qt-5.4.0 is not used (this version of qt has errors related to cmake).
2016-03-09 17:59:39 -07:00
Nicolas Richart
6e82ab1f15 change of url for mpfr 2016-03-09 21:18:44 +01:00
Todd Gamblin
b93a2ba1cf Merge pull request #520 from LLNL/bugfix/remove-hdf5-unsupported-variant
Removing `unsupported` variant from HDF5.
2016-03-09 11:39:06 -08:00
Kelly (KT) Thompson
113e942c3c Merge remote-tracking branch 'upstream/develop' into develop. 2016-03-09 12:38:48 -07:00
Todd Gamblin
45ef496dd5 Add some descriptive language to a list comprehension. 2016-03-09 11:26:37 -08:00
Alfredo Adolfo Gimenez
383e73a5f5 Remove unneccessary depends_on 2016-03-09 11:25:51 -08:00
Todd Gamblin
d06ebf23d4 Removing unsupported variant from HDF5.
- `unsupported` shouldn't be a variant.
2016-03-09 11:16:35 -08:00
Matthew LeGendre
87db69478d Merge branch 'develop' into features/external-packages
Conflicts:
	lib/spack/spack/package.py
2016-03-09 11:09:37 -08:00
Todd Gamblin
b43c277dc6 Merge @citibeth and @alalazo's petsc fixes from #515 and #517 2016-03-09 10:55:50 -08:00
Todd Gamblin
ad7d89b165 Merge branch 'efischer/160309-HypreFix' of git://github.com/citibeth/spack into citibeth-efischer/160309-HypreFix 2016-03-09 10:54:08 -08:00
Todd Gamblin
8ac1752743 Merge pull request #501 from adamjstewart/patches/m4
Add patch to allow PGI to build M4
2016-03-09 10:29:48 -08:00
Adam J. Stewart
8e76cda200 Patch config.hin, not extern-inline.m4 2016-03-09 10:41:31 -06:00
alalazo
f01d1c4385 petsc : added variants and logic to build various flavors 2016-03-09 14:36:37 +01:00
Elizabeth F
c67b922185 Added shared library capability. 2016-03-09 00:34:08 -05:00