Just `depend_on('ncurses')`, pkgconfig seems to cause the right thing
to happen if the package is built +termlib or ~termlib (tested both
ways on a CentOS 7 system).
Additional details in: https://github.com/spack/spack/issues/15281
Tested by building all of the releases of tmux on a CentOS 7 box.
* add preliminary afqmc support in qmcpack
* afqmc updates
* fix spack typos
* edit AFQMC to only allow up 3.7 or above
* added NCCL library support for AFQMC build
* add CMAKE args for BUILD_AFQMC_WITH_NCCL
* update for just AFQMC support. No AFQMC+GPU support
* remove nccl for afqmc
* flake8 whitespace fix
* Update flag_handler for 'netcdf-fortran'.
* Refactoring.
* Enable old versions of netcdf-fortran for NAG.
* Disable parallel 'make check' for versions before 4.5.0.
* Fix shared libraries built with NAG instead of conflicting it.
* Add 'skosukhin' as a maintainer of 'netcdf-fortran'.
This PR adds some fixes for the tcsh package.
- Adds new version
- adds list_url so fetching works for current and old tarballs
- sets ncurses dependency explicitly to `ncurses+termlib`
If `+termlib` is not set then it will link against the system libtinfo.
* Quantum-Espresso: qe-6.5 fails to detect MKL for FFT
qe-6.5 fails to detect MKL for FFT if BLAS_LIBS is set due to
an unfortunate upsteam change in their autoconf/configure:
- qe-6.5/install/m4/x_ac_qe_blas.m4 only sets 'have_blas'
but no 'have_mkl' if BLAS_LIBS is set (which seems to be o.k.)
- however, qe-6.5/install/m4/x_ac_qe_fft.m4 in 6.5 unfortunately
relies on x_ac_qe_blas.m4 to detect MKL and set 'have_mkl'
- qe-5.4 up to 6.4.1 had a different logic and worked fine with
BLAS_LIBS being set
However, MKL is correctly picked up by qe-6.5 for BLAS and FFT if
MKLROOT is set (which SPACK does automatically for ^intel-mkl).
Thus, do not set BLAS_LIBS when compiling qe-6.5 with intel-mkl.
* replace all '^intel-mkl' by '^mkl' to match other packages which also provide MKL
e.g. intel-parallel-studio+mkl as mentioned by @adamjstewart in #15276
* Filter problematic flag from std_cmake_args
Including '-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON' in the cmake args causes
bits of cmake's output to end up in the autoconf-generated configure
script. See https://github.com/spack/spack/issues/15274 and
* Don't build in parallel (sigh)
* Constrain hackery for newer versions...
... to newer versions.
* [WIP] new package: qgis
* add maintainer
* further improvements
* reflect improvements to qscintilla installation paths
* comment out qtkeychain dependency as the package is created
* uncomment qtkeychaing dependency, since this package is now created
* a comment on webkit
* specify versions of dependencies, add variant
* fix variant description
* fix proj dependency logic
* adjust conflicts and dependencies so that one can compile qgis@2 with qt4, python2.7
* minor improvement
* fix some build errors, improve dependency specs
* qsci python bindings will be build by py-pyqt
* cmake variable QSCINTILLA_LIBRARY should point to library itself not the parent folder
* turn grass off explicitly, fix typo, turn qspatialite off explicitly
* fix typo
* specify more cmake options that doesn"t seem to be set properly, and use spack provided pkg-config
* fix libzip
* fix build issue with sqlite variant, add runtime dependencies
* add more runtime python package dependencies
* reflect variant name change in sqlite
* add maintainer, correct typo
* add TODO's
* add more versions
* improve style
* add latest versions
* netcdf -> netcdf-c
* add variants as shown in cmake config
* add conflict: v3.8.1 won't build if qt@5.13:
* change preferred version to latest long term release, 3.10.3
* add a zillion of build options
* improve style
* add descriptions for variants
* remove and already implemented compilation tip
* add "when" statements for optional dependencies
* make flake8 happy
* Update var/spack/repos/builtin/packages/qgis/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/qgis/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/qgis/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/qgis/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/qgis/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* convert conflicts to depends_on
* undo str conversion for path objects
* fix flake8 E131
* fix flake8 E128, E124
* improve style
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Caliper depends on python3.
The package needs to be told where to find it.
* More flake8 formatting edits.
* Change explicit python3 to spec['python'].command.path
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Removing defunct import for flake8
* Flake8 trailing whitespace warning.
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
This PR adds 'http://' to the homepage setting of a few packages that do
not have it set. Not having that set can cause problems with some wiki
apps when embedding the homepage value into markdown syntax.
- bowtie2
- exuberant-ctags
- perl-want
- samtools
- add version info for v1.8.0
- v1.8.0 adds a new source file, `file.c`, which need to be included
in our hardcoded list of objects to link.
I discovered this while demonstrating "how easy it is to add a new
package to Spack", only to scratch my head when it failed `spack
install` but worked when I ran `make` in the stage dir. Finally
looked at tree/package.py and it All Became Clear.
Perhaps someone should rewrite this to use MakefilePackage, but the
Makefile starts off with a bunch of twisty turny "uncomment these
lines to run on this platform", so it might not be worth it.
* Added package py-versioneer
* Update python version
* Added python2 to versioneer
* Added python2 to versioneer
* Update var/spack/repos/builtin/packages/py-versioneer/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Cleaning comments
* Removed temporarily @warner as a maintainer, waiting for answer
* Removed line
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* gromacs: add v2019.6
* Update var/spack/repos/builtin/packages/gromacs/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
- Tell make about the source code path
- Install actual header files, not a wrapper with wrong paths
- Add a patch to prevent compiler warnings
- Improve description
* Fixups for jupyter
This PR fixes a few things for some jupyter related packages.
py-ipython:
- make the python depends_on statements reflect needs of different
versions
- remove an unneeded conflicts directive
py-ipywidgets:
- add new version
- set version constraints for py-widgetsnbextension
py-jupyter-console
- add new version
- set python dependencies for versions as needed
- set version constraint for py-ipython
- set version constraints for py-prompt-toolkit
py-pyqt5
- build with py-sip
py-qtconsole
- add dependency on py-pyqt5
* Update var/spack/repos/builtin/packages/py-jupyter-console/package.py
Tweak version ranges.
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-jupyter-console/package.py
Tweak version range.
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Make py-pyqt5 a run dependency
Also, make formatting more consistent.
* Fix site_packages_dir
Change reference of site_packages_dir to self.site_packages_dir. Oddly,
this did not show up as a problem until I regenerated the module.
* Restore py-pyqt5 to previous state
* Explicitly set path to site_packages_dir
This change prevents an error when regenerating the py-pyqt5 module
file.
* Fix flake8 errors
* Make sure prefix is in join_path
* Fix flake8 errors
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* New package: py-librosa
This PR adds the py-librosa package, along with new dependency packages
and some updates of existing dependency packages.
- new package: py-audioread
- new package: py-resampy
- new package: py-soundfile
- update package: py-numba
- update package: py-llvmlite
py-numba:
- add updated version
- adjust constraints
py-llvmlite:
- add updated version
- adjust constraints
- fix version specifications for llvm
- add environment function to set PIC
* Update var/spack/repos/builtin/packages/py-numba/package.py
Ah, yes, I see that `setuptools` is listed in the `install_requires` array. I missed that before.
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Fix dependency
- Add dependency of py-soundfile depends on libsndfile
- Add new libsndfile package
* Add py-pytest-runner build dep
* Make numpy a variant for py-soundfile
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
When building gcc7 and gcc8 on RHEL6 with Spack and installing it as
a spack-available compiler, OpenBLAS will fail to compile because GCC
generates newer instructions than rhel6's `as` assembler knows about
(e.g. "vpermpd").
Building gcc8 with binutils succeeds, and it generates a GCC that can
then successfully build OpenBLAS. This is also expected to work for
gcc7 on RHEL6.
* Added version 0.12.0 to fix issue #15218
* Added dependencies specs with compatible versions
* Switched py-scipy dependency to variant (default F)
* Removed variant py-scipy and didn't add py-dask
* Fixed typo: missing '
* Update var/spack/repos/builtin/packages/py-pyfftw/package.py
Fixing typos from version ranges in dependencies.
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update var/spack/repos/builtin/packages/py-pyfftw/package.py
Removed repeating dependency option.
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update var/spack/repos/builtin/packages/py-pyfftw/package.py
Limited version of py-numpy dependency to <2.0.
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding an option to build the C api for Umpire.
This is useful if you need to link to a C code and you're using
a compiler suite that doesn't support fortran.
* Also updating the versions while I'm here.
* Adding conflict: Fortran requires C.
To ease transition and confusion, default to C-bindings being
present. This shouldn't hurt anyone who is upgrading an existing
installation.
LLVM is the only package that explicitly sets the "termlib" variant
of ncurses and it specifies +termlib. ncurses defaults to ~termlib;
if a package depends on LLVM and ncurses, there is a concretizer bug
that incorrectly detects a constraint conflict (see #267). Setting
+termlib as the default is a stopgap measure to avoid this conflict.
If other packages were to explicitly request ~termlib in the future,
the same issue would come up again (and could not be resolved by
adjusting the default of "termlib").
Setting +termlib on ncurses moves some symbols into a separate
"libtinfo". Not all packages may be able to detect libtinfo properly
so may require an update; vim, samtools, and libedit have been
updated to use ncurses+termlib (in the case of libedit, the only
necessary action was to add a newer version where the build system
was updated to check libtinfo).
* Flake8 OK
* Update var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Added missing dependencies proposed by @adamjstewart
* Without py-versioneer
* Added py-versioneer
* Python2 for bse
* Python build error
* Update var/spack/repos/builtin/packages/py-basis-set-exchange/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Removed py-versioneer, according to @adamjstewart
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
- When compiling qrupdate with `FFLAGS=-fdefault-integer-8` it can be perfectly used for larger problem dimensions.
- Improved the readability of the file with the added rules.
* Update py-bx-python package
- add update to py-bx-python
- switch to pypi downloads
- set dependencies
* Update var/spack/repos/builtin/packages/py-bx-python/package.py
I had initially pulled version 0.8.6 and then updated that to 0.8.8 but missed the change in the python specs between those two versions.
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Fix version 0.7.4
- set dependency on python2
- add dependency on py-python-lzo
- add py-python-lzo package
- set py-numpy dependency to correspond to latest version that works
with python2
* Add constraint for py-six dependency
* Update var/spack/repos/builtin/packages/py-bx-python/package.py
Ah, I had that `when` clause in and then took it out as it did not seem to be needed. I guess it is always better to be more explicit.
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Remove py-numpy constraint
Let the concretizer catch the conflict with python2 and py-numpy
versions.
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Fixes & additional variant(s) for HepMC3
* Syntax
* Restore recipe for HepMC2
* Remove FIXME
* Update package.py
* Apply suggestions from code review
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-jsonschema
* Update dependencies
* Update dependencies + flake8
* Add py-pyrsistent package
* Update package.py
* Update var/spack/repos/builtin/packages/py-jsonschema/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
* Update package.py
* Apply suggestions from code review
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add a variant to QE that suppresses upstream patching. Need in order to do ddependency patching.
* QE variant fails to build often. Set default variant to False as a user friendly change.
* QMCPACK converter patch collides with internal QE patches. Deactivate internal patches when performing dependency patching.
* Clearer description of QE patch variant that is also flake8 compliant.
* Add extra version of py-sqlalchemy
* Update package.py
* Update package.py
* Update package.py
* Update package.py
* Update package.py
* Apply suggestions from code review
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
* Update package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
The hashing logic looks for function calls that are Spack directives.
It expects that when a Spack directive is used that it is referenced
directly by name, and that the directive function is not itself
retrieved by calling another function. When the hashing logic
encountered a function call where the function was determined
dynamically, it would fail (attempting to access a name attribute
that does not happen to exist in this case).
This updates the hashing logic to filter out function calls where the
function is determined dynamically when looking for uses of Spack
directives.
* Add extra version of py-terminado
* Update package.py
* Update var/spack/repos/builtin/packages/py-terminado/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-widgetsnbextension
* Update dependency version
* Update package.py
* Update package.py
* Update var/spack/repos/builtin/packages/py-widgetsnbextension/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-urllib3
* Update package.py
* Update package.py
* Update package.py
* Update var/spack/repos/builtin/packages/py-urllib3/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of vc
* Update package.py
* Update package.py
* Update var/spack/repos/builtin/packages/vc/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Mark conflicts with binutils on darwin
* Explicitly require binutils bootstrapping and mark conflict with nvptx
* Disable gold variant by default on darwin
* igv: adding package igv
* removing some remaining initial boilerplate
* changing path construction to be more correct
* adding in type for java dep, also forgot about prefix.bin etc
* Added IRPF90 package
* PEP8
* SHA256
* Update var/spack/repos/builtin/packages/py-irpf90/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
libfabric used to install fabtests only when installed
using --test. fabtests has tools that are useful on a
running system, so they should be installed always.
* Rewrote the build/install part to always install
fabtests alongside libfabric.
* Updated a few fabtests resources.
* Updated the test related stuff. Works for most versions
now.
* Include tcp and udp fabrics so that the test suite works.
Change hpctoolkit's dependency on libunwind from 2018.10.12 to 1.4:.
In libunwind, 2018.10.12 is going away in favor of 1.4-rc1 (they're
nearly identical commits).
Remove the 'gpu' version. This was a temporary branch that is now
folded into master.
* py-notebook: make py-setuptools a run dependency
The py-setuptools dependency in py-notebook needs to be a run
dependency. The following message is received if it is not in the run
environment.
Traceback (most recent call last): File "/opt/ssoft/apps/2020.1/linu
x-centos7-sandybridge/gcc-9.2.0/py-notebook-6.0.1-6usbn4c/bin/jupyter-notebook",
line 6, in <module>
from pkg_resources import load_entry_point
Module NotFoundError: No module named 'pkg_resources'
* Remove extraneous whitespace
* Add extra version of py-jedi
* Update package.py
* Update package.py
Correct dependency types
* Update var/spack/repos/builtin/packages/py-jedi/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-jedi/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-jedi/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Add py-parso package
* Remove boilerplate from py-parso
* Flake-8
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-isort
* Update package.py
* Update package.py
* Update var/spack/repos/builtin/packages/py-isort/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-isort/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-isort/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-isort/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-dask
* Update package.py
* Add extra dependencies for py-dask+distributed
* Update package.py
* Update var/spack/repos/builtin/packages/py-heapdict/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-heapdict/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-distributed/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-distributed/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
* Update package.py
* Update package.py
* Update package.py
* Update var/spack/repos/builtin/packages/py-distributed/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-distributed/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
* Update var/spack/repos/builtin/packages/py-distributed/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
* Flake-8
* Add patch step for py-distributed
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Fixes#9394Closes#13217.
## Background
Spack provides the ability to enable/disable parallel builds through two options: package `parallel` and configuration `build_jobs`. This PR changes the algorithm to allow multiple, simultaneous processes to coordinate the installation of the same spec (and specs with overlapping dependencies.).
The `parallel` (boolean) property sets the default for its package though the value can be overridden in the `install` method.
Spack's current parallel builds are limited to build tools supporting `jobs` arguments (e.g., `Makefiles`). The number of jobs actually used is calculated as`min(config:build_jobs, # cores, 16)`, which can be overridden in the package or on the command line (i.e., `spack install -j <# jobs>`).
This PR adds support for distributed (single- and multi-node) parallel builds. The goals of this work include improving the efficiency of installing packages with many dependencies and reducing the repetition associated with concurrent installations of (dependency) packages.
## Approach
### File System Locks
Coordination between concurrent installs of overlapping packages to a Spack instance is accomplished through bottom-up dependency DAG processing and file system locks. The runs can be a combination of interactive and batch processes affecting the same file system. Exclusive prefix locks are required to install a package while shared prefix locks are required to check if the package is installed.
Failures are communicated through a separate exclusive prefix failure lock, for concurrent processes, combined with a persistent store, for separate, related build processes. The resulting file contains the failing spec to facilitate manual debugging.
### Priority Queue
Management of dependency builds changed from reliance on recursion to use of a priority queue where the priority of a spec is based on the number of its remaining uninstalled dependencies.
Using a queue required a change to dependency build exception handling with the most visible issue being that the `install` method *must* install something in the prefix. Consequently, packages can no longer get away with an install method consisting of `pass`, for example.
## Caveats
- This still only parallelizes a single-rooted build. Multi-rooted installs (e.g., for environments) are TBD in a future PR.
Tasks:
- [x] Adjust package lock timeout to correspond to value used in the demo
- [x] Adjust database lock timeout to reduce contention on startup of concurrent
`spack install <spec>` calls
- [x] Replace (test) package's `install: pass` methods with file creation since post-install
`sanity_check_prefix` will otherwise error out with `Install failed .. Nothing was installed!`
- [x] Resolve remaining existing test failures
- [x] Respond to alalazo's initial feedback
- [x] Remove `bin/demo-locks.py`
- [x] Add new tests to address new coverage issues
- [x] Replace built-in package's `def install(..): pass` to "install" something
(i.e., only `apple-libunwind`)
- [x] Increase code coverage
* ENH: add catch2 CMake install
* add a variant allowing catch2 to be installed
via CMake, which is useful for generating a .cmake
config file for consumption by other projects
* Catch2: Simplify Package
- CMake install is also single-header for new releases
- testing triggered by Spack's test mechanism
- default to CMake build (better than simple copy, which is
just for old releases to be installed)
* Catch: Remove Variant
We can control all installs with CMake to be quick and complete.
Old versions prior to 1.7.0 will be manually installed, as the
`make install` target is missing in those.
Releases 1.7.0-1.9.3 do not expose control over test builds.
* openPMD-api: Catch Lost single_header
... variant is gone :)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Finish the HepMC3 spackage update
- Update CMake requirement per latest master
- Account for Python variant, add python dependency if used
- Account for ROOT I/O variant, add ROOT dependency if used
* Please flake8
* Update and simplify julia package
The current Spack Julia package potentially installs a few julia
packages, with the installation being controlled by variants. There are
a couple of problems with this.
First, Julia handles packages very differently from systems such as R
and Python. Julia requires write access to the repository directories in
order for user installs of packages to work. If spack installs julia
packages then there will be a repository, DEPOT_PATH, in the
installation directory. If spack is used on an individual basis this
would work but would mean that package data is written to the spack
installation directory after installation. If spack is used to provide
packages for end users then user installs of julia packages will fail
due to lack of write access to the repository in the installation
directory. It seems best for spack to just install julia without any
julia packages, and drop the configuration for those packages.
Second, having spack install package as variants seems to be counter to
how spack works for other extendable systems, like R and Python. Julia
should be an extendable package in spack but it is not clear how to make
that work. As pointed out above, installing user packages requires write
access to the julia repositories, including the one in the install
directory. Essentially, a user package installation will try to update
metadata for *all* julia repositories. Furthermore, each of those
repositories, assuming one per package with spack, would need to have
the Project.toml files merged to present the package stack to julia.
Again, it seems best for spack to just install julia itself and not try
to install julia packages, at least at this time. A good discussion on
this can be found at
https://discourse.julialang.org/t/how-does-one-set-up-a-centralized-julia-installation/13922.
This PR does the following:
- adds versions 1.2.0 and 1.3.1
- removes variants that correspond to julia packages
- changes python to build dependency as it seems to only be needed for
LLVM
- the new versions can use Python-3
- removes dependencies for packages
- adds a conflict statement for Intel compiler, with comment
- add a setup_build_environment method to find GCC libraries
- make formatting consistent
- adds JULIA_CPU_TARGET option to correspond with target to help with
running julia image on hardware older than build host
- added intel build options, for when they can be used
- removed code for installing packages
- removed code for julia config that was needed for packages
Note that versions below 0.5.1 fail to build, with or without these
changes. It is not clear why that is.
* Update var/spack/repos/builtin/packages/julia/package.py
Yes, need to use correct grammar even in the midst of numbers and symbols. Good catch!
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* More cleanup of Julia package
This commit does more cleanup and sets more constraints.
- Removed release-0.4 and release-0.5. I am not sure if those are
actually useful but they are quite old and there are released versions
from the same timeframe.
- Remove the binutils variant.
- Made cmake a build dependency for versions >= 1.
- Added git as a dependency for @master.
- Limit curl dependency to released versions.
- Do not use external curl for master. When I checked, using the
external version failed but the internal curl worked.
- Versions <= 0.5.0 need an older version of openssl.
- Set conflicts directive for cxx variant.
- Added conflicts directive for needing +mkl with Intel compiler.
- Removed configuration settings as these prevented julia from working
properly in all cases that I looked at.
* Fix flake8 error
Remove 'import sys' that is no longer used.
* More dependency tweaks
This commit sets further version constraints on dependencies. It really
looks like julia requires its internal dependencies more over time.
- curl only up to 0.5.0
- openssl only up to 0.5.0
- override with system curl up to version 0.5.0
* Fix spec for curl certs
Only depending on curl through 0.5.0.
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-cryptography
* Update package.py
* Update package.py
* Update var/spack/repos/builtin/packages/py-cryptography/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-cryptography/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-cryptography/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
* Flake-8
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* py-hpcbench: new package
* obey the flake8
* address comments, fix versions.
* Update var/spack/repos/builtin/packages/py-hpcbench/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-graphviz
* Update package.py
* Update package.py
* Update var/spack/repos/builtin/packages/py-graphviz/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-ipywidgets
* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py
* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-ipywidgets/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-defusedxml
* Update package.py
* Update var/spack/repos/builtin/packages/py-defusedxml/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-logilab-common
* Update package.py
* Update var/spack/repos/builtin/packages/py-logilab-common/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
From ROOT cmake output:
```
-- Checking for module 'davix>=0.6.4'
-- Found davix, version 0.6.8
CMake Warning at cmake/modules/SearchInstalledSoftware.cmake:960 (message):
Davix versions 0.6.8 to 0.7.0 have a bug and do not work with ROOT, please
upgrade to 0.7.1 or later.
```
* an argument 'buf_size' of 'h5fget_file_image_c' should be intent(out).
* correct format errors
* some modifications based on the comments from the reviewer
* Add new version of cairo
* Update var/spack/repos/builtin/packages/cairo/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add new version of ccache; update URL
* Update var/spack/repos/builtin/packages/ccache/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Fix patch applicability
* Combine patches for missing qt3 headers and remove krell variant
The variant should have always been applied.
* Restrict QT patches to actual applicable versions/situations
- I researched the associated patches so now their `when=` should more
closely match when they're actually needed.
- I sorted the patch order so they're grouped by version requirement
- I renamed the patches so they're listed by version requirements
* Added new default tau version: 2.29. Added explicit zlib build requirement. Set up environment to use use elf and libz
* Changed zlib to link dependency. Removed elf library path load (wasn't able to reproduce the need for this)
* Add extra version of py-matplotlib
* Update dependency
* Update package.py
* Update var/spack/repos/builtin/packages/py-matplotlib/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-matplotlib/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add extra version of py-lxml
* Extra variants for py-lxml
* Update var/spack/repos/builtin/packages/py-lxml/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-lxml/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-lxml/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-lxml/package.py
Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>