Update the package recipe w.r.t. AutotoolsPackage changes,
now builds "out of source".
Update the package with version info for 1.3.0.
> Mosh 1.3.0 released, with John Hood as release lead. The release includes broader platform compatibility, robustness improvements, better testing, and fixes for excess CPU consumption in some cases. We have switched to semver.org-style versioning and will increment the minor version number whenever we add new functionality. (In our previous practice, this release would probably have been called “1.2.7.”)
Tested on CentOS 7.
* adding 0.5.1 and variant for uint8 bit stream word type
* Revisions as per davydden
* fixing style (flake8) issues
* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant
* added build method; changed zfp_incdir to incdir
* Add the rockstar package
* Add rockstar to yt.
* Correct signature of prep_yt.
* Correct rockstar package installation process
Needed to change the way the necessary prefixes are found as well as
how the completed package is copied.
There should probably be a way to do the copying in a more 'spack' way.
* Add license
* Add description.
* Set no hdf5 variant as default.
* Use copy_tree for copying files
* Use MakefilePackage
* Address concerns from @adamjstewart
* Fix flake8 errors.
Adds a package for mallocMC, a memory allocator for many core
architectures.
This project provides a framework for fast memory managers on
many core accelerators. Currently, it supports NVIDIA GPUs of
compute capability sm_20 or higher through the ScatterAlloc
algorithm. mallocMC is header-only.
Downstream Dependencies
PIConGPU and other projects of HZDR's
*Computational Radiation Physics* group
References
- Markus Steinberger, Michael Kenzel, Bernhard Kainz and Dieter Schmalstieg.
*ScatterAlloc: Massively parallel dynamic memory allocation for the GPU*,
Innovative Parallel Computing (InPar), 2012,
https://doi.org/10.1109/InPar.2012.6339604
- Carlchristian Eckert.
*Enhancements of the massively parallel memory allocator ScatterAlloc and its adaption to the general interface mallocMC*,
Junior Thesis (grosser Beleg), 2014,
http://dx.doi.org/10.5281/zenodo.34461
This adds a maintained version of the (since 2012)
stalled original project.
https://github.com/ComputationalRadiationPhysics/cuda_memtest
Nvidia's NVML (via the GPU deployment kit) could also be
added, providing serial number output of failing GPUs
for multi-GPU nodes.
* Fixes patch paths for earlier boost versions
The directory structure of boost changed at version 1.56.0, so the patch
being used for python support did not work on earlier versions. This
adds another patch that matches earlier versions.
* Removes commented out code
* Fixes needed to build htop
* Build libncursesw.so, not libncurses.so
* Remove htop hack now that it is picking up newer ncurses
* Tell packages to link to new ncursesw libraries
- clean up fetch urls
- inherit from AutotoolsPackage instead of Package
- explicit fPIC flags look suspicious, but leave them in there.
- in scalasca, use the cube version that is implicit from
the scorep dependency instead of specifying it twice.
* The beginnings of a package for shiny-server
Just stashing a WIP.
This doesn't work.
This goes for a while and/but blows up with some OpenSSL related issue.
* Make it work!
Yay!
* shiny-server needs R with X support
My environment gets this for "free" from my packages.yaml, but it
should be explicity.
* Address feedback
- python version
- gcc dependency
- Flake8 comment rules
* Richer caveats and warnings.
* Convert to CMakePackage and fix python version typo
* Fix typo: noqab -> noqa
* Ensure proper build location, clean up comments
* Update tinyxml
* url seems to have changed
* spack replaces "_2_6_2" with "_2.6.2" unless the url is explicitly
given
* copyfile is no longuer available by default
* URL version-parsing should work as of #2972
* Remove fake URLs from Spack
* Ignore long lines for URLs that start with ftp:
* Preliminary changes to version regexes
* New redesign of version regexes
* Allow letters in version-only
* Fix detection of versions that end in Final
* Rearrange a few regexes and add examples
* Add tests for common download repositories
* Add test cases for common tarball naming schemes
* Finalize version regexes
* spack url test -> spack url summary
* Clean up comments
* Rearrange suffix checks
* Use query strings for name detection
* Remove no longer necessary url_for_version functions
* Strip off extraneous information after package name
* Add one more test
* Dot in square brackets does not need to be escaped
* Move renaming outside of parse_name_offset
* Fix versions for a couple more packages
* Fix flake8 and doc tests
* Correctly parse Python, Lua, and Bio++ package names
* Use effective URLs for mfem
* Add checksummed version to mitos
* Remove url_for_version from STAR-CCM+ package
* Revert changes to version numbers with underscores and dashes
* Fix name detection for tbb
* Correctly parse Ruby gems
* Reverted mfem back to shortened URLs.
* Updated instructions for better security
* Remove preferred=True from newest version
* Add tests for new `spack url list` flags
* Add tests for strip_name_suffixes
* Add unit tests for version separators
* Fix bugs related to parseable name but in parseable version
* Remove dead code, update docstring
* Ignore 'binary' at end of version string
* Remove platform from version
* Flip libedit version numbers
* Re-support weird NCO alpha/beta versions
* Rebase and remove one new fake URL
* Add / to beginning of regex to avoid picking up similarly named packages
* Ignore weird tar versions
* Fix bug in url parse --spider when no versions found
* Less strict version matching for spack versions
* Don't rename Python packages
* Be a little more selective, version must begin with a digit
* Re-add fake URLs
* Fix up several other packages
* Ignore more file endings
* Add parsing support for Miniconda
* Update tab completion
* XFAILS are now PASSES for 2 web tests
- _spider in web.py was actually failing to spider deeper than a certain
point.
- Fixed multiprocessing pools to not use daemons and to allow recursive
spawning.
- Added detailed tests for spidering and for finding archive versions.
- left some xfail URL finding exercises for the reader.
- Fix noqa annotations for some @when decorators
* add packages for EasyBuild and dependencies
* fix remarks w.r.t. docstrings & download urls, make dependency specs stricter w.r.t. required versions
* fix easybuild-* dep specs, should be open-ended
* correct dep specs for easybuild and easybuild-easyconfigs using @3.1.2[:]
* Run python setup.py test if --run-tests
* Attempt to import the Python module after installation
* Add testing support to numpy and scipy
* Remove duplicated comments
* Update to new run-tests callback methodology
* Remove unrelated changes for another PR
* perl: make extendable and add Module::Build package
* perl: allow 'spack create' to identify perl packages from their contents
* perl-module-build: fix indenting of package docstring
* perl: split install() method for extensions into phases
* perl: auto-detect build method (Makefile.PL vs Build.PL) and define a 'check' method
* PerlPackage: use import statements similar to those in AutotoolsPackage
* PerlModule: fix detection of Build.PL
* PerlPackageTemplate: remove extraneous lines to avoid flake8 warnings
* PerlPackageTemplate: split into separate templates for Makefile.PL and Build.PL
* PerlPackage: add cross-references to docstrings
* AutotoolsPackage: fix ambiguous cross-references to avoid errors in doc tests
* PerlbuildPackageTemplate: depend on perl-module-build if Build.PL exists
* ENH: add package for building OpenFOAM (1612) from www.openfoam.com
- provide 'openfoam' as virtual package.
- package as openfoam-com to reflect the distribution point.
This initial spack packaging for OpenFOAM supports a number of possible
variants and should handle 64-bit labels properly now that the scotch
package has been updated accordingly.
* ENH: update package for foam-extend (extend-project.de)
- provide 'openfoam' as virtual package.
- much of the build is now aligned with how the openfoam-com package
looks, with the aim of future refactoring.
- avoid installing intermediate targets.
- contains its own environment sourcing script for the build, for more
flexibility and robustness (doesn't touch the python build environ)
* ENH: added package for building from openfoam.org
- provide 'openfoam' as a virtual package.
- this is largely a direct copy of the openfoam-com package.
It has been supplied as a courtesy for users and to ensure maximum
consistency in quality and naming between the foam-extend,
openfoam-com and openfoam-org packages.
* CONFIG: add openfoam into bash completion providers list
* ENH: have openfoam-com use spack as USERMPI
- also simplify the generation of mplib/compiler rules
* ENH: have openfoam-org use spack as SYSTEMMPI
- this setup requires more environment settings than USERMPI
(openfoam-com), but is currently the only means of integration
for openfoam-org
- simplify generation of mplib/compiler rules
* ENH: simplify generation of mplib/compiler rules (foam-extend)
- rename mpi rules from SPACK,SPACKMPI to USER,USERMPI for consistency
with openfoam-com and to generalize for any build system.
* STYLE: record spack tree as a log file (openfoam)
- can be useful for future diagnostics and general record keeping
* libint: updated version, ported to AutotoolsPackage
* elpa: updated version, ported to AutotoolsPackage
* wannier90: updated version, ported to MakefilePackage
* pexsi: updated version, ported to MakefilePackage
* cp2k: updated version, removed wannier 90 from dependencies if cp2k@4.1
* plumed: updated version
Modifications:
* modules has been turned into a single variant, as different versions
have different modules available
* added dictionaries for patches
* netlib-scalapack: ported to CMakePackage
* Add Blast+ package.
Adds support for NCBI's blast+@2.6.0. I'll be adding a few historical versions in the near future.
It's a fairly direct transliteration of the [Homebrew Science recipe][hbs].
I skipped the mysql support.
There is a problem with HDF5 support. Blast's configure script test program defines a macro 'HOST' to a string value and one of the HDF5 bits has an variable named 'HOST'. Fun things happen. I've disabled support for now.
I've run very very basic tests. I'll get this out to my users and ensure that it works and fine tune the options and etc....
[hbs]: https://github.com/Homebrew/homebrew-science/blob/master/blast.rb
* Flake8 fixes
* Update w.t.r. mamelara's PR and cleanup
Add paths to things in the --with-* config args
Add add'l config flags from #3394.
Update patch to no-op and add comment.
Add add'l dependencies after studying `configure --help`.
* Flake8 cleanup
* Add support for blast+@2.2.30
Need to work around a configure bug. See https://github.com/Homebrew/homebrew-science/issues/2337#issuecomment-170011511.
* Re-wrap comment, line length not a problem.
I'd broken a comment across to line in a fit of flake8
induced fear. Adam pointed out that it's ok.
* Remove explicit prefix config
Remove explicit prefix config, the autotools package does it for us.
* Added packages for Structural Simulation Toolkit and Dumpi trace
* sst-dumpi deps
Remove extraneous dependency from sst-dumpi
* Removed redundant function and fake-url from sst-dumpi package
* Fixed URL, Added git branches, requested changes
sst-dumpi version listed as 6.1, made an upstream change to 6.1.0
sst-macro and sst-dumpi can be installed as v6.1.0 and master branch
* Added bootstrap. Tweaked URLs and description
- drop old TCL support from paraview build.
- add +plugins variant to have include directories installed. This is
enabled by default since the additional diskspace for includes is
really minimal and since this also allows re-use of the VTK libraries
from ParaView without necessarily requiring a separate VTK
installation.
- +opengl2 is now the default. As per all newer VTK and paraview versions.
BUG: broken install for paraview-5.0.1 with includes and without python
- incorrect conditional for ui_pqExportStateWizard.h when python is
disabled and includes are to be installed.
gcc compiler detection patch.
These have both been fixed in paraview 5.3.0
ENH: refactor as a CMakePackage.
- Note that "spack install paraview" works as expected, but
"spack build paraview" fails in weird unrelated ways.
* Fix nettle dependency
GnuTLS requires a nettle from the 2.7 series, won't work
with 3.x (so sayeth configure when it crashes...).
* Fix configure symlinking GNUmakefile to itself
I'm confused about how this ever worked, but....
As configure runs, it does something like this:
```
config.status: linking /home/hartzelg/tmp/spack/var/spack/stage/gnutls-3.3.9-uq2u4ecucncv2l3akran765aystyvkys/gnutls-3.3.9/GNUmakefile to GNUmakefile
```
and since that is the cwd the build crashes with:
```
==> 'make' '-j28'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'. Stop.
```
Since the comment in the configure script points out that the
GNUmakefile is "only for the maintainer" I've just commented out the
bit that leads to the symlinking.
Builds for me on CentOS 7. (I do have a recent-ish set of auto-*
things in my patch via linuxbrew)
* Wordsmith
* Fix symbolic link problem properly
Autotools magic. See #3565 for the details.
* Flake8 cleanup
* Add some headroom on the version number constraint
We really want < 3.0 but there's not a good way to express it.
We'd like to avoid having to update the file if they release 2.7.2.
This seems like a good compromise.
* Add url_for_version and depends_on('libiconv')
Fetching is broken. See https://github.com/LLNL/spack/issues/3554.
libgd, when used in gnuplot at least, needs a dependency
on libiconv.
* Undo change from debugging pokery
* pnfft: new package
* Convert some packages with overridden install from AutotoolsPackage to Package
* pnfft: fix URL
* Switch FFTW-derived packages back to AutotoolsPackage
* Disable unneeded build phases in FFTW and derived packages
* Separate build phases for FFTW and derived packages
* Fix broken merge
* fftw: pfft_patches for 3.3.6
* fftw: address @adamjstewart’s review comments
* Clean up the gcc package
* Add preliminary testing support
* Older versions of GCC do not depend on MPC
* DejaGnu 1.4.4 cannot be built in parallel
* Fix GCC test dir
* Add two more deps required to run the testsuite
there were various updated packages, both for the 2.x, 2.0.x,
and 1.10.x release branches of Open MPI.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
(cherry picked from commit 3b671935783fc3af76dc642a54461c2f02ab8ebf)
* Replacing failing git clone by valid url
* Moving to previous version package (0.163)
* Removing automake and autoconf dependencies and adding url_list to pick up newer versions
* Corrected typo
* Reorder versions and removed libtool
* Add missing dependencies to gawk
* Fix make check
* Add mawk packages and awk virtual dependency
* Use mawk instead of gawk to build ncurses
* Rearrange order of patches and dependencies
* hpx5: Convert to AutotoolsPackage, several updates
- convert to AutotoolsPackage
- add several variants
- add several dependencies
- add new version 4.0.0
- don’t set compiler flags explicitly
* hpx5: Don’t import os
* hpx5: Clean up configure arguments
* hpx5: Correct libffi configure declaration
Also add new variant “+instrumentation”.
* hpx5: Correct CUDA, MPI, OpenCL configuration
* hpx5: Use built-in libffi
Spack’s libffi installs its headers in a strange place, and hpx5 can’t pick them up.
* libpciaccess: Convert to AutotoolsPackage, remove Darwin work-around
Other packages that depend on libpciaccess can do so via a conditional dependency (via a variant); we don’t need a dummy package for Darwin any more.
* Disable libpciaccess dependency on non-Darwin platforms
* hwloc: Remove direct dependency on libpciaccess
* Added support for building Theano with GPU support. Added a package
for the libgpuarry libary needed for Theano.
* Added dependency on py-pexpect package which ipython requires.
* hwloc: Add missing dependencies
- add several missing dependencies
- add variants for various features
- add new version 1.11.6
* hwloc: Add descriptions to variants
* New package pocl
* pocl: Update dependencies, add self-test
* pocl: Don't require LLVM shared libraries
LLVM build fails with shared libraries.
* Add patch
* Update
* Update
* Make build and install work; install test still fails
* Split pocl into pocl proper and pocl-test
* Add debug output
* pocl: Update to 0.14-rc
* pocl: Correct flake8 error
* pocl: Heed code review recommendations
* pocl: Add newline at end of file
* pocl: Correct flake8 error
I don’t want to use an even longer line by putting the whole variant declaration onto a single line, nor do I think that having an overlong line and adding `# noqa` at the end is more readable than splitting a string over three lines.
* pocl: Correct dependency type for libtool
Previously, this would fail with a NoSuchMethodError:
class Package(object):
# this is the default implementation
def some_method(self):
...
class Foo(Package):
@when('platform=cray')
def some_method(self):
...
@when('platform=linux')
def some_method(self):
...
This fixes the implementation of `@when` so that the superclass method
will be invoked when no subclass method matches.
Adds tests to ensure this works, as well.
* Add paths to PKG_CONFIG_PATH to find cray .pc file
Adds two paths: /usr/lib64/pkgconfig and /usr/local/lib64/pkgconfig.
cray pkg-config looks at two different paths which are not included
in PKG_CONFIG_PATH environment variable. This PR addresses #3167.
* Flake8 fixes
* flake8 fix again
* cosmomc: New package CosmoMC
* cosmomc: Improve version numbering scheme
* planck-likelihood: New package
* cosmomc: Pacify flake8
* cosmomc: Code cleanup as requested in the review
* cosmomc: Various updates suggested during review
* cosmomc: Limit compiler versions (as documented in the build instructions)
* cosmomc: Correct flake8 error
* cosmomc: Use `libs` instead of `lapack_libs`
* planck-likelihood: Make makefile output more verbose and readable
* planck-likelilhood: Correct order of libraries when calling linker
* cosmomc: Clean up check for suitable compiler
* planck-likelihood: Use modern mechanism to set environment variables
* Cleanup list of offered versions (only the latest update release of each minor version is kept: 1.4.4, 1.5.2, 1.6.6, 1.7.1); introduced master revision (via Git). Slightly more selective installation of the documentation; copy README.md and LICENSE files to documentation folder. Removed outdated build options (make_args); generally stay with LIBXSMM's defaults (general purpose build). Introduced one build variant ("debug").
* Incorporated comments of PR #3371 (https://github.com/LLNL/spack/pull/3371).
* Fixed flake8 complaints.
* Made the full list of versions available starting with version 1.4 (there are earlier releases, however those have been released before the Spack specification became available; original spec. also started with 1.4).
* Made DBG and TRACE actually two separate arguments.
The tests fail on some systems (e.g. Comet at SDSC) that impose limits on the number of processes or threads one can run simultaneously on the head node. Thus the tests should not be run by default.
* ADIOS: change the invocation of python script that generates test files
The python script ADIOS*/utils/gpp/gpp.py is invoked directly in the
ADIOS*/tests/genarray/Makefile and the name of the python interpreter
can be quite long if it is one built under spack, i.e. longer than the
80 characters allowed by the #! line in bash. The name of the shbang
line is truncated at 80 characters and bash cannot find the python
interpreter specified.
This fix changes how the script is executed, by invoking it under
python. This way, the shbang line is ignored.
* adios: fixed flake8 errors from previous commit.
* adio: Switch to AutotoolsPackage class from Package class
Switched in order to add support for the ppc64le platform.
* Adding highwayhash package from Google
* Added the highwayhash package for Tensorflow
* Fixed the numerous flake8 issues
* fixed requested changes
* added conditionals for some installs
* forgot an import
* create install directories before you install anything in them
* Add new package for PaGMO/PyGMO
* Rename py-pygmo to pagmo
* Fix concretization bug
* Correct Python detection, use correct flags
* Install PyGMO to the pagmo prefix, not the Python prefix
This commits address build issues reported in issue #3268.
In particular, makes cleaner the dependency on parallel-netcdf
when +ncmpi variant is requested and adds CFLAGS=-D H5_USE_16_API
to handle the fact that Ior uses old 1.6 style APIs when +hdf5 is
requested.
These changes make Ior build fine and create modules for HDF5 versions
1.8.x and 1.10.0.
Even though build is successfull the modules haven't been tested in a
run.
* Make libgcc_s relocatable
* spack specifies full path to lib64
* don't need trailing /
* setting rpath is different on macos
* add -headerpad_max_install_names linker options
* formatting fixes
* Add Adam's recommendation
* add various variants to vim
* default to --enable-fail-if-missing
* vim package: -{python,ruby,lua,perl} sets build option to `no`
* vim's interpreter build options are `--enable-XXXXinterp={yes,no,dynamic}`
* dynamic seems to work only on windows builds
* `=no` is the default => use it in spack if the variant is disabled
- Added a new interface for Specs to pass build information
- Calls forwarded from Spec to Package are now explicit
- Added descriptor within Spec to manage forwarding
- Added state in Spec to maintain query information
- Modified a few packages (the one involved in spack install pexsi) to showcase changes
- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
- wrapper is returned from `__getitem__` only if spec is concrete
- allows packagers to access build information easily
Declare that (i) Trilinos can be only built against 32bit Hypre
(ii) SLEPc can not be built with Arpack when 64bit indices are used
(iii) reflect those constraints in deal.II's depends_on
While there, add extra release flags for best performance.
* Updating SAMRAI package file with new urls and new versions. Also using Spack's MPI compilers.
* Using default optimization for Samrai and setting type to build for m4 dependency.
* Adding debug variant to Samrai.
* Converting Samrai to AutotoolsPackage.
* Add git-review
* Fix flake8 errors
* use PythonPackage for git-review
* added dependencies for git-review
* fix flake8
* moved url's to pypi.io based urls
* fixed flake8... again
* mostly url fixes, not tested, will do tomorrow
* flake8 fix
* changed URL for py-pysocks
* Fixed URL for pysocks
* fixed url
The new repository for the development version points to the most
up-to-date official source for Adol-C. The previous SVN repository was
only occasionally sync'd with this repository.
* Fix build issue #3190 on bg-q :
- disable parallel build as it produces weired linker errors
in cross compiling environment
- update ldflags for bg-q as per Makefile provided Makefile.inc.ppca2_ibm_bgq
* Added note about -lpthread vs -pthread
* Corrected extrae package homepage and url
* Corrected paraver package homepage and url
* To fix 'undefined reference to libintl_dgettext' appearing in extrae package when using binutils+libiberty
* Adding support to previous paraver version and reverting binutils changes to open another PR
* Add installer for petsc4py and slepc4py
* @adamjstewart requested changes on this pull request; make these type=('build', 'run')
* @citibeth suggestion Remove unneeded indirect dependencies
Zoltan expects mpi libraries with option --with-mpi-libs.
If this option is not provided then it uses '-lmpi' which
may not be correct. To avoid this, we have to explicitly
pass empty string.
This adds notes to the source explaining the change.
* Add log4cxx package
* add missing patch files to log4cxx
* remove unnecessary dependencies
* this fails at 'make check'
* this is the AutotoolsPackage version
* fixed install bug
* 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.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.
* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.
* Trim comments to fit more concisely.
* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
Update package file for netlib-lapack to work with IBM XL compiler
The flag -qzerosize is redundant, as the IBM XL compiler should set this flag
by default. However, at this time the default flag appears to be ignore.
Hence, I am setting it in the package file as well, as it has no negative
effect if set twice.
graphviz:
* Download from Fedora projet, as main graphviz site not working.
* Disable java because Spack does not yet support Java, and the system might not have it installed.
* Added all language binding variants; disabled enough in the default configuration to avoid dependencies.
* Removed alternate download location (turned into comments).
* Turn off all language bindings by default.
* Raise an exception on bindings that have not been verified to work.
* Added text indicating what works and doesn't work when user runs `spack info`.
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package.py for ADLB/X: A 2nd package dependency for Swift/T
* New package.py for Turbine
* New package.py for STC
Spack wants URL info even for external packages. Without it, I get
the following error:
NoURLError: Package SpectrumMpi has no version with a URL.
File "/home_local/serbanspack/spack/lib/spack/spack/repository.py", line 580, in get
self._instances[key] = package_class(copy)
File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 562, in __init__
f = fs.for_package_version(self, self.version)
File "/home_local/serbanspack/spack/lib/spack/spack/fetch_strategy.py", line 878, in for_package_version
url = pkg.url_for_version(version)
File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 682, in url_for_version
raise NoURLError(cls)
* Creating a spack package for LLNL's LBANN (Livermore Big
Artificial Neural Network) training toolkit.
* Recipe for building LBANN toolkit. Contains limited feature set and
is optimized for building with GNU gcc and OpenBLAS.
* Removed unnecessary dependencies based on reviewers feedback.
* Added support for the int64 data type in the Elemental library. This
is required for supporting indices for large matrices.
* Added a variant to force a sequential weight matrix initialization.
This is slow, but provides an initialization that is independent of
model parallelism.
* Added a guard to prevent building Elemental with the Intel compiler
for versions that have known bugs.
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package turbine
* Fix package.py as requested by @adamjstewart
* New package.py for ADLB/X: A 2nd package dependency for Swift/T
* Add latest version of GNU Parallel (#3106)
* Address formatting guidelines from @adamjstewart
* WIP on new Turbine package.py
* Formatting fixes
* Complete Turbine package.py
[The fix](https://github.com/golang/go/issues/17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary).
Figured I'd document my digging for the next person to come along.
* spectrum-mpi: Add new package file for external package
IBM Spectrum MPI is a commercial implementation of MPI based on
OpenMPI. It is usually install in /opt/ibm/spectrum_mpi.
Users need to add the Spectrum MPI package in their packages.yaml
file as follows:
packages:
spectrum-mpi:
version: ['10.1.0.2']
paths:
spectrum-mpi@10.1.0.2: /opt/ibm/spectrum_mpi/
buildable: False
all:
providers:
mpi: [spectrum-mpi@10.1.0.2]
* spectrum-mpi: Added license files and removed the versions
No need for versions as the package is external.
* spectrum-mpi: Remove extraneous defines
Keep only the defines that other MPI implementation define in their
package file:
self.spec.mpicc
self.spec.mpicxx
self.spec.mpif77
self.spec.mpifc
Update the go package to v1.7.5.
- This release no longer needs the time-test patch (it's been merged upstream).
- This release still seems to need the cgo-testcshared patch.
- Also add a comment about environment set up that I need to build it successfully on a very large server.
Tested on CentOS 7.
The repository used by the texlive installer defaults to a redirector
that sends one off to various URLs depending on <fill in the blank>.
This is problematic because all of the mirrors do not update in
synchrony and bad tarballs often hang around for a while.
This leads to problems that are particularly hard to diagnose because
you're likely to end up using a different repo the next time around.
This commit constraints the package to a particular, mainstream,
repository. It's not fast, but it's consistent and usually correct.
It also updates the installer digest, because no day is complete
without updating it at least (sigh) once.
* Different versions of cmake need diff vers of openssl. See Issue https://github.com/LLNL/spack/issues/2990 for background.
Versions of cmake through 3.6.9 seem to need OpenSSL up to 1.0.99. Later
versions can use the current release (thanks to @citibeth for
[digging up details](https://cmake.org/pipermail/cmake/2016-November/064631.html)).
@davydden suggested this change.
Without it I *am not* able to build `cmake@3.6.1` on CentOS 7 and I *am*
able to build `cmake@3.7.2`.
Tested with `cmake@3.7.2` and `cmake@3.6.1` on CentOS 7.
With this change I am able to build both `cmake@3.6.1` and `cmake@3.7.2`
on CentOS 7.
There was a new release of Ant (1.9.8) which led to the v1.9.7
tarball disappearing.
This changes the URL to Ant's archive dir, which seems to contain
*everything* including the two current releases (1.9.8 and 1.10.0)
It adds a digest for 1.9.8.
It adds and comments out a digest for 1.10.0 (which requires Java 8),
as I have not tested it.
We just released 2.0.2 yesterday, so add in that release for
spack. Don't need the PMI patch for this release.
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
cran.r-project.org runs on a single old-school server in Austria
and could potentially be overloaded if "everyone" used it.
cloud.r-project.org is a cloud-based repository that "automatic redirection to servers worldwide [...]", cf. https://cran.r-project.org/mirrors.html.
I assume, that cloud.* can be scale up as needed. Out of the official CRAN mirror, this should be the safest one to pick if a static CRAN mirror is needed.
* Add several new R packages
* Add a few more R packages
* Update more versions
* Convert Package to RPackage
* Add a few more packages
* Add missing dependencies
* AutotoolsPackage: added configure_directory to permit build out of source. The configure script executable is now invoked with an absolute path. Modified a few packages accordingly.
* build_systems: functions returning directories are now properties
* build_systems: fixed issues with tcl and tk
* AutotoolsPackage: reworked recipe for autoreconf
* Spec.satisfies accesses Spec.concrete as property
Fixes#2760
When copying a spec, _concrete is always set to False for each
dependency. "Spec.satisfies" was accessing the member "_concrete"
directly instead of using the property "concrete". This means that
if you copy a spec, the dependencies will be considered equal, but
did not necessarily satisfy one another. Spec.satisfies is a
prerequisite for a package to be considered an extension; as a
consequence, an extension with run-time dependencies that were also
extensions did not activate those extensions. This updates
Spec.satisfies to avoid checking the cached member "_concrete"
directly.
* Added test to check for activation of dependency extension
* Added test to check for transitive satisfiability between a spec and its copy
* Update libquo's homepage, url, and description.
Recently LANL moved to lanl (from losalamos).
* Fix formatting.
Conform to style guidelines.
* More style updates.
Doesn't appear to be necessary, but for good measure.
* oce: fix fetching
apparently the fetcher is confused when there is a mixture of 3-digits
versions and 2-digits versions, i.e. 0.18 and 0.17.2
* flake8
* Updating udunits.
Udunits 2.2.21 is no longer on the unidata ftp site.
The latest is 2.2.23, adding that and it's md5sum.
* Updating udunits2 download URL.
The Unidata ftp site does not keep previous versions of udunits.
However all the tagged versions are in their github.com repository.
Updating the URL to use github.
* Updating udunits2 with a autoreconf def.
The udunits packages on github do not contain a configure script.
One has to run autoreconf to generate it, so adding that to
package file.
Also updated to the latest version and all md5 checksums.
* PackageMeta: `run_before` is an alias of `precondition`, `run_after` an alias of `sanity_check`
* PackageMeta: removed `precondition` and `sanity_check`
* PackageMeta: decorators are now free-standing
* package: modified/added docstrings. Fixed the semantics of `on_package_attributes`.
* package: added unit test assertion as side effects of install
* build_systems: factored build-time test running into base class
* r: updated decorators in package.py
* docs: updated decorator names
* Add dependency on perl
The build process uses perl and also needs `Test::More`.
Some distros, e.g. CentOS, break the core Perl distribution
into separate packages, so it's possible to "have perl" but
not have all the bits one needs to build OpenSSL.
We'll just install one of ours, which comes with all of its
factory parts included.
* Remove uninformative comment
> # Also requires make
doesn't really add any value...
* Fix configure's zlib version check
R wants a version of zlib that is 1.2.5 or newer.
The version checking code just does a lexicographic comparison
of the first 5 characters of the string, so it seesthat the latest
zlib version, 1.2.10, as 1.2.1 and fails.
This patch changes the comparison to use zlibs' hex ZLIB_VERNUM
so that it does not suffer from this problem.
A version of this patch is wending it's way through the R comunity
community and will/should be included in a future release.
I tested the patch with the current R, 3.3.1.
* Tighten zlib dependency version (>= 1.2.5)
* Convert patch to level=1 format.
* libmonitor does not exist at
http://libmonitor.googlecode.com/svn/trunk/
Change location to HPCToolkit version at github. Specify the hash corresponding
to the 20130218 version.
* When xcb is version 1.11, patch the configure file so it doesn't trip on
pthread-stubs and xau.
* Add os.getcwd()/lib to LD_LIBRARY_PATH, instead of nuking
existing LD_LIBRARY_PATH.
* cfitsio: Allow building as shared libraries
- Allow building as shared libraries
- Also add optional bzip2 variant
- Also update to newest version
This requires the recent correction to “fix_darwin_install_name”.
* cfitsio: Simplify code, default to +shared
* Adding 'self.' to the spec call for configure_args
* Updating this to set spec to self.spec
* More updates to the configure_args spec calls
* Another spec issue
* Another spec issue.
* And another spec issue
* Switching cmor back to self.spec.
- Add a PythonPackage class with build system support.
- Support build phases in PythonPackage
- Add a custom sanity check for PythonPackages
- Get rid of nolink dependencies in python packages
- Update spack create to use new PythonPackage class
- Port most of Python packages to new PythonPackage class
- Conducted a massive install and activate of Python packages.
- Fixed bugs introduced by install and activate.
- Update API docs on PythonPackage
* Set MPI[lang] env var to compiler wrappers on cray
Sets MPICC, MPICXX, MPIFC etc to point to the compiler wrappers on Cray systems.
Some packages look for MPIs via environment variables - e.g adios
* Use spec to check for Cray
* os is no longer used.
* petsc: add 64bit variant
* hypre: add int64 variant
* superlu-dist: add int64 variant
* petsc: add int64 variant
* metis: rename idx64 to int64 to make it consistent with other packages
* mumps: rename idx64 to int64 to make it consistent with other packages
* dealii: rename 64bit to int64 to make it consistent with other packages
added latest version of isl. Needed to get llvm/clang in the latest
trunk to build via spack, but there are more versions available.
what is the policy regarding those? Add what we need for now?
* Updating BoxLib with the ability to build again.
* Using Spack MPI compilers directly.
* Fixing typo.
* Using tarball from github archive for boxlib.
* Added customization for make targets in 'build' and 'install' phases for CMakePackage
* Use rst in build system docs so that Sphinx generates nice API docs
* Allow AutotoolsPackages to be built in a different directory
* Flake8
* Fix missing import
* Allow configure to be located in different directory
* Update espressopp to use build targets
* Flake8
* Sphinx fix, lists must be a new paragraph
* Back out change that allowed a configure script in a different directory than build_directory
* Add missing deps, build in parallel
* Missing space for rst list
Although it hurts a little, officially pre-compiled headers in
boost are only supported for gcc & msvc and the latest clang
releases still fail to build boost with it.
Therefore, I disabled building those to get boost build with
clang 3.9.0 on an Ubuntu 14.04 (x86).
Links to documentation and boost bug reports are inline, so
people can later on check if they still apply. Seems just to
be a bug in `Boost.Build` that tries to set `-o` with multiple
output files.
* Added support for Octopus 6.0 and the optional libraries: metis, parmetis, netcdf, arpack-ng, and scalapack.
* Fix PEP 8 line too long error.
* Changed format syntax {} to {0} to support Python 2.6.
* Adding the py-ipdb package for more stable debugging with iPython.
* Removing deprecated python support, adding missing dependencies.
* Adding version checks for (i)python
* 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.
* Using boost over 1.60.0 causes compile errors. This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.
* Fix bad syntax in specifying the boost version range.
* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.
* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
* Removing the nobuild, nolink, and alldeps dependency types in favor of being explicit.
* This will help with maintenance going forward, as adding more dependency types won't affect existing declared dependencies in weird ways.
* default deptype is still `('build', 'link')`
* Remove +mpi variant from NCO
* Update NCO deps to AutotoolsPackage
* Update the other NetCDF packages to AutotoolsPackage
* ANTLR has a nolink deptype on java, don't worry about csharp
* Remove restrictions from NCO package, fix homepage
* Add version 4.6.3 of NCO
* Missed AutotoolsPackage for NetCDF-CXX4
* NetCDF tests fail when run in parallel
* Remove commented out dependency
* Add documentation dependency
* espressopp: package for the ESPResSo++ software
This commit adds a package for the ESPResSo++
simulation software.
* Move Espressopp package to CMakePackage
This commit moves Espressopp package to CMakePackage.
Addresses some comments in the PR.
* Remove run_tests and changed type of dependencies
Addressed some comments from @adamjstewart.
Removed global run_tests setting and removed type from many
dependencies. Set type for py-mpi4py to 'nolink'.
* Updated to last version and fix mpi4py dependency
Added latest espressopp version and changed mpi4py (version) dependency for
different espressopp versions.
* Changed mpi4py version requirements for espressopp
Changed py-mpi4py version requirements for espressopp@1.9.4 according
to the package build requirements for that version.
Adds the following packages:
node-js py-backports-abc py-functools32 py-pycurl py-vcversione
npm py-certifi py-jsonschema py-tornado py-zmq
- Added python packages that are dependencies for the Jupyter suite
- Update new python packaages to use extension package install function.
- Added npm and node-js packages
* Rename packages
* Upcasing depends_on() in packages.
* Downcased extends('r')
* Fixed erroneously changed URL that had slipped through.
* Fixed typo
* Fixed link from documentation into package source code.
* Fixed another doc problem.
* Changed underscores to dashes in package names.
* Added test to enforce lowercase, no-underscore naming convention.
* Fix r-xgboost
* Downcase more instances of 'R' in package auto-creation.
* Fix test.
* Converted unit test packages to use dashes not underscores
* Downcase `r` in the docs.
* Update module_file_support.rst
Fix r->R for class R.
* Use zlib's "fossil" site for old tarballs
Following citibeth's suggestion in #2732, use zlib's "fossil"
site (not to be confused with the sqlite team's VCS...) for retrieving
old tarballs.
Digests for 1.2.{8,10} match and both install for me on CentOS 7.
* Use zlib's "fossil" URL as the one true URL
Everything seems to be available at zlib's "fossil" URL, so just use
it as the one and only url.
(and fix a flake8 complaint about a comment)
* add package for conduit
* try to fix main conduit docstring
* use join_path instead of pjoin
* address a few requests in pr #2670
change name of 'github-master' to 'master'
change 'docs' variant to 'doc', set default to False
remove explicit +shared variant spec for silo and hdf5 deps
(in the conduit +shared case) cases since they default to True
add reference to static rpath issue
(https://github.com/LLNL/spack/issues/2658)
* address pr #2670 requests
add todos and more info on why variants for deps where selected
use python module install python to enable spack activate
use .format instead of %s
* zlib@1.2.10 and R do not get along, work around it
R's configure script has trouble with version numbers > 1.2.9.
This works around it by constraining R to 1.2.8.
I'm working with some R folk on getting it fixed going forward.
* Add adamjstewart's change.
* Update to latest zlib version, server no longer provides older version
Funded-by: IDEAS
Project: IDEAS/xSDK
* Add alternative URL for previous release of zlib
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives
* _dep_types -> dependency_types
* using a meta-class to inject directives into packages
* directives are lazy
fixes#2466
* directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin
* directives.py: added a test for simple inheritance of directives
* Minor improvement requested by @tgamblin
CMakePackage: importing names from spack.directives
directives: wrap __new__ to respect pep8
* Refactoring requested by @tgamblin
directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
The upstream luafilesystem tarball/version had a wayward/inconsistent
underscore in their more recent version tag. The played badly with
our package fetching machinery (due to recent changes?).
Upstream cleaned up their bit which required some touchups here.
- updated the url
- updated the version (digest)
- updated the format statement for the path to the rockspec.
* Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark
Tinyxml comes in two flavors, 1 and 2. Each comes in several
versions... So they cannot be easily united into a single package.
* Use CMakePackage and friends, add copyright
Also eleminate debug/release variants, since it no longuer fits in the
CMakePackage format.
* Remove unnecessary url
* spdlog now has tagged releases
* Remove unnecessary url argument
* Fewer quotes in cmake args, because magic
* Incorrect base class for tinyxml
* Ensure that every package has a license
Also fixes URLs with http://http:// doubled.
This is a continuation of #2656.
* Add license to every file in Spack
* Make sure Todd is the author of all packages
* Fix flake8 tests
* Don't license external Sphinx docs
* Don't display licenses in tutorial example packages
Also fixes typos and converts command-line examples
from tcsh to bash, which is more common
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface
* Fixed install error in cmor package
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface
* Fixed install error in cmor package
* Modifiying fontconfig file to allow install in OpenSuse 13.2
* Adding pkg-config dependency to freetype and libxml2
* Removed first possible solution. With @adamjstewart selecting the one adding pkg-config to dependencies
* Update digest for vim@8.0 tarball.
The digest appears to have changed.
The new digest value matches the value in their
[MD5SUMS](ftp://ftp.vim.org/pub/vim/unix/MD5SUMS)
file.
* Change ftp.vim.org -> github.com/vim/vim/archive
Vim seems to do weekly releases, but the name of the tarball on
ftp.vim.org doesn't change so we have to regularly play 'update the
digest' (aka Internet whack-a-mole).
This commit changes the url so that we are now downloading particular
versions from the Vim project's github archive.
I didn't walk back through of time to get all of the versions that
used to be explicit. I grabbed the final `7.4` and the current `8.0`
releases. If people need more we can add them.