closes#5506
The application of patches to upstream executables has been reworked
according to the suggestions of the main developer in #5506. In
particular we are not maintaining a dictionary that maps plumed
versions to the versions of patchable executables, and we are using a
non-interactive command to patch applications.
All the comments on substituting plumed at run-time do not apply here,
since we use RPATH and we want to maintain a 1:1 relationship between
the DAG hash and the plumed library used.
* Add package for aspell and ass't dictionaries
Add a package definition for aspell.
Add a handful of dictionaries to convince myself that the support for
a bunch of dictionaries works.
* Flake8 cleanup
* Use six's version of urlparse
`urlparse` is not python3 friendly. This works around it (stolen from
`.../cmd/md5.py`).
* Fix incorrect trimming regexp
* Clean up dictionary build
- more parsimonious use of `which` (`make()` has already been made)
- use `sh` instead of `bash`
* Use a helper method to generate info for variants
I figured out my issues with static methods. I *think* that it this
is pythonic.
* Convert aspell to an extendable package
Convert aspell to be extendable and rework the dictionaries to be
extensions.
As it stands, there's a great deal of cut and paste in the
dictionaries, I'll abstract that out next.
The {de,}activate methods copy a great deal of code out of
package.py. Perhaps there's a better way....
* Create AspellDictPackage and use it for the dictionaries
Reduce the repeated code, pull it into a base class.
I'm confused about why 'from spack import *' wasn't more useful in the
base class.
* Oops, -de & -es should be AspellDictPackages too
* Typo: pakcage -> package
* Address some commentary
* Update copyright dates, 2016->2017
This is a simple package that drops their shell wrapper into
prefix.bin and their jar files into prefix.lib.
The approach comes from the picard package.
* Updating ag to the latest version
* Pretty by request
* Restore url to previous value
There *is* an https version available, but I've also been told
to not just update the url when adding new version. I'm following
the latter advice and trusting security to the digest.
* Adding maven v3.5.0
Updating package file to include later version of maven but still signifying a preference for the older
* removing specific preference flag
* ncl: Fix temp directory
Currently, ncl is configured using a transient temp directory. This
leads to warnings such as this when executing ncl later on:
warning:"/tmp/ncl_ncar_xxxxxx" tmp dir does not exist or is not writable:
NCL functionality may be limited -- check TMPDIR environment variable
As this also breaks some functionality, use the system temp directory
instead (typically /tmp).
* ncl: Depend on esmf
esmf is required for some ncl scripts (such as ESMF_regridding.ncl).
* Add link dependency on xproto to xau
The libxcb build was failing like so:
```
1 error found in build log:
[ ... ]
131 checking whether to build developer documentation... yes
132 checking for doxygen... /usr/bin/doxygen
133 checking for dot... /usr/bin/dot
134 checking for CHECK... no
135 checking for XCBPROTO... yes
136 checking for NEEDED... no
>> 137 configure: error: Package requirements (pthread-stubs xau >= 0.99.2) were not met:
138
139 Package 'xproto', required by 'xau', not found
140
141 Consider adjusting the PKG_CONFIG_PATH environment variable if you
142 installed software in a non-standard prefix.
143
```
This adds a link dependency on libxproto that allows the libxcb build to
succeed.
* Change more build deps to build, link
These were also necessary for emacs+X to build.
* Fix flake8 complaint
* edits to address issues where spack concretization attempts to set properties on already-installed specs
* most added checks only need to check if the spec is concrete; they dont also need to check if the package is installed
* add test to ensure that patches are not applied to an installed spec
* add test to ensure that an error is detected when a dependent requests a dependency constraint which conflicts with a requested installed dependency