* 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
* Update R&friends to use our X11 libs
Add `depends_on()`'s for R, Cairo, and Tk so that they use the Spack X
bits.
* Conditionalize X stuff on variant
Another step towards hooking up the X stuff.
There's still discussion happening on the issue, but this is better
than the 'everything must build with X' state that it was in.
- Added 'dap' and 'cdmremote' variants
This is based on work in #2324 with the following motivation:
Turn off DAP support by deafult. DAP requires curl, which has issues
with circular dependencies. For 95% of NetCDF users that do not need
DAP, turning it off avoides this rats nest of problems.
- Added 'parallel-netcdf' variant
To support work with parallel-netcdf
- Added 'shared' and 'static' build separation
* Update go-bootstrap package
The last C based Go src tree was the 1.4 series. For a while they
were cutting new releases so that people could bootstrap from a C only
system. Now they're recommending that you either use the release-1.4
branch or that you use a date-stamped tarball that they'll produce on
an as-needed basis.
There are several issues that keep 1.4.2 from building on a CentOS 7
system.
I've switched to the date based tarball.
The cgo bits were also mis-behaving, but they're not needed for the
bootstrapping task so I've set an environment variable that disables
them.
Details [on the install-from-source
page](https://golang.org/doc/install/source#go14) and these issues:
- https://github.com/golang/go/issues/17545
- https://github.com/golang/go/issues/16352.
* Update go package
Switched from pulling from the git repository to using the source
tarballs and added digest values.
Added support for 1.7.3, continued supporting 1.6.2, including patches
for a couple of problems (details in
[17545](https://github.com/golang/go/issues/17545) and
[17986](https://github.com/golang/go/issues/17986).
Dropped support for 1.5.4 and 1.4.2 because they no longer pass their
tests and the patches above to not apply.
* Updating SuperLU package file with ability to build version 4.3 (before they added cmake) with external blas or internal blas, and added capability to build the latest version 5.2.1 (with cmake) with internal blas.
* Updating SuperLU package file with suggested changes, i.e. reorganizing installation methods based on version, adding cmake dependency when necessary, removing any use of internal blas, and also adding fpic variant.
* Fixing flake8 failures.
* Update flex package url's and versions
The old sourceforge page for flex is now defunct. While version 2.6.0
still downloads fine, later versions are no longer hosted there.
Development continues on github. I've adjusted urls to point to this
new location.
In addition, from 2.6.0 onwards, a new naming scheme for releases seems
to have been adopted. I've created a url_for_version function to sort
this out.
* Change flex to an AutotoolsPackage
Also move the url_for_version function to the end of the package
definition.
* Implement the autoreconf function for flex
Adds the IceT compositing library from Sandia/Kitware.
Most default functionality needed for image compositing is
added, OpenGL acceleration for very large displays is disabled.
Downstream usage:
most VTK based software which supports parallel image compositing,
such as VisIt, Paraview and in our use-case
[ISAAC](https://github.com/ComputationalRadiationPhysics/isaac).
* Force the recipe for Lua to use the spack compiler.
I'm not sure how the old recipe worked for anyone. The Lua Makefiles set
`CC=gcc` and for my spack environment the first `gcc` found in my `PATH` is
`$SPACK_ROOT/lib/spack/env/gcc`, which is a directory. This caused the build
to fail. My change drops the `-std=gnu99`, but this option doesn't appear
to be required for a sucessful build.
* Preserve the '-std=gnu99' compile option.
* fix tau installation issue : setup_environment() is
called before install phase when 'Makefile.*' doesn't
exist (causing list index out of range error).
* Added detailed comment suggested by @alalazo
* November 1 seems to have brought a new texlive release, updating the
digest to match.
Also switching the url from their automagic mirror to an explicit
site to avoid inconsistencies during their updates.
It seems like only yesterday (#2073) that I updated this....
* Add comment to url warning about mirror updates
Add a comment to the download info warning to use a
specific site rather than the mirror, to avoid wobbles
during their asynchronous updates.
* Fix typo ('to no' -> 'do not')
On MacOS, brew installs /usr/local/bin/python but the Python prefix is not /usr/local/bin
Use the python command sys.exec to get the correct directory, instead of the ad hoc self.prefix
previously used
This was a bear to debug; been driving me nuts since I started using spack.
Since spack passes PYTHONHOME down to package builds in the environment
it was passing PYTHONHOME of /usr/local/bin to the PETSc build that uses Python so
the PETSc Python ./configure errored immediately with
ImportError: No module named site
since python could find no python modules. Todd Gamblin pointed out that my first try to fix
this was wrong since it assumed the spack python was the same python used to run spack. Elizabeth Fischer
suggested how to get it to work also with python3
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 7 hours
Thanks-to: Todd Gamblin, Elizabeth Fischer
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Add libxml2+python depends on to get around issues with the libxml2 package file.
Add a package that installed the pre-built maven distribution.
I've given up, for now, on building maven from source. That processed
stumbled on two points before I gave up:
1. It downloaded several hundred .{pop,jar} files and I despaired of
figuring out some way of mirroring and checksumming them; and
2. It exploded complaining about too many unacceptable license files,
which seems odd in its own source tree.
Perhaps someone with more Java fu that I admit to can figure it out.
In the meantime, this is useful.
* libsodium: add latest versions, fix old versions
older versions of libsodium were added to an "old" subdirectory
* zeromq: add 4.1.4
prerequiste for the latest develop version of flux
Pkg-config depends on glib which depends on pkg-config. As a result,
pkg-config used to build glib internally. However, this fails on Mac.
Building pkg-config with an internal glib is now a variant, turned on
by default, and required to build glib.
* Tells boost explictly about libraries and headers
Ideally, bjam would determine the libraries and headers from the
executable. But it doesn't. This rigs a best guess for python libraries
and headers.
* Move glob import to top of file
* variable name change: alllibs --> all_libs
* Use dso suffix rather than hard-coded string
* Use only MAJOR.MINOR when setting up python in bjam
* mumps: Add support for Intel compiler and insure both lapack and blas libraries are passed to the examples
Likely it was not discoverged before that the examples require both lapack and blas libraries because it
was tested with Openblas which is one large library containing everything.
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .3 hours
* flake8 fix.
* Created the initial version of the 'OpenSceneGraph' package.
* Added 'zlib' as a dependency and linked it during the build step.
* Fixed a few minor PEP8 style violations in the 'OpenSceneGraph' package.
* Added cmake as a build dependency and improved the build procedure.
* Made a few important argument updates to improve package compatibility.
* Fixed up a few remaining style issues in the 'openscenegraph' package.
* Added a description for the 'openscenegraph' package.
* Fixed a bug that was causing some 'openscenegraph@3.2.3%gcc' installs to fail.
* Fixed a number of small issues with the 'openscenegraph' package.
* Removed a number of superfluous flags from the 'openscenegraph' install.
* Add new version property to handle joined version numbers
* Add unit test for new joined property
* Add documentation on version.up_to() and version.joined
Things that accessed the cdd package, such as `spack info cdd run
tripped over a buglet in the *cdd* package, causing them to exit with
something like this:
```
Caused by:
TypeError: 'str' object is not callable
File "/rss/spack/lib/spack/spack/repository.py", line 584, in get
self._instances[key] = package_class(copy)
File "/rss/spack/lib/spack/spack/package.py", line 398, in __init__
f = fs.for_package_version(self, self.version)
File "/rss/spack/lib/spack/spack/fetch_strategy.py", line 852, in for_package_version
attrs['url'] = pkg.url_for_version(version)
File "/rss/spack/var/spack/repos/builtin/packages/cdd/package.py", line 40, in url_for_version
str(version.dotted()).replace('.', ''))
```
@tgamblin pointed out that `dotted` is a property, not a functin call
and that the parentheses are therefor inappropriate.
This deletes the parentheses. `spack info cdd` now works for me.
Add package for htop, an interactive text-mode process viewer for
Unix systems. Think top, with pretty colors and dyanmic bar graphs.
More info [here](https://github.com/hishamhm/htop).
* Update the krell institute products to use the latest features of spack for building on cluster platforms.
* Address travis error messages and resubmit the pull request.
* Update the contents of openspeedshop package.py so it passes the flake8 tests.
* Fix flake8 error-whitespack issue in mrnet package.py file.
* Add updates based on spack reviewer feedback.
* More fixes based on comments from reviewers. Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.
* More review related changes. Update MPIOption.append lines and take out xercesc references.
* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
* Made optional CGAL dependencies optional.
* cgal: Added note explaining that the CORE library is not the same as core CGAL functionality.
* Bug fix and flake8
* flake8
* build_environment: allow compilers to set up an environment
* clang: mock up a toolchain directory for xcode
Some projects ignore CC and CXX flags and instead use xcode to find the
toolchain. Clang on Apple should set up the environment properly.
Arguably, every compiler could do this on Apple, but let's see how this
works out just for AppleClang for now.
The Documentation directory is ~1.7G and the excluded platforms add up
to about 7G. Ignoring swift saves another 500M. The resulting Xcode.app
copy is in the 2G range.
* compiler: set member variables early
This is required so that later methods can query things such as the
version of the compiler.
* compiler: support finding the real path of the compiler
On Apple, the /usr/bin compilers are actually wrapping tools themselves
which query xcrun for the currently selected Xcode installation. Pierce
this veil and get the real, full path the to underlying compilers
instead.
* icu4c: install with rpath
On macOS, icu installs with a library ID of the library name. Enabling
rpath makes its ID its full installed path which lets Qt5 link against
it successfully.
* qt: no -no-gtkstyle flag on Qt5 on macOS
* First version of Abinit package
* Ignore *.swp files
* Add libxc, etsf_io packages
* AtomPaw package
* Make Abinit depend on mpi@2: and external version of libxc, netcdf, hdf5, etsf_io
* etsf_io: install Fortran modules in prefix.include
* Remove etsf_io from abinit requirements
* Add libxc2.2.1 (required by Abinit and atompaw)
* Cleanup
* Run make check
* Cleanup
* Use ld_flags instead of hard-coded libs, fix pep8, add copyright
* Put scalapack before lapackblas
* Added support for the 'maxdims' and 'maxvars' flags for 'NetCDF'.
* Added the '+mpi' variant and improved dependencies for 'exodusii'.
Improved the 'exodusii' package so that it's less reliant on patches.
* Added better type checking to variant values in the 'netcdf' package.
* Corrected the required CMake version for the 'exodusii' package.
* Fixed the dependencies of the '+mpi' variant of the 'exodusii' package.