* netcdf-fortran: enforce autoreconf when building with NAG.
* netcdf-fortran: patch the configure script instead of running autoreconf to get rid of additional dependencies.
* netcdf-fortran: add comment for the patch.
If the OpenMPI build finds the infiniband drivers in /usr/lib64, it adds
-Wl,-rpath -Wl,/usr/lib64 to the OpenMPI wrappers. If the wrappers are using
a compiler outside of /usr, and the OpenMPI wrappers are used to build software
outside of Spack, they will rpath /usr/lib64 into the executable which then has
GLIBC, GLIBCXX runtime errors due to it picking up GCC libraries in /usr/lib64.
This adds the directories specified in "extra_rpaths" to the OpenMPI wrappers,
which allows them to use the correct compiler when invoked outside of Spack
builds.
* Updated llvm to version 6.0.1. The previous 6.0.0 had an incorrectly declared symbol, discussed at https://reviews.llvm.org/D44140, which, amongst other things, broke py-numba. This version works fine with py-numba.
* Flag the conflict between py-numba and llvm@6.0.0
* Removed a single trailing space to satisfy checks
* First draft of a templight recipe
* Let's be explicit for now, we can be clever later on
* The clang6 version does not work, drop it
* Reorder FIXMEs more logically
* Add patch for current templight develop branch
* Create an artificial stable release of templight
* Take some additional inspiration from llvm package
* Added the templight supporting tools
* Remove old notes from the no-url branch
* Avoid unnecessary join_path
* intel-tbb: Add variant `tm` to disable transactional memory.
Some AMD or very old Intel systems don't support transactional memory. This commit adds a variant `tm` that defaults to `True`, but can be switched off to allow running on those systems.
- Previously, Spack didn't check the arguments you put in version()
directives.
- So, you could do something like this, where there are arguments for a
URL fetcher AND for a git fetcher:
version('1.0', md5='abc123', git='https://foo.bar', commit='feda2343')
- Now, we check the arguments before constructing a fetcher, to ensure
that each package has *only* arguments for a single type of fetcher.
- Also added `test_package_version_consistency()` to the `package_sanity`
test, so that all builtin packages are required to have valid
`version()` directives.
- packagers can specify two top-level fetch URLs if one is `url`
- e.g., `url` and `git` or `url` and `svn`
- allow only one VCS fetcher so we can differentiate between URL and VCS.
- also clean up fetcher logic and class structure
- Packages can remove the top-level `url` attribute and still work
- These are now legal:
- Packages with *only* version-specific URLs (even with gaps)
- Packages with a top-level git/hg/svn attribute and `version`
directives for that.
- If a package has both a top-level hg/git/svn attribute AND a top-level
url attribute, the url attribute takes precedence.
- This changes `get_checksums_for_versions` to generate code that uses an
explicit `sha256` argument instead if the bare `md5` hash we used to
generate.
- also use a generic digest parameter for the `version` directive, rather
than a specific `md5` parameter.
* fix to build libmatheval with guile@2.0:
* fixed formatting issues
* fixed formatting issues2
* fixed check for autoreconf and renaming of configure.in
* fixed force_autoreconf
* now patching configure, which is hopefully more robust
* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
* add mofem-cephas package
* add mofem fracture module
* add user modules build and fracture modyle
* add minimal surface module
* add slepc variant
* bump mofem core lib version
* bump mofem core lib version
* bump version
* fix bug
* set upper bound to petsc version and other chanes
* fix indentation
* add minimal med file installation
* chcekc with flake8 and installation with spack packages
* add variants to med package
* upper bound to adol-c and remove obsolete internal package install
* fix basic module install
* module install from external source in extended prefix
* remove obsolte code and reverse to variant doxygen
* fix git adress
* improve packaging for mofem users modules
* fix flake8
* move dependencies after variants
* move root_cmakelists_dir right before cmake_args
* remove unused variants
* use append for single element
* replace root_cmakelists_dir
* use install_tree instead copy tree
* simplify code
* remove phase and mkdirp
* add run tests
* instal ext modules to ext_users_modules directory
* move version below url
* simplify directory name
* use underscore in variant name
* remove unused variable
* fix link to blas libs
* add missing boost dependence
* fix problem with copying module source code
* change variant name form doxygen to docs
* add expanded description
* make installation consistent with spack
* fix flake8
* make extensions installed
* code comments and minor corrections
* make slepc variant false by default
* New package: Verrou, a floating point error checker
* Clean up usage of patch
* Account for future patches in version ranges
* Manual call to autogen is not needed anymore, but extra dependencies are needed
* Use trick from automake to evade shebang length limit
* Use a glob instead of an explicit file list
* Turns out conflict() does not do what I want...
* Suggestions from @citibeth reviews
- Use 'develop' convention for the master branch
- Prefer tarballs over git repositories
- Increase robustness against default configuration
* Drop a couple of older releases with a different patching procedure
* Playing coding style golf
* Various bug squashing
- Missed master -> develop substitution
- Turns out manually calling autogen.sh is needed after all
- Missed + in spec
* More style golfing to fit in 80 columns
* Remove unnecessary mention of the develop branch
* py-pytest: Added dependency on py-setuptools-scm, as well as py-setuptools, to prevent the build from silently installing its own copy of setuptools-scm
* py-pytest: Dependency on setuptools-scm only needs to be 'build'
* The xlf_seacas.patch fails on the latest trilinos develop branch so confine it up to version 12.12.1.
* Fixing likely mistak in seacas patch version range.
Fixes#8036
Before this PR Package.installed was returning True if the spec prefix
existed, without checking the DB. This is wrong for external packages,
whose prefix exists before being registered into the DB. Now the property
checks for both the prefix and a DB entry.
* initial version of the package pyTorch (#171)
* adding version 0.4
* flake8 correction
* reordering version, removing run dependecies
* Changing depends_on type to default
When a user specifies a URL for a specific version of a package, Spack originally
would use that URL for all newer versions of the package. This behavior has
proven to be generally more harmful than useful, so this PR removes the feature
such that a version-specific URL override affects only that version.
* Update kaldi
always use the --fst-version otherwise it does the wrong thing with
selecting the fst version.
also enable speex by default
* Give version a more meaningful name
* Update older version with a date string instead
* gtkorvo-atl: Updated to version 2.2
* gtkorvo-dill: Updated to version 2.4
* gtkorvo-enet: Updated to version 1.3.14
* libevpath: Updated to version 4.4.0
* libffs: Updated to version 1.5
* gtkorvo-atl: Bugfix: Fixed cmake args
* gtkorvo-enet: Switched order of versions to have the latest version on the top
* gtkorvo-atl: Cleaned up cmake_args. Added conditional self.run_tests
* gtkorvo-dill: Cleaned up cmake_args. Added conditional self.run_tests
* libffs: Correction in dependency versions. Cleaned up cmake_args. Added conditional self.run_tests
* libevpath: Correction in dependency versions. Cleaned up cmake_args. Added conditional self.run_tests
* gtkorvo-atl: Removed unused option from cmake args
* Added support for uncrustify 0.67.
Since the build system changed for uncrustify at version 0.64,
I had to change the package from an AutotoolsPackage to a plain
Package and use @when annotations to build the packages differently.
* Removed blank line at end of file
* Added support for python2.6 in uncrustify configuration.
- Versions before 2.5.2 suffer from a serious security problem
(https://nvd.nist.gov/vuln/detail/CVE-2018-12021). Deleted all
versions prior to v2.5.2.
- Update homepage (looks like singularity's going Freemium).
- Use release tarball instead of automagically generated archive
tarball (digest values are more stable).
- No longer need autotools for released versions, just @devel.
- Install needs to be single-threaded, otherwise when installed as
root the various 'chmod' operations race against the copies.
preCICE (Precise Code Interaction Coupling Environment) is a
coupling library for partitioned multi-physics simulations.
Partitioned means that preCICE couples existing programs (solvers)
capable of simulating a subpart of the complete physics involved in
a simulation.
of-precice: new package
preCICE adapter for OpenFOAM
* First draft of amrvis package file.
* More additions to amrvis.
* Formatting.
* Forcing compiler environment variables to point to spack mpi compilers when using mpi.
* Disabling intel compiler for amrvis.
* Comments.
* Refining amrvis package file.
* Moving library and include locations variables to be inserted at the first lines of the makefile.
* Globbing amrvis binary instead of constructing its name.
* Making env variable setting consistent and fixing globbing of executable.
* Using iglob instead of glob.
* Turning MPI on by default for Amrvis.
* ENH: Building OpenFOAM sub-packages (issue #8579)
* Some support for packages building with OpenFOAM
- Adjust the wrappers calling the OpenFOAM Allwmake script. Have them
look for a Allwmake-spack file first, which is assumed to contain
special adjustments for compiling with spack.
This file could be delivered as part of a tarball (which is unlikely)
or generated on the fly by the spack sub-package as part of its
patch or configure stage.
CONFIG: change the default paraview variant for openfoam to be False
- the different combinations of paraview backends, off-screen etc
make it difficult to suggest that building with paraview as
a standard dependency makes much sense.
Additionally, building paraview with qt can become quite an issue.
So it makes much more sense to only enable that upon request.
ENH: add a +vtk variant.
- for VTK with off-screen rendering to be used by the runTimePostProcessing
function object, which is a fairly simple framework for generating images of
some OpenFOAM derived objects (eg, sampling planes).
SPACK spec problem:
- reflect the flex restriction impose by the scotch dependency within
the openfoam spec as well, as partial workaround for buggy or annoying
spec resolution.
OTHER:
- updated the backstop foamEtcFile file to include args handling
as per the OpenFOAM-v1806 updates.
* new version: OpenFOAM-v1806
- https://www.openfoam.com/releases/openfoam-v1806/
Functional updates:
- `python` now creates a copy of the `python` binaries when it is added
to a view
- Python extensions (packages which subclass `PythonPackage`) rewrite
their shebang lines to refer to python in the view
- Python packages in the same namespace will not generate conflicts if
both have `...lib/site-packages/namespace-example/__init__.py`
- These `__init__` files will also remain when removing any package in
the namespace until the last package in the namespace is removed
Generally (Updated 2/16):
- Any package can define `add_files_to_view` to customize how it is added
to a view (and at the moment custom definitions are included for
`python` and `PythonPackage`)
- Likewise any package can define `remove_files_from_view` to customize
which files are removed (e.g. you don't always want to remove the
namespace `__init__`)
- Any package can define `view_file_conflicts` to customize what it
considers a merge conflict
- Global activations are handled like views (where the view root is the
spec prefix of the extendee)
- Benefit: filesystem-management aspects of activating extensions are
now placed in views (e.g. now one can hardlink a global activation)
- Benefit: overriding `Package.activate` is more straightforward (see
`Python.activate`)
- Complication: extension packages which have special-purpose logic
*only* when activated outside of the extendee prefix must check for
this in their `add_files_to_view` method (see `PythonPackage`)
- `LinkTree` is refactored to have separate methods for copying a
directory structure and for copying files (since it was found that
generally packages may want to alter how files are copied but still
wanted to copy directories in the same way)
TODOs (updated 2/20):
- [x] additional testing (there is some unit testing added at this point
but more would be useful)
- [x] refactor or reorganize `LinkTree` methods: currently there is a
separate set of methods for replicating just the directory structure
without the files, and a set for replicating everything
- [x] Right now external views (i.e. those not used for global
activations) call `view.add_extension`, but global activations do not
to avoid some extra work that goes into maintaining external views. I'm
not sure if addressing that needs to be done here but I'd like to
clarify it in the comments (UPDATE: for now I have added a TODO and in
my opinion this can be merged now and the refactor handled later)
- [x] Several method descriptions (e.g. for `Package.activate`) are out
of date and reference a distinction between global activations and
views, they need to be updated
- [x] Update aspell package activations
* Add specific version to package verilator
Change-Id: If7645410ec192f92a5eed83ee9b317b569576b4a
* fix dependency types
Change-Id: Ib36c72257c1fa6678c8553225ca21a010d7ae6d1
* A new package: perl-compress-raw-zlib.
* A new package: perl-compress-raw-bzip2.
* A new perl package: perl-io-compress.
* flake8.
* Add zlib and bzip2 dependency.
* petsc: remove dependency on boost - its required only as a dependency on trilinos
Also set COPTFLAGS='' etc - this way CFLAGS is the primary way optimization flags are set by spack
* petsc: update pkgs with petsc~boost dependency
* fix flake8
* boost is optional for trilinos - so adjust petsc dependency on boost [via trilinos] accordingly
* do not add boost dependency on petsc [due to trilinos requirement]. Trilinos adds this dependency anyway.
plasma@develop has another flag 'DHAVE_MKL' that needs to be disabled [for non-mkl build]
add dependency on gcc-6.0
add in new dependency on readline
plasma: requires both LIBS in make.inc and command line?
If cmd line is missing -some internal values from plasma makefile gets used - causing link errors [on Mac]
tools/lua-5.3.4/src/Makefile: $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline"
if make.inc is missing - I get:
/usr/bin/ld: cannot find -lmkl_intel_lp64
/usr/bin/ld: cannot find -lmkl_sequential
/usr/bin/ld: cannot find -lmkl_core
collect2: error: ld returned 1 exit status
Also add a new dependency -ldl
m4 exited immediately (causing the nettle build to fail).
```
(alice)[11:09:46]spack>>/Users/hartzell/tmp/spack-mac/spack/opt/spack/darwin-highsierra-x86_64/clang-9.1.0-apple/m4-1.4.18-caxsf7l5yd7qbq2bown6bzi5el3ltfwf/bin/m4
Abort trap: 6
(alice)[11:10:18]spack>>fg
```
Tracked down a fix via the Homebrew recipe. I'll send a note to the
`bug-m4@gnu.org` list to ensure that upstream knows about it.
* Fix gcc@5.5.0 on OS X 10.13.5
gcc@5.5.0 failed to build on my OS X 10.13.5 box.
I found/modified a patch in the MacPorts world that traced back to
Homebrewy, https://trac.macports.org/ticket/56502#no1
The issue has also been reported to gcc,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83531
I eventually discovered a nearly identical version of the patch at
Homebrew.
https://github.com/Homebrew/formula-patches/blob/master/gcc%405/10.13_headers.patch
gcc builds with this and I can compile many things, but e.g. curl and
cmake both fail. As @davydden and others observed in #1847, it seems
to be an apple thing.
* Fix mistaken change to patch when clause (added :)
I mistakenly deleted a colon from the
'darwin/gcc-7.1.0-headerpad.patch'.
cd /tmp/balay/spack-stage/spack-stage-joxtpr/omega_h-9.13.4/spack-build/src && /home/balay/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.1.0-7ws4tgx4z3o
ru5g5skjrxs5sobpeiyef/bin/mpic++ -Domega_h_EXPORTS -I/home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src -I/tmp/bala
y/spack-stage/spack-stage-joxtpr/omega_h-9.13.4/spack-build/src -I/home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/tpl
-I/home/balay/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/include -O2 -g -DNDEBUG -fPIC -o CMakeFiles/omega_h.di
r/Omega_h_map.cpp.o -c /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_map.cpp
In file included from /usr/include/c++/5/chrono:35:0,
from /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_timer.hpp:4,
from /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_timer.cpp:1:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
^
* Added minuit package
* Removed default method and template
* Different URLs for old versions
* Patches for versions down to 1.5.0
* Reverted ROOT package changes
* Removed print statement
* Added checksums for older versions
* Consistent version names
* SAMRAI: remove dependency on boost for samrai 3.12.0 or later versions, but keep the older versions ccontinuing working with boost 1.64.0 or earlier. Also, the older versions cannot compile with boost 1.65.0 or above. (#8491)
* SAMRAI: fix typos of comments and remove obsolete code.
* Updating Nalu now that it can build with shared libraries and adding the new Nalu-Wind wind energy focused application.
* Explicitly turn off TPLs for Nalu when not enabled.
* Adding patch for OpenCV to fix a conflict between an OpenCV and a CUDA header file
* Added patch command to package.py file for OpenCV SPACK package.
* Adding version range for patch.
* shortening comment lines, since testsuite failed
* Add changes to the Krell packages with version updates and ranges for the latest release.
* Add reviewer requested changes. Remove preferred clauses and update the qt version for the cbtf-argonavis-gui@develop
* Trigger integration/test restart
* Add patching for xlf when %clang. Changes are effective only when Fortran compiler is 'XL'.
* Use the right version for trilinos when patching for seacas.
setting to use, instead of the spack compiler.
%clang can use multiple Fortran compilers with different options, so
we need to know what compiler is used in order to provide the correct
options.
* Add new version (3.4.0) with new variant (pumi).
* Fix an issue: skip the tests in examples/pumi as they require
files that are not included in the mfem distribution/repository.
* Use patches to fix the testing issues with PUMI and PETSc v3.9.
* Use the new bit.ly short link for v3.4.
* Add the ability to build the dyninst master branch under the develop version name. Fix elfutils and libdwarf to work with the various dyninst versions and vice-versa.
* Add reviewer suggested change to dyninst package file. Remove colon in spec.satisfies clause.
* Add reviewer suggested change to dyninst package file. Remove duplicate lines.
* Add reviewer suggested change to dyninst package file. Encompass all versions under 10.0 with respect to using libdwarf in the build.
Fixes the following problem:
==> Installing trilinos
==> Warning: Suspicious requests to set or unset 'LD_LIBRARY_PATH' found
==> Warning: env.unset('LD_LIBRARY_PATH') at /home/balay/spack.new/lib/spack/spack/build_environment.py:269
==> Warning: ---> env.set('%s' % key, value) at /home/balay/spack.new/lib/spack/spack/build_environment.py:292
==> Trying to clone git repository: https://github.com/trilinos/Trilinos.git at tag develop
Fetching tags only, you probably meant:
git fetch --tags
error: pathspec 'develop' did not match any file(s) known to git.
==> Fetching from [git] https://github.com/trilinos/Trilinos.git failed.
==> Error: FetchError: All fetchers failed for trilinos-develop-tgkpnctp6nn4imoizxlw4ymqyztcie4n
The patch to select ELPA API needs to be applied to
version 6.2.0 too.
The link line of hdf5 is computed incorrectly from
the configuration part of the build-system. To fix
this the relevant file (make.inc) is patched.