* Update emacs: current release, use our x11 bits
Add checksum for 25.1 release.
Rework the X support:
- use Spack's X11 bits
- add ability to specify an X toolkit (gtk or athena, default is gtk).
- change toolkit names to align with Emacs' configure usage.
* PEP8 cleanups.
* glib dependency should not be type=build
I'd like to blame that on a typo, but it's a few too many characters
for that to be viable. I'm not sure what I was thinking.
* Pass X variant down: emacs->pango->cairo
* X variants default to False, warn on bad toolkit
Change the X variants for emacs, pango and cairo to default to False.
Check that the toolkit is a valid choice and give a reasonable error if
not.
* Fix flake8 issue, reword warning text
* gtkplus needs to use +X variant for pango to work
In order for a useful variant of pango to be built into the spec I
needed to make the dependency on gtkplus explicitly specify it's X
variant. The X variant is the default, but that wasn't enough to make
it happy. Since it's happiness is the most imporant thing in the
world, this change! :)
Fixes#2306
Any dependency explicitly mentioned in a spec string ended up with the
build and link deptypes unconditionally. This fixes dependency
resolution to ensure that packages which are mentioned in the spec
string have their deptypes determined by the dependency information
in the package.py files. For example if a package has cmake as a build
dependency, and cmake is mentioned as a dependency in the spec string
for the package, then it ends up with just the build deptype.
Packages built targeting a backend may depend on packages like cmake
which can be built against the frontend. With this commit, any build
dependency or child of a build dependency will target the frontend by
default. In compiler concretization when packages copy compilers from
nearby packages, build dependencies use compiler information from
other build dependencies, and link dependencies avoid using compiler
information from build dependencies.
yaml-cpp has a boost dependency, and according to [yaml-cpp
page](https://github.com/jbeder/yaml-cpp):
yaml-cpp 0.5.3 has been released! This is a bug fix release. It also
will be the last release that uses Boost; futures releases will require
C++11 instead.
See #2059 for background.
I'm unable to install `lmod` because lua-luafilesystem fails.
The luarocks install bits attempt to do a shallow clone of the luafilesystem
sources and the default git on my CentOS 7 test box (`git version 1.8.3.1`)
fails.
This adds a build dependency that ensures that a relatively modern git is
available.
* Update texlive digest value
While the discussion in #2494 progresses, this changes fixes the digest
values so that builds succeeed.
* Add warning that texlive is not repeatably installable
* Update OpenMPI to the AutotoolsPackage
* Add Java support to OpenMPI
* Fix missing commas
* Be more specific about what versions support what flags
* Revert description for thread_multiple variant
* py-rtree: Added package
* py-rtree = RTree (spatial indexing) data structure for Python
* libspatialindex = Underlying C library wrapped by py-rtree
* Flake8 and Copyright issues.
* Fix Python syntax error.
* Fixed dependency type error.
* Added new version, based on updates requested in upstream PR
* 1. Change cmake to build dependency.
2. Updated to CMakePackage
* Use JSON for the database instead of YAML.
- JSON is much faster than YAML *and* can preserve ordered keys.
- 170x+ faster than Python YAML when using unordered dicts
- 55x faster than Python YAML (both using OrderedDicts)
- 8x faster than C YAML (with OrderedDicts)
- JSON is built into Python, unlike C YAML, so doesn't add a dependency.
- Don't need human readability for the package database.
- JSON requires no major changes to the code -- same object model as YAML.
- add to_json, from_json methods to spec.
* Add tests to ensure JSON and YAML don't need to be ordered in DB.
* Write index.json first time it's not found instead of requiring reindex.
* flake8 bug.
* Update go to 1.7.4 and 1.6.4 to fix security issues
The go team recently rolled out two releases to address security
issues. Details available on the [go release
site](https://golang.org/doc/devel/release.html).
This commit updates our explicitly supported versions.
It also includes a comment about two CentOS requirements (enable
user_namespace and ensure that the static c library is installed) that
are required for the pacakges to pass their tests.
* Flake8 cleanup
* Added some notes about how multiarch detection could be fixed.
* Implemented a preliminary version of the "spack.spec.ArchSpec" class.
* Updated the "spack.spec.Spec" class to use "ArchSpec" instead of "Arch".
* Fixed a number of small bugs in the "spack.spec.ArchSpec" class.
* Fixed the 'Concretizer.concretize_architecture' method so that it uses the new architecture specs.
* Updated the package class to properly use arch specs.
Removed a number of unused architecture functions.
* Fixed up a number of bugs that were causing the regression tests to fail.
Added a couple of additional regression tests related to architecture parsing/specification.
Fixed a few bugs with setting reserved os/target values on "ArchSpec" objects.
Removed a number of unnecessary functions in the "spack.architecture" and "spack.concretize" modules.
* Fixed a few bugs with reading architecture information from specs.
Updated the tests to use a uniform architecture to improve reliability.
Fixed a few minor style issues.
* Adapted the compiler component of Spack to use arch specs.
* Implemented more test cases for the extended architecture spec features.
Improved error detection for multiple arch components in a spec.
* Fix for backwards compatibility with v0.8 and prior
* Changed os to unknown for compatibility specs
* Use `spack09` instead of `spackcompat` for the platform of old specs.
* Make X11 font install dir the font search default
We install the X11 fonts into `/share/fonts` beneath the font-util
installation prefix, but that directory is not one of the places that
the font subsystem searches.
This commit makes the fontconfig package depend on the font-util
package, and then it makes
```python
spec['font-util'].prefix + "/share/fonts"
```
be the fontconfig default font location.
Before this change, plots drawn by R have bounding boxes where font
glyphs should be. After this change fonts appear as expected.
* Enrich description string (trigger new CI run)
Improve the docstring for the package.
Also interested in the side effect of triggering another CI run
to see if the recent flake8 fix lets this PR run clean.
* Flake8 cleanups