summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py11
-rw-r--r--var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/extends-spec/package.py17
-rw-r--r--var/spack/repos/builtin.mock/packages/preferred-test/package.py12
-rw-r--r--var/spack/repos/builtin/packages/3dtk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/abinit/package.py8
-rw-r--r--var/spack/repos/builtin/packages/acts/package.py67
-rw-r--r--var/spack/repos/builtin/packages/adol-c/package.py22
-rw-r--r--var/spack/repos/builtin/packages/amdblis/package.py39
-rw-r--r--var/spack/repos/builtin/packages/amdfftw/package.py180
-rw-r--r--var/spack/repos/builtin/packages/amdlibflame/package.py34
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/amdlibm/0001-libm-ose-Scripts-cleanup-pyc-files.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/amdlibm/0002-libm-ose-prevent-log-v3.c-from-building.patch0
-rw-r--r--var/spack/repos/builtin/packages/amdlibm/package.py28
-rw-r--r--var/spack/repos/builtin/packages/amdscalapack/package.py24
-rw-r--r--var/spack/repos/builtin/packages/amrex/package.py3
-rw-r--r--var/spack/repos/builtin/packages/ants/package.py1
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/aocc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/aocl-sparse/package.py2
-rw-r--r--var/spack/repos/builtin/packages/aoflagger/package.py2
-rw-r--r--var/spack/repos/builtin/packages/apktool/package.py42
-rw-r--r--var/spack/repos/builtin/packages/arborx/package.py2
-rw-r--r--var/spack/repos/builtin/packages/asciidoc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/assimp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/autodiff/package.py35
-rw-r--r--var/spack/repos/builtin/packages/aws-parallelcluster/package.py6
-rw-r--r--var/spack/repos/builtin/packages/axom/package.py20
-rw-r--r--var/spack/repos/builtin/packages/axom/scr_examples_gtest.patch50
-rw-r--r--var/spack/repos/builtin/packages/bcftools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/berkeley-db/package.py15
-rw-r--r--var/spack/repos/builtin/packages/bohrium/package.py22
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py19
-rw-r--r--var/spack/repos/builtin/packages/bridger/package.py8
-rw-r--r--var/spack/repos/builtin/packages/bufr/package.py22
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/c-blosc/gcc.patch0
-rw-r--r--var/spack/repos/builtin/packages/camellia/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cbtf-argonavis/package.py15
-rw-r--r--var/spack/repos/builtin/packages/cbtf-krell/package.py9
-rw-r--r--var/spack/repos/builtin/packages/cbtf-lanl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/cbtf/package.py5
-rw-r--r--var/spack/repos/builtin/packages/ccache/package.py3
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/cctools/cctools_6.1.1.python.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/cctools/cctools_7.0.18.python.patch0
-rw-r--r--var/spack/repos/builtin/packages/cdo/package.py3
-rw-r--r--var/spack/repos/builtin/packages/cgdb/package.py18
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/charmpp/fj.patch0
-rw-r--r--var/spack/repos/builtin/packages/clhep/package.py1
-rw-r--r--var/spack/repos/builtin/packages/clingo/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cni-plugins/package.py26
-rw-r--r--var/spack/repos/builtin/packages/conmon/package.py25
-rw-r--r--var/spack/repos/builtin/packages/cosign/package.py34
-rw-r--r--var/spack/repos/builtin/packages/cp2k/package.py25
-rw-r--r--var/spack/repos/builtin/packages/cpio/package.py10
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/cray-libsci/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cuda/package.py4
-rw-r--r--var/spack/repos/builtin/packages/curl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cyrus-sasl/package.py1
-rw-r--r--var/spack/repos/builtin/packages/czmq/package.py2
-rw-r--r--var/spack/repos/builtin/packages/dbus/package.py2
-rw-r--r--var/spack/repos/builtin/packages/dd4hep/package.py76
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py1
-rw-r--r--var/spack/repos/builtin/packages/delly2/package.py46
-rw-r--r--var/spack/repos/builtin/packages/dpcpp/package.py157
-rw-r--r--var/spack/repos/builtin/packages/dsfmt/package.py32
-rw-r--r--var/spack/repos/builtin/packages/dsfmt/targets.patch25
-rw-r--r--var/spack/repos/builtin/packages/dust/package.py51
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py4
-rw-r--r--var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py13
-rw-r--r--var/spack/repos/builtin/packages/edm4hep/package.py7
-rw-r--r--var/spack/repos/builtin/packages/elpa/package.py12
-rw-r--r--var/spack/repos/builtin/packages/esmf/package.py1
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/exago/package.py32
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/exaworks/package.py0
-rw-r--r--var/spack/repos/builtin/packages/f3d/package.py17
-rw-r--r--var/spack/repos/builtin/packages/fenics-dolfinx/package.py4
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ffr/gfortran_format_30.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ffr/gfortran_format_31.patch0
-rw-r--r--var/spack/repos/builtin/packages/flecsale/package.py4
-rw-r--r--var/spack/repos/builtin/packages/flecsi/package.py4
-rw-r--r--var/spack/repos/builtin/packages/flux-core/package.py2
-rw-r--r--var/spack/repos/builtin/packages/flux-sched/no-valgrind.patch19
-rw-r--r--var/spack/repos/builtin/packages/flux-sched/package.py12
-rw-r--r--var/spack/repos/builtin/packages/fpm/package.py4
-rw-r--r--var/spack/repos/builtin/packages/fraggenescan/package.py7
-rw-r--r--var/spack/repos/builtin/packages/fuse-overlayfs/package.py4
-rw-r--r--var/spack/repos/builtin/packages/fxdiv/package.py21
-rw-r--r--var/spack/repos/builtin/packages/g2/package.py7
-rw-r--r--var/spack/repos/builtin/packages/g2c/package.py5
-rw-r--r--var/spack/repos/builtin/packages/g4emlow/package.py1
-rw-r--r--var/spack/repos/builtin/packages/g4particlexs/package.py1
-rw-r--r--var/spack/repos/builtin/packages/g4tendl/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gcc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/gchp/package.py5
-rw-r--r--var/spack/repos/builtin/packages/gdal/package.py65
-rw-r--r--var/spack/repos/builtin/packages/gdk-pixbuf/package.py23
-rw-r--r--var/spack/repos/builtin/packages/geant4-data/package.py14
-rw-r--r--var/spack/repos/builtin/packages/geant4/package.py35
-rw-r--r--var/spack/repos/builtin/packages/gfsio/package.py7
-rw-r--r--var/spack/repos/builtin/packages/ginkgo/1.4.0_dpcpp_use_old_standard.patch70
-rw-r--r--var/spack/repos/builtin/packages/ginkgo/package.py32
-rw-r--r--var/spack/repos/builtin/packages/gl2ps/package.py1
-rw-r--r--var/spack/repos/builtin/packages/glib/package.py1
-rw-r--r--var/spack/repos/builtin/packages/go/package.py2
-rw-r--r--var/spack/repos/builtin/packages/goshimmer/package.py40
-rw-r--r--var/spack/repos/builtin/packages/gpgme/package.py31
-rw-r--r--var/spack/repos/builtin/packages/gpi-2/package.py17
-rw-r--r--var/spack/repos/builtin/packages/gptune/package.py173
-rw-r--r--var/spack/repos/builtin/packages/gpu-burn/package.py6
-rw-r--r--var/spack/repos/builtin/packages/grnboost/package.py2
-rw-r--r--var/spack/repos/builtin/packages/groff/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py68
-rw-r--r--var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectCpu-cmake-3.14.patch11
-rw-r--r--var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectSimd-cmake-3.14.patch11
-rw-r--r--var/spack/repos/builtin/packages/gromacs-swaxs/package.py67
-rw-r--r--var/spack/repos/builtin/packages/grpc/package.py6
-rw-r--r--var/spack/repos/builtin/packages/gtk-doc/package.py16
-rw-r--r--var/spack/repos/builtin/packages/gtkplus/package.py8
-rw-r--r--var/spack/repos/builtin/packages/harfbuzz/package.py3
-rw-r--r--var/spack/repos/builtin/packages/harminv/package.py6
-rw-r--r--var/spack/repos/builtin/packages/hdf-eos5/package.py2
-rw-r--r--var/spack/repos/builtin/packages/hdf5-vol-async/package.py26
-rw-r--r--var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py26
-rw-r--r--var/spack/repos/builtin/packages/hdf5-vol-log/package.py4
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py6
-rw-r--r--var/spack/repos/builtin/packages/helib/package.py51
-rw-r--r--var/spack/repos/builtin/packages/hiop/package.py22
-rw-r--r--var/spack/repos/builtin/packages/hipblas/link-clients-blas.patch24
-rw-r--r--var/spack/repos/builtin/packages/hipblas/package.py12
-rw-r--r--var/spack/repos/builtin/packages/hpcg/package.py6
-rw-r--r--var/spack/repos/builtin/packages/hpctoolkit/package.py37
-rw-r--r--var/spack/repos/builtin/packages/hpx/package.py5
-rw-r--r--var/spack/repos/builtin/packages/htslib/package.py1
-rw-r--r--var/spack/repos/builtin/packages/hwloc/package.py8
-rw-r--r--var/spack/repos/builtin/packages/imgui/package.py24
-rw-r--r--var/spack/repos/builtin/packages/intel-daal/package.py2
-rw-r--r--var/spack/repos/builtin/packages/intel-llvm/package.py2
-rw-r--r--var/spack/repos/builtin/packages/intel-mkl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/intel-mpi/package.py5
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py10
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-dal/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py40
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py24
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py4
-rw-r--r--var/spack/repos/builtin/packages/intel-tbb/package.py2
-rw-r--r--var/spack/repos/builtin/packages/interproscan/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ip/package.py7
-rw-r--r--var/spack/repos/builtin/packages/ip2/package.py7
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/isaac-server/arm.patch0
-rw-r--r--var/spack/repos/builtin/packages/isescan/package.py2
-rw-r--r--var/spack/repos/builtin/packages/jq/builtinc.patch48
-rw-r--r--var/spack/repos/builtin/packages/jq/package.py5
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/julia/armgcc.patch0
-rw-r--r--var/spack/repos/builtin/packages/julia/package.py11
-rw-r--r--var/spack/repos/builtin/packages/kokkos-kernels/package.py7
-rw-r--r--var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py2
-rw-r--r--var/spack/repos/builtin/packages/landsfcutil/package.py9
-rw-r--r--var/spack/repos/builtin/packages/lanl-cmake-modules/package.py17
-rw-r--r--var/spack/repos/builtin/packages/lcio/package.py1
-rw-r--r--var/spack/repos/builtin/packages/legion/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libbeagle/package.py12
-rw-r--r--var/spack/repos/builtin/packages/libbeato/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libblastrampoline/package.py23
-rw-r--r--var/spack/repos/builtin/packages/libcroco/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libctl/package.py9
-rw-r--r--var/spack/repos/builtin/packages/libcxxwrap-julia/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libdrm/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libfabric/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libfuse/package.py17
-rw-r--r--var/spack/repos/builtin/packages/libint/package.py15
-rw-r--r--var/spack/repos/builtin/packages/liblzf/package.py19
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/package.py1
-rw-r--r--var/spack/repos/builtin/packages/librsvg/package.py9
-rw-r--r--var/spack/repos/builtin/packages/libseccomp/package.py10
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/libsharp/1.0.0-arm.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/libsharp/arm.patch0
-rw-r--r--var/spack/repos/builtin/packages/libslirp/package.py19
-rw-r--r--var/spack/repos/builtin/packages/libspatialite/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libssh2/package.py26
-rw-r--r--var/spack/repos/builtin/packages/libtree/package.py50
-rw-r--r--var/spack/repos/builtin/packages/libxc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libxsmm/package.py3
-rw-r--r--var/spack/repos/builtin/packages/libzmq/package.py3
-rw-r--r--var/spack/repos/builtin/packages/likwid/package.py1
-rw-r--r--var/spack/repos/builtin/packages/llvm-doe/package.py321
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/llvm-openmp/package.py0
-rw-r--r--var/spack/repos/builtin/packages/llvm/llvm4-lld-ELF-Symbols.patch112
-rw-r--r--var/spack/repos/builtin/packages/llvm/llvm5-lld-ELF-Symbols.patch33
-rw-r--r--var/spack/repos/builtin/packages/llvm/llvm5-sanitizer-ustat.patch25
-rw-r--r--var/spack/repos/builtin/packages/llvm/missing-includes.patch23
-rw-r--r--var/spack/repos/builtin/packages/llvm/no_cyclades.patch81
-rw-r--r--var/spack/repos/builtin/packages/llvm/no_cyclades9.patch42
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py138
-rw-r--r--var/spack/repos/builtin/packages/llvm/sanitizer-ipc_perm_mode.patch9
-rw-r--r--var/spack/repos/builtin/packages/llvm/xray_buffer_queue-cstddef.patch5
-rw-r--r--var/spack/repos/builtin/packages/lmod/package.py1
-rw-r--r--var/spack/repos/builtin/packages/lua/package.py8
-rw-r--r--var/spack/repos/builtin/packages/lvm2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/madgraph5amc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/maker/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mariadb-c-client/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mbedtls/fix-dt-needed-shared-libs.patch75
-rw-r--r--var/spack/repos/builtin/packages/mbedtls/package.py7
-rw-r--r--var/spack/repos/builtin/packages/meep/package.py65
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/megahit/amd.patch0
-rw-r--r--var/spack/repos/builtin/packages/mercury/package.py80
-rw-r--r--var/spack/repos/builtin/packages/mesa/package.py17
-rw-r--r--var/spack/repos/builtin/packages/mesa18/package.py2
-rw-r--r--var/spack/repos/builtin/packages/meshtool/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mfem/mfem-4.3-cusparse-11.4.patch80
-rw-r--r--var/spack/repos/builtin/packages/mfem/package.py2
-rw-r--r--var/spack/repos/builtin/packages/microsocks/package.py31
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/modylas/gcc_format.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/modylas/makefile.patch0
-rw-r--r--var/spack/repos/builtin/packages/mpibind/package.py59
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mpitrampoline/package.py6
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/mt-metis/non_x8664.patch0
-rw-r--r--var/spack/repos/builtin/packages/mujoco/package.py49
-rw-r--r--var/spack/repos/builtin/packages/mumps/package.py7
-rw-r--r--var/spack/repos/builtin/packages/muparserx/package.py14
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/mvapich2-gdr/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/mvapich2x/package.py0
-rw-r--r--var/spack/repos/builtin/packages/nalu-wind/package.py6
-rw-r--r--var/spack/repos/builtin/packages/nalu/package.py2
-rw-r--r--var/spack/repos/builtin/packages/namd/package.py2
-rw-r--r--var/spack/repos/builtin/packages/nccl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/ncio/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ncl/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ncurses/package.py18
-rw-r--r--var/spack/repos/builtin/packages/nextflow/package.py2
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/nnvm/cmake2.patch0
-rw-r--r--var/spack/repos/builtin/packages/nsimd/package.py1
-rw-r--r--var/spack/repos/builtin/packages/nspr/package.py1
-rw-r--r--var/spack/repos/builtin/packages/nss/package.py9
-rw-r--r--var/spack/repos/builtin/packages/ntl/package.py62
-rw-r--r--var/spack/repos/builtin/packages/nvhpc/package.py4
-rw-r--r--var/spack/repos/builtin/packages/nwchem/package.py18
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ocaml/fix-duplicate-defs.patch0
-rw-r--r--var/spack/repos/builtin/packages/octave/package.py16
-rw-r--r--var/spack/repos/builtin/packages/oommf/package.py295
-rw-r--r--var/spack/repos/builtin/packages/opa-psm2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/open-iscsi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/open3d/package.py113
-rw-r--r--var/spack/repos/builtin/packages/openblas/package.py18
-rw-r--r--var/spack/repos/builtin/packages/opencarp/package.py5
-rw-r--r--var/spack/repos/builtin/packages/opencascade/package.py2
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/opencv/opencv3.2_cmake.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/opencv/opencv3.2_ffmpeg.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/opencv/opencv3.2_python3.7.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/opencv/opencv3.2_regacyvtk.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/opencv/opencv3.2_vtk.patch0
-rw-r--r--var/spack/repos/builtin/packages/openfoam/package.py17
-rw-r--r--var/spack/repos/builtin/packages/openjpeg/package.py22
-rw-r--r--var/spack/repos/builtin/packages/openldap/package.py55
-rw-r--r--var/spack/repos/builtin/packages/openlibm/package.py33
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py11
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop-utils/package.py8
-rw-r--r--var/spack/repos/builtin/packages/openspeedshop/package.py8
-rw-r--r--var/spack/repos/builtin/packages/openturns/package.py59
-rw-r--r--var/spack/repos/builtin/packages/oras/package.py47
-rw-r--r--var/spack/repos/builtin/packages/otf/package.py8
-rw-r--r--var/spack/repos/builtin/packages/pagmo2/package.py39
-rw-r--r--var/spack/repos/builtin/packages/palisade-development/package.py70
-rw-r--r--var/spack/repos/builtin/packages/parallel-netcdf/package.py15
-rw-r--r--var/spack/repos/builtin/packages/parallelio/package.py5
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py14
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/parsimonator/nox86.patch0
-rw-r--r--var/spack/repos/builtin/packages/patchelf/package.py25
-rw-r--r--var/spack/repos/builtin/packages/pcma/package.py4
-rw-r--r--var/spack/repos/builtin/packages/pcre/package.py3
-rw-r--r--var/spack/repos/builtin/packages/percept/package.py2
-rw-r--r--var/spack/repos/builtin/packages/percona-server/package.py3
-rw-r--r--var/spack/repos/builtin/packages/perl-dbd-mysql/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl-forks/package.py4
-rw-r--r--var/spack/repos/builtin/packages/perl/package.py16
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py62
-rw-r--r--var/spack/repos/builtin/packages/pgplot/g77_gcc.conf.patch12
-rw-r--r--var/spack/repos/builtin/packages/pgplot/package.py32
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/php/sbang.patch0
-rw-r--r--var/spack/repos/builtin/packages/phyluce/package.py2
-rw-r--r--var/spack/repos/builtin/packages/pixz/package.py1
-rw-r--r--var/spack/repos/builtin/packages/podman/package.py81
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/poppler/poppler_page_splash.0.90.1.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/poppler/poppler_page_splash.patch0
-rw-r--r--var/spack/repos/builtin/packages/portage/package.py34
-rw-r--r--var/spack/repos/builtin/packages/portcullis/package.py10
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-bem-at/duplicate_defs.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-fdm/gfortran_iargc.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-fdm/unused.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/ppopen-appl-fem/gcc_struct_atomic.patch0
-rw-r--r--var/spack/repos/builtin/packages/py-aiohttp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-aiosqlite/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-astroid/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-astropy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-automat/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-babel/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-backports-os/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-boost-histogram/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-brian2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-build/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-carputils/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-click/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-climate/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-cmake/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-cmsml/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-configspace/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-constantly/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-copulas/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-correctionlib/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-coverage/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-cryptography/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-ctgan/package.py29
-rw-r--r--var/spack/repos/builtin/packages/py-cx-oracle/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-cycler/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-cython/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-debugpy/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-deepdiff/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-distlib/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-downhill/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-envisage/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-faker/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-fastjsonschema/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-filelock/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-fire/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-flask/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-flawfinder/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-fonttools/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-formulaic/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-fs/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-gast/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-genshi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-gevent/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-gin-config/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-gpy/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-greenlet/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-grpcio-tools/package.py60
-rw-r--r--var/spack/repos/builtin/packages/py-grpcio/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-h5sh/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-hatchet/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-hep-ml/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-hepdata-lib/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-hist/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-histbook/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-histogrammar/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-histoprint/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-hpbandster/package.py35
-rw-r--r--var/spack/repos/builtin/packages/py-httpretty/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-humanize/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-hyperlink/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-idna/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-imageio/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-imagesize/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-iminuit/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-importlib-metadata/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-incremental/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-intensity-normalization/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-interface-meta/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-ipykernel/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-itsdangerous/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jeepney/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-jsonpickle/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-keras2onnx/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-keyring/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-kornia/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-laspy/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-law/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-lhsmdu/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-liac-arff/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-lizard/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-lockfile/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-lws/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-lxml/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-lz4/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-make/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-mako/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-markdown/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/matplotlibrc.patch11
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py49
-rw-r--r--var/spack/repos/builtin/packages/py-mmcv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-more-itertools/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-mpld3/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mplhep-data/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-mplhep/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-mpmath/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-multidict/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-mxfold2/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-mypy/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-nbclient/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-nbconvert/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-nbdime/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-nest-asyncio/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-networkx/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-neurokit2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-neurolab/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-ninja/package.py35
-rw-r--r--var/spack/repos/builtin/packages/py-nose/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-notebook/package.py4
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/py-ntplib/package.py0
-rw-r--r--var/spack/repos/builtin/packages/py-numpy/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-oauthlib/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-onnx-runtime/cms.patch146
-rw-r--r--var/spack/repos/builtin/packages/py-onnx-runtime/gcc11.patch36
-rw-r--r--var/spack/repos/builtin/packages/py-onnx-runtime/libiconv.patch42
-rw-r--r--var/spack/repos/builtin/packages/py-onnx-runtime/package.py121
-rw-r--r--var/spack/repos/builtin/packages/py-onnx/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-onnxconverter-common/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-onnxmltools/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-openpmd-validator/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-openpmd-viewer/package.py56
-rw-r--r--var/spack/repos/builtin/packages/py-opentuner/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-packaging/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-pandas/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pandocfilters/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-parmed/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-parsimonious/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-parso/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pathlib2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pbr/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pep517/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-petsc4py/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pexpect/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pickle5/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-picmistandard/package.py18
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/py-pika/package.py0
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pkgconfig/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pkginfo/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-plac/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-platformdirs/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pluggy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ply/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pmw-patched/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-pooch/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-prettytable/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-progressbar2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-prometheus-client/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-prompt-toolkit/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-prwlock/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-py/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pyaml/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-pyasn1-modules/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyasn1/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pybids/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-pybind11/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pybrain/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pycortex/package.py53
-rw-r--r--var/spack/repos/builtin/packages/py-pycuda/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pycurl/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pygdal/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pygraphviz/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-pylint/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-pymol/package.py58
-rw-r--r--var/spack/repos/builtin/packages/py-pymongo/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pynisher/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pyparsing/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pyparsing/setuptools-import.patch20
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt-builder/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pyro4/package.py85
-rw-r--r--var/spack/repos/builtin/packages/py-pyrsistent/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pyscipopt/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-pyspellchecker/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pysqlite3/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-cov/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-pytest-runner/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pytest/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-python-constraint/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-python-daemon/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-python-ldap/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-python-rapidjson/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pythonqwt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pythonsollya/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pythran/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pytools/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-pytorch-lightning/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pyyaml/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-pyzmq/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-qiskit-aer/package.py56
-rw-r--r--var/spack/repos/builtin/packages/py-qiskit-terra/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-qpth/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-qtconsole/package.py6
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/py-radical-entk/package.py3
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/py-radical-gtod/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/py-radical-pilot/package.py6
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/py-radical-saga/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/py-radical-utils/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-rapidfuzz/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-rdt/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-requests-oauthlib/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-requests/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-retry/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-retworkx/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-rich/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-rsa/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-schema/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-build/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-optimize/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-optimize/space.patch57
-rw-r--r--var/spack/repos/builtin/packages/py-scinum/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-scipy/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-selectors34/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-send2trash/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-serpent/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-setupmeta/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools-cpp/package.py46
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-shellingham/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-sina/no_orjson.patch15
-rw-r--r--var/spack/repos/builtin/packages/py-sina/package.py44
-rw-r--r--var/spack/repos/builtin/packages/py-singledispatch/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-sip/package.py78
-rw-r--r--var/spack/repos/builtin/packages/py-skl2onnx/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-slepc4py/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-argparse/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-stevedore/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-symengine/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow-datasets/package.py37
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py36
-rw-r--r--var/spack/repos/builtin/packages/py-terminado/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-tern/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-testpath/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-theano/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-threadpoolctl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-tifffile/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-tomlkit/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-torch/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-torchgeo/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-torchvision/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-traitlets/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-traits/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-tweedledum/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-twisted/package.py83
-rw-r--r--var/spack/repos/builtin/packages/py-uhi/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-uproot/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-vector/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenv-clone/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenv/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-warpx/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-wcwidth/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-websocket-client/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-werkzeug/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-wheel/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-wrapt/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-wurlitzer/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-xrootdpyfs/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-yarl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-yq/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-ytopt-autotune/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-ytopt-autotune/version.patch10
-rw-r--r--var/spack/repos/builtin/packages/py-ytopt/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-zope-event/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-zope-interface/package.py1
-rw-r--r--var/spack/repos/builtin/packages/pygmo/package.py35
-rw-r--r--var/spack/repos/builtin/packages/python/package.py10
-rw-r--r--var/spack/repos/builtin/packages/python/tkinter-3.10.patch11
-rw-r--r--var/spack/repos/builtin/packages/qmcpack/package.py26
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py35
-rw-r--r--var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch12
-rw-r--r--var/spack/repos/builtin/packages/quantum-espresso/package.py258
-rw-r--r--var/spack/repos/builtin/packages/r-affy/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-backports/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-bh/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-blob/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-brio/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-brms/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-car/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-cli/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-colorspace/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-colourpicker/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-conquer/package.py5
-rw-r--r--var/spack/repos/builtin/packages/r-cpp11/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-crayon/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-crosstalk/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-dbi/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-desc/package.py13
-rw-r--r--var/spack/repos/builtin/packages/r-diffobj/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-dt/package.py5
-rw-r--r--var/spack/repos/builtin/packages/r-emmeans/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-htmltools/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-jquerylib/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-packrat/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-prettydoc/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-r6/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-rcpparmadillo/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-rio/package.py9
-rw-r--r--var/spack/repos/builtin/packages/r-rmarkdown/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rpostgresql/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-rsconnect/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-tictoc/package.py11
-rw-r--r--var/spack/repos/builtin/packages/r-tidyverse/package.py81
-rw-r--r--var/spack/repos/builtin/packages/r-v8/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-viridislite/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-vroom/package.py1
-rw-r--r--var/spack/repos/builtin/packages/racket/package.py67
-rw-r--r--var/spack/repos/builtin/packages/raja/package.py12
-rw-r--r--var/spack/repos/builtin/packages/random123/package.py12
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/rapidjson/arm.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/raxml/nox86.patch0
-rw-r--r--var/spack/repos/builtin/packages/rclone/package.py3
-rw-r--r--var/spack/repos/builtin/packages/reframe/package.py2
-rw-r--r--var/spack/repos/builtin/packages/rhash/package.py49
-rw-r--r--var/spack/repos/builtin/packages/rivet/package.py2
-rw-r--r--var/spack/repos/builtin/packages/rocm-openmp-extras/package.py94
-rw-r--r--var/spack/repos/builtin/packages/rocm-tensile/package.py29
-rw-r--r--var/spack/repos/builtin/packages/rocm-validation-suite/004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch50
-rw-r--r--var/spack/repos/builtin/packages/rocm-validation-suite/package.py6
-rw-r--r--var/spack/repos/builtin/packages/rocprofiler-dev/package.py2
-rw-r--r--var/spack/repos/builtin/packages/rocsolver/link-clients-blas.patch22
-rw-r--r--var/spack/repos/builtin/packages/rocsolver/package.py11
-rw-r--r--var/spack/repos/builtin/packages/roms/package.py3
-rw-r--r--var/spack/repos/builtin/packages/runc/package.py24
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/salmon-tddft/cmakefix.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/salmon-tddft/fjmpi.patch0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/salmon-tddft/package.py0
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/salmon-tddft/v2.0.libxc-5.0.patch0
-rw-r--r--var/spack/repos/builtin/packages/samtools/package.py15
-rw-r--r--var/spack/repos/builtin/packages/scale/fj-own_compiler.patch51
-rw-r--r--var/spack/repos/builtin/packages/scale/package.py84
-rw-r--r--var/spack/repos/builtin/packages/seacas/package.py3
-rw-r--r--var/spack/repos/builtin/packages/seal/package.py30
-rw-r--r--var/spack/repos/builtin/packages/sensei/package.py9
-rw-r--r--var/spack/repos/builtin/packages/sfcio/package.py7
-rw-r--r--var/spack/repos/builtin/packages/sherpa/package.py129
-rw-r--r--var/spack/repos/builtin/packages/sigio/package.py7
-rw-r--r--var/spack/repos/builtin/packages/silo/H5EPR_SEMI_COLON.patch58
-rw-r--r--var/spack/repos/builtin/packages/silo/package.py5
-rw-r--r--var/spack/repos/builtin/packages/simgrid/package.py4
-rw-r--r--var/spack/repos/builtin/packages/singularity/package.py3
-rw-r--r--var/spack/repos/builtin/packages/singularityce/package.py7
-rw-r--r--var/spack/repos/builtin/packages/sirius/package.py1
-rw-r--r--var/spack/repos/builtin/packages/slepc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/slirp4netns/package.py25
-rw-r--r--var/spack/repos/builtin/packages/soapdenovo2/package.py8
-rw-r--r--var/spack/repos/builtin/packages/sollve/package.py1
-rw-r--r--var/spack/repos/builtin/packages/sp/package.py7
-rw-r--r--var/spack/repos/builtin/packages/spack/package.py18
-rw-r--r--var/spack/repos/builtin/packages/star-ccm-plus/package.py21
-rw-r--r--var/spack/repos/builtin/packages/structure/package.py6
-rw-r--r--var/spack/repos/builtin/packages/suite-sparse/package.py96
-rw-r--r--var/spack/repos/builtin/packages/sundials/package.py3
-rw-r--r--var/spack/repos/builtin/packages/superlu-dist/package.py19
-rw-r--r--var/spack/repos/builtin/packages/superlu-dist/superlu-cray-ftn-case.patch15
-rw-r--r--var/spack/repos/builtin/packages/symengine/package.py1
-rw-r--r--var/spack/repos/builtin/packages/tangram/package.py20
-rw-r--r--var/spack/repos/builtin/packages/tau/package.py4
-rw-r--r--var/spack/repos/builtin/packages/thepeg/package.py2
-rw-r--r--var/spack/repos/builtin/packages/tinygltf/package.py17
-rw-r--r--var/spack/repos/builtin/packages/tinyobjloader/package.py17
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/tiptop/NR_perf_counter_open_aarch64.patch0
-rw-r--r--var/spack/repos/builtin/packages/tree-sitter/package.py23
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py24
-rw-r--r--var/spack/repos/builtin/packages/umpire/package.py7
-rw-r--r--var/spack/repos/builtin/packages/utf8cpp/package.py23
-rw-r--r--var/spack/repos/builtin/packages/utf8proc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/vecgeom/package.py1
-rw-r--r--var/spack/repos/builtin/packages/vecmem/package.py48
-rw-r--r--var/spack/repos/builtin/packages/visit/package.py62
-rw-r--r--var/spack/repos/builtin/packages/visit/vtk_compiler_visibility.patch12
-rw-r--r--var/spack/repos/builtin/packages/visit/vtk_rendering_opengl2_x11.patch12
-rw-r--r--var/spack/repos/builtin/packages/visit/vtk_wrapping_python_x11.patch14
-rw-r--r--var/spack/repos/builtin/packages/votca-csg-tutorials/package.py30
-rw-r--r--var/spack/repos/builtin/packages/votca-csg/package.py30
-rw-r--r--var/spack/repos/builtin/packages/votca-csgapps/package.py18
-rw-r--r--var/spack/repos/builtin/packages/votca-ctp/package.py5
-rw-r--r--var/spack/repos/builtin/packages/votca-tools/package.py27
-rw-r--r--var/spack/repos/builtin/packages/votca-xtp/package.py27
-rw-r--r--var/spack/repos/builtin/packages/votca/package.py64
-rw-r--r--var/spack/repos/builtin/packages/vtk-h/package.py5
-rw-r--r--var/spack/repos/builtin/packages/vtk-m/package.py3
-rw-r--r--var/spack/repos/builtin/packages/vtk/internal_findHDF5.patch16
-rw-r--r--var/spack/repos/builtin/packages/vtk/package.py167
-rw-r--r--[-rwxr-xr-x]var/spack/repos/builtin/packages/vvtest/package.py0
-rw-r--r--var/spack/repos/builtin/packages/w3emc/package.py7
-rw-r--r--var/spack/repos/builtin/packages/warpx/2626.patch34
-rw-r--r--var/spack/repos/builtin/packages/warpx/package.py22
-rw-r--r--var/spack/repos/builtin/packages/whizard/package.py1
-rw-r--r--var/spack/repos/builtin/packages/wi4mpi/package.py55
-rw-r--r--var/spack/repos/builtin/packages/wiredtiger/package.py39
-rw-r--r--var/spack/repos/builtin/packages/wonton/package.py14
-rw-r--r--var/spack/repos/builtin/packages/xrootd/no-systemd.patch17
-rw-r--r--var/spack/repos/builtin/packages/xrootd/package.py12
-rw-r--r--var/spack/repos/builtin/packages/xsdk/package.py482
708 files changed, 10967 insertions, 1884 deletions
diff --git a/var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py b/var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py
new file mode 100644
index 0000000000..7a0174fd21
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/autotools-conditional-variants-test/package.py
@@ -0,0 +1,11 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class AutotoolsConditionalVariantsTest(AutotoolsPackage):
+ homepage = "https://www.example.com"
+ has_code = False
+ version('1.0')
+ variant('example', default=True, description='nope', when='@2.0:')
diff --git a/var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py b/var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py
new file mode 100644
index 0000000000..53ecd1e287
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/cmake-conditional-variants-test/package.py
@@ -0,0 +1,9 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+class CmakeConditionalVariantsTest(CMakePackage):
+ homepage = "https://dev.null"
+ version('1.0')
+ variant('example', default=True, description='nope', when='@2.0:')
diff --git a/var/spack/repos/builtin.mock/packages/extends-spec/package.py b/var/spack/repos/builtin.mock/packages/extends-spec/package.py
new file mode 100644
index 0000000000..56e887b772
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/extends-spec/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class ExtendsSpec(Package):
+ """Package that tests if the extends directive supports a spec."""
+
+ homepage = "http://www.example.com"
+ url = "http://www.example.com/example-1.0.tar.gz"
+
+ version('1.0', '0123456789abcdef0123456789abcdef')
+
+ extends('extendee@1:')
diff --git a/var/spack/repos/builtin.mock/packages/preferred-test/package.py b/var/spack/repos/builtin.mock/packages/preferred-test/package.py
index 41ee58aeb6..2ef586192a 100644
--- a/var/spack/repos/builtin.mock/packages/preferred-test/package.py
+++ b/var/spack/repos/builtin.mock/packages/preferred-test/package.py
@@ -7,11 +7,9 @@ from spack import *
class PreferredTest(Package):
- """Dummy package with develop version and preffered version"""
- homepage = "http://www.openblas.net"
- url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
+ """Dummy package with develop version and preferred version"""
+ homepage = "https://github.com/LLNL/mpileaks"
+ url = "https://github.com/LLNL/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
- version('develop', git='https://github.com/dummy/repo.git')
- version('0.2.16', 'b1190f3d3471685f17cfd1ec1d252ac9')
- version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9', preferred=True)
- version('0.2.14', 'b1190f3d3471685f17cfd1ec1d252ac9')
+ version('develop', git='https://github.com/LLNL/mpileaks.git')
+ version('1.0', sha256='2e34cc4505556d1c1f085758e26f2f8eea0972db9382f051b2dcfb1d7d9e1825', preferred=True)
diff --git a/var/spack/repos/builtin/packages/3dtk/package.py b/var/spack/repos/builtin/packages/3dtk/package.py
index 3f64b12393..d578c3c6ca 100644
--- a/var/spack/repos/builtin/packages/3dtk/package.py
+++ b/var/spack/repos/builtin/packages/3dtk/package.py
@@ -37,7 +37,7 @@ class _3dtk(CMakePackage):
depends_on('cmake@3.5:', when='@trunk', type='build')
depends_on('cmake@2.6.1:2', when='@1.2', type='build')
depends_on('ninja', type='build')
- depends_on('boost+serialization+graph+regex+filesystem+system+thread+date_time+program_options')
+ depends_on('boost@:1.75+serialization+graph+regex+filesystem+system+thread+date_time+program_options')
depends_on('suite-sparse')
depends_on('zlib')
depends_on('libpng')
diff --git a/var/spack/repos/builtin/packages/abinit/package.py b/var/spack/repos/builtin/packages/abinit/package.py
index db19c5af04..438d2e3e4a 100644
--- a/var/spack/repos/builtin/packages/abinit/package.py
+++ b/var/spack/repos/builtin/packages/abinit/package.py
@@ -55,6 +55,9 @@ class Abinit(AutotoolsPackage):
values=('safe', 'standard', 'aggressive'),
description='Select the optimization flavor to use.')
+ variant('install-tests', default=False,
+ description='Install test cases')
+
# Add dependencies
depends_on('atompaw')
depends_on('blas')
@@ -276,3 +279,8 @@ class Abinit(AutotoolsPackage):
# requires Python with numpy, pyyaml, pandas
if '~mpi' in self.spec:
make('tests_in')
+
+ def install(self, spec, prefix):
+ make('install')
+ if '+install-tests' in spec:
+ install_tree('tests', spec.prefix.tests)
diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py
index dedf13d4ef..8640c461b4 100644
--- a/var/spack/repos/builtin/packages/acts/package.py
+++ b/var/spack/repos/builtin/packages/acts/package.py
@@ -39,6 +39,8 @@ class Acts(CMakePackage, CudaPackage):
# Supported Acts versions
version('main', branch='main')
version('master', branch='main', deprecated=True) # For compatibility
+ version('15.1.0', commit='a96e6db7de6075e85b6d5346bc89845eeb89b324', submodules=True)
+ version('15.0.0', commit='0fef9e0831a90e946745390882aac871b211eaac', submodules=True)
version('14.1.0', commit='e883ab6acfe5033509ad1c27e8e2ba980dfa59f6', submodules=True)
version('14.0.0', commit='f902bef81b60133994315c13f7d32d60048c79d8', submodules=True)
version('13.0.0', commit='ad05672e48b693fd37156f1ad62ed57aa82f858c', submodules=True)
@@ -110,43 +112,44 @@ class Acts(CMakePackage, CudaPackage):
version('0.08.0', commit='99eedb38f305e3a1cd99d9b4473241b7cd641fa9')
# Variants that affect the core Acts library
- variant('benchmarks', default=False, description='Build the performance benchmarks')
- variant('examples', default=False, description='Build the examples')
+ variant('benchmarks', default=False, description='Build the performance benchmarks', when='@0.16:')
+ variant('examples', default=False, description='Build the examples', when='@0.23: +digitization +fatras +identification +json +tgeo')
variant('integration_tests', default=False, description='Build the integration tests')
variant('unit_tests', default=False, description='Build the unit tests')
variant('log_failure_threshold', default='MAX', description='Log level above which examples should auto-crash')
# Variants that enable / disable Acts plugins
- variant('autodiff', default=False, description='Build the auto-differentiation plugin')
- variant('dd4hep', default=False, description='Build the DD4hep plugin')
+ variant('autodiff', default=False, description='Build the auto-differentiation plugin', when='@1.2:')
+ variant('dd4hep', default=False, description='Build the DD4hep plugin', when='+tgeo')
variant('digitization', default=False, description='Build the geometric digitization plugin')
- variant('fatras', default=False, description='Build the FAst TRAcking Simulation package')
+ variant('fatras', default=False, description='Build the FAst TRAcking Simulation package', when='@0.16:')
variant('fatras_geant4', default=False, description='Build Geant4 Fatras package')
variant('identification', default=False, description='Build the Identification plugin')
variant('json', default=False, description='Build the Json plugin')
variant('legacy', default=False, description='Build the Legacy package')
# FIXME: Cannot build ONNX plugin as Spack doesn't have an ONNX runtime
# FIXME: Cannot build SyCL plugin yet as Spack doesn't have SyCL support
- variant('tgeo', default=False, description='Build the TGeo plugin')
- variant('alignment', default=False, description='Build the alignment package')
+ variant('tgeo', default=False, description='Build the TGeo plugin', when='+identification')
+ variant('alignment', default=False, description='Build the alignment package', when='@13:')
# Variants that only affect Acts examples for now
- variant('geant4', default=False, description='Build the Geant4-based examples')
- variant('hepmc3', default=False, description='Build the HepMC3-based examples')
- variant('pythia8', default=False, description='Build the Pythia8-based examples')
- variant('python', default=False, description='Build python bindings for the examples')
+ variant('geant4', default=False, description='Build the Geant4-based examples', when='@0.23: +examples')
+ variant('hepmc3', default=False, description='Build the HepMC3-based examples', when='@0.23: +examples')
+ variant('pythia8', default=False, description='Build the Pythia8-based examples', when='@0.23: +examples')
+ variant('python', default=False, description='Build python bindings for the examples', when='@14: +examples')
variant('analysis', default=False, description='Build analysis applications in the examples')
# Build dependencies
- # FIXME: Use spack's autodiff package once there is one
# FIXME: Use spack's vecmem package once there is one
# (https://github.com/acts-project/acts/pull/998)
+ depends_on('autodiff @0.5.11:', when='@1.2: +autodiff')
depends_on('boost @1.62:1.69 +program_options +test', when='@:0.10.3')
depends_on('boost @1.71: +filesystem +program_options +test', when='@0.10.4:')
depends_on('cmake @3.14:', type='build')
- depends_on('dd4hep @1.11:', when='+dd4hep')
- depends_on('dd4hep @1.11: +geant4', when='+dd4hep +geant4')
- depends_on('eigen @3.3.7:')
+ depends_on('dd4hep @1.11: +dddetectors +ddrec', when='+dd4hep')
+ depends_on('dd4hep +ddg4', when='+dd4hep +geant4 +examples')
+ depends_on('eigen @3.3.7:', when='@15.1:')
+ depends_on('eigen @3.3.7:3.3.99', when='@:15.0')
depends_on('geant4', when='+fatras_geant4')
depends_on('geant4', when='+geant4')
depends_on('hepmc3 @3.2.1:', when='+hepmc3')
@@ -159,27 +162,7 @@ class Acts(CMakePackage, CudaPackage):
depends_on('root @6.10: cxxstd=14', when='+tgeo @:0.8.0')
depends_on('root @6.20: cxxstd=17', when='+tgeo @0.8.1:')
- # Some variant combinations do not make sense
- conflicts('+autodiff', when='@:1.01')
- conflicts('+benchmarks', when='@:0.15')
- conflicts('+dd4hep', when='-tgeo')
- conflicts('+examples', when='@:0.22')
- conflicts('+examples', when='-digitization')
- conflicts('+examples', when='-fatras')
- conflicts('+examples', when='-identification')
- conflicts('+examples', when='-json')
- conflicts('+examples', when='-tgeo')
- conflicts('+fatras', when='@:0.15')
- conflicts('+geant4', when='@:0.22')
- conflicts('+geant4', when='-examples')
- conflicts('+hepmc3', when='@:0.22')
- conflicts('+hepmc3', when='-examples')
- conflicts('+pythia8', when='@:0.22')
- conflicts('+pythia8', when='-examples')
- conflicts('+python', when='@:13')
- conflicts('+python', when='-examples')
- conflicts('+tgeo', when='-identification')
- conflicts('+alignment', when='@:12')
+ # ACTS has been using C++17 for a while, which precludes use of old GCC
conflicts('%gcc@:7', when='@0.23:')
def cmake_args(self):
@@ -238,16 +221,18 @@ class Acts(CMakePackage, CudaPackage):
log_failure_threshold = spec.variants['log_failure_threshold'].value
args.append("-DACTS_LOG_FAILURE_THRESHOLD={0}".format(log_failure_threshold))
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch != 'none':
- args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
+ if '+cuda' in spec:
+ cuda_arch = spec.variants['cuda_arch'].value
+ if cuda_arch != 'none':
+ args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
if 'root' in spec:
cxxstd = spec['root'].variants['cxxstd'].value
args.append("-DCMAKE_CXX_STANDARD={0}".format(cxxstd))
- # FIXME: Once we can use spack's autodiff package, set
- # ACTS_USE_SYSTEM_AUTODIFF too.
+ if spec.satisfies('+autodiff'):
+ args.append("-DACTS_USE_SYSTEM_AUTODIFF=ON")
+
if spec.satisfies('@0.33: +json'):
args.append("-DACTS_USE_SYSTEM_NLOHMANN_JSON=ON")
elif spec.satisfies('@0.14.0: +json'):
diff --git a/var/spack/repos/builtin/packages/adol-c/package.py b/var/spack/repos/builtin/packages/adol-c/package.py
index 404a511236..3c8442feda 100644
--- a/var/spack/repos/builtin/packages/adol-c/package.py
+++ b/var/spack/repos/builtin/packages/adol-c/package.py
@@ -30,6 +30,8 @@ class AdolC(AutotoolsPackage):
description='Enable advanced branching to reduce retaping')
variant('atrig_erf', default=True,
description='Enable arc-trig and error functions')
+ variant('stdczero', default=True,
+ description='Enable default initialization for the adouble datatype')
variant('doc', default=True, description='Install documentation')
variant('openmp', default=False, description='Enable OpenMP support')
variant('sparse', default=False, description='Enable sparse drivers')
@@ -70,25 +72,17 @@ class AdolC(AutotoolsPackage):
'--with-boost=no'
)
- if '+advanced_branching' in spec:
- configure_args.append(
- '--enable-advanced-branching'
- )
-
- if '+atrig_erf' in spec:
- configure_args.append(
- '--enable-atrig-erf'
- )
-
if '+openmp' in spec:
configure_args.append(
'--with-openmp-flag={0}'.format(self.compiler.openmp_flag)
)
- if '+sparse' in spec:
- configure_args.append(
- '--enable-sparse'
- )
+ configure_args.extend(self.enable_or_disable('advanced-branching',
+ variant='advanced_branching'))
+
+ configure_args.extend(self.enable_or_disable('atrig-erf', variant='atrig_erf'))
+ configure_args.extend(self.enable_or_disable('sparse'))
+ configure_args.extend(self.enable_or_disable('stdczero'))
# We can simply use the bundled examples to check
# whether Adol-C works as expected
diff --git a/var/spack/repos/builtin/packages/amdblis/package.py b/var/spack/repos/builtin/packages/amdblis/package.py
index 22fa9165eb..7e3ebba99f 100644
--- a/var/spack/repos/builtin/packages/amdblis/package.py
+++ b/var/spack/repos/builtin/packages/amdblis/package.py
@@ -22,17 +22,50 @@ class Amdblis(BlisBase):
maintainers = ['amd-toolchain-support']
+ version('3.1', sha256='2891948925b9db99eec02a1917d9887a7bee9ad2afc5421c9ba58602a620f2bf')
+ version('3.0.1', sha256='dff643e6ef946846e91e8f81b75ff8fe21f1f2d227599aecd654d184d9beff3e')
version('3.0', sha256='ac848c040cd6c3550fe49148dbdf109216cad72d3235763ee7ee8134e1528517')
version('2.2', sha256='e1feb60ac919cf6d233c43c424f6a8a11eab2c62c2c6e3f2652c15ee9063c0c9')
+ variant(
+ 'ilp64',
+ default=False,
+ description='Build with ILP64 support')
+
+ conflicts(
+ '+ilp64',
+ when='@:3.0.0',
+ msg='ilp64 is supported from amdblis 3.0.1 version onwards')
+
def configure_args(self):
spec = self.spec
args = super(Amdblis, self).configure_args()
- if spec.satisfies('@3.0 %aocc'):
- """ To enabled Fortran to C calling convention for
- complex types when compiling with aocc flang"""
+ if spec.satisfies('+ilp64'):
+ args.append('--blas-int-size=64')
+
+ """ To enable Fortran to C calling convention for
+ complex types when compiling with aocc flang"""
+ if self.spec.satisfies("@3.0 %aocc"):
args.append('CFLAGS={0}'.format("-DAOCL_F2C"))
args.append('CXXFLAGS={0}'.format("-DAOCL_F2C"))
+ elif self.spec.satisfies("@3.0.1: %aocc"):
+ args.append('--complex-return=intel')
+
+ if self.spec.satisfies("@3.1:"):
+ args.append('--disable-aocl-dynamic')
return args
+
+ def configure(self, spec, prefix):
+ config_args = self.configure_args()
+
+ # "amdzen" - A fat binary or multiarchitecture binary
+ # support for 3.1 release onwards
+ if self.spec.satisfies("@3.1:"):
+ config_args.append("amdzen")
+ else:
+ config_args.append("auto")
+
+ configure("--prefix=" + prefix,
+ *config_args)
diff --git a/var/spack/repos/builtin/packages/amdfftw/package.py b/var/spack/repos/builtin/packages/amdfftw/package.py
index a43baa1094..8e77b17199 100644
--- a/var/spack/repos/builtin/packages/amdfftw/package.py
+++ b/var/spack/repos/builtin/packages/amdfftw/package.py
@@ -31,36 +31,150 @@ class Amdfftw(FftwBase):
maintainers = ['amd-toolchain-support']
+ version('3.1', sha256='3e777f3acef13fa1910db097e818b1d0d03a6a36ef41186247c6ab1ab0afc132')
+ version('3.0.1', sha256='87030c6bbb9c710f0a64f4f306ba6aa91dc4b182bb804c9022b35aef274d1a4c')
version('3.0', sha256='a69deaf45478a59a69f77c4f7e9872967f1cfe996592dd12beb6318f18ea0bcd')
version('2.2', sha256='de9d777236fb290c335860b458131678f75aa0799c641490c644c843f0e246f8')
- variant('shared', default=True, description="Builds a shared version of the library")
- variant('openmp', default=True, description="Enable OpenMP support")
- variant('threads', default=False, description="Enable SMP threads support")
- variant('debug', default=False, description="Builds a debug version of the library")
+ variant('shared', default=True,
+ description='Builds a shared version of the library')
+ variant('openmp', default=True,
+ description='Enable OpenMP support')
+ variant('threads', default=False,
+ description='Enable SMP threads support')
+ variant('debug', default=False,
+ description='Builds a debug version of the library')
variant(
'amd-fast-planner',
default=False,
- description="Option to reduce the planning time without much"
- "tradeoff in the performance. It is supported for"
- "Float and double precisions only.")
+ description='Option to reduce the planning time without much'
+ 'tradeoff in the performance. It is supported for'
+ 'Float and double precisions only.')
+ variant(
+ 'amd-top-n-planner',
+ default=False,
+ description='Build with amd-top-n-planner support')
+ variant(
+ 'amd-mpi-vader-limit',
+ default=False,
+ description='Build with amd-mpi-vader-limit support')
+ variant(
+ 'static',
+ default=False,
+ description='Build with static suppport')
+ variant(
+ 'amd-trans',
+ default=False,
+ description='Build with amd-trans suppport')
+ variant(
+ 'amd-app-opt',
+ default=False,
+ description='Build with amd-app-opt suppport')
depends_on('texinfo')
provides('fftw-api@3', when='@2:')
- conflicts('precision=quad', when='@2.2 %aocc', msg="AOCC clang doesn't support quad precision")
- conflicts('+debug', when='@2.2 %aocc', msg="AOCC clang doesn't support debug")
- conflicts('%gcc@:7.2', when="@2.2:", msg="Required GCC version above 7.2 for AMDFFTW")
- conflicts('+amd-fast-planner', when="@2.2", msg="amd-fast-planner is supported from 3.0 onwards")
+ conflicts(
+ 'precision=quad',
+ when='@2.2 %aocc',
+ msg='Quad precision is not supported by AOCC clang version 2.2')
+ conflicts(
+ '+debug',
+ when='@2.2 %aocc',
+ msg='debug mode is not supported by AOCC clang version 2.2')
+ conflicts(
+ '%gcc@:7.2',
+ when='@2.2:',
+ msg='GCC version above 7.2 is required for AMDFFTW')
+ conflicts(
+ '+amd-fast-planner ',
+ when='+mpi',
+ msg='mpi thread is not supported with amd-fast-planner')
+ conflicts(
+ '+amd-fast-planner',
+ when='@2.2',
+ msg='amd-fast-planner is supported from 3.0 onwards')
conflicts(
'+amd-fast-planner',
when='precision=quad',
- msg="amd-fast-planner doesn't support quad precision")
+ msg='Quad precision is not supported with amd-fast-planner')
conflicts(
'+amd-fast-planner',
when='precision=long_double',
- msg="amd-fast-planner doesn't support long_double precision")
+ msg='long_double precision is not supported with amd-fast-planner')
+ conflicts(
+ '+amd-top-n-planner',
+ when='@:3.0.0',
+ msg='amd-top-n-planner is supported from 3.0.1 onwards')
+ conflicts(
+ '+amd-top-n-planner',
+ when='precision=long_double',
+ msg='long_double precision is not supported with amd-top-n-planner')
+ conflicts(
+ '+amd-top-n-planner',
+ when='precision=quad',
+ msg='Quad precision is not supported with amd-top-n-planner')
+ conflicts(
+ '+amd-top-n-planner',
+ when='+amd-fast-planner',
+ msg='amd-top-n-planner cannot be used with amd-fast-planner')
+ conflicts(
+ '+amd-top-n-planner',
+ when='+threads',
+ msg='amd-top-n-planner works only for single thread')
+ conflicts(
+ '+amd-top-n-planner',
+ when='+mpi',
+ msg='mpi thread is not supported with amd-top-n-planner')
+ conflicts(
+ '+amd-top-n-planner',
+ when='+openmp',
+ msg='openmp thread is not supported with amd-top-n-planner')
+ conflicts(
+ '+amd-mpi-vader-limit',
+ when='@:3.0.0',
+ msg='amd-mpi-vader-limit is supported from 3.0.1 onwards')
+ conflicts(
+ '+amd-mpi-vader-limit',
+ when='precision=quad',
+ msg='Quad precision is not supported with amd-mpi-vader-limit')
+ conflicts(
+ '+amd-trans',
+ when='+threads',
+ msg='amd-trans works only for single thread')
+ conflicts(
+ '+amd-trans',
+ when='+mpi',
+ msg='mpi thread is not supported with amd-trans')
+ conflicts(
+ '+amd-trans',
+ when='+openmp',
+ msg='openmp thread is not supported with amd-trans')
+ conflicts(
+ '+amd-trans',
+ when='precision=long_double',
+ msg='long_double precision is not supported with amd-trans')
+ conflicts(
+ '+amd-trans',
+ when='precision=quad',
+ msg='Quad precision is not supported with amd-trans')
+ conflicts(
+ '+amd-app-opt',
+ when='@:3.0.1',
+ msg='amd-app-opt is supported from 3.1 onwards')
+ conflicts(
+ '+amd-app-opt',
+ when='+mpi',
+ msg='mpi thread is not supported with amd-app-opt')
+ conflicts(
+ '+amd-app-opt',
+ when='precision=long_double',
+ msg='long_double precision is not supported with amd-app-opt')
+ conflicts(
+ '+amd-app-opt',
+ when='precision=quad',
+ msg='Quad precision is not supported with amd-app-opt')
def configure(self, spec, prefix):
"""Configure function"""
@@ -72,28 +186,13 @@ class Amdfftw(FftwBase):
# Check if compiler is AOCC
if '%aocc' in spec:
- options.append("CC={0}".format(os.path.basename(spack_cc)))
- options.append("FC={0}".format(os.path.basename(spack_fc)))
- options.append("F77={0}".format(os.path.basename(spack_fc)))
-
- if '+shared' in spec:
- options.append('--enable-shared')
- else:
- options.append('--disable-shared')
+ options.append('CC={0}'.format(os.path.basename(spack_cc)))
+ options.append('FC={0}'.format(os.path.basename(spack_fc)))
+ options.append('F77={0}'.format(os.path.basename(spack_fc)))
if '+debug' in spec:
options.append('--enable-debug')
- if '+openmp' in spec:
- options.append('--enable-openmp')
- else:
- options.append('--disable-openmp')
-
- if '+threads' in spec:
- options.append('--enable-threads')
- else:
- options.append('--disable-threads')
-
if '+mpi' in spec:
options.append('--enable-mpi')
options.append('--enable-amd-mpifft')
@@ -101,13 +200,18 @@ class Amdfftw(FftwBase):
options.append('--disable-mpi')
options.append('--disable-amd-mpifft')
- if '+amd-fast-planner' in spec:
- options.append('--enable-amd-fast-planner')
- else:
- options.append('--disable-amd-fast-planner')
+ options.extend(self.enable_or_disable('shared'))
+ options.extend(self.enable_or_disable('openmp'))
+ options.extend(self.enable_or_disable('threads'))
+ options.extend(self.enable_or_disable('amd-fast-planner'))
+ options.extend(self.enable_or_disable('amd-top-n-planner'))
+ options.extend(self.enable_or_disable('amd-mpi-vader-limit'))
+ options.extend(self.enable_or_disable('static'))
+ options.extend(self.enable_or_disable('amd-trans'))
+ options.extend(self.enable_or_disable('amd-app-opt'))
if not self.compiler.f77 or not self.compiler.fc:
- options.append("--disable-fortran")
+ options.append('--disable-fortran')
# Cross compilation is supported in amd-fftw by making use of target
# variable to set AMD_ARCH configure option.
@@ -115,9 +219,9 @@ class Amdfftw(FftwBase):
# use target variable to set appropriate -march option in AMD_ARCH.
arch = spec.architecture
options.append(
- "AMD_ARCH={0}".format(
+ 'AMD_ARCH={0}'.format(
arch.target.optimization_flags(
- spec.compiler).split("=")[-1]))
+ spec.compiler).split('=')[-1]))
# Specific SIMD support.
# float and double precisions are supported
diff --git a/var/spack/repos/builtin/packages/amdlibflame/package.py b/var/spack/repos/builtin/packages/amdlibflame/package.py
index 56e97e5894..fc27de6d52 100644
--- a/var/spack/repos/builtin/packages/amdlibflame/package.py
+++ b/var/spack/repos/builtin/packages/amdlibflame/package.py
@@ -36,11 +36,22 @@ class Amdlibflame(LibflameBase):
maintainers = ['amd-toolchain-support']
+ version('3.1', sha256='97c74086306fa6dea9233a3730407c400c196b55f4461d4861364b1ac131ca42')
+ version('3.0.1', sha256='5859e7b39ffbe73115dd598b035f212d36310462cf3a45e555a5087301710776')
version('3.0', sha256='d94e08b688539748571e6d4c1ec1ce42732eac18bd75de989234983c33f01ced')
version('2.2', sha256='12b9c1f92d2c2fa637305aaa15cf706652406f210eaa5cbc17aaea9fcfa576dc')
+ variant('ilp64', default=False, description='Build with ILP64 support')
+
+ conflicts('+ilp64', when="@:3.0.0",
+ msg="ILP64 is supported from 3.0.1 onwards")
+ conflicts('threads=pthreads',
+ msg='pthread is not supported')
+ conflicts('threads=openmp',
+ msg='openmp is not supported')
+
patch('aocc-2.2.0.patch', when="@:2", level=1)
- patch('cray-compiler-wrapper.patch')
+ patch('cray-compiler-wrapper.patch', when="@:3.0.0", level=1)
provides('flame@5.2', when='@2:')
@@ -64,8 +75,29 @@ class Amdlibflame(LibflameBase):
if "@3.0: %aocc" in self.spec:
args.append("--enable-f2c-dotc")
+ if "@3.0.1: +ilp64" in self.spec:
+ args.append("--enable-ilp64")
+
+ if "@3.1: %aocc" in self.spec:
+ args.append("--enable-void-return-complex")
+
+ if "@3.1: " in self.spec:
+ args.append("--enable-blas-ext-gemmt")
+
return args
+ @run_after('build')
+ @on_package_attributes(run_tests=True)
+ def check(self):
+ """make check for single and multithread"""
+ blas_flags = self.spec['blas'].libs.ld_flags
+ if self.spec.variants['threads'].value != 'none':
+ make('check',
+ 'LIBBLAS = -fopenmp {0}'.format(blas_flags), parallel=False)
+ else:
+ make('check',
+ 'LIBBLAS = {0}'.format(blas_flags), parallel=False)
+
def install(self, spec, prefix):
"""make install function"""
# make install in parallel fails with message 'File already exists'
diff --git a/var/spack/repos/builtin/packages/amdlibm/0001-libm-ose-Scripts-cleanup-pyc-files.patch b/var/spack/repos/builtin/packages/amdlibm/0001-libm-ose-Scripts-cleanup-pyc-files.patch
index fc084b7d4b..fc084b7d4b 100755..100644
--- a/var/spack/repos/builtin/packages/amdlibm/0001-libm-ose-Scripts-cleanup-pyc-files.patch
+++ b/var/spack/repos/builtin/packages/amdlibm/0001-libm-ose-Scripts-cleanup-pyc-files.patch
diff --git a/var/spack/repos/builtin/packages/amdlibm/0002-libm-ose-prevent-log-v3.c-from-building.patch b/var/spack/repos/builtin/packages/amdlibm/0002-libm-ose-prevent-log-v3.c-from-building.patch
index b540f1cda3..b540f1cda3 100755..100644
--- a/var/spack/repos/builtin/packages/amdlibm/0002-libm-ose-prevent-log-v3.c-from-building.patch
+++ b/var/spack/repos/builtin/packages/amdlibm/0002-libm-ose-prevent-log-v3.c-from-building.patch
diff --git a/var/spack/repos/builtin/packages/amdlibm/package.py b/var/spack/repos/builtin/packages/amdlibm/package.py
index c38c98fd1e..fa88f3bf56 100644
--- a/var/spack/repos/builtin/packages/amdlibm/package.py
+++ b/var/spack/repos/builtin/packages/amdlibm/package.py
@@ -25,6 +25,7 @@ class Amdlibm(SConsPackage):
# of master branch.
# To install amdlibm from latest master branch:
# spack install amdlibm ^amdlibm@master
+ version("3.1", branch="aocl-3.1")
version("3.0", branch="aocl-3.0")
version("2.2", commit="4033e022da428125747e118ccd6fdd9cee21c470")
@@ -32,6 +33,7 @@ class Amdlibm(SConsPackage):
description="Building with verbosity")
# Mandatory dependencies
+ depends_on("python@3.6.2", when="%aocc@3.2.0:", type=("build", "run"))
depends_on("python@3.6.1:", type=("build", "run"))
depends_on("scons@3.1.2:", type=("build"))
depends_on("mpfr", type=("link"))
@@ -39,25 +41,35 @@ class Amdlibm(SConsPackage):
patch("0001-libm-ose-Scripts-cleanup-pyc-files.patch", when="@2.2")
patch("0002-libm-ose-prevent-log-v3.c-from-building.patch", when="@2.2")
- conflicts("%gcc@:9.1", msg="Minimum required GCC version is 9.2.0")
+ conflicts(
+ '%gcc@:9.1.0',
+ msg='Minimum required GCC version is 9.2.0')
+ conflicts(
+ '%gcc@11.2.0:',
+ msg='Maximum required GCC version is 11.1.0')
+ conflicts(
+ '%aocc@3.2.0',
+ when='@2.2:3.0',
+ msg='amdlibm 2.2 and 3.0 versions are not supported with AOCC 3.2.0')
def build_args(self, spec, prefix):
"""Setting build arguments for amdlibm """
args = ["--prefix={0}".format(prefix)]
- if "%aocc" in spec:
- args.append("--compiler=aocc")
-
# we are circumventing the use of
# Spacks compiler wrappers because
# SCons wipes out all environment variables.
- args.append("CC={0}".format(self.compiler.cc))
- args.append("CXX={0}".format(self.compiler.cxx))
+ if spec.satisfies("@:3.0 %aocc"):
+ args.append("--compiler=aocc")
+
+ var_prefix = '' if spec.satisfies("@:3.0") else 'ALM_'
+ args.append("{0}CC={1}".format(var_prefix, self.compiler.cc))
+ args.append("{0}CXX={1}".format(var_prefix, self.compiler.cxx))
if "+verbose" in spec:
- args.append("verbose=1")
+ args.append("--verbose=1")
else:
- args.append("verbose=0")
+ args.append("--verbose=0")
return args
diff --git a/var/spack/repos/builtin/packages/amdscalapack/package.py b/var/spack/repos/builtin/packages/amdscalapack/package.py
index 23ccc2ccb3..d427760dcb 100644
--- a/var/spack/repos/builtin/packages/amdscalapack/package.py
+++ b/var/spack/repos/builtin/packages/amdscalapack/package.py
@@ -20,11 +20,11 @@ class Amdscalapack(ScalapackBase):
_name = 'amdscalapack'
homepage = "https://developer.amd.com/amd-aocl/scalapack/"
- url = "https://github.com/amd/scalapack/archive/3.0.tar.gz"
git = "https://github.com/amd/scalapack.git"
maintainers = ['amd-toolchain-support']
+ version('3.1', sha256='4c2ee2c44644a0feec0c6fc1b1a413fa9028f14d7035d43a398f5afcfdbacb98')
version('3.0', sha256='6e6f3578f44a8e64518d276e7580530599ecfa8729f568303ed2590688e7096f')
version('2.2', sha256='2d64926864fc6d12157b86e3f88eb1a5205e7fc157bf67e7577d0f18b9a7484c')
@@ -33,6 +33,21 @@ class Amdscalapack(ScalapackBase):
default='Release',
description='CMake build type',
values=('Release', 'RelWithDebInfo'))
+ variant(
+ 'ilp64',
+ default=False,
+ description='Build with ILP64 support')
+
+ conflicts('+ilp64', when="@:3.0",
+ msg="ILP64 is supported from 3.1 onwards")
+
+ def url_for_version(self, version):
+ if version == Version('3.1'):
+ return "https://github.com/amd/aocl-scalapack/archive/3.1.tar.gz"
+ elif version == Version('3.0'):
+ return "https://github.com/amd/scalapack/archive/3.0.tar.gz"
+ elif version == Version('2.2'):
+ return "https://github.com/amd/scalapack/archive/2.2.tar.gz"
def cmake_args(self):
""" cmake_args function"""
@@ -47,8 +62,13 @@ class Amdscalapack(ScalapackBase):
args.extend(['-DUSE_DOTC_WRAPPER:BOOL=%s' % (
'ON' if spec.satisfies('%aocc ^amdblis') else 'OFF')])
+ # -DENABLE_ILP64:BOOL=ON
+ args.extend([self.define_from_variant('ENABLE_ILP64', 'ilp64')])
+
+ # -DUSE_F2C:BOOL=ON
+ args.extend([self.define('USE_F2C', spec.satisfies('@:3.0'))])
+
args.extend([
- '-DUSE_F2C=ON',
'-DLAPACK_FOUND=true',
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
'-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py
index 8a86bf97d3..a06369066c 100644
--- a/var/spack/repos/builtin/packages/amrex/package.py
+++ b/var/spack/repos/builtin/packages/amrex/package.py
@@ -12,7 +12,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
mesh refinement (AMR) applications."""
homepage = "https://amrex-codes.github.io/amrex/"
- url = "https://github.com/AMReX-Codes/amrex/releases/download/21.11/amrex-21.11.tar.gz"
+ url = "https://github.com/AMReX-Codes/amrex/releases/download/21.12/amrex-21.12.tar.gz"
git = "https://github.com/AMReX-Codes/amrex.git"
tags = ['ecp', 'e4s']
@@ -20,6 +20,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
maintainers = ['WeiqunZhang', 'asalmgren']
version('develop', branch='development')
+ version('21.12', sha256='439f9ebf2b440fc739a7976f3ade188ec3e1de5f51a0b151e6b8dda36fa67278')
version('21.11', sha256='2edb72d7cf7e86340fcaceb325368560957bcd952fd34cd501bfdf038e1338a4')
version('21.10', sha256='a11954c03b1ec26c26b676460dc5de5195469e813b70fbcea6dfdefeafaf5407')
version('21.09', sha256='983b41d93bf9417c032080fd2ec7c04d0d2b820e613a076bd07566aa5a8aa4bd')
diff --git a/var/spack/repos/builtin/packages/ants/package.py b/var/spack/repos/builtin/packages/ants/package.py
index 6c3c2232af..caf63d8f4b 100644
--- a/var/spack/repos/builtin/packages/ants/package.py
+++ b/var/spack/repos/builtin/packages/ants/package.py
@@ -27,6 +27,7 @@ class Ants(CMakePackage):
def cmake_args(self):
return [
+ "-DBUILD_TESTING=OFF", # needed for <= 2.3.5 due to ANTs/#1236
self.define_from_variant('ITK_BUILD_MINC_SUPPORT', 'minc')
]
diff --git a/var/spack/repos/builtin/packages/aocc/package.py b/var/spack/repos/builtin/packages/aocc/package.py
index f54b173c7c..9ecd0fef91 100755..100644
--- a/var/spack/repos/builtin/packages/aocc/package.py
+++ b/var/spack/repos/builtin/packages/aocc/package.py
@@ -32,6 +32,8 @@ class Aocc(Package):
maintainers = ['amd-toolchain-support']
+ version(ver="3.2.0", sha256='8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec',
+ url='https://developer.amd.com/wordpress/media/files/aocc-compiler-3.2.0.tar')
version(ver="3.1.0", sha256='1948104a430506fe5e445c0c796d6956109e7cc9fc0a1e32c9f1285cfd566d0c',
url='https://developer.amd.com/wordpress/media/files/aocc-compiler-3.1.0.tar')
version(ver="3.0.0", sha256='4ff269b1693856b9920f57e3c85ce488c8b81123ddc88682a3ff283979362227',
diff --git a/var/spack/repos/builtin/packages/aocl-sparse/package.py b/var/spack/repos/builtin/packages/aocl-sparse/package.py
index f23ef06027..426e17faa3 100644
--- a/var/spack/repos/builtin/packages/aocl-sparse/package.py
+++ b/var/spack/repos/builtin/packages/aocl-sparse/package.py
@@ -20,6 +20,7 @@ class AoclSparse(CMakePackage):
maintainers = ['amd-toolchain-support']
+ version('3.1', sha256='8536f06095c95074d4297a3d2910654085dd91bce82e116c10368a9f87e9c7b9')
version('3.0', sha256='1d04ba16e04c065051af916b1ed9afce50296edfa9b1513211a7378e1d6b952e')
version('2.2', sha256='33c2ed6622cda61d2613ee63ff12c116a6cd209c62e54307b8fde986cd65f664')
@@ -34,6 +35,7 @@ class AoclSparse(CMakePackage):
description='Build with ILP64 support')
depends_on('boost', when='@2.2')
+ depends_on('cmake@3.5:', type='build')
@property
def build_directory(self):
diff --git a/var/spack/repos/builtin/packages/aoflagger/package.py b/var/spack/repos/builtin/packages/aoflagger/package.py
index e44961bcfd..34daa97a9d 100644
--- a/var/spack/repos/builtin/packages/aoflagger/package.py
+++ b/var/spack/repos/builtin/packages/aoflagger/package.py
@@ -15,7 +15,7 @@ class Aoflagger(CMakePackage):
version('2.10.0', sha256='3ec1188d37101acf2029575ebc09c50b19c158c88a12b55ac5d25a96bd8fc18d')
- depends_on('casacore+python+fftw@1.10:')
+ depends_on('casacore+python~fftpack@1.10:')
depends_on('fftw~mpi@3.0:')
depends_on('boost+python@:1.66.99')
depends_on('libxml2')
diff --git a/var/spack/repos/builtin/packages/apktool/package.py b/var/spack/repos/builtin/packages/apktool/package.py
new file mode 100644
index 0000000000..ba2041967f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/apktool/package.py
@@ -0,0 +1,42 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Apktool(Package):
+ """A tool for reverse engineering 3rd party, closed, binary
+ Android apps."""
+
+ homepage = "https://ibotpeaches.github.io/Apktool/"
+ url = "https://github.com/iBotPeaches/Apktool/archive/refs/tags/v2.6.0.tar.gz"
+
+ version('2.6.0', sha256='74739cdb1434ca35ec34e51ca7272ad3f378ae3ed0a2d5805d9a2fab5016037f')
+
+ depends_on('java@8:', type=('build', 'run'))
+
+ phases = ['build', 'install']
+
+ def setup_build_environment(self, env):
+ env.set('LC_ALL', 'en_US.UTF-8')
+
+ def build(self, spec, prefix):
+ gradlew = Executable('./gradlew')
+ gradlew('--info', '--debug', 'build', 'shadowJar')
+
+ def install(self, spec, prefix):
+ ln = which('ln')
+ mkdir(join_path(prefix, 'bin'))
+ install(
+ join_path('brut.apktool', 'apktool-cli', 'build', 'libs',
+ 'apktool-cli-all.jar'),
+ join_path(prefix, 'bin'))
+ install(
+ join_path('scripts', 'linux', 'apktool'),
+ join_path(prefix, 'bin'))
+ ln(
+ '-s',
+ join_path(prefix, 'bin', 'apktool-cli-all.jar'),
+ join_path(prefix, 'bin', 'apktool.jar'))
diff --git a/var/spack/repos/builtin/packages/arborx/package.py b/var/spack/repos/builtin/packages/arborx/package.py
index 5251d6191e..f95681bc00 100644
--- a/var/spack/repos/builtin/packages/arborx/package.py
+++ b/var/spack/repos/builtin/packages/arborx/package.py
@@ -20,7 +20,7 @@ class Arborx(CMakePackage):
version('master', branch='master')
version('1.1', sha256='2b5f2d2d5cec57c52f470c2bf4f42621b40271f870b4f80cb57e52df1acd90ce')
version('1.0', sha256='9b5f45c8180622c907ef0b7cc27cb18ba272ac6558725d9e460c3f3e764f1075')
- version('0.9-beta', sha256='b349b5708d1aa00e8c20c209ac75dc2d164ff9bf1b85adb5437346d194ba6c0d')
+ version('0.9-beta', sha256='b349b5708d1aa00e8c20c209ac75dc2d164ff9bf1b85adb5437346d194ba6c0d', deprecated=True)
# ArborX relies on Kokkos to provide devices, providing one-to-one matching
# variants. The only way to disable those devices is to make sure Kokkos
diff --git a/var/spack/repos/builtin/packages/asciidoc/package.py b/var/spack/repos/builtin/packages/asciidoc/package.py
index 72ab85c947..89aff06282 100644
--- a/var/spack/repos/builtin/packages/asciidoc/package.py
+++ b/var/spack/repos/builtin/packages/asciidoc/package.py
@@ -30,6 +30,9 @@ class Asciidoc(AutotoolsPackage):
depends_on('docbook-xsl', type=('build', 'run'))
depends_on('python@2.3.0:2.7', when='@:8.6.9', type=('build', 'run'))
depends_on('python@3.5:', when='@9.0.2:', type=('build', 'run'))
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
@when('@:8.6.9')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/assimp/package.py b/var/spack/repos/builtin/packages/assimp/package.py
index 58968fe271..9b694cf54f 100644
--- a/var/spack/repos/builtin/packages/assimp/package.py
+++ b/var/spack/repos/builtin/packages/assimp/package.py
@@ -14,7 +14,11 @@ class Assimp(CMakePackage):
url = "https://github.com/assimp/assimp/archive/v4.0.1.tar.gz"
git = "https://github.com/assimp/assimp.git"
+ maintainers = ['wdconinc']
+
version('master', branch='master')
+ version('5.1.4', sha256='bd32cdc27e1f8b7ac09d914ab92dd81d799c97e9e47315c1f40dcb7c6f7938c6')
+ version('5.1.3', sha256='50a7bd2c8009945e1833c591d16f4f7c491a3c6190f69d9d007167aadb175c35')
version('5.0.1', sha256='11310ec1f2ad2cd46b95ba88faca8f7aaa1efe9aa12605c55e3de2b977b3dbfc')
version('4.0.1', sha256='60080d8ab4daaab309f65b3cffd99f19eb1af8d05623fff469b9b652818e286e')
diff --git a/var/spack/repos/builtin/packages/autodiff/package.py b/var/spack/repos/builtin/packages/autodiff/package.py
new file mode 100644
index 0000000000..013b011f85
--- /dev/null
+++ b/var/spack/repos/builtin/packages/autodiff/package.py
@@ -0,0 +1,35 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Autodiff(CMakePackage):
+ """autodiff is automatic differentiation made easier for C++."""
+
+ homepage = "https://autodiff.github.io"
+ url = "https://github.com/autodiff/autodiff/archive/refs/tags/v0.6.4.tar.gz"
+ list_url = "https://github.com/autodiff/autodiff/releases"
+ git = "https://github.com/autodiff/autodiff.git"
+
+ maintainers = ['wdconinc', 'HadrienG2']
+
+ version('0.6.4', sha256='cfe0bb7c0de10979caff9d9bfdad7e6267faea2b8d875027397486b47a7edd75')
+ version('0.5.13', sha256='a73dc571bcaad6b44f74865fed51af375f5a877db44321b5568d94a4358b77a1')
+
+ variant('python', default='False', description='Enable the compilation of the python bindings.')
+ variant('examples', default='False', description='Enable the compilation of the example files.')
+
+ depends_on('cmake@3.0:', type='build')
+ depends_on('eigen')
+ depends_on('py-pybind11', type=('build', 'run'))
+
+ def cmake_args(self):
+ args = [
+ self.define('AUTODIFF_BUILD_TESTS', self.run_tests),
+ self.define_from_variant('AUTODIFF_BUILD_PYTHON', 'python'),
+ self.define_from_variant('AUTODIFF_BUILD_EXAMPLES', 'examples',)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
index ac81dbb87e..f1f8df2269 100644
--- a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
+++ b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
@@ -13,12 +13,14 @@ class AwsParallelcluster(PythonPackage):
tool to deploy and manage HPC clusters in the AWS cloud."""
homepage = "https://github.com/aws/aws-parallelcluster"
- pypi = "aws-parallelcluster/aws-parallelcluster-2.11.2.tar.gz"
+ pypi = "aws-parallelcluster/aws-parallelcluster-2.11.4.tar.gz"
maintainers = [
- 'demartinofra', 'enrico-usai', 'lukeseawalker', 'tilne'
+ 'demartinofra', 'enrico-usai', 'lukeseawalker',
]
+ version('2.11.4', sha256='449537ccda57f91f4ec6ae0c94a8e2b1a789f08f80245fadb28f44a4351d5da4')
+ version('2.11.3', sha256='7c1d74123f2f670846aed8fe1fcca5908bb46ec014e2dfc7d3ec8994447a37a0')
version('2.11.2', sha256='60d96a5ea4dca4816ceffc4546549743abd1f6207c62f016c9c348adc64b2ec0')
version('2.11.1', sha256='dc102eeb0db30fb183c1ee076e340223095fde7d9079004fde401b7ad658242d')
version('2.11.0', sha256='ec2f54f752a355649ca065a41fa4ac19697f570a136e10e0a6548f5abad3ea8a')
diff --git a/var/spack/repos/builtin/packages/axom/package.py b/var/spack/repos/builtin/packages/axom/package.py
index 8f7e59ec2c..d644ac134a 100644
--- a/var/spack/repos/builtin/packages/axom/package.py
+++ b/var/spack/repos/builtin/packages/axom/package.py
@@ -40,6 +40,8 @@ class Axom(CachedCMakePackage, CudaPackage):
version('main', branch='main', submodules=True)
version('develop', branch='develop', submodules=True)
+ version('0.6.1', tag='v0.6.1', submodules=True)
+ version('0.6.0', tag='v0.6.0', submodules=True)
version('0.5.0', tag='v0.5.0', submodules=True)
version('0.4.0', tag='v0.4.0', submodules=True)
version('0.3.3', tag='v0.3.3', submodules=True)
@@ -48,6 +50,8 @@ class Axom(CachedCMakePackage, CudaPackage):
version('0.3.0', tag='v0.3.0', submodules=True)
version('0.2.9', tag='v0.2.9', submodules=True)
+ patch('scr_examples_gtest.patch', when='@0.6.0:0.6.1')
+
root_cmakelists_dir = 'src'
# -----------------------------------------------------------------------
@@ -100,18 +104,22 @@ class Axom(CachedCMakePackage, CudaPackage):
depends_on("lua", when="+lua")
depends_on("scr", when="+scr")
- depends_on("kvtree@master", when="+scr")
+ depends_on("kvtree@main", when="+scr")
depends_on("dtcmp", when="+scr")
- depends_on("raja~openmp", when="+raja~openmp")
- depends_on("raja+openmp", when="+raja+openmp")
- depends_on("raja+cuda", when="+raja+cuda")
-
with when('+umpire'):
- depends_on('umpire@5.0.1:5')
+ depends_on('umpire@6.0.0:', when='@0.6.0:')
+ depends_on('umpire@5:5.0.1', when='@:0.5.0')
depends_on('umpire +openmp', when='+openmp')
depends_on('umpire +cuda', when='+cuda')
+ with when('+raja'):
+ depends_on('raja@0.14.0:', when='@0.6.0:')
+ depends_on('raja@:0.13.0', when='@:0.5.0')
+ depends_on("raja~openmp", when="~openmp")
+ depends_on("raja+openmp", when="+openmp")
+ depends_on("raja+cuda", when="+cuda")
+
for sm_ in CudaPackage.cuda_arch_values:
depends_on('raja cuda_arch={0}'.format(sm_),
when='+raja cuda_arch={0}'.format(sm_))
diff --git a/var/spack/repos/builtin/packages/axom/scr_examples_gtest.patch b/var/spack/repos/builtin/packages/axom/scr_examples_gtest.patch
new file mode 100644
index 0000000000..7fb7539e1d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/axom/scr_examples_gtest.patch
@@ -0,0 +1,50 @@
+diff --git a/src/axom/sidre/examples/spio/CMakeLists.txt b/src/axom/sidre/examples/spio/CMakeLists.txt
+index b4013c7fd..8558b8e4a 100644
+--- a/src/axom/sidre/examples/spio/CMakeLists.txt
++++ b/src/axom/sidre/examples/spio/CMakeLists.txt
+@@ -21,7 +21,7 @@ if (SCR_FOUND)
+ list(APPEND example_sources IO_SCR_Output.cpp)
+ endif()
+
+-set(spio_example_depends axom gtest ${EXTRA_LIBS})
++set(spio_example_depends axom ${EXTRA_LIBS})
+ blt_list_append(TO spio_example_depends ELEMENTS hdf5 IF HDF5_FOUND)
+ blt_list_append(TO spio_example_depends ELEMENTS scr IF SCR_FOUND)
+
+@@ -39,17 +39,23 @@ foreach(src ${example_sources})
+ )
+ endforeach()
+
+- if(AXOM_ENABLE_TESTS)
+- if(SCR_FOUND)
+- if(ENABLE_MPI)
+- axom_add_test(
+- NAME spio_IO_SCR_Checkpoint
+- COMMAND spio_IO_SCR_Checkpoint_ex
+- NUM_MPI_TASKS 4 )
+- else()
+- axom_add_test(
+- NAME spio_IO_SCR_Checkpoint
+- COMMAND spio_IO_SCR_Checkpoint_ex )
+- endif()
+- endif()
++if(SCR_FOUND AND AXOM_ENABLE_TESTS)
++ blt_add_executable(
++ NAME spio_scr_ex
++ SOURCES spio_scr.cpp
++ OUTPUT_DIR ${EXAMPLE_OUTPUT_DIRECTORY}
++ DEPENDS_ON ${spio_example_depends} scr gtest
++ FOLDER axom/sidre/examples
++ )
++
++ if(ENABLE_MPI)
++ axom_add_test(
++ NAME spio_IO_SCR_Checkpoint
++ COMMAND spio_IO_SCR_Checkpoint_ex
++ NUM_MPI_TASKS 4 )
++ else()
++ axom_add_test(
++ NAME spio_IO_SCR_Checkpoint
++ COMMAND spio_IO_SCR_Checkpoint_ex )
+ endif()
++endif()
diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py
index 8f4f5bdad8..86341bb347 100644
--- a/var/spack/repos/builtin/packages/bcftools/package.py
+++ b/var/spack/repos/builtin/packages/bcftools/package.py
@@ -13,6 +13,8 @@ class Bcftools(AutotoolsPackage):
homepage = "https://samtools.github.io/bcftools/"
url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2"
+ version('1.14', sha256='b7ef88ae89fcb55658c5bea2e8cb8e756b055e13860036d6be13756782aa19cb')
+ version('1.13', sha256='13bfa1da2a5edda8fa51196a47a0b4afb3fef17516451e4f0e78477f3dd30b90')
version('1.12', sha256='7a0e6532b1495b9254e38c6698d955e5176c1ee08b760dfea2235ee161a024f5')
version('1.10.2', sha256='f57301869d0055ce3b8e26d8ad880c0c1989bf25eaec8ea5db99b60e31354e2c')
version('1.9', sha256='6f36d0e6f16ec4acf88649fb1565d443acf0ba40f25a9afd87f14d14d13070c8')
@@ -38,6 +40,8 @@ class Bcftools(AutotoolsPackage):
depends_on('perl', when='@1.8:~perl-filters', type='run')
depends_on('perl', when='@1.8:+perl-filters', type=('build', 'run'))
+ depends_on('htslib@1.14', when='@1.14')
+ depends_on('htslib@1.13', when='@1.13')
depends_on('htslib@1.12', when='@1.12')
depends_on('htslib@1.10.2', when='@1.10.2')
depends_on('htslib@1.9', when='@1.9')
diff --git a/var/spack/repos/builtin/packages/berkeley-db/package.py b/var/spack/repos/builtin/packages/berkeley-db/package.py
index 0e5fbdbbf1..a31e9f6dfd 100644
--- a/var/spack/repos/builtin/packages/berkeley-db/package.py
+++ b/var/spack/repos/builtin/packages/berkeley-db/package.py
@@ -2,6 +2,7 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import re
class BerkeleyDb(AutotoolsPackage):
@@ -11,6 +12,8 @@ class BerkeleyDb(AutotoolsPackage):
# URL must remain http:// so Spack can bootstrap curl
url = "https://download.oracle.com/berkeley-db/db-18.1.40.tar.gz"
+ executables = [r'^db_load$'] # One should be sufficient
+
version("18.1.40", sha256="0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8")
version('18.1.32', sha256='fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654', deprecated=True)
version('6.2.32', sha256='a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb')
@@ -32,6 +35,18 @@ class BerkeleyDb(AutotoolsPackage):
conflicts('+stl', when='~cxx', msg='+stl implies +cxx')
+ @classmethod
+ def determine_version(cls, exe):
+ """Return the version of the provided executable or ``None`` if
+ the version cannot be determined.
+
+ Arguments:
+ exe (str): absolute path to the executable being examined
+ """
+ output = Executable(exe)('-V', output=str, error=str)
+ match = re.search(r'Berkeley DB\s+([\d\.]+)', output)
+ return match.group(1) if match else None
+
def patch(self):
# some of the docs are missing in 18.1.40
if self.spec.satisfies("@18.1.40"):
diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py
index c2defe0b8a..3e5895fb2d 100644
--- a/var/spack/repos/builtin/packages/bohrium/package.py
+++ b/var/spack/repos/builtin/packages/bohrium/package.py
@@ -68,6 +68,8 @@ class Bohrium(CMakePackage, CudaPackage):
conflicts('~node~proxy')
conflicts('~openmp~opencl~cuda')
+ conflicts('+cbridge', when='~python')
+
#
# Dependencies
#
@@ -94,9 +96,14 @@ class Bohrium(CMakePackage, CudaPackage):
depends_on('py-numpy', type=("build", "test", "run"), when="+python")
depends_on('swig', type="build", when="+python")
depends_on('py-cython', type="build", when="+python")
+ depends_on('py-virtualenv', type="build", when="+python")
+ depends_on('py-pip', type="build", when="+python")
+ depends_on('py-wheel', type="build", when="+python")
depends_on('zlib', when="+proxy")
+ depends_on('libsigsegv')
+
@property
def config_file(self):
"""Return the path of the Bohrium system-wide configuration file"""
@@ -108,14 +115,11 @@ class Bohrium(CMakePackage, CudaPackage):
def cmake_args(self):
spec = self.spec
- # Sanity check
- cuda_arch = spec.variants['cuda_arch'].value
- if "+cuda" in spec and len(cuda_arch) >= 1 and cuda_arch[0]:
- # TODO Add cuda_arch support to Bohrium once the basic setup
- # via Spack works.
- raise InstallError(
- "Bohrium does not support setting the CUDA architecture yet."
- )
+ # TODO: Use cuda_arch to specify compute capabilities to build.
+ # This package detects the compute capability of the device on the
+ # build host and uses that to set a single compute capability. This is
+ # limiting for generic builds and the ability to run CUDA builds on
+ # different hosts.
args = [
# Choose a particular python version
@@ -136,7 +140,7 @@ class Bohrium(CMakePackage, CudaPackage):
#
# Bridges and interfaces
"-DBRIDGE_BHXX=ON",
- "-DBRIDGE_C=" + str("+cbridge" in spec or "+python" in spec),
+ "-DBRIDGE_C=" + str("+cbridge" in spec and "+python" in spec),
"-DBRIDGE_NPBACKEND=" + str("+python" in spec),
"-DNO_PYTHON3=ON", # Only build python version we provide
]
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 360d72c585..933b9e2264 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -26,6 +26,7 @@ class Boost(Package):
maintainers = ['hainest']
version('develop', branch='develop', submodules=True)
+ version('1.78.0', sha256='8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc')
version('1.77.0', sha256='fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854')
version('1.76.0', sha256='f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41')
version('1.75.0', sha256='953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb')
@@ -333,6 +334,7 @@ class Boost(Package):
def determine_toolset(self, spec):
toolsets = {'g++': 'gcc',
'icpc': 'intel',
+ 'icpx': 'intel',
'clang++': 'clang',
'armclang++': 'clang',
'xlc++': 'xlcpp',
@@ -343,6 +345,8 @@ class Boost(Package):
if spec.satisfies('@1.47:'):
toolsets['icpc'] += '-linux'
+ toolsets['icpx'] += '-linux'
+
for cc, toolset in toolsets.items():
if cc in self.compiler.cxx_names:
return toolset
@@ -383,14 +387,8 @@ class Boost(Package):
with open('user-config.jam', 'w') as f:
# Boost may end up using gcc even though clang+gfortran is set in
# compilers.yaml. Make sure this does not happen:
- if not spec.satisfies('%intel'):
- # using intel-linux : : spack_cxx in user-config.jam leads to
- # error: at project-config.jam:12
- # error: duplicate initialization of intel-linux with the following parameters: # noqa
- # error: version = <unspecified>
- # error: previous initialization at ./user-config.jam:1
- f.write("using {0} : : {1} ;\n".format(boost_toolset_id,
- spack_cxx))
+ f.write("using {0} : : {1} ;\n".format(boost_toolset_id,
+ spack_cxx))
if '+mpi' in spec:
# Use the correct mpi compiler. If the compiler options are
@@ -572,6 +570,11 @@ class Boost(Package):
bootstrap(*bootstrap_options)
+ # strip the toolchain to avoid double include errors (intel) or
+ # user-config being overwritten (again intel, but different boost version)
+ filter_file(r'^\s*using {0}.*'.format(self.determine_toolset(spec)), '',
+ os.path.join(self.stage.source_path, 'project-config.jam'))
+
# b2 used to be called bjam, before 1.47 (sigh)
b2name = './b2' if spec.satisfies('@1.47:') else './bjam'
diff --git a/var/spack/repos/builtin/packages/bridger/package.py b/var/spack/repos/builtin/packages/bridger/package.py
index 769debf525..d9b676ef81 100644
--- a/var/spack/repos/builtin/packages/bridger/package.py
+++ b/var/spack/repos/builtin/packages/bridger/package.py
@@ -20,6 +20,14 @@ class Bridger(MakefilePackage, SourceforgePackage):
depends_on('boost')
depends_on('perl', type='run')
+ def flag_handler(self, name, flags):
+ if name == 'cflags':
+ # some of the plugins require gnu extensions
+ flags.append('-std=gnu99')
+ if name == 'cxxflags':
+ flags.append('-std=c++03')
+ return (flags, None, None)
+
def install(self, spec, prefix):
# bridger depends very much on perl scripts/etc in the source tree
install_path = join_path(prefix, 'usr/local/bridger')
diff --git a/var/spack/repos/builtin/packages/bufr/package.py b/var/spack/repos/builtin/packages/bufr/package.py
index 8550e5c4a2..9c665fa2bc 100644
--- a/var/spack/repos/builtin/packages/bufr/package.py
+++ b/var/spack/repos/builtin/packages/bufr/package.py
@@ -21,3 +21,25 @@ class Bufr(CMakePackage):
'jbathegit']
version('11.5.0', sha256='d154839e29ef1fe82e58cf20232e9f8a4f0610f0e8b6a394b7ca052e58f97f43')
+
+ def _setup_bufr_environment(self, env, suffix):
+ libname = 'libufr_{0}'.format(suffix)
+ lib = find_libraries(libname, root=self.prefix,
+ shared=False, recursive=True)
+ lib_envname = 'BUFR_LIB{0}'.format(suffix)
+ inc_envname = 'BUFR_INC{0}'.format(suffix)
+ include_dir = 'include_{0}'.format(suffix)
+
+ env.set(lib_envname, lib[0])
+ env.set(inc_envname, include_dir)
+
+ # Bufr has _DA (dynamic allocation) libs in versions <= 11.5.0
+ if self.spec.satisfies('@:11.5.0'):
+ da_lib = find_libraries(libname + "_DA", root=self.prefix,
+ shared=False, recursive=True)
+ env.set(lib_envname + '_DA', da_lib[0])
+ env.set(inc_envname + '_DA', include_dir)
+
+ def setup_run_environment(self, env):
+ for suffix in ('4', '8', 'd'):
+ self._setup_bufr_environment(env, suffix)
diff --git a/var/spack/repos/builtin/packages/c-blosc/gcc.patch b/var/spack/repos/builtin/packages/c-blosc/gcc.patch
index 8390b01e3d..8390b01e3d 100755..100644
--- a/var/spack/repos/builtin/packages/c-blosc/gcc.patch
+++ b/var/spack/repos/builtin/packages/c-blosc/gcc.patch
diff --git a/var/spack/repos/builtin/packages/camellia/package.py b/var/spack/repos/builtin/packages/camellia/package.py
index 241c0add79..714baff980 100644
--- a/var/spack/repos/builtin/packages/camellia/package.py
+++ b/var/spack/repos/builtin/packages/camellia/package.py
@@ -20,7 +20,7 @@ class Camellia(CMakePackage):
variant('moab', default=True, description='Compile with MOAB to include support for reading standard mesh formats')
- depends_on('trilinos+amesos+amesos2+belos+epetra+epetraext+exodus+ifpack+ifpack2+intrepid+intrepid2+kokkos+ml+muelu+sacado+shards+tpetra+zoltan+mumps+superlu-dist+hdf5+zlib+mpi@master,12.12.1:')
+ depends_on('trilinos+amesos+amesos2+belos+epetra+epetraext+exodus+ifpack+ifpack2+intrepid+intrepid2+kokkos+ml+muelu+sacado+shards+tpetra+zoltan+mumps+superlu-dist+hdf5+mpi@master,12.12.1:')
depends_on('moab@:4', when='+moab')
# Cameilla needs hdf5 but the description "hdf5@:1.8" is
diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
index 887322330a..dc692704de 100644
--- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py
@@ -18,8 +18,6 @@ class CbtfArgonavis(CMakePackage):
version('1.9.4', branch='1.9.4')
version('1.9.3', branch='1.9.3')
- variant('cti', default=False,
- description="Build MRNet with the CTI startup option")
variant('crayfe', default=False,
description="build only the FE tool using the runtime_dir \
to point to target build.")
@@ -41,19 +39,13 @@ class CbtfArgonavis(CMakePackage):
depends_on("boost@1.70.0:")
# For MRNet
- depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti', type=('build', 'link', 'run'))
- depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop~cti', type=('build', 'link', 'run'))
- depends_on("mrnet@5.0.1-3+cti", when='@1.9.3:9999+cti', type=('build', 'link', 'run'))
- depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999~cti', type=('build', 'link', 'run'))
+ depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
+ depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999', type=('build', 'link', 'run'))
# For CBTF
depends_on("cbtf@develop", when='@develop', type=('build', 'link', 'run'))
depends_on("cbtf@1.9.3:9999", when='@1.9.3:9999', type=('build', 'link', 'run'))
- # For CBTF with cti
- depends_on("cbtf@develop+cti", when='@develop+cti', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999+cti", when='@1.9.3:9999+cti', type=('build', 'link', 'run'))
-
# For CBTF with runtime
depends_on("cbtf@develop+runtime", when='@develop+runtime', type=('build', 'link', 'run'))
depends_on("cbtf@1.9.3:9999+runtime", when='@1.9.3:9999+runtime', type=('build', 'link', 'run'))
@@ -68,9 +60,6 @@ class CbtfArgonavis(CMakePackage):
depends_on("cbtf-krell@develop", when='@develop', type=('build', 'link', 'run'))
depends_on("cbtf-krell@1.9.3:9999", when='@1.9.3:9999', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@develop+cti', when='@develop+cti', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+cti', when='@1.9.3:9999+cti', type=('build', 'link', 'run'))
-
depends_on('cbtf-krell@develop+runtime', when='@develop+runtime', type=('build', 'link', 'run'))
depends_on('cbtf-krell@1.9.3:9999+runtime', when='@1.9.3:9999+runtime', type=('build', 'link', 'run'))
diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py
index 3f464d8953..98ff820300 100644
--- a/var/spack/repos/builtin/packages/cbtf-krell/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py
@@ -40,8 +40,6 @@ class CbtfKrell(CMakePackage):
variant('build_type', default='RelWithDebInfo',
description='The build type to build',
values=('Debug', 'Release', 'RelWithDebInfo'))
- variant('cti', default=False,
- description="Build MRNet with the CTI startup option")
variant('crayfe', default=False,
description="build only the FE tool using the runtime_dir \
to point to target build.")
@@ -66,10 +64,7 @@ class CbtfKrell(CMakePackage):
depends_on("dyninst@10.1.0", when='@1.9.3:9999')
# For MRNet
- depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
-
- depends_on("mrnet@5.0.1-3+cti", when='@1.9.3:9999+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999', type=('build', 'link', 'run'))
# For Xerces-C
@@ -79,10 +74,6 @@ class CbtfKrell(CMakePackage):
depends_on("cbtf@develop", when='@develop', type=('build', 'link', 'run'))
depends_on("cbtf@1.9.3:9999", when='@1.9.3:9999', type=('build', 'link', 'run'))
- # For CBTF with cti
- depends_on("cbtf@develop+cti", when='@develop+cti', type=('build', 'link', 'run'))
- depends_on("cbtf@1.9.3:9999+cti", when='@1.9.3:9999+cti', type=('build', 'link', 'run'))
-
# For CBTF with runtime
depends_on("cbtf@develop+runtime", when='@develop+runtime', type=('build', 'link', 'run'))
depends_on("cbtf@1.9.3:9999+runtime", when='@1.9.3:9999+runtime', type=('build', 'link', 'run'))
diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
index 67ae6fe7c6..c260f86498 100644
--- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py
+++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py
@@ -25,15 +25,10 @@ class CbtfLanl(CMakePackage):
variant('runtime', default=False,
description="build only the runtime libraries and collectors.")
- variant('cti', default=False,
- description="Build MRNet with the CTI startup option")
-
depends_on("cmake@3.0.2:", type='build')
# For MRNet
- depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti')
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop')
- depends_on("mrnet@5.0.1-3+cti", when='@1.9.3:9999+cti')
depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999')
# For Xerces-C
@@ -43,10 +38,6 @@ class CbtfLanl(CMakePackage):
depends_on("cbtf@develop", when='@develop')
depends_on("cbtf@1.9.3:9999", when='@1.9.3:9999')
- # For CBTF with cti
- depends_on("cbtf@develop+cti", when='@develop+cti')
- depends_on("cbtf@1.9.3:9999+cti", when='@1.9.3:9999+cti')
-
# For CBTF with runtime
depends_on("cbtf@develop+runtime", when='@develop+runtime')
depends_on("cbtf@1.9.3:9999+runtime", when='@1.9.3:9999+runtime')
@@ -55,9 +46,6 @@ class CbtfLanl(CMakePackage):
depends_on("cbtf-krell@develop", when='@develop')
depends_on("cbtf-krell@1.9.3:9999", when='@1.9.3:9999')
- depends_on('cbtf-krell@develop+cti', when='@develop+cti')
- depends_on('cbtf-krell@1.9.3:9999+cti', when='@1.9.3:9999+cti')
-
depends_on('cbtf-krell@develop+runtime', when='@develop+runtime')
depends_on('cbtf-krell@1.9.3:9999+runtime', when='@1.9.3:9999+runtime')
diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py
index dea5d055d3..080b74ceba 100644
--- a/var/spack/repos/builtin/packages/cbtf/package.py
+++ b/var/spack/repos/builtin/packages/cbtf/package.py
@@ -21,9 +21,6 @@ class Cbtf(CMakePackage):
version('1.9.4', branch='1.9.4')
version('1.9.3', branch='1.9.3')
- variant('cti', default=False,
- description="Build MRNet with the CTI startup option")
-
variant('runtime', default=False,
description="build only the runtime libraries and collectors.")
@@ -42,9 +39,7 @@ class Cbtf(CMakePackage):
depends_on("boost@1.70.0:")
# For MRNet
- depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti')
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop')
- depends_on("mrnet@5.0.1-3+cti", when='@1.9.3:9999+cti')
depends_on("mrnet@5.0.1-3+lwthreads", when='@1.9.3:9999')
# For Xerces-C
diff --git a/var/spack/repos/builtin/packages/ccache/package.py b/var/spack/repos/builtin/packages/ccache/package.py
index 1278c73e2d..c99903b1f7 100644
--- a/var/spack/repos/builtin/packages/ccache/package.py
+++ b/var/spack/repos/builtin/packages/ccache/package.py
@@ -47,6 +47,9 @@ class Ccache(CMakePackage):
conflicts('%gcc@:5', when='@4.4:')
conflicts('%clang@:4', when='@4.4:')
+ def cmake_args(self):
+ return [self.define('ENABLE_TESTING', False)]
+
# Before 4.0 this was an Autotools package
@when('@:3')
def cmake(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/cctools/cctools_6.1.1.python.patch b/var/spack/repos/builtin/packages/cctools/cctools_6.1.1.python.patch
index 726e216e59..726e216e59 100755..100644
--- a/var/spack/repos/builtin/packages/cctools/cctools_6.1.1.python.patch
+++ b/var/spack/repos/builtin/packages/cctools/cctools_6.1.1.python.patch
diff --git a/var/spack/repos/builtin/packages/cctools/cctools_7.0.18.python.patch b/var/spack/repos/builtin/packages/cctools/cctools_7.0.18.python.patch
index 1c8dfc428e..1c8dfc428e 100755..100644
--- a/var/spack/repos/builtin/packages/cctools/cctools_7.0.18.python.patch
+++ b/var/spack/repos/builtin/packages/cctools/cctools_7.0.18.python.patch
diff --git a/var/spack/repos/builtin/packages/cdo/package.py b/var/spack/repos/builtin/packages/cdo/package.py
index 8de2088d7e..f1fb3dede8 100644
--- a/var/spack/repos/builtin/packages/cdo/package.py
+++ b/var/spack/repos/builtin/packages/cdo/package.py
@@ -20,6 +20,9 @@ class Cdo(AutotoolsPackage):
maintainers = ['skosukhin', 'Try2Code']
+ version('2.0.2', sha256='34dfdd0d4126cfd35fc69e37e60901c8622d13ec5b3fa5f0fe6a1cc866cc5a70', url='https://code.mpimet.mpg.de/attachments/download/26654/cdo-2.0.2.tar.gz')
+ version('2.0.1', sha256='d0794d261e22efa0adac8e6d18de2b60d54de5e1a4df6127c65fc417feb8fdac', url='https://code.mpimet.mpg.de/attachments/download/26477/cdo-2.0.1.tar.gz')
+ version('2.0.0', sha256='6bca54e9d69d8c1f072f1996547b7347a65743d15ba751967e9bb16e0ff7a843', url='https://code.mpimet.mpg.de/attachments/download/26370/cdo-2.0.0.tar.gz')
version('1.9.10', sha256='cc39c89bbb481d7b3945a06c56a8492047235f46ac363c4f0d980fccdde6677e', url='https://code.mpimet.mpg.de/attachments/download/24638/cdo-1.9.10.tar.gz')
version('1.9.9', sha256='959b5b58f495d521a7fd1daa84644888ec87d6a0df43f22ad950d17aee5ba98d', url='https://code.mpimet.mpg.de/attachments/download/23323/cdo-1.9.9.tar.gz')
version('1.9.8', sha256='f2660ac6f8bf3fa071cf2a3a196b3ec75ad007deb3a782455e80f28680c5252a', url='https://code.mpimet.mpg.de/attachments/download/20826/cdo-1.9.8.tar.gz')
diff --git a/var/spack/repos/builtin/packages/cgdb/package.py b/var/spack/repos/builtin/packages/cgdb/package.py
index 8c3c2e4ec1..d5d920d926 100644
--- a/var/spack/repos/builtin/packages/cgdb/package.py
+++ b/var/spack/repos/builtin/packages/cgdb/package.py
@@ -9,18 +9,32 @@ from spack import *
class Cgdb(AutotoolsPackage):
"""A curses front-end to GDB"""
- homepage = "https://cgdb.github.io"
- url = "https://cgdb.me/files/cgdb-0.7.0.tar.gz"
+ maintainers = ['tuxfan']
+ homepage = 'https://cgdb.github.io'
+ url = 'https://cgdb.me/files/cgdb-0.7.1.tar.gz'
+ git = 'https://github.com/cgdb/cgdb.git'
+ version('master', branch='master', submodule=False, preferred=True)
+ version('0.7.1', sha256='bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198')
version('0.7.0', sha256='bf7a9264668db3f9342591b08b2cc3bbb08e235ba2372877b4650b70c6fb5423')
# Required dependency
+ depends_on('gdb', type='run')
depends_on('ncurses')
depends_on('readline')
+ depends_on('autoconf', type='build', when='@master')
+ depends_on('automake', type='build', when='@master')
+ depends_on('libtool', type='build', when='@master')
+ depends_on('m4', type='build', when='@master')
depends_on('flex', type='build')
depends_on('bison', type='build')
depends_on('texinfo', type='build')
+ @when('@master')
+ def autoreconf(self, spec, prefix):
+ sh = which('sh')
+ sh('autogen.sh')
+
def configure_args(self):
spec = self.spec
diff --git a/var/spack/repos/builtin/packages/charmpp/fj.patch b/var/spack/repos/builtin/packages/charmpp/fj.patch
index d5df680c0c..d5df680c0c 100755..100644
--- a/var/spack/repos/builtin/packages/charmpp/fj.patch
+++ b/var/spack/repos/builtin/packages/charmpp/fj.patch
diff --git a/var/spack/repos/builtin/packages/clhep/package.py b/var/spack/repos/builtin/packages/clhep/package.py
index 65b04a35c7..9717ca69f0 100644
--- a/var/spack/repos/builtin/packages/clhep/package.py
+++ b/var/spack/repos/builtin/packages/clhep/package.py
@@ -18,6 +18,7 @@ class Clhep(CMakePackage):
maintainers = ['drbenmorgan']
+ version('2.4.5.1', sha256='2517c9b344ad9f55974786ae6e7a0ef8b22f4abcbf506df91194ea2299ce3813')
version('2.4.4.0', sha256='5df78c11733a091da9ae5a24ce31161d44034dd45f20455587db85f1ca1ba539')
version('2.4.1.3', sha256='27c257934929f4cb1643aa60aeaad6519025d8f0a1c199bc3137ad7368245913')
version('2.4.1.2', sha256='ff96e7282254164380460bc8cf2dff2b58944084eadcd872b5661eb5a33fa4b8')
diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py
index 6832fd65cf..e4eb15c5e0 100644
--- a/var/spack/repos/builtin/packages/clingo/package.py
+++ b/var/spack/repos/builtin/packages/clingo/package.py
@@ -26,6 +26,7 @@ class Clingo(CMakePackage):
version('master', branch='master', submodules=True)
version('spack', commit='2a025667090d71b2c9dce60fe924feb6bde8f667', submodules=True)
+ version('5.5.1', sha256='b9cf2ba2001f8241b8b1d369b6f353e628582e2a00f13566e51c03c4dd61f67e')
version('5.5.0', sha256='c9d7004a0caec61b636ad1c1960fbf339ef8fdee9719321fc1b6b210613a8499')
version('5.4.1', sha256='ac6606388abfe2482167ce8fd4eb0737ef6abeeb35a9d3ac3016c6f715bfee02')
version('5.4.0', sha256='e2de331ee0a6d254193aab5995338a621372517adcf91568092be8ac511c18f3')
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index d7fde8d65f..b4f052a4f8 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -22,6 +22,8 @@ class Cmake(Package):
executables = ['^cmake$']
version('master', branch='master')
+ version('3.22.1', sha256='0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0')
+ version('3.22.0', sha256='998c7ba34778d2dfdb3df8a695469e24b11e2bfa21fbe41b361a3f45e1c9345e')
version('3.21.4', sha256='d9570a95c215f4c9886dd0f0564ca4ef8d18c30750f157238ea12669c2985978')
version('3.21.3', sha256='d14d06df4265134ee42c4d50f5a60cb8b471b7b6a47da8e5d914d49dd783794f')
version('3.21.2', sha256='94275e0b61c84bb42710f5320a23c6dcb2c6ee032ae7d2a616f53f68b3d21659')
diff --git a/var/spack/repos/builtin/packages/cni-plugins/package.py b/var/spack/repos/builtin/packages/cni-plugins/package.py
new file mode 100644
index 0000000000..f02cdae953
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cni-plugins/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class CniPlugins(Package):
+ """Standard networking plugins for container networking"""
+
+ homepage = 'https://github.com/containernetworking/plugins'
+ url = 'https://github.com/containernetworking/plugins/archive/v1.0.1.tar.gz'
+ maintainers = ['bernhardkaindl']
+
+ version('1.0.1', sha256='2ba3cd9f341a7190885b60d363f6f23c6d20d975a7a0ab579dd516f8c6117619')
+
+ depends_on('go', type='build')
+
+ def install(self, spec, prefix):
+ utils = 'github.com/containernetworking/plugins/pkg/utils/buildversion'
+ which('./build_linux.sh')(
+ '-ldflags',
+ '-extldflags -static -X {0}.BuildVersion={1}'.format(utils, self.version),
+ )
+ install_tree('bin', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/conmon/package.py b/var/spack/repos/builtin/packages/conmon/package.py
new file mode 100644
index 0000000000..73589b3914
--- /dev/null
+++ b/var/spack/repos/builtin/packages/conmon/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Conmon(MakefilePackage):
+ """An OCI container runtime monitor"""
+
+ homepage = 'https://github.com/containers/conmon'
+ url = 'https://github.com/containers/conmon/archive/v2.0.30.tar.gz'
+ maintainers = ['bernhardkaindl']
+
+ version('2.0.30', sha256='4b0a98fbe8a63c42f60edac25c19aa6606caa7b1e4fe7846fc7f7de0b566ba25')
+
+ depends_on('go', type='build')
+ depends_on('go-md2man', type='build')
+ depends_on('pkgconfig', type='build')
+ depends_on('libseccomp')
+ depends_on('glib')
+
+ def install(self, spec, prefix):
+ make('install', 'PREFIX=' + prefix)
diff --git a/var/spack/repos/builtin/packages/cosign/package.py b/var/spack/repos/builtin/packages/cosign/package.py
new file mode 100644
index 0000000000..2ebc71b5bc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cosign/package.py
@@ -0,0 +1,34 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import os
+
+from spack import *
+
+
+class Cosign(Package):
+ """
+ Cosign is a go package for container Signing, verification and storage
+ in an OCI registry.
+ """
+
+ homepage = "https://github.com/sigstore/cosign"
+ url = "https://github.com/sigstore/cosign/archive/refs/tags/v1.3.1.tar.gz"
+ git = "https://github.com/sigstore/cosign.git"
+
+ version('main', branch='main')
+ version('1.3.1', sha256='7f7e0af52ee8d795440e66dcc1a7a25783e22d30935f4f957779628b348f38af')
+
+ depends_on("go", type='build')
+
+ def setup_build_environment(self, env):
+ # Point GOPATH at the top of the staging dir for the build step.
+ env.prepend_path('GOPATH', self.stage.path)
+
+ def install(self, spec, prefix):
+ go = which("go")
+ go("build", "-o", "cosign", os.path.join("cmd", "cosign", "main.go"))
+ mkdirp(prefix.bin)
+ install("cosign", prefix.bin)
diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py
index d1ac5b086e..18ec324a7e 100644
--- a/var/spack/repos/builtin/packages/cp2k/package.py
+++ b/var/spack/repos/builtin/packages/cp2k/package.py
@@ -53,14 +53,15 @@ class Cp2k(MakefilePackage, CudaPackage):
' and BQB compression'))
variant('spglib', default=False, description='Enable support for spglib')
- variant('cuda_arch_35_k20x', default=False,
- description=('CP2K (resp. DBCSR) has specific parameter sets for'
- ' different GPU models. Enable this when building'
- ' with cuda_arch=35 for a K20x instead of a K40'))
- variant('cuda_fft', default=False,
- description=('Use CUDA also for FFTs in the PW part of CP2K'))
- variant('cuda_blas', default=False,
- description=('Use CUBLAS for general matrix operations in DBCSR'))
+ with when('+cuda'):
+ variant('cuda_arch_35_k20x', default=False,
+ description=('CP2K (resp. DBCSR) has specific parameter sets for'
+ ' different GPU models. Enable this when building'
+ ' with cuda_arch=35 for a K20x instead of a K40'))
+ variant('cuda_fft', default=False,
+ description=('Use CUDA also for FFTs in the PW part of CP2K'))
+ variant('cuda_blas', default=False,
+ description=('Use CUBLAS for general matrix operations in DBCSR'))
HFX_LMAX_RANGE = range(4, 8)
@@ -167,8 +168,6 @@ class Cp2k(MakefilePackage, CudaPackage):
depends_on('python@3.6:', when='@7:+cuda', type='build')
depends_on('spglib', when='+spglib')
- conflicts('~cuda', '+cuda_fft')
- conflicts('~cuda', '+cuda_blas')
# Apparently cp2k@4.1 needs an "experimental" version of libwannier.a
# which is only available contacting the developer directly. See INSTALL
@@ -487,11 +486,11 @@ class Cp2k(MakefilePackage, CudaPackage):
# Currently AOCC support only static libraries of ELPA
if '%aocc' in spec:
- libs.append(join_path(elpa.prefix.lib,
+ libs.append(join_path(elpa.libs.directories[0],
('libelpa{elpa_suffix}.a'
.format(elpa_suffix=elpa_suffix))))
else:
- libs.append(join_path(elpa.prefix.lib,
+ libs.append(join_path(elpa.libs.directories[0],
('libelpa{elpa_suffix}.{dso_suffix}'
.format(elpa_suffix=elpa_suffix,
dso_suffix=dso_suffix))))
@@ -662,7 +661,7 @@ class Cp2k(MakefilePackage, CudaPackage):
]
def build(self, spec, prefix):
- if len(spec.variants['cuda_arch'].value) > 1:
+ if '+cuda' in spec and len(spec.variants['cuda_arch'].value) > 1:
raise InstallError("cp2k supports only one cuda_arch at a time")
# Apparently the Makefile bases its paths on PWD
diff --git a/var/spack/repos/builtin/packages/cpio/package.py b/var/spack/repos/builtin/packages/cpio/package.py
index 90f195bc90..0134fb1b66 100644
--- a/var/spack/repos/builtin/packages/cpio/package.py
+++ b/var/spack/repos/builtin/packages/cpio/package.py
@@ -9,8 +9,8 @@ from spack import *
class Cpio(AutotoolsPackage, GNUMirrorPackage):
- """GNU cpio copies files into or out of a cpio or tar archive. The
- archive can be another file on the disk, a magnetic tape, or a pipe.
+ """GNU cpio copies files into or out of a cpio or tar archive and the file system.
+ The archive can be another file on the disk, a magnetic tape, or a pipe.
"""
homepage = "https://www.gnu.org/software/cpio/"
gnu_mirror_path = "cpio/cpio-2.13.tar.gz"
@@ -19,10 +19,12 @@ class Cpio(AutotoolsPackage, GNUMirrorPackage):
version('2.13', sha256='e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88')
- patch('https://src.fedoraproject.org/rpms/cpio/raw/dfe64c466d3ea2c8dfbd99700d9006f610064167/f/cpio-2.13-mutiple-definition.patch', sha256='d22633c368b8aedf4c08b23b6fbaa81a52404c8943ab04926404083ac10f1a4b', when='%gcc@10:')
-
build_directory = 'spack-build'
+ def patch(self):
+ """Fix mutiple definition of char *program_name for gcc@10: and clang"""
+ filter_file(r'char \*program_name;', '', 'src/global.c')
+
@classmethod
def determine_version(cls, exe):
output = Executable(exe)('--version', output=str, error=str)
diff --git a/var/spack/repos/builtin/packages/cray-libsci/package.py b/var/spack/repos/builtin/packages/cray-libsci/package.py
index bb21ecdfef..b5e00e7071 100755..100644
--- a/var/spack/repos/builtin/packages/cray-libsci/package.py
+++ b/var/spack/repos/builtin/packages/cray-libsci/package.py
@@ -12,6 +12,7 @@ class CrayLibsci(Package):
homepage = "https://docs.nersc.gov/development/libraries/libsci/"
has_code = False # Skip attempts to fetch source that is not available
+ version("21.08.1.2")
version("20.06.1")
version("20.03.1")
version("19.06.1")
diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py
index 70f259df2a..d11547f506 100644
--- a/var/spack/repos/builtin/packages/cuda/package.py
+++ b/var/spack/repos/builtin/packages/cuda/package.py
@@ -25,6 +25,10 @@ from spack import *
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
+ '11.5.1': {
+ 'Linux-aarch64': ('73e1d0e97c7fa686efe7e00fb1e5f179372c4eec8e14d4f44ab58d5f6cf57f63', 'https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux_sbsa.run'),
+ 'Linux-x86_64': ('60bea2fc0fac95574015f865355afbf599422ec2c85554f5f052b292711a4bca', 'https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux.run'),
+ 'Linux-ppc64le': ('9e0e494d945634fe8ad3e12d7b91806aa4220ed27487bb211030d651b27c67a9', 'https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda_11.5.1_495.29.05_linux_ppc64le.run')},
'11.5.0': {
'Linux-aarch64': ('6ea9d520cc956cc751a5ac54f4acc39109627f4e614dd0b1a82cc86f2aa7d8c4', 'https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux_sbsa.run'),
'Linux-x86_64': ('ae0a1693d9497cf3d81e6948943e3794636900db71c98d58eefdacaf7f1a1e4c', 'https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run'),
diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py
index 198d3b29ad..5f3f26d898 100644
--- a/var/spack/repos/builtin/packages/curl/package.py
+++ b/var/spack/repos/builtin/packages/curl/package.py
@@ -16,6 +16,8 @@ class Curl(AutotoolsPackage):
# URL must remain http:// so Spack can bootstrap curl
url = "http://curl.haxx.se/download/curl-7.78.0.tar.bz2"
+ version('7.80.0', sha256='dd0d150e49cd950aff35e16b628edf04927f0289df42883750cf952bb858189c')
+ version('7.79.1', sha256='de62c4ab9a9316393962e8b94777a570bb9f71feb580fb4475e412f2f9387851')
version('7.79.0', sha256='d607a677f473f79f96c964100327125a6204a39d835dc00dab7fc0129b959f42')
version('7.78.0', sha256='98530b317dc95ccb324bbe4f834f07bb642fbc393b794ddf3434f246a71ea44a')
version('7.77.0', sha256='6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea')
diff --git a/var/spack/repos/builtin/packages/cyrus-sasl/package.py b/var/spack/repos/builtin/packages/cyrus-sasl/package.py
index 355180ab79..930de4aa7c 100644
--- a/var/spack/repos/builtin/packages/cyrus-sasl/package.py
+++ b/var/spack/repos/builtin/packages/cyrus-sasl/package.py
@@ -24,3 +24,4 @@ class CyrusSasl(AutotoolsPackage):
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
+ depends_on('groff', type='build')
diff --git a/var/spack/repos/builtin/packages/czmq/package.py b/var/spack/repos/builtin/packages/czmq/package.py
index c09987df73..67a3b71c9b 100644
--- a/var/spack/repos/builtin/packages/czmq/package.py
+++ b/var/spack/repos/builtin/packages/czmq/package.py
@@ -19,6 +19,8 @@ class Czmq(AutotoolsPackage):
depends_on('automake', type='build')
depends_on('autoconf', type='build')
depends_on('pkgconfig', type='build')
+ depends_on('docbook-xml', type='build')
+ depends_on('docbook-xsl', type='build')
depends_on('uuid')
depends_on('libzmq')
diff --git a/var/spack/repos/builtin/packages/dbus/package.py b/var/spack/repos/builtin/packages/dbus/package.py
index 4efbc8ddd5..0681b1cfa6 100644
--- a/var/spack/repos/builtin/packages/dbus/package.py
+++ b/var/spack/repos/builtin/packages/dbus/package.py
@@ -28,6 +28,8 @@ class Dbus(Package):
version('1.8.2', sha256='5689f7411165adc953f37974e276a3028db94447c76e8dd92efe910c6d3bae08')
depends_on('pkgconfig', type='build')
+ depends_on('docbook-xml@4.4', type='build')
+ depends_on('docbook-xsl', type='build')
depends_on('expat')
depends_on('glib')
depends_on('libsm')
diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py
index c85f936de7..7e6d940281 100644
--- a/var/spack/repos/builtin/packages/dd4hep/package.py
+++ b/var/spack/repos/builtin/packages/dd4hep/package.py
@@ -24,21 +24,25 @@ class Dd4hep(CMakePackage):
tags = ['hep']
version('master', branch='master')
+ version('1.19', sha256='d2eccf5e8402ba7dab2e1d7236e12ee4db9b1c5e4253c40a140bf35580db1d9b')
version('1.18', sha256='1e909a42b969dfd966224fa8ab1eca5aa05136baf3c00a140f2f6d812b497152')
version('1.17', sha256='036a9908aaf1e13eaf5f2f43b6f5f4a8bdda8183ddc5befa77a4448dbb485826')
version('1.16.1', sha256='c8b1312aa88283986f89cc008d317b3476027fd146fdb586f9f1fbbb47763f1a')
- version('1.16', sha256='ea9755cd255cf1b058e0e3cd743101ca9ca5ff79f4c60be89f9ba72b1ae5ec69')
- version('1.15', sha256='992a24bd4b3dfaffecec9d1c09e8cde2c7f89d38756879a47b23208242f4e352')
- version('1.14.1', sha256='5b5742f1e23c2b36d3174cca95f810ce909c0eb66f3d6d7acb0ba657819e6717')
- version('1.14', sha256='b603aa3c0db8dda392253aa71fa4a0f0c3c9715d47df0b895d45c1e8849f4895')
- version('1.13.1', sha256='83fa70cd74ce93b2f52f098388dff58d179f05ace5b50aea3f408bb8abf7cb73')
- version('1.13', sha256='0b1f9d902ebe21a9178c1e41204c066b29f68c8836fd1d03a9ce979811ddb295')
- version('1.12.1', sha256='85e8c775ec03c499ce10911e228342e757c81ce9ef2a9195cb253b85175a2e93')
- version('1.12', sha256='133a1fb8ce0466d2482f3ebb03e60b3bebb9b2d3e33d14ba15c8fbb91706b398')
- version('1.11.2', sha256='96a53dd26cb8df11c6dae54669fbc9cc3c90dd47c67e07b24be9a1341c95abc4')
- version('1.11.1', sha256='d7902dd7f6744bbda92f6e303ad5a3410eec4a0d2195cdc86f6c1167e72893f0')
- version('1.11', sha256='25643296f15f9d11ad4ad550b7c3b92e8974fc56f1ee8e4455501010789ae7b6')
- version('1.10', sha256='1d6b5d1c368dc8bcedd9c61b7c7e1a44bad427f8bd34932516aff47c88a31d95')
+ # versions older than 1.16.1 are no longer supported
+ # (they need several patches like https://github.com/AIDASoft/DD4hep/pull/796)
+ version('1.16', sha256='ea9755cd255cf1b058e0e3cd743101ca9ca5ff79f4c60be89f9ba72b1ae5ec69', deprecated=True)
+ version('1.15', sha256='992a24bd4b3dfaffecec9d1c09e8cde2c7f89d38756879a47b23208242f4e352', deprecated=True)
+ version('1.14.1', sha256='5b5742f1e23c2b36d3174cca95f810ce909c0eb66f3d6d7acb0ba657819e6717', deprecated=True)
+ version('1.14', sha256='b603aa3c0db8dda392253aa71fa4a0f0c3c9715d47df0b895d45c1e8849f4895', deprecated=True)
+ version('1.13.1', sha256='83fa70cd74ce93b2f52f098388dff58d179f05ace5b50aea3f408bb8abf7cb73', deprecated=True)
+ version('1.13', sha256='0b1f9d902ebe21a9178c1e41204c066b29f68c8836fd1d03a9ce979811ddb295', deprecated=True)
+ version('1.12.1', sha256='85e8c775ec03c499ce10911e228342e757c81ce9ef2a9195cb253b85175a2e93', deprecated=True)
+ # these version won't build with +ddcad as the subpackage doesn't exit yet
+ version('1.12', sha256='133a1fb8ce0466d2482f3ebb03e60b3bebb9b2d3e33d14ba15c8fbb91706b398', deprecated=True)
+ version('1.11.2', sha256='96a53dd26cb8df11c6dae54669fbc9cc3c90dd47c67e07b24be9a1341c95abc4', deprecated=True)
+ version('1.11.1', sha256='d7902dd7f6744bbda92f6e303ad5a3410eec4a0d2195cdc86f6c1167e72893f0', deprecated=True)
+ version('1.11', sha256='25643296f15f9d11ad4ad550b7c3b92e8974fc56f1ee8e4455501010789ae7b6', deprecated=True)
+ version('1.10', sha256='1d6b5d1c368dc8bcedd9c61b7c7e1a44bad427f8bd34932516aff47c88a31d95', deprecated=True)
generator = 'Ninja'
@@ -50,13 +54,24 @@ class Dd4hep(CMakePackage):
# See https://github.com/spack/spack/issues/24232
patch('cmake_language.patch', when='@:1.17')
+ # variants for subpackages
+ variant('ddcad', default=True, description="Enable CAD interface based on Assimp")
+ variant('ddg4', default=True, description="Enable the simulation part based on Geant4")
+ variant('ddrec', default=True, description="Build DDRec subpackage.")
+ variant('dddetectors', default=True, description="Build DDDetectors subpackage.")
+ variant('ddcond', default=True, description="Build DDCond subpackage.")
+ variant('ddalign', default=True, description="Build DDAlign subpackage.")
+ variant('dddigi', default=True, description="Build DDDigi subpackage.")
+ variant('ddeve', default=True, description="Build DDEve subpackage.")
+ variant('utilityapps', default=True, description='Build UtilityApps subpackage.')
+
+ # variants for other build options
variant('xercesc', default=False, description="Enable 'Detector Builders' based on XercesC")
- variant('geant4', default=False, description="Enable the simulation part based on Geant4")
- variant('assimp', default=False, description="Enable CAD interface based on Assimp")
variant('hepmc3', default=False, description="Enable build with hepmc3")
variant('lcio', default=False, description="Enable build with lcio")
variant('edm4hep', default=True, description="Enable build with edm4hep")
variant('geant4units', default=False, description="Use geant4 units throughout")
+ variant('tbb', default=False, description="Enable build with tbb")
variant('debug', default=False,
description="Enable debug build flag - adds extra info in"
" some places in addtion to the debug build type")
@@ -64,12 +79,14 @@ class Dd4hep(CMakePackage):
depends_on('cmake @3.12:', type='build')
depends_on('ninja', type='build')
depends_on('boost @1.49:')
- depends_on('root @6.08: +gdml +math +opengl +python +x')
+ depends_on('root @6.08: +gdml +math +python')
+ depends_on('root @6.08: +gdml +math +python +x +opengl', when="+ddeve")
extends('python')
depends_on('xerces-c', when='+xercesc')
- depends_on('geant4@10.2.2:', when='+geant4')
- depends_on('assimp@5.0.2:', when='+assimp')
+ depends_on('geant4@10.2.2:', when='+ddg4')
+ depends_on('assimp@5.0.2:', when='+ddcad')
depends_on('hepmc3', when="+hepmc3")
+ depends_on('intel-tbb', when='+tbb')
depends_on('lcio', when="+lcio")
depends_on('edm4hep', when="+edm4hep")
depends_on('py-pytest', type="test")
@@ -77,6 +94,7 @@ class Dd4hep(CMakePackage):
# See https://github.com/AIDASoft/DD4hep/pull/771
conflicts('^cmake@3.16:3.17.0', when='@1.15',
msg='cmake version with buggy FindPython breaks dd4hep cmake config')
+ conflicts('~ddrec+dddetectors', msg="Need to enable +ddrec to build +dddetectors.")
def cmake_args(self):
spec = self.spec
@@ -87,7 +105,8 @@ class Dd4hep(CMakePackage):
args = [
self.define_from_variant('DD4HEP_USE_EDM4HEP', 'edm4hep'),
self.define_from_variant('DD4HEP_USE_XERCESC', 'xercesc'),
- self.define_from_variant('DD4HEP_USE_GEANT4', 'geant4'),
+ self.define_from_variant('DD4HEP_USE_TBB', 'tbb'),
+ self.define_from_variant('DD4HEP_USE_GEANT4', 'ddg4'),
self.define_from_variant('DD4HEP_USE_LCIO', 'lcio'),
self.define_from_variant('DD4HEP_USE_HEPMC3', 'hepmc3'),
self.define_from_variant('DD4HEP_USE_GEANT4_UNITS', 'geant4units'),
@@ -102,6 +121,27 @@ class Dd4hep(CMakePackage):
"-DBoost_NO_BOOST_CMAKE=ON",
"-DPYTHON_EXECUTABLE={0}".format(spec['python'].command.path),
]
+ subpackages = []
+ if spec.satisfies('+ddg4'):
+ subpackages += ['DDG4']
+ if spec.satisfies('+ddcond'):
+ subpackages += ['DDCond']
+ if spec.satisfies('+ddcad'):
+ subpackages += ['DDCAD']
+ if spec.satisfies('+ddrec'):
+ subpackages += ['DDRec']
+ if spec.satisfies('+dddetectors'):
+ subpackages += ['DDDetectors']
+ if spec.satisfies('+ddalign'):
+ subpackages += ['DDAlign']
+ if spec.satisfies('+dddigi'):
+ subpackages += ['DDDigi']
+ if spec.satisfies('+ddeve'):
+ subpackages += ['DDEve']
+ if spec.satisfies('+utilityapps'):
+ subpackages += ['UtilityApps']
+ subpackages = ' '.join(subpackages)
+ args += [self.define('DD4HEP_BUILD_PACKAGES', subpackages)]
return args
def setup_run_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index 17f5cbd75b..9c288912e2 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -25,6 +25,7 @@ class Dealii(CMakePackage, CudaPackage):
generator = 'Ninja'
version('master', branch='master')
+ version('9.3.2', sha256='5341d76bfd75d3402fc6907a875513efb5fe8a8b99af688d94443c492d5713e8')
version('9.3.1', sha256='a62f4676ab2dc029892251d141427fb75cbb83cddd606019f615d0dde9c61ab8')
version('9.3.0', sha256='aef8c7a87510ce827dfae3bdd4ed7bff82004dc09f96fa7a65b2554f2839b931')
version('9.2.0', sha256='d05a82fb40f1f1e24407451814b5a6004e39366a44c81208b1ae9d65f3efa43a')
diff --git a/var/spack/repos/builtin/packages/delly2/package.py b/var/spack/repos/builtin/packages/delly2/package.py
index a674d4e17d..3690a086b9 100644
--- a/var/spack/repos/builtin/packages/delly2/package.py
+++ b/var/spack/repos/builtin/packages/delly2/package.py
@@ -15,31 +15,43 @@ class Delly2(MakefilePackage):
homepage = "https://github.com/dellytools/delly"
git = "https://github.com/dellytools/delly.git"
- version('2017-08-03', commit='e32a9cd55c7e3df5a6ae4a91f31a0deb354529fc')
+ version('0.9.1', tag='v0.9.1')
+ version('2017-08-03', commit='e32a9cd55c7e3df5a6ae4a91f31a0deb354529fc', deprecated=True)
- depends_on('htslib')
- depends_on('boost')
- depends_on('bcftools')
+ variant('openmp', default=False, description='Build with openmp support')
+
+ depends_on('htslib', type=('build', 'link'))
+ depends_on('boost', type=('build', 'link'))
+ depends_on('bcftools', type='run')
def edit(self, spec, prefix):
+ if '+openmp' in self.spec:
+ env['PARALLEL'] = '1'
# Only want to build delly source, not submodules. Build fails
# using provided submodules, succeeds with existing spack recipes.
- makefile = FileFilter('Makefile')
- makefile.filter('HTSLIBSOURCES =', '#HTSLIBSOURCES')
- makefile.filter('BOOSTSOURCES =', '#BOOSTSOURCES')
- makefile.filter('SEQTK_ROOT ?=', '#SEQTK_ROOT')
- makefile.filter('BOOST_ROOT ?=', '#BOOST_ROOT')
- makefile.filter('cd src', '# cd src')
- makefile.filter('.htslib ', '')
- makefile.filter('.bcftools ', '')
- makefile.filter('.boost ', '')
- makefile.filter('.htslib:', '# .htslib:')
- makefile.filter('.bcftools:', '# .bcftools:')
- makefile.filter('.boost:', '# .boost:')
+ if self.spec.satisfies('@2017-08-03'):
+ makefile = FileFilter('Makefile')
+ makefile.filter('HTSLIBSOURCES =', '#HTSLIBSOURCES')
+ makefile.filter('BOOSTSOURCES =', '#BOOSTSOURCES')
+ makefile.filter('SEQTK_ROOT ?=', '#SEQTK_ROOT')
+ makefile.filter('BOOST_ROOT ?=', '#BOOST_ROOT')
+ makefile.filter('cd src', '# cd src')
+ makefile.filter('.htslib ', '')
+ makefile.filter('.bcftools ', '')
+ makefile.filter('.boost ', '')
+ makefile.filter('.htslib:', '# .htslib:')
+ makefile.filter('.bcftools:', '# .bcftools:')
+ makefile.filter('.boost:', '# .boost:')
+ else:
+ env['EBROOTHTSLIB'] = self.spec['htslib'].prefix
+ filter_file('BUILT_PROGRAMS =.*$',
+ 'BUILT_PROGRAMS = src/delly src/dpe', 'Makefile')
+ filter_file('${SUBMODULES}', '', 'Makefile', string=True)
def install(self, spec, prefix):
mkdirp(prefix.bin)
with working_dir('src'):
install('delly', prefix.bin)
install('dpe', prefix.bin)
- install('cov', prefix.bin)
+ if self.spec.satisfies('@2017-08-03'):
+ install('cov', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/dpcpp/package.py b/var/spack/repos/builtin/packages/dpcpp/package.py
new file mode 100644
index 0000000000..6e67f4a390
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dpcpp/package.py
@@ -0,0 +1,157 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+import os
+
+from spack import *
+
+
+class Dpcpp(CMakePackage):
+ """Data Parallel C++ compiler: Intel's implementation of SYCL programming model"""
+
+ homepage = 'https://intel.github.io/llvm-docs/'
+ git = 'https://github.com/intel/llvm.git'
+
+ version('develop', branch='sycl')
+ version('2021.09', commit='bd68232bb96386bf7649345c0557ba520e73c02d')
+
+ maintainers = ['ravil-mobile']
+ variant('cuda', default=False, description='switch from OpenCL to CUDA')
+ variant('rocm', default=False, description='switch from OpenCL to ROCm')
+ variant('rocm-platform', default='AMD', values=('AMD', 'NVIDIA'), multi=False, description='choose ROCm backend')
+ variant('openmp', default=False, description='build with OpenMP without target offloading')
+ variant('esimd-cpu', default=False, description='build with ESIMD_CPU support')
+ variant('assertions', default=False, description='build with assertions')
+ variant('docs', default=False, description='build Doxygen documentation')
+ variant('werror', default=False, description='treat warnings as errors')
+ variant('shared', default=False, description='build shared libraries')
+ variant('remangle_libclc', default=True, description='remangle libclc gen. variants')
+ variant('lld', default=False, description='use LLD linker for build')
+
+ depends_on('cmake@3.16.2:', type='build')
+ depends_on('ninja@1.10.0:', type='build')
+
+ depends_on('cuda@10.2.0:11.4.999', when='+cuda')
+
+ # NOTE: AMD HIP needs to be tested; it will be done in the next update
+ # depends_on('cuda@10.2.0:10.2.999', when='rocm-platform=NVIDIA', type='build')
+ # depends_on('hip@4.0.0:', when='+rocm', type='build')
+
+ root_cmakelists_dir = 'llvm'
+
+ def cmake_args(self):
+ llvm_external_projects = 'sycl;llvm-spirv;opencl;libdevice;xpti;xptifw'
+
+ if '+openmp' in self.spec:
+ llvm_external_projects += ';openmp'
+
+ sycl_dir = os.path.join(self.stage.source_path, 'sycl')
+ spirv_dir = os.path.join(self.stage.source_path, 'llvm-spirv')
+ xpti_dir = os.path.join(self.stage.source_path, 'xpti')
+ xptifw_dir = os.path.join(self.stage.source_path, 'xptifw')
+ libdevice_dir = os.path.join(self.stage.source_path, 'libdevice')
+ llvm_enable_projects = 'clang;' + llvm_external_projects
+ libclc_targets_to_build = ''
+ sycl_build_pi_rocm_platform = self.spec.variants['rocm-platform'].value
+
+ if self.spec.satisfies('target=x86_64:'):
+ llvm_targets_to_build = 'X86'
+ elif self.spec.satisfies('target=aarch64:'):
+ llvm_targets_to_build = 'ARM;AArch64'
+ else:
+ raise InstallError('target is not supported. '
+ 'This package only works on x86_64 or aarch64')
+
+ is_cuda = '+cuda' in self.spec
+ is_rocm = '+rocm' in self.spec
+
+ if is_cuda or is_rocm:
+ llvm_enable_projects += ';libclc'
+
+ if is_cuda:
+ llvm_targets_to_build += ';NVPTX'
+ libclc_targets_to_build = 'nvptx64--;nvptx64--nvidiacl'
+
+ if is_rocm:
+ if sycl_build_pi_rocm_platform == 'AMD':
+ llvm_targets_to_build += ';AMDGPU'
+ libclc_targets_to_build += ';amdgcn--;amdgcn--amdhsa'
+ elif sycl_build_pi_rocm_platform and not is_cuda:
+ llvm_targets_to_build += ';NVPTX'
+ libclc_targets_to_build += ';nvptx64--;nvptx64--nvidiacl'
+
+ args = [
+ self.define_from_variant('LLVM_ENABLE_ASSERTIONS', 'assertions'),
+ self.define('LLVM_TARGETS_TO_BUILD', llvm_targets_to_build),
+ self.define('LLVM_EXTERNAL_PROJECTS', llvm_external_projects),
+ self.define('LLVM_EXTERNAL_SYCL_SOURCE_DIR', sycl_dir),
+ self.define('LLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR', spirv_dir),
+ self.define('LLVM_EXTERNAL_XPTI_SOURCE_DIR', xpti_dir),
+ self.define('XPTI_SOURCE_DIR', xpti_dir),
+ self.define('LLVM_EXTERNAL_XPTIFW_SOURCE_DIR', xptifw_dir),
+ self.define('LLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR', libdevice_dir),
+ self.define('LLVM_ENABLE_PROJECTS', llvm_enable_projects),
+ self.define('LIBCLC_TARGETS_TO_BUILD', libclc_targets_to_build),
+ self.define_from_variant('SYCL_BUILD_PI_CUDA', 'cuda'),
+ self.define_from_variant('SYCL_BUILD_PI_ROCM', 'rocm'),
+ self.define('SYCL_BUILD_PI_ROCM_PLATFORM', sycl_build_pi_rocm_platform),
+ self.define('LLVM_BUILD_TOOLS', True),
+ self.define_from_variant('SYCL_ENABLE_WERROR', 'werror'),
+ self.define('SYCL_INCLUDE_TESTS', True),
+ self.define_from_variant('LIBCLC_GENERATE_REMANGLED_VARIANTS',
+ 'remangle_libclc'),
+ self.define_from_variant('LLVM_ENABLE_DOXYGEN', 'docs'),
+ self.define_from_variant('LLVM_ENABLE_SPHINX', 'docs'),
+ self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define('SYCL_ENABLE_XPTI_TRACING', 'ON'),
+ self.define_from_variant('LLVM_ENABLE_LLD', 'lld'),
+ self.define_from_variant('SYCL_BUILD_PI_ESIMD_CPU', 'esimd-cpu'),
+ ]
+
+ if is_cuda or (is_rocm and sycl_build_pi_rocm_platform == 'NVIDIA'):
+ args.append(
+ self.define('CUDA_TOOLKIT_ROOT_DIR', self.spec['cuda'].prefix)
+ )
+
+ if '+openmp' in self.spec:
+ omp_dir = os.path.join(self.stage.source_path, 'openmp')
+ args.extend([
+ self.define('LLVM_EXTERNAL_OPENMP_SOURCE_DIR', omp_dir),
+ self.define('OPENMP_ENABLE_LIBOMPTARGET', False),
+ ])
+
+ if self.compiler.name == 'gcc':
+ gcc_prefix = ancestor(self.compiler.cc, 2)
+ args.append(self.define('GCC_INSTALL_PREFIX', gcc_prefix))
+
+ return args
+
+ def setup_build_environment(self, env):
+ if '+cuda' in self.spec:
+ env.set('CUDA_LIB_PATH', '{0}/lib64/stubs'.format(self.spec['cuda'].prefix))
+
+ @run_after("install")
+ def post_install(self):
+ clang_cpp_path = os.path.join(self.spec.prefix.bin, 'clang++')
+ dpcpp_path = os.path.join(self.spec.prefix.bin, 'dpcpp')
+
+ real_clang_cpp_path = os.path.realpath(clang_cpp_path)
+ os.symlink(real_clang_cpp_path, dpcpp_path)
+
+ def setup_run_environment(self, env):
+ bin_path = self.spec.prefix.bin
+ for env_var_name, compiler in zip(['CC', 'CXX'], ['clang', 'clang++']):
+ env.set(env_var_name, os.path.join(bin_path, compiler))
+
+ include_env_vars = ['C_INCLUDE_PATH', 'CPLUS_INCLUDE_PATH', 'INCLUDE']
+ for var in include_env_vars:
+ env.prepend_path(var, self.prefix.include)
+ env.prepend_path(var, self.prefix.include.sycl)
+
+ sycl_build_pi_rocm_platform = self.spec.variants['rocm-platform'].value
+ if '+cuda' in self.spec or sycl_build_pi_rocm_platform == 'NVIDIA':
+ env.prepend_path('PATH', self.spec['cuda'].prefix.bin)
+ env.set('CUDA_TOOLKIT_ROOT_DIR', self.spec['cuda'].prefix)
diff --git a/var/spack/repos/builtin/packages/dsfmt/package.py b/var/spack/repos/builtin/packages/dsfmt/package.py
new file mode 100644
index 0000000000..83a449d6a4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dsfmt/package.py
@@ -0,0 +1,32 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Dsfmt(MakefilePackage):
+ """Double precision SIMD-oriented Fast Mersenne Twister"""
+
+ homepage = "http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/SFMT/"
+ url = "https://github.com/MersenneTwister-Lab/dSFMT/archive/v2.2.4.tar.gz"
+
+ maintainers = ['haampie']
+
+ # This package does not have a target to build a library nor a make install target,
+ # so we add it for them.
+ patch('targets.patch')
+
+ version('2.2.5', sha256='b7bc498cd140b4808963b1ff9f33b42a491870f54775c1060ecad0e02bcaffb4')
+ version('2.2.4', sha256='39682961ecfba621a98dbb6610b6ae2b7d6add450d4f08d8d4edd0e10abd8174')
+
+ @property
+ def libs(self):
+ return find_libraries('libdSFMT', root=self.prefix, recursive=True)
+
+ def build(self, spec, prefix):
+ make('build-library')
+
+ def install(self, spec, prefix):
+ make('PREFIX={0}'.format(prefix), 'install')
diff --git a/var/spack/repos/builtin/packages/dsfmt/targets.patch b/var/spack/repos/builtin/packages/dsfmt/targets.patch
new file mode 100644
index 0000000000..8d4664aa39
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dsfmt/targets.patch
@@ -0,0 +1,25 @@
+diff --git a/Makefile b/Makefile
+index 5cc4ed6..adc09c5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -196,3 +196,20 @@ test-sse2-M216091: test.c dSFMT.c dSFMT.h
+
+ clean:
+ rm -f *.o *~ test-*-M*
++
++ifeq ($(OS), WINNT)
++ SHLIB_EXT := dll
++else ifeq ($(OS), Darwin)
++ SHLIB_EXT := dylib
++else
++ SHLIB_EXT := so
++endif
++
++build-library: dSFMT.c
++ $(CC) $(CCFLAGS) -shared -fPIC -DDSFMT_MEXP=19937 -DDSFMT_DO_NOT_USE_OLD_NAMES -DDSFMT_SHLIB $< -o libdSFMT.$(SHLIB_EXT)
++ echo 1 > $@
++
++install: build-library
++ install -d $(PREFIX)/lib/
++ install -m 644 libdSFMT.so $(PREFIX)/lib/
++
diff --git a/var/spack/repos/builtin/packages/dust/package.py b/var/spack/repos/builtin/packages/dust/package.py
new file mode 100644
index 0000000000..6835d1917e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dust/package.py
@@ -0,0 +1,51 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Dust(Package):
+ """du + rust = dust. Like du but more intuitive."""
+
+ homepage = "https://github.com/bootandy/dust"
+ url = "https://github.com/bootandy/dust/archive/v0.7.5.tar.gz"
+
+ maintainers = ["fangohr"]
+
+ version(
+ "0.7.5",
+ sha256="f892aaf7a0a7852e12d01b2ced6c2484fb6dc5fe7562abdf0c44a2d08aa52618",
+ )
+
+ depends_on("rust")
+
+ sanity_check_is_file = [join_path("bin", "dust")]
+
+ def install(self, spec, prefix):
+ cargo = which("cargo")
+ cargo("install", "--root", prefix, "--path", ".")
+
+ @run_after("install")
+ def check_install(self):
+ print("Attempt to call 'dust' with '--version'")
+ dust = Executable(join_path(self.spec["dust"].prefix.bin, "dust"))
+ output = dust(
+ "--version",
+ output=str.split,
+ )
+ print("stdout received fromm dust is '{}".format(output))
+ assert "Dust " in output
+
+ def test(self):
+ """Run this smoke test when requested explicitly"""
+
+ dustpath = join_path(self.spec["dust"].prefix.bin, "dust")
+ options = ["--version"]
+ purpose = "Check dust can execute (with option '--version')"
+ expected = ["Dust "]
+
+ self.run_test(
+ dustpath, options=options, expected=expected, status=[0], purpose=purpose
+ )
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index 3288a7df56..6bff2233ac 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -19,6 +19,8 @@ class Dyninst(CMakePackage):
tags = ['e4s']
version('master', branch='master')
+ version('12.0.1', tag='v12.0.1')
+ version('12.0.0', tag='v12.0.0')
version('11.0.1', tag='v11.0.1')
version('11.0.0', tag='v11.0.0')
version('10.2.1', tag='v10.2.1')
@@ -53,6 +55,7 @@ class Dyninst(CMakePackage):
# before that.
# NB: Parallel DWARF parsing in Dyninst 10.2.0 requires a thread-
# safe libdw
+ depends_on('elfutils@0.186:', type='link', when='@12.0.1:')
depends_on('elfutils@0.178:', type='link', when='@10.2.0:')
depends_on('elfutils', type='link', when='@9.3.0:10.1')
depends_on('libelf', type='link', when='@:9.2')
@@ -106,6 +109,7 @@ class Dyninst(CMakePackage):
'-DElfUtils_ROOT_DIR=%s' % spec['elf'].prefix,
'-DLibIberty_ROOT_DIR=%s' % spec['libiberty'].prefix,
'-DTBB_ROOT_DIR=%s' % spec['tbb'].prefix,
+ self.define('LibIberty_LIBRARIES', spec['libiberty'].libs)
]
if '+openmp' in spec:
diff --git a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
index 5b29673f28..ee6c7a6a28 100644
--- a/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
+++ b/var/spack/repos/builtin/packages/ecp-data-vis-sdk/package.py
@@ -30,6 +30,7 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
variant('veloc', default=False, description="Enable VeloC")
# Vis
+ variant('sensei', default=False, description="Enable Sensei")
variant('ascent', default=False, description="Enable Ascent")
variant('paraview', default=False, description="Enable ParaView")
variant('sz', default=False, description="Enable SZ")
@@ -40,8 +41,6 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
variant('cinema', default=False, description="Enable Cinema")
# Outstanding build issues
- variant('catalyst', default=False, description="Enable Catalyst")
- conflicts('+catalyst')
variant('visit', default=False, description="Enable VisIt")
conflicts('+visit')
@@ -109,15 +108,19 @@ class EcpDataVisSdk(BundlePackage, CudaPackage):
dav_sdk_depends_on('veloc', when='+veloc')
+ # Currenly only develop has necessary patches. Update this after SC21 release
+ propagate_to_sensei = [(v, v) for v in ['adios2', 'ascent', 'hdf5', 'vtkm']]
+ propagate_to_sensei.extend([('paraview', 'catalyst'), ('visit', 'libsim')])
+ dav_sdk_depends_on('sensei@develop +vtkio +python ~miniapps', when='+sensei',
+ propagate=dict(propagate_to_sensei))
+
dav_sdk_depends_on('ascent+shared+mpi+fortran+openmp+python+vtkh+dray',
when='+ascent')
- dav_sdk_depends_on('catalyst', when='+catalyst')
-
depends_on('py-cinemasci', when='+cinema')
# +adios2 is not yet enabled in the paraview package
- paraview_base_spec = 'paraview+mpi+python3+kits'
+ paraview_base_spec = 'paraview +mpi +python3 +kits'
# Want +shared when not using cuda
dav_sdk_depends_on(paraview_base_spec + '+shared ~cuda',
when='+paraview ~cuda',
diff --git a/var/spack/repos/builtin/packages/edm4hep/package.py b/var/spack/repos/builtin/packages/edm4hep/package.py
index 879decf40b..cfa8c142bc 100644
--- a/var/spack/repos/builtin/packages/edm4hep/package.py
+++ b/var/spack/repos/builtin/packages/edm4hep/package.py
@@ -16,6 +16,7 @@ class Edm4hep(CMakePackage):
tags = ["hep", "key4hep"]
version('master', branch='master')
+ version('0.4', sha256='bcb729cd4a6f5917b8f073364fc950788111e178dd16b7e5218361f459c92a24')
version('0.3.2', sha256='b6a28649a4ba9ec1c4423bd1397b0a810ca97374305c4856186b506e4c00f769')
version('0.3.1', sha256='eeec38fe7d72d2a72f07a63dca0a34ca7203727f67869c0abf6bef014b8b319b')
version('0.3', sha256='d0ad8a486c3ed1659ea97d47b268fe56718fdb389b5935f23ba93804e4d5fbc5')
@@ -32,9 +33,11 @@ class Edm4hep(CMakePackage):
depends_on('python', type='build')
depends_on('root@6.08:')
- depends_on('podio@0.13:')
+ depends_on('podio@0.14:', when='@0.4:')
+ depends_on('podio@0.13.0:0.13', when='@:0.3')
- depends_on('hepmc@:2', type='test')
+ depends_on('hepmc@:2', type='test', when='@:0.4.0')
+ depends_on('hepmc3', type='test', when='@0.4.1:')
depends_on('heppdt', type='test')
depends_on('catch2@3.0.1:', type='test')
diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py
index 001f9c21f4..70aa378f86 100644
--- a/var/spack/repos/builtin/packages/elpa/package.py
+++ b/var/spack/repos/builtin/packages/elpa/package.py
@@ -14,6 +14,7 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage):
homepage = 'https://elpa.mpcdf.mpg.de/'
url = 'https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/2015.11.001/elpa-2015.11.001.tar.gz'
+ version('2021.05.002_bugfix', sha256='deabc48de5b9e4b2f073d749d335c8f354a7ce4245b643a23b7951cd6c90224b')
version('2021.05.001', sha256='a4f1a4e3964f2473a5f8177f2091a9da5c6b5ef9280b8272dfefcbc3aad44d41')
version('2020.05.001', sha256='66ff1cf332ce1c82075dc7b5587ae72511d2bcb3a45322c94af6b01996439ce5')
version('2019.11.001', sha256='10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357')
@@ -66,10 +67,17 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage):
@property
def headers(self):
suffix = '_openmp' if self.spec.satisfies('+openmp') else ''
+
+ # upstream sometimes adds tarball suffixes not part of the internal version
+ elpa_version = str(self.spec.version)
+ for vsuffix in ("_bugfix", ):
+ if elpa_version.endswith(vsuffix): # implementation of py3.9 removesuffix
+ elpa_version = elpa_version[:-len(vsuffix)]
+
incdir = os.path.join(
self.spec.prefix.include,
- 'elpa{suffix}-{version!s}'.format(
- suffix=suffix, version=self.spec.version))
+ 'elpa{suffix}-{version}'.format(
+ suffix=suffix, version=elpa_version))
hlist = find_all_headers(incdir)
hlist.directories = [incdir]
diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py
index 28ce836bec..e8f3d9ee67 100644
--- a/var/spack/repos/builtin/packages/esmf/package.py
+++ b/var/spack/repos/builtin/packages/esmf/package.py
@@ -18,6 +18,7 @@ class Esmf(MakefilePackage):
homepage = "https://www.earthsystemcog.org/projects/esmf/"
url = 'https://github.com/esmf-org/esmf/archive/ESMF_8_0_1.tar.gz'
+ version('8.2.0', sha256='3693987aba2c8ae8af67a0e222bea4099a48afe09b8d3d334106f9d7fc311485')
version('8.1.1', sha256='58c2e739356f21a1b32673aa17a713d3c4af9d45d572f4ba9168c357d586dc75')
version('8.0.1', sha256='9172fb73f3fe95c8188d889ee72fdadb4f978b1d969e1d8e401e8d106def1d84')
version('8.0.0', sha256='051dca45f9803d7e415c0ea146df15ce487fb55f0fce18ca61d96d4dba0c8774')
diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py
index 1ffe2d7cbe..599ff5f4d7 100755..100644
--- a/var/spack/repos/builtin/packages/exago/package.py
+++ b/var/spack/repos/builtin/packages/exago/package.py
@@ -13,10 +13,15 @@ class Exago(CMakePackage, CudaPackage):
homepage = 'https://gitlab.pnnl.gov/exasgd/frameworks/exago'
git = 'https://gitlab.pnnl.gov/exasgd/frameworks/exago.git'
-
- version('1.0.0', tag='v1.0.0')
- version('0.99.2', tag='v0.99.2')
- version('0.99.1', tag='v0.99.1')
+ maintainers = ['ashermancinelli', 'CameronRutherford']
+
+ version('1.2.0', commit='255a214e', submodules=True)
+ version('1.1.2', commit='db3bb16e', submodules=True)
+ version('1.1.1', commit='0e0a3f27', submodules=True)
+ version('1.1.0', commit='dc8dd855', submodules=True)
+ version('1.0.0', commit='230d7df2')
+ version('0.99.2', commit='56961641')
+ version('0.99.1', commit='0ae426c7')
version('master', branch='master')
version('develop', branch='develop')
@@ -26,16 +31,19 @@ class Exago(CMakePackage, CudaPackage):
# Solver options
variant('hiop', default=False, description='Enable/Disable HiOp')
- variant('petsc', default=True, description='Enable/Disable PETSc')
variant('ipopt', default=False, description='Enable/Disable IPOPT')
# Dependencides
depends_on('mpi', when='+mpi')
depends_on('blas')
depends_on('cuda', when='+cuda')
+
depends_on('raja', when='+raja')
depends_on('raja+cuda', when='+raja+cuda')
+ depends_on('raja@0.14.0:', when='@1.1.0: +raja')
+
depends_on('umpire', when='+raja')
+ depends_on('umpire@6.0.0:', when='@1.1.0: +raja')
# Some allocator code in Umpire only works with static libs
depends_on('umpire+cuda~shared', when='+raja+cuda')
@@ -43,21 +51,22 @@ class Exago(CMakePackage, CudaPackage):
# For some versions of RAJA package, camp cuda variant does not get set
# correctly, so we must explicitly depend on it even though we don't use
# camp
- depends_on('camp+cuda', when='+cuda')
+ depends_on('camp+cuda', when='+raja+cuda')
depends_on('cmake@3.18:', type='build')
# HiOp dependency logic
- depends_on('hiop+shared', when='+hiop')
depends_on('hiop+raja', when='+hiop+raja')
depends_on('hiop@0.3.99:', when='@0.99:+hiop')
+ depends_on('hiop@0.5.1:', when='@1.1.0:+hiop')
depends_on('hiop+cuda', when='+hiop+cuda')
depends_on('hiop~mpi', when='+hiop~mpi')
depends_on('hiop+mpi', when='+hiop+mpi')
# Require PETSc < 3.15 per ExaGO issue #199
- depends_on('petsc@3.13:3.14', when='+petsc')
- depends_on('petsc~mpi', when='+petsc~mpi')
+ depends_on('petsc@3.13:3.14')
+ depends_on('petsc~mpi', when='~mpi')
+
depends_on('ipopt', when='+ipopt')
flag_handler = build_system_flags
@@ -71,10 +80,10 @@ class Exago(CMakePackage, CudaPackage):
args.append(self.define_from_variant('EXAGO_ENABLE_MPI', 'mpi'))
args.append(self.define_from_variant('EXAGO_ENABLE_RAJA', 'raja'))
args.append(self.define_from_variant('EXAGO_ENABLE_HIOP', 'hiop'))
- args.append(self.define_from_variant('EXAGO_ENABLE_PETSC', 'petsc'))
args.append(self.define_from_variant('EXAGO_ENABLE_IPOPT', 'ipopt'))
args.append(self.define_from_variant('EXAGO_ENABLE_GPU', 'cuda'))
args.append(self.define_from_variant('EXAGO_ENABLE_CUDA', 'cuda'))
+ args.append("-DPETSC_DIR='{0}'".format(spec['petsc'].prefix))
if '+cuda' in spec:
cuda_arch_list = spec.variants['cuda_arch'].value
@@ -83,7 +92,4 @@ class Exago(CMakePackage, CudaPackage):
args.append(
"-DCMAKE_CUDA_ARCHITECTURES={0}".format(cuda_arch))
- if '+petsc' in spec:
- args.append("-DPETSC_DIR='{0}'".format(spec['petsc'].prefix))
-
return args
diff --git a/var/spack/repos/builtin/packages/exaworks/package.py b/var/spack/repos/builtin/packages/exaworks/package.py
index c017d0d04b..c017d0d04b 100755..100644
--- a/var/spack/repos/builtin/packages/exaworks/package.py
+++ b/var/spack/repos/builtin/packages/exaworks/package.py
diff --git a/var/spack/repos/builtin/packages/f3d/package.py b/var/spack/repos/builtin/packages/f3d/package.py
new file mode 100644
index 0000000000..cc06d2cfbc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/f3d/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class F3d(CMakePackage):
+ """A fast and minimalist scriptable 3D viewer."""
+
+ homepage = "https://f3d-app.github.io"
+ url = "https://github.com/f3d-app/f3d/archive/refs/tags/v1.1.1.tar.gz"
+
+ version('1.1.1', sha256='68bdbe3a90f2cd553d5e090a95d3c847e2a2f06abbe225ffecd47d3d29978b0a')
+
+ depends_on('vtk@9:', type='link')
diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
index 21e9cd9c16..78f1fee879 100644
--- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
+++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
@@ -22,6 +22,7 @@ class FenicsDolfinx(CMakePackage):
variant("kahip", default=False, description="kahip support")
variant("parmetis", default=False, description="parmetis support")
variant("slepc", default=False, description="slepc support")
+ variant("adios2", default=False, description="adios2 support")
depends_on("cmake@3.18:", type="build")
depends_on("pkgconfig", type="build")
@@ -36,6 +37,7 @@ class FenicsDolfinx(CMakePackage):
depends_on("kahip", when="+kahip")
depends_on("parmetis", when="+parmetis")
depends_on("slepc", when="+slepc")
+ depends_on("adios2", when="+adios2")
depends_on("py-fenics-ffcx", type=("build", "run"))
depends_on("py-fenics-ffcx@main", type=("build", "run"), when="@main")
@@ -62,6 +64,8 @@ class FenicsDolfinx(CMakePackage):
'ON' if "+parmetis" in self.spec else 'OFF'),
"-DDOLFINX_ENABLE_SLEPC=%s" % (
'ON' if "+slepc" in self.spec else 'OFF'),
+ "-DDOLFINX_ENABLE_ADIOS2=%s" % (
+ 'ON' if "+adios2" in self.spec else 'OFF'),
"-DPython3_ROOT_DIR=%s" % self.spec['python'].home,
"-DPython3_FIND_STRATEGY=LOCATION",
]
diff --git a/var/spack/repos/builtin/packages/ffr/gfortran_format_30.patch b/var/spack/repos/builtin/packages/ffr/gfortran_format_30.patch
index 1669ca5550..1669ca5550 100755..100644
--- a/var/spack/repos/builtin/packages/ffr/gfortran_format_30.patch
+++ b/var/spack/repos/builtin/packages/ffr/gfortran_format_30.patch
diff --git a/var/spack/repos/builtin/packages/ffr/gfortran_format_31.patch b/var/spack/repos/builtin/packages/ffr/gfortran_format_31.patch
index 8ebd66c72c..8ebd66c72c 100755..100644
--- a/var/spack/repos/builtin/packages/ffr/gfortran_format_31.patch
+++ b/var/spack/repos/builtin/packages/ffr/gfortran_format_31.patch
diff --git a/var/spack/repos/builtin/packages/flecsale/package.py b/var/spack/repos/builtin/packages/flecsale/package.py
index eb8166f263..0c91fa7254 100644
--- a/var/spack/repos/builtin/packages/flecsale/package.py
+++ b/var/spack/repos/builtin/packages/flecsale/package.py
@@ -20,8 +20,8 @@ class Flecsale(CMakePackage):
depends_on("pkgconfig", type='build')
depends_on("cmake@3.1:", type='build')
- depends_on("flecsi~mpi", when='~mpi')
- depends_on("flecsi+mpi", when='+mpi')
+ depends_on("flecsi backend=serial", when='~mpi')
+ conflicts("^flecsi backend=serial", when='+mpi')
depends_on("python")
depends_on("openssl")
depends_on("boost~mpi", when='~mpi')
diff --git a/var/spack/repos/builtin/packages/flecsi/package.py b/var/spack/repos/builtin/packages/flecsi/package.py
index 6767c93331..fba678f846 100644
--- a/var/spack/repos/builtin/packages/flecsi/package.py
+++ b/var/spack/repos/builtin/packages/flecsi/package.py
@@ -110,6 +110,8 @@ class Flecsi(CMakePackage, CudaPackage):
depends_on('mpich@3.4.1:', when='@2.0: ^mpich')
depends_on('openmpi@4.1.0:', when='@2.0: ^openmpi')
+ conflicts('%gcc@:8', when='@2.1:')
+
conflicts('+tutorial', when='backend=hpx')
# FleCSI@2: no longer supports serial or charmpp backends
conflicts('backend=serial', when='@2.0:')
@@ -136,7 +138,7 @@ class Flecsi(CMakePackage, CudaPackage):
# Unit tests require flog support
conflicts('+unit_tests', when='~flog')
# Disallow conduit=none when using legion as a backend
- conflicts('legion conduit=none', when='backend=legion')
+ conflicts('^legion conduit=none', when='backend=legion')
# Due to overhauls of Legion and Gasnet spackages
# flecsi@:1.9 can no longer be built with a usable legion
conflicts('backend=legion', when='@:1.9')
diff --git a/var/spack/repos/builtin/packages/flux-core/package.py b/var/spack/repos/builtin/packages/flux-core/package.py
index ffff450594..5423bc0d2f 100644
--- a/var/spack/repos/builtin/packages/flux-core/package.py
+++ b/var/spack/repos/builtin/packages/flux-core/package.py
@@ -19,6 +19,8 @@ class FluxCore(AutotoolsPackage):
maintainers = ['grondo']
version('master', branch='master')
+
+ version('0.31.0', sha256='a18251de2ca3522484cacfa986df934ba8f98c54586e18940ce5d2c6147a8a7f')
version('0.30.0', sha256='e51fde4464140367ae4bc1b44f960675ea0a6f58eede3a561cacd8a11ca3e776')
version('0.29.0', sha256='c13b40e82d66356e75208a689a495ca01f0a013e2e45ac8ea202ed8224987323')
version('0.28.0', sha256='9a784def7186b0036091bd8d6d8fe5bc3425ab2927e1465e1c9ad266631c285d')
diff --git a/var/spack/repos/builtin/packages/flux-sched/no-valgrind.patch b/var/spack/repos/builtin/packages/flux-sched/no-valgrind.patch
new file mode 100644
index 0000000000..3b828e431e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/flux-sched/no-valgrind.patch
@@ -0,0 +1,19 @@
+diff --git a/t/t5000-valgrind.t b/t/t5000-valgrind.t
+index 08255348..aac546f6 100755
+--- a/t/t5000-valgrind.t
++++ b/t/t5000-valgrind.t
+@@ -6,6 +6,14 @@ test_description='Run broker under valgrind with a small workload'
+ test -n "$FLUX_TESTS_LOGFILE" && set -- "$@" --logfile
+ . `dirname $0`/sharness.sh
+
++# Do not run valgrind test by default unless FLUX_ENABLE_VALGRIND_TEST
++# is set in environment (e.g. by CI), or the test run run with -d, --debug
++#
++if test -z "$FLUX_ENABLE_VALGRIND_TEST" && test "$debug" = ""; then
++ skip_all='skipping valgrind tests since FLUX_ENABLE_VALGRIND_TEST not set'
++ test_done
++fi
++
+ if ! which valgrind >/dev/null; then
+ skip_all='skipping valgrind tests since no valgrind executable found'
+ test_done
diff --git a/var/spack/repos/builtin/packages/flux-sched/package.py b/var/spack/repos/builtin/packages/flux-sched/package.py
index 20ad0d714c..de1b370258 100644
--- a/var/spack/repos/builtin/packages/flux-sched/package.py
+++ b/var/spack/repos/builtin/packages/flux-sched/package.py
@@ -19,6 +19,7 @@ class FluxSched(AutotoolsPackage):
maintainers = ['grondo']
version('master', branch='master')
+ version('0.20.0', sha256='1d2074e1458ba1e7a1d4c33341b9f09769559cd1b8c68edc32097e220c4240b8')
version('0.19.0', sha256='8dffa8eaec95a81286f621639ef851c52dc4c562d365971233bbd91100c31ed2')
version('0.18.0', sha256='a4d8a6444fdb7b857b26f47fdea57992b486c9522f4ff92d5a6f547d95b586ae')
version('0.17.0', sha256='5acfcb757e2294a92eaa91be58ba9b42736b88b42d2937de4a78f4642b1c4933')
@@ -42,7 +43,9 @@ class FluxSched(AutotoolsPackage):
depends_on("py-pyyaml")
depends_on("libedit")
depends_on("libxml2@2.9.1:")
- depends_on("yaml-cpp")
+ # pin yaml-cpp to 0.6.3 due to issue #886
+ # https://github.com/flux-framework/flux-sched/issues/886
+ depends_on("yaml-cpp@0.6.3")
depends_on("uuid")
depends_on("pkgconfig")
@@ -55,6 +58,7 @@ class FluxSched(AutotoolsPackage):
depends_on("flux-core@0.28.0:", when='@0.17.0', type=('build', 'run', 'link'))
depends_on("flux-core@0.29.0:", when='@0.18.0', type=('build', 'run', 'link'))
depends_on("flux-core@0.30.0:", when='@0.19.0', type=('build', 'run', 'link'))
+ depends_on("flux-core@0.31.0:", when='@0.19.0', type=('build', 'run', 'link'))
depends_on("flux-core@master", when='@master', type=('build', 'run', 'link'))
# Need autotools when building on master:
@@ -62,6 +66,10 @@ class FluxSched(AutotoolsPackage):
depends_on("automake", type='build', when='@master')
depends_on("libtool", type='build', when='@master')
+ # Disable t5000-valgrind.t by default due to false positives not yet
+ # in the suppressions file. (This patch will be in v0.21.0)
+ patch('no-valgrind.patch', when='@:0.20.0')
+
def url_for_version(self, version):
'''
Flux uses a fork of ZeroMQ's Collective Code Construction Contract
@@ -103,7 +111,7 @@ class FluxSched(AutotoolsPackage):
bash = which('bash')
bash('./autogen.sh')
- @when('@:0.19')
+ @when('@:0.20')
def patch(self):
"""Fix build with clang@13 and gcc@11"""
filter_file('NULL', 'nullptr', 'resource/schema/sched_data.hpp')
diff --git a/var/spack/repos/builtin/packages/fpm/package.py b/var/spack/repos/builtin/packages/fpm/package.py
index 9401bf636c..f6acf27da9 100644
--- a/var/spack/repos/builtin/packages/fpm/package.py
+++ b/var/spack/repos/builtin/packages/fpm/package.py
@@ -21,6 +21,7 @@ class Fpm(Package):
maintainers = ["awvwgk"]
phases = ["install"]
+ version("0.5.0", "e4a06956d2300f9aa1d06bd3323670480e946549617582e32684ded6921a921e")
version("0.4.0", "cd9b80b7f40d9cf357ca8d5d4fe289fd32dfccb729bad7d2a68f245e4cdd0045")
version("0.3.0", "3368d1b17e2d1368559174c796ce0e184cb6bf79c939938c6d166fbd15959fa3")
@@ -32,6 +33,9 @@ class Fpm(Package):
if "@0.4.0" in self.spec:
env.set("FPM_C_COMPILER", self.compiler.cc)
+ if "@0.5.0" in self.spec:
+ env.set("FPM_CC", self.compiler.cc)
+
fflags = "-O3"
if "+openmp" in self.spec:
fflags += " " + self.compiler.openmp_flag
diff --git a/var/spack/repos/builtin/packages/fraggenescan/package.py b/var/spack/repos/builtin/packages/fraggenescan/package.py
index 70bcd32e72..1f60362fb3 100644
--- a/var/spack/repos/builtin/packages/fraggenescan/package.py
+++ b/var/spack/repos/builtin/packages/fraggenescan/package.py
@@ -15,11 +15,14 @@ class Fraggenescan(MakefilePackage):
url = "https://downloads.sourceforge.net/project/fraggenescan/FragGeneScan1.31.tar.gz"
version('1.31', sha256='cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c')
-
- build_targets = ['clean', 'hmm.obj']
+ version('1.30', sha256='f2d7f0dfa4a5f4bbea295ed865dcbfedf16c954ea1534c2a879ebdcfb8650d95')
def edit(self, spec, prefix):
filter_file('gcc', spack_cc, 'Makefile', string=True)
+ def build(self, spec, prefic):
+ make('clean')
+ make('fgs')
+
def install(self, spec, prefix):
install_tree('.', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/fuse-overlayfs/package.py b/var/spack/repos/builtin/packages/fuse-overlayfs/package.py
index 81103c3103..5322527e6d 100644
--- a/var/spack/repos/builtin/packages/fuse-overlayfs/package.py
+++ b/var/spack/repos/builtin/packages/fuse-overlayfs/package.py
@@ -11,7 +11,11 @@ class FuseOverlayfs(AutotoolsPackage):
homepage = "https://github.com/containers/fuse-overlayfs"
url = "https://github.com/containers/fuse-overlayfs/archive/v1.1.2.tar.gz"
+ maintainers = ['haampie']
+ version('1.7.1', sha256='fe2c076aed7b8669e7970301a99c0b197759b611035d8199de4c0add7d2fb2b4')
+ version('1.7', sha256='e4d9a794d270e237a38e7ced95af95ad15268e0584eab981ed7c7b3758b95995')
+ version('1.6', sha256='5606c5c1e4e0d7063f3f50a72c906f23b7a505784d20dc40fff9e4b2b802d5f4')
version('1.5.0', sha256='6c81b65b71067b303aaa9871f512c2cabc23e2b793f19c6c854d01a492b5a923')
version('1.4.0', sha256='7e5666aef4f2047e6a5202d6438b08c2d314dba5b40e431014e7dbb8168d9018')
version('1.3.0', sha256='91e78a93aac7698c65083deea04952bc86af6abbb0830785ef1dd4a8707ad8bf')
diff --git a/var/spack/repos/builtin/packages/fxdiv/package.py b/var/spack/repos/builtin/packages/fxdiv/package.py
index daaaf2a211..ec9800fcae 100644
--- a/var/spack/repos/builtin/packages/fxdiv/package.py
+++ b/var/spack/repos/builtin/packages/fxdiv/package.py
@@ -23,25 +23,8 @@ class Fxdiv(CMakePackage):
generator = 'Ninja'
- resource(
- name='googletest',
- url='https://github.com/google/googletest/archive/release-1.10.0.zip',
- sha256='94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91',
- destination='deps',
- placement='googletest',
- )
- resource(
- name='googlebenchmark',
- url='https://github.com/google/benchmark/archive/v1.5.0.zip',
- sha256='2d22dd3758afee43842bb504af1a8385cccb3ee1f164824e4837c1c1b04d92a0',
- destination='deps',
- placement='googlebenchmark',
- )
-
def cmake_args(self):
return [
- self.define('GOOGLETEST_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googletest')),
- self.define('GOOGLEBENCHMARK_SOURCE_DIR',
- join_path(self.stage.source_path, 'deps', 'googlebenchmark')),
+ self.define('FXDIV_BUILD_TESTS', False),
+ self.define('FXDIV_BUILD_BENCHMARKS', False)
]
diff --git a/var/spack/repos/builtin/packages/g2/package.py b/var/spack/repos/builtin/packages/g2/package.py
index 64b8da9dee..40cd8aa5f9 100644
--- a/var/spack/repos/builtin/packages/g2/package.py
+++ b/var/spack/repos/builtin/packages/g2/package.py
@@ -23,3 +23,10 @@ class G2(CMakePackage):
depends_on('jasper')
depends_on('libpng')
+
+ def setup_run_environment(self, env):
+ for suffix in ('4', 'd'):
+ lib = find_libraries('libg2_' + suffix, root=self.prefix,
+ shared=False, recursive=True)
+ env.set('G2_LIB' + suffix, lib[0])
+ env.set('G2_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
diff --git a/var/spack/repos/builtin/packages/g2c/package.py b/var/spack/repos/builtin/packages/g2c/package.py
index 14c5cabfc7..5496f75f16 100644
--- a/var/spack/repos/builtin/packages/g2c/package.py
+++ b/var/spack/repos/builtin/packages/g2c/package.py
@@ -26,3 +26,8 @@ class G2c(CMakePackage):
depends_on('libpng', when='+png')
depends_on('jasper', when='+jasper')
depends_on('openjpeg', when='+openjpeg')
+
+ def setup_run_environment(self, env):
+ lib = find_libraries('libg2c', root=self.prefix, shared=False, recursive=True)
+ env.set('G2C_LIB', lib[0])
+ env.set('G2C_INC', join_path(self.prefix, 'include'))
diff --git a/var/spack/repos/builtin/packages/g4emlow/package.py b/var/spack/repos/builtin/packages/g4emlow/package.py
index 6d3aaa6f22..95a7c65b7a 100644
--- a/var/spack/repos/builtin/packages/g4emlow/package.py
+++ b/var/spack/repos/builtin/packages/g4emlow/package.py
@@ -17,6 +17,7 @@ class G4emlow(Package):
maintainers = ['drbenmorgan']
# Only versions relevant to Geant4 releases built by spack are added
+ version('8.0', sha256='d919a8e5838688257b9248a613910eb2a7633059e030c8b50c0a2c2ad9fd2b3b')
version('7.13', sha256='374896b649be776c6c10fea80abe6cf32f9136df0b6ab7c7236d571d49fb8c69')
version('7.9.1', sha256='820c106e501c64c617df6c9e33a0f0a3822ffad059871930f74b8cc37f043ccb')
version('7.9', sha256='4abf9aa6cda91e4612676ce4d2d8a73b91184533aa66f9aad19a53a8c4dc3aff')
diff --git a/var/spack/repos/builtin/packages/g4particlexs/package.py b/var/spack/repos/builtin/packages/g4particlexs/package.py
index 982d5fdba4..7ccacd8166 100644
--- a/var/spack/repos/builtin/packages/g4particlexs/package.py
+++ b/var/spack/repos/builtin/packages/g4particlexs/package.py
@@ -18,6 +18,7 @@ class G4particlexs(Package):
maintainers = ['drbenmorgan']
# Only versions relevant to Geant4 releases built by spack are added
+ version('4.0', sha256='9381039703c3f2b0fd36ab4999362a2c8b4ff9080c322f90b4e319281133ca95')
version('3.1.1', sha256='66c17edd6cb6967375d0497add84c2201907a25e33db782ebc26051d38f2afda')
version('3.1', sha256='404da84ead165e5cccc0bb795222f6270c9bf491ef4a0fd65195128b27f0e9cd')
version('2.1', sha256='094d103372bbf8780d63a11632397e72d1191dc5027f9adabaf6a43025520b41')
diff --git a/var/spack/repos/builtin/packages/g4tendl/package.py b/var/spack/repos/builtin/packages/g4tendl/package.py
index ff180c102f..2a27e3fa71 100644
--- a/var/spack/repos/builtin/packages/g4tendl/package.py
+++ b/var/spack/repos/builtin/packages/g4tendl/package.py
@@ -17,6 +17,7 @@ class G4tendl(Package):
maintainers = ['drbenmorgan']
# Only versions relevant to Geant4 releases built by spack are added
+ version('1.4', sha256='4b7274020cc8b4ed569b892ef18c2e088edcdb6b66f39d25585ccee25d9721e0')
version('1.3.2', sha256='3b2987c6e3bee74197e3bd39e25e1cc756bb866c26d21a70f647959fc7afb849')
version('1.3', sha256='52ad77515033a5d6f995c699809b464725a0e62099b5e55bf07c8bdd02cd3bce')
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py
index 5520fb0f71..6a83354b89 100644
--- a/var/spack/repos/builtin/packages/gcc/package.py
+++ b/var/spack/repos/builtin/packages/gcc/package.py
@@ -261,7 +261,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
# Use -headerpad_max_install_names in the build,
# otherwise updated load commands won't fit in the Mach-O header.
# This is needed because `gcc` avoids the superenv shim.
- patch('darwin/gcc-7.1.0-headerpad.patch', when='@5:')
+ patch('darwin/gcc-7.1.0-headerpad.patch', when='@5:11')
patch('darwin/gcc-6.1.0-jit.patch', when='@5:7')
patch('darwin/gcc-4.9.patch1', when='@4.9.0:4.9.3')
patch('darwin/gcc-4.9.patch2', when='@4.9.0:4.9.3')
diff --git a/var/spack/repos/builtin/packages/gchp/package.py b/var/spack/repos/builtin/packages/gchp/package.py
index 6b5e723536..52e101121b 100644
--- a/var/spack/repos/builtin/packages/gchp/package.py
+++ b/var/spack/repos/builtin/packages/gchp/package.py
@@ -12,10 +12,11 @@ class Gchp(CMakePackage):
"""GEOS-Chem High Performance model of atmospheric chemistry"""
homepage = "https://gchp.readthedocs.io/"
- url = "https://github.com/geoschem/GCHP/archive/13.1.2.tar.gz"
+ url = "https://github.com/geoschem/GCHP/archive/13.2.1.tar.gz"
git = "https://github.com/geoschem/GCHP.git"
- maintainers = ['lizziel']
+ maintainers = ['lizziel', 'laestrada']
+ version('13.2.1', commit='9dc2340cac684971fa961559a4dc3d8818326ab8', submodules=True)
version('13.1.2', commit='106b8f783cafabd699e53beec3a4dd8aee45234b', submodules=True)
version('13.1.1', commit='a17361a78aceab947ca51aa1ecd3391beaa3fcb2', submodules=True)
version('13.1.0', commit='4aca45370738e48623e61e38b26d981d3e20be76', submodules=True)
diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py
index 6760125e00..bea77acf20 100644
--- a/var/spack/repos/builtin/packages/gdal/package.py
+++ b/var/spack/repos/builtin/packages/gdal/package.py
@@ -24,36 +24,36 @@ class Gdal(AutotoolsPackage):
maintainers = ['adamjstewart']
- version('3.3.3', sha256='1e8fc8b19c77238c7f4c27857d04857b65d8b7e8050d3aac256d70fa48a21e76')
- version('3.3.2', sha256='630e34141cf398c3078d7d8f08bb44e804c65bbf09807b3610dcbfbc37115cc3')
- version('3.3.1', sha256='48ab00b77d49f08cf66c60ccce55abb6455c3079f545e60c90ee7ce857bccb70')
- version('3.3.0', sha256='190c8f4b56afc767f43836b2a5cd53cc52ee7fdc25eb78c6079c5a244e28efa7')
- version('3.2.3', sha256='d9ec8458fe97fd02bf36379e7f63eaafce1005eeb60e329ed25bb2d2a17a796f')
- version('3.2.2', sha256='a7e1e414e5c405af48982bf4724a3da64a05770254f2ce8affb5f58a7604ca57')
- version('3.2.1', sha256='6c588b58fcb63ff3f288eb9f02d76791c0955ba9210d98c3abd879c770ae28ea')
- version('3.2.0', sha256='b051f852600ffdf07e337a7f15673da23f9201a9dbb482bd513756a3e5a196a6')
- version('3.1.4', sha256='7b82486f71c71cec61f9b237116212ce18ef6b90f068cbbf9f7de4fc50b576a8')
- version('3.1.3', sha256='161cf55371a143826f1d76ce566db1f0a666496eeb4371aed78b1642f219d51d')
- version('3.1.2', sha256='767c8d0dfa20ba3283de05d23a1d1c03a7e805d0ce2936beaff0bb7d11450641')
- version('3.1.1', sha256='97154a606339a6c1d87c80fb354d7456fe49828b2ef9a3bc9ed91771a03d2a04')
- version('3.1.0', sha256='e754a22242ccbec731aacdb2333b567d4c95b9b02d3ba1ea12f70508d244fcda')
- version('3.0.4', sha256='5569a4daa1abcbba47a9d535172fc335194d9214fdb96cd0f139bb57329ae277')
- version('3.0.3', sha256='e20add5802265159366f197a8bb354899e1693eab8dbba2208de14a457566109')
- version('3.0.2', sha256='c3765371ce391715c8f28bd6defbc70b57aa43341f6e94605f04fe3c92468983')
- version('3.0.1', sha256='45b4ae25dbd87282d589eca76481c426f72132d7a599556470d5c38263b09266')
- version('3.0.0', sha256='ad316fa052d94d9606e90b20a514b92b2dd64e3142dfdbd8f10981a5fcd5c43e')
- version('2.4.4', sha256='a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8')
- version('2.4.3', sha256='d52dc3e0cff3af3e898d887c4151442989f416e839948e73f0994f0224bbff60')
- version('2.4.2', sha256='dcc132e469c5eb76fa4aaff238d32e45a5d947dc5b6c801a123b70045b618e0c')
- version('2.4.1', sha256='fd51b4900b2fc49b98d8714f55fc8a78ebfd07218357f93fb796791115a5a1ad')
- version('2.4.0', sha256='c3791dcc6d37e59f6efa86e2df2a55a4485237b0a48e330ae08949f0cdf00f27')
- version('2.3.3', sha256='c3635e41766a648f945d235b922e3c5306e26a2ee5bbd730d2181e242f5f46fe')
- version('2.3.2', sha256='3f6d78fe8807d1d6afb7bed27394f19467840a82bc36d65e66316fa0aa9d32a4')
- version('2.3.1', sha256='9c4625c45a3ee7e49a604ef221778983dd9fd8104922a87f20b99d9bedb7725a')
- version('2.3.0', sha256='6f75e49aa30de140525ccb58688667efe3a2d770576feb7fbc91023b7f552aa2')
- version('2.1.2', sha256='b597f36bd29a2b4368998ddd32b28c8cdf3c8192237a81b99af83cc17d7fa374')
- version('2.0.2', sha256='90f838853cc1c07e55893483faa7e923e4b4b1659c6bc9df3538366030a7e622')
- version('1.11.5', sha256='d4fdc3e987b9926545f0a514b4328cd733f2208442f8d03bde630fe1f7eff042', deprecated=True)
+ version('3.4.0', sha256='ac7bd2bb9436f3fc38bc7309704672980f82d64b4d57627d27849259b8f71d5c')
+ version('3.3.3', sha256='1e8fc8b19c77238c7f4c27857d04857b65d8b7e8050d3aac256d70fa48a21e76')
+ version('3.3.2', sha256='630e34141cf398c3078d7d8f08bb44e804c65bbf09807b3610dcbfbc37115cc3')
+ version('3.3.1', sha256='48ab00b77d49f08cf66c60ccce55abb6455c3079f545e60c90ee7ce857bccb70')
+ version('3.3.0', sha256='190c8f4b56afc767f43836b2a5cd53cc52ee7fdc25eb78c6079c5a244e28efa7')
+ version('3.2.3', sha256='d9ec8458fe97fd02bf36379e7f63eaafce1005eeb60e329ed25bb2d2a17a796f')
+ version('3.2.2', sha256='a7e1e414e5c405af48982bf4724a3da64a05770254f2ce8affb5f58a7604ca57')
+ version('3.2.1', sha256='6c588b58fcb63ff3f288eb9f02d76791c0955ba9210d98c3abd879c770ae28ea')
+ version('3.2.0', sha256='b051f852600ffdf07e337a7f15673da23f9201a9dbb482bd513756a3e5a196a6')
+ version('3.1.4', sha256='7b82486f71c71cec61f9b237116212ce18ef6b90f068cbbf9f7de4fc50b576a8')
+ version('3.1.3', sha256='161cf55371a143826f1d76ce566db1f0a666496eeb4371aed78b1642f219d51d')
+ version('3.1.2', sha256='767c8d0dfa20ba3283de05d23a1d1c03a7e805d0ce2936beaff0bb7d11450641')
+ version('3.1.1', sha256='97154a606339a6c1d87c80fb354d7456fe49828b2ef9a3bc9ed91771a03d2a04')
+ version('3.1.0', sha256='e754a22242ccbec731aacdb2333b567d4c95b9b02d3ba1ea12f70508d244fcda')
+ version('3.0.4', sha256='5569a4daa1abcbba47a9d535172fc335194d9214fdb96cd0f139bb57329ae277')
+ version('3.0.3', sha256='e20add5802265159366f197a8bb354899e1693eab8dbba2208de14a457566109')
+ version('3.0.2', sha256='c3765371ce391715c8f28bd6defbc70b57aa43341f6e94605f04fe3c92468983')
+ version('3.0.1', sha256='45b4ae25dbd87282d589eca76481c426f72132d7a599556470d5c38263b09266')
+ version('3.0.0', sha256='ad316fa052d94d9606e90b20a514b92b2dd64e3142dfdbd8f10981a5fcd5c43e')
+ version('2.4.4', sha256='a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8')
+ version('2.4.3', sha256='d52dc3e0cff3af3e898d887c4151442989f416e839948e73f0994f0224bbff60')
+ version('2.4.2', sha256='dcc132e469c5eb76fa4aaff238d32e45a5d947dc5b6c801a123b70045b618e0c')
+ version('2.4.1', sha256='fd51b4900b2fc49b98d8714f55fc8a78ebfd07218357f93fb796791115a5a1ad')
+ version('2.4.0', sha256='c3791dcc6d37e59f6efa86e2df2a55a4485237b0a48e330ae08949f0cdf00f27')
+ version('2.3.3', sha256='c3635e41766a648f945d235b922e3c5306e26a2ee5bbd730d2181e242f5f46fe')
+ version('2.3.2', sha256='3f6d78fe8807d1d6afb7bed27394f19467840a82bc36d65e66316fa0aa9d32a4')
+ version('2.3.1', sha256='9c4625c45a3ee7e49a604ef221778983dd9fd8104922a87f20b99d9bedb7725a')
+ version('2.3.0', sha256='6f75e49aa30de140525ccb58688667efe3a2d770576feb7fbc91023b7f552aa2')
+ version('2.1.2', sha256='b597f36bd29a2b4368998ddd32b28c8cdf3c8192237a81b99af83cc17d7fa374')
+ version('2.0.2', sha256='90f838853cc1c07e55893483faa7e923e4b4b1659c6bc9df3538366030a7e622')
variant('libtool', default=True, description='Use libtool to build the library')
variant('libz', default=True, description='Include libz support')
@@ -155,7 +155,8 @@ class Gdal(AutotoolsPackage):
depends_on('python@2.0:', type=('build', 'link', 'run'), when='@3.2:+python')
depends_on('python', type=('build', 'link', 'run'), when='+python')
# swig/python/setup.py
- depends_on('py-setuptools', type='build', when='+python')
+ depends_on('py-setuptools@:57', type='build', when='@:3.0+python')
+ depends_on('py-setuptools', type='build', when='@3.1:+python')
depends_on('py-numpy@1.0.0:', type=('build', 'run'), when='+python')
depends_on('java@7:', type=('build', 'link', 'run'), when='@3.2:+java')
depends_on('java@6:', type=('build', 'link', 'run'), when='@2.4:+java')
@@ -177,7 +178,7 @@ class Gdal(AutotoolsPackage):
conflicts('%xl_r@:13.0', msg=msg)
conflicts('+mdb', when='~java', msg='MDB driver requires Java')
-
+ conflicts('+mdb', when='@3.5:', msg='MDB driver removed in GDAL 3.5, use ODBC instead')
conflicts('+jasper', when='@3.5:', msg='JPEG2000 driver removed in GDAL 3.5')
conflicts('+perl', when='@3.5:', msg='Perl bindings removed in GDAL 3.5')
diff --git a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
index e317d4d706..3015892ee0 100644
--- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
+++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
@@ -18,13 +18,16 @@ class GdkPixbuf(Package):
list_url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/"
list_depth = 1
+ version('2.42.6', sha256='c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f')
version('2.42.2', sha256='83c66a1cfd591d7680c144d2922c5955d38b4db336d7cd3ee109f7bcf9afef15')
- version('2.40.0', sha256='1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6')
- version('2.38.2', sha256='73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781')
- version('2.38.0', sha256='dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47')
+ # https://nvd.nist.gov/vuln/detail/CVE-2021-20240
+ version('2.40.0', sha256='1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6', deprecated=True)
+ version('2.38.2', sha256='73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781', deprecated=True)
+ version('2.38.0', sha256='dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47', deprecated=True)
version('2.31.2', sha256='9e467ed09894c802499fb2399cd9a89ed21c81700ce8f27f970a833efb1e47aa', deprecated=True)
variant('x11', default=False, description="Enable X11 support")
+ variant('tiff', default=False, description="Enable TIFF support(partially broken)")
# Man page creation was getting docbook errors, see issue #18853
variant('man', default=False, description="Enable man page creation")
@@ -43,7 +46,7 @@ class GdkPixbuf(Package):
depends_on('jpeg')
depends_on('libpng')
depends_on('zlib')
- depends_on('libtiff')
+ depends_on('libtiff', when='+tiff')
depends_on('gobject-introspection')
depends_on('libx11', when='+x11')
@@ -73,11 +76,13 @@ class GdkPixbuf(Package):
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
- meson_args = std_meson_args
- meson_args += [
- '-Dx11={0}'.format('+x11' in spec),
- '-Dman={0}'.format('+man' in spec),
- ]
+ meson_args = std_meson_args + ['-Dman={0}'.format('+man' in spec)]
+ # Based on suggestion by luigi-calori and the fixup shown by lee218llnl:
+ # https://github.com/spack/spack/pull/27254#issuecomment-974464174
+ if '+x11' in spec:
+ if self.version >= Version('2.42'):
+ raise InstallError('+x11 is not valid for {0}'.format(self.version))
+ meson_args += ['-Dx11=true']
meson('..', *meson_args)
ninja('-v')
if self.run_tests:
diff --git a/var/spack/repos/builtin/packages/geant4-data/package.py b/var/spack/repos/builtin/packages/geant4-data/package.py
index c3c91f3b32..a40f78339f 100644
--- a/var/spack/repos/builtin/packages/geant4-data/package.py
+++ b/var/spack/repos/builtin/packages/geant4-data/package.py
@@ -18,6 +18,8 @@ class Geant4Data(BundlePackage):
tags = ['hep']
+ version('11.0.0')
+ version('10.7.3')
version('10.7.2')
version('10.7.1')
version('10.7.0')
@@ -36,6 +38,18 @@ class Geant4Data(BundlePackage):
# For clarity, declare deps on a Major-Minor version basis as
# they generally don't change on the patch level
# Can move to declaring on a dataset basis if needed
+ # geant4@11.0.X
+ depends_on("g4ndl@4.6", when='@11.0.0:11.0')
+ depends_on("g4emlow@8.0", when='@11.0.0:11.0')
+ depends_on("g4photonevaporation@5.7", when='@11.0.0:11.0')
+ depends_on("g4radioactivedecay@5.6", when='@11.0.0:11.0')
+ depends_on("g4particlexs@4.0", when='@11.0.0:11.0')
+ depends_on("g4pii@1.3", when='@11.0.0:11.0')
+ depends_on("g4realsurface@2.2", when='@11.0.0:11.0')
+ depends_on("g4saiddata@2.0", when='@11.0.0:11.0')
+ depends_on("g4abla@3.1", when='@11.0.0:11.0')
+ depends_on("g4incl@1.0", when='@11.0.0:11.0')
+
# geant4@10.7.X
depends_on("g4ndl@4.6", when='@10.7.0:10.7')
depends_on("g4emlow@7.13", when='@10.7.0:10.7')
diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py
index d01c78ec4e..a5eb13abab 100644
--- a/var/spack/repos/builtin/packages/geant4/package.py
+++ b/var/spack/repos/builtin/packages/geant4/package.py
@@ -19,6 +19,8 @@ class Geant4(CMakePackage):
maintainers = ['drbenmorgan']
+ version('11.0.0', sha256='dbfc6b5030a36936b46f56a0bede4b647d0160c178a5629d39ce392124e47936')
+ version('10.7.3', sha256='8615d93bd4178d34f31e19d67bc81720af67cdab1c8425af8523858dcddcf65b', preferred=True)
version('10.7.2', sha256='593fc85883a361487b17548ba00553501f66a811b0a79039276bb75ad59528cf')
version('10.7.1', sha256='2aa7cb4b231081e0a35d84c707be8f35e4edc4e97aad2b233943515476955293')
version('10.7.0', sha256='c991a139210c7f194720c900b149405090058c00beb5a0d2fac5c40c42a262d4')
@@ -37,6 +39,8 @@ class Geant4(CMakePackage):
values=_cxxstd_values,
multi=False,
description='Use the specified C++ standard when building.')
+ conflicts('cxxstd=11', when='@11:', msg='geant4@11: only supports cxxstd=17')
+ conflicts('cxxstd=14', when='@11:', msg='geant4@11: only supports cxxstd=17')
variant('threads', default=True, description='Build with multithreading')
variant('vecgeom', default=False, description='Enable vecgeom support')
@@ -45,10 +49,15 @@ class Geant4(CMakePackage):
variant('motif', default=False, description='Optional motif support')
variant('qt', default=False, description='Enable Qt support')
variant('python', default=False, description='Enable Python bindings')
+ variant('tbb', default=False, description='Use TBB as a tasking backend', when='@11:')
+ variant('vtk', default=False, description='Enable VTK support', when='@11:')
- depends_on('cmake@3.5:', type='build')
+ depends_on('cmake@3.16:', type='build', when='@11.0.0:')
depends_on('cmake@3.8:', type='build', when='@10.6.0:')
+ depends_on('cmake@3.5:', type='build')
+ depends_on('geant4-data@11.0.0', when='@11.0.0')
+ depends_on('geant4-data@10.7.3', when='@10.7.3')
depends_on('geant4-data@10.7.2', when='@10.7.2')
depends_on('geant4-data@10.7.1', when='@10.7.1')
depends_on('geant4-data@10.7.0', when='@10.7.0')
@@ -64,6 +73,9 @@ class Geant4(CMakePackage):
depends_on("expat")
depends_on("zlib")
+ depends_on('tbb', when='+tbb')
+ depends_on('vtk@8.2:', when='+vtk')
+
# Python, with boost requirement dealt with in cxxstd section
depends_on('python@3:', when='+python')
extends('python', when='+python')
@@ -72,6 +84,9 @@ class Geant4(CMakePackage):
for std in _cxxstd_values:
# CLHEP version requirements to be reviewed
+ depends_on('clhep@2.4.5.1: cxxstd=' + std,
+ when='@11.0.0: cxxstd=' + std)
+
depends_on('clhep@2.4.4.0: cxxstd=' + std,
when='@10.7.0: cxxstd=' + std)
@@ -79,9 +94,12 @@ class Geant4(CMakePackage):
when='@10.3.3:10.6 cxxstd=' + std)
# Spack only supports Xerces-c 3 and above, so no version req
- depends_on('xerces-c netaccessor=curl cxxstd=' + std, when='cxxstd=' + std)
+ depends_on('xerces-c netaccessor=curl cxxstd=' + std,
+ when='cxxstd=' + std)
# Vecgeom specific versions for each Geant4 version
+ depends_on('vecgeom@1.1.18:1.1 cxxstd=' + std,
+ when='@11.0.0: +vecgeom cxxstd=' + std)
depends_on('vecgeom@1.1.8:1.1 cxxstd=' + std,
when='@10.7.0: +vecgeom cxxstd=' + std)
depends_on('vecgeom@1.1.5 cxxstd=' + std,
@@ -120,7 +138,6 @@ class Geant4(CMakePackage):
# Core options
options = [
- self.define_from_variant('GEANT4_BUILD_CXXSTD', 'cxxstd'),
'-DGEANT4_USE_SYSTEM_CLHEP=ON',
'-DGEANT4_USE_SYSTEM_EXPAT=ON',
'-DGEANT4_USE_SYSTEM_ZLIB=ON',
@@ -129,6 +146,14 @@ class Geant4(CMakePackage):
'-DXERCESC_ROOT_DIR={0}'.format(spec['xerces-c'].prefix)
]
+ # Use the correct C++ standard option for the requested version
+ if spec.version >= Version('11.0'):
+ options.append(
+ self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'))
+ else:
+ options.append(
+ self.define_from_variant('GEANT4_BUILD_CXXSTD', 'cxxstd'))
+
# Don't install the package cache file as Spack will set
# up CMAKE_PREFIX_PATH etc for the dependencies
if spec.version >= Version('10.6'):
@@ -137,6 +162,8 @@ class Geant4(CMakePackage):
# Multithreading
options.append(self.define_from_variant('GEANT4_BUILD_MULTITHREADED',
'threads'))
+ options.append(self.define_from_variant('GEANT4_USE_TBB', 'tbb'))
+
if '+threads' in spec:
# Locked at global-dynamic to allow use cases that load the
# geant4 libs at application runtime
@@ -170,6 +197,8 @@ class Geant4(CMakePackage):
'-DQT_QMAKE_EXECUTABLE=%s' %
spec['qt'].prefix.bin.qmake)
+ options.append(self.define_from_variant('GEANT4_USE_VTK', 'vtk'))
+
# Python
if spec.version > Version('10.6.1'):
options.append(self.define_from_variant('GEANT4_USE_PYTHON',
diff --git a/var/spack/repos/builtin/packages/gfsio/package.py b/var/spack/repos/builtin/packages/gfsio/package.py
index 430f1b1da7..205771d8fc 100644
--- a/var/spack/repos/builtin/packages/gfsio/package.py
+++ b/var/spack/repos/builtin/packages/gfsio/package.py
@@ -18,3 +18,10 @@ class Gfsio(CMakePackage):
maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
version('1.4.1', sha256='eab106302f520600decc4f9665d7c6a55e7b4901fab6d9ef40f29702b89b69b1')
+
+ def setup_run_environment(self, env):
+ lib = find_libraries('libgfsio', root=self.prefix, shared=False, recursive=True)
+ # Only one library version, but still need to set _4 to make NCO happy
+ for suffix in ('4', ''):
+ env.set('GFSIO_LIB' + suffix, lib[0])
+ env.set('GFSIO_INC' + suffix, join_path(self.prefix, 'include'))
diff --git a/var/spack/repos/builtin/packages/ginkgo/1.4.0_dpcpp_use_old_standard.patch b/var/spack/repos/builtin/packages/ginkgo/1.4.0_dpcpp_use_old_standard.patch
new file mode 100644
index 0000000000..54ed07c22d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ginkgo/1.4.0_dpcpp_use_old_standard.patch
@@ -0,0 +1,70 @@
+commit 83164570f0d3511d114114bcc2b02ad23b753ed0
+Author: Yuhsiang M. Tsai <yhmtsai@gmail.com>
+Date: Wed Oct 6 16:33:16 2021 +0200
+
+ syclstd 1.2.1 in new release to propagate subgroup
+ remove 64 subgroup in dense to avoid conj_trans issue on cpu temporarily
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ceb269b1cb..b47388a596 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -67,7 +67,8 @@ if(MSVC)
+ elseif(GINKGO_BUILD_DPCPP OR CMAKE_CXX_COMPILER MATCHES "dpcpp")
+ # For now always use `-ffp-model=precise` with DPC++. This can be removed when
+ # the floating point issues are fixed.
+- set(GINKGO_COMPILER_FLAGS "-Wpedantic;-ffp-model=precise" CACHE STRING
++ # -sycl-std=1.2.1 (or -sycl-std=2017) is temporary workaround after 2021.4 to propagate subgroup setting correctly
++ set(GINKGO_COMPILER_FLAGS "-Wpedantic;-ffp-model=precise;-sycl-std=1.2.1" CACHE STRING
+ "Set the required CXX compiler flags, mainly used for warnings. Current default is `-Wpedantic;-ffp-model=precise`")
+ else()
+ set(GINKGO_COMPILER_FLAGS "-Wpedantic" CACHE STRING
+diff --git a/cmake/create_test.cmake b/cmake/create_test.cmake
+index 9d22406f9a..dcc452b293 100644
+--- a/cmake/create_test.cmake
++++ b/cmake/create_test.cmake
+@@ -40,6 +40,7 @@ function(ginkgo_create_dpcpp_test test_name)
+ add_executable(${test_target_name} ${test_name}.dp.cpp)
+ target_compile_features(${test_target_name} PUBLIC cxx_std_17)
+ target_compile_options(${test_target_name} PRIVATE "${GINKGO_DPCPP_FLAGS}")
++ target_compile_options(${test_target_name} PRIVATE "${GINKGO_COMPILER_FLAGS}")
+ target_link_options(${test_target_name} PRIVATE -fsycl-device-code-split=per_kernel)
+ ginkgo_set_test_target_properties(${test_name} ${test_target_name})
+ # Note: MKL_ENV is empty on linux. Maybe need to apply MKL_ENV to all test.
+diff --git a/dpcpp/CMakeLists.txt b/dpcpp/CMakeLists.txt
+index fee9ec3639..ce71fd5d3c 100644
+--- a/dpcpp/CMakeLists.txt
++++ b/dpcpp/CMakeLists.txt
+@@ -68,6 +68,7 @@ target_compile_definitions(ginkgo_dpcpp PRIVATE GKO_COMPILING_DPCPP)
+
+ set(GINKGO_DPCPP_FLAGS ${GINKGO_DPCPP_FLAGS} PARENT_SCOPE)
+ target_compile_options(ginkgo_dpcpp PRIVATE "${GINKGO_DPCPP_FLAGS}")
++target_compile_options(ginkgo_dpcpp PRIVATE "${GINKGO_COMPILER_FLAGS}")
+ # Note: add MKL as PRIVATE not PUBLIC (MKL example shows) to avoid propagating
+ # find_package(MKL) everywhere when linking ginkgo (see the MKL example
+ # https://software.intel.com/content/www/us/en/develop/documentation/onemkl-windows-developer-guide/top/getting-started/cmake-config-for-onemkl.html)
+diff --git a/dpcpp/matrix/dense_kernels.dp.cpp b/dpcpp/matrix/dense_kernels.dp.cpp
+index 0c89530d1d..9a86ab9cd1 100644
+--- a/dpcpp/matrix/dense_kernels.dp.cpp
++++ b/dpcpp/matrix/dense_kernels.dp.cpp
+@@ -69,14 +69,14 @@ namespace dpcpp {
+ namespace dense {
+
+
++// Disable the 64 subgroup. CPU supports 64 now, but conj_transpose will
++// lead CL_OUT_OF_RESOURCES. TODO: investigate this issue.
+ using KCFG_1D = ConfigSet<11, 7>;
+ constexpr auto kcfg_1d_list =
+- syn::value_list<std::uint32_t, KCFG_1D::encode(512, 64),
+- KCFG_1D::encode(512, 32), KCFG_1D::encode(512, 16),
+- KCFG_1D::encode(256, 32), KCFG_1D::encode(256, 16),
+- KCFG_1D::encode(256, 8)>();
+-constexpr auto subgroup_list =
+- syn::value_list<std::uint32_t, 64, 32, 16, 8, 4>();
++ syn::value_list<std::uint32_t, KCFG_1D::encode(512, 32),
++ KCFG_1D::encode(512, 16), KCFG_1D::encode(256, 32),
++ KCFG_1D::encode(256, 16), KCFG_1D::encode(256, 8)>();
++constexpr auto subgroup_list = syn::value_list<std::uint32_t, 32, 16, 8, 4>();
+ constexpr auto kcfg_1d_array = syn::as_array(kcfg_1d_list);
+ constexpr int default_block_size = 256;
+
diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py
index 4518f3cce1..694ae2702e 100644
--- a/var/spack/repos/builtin/packages/ginkgo/package.py
+++ b/var/spack/repos/builtin/packages/ginkgo/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
import sys
from spack import *
@@ -31,6 +32,7 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
variant('shared', default=True, description='Build shared libraries')
variant('full_optimizations', default=False, description='Compile with all optimizations')
variant('openmp', default=sys.platform != 'darwin', description='Build with OpenMP')
+ variant('oneapi', default=False, description='Build with oneAPI support')
variant('develtools', default=False, description='Compile with develtools enabled')
variant('hwloc', default=False, description='Enable HWLOC support')
variant('build_type', default='Release',
@@ -49,9 +51,13 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
depends_on('googletest', type="test")
depends_on('numactl', type="test", when="+hwloc")
+ depends_on('intel-oneapi-mkl', when="+oneapi")
+ depends_on('intel-oneapi-dpl', when="+oneapi")
+
conflicts('%gcc@:5.2.9')
conflicts("+rocm", when="@:1.1.1")
conflicts("+cuda", when="+rocm")
+ conflicts("+openmp", when="+oneapi")
# ROCm 4.1.0 breaks platform settings which breaks Ginkgo's HIP support.
conflicts("^hip@4.1.0:", when="@:1.3.0")
@@ -63,18 +69,39 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
patch('1.4.0_skip_invalid_smoke_tests.patch', when='@master')
patch('1.4.0_skip_invalid_smoke_tests.patch', when='@1.4.0')
+ # Newer DPC++ compilers use the updated SYCL 2020 standard which change
+ # kernel attribute propagation rules. This doesn't work well with the
+ # initial Ginkgo oneAPI support.
+ patch('1.4.0_dpcpp_use_old_standard.patch', when='+oneapi @master')
+ patch('1.4.0_dpcpp_use_old_standard.patch', when='+oneapi @1.4.0')
+
+ def setup_build_environment(self, env):
+ spec = self.spec
+ if '+oneapi' in spec:
+ env.set('MKLROOT',
+ join_path(spec['intel-oneapi-mkl'].prefix,
+ 'mkl', 'latest'))
+ env.set('DPL_ROOT',
+ join_path(spec['intel-oneapi-dpl'].prefix,
+ 'dpl', 'latest'))
+
def cmake_args(self):
# Check that the have the correct C++ standard is available
if self.spec.satisfies('@:1.2.0'):
try:
self.compiler.cxx11_flag
except UnsupportedCompilerFlag:
- InstallError('Ginkgo requires a C++11-compliant C++ compiler')
+ raise InstallError('Ginkgo requires a C++11-compliant C++ compiler')
else:
try:
self.compiler.cxx14_flag
except UnsupportedCompilerFlag:
- InstallError('Ginkgo requires a C++14-compliant C++ compiler')
+ raise InstallError('Ginkgo requires a C++14-compliant C++ compiler')
+
+ cxx_is_dpcpp = os.path.basename(self.compiler.cxx) == "dpcpp"
+ if self.spec.satisfies('+oneapi') and not cxx_is_dpcpp:
+ raise InstallError("Ginkgo's oneAPI backend requires the" +
+ "DPC++ compiler as main CXX compiler.")
spec = self.spec
from_variant = self.define_from_variant
@@ -85,6 +112,7 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
from_variant('BUILD_SHARED_LIBS', 'shared'),
from_variant('GINKGO_JACOBI_FULL_OPTIMIZATIONS', 'full_optimizations'),
from_variant('GINKGO_BUILD_HWLOC', 'hwloc'),
+ from_variant('GINKGO_BUILD_DPCPP', 'oneapi'),
from_variant('GINKGO_DEVEL_TOOLS', 'develtools'),
# As we are not exposing benchmarks, examples, tests nor doc
# as part of the installation, disable building them altogether.
diff --git a/var/spack/repos/builtin/packages/gl2ps/package.py b/var/spack/repos/builtin/packages/gl2ps/package.py
index cd8005eb4b..5a5f0f390c 100644
--- a/var/spack/repos/builtin/packages/gl2ps/package.py
+++ b/var/spack/repos/builtin/packages/gl2ps/package.py
@@ -13,6 +13,7 @@ class Gl2ps(CMakePackage):
homepage = "https://www.geuz.org/gl2ps/"
url = "https://geuz.org/gl2ps/src/gl2ps-1.3.9.tgz"
+ version('1.4.2', sha256='8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9')
version('1.4.0', sha256='03cb5e6dfcd87183f3b9ba3b22f04cd155096af81e52988cc37d8d8efe6cf1e2')
version('1.3.9', sha256='8a680bff120df8bcd78afac276cdc38041fed617f2721bade01213362bcc3640')
diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py
index 5180973e26..6707c49e1d 100644
--- a/var/spack/repos/builtin/packages/glib/package.py
+++ b/var/spack/repos/builtin/packages/glib/package.py
@@ -23,6 +23,7 @@ class Glib(Package):
maintainers = ['michaelkuhn']
+ version('2.70.2', sha256='0551459c85cd3da3d58ddc9016fd28be5af503f5e1615a71ba5b512ac945806f')
version('2.70.0', sha256='200d7df811c5ba634afbf109f14bb40ba7fde670e89389885da14e27c0840742')
version('2.68.4', sha256='62fd061d08a75492617e625a73e2c05e259f831acbb8e1f8b9c81f23f7993a3b')
version('2.68.3', sha256='e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138')
diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py
index 1ed6a1a9b1..008c2be316 100644
--- a/var/spack/repos/builtin/packages/go/package.py
+++ b/var/spack/repos/builtin/packages/go/package.py
@@ -43,9 +43,11 @@ class Go(Package):
maintainers = ['alecbcs']
+ version('1.17.3', sha256='705c64251e5b25d5d55ede1039c6aa22bea40a7a931d14c370339853643c3df0')
version('1.17.2', sha256='2255eb3e4e824dd7d5fcdc2e7f84534371c186312e546fb1086a34c17752f431')
version('1.17.1', sha256='49dc08339770acd5613312db8c141eaf61779995577b89d93b541ef83067e5b1')
version('1.17', sha256='3a70e5055509f347c0fb831ca07a2bf3b531068f349b14a3c652e9b5b67beb5d')
+ version('1.16.10', sha256='a905472011585e403d00d2a41de7ced29b8884309d73482a307f689fd0f320b5')
version('1.16.9', sha256='0a1cc7fd7bd20448f71ebed64d846138850d5099b18cf5cc10a4fc45160d8c3d')
version('1.16.6', sha256='a3a5d4bc401b51db065e4f93b523347a4d343ae0c0b08a65c3423b05a138037d')
version('1.16.5', sha256='7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80')
diff --git a/var/spack/repos/builtin/packages/goshimmer/package.py b/var/spack/repos/builtin/packages/goshimmer/package.py
new file mode 100644
index 0000000000..e440321f57
--- /dev/null
+++ b/var/spack/repos/builtin/packages/goshimmer/package.py
@@ -0,0 +1,40 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Goshimmer(Package):
+ """GoShimmer is a prototype node for exploring the implementation of IOTA 2.0"""
+ homepage = 'https://github.com/iotaledger/goshimmer'
+ url = 'https://github.com/iotaledger/goshimmer/archive/refs/tags/v0.8.0.tar.gz'
+
+ maintainers = ['bernhardkaindl']
+
+ version('0.8.0', 'ec515deebf0dd35ff76cd98addae9cfcbf4758ab9eb72eb0f6ff4654f2658980')
+
+ depends_on('go@1.16:', type='build')
+ depends_on('snappy')
+ depends_on('rocksdb')
+ depends_on('zstd')
+ depends_on('zlib')
+ depends_on('lz4')
+
+ @property
+ def snapbin(self):
+ return join_path(self.prefix.bin, 'snapshot.bin')
+
+ def patch(self):
+ for file in ['tools/genesis-snapshot/main', 'plugins/messagelayer/parameters']:
+ filter_file('./snapshot.bin', self.snapbin, file + '.go')
+
+ def install(self, spec, prefix):
+ which('go')('build', '-modcacherw', '-tags', 'rocksdb,netgo')
+ mkdir(prefix.bin)
+ install('config.default.json', prefix.bin)
+ install('goshimmer', prefix.bin)
+ which('wget')('-O', self.snapbin,
+ 'https://dbfiles-goshimmer.s3.eu-central-1.amazonaws.com/snapshots/nectar/snapshot-latest.bin')
+ remove_linked_tree(prefix.pkg)
diff --git a/var/spack/repos/builtin/packages/gpgme/package.py b/var/spack/repos/builtin/packages/gpgme/package.py
index 7d0695cc28..8522c04552 100644
--- a/var/spack/repos/builtin/packages/gpgme/package.py
+++ b/var/spack/repos/builtin/packages/gpgme/package.py
@@ -11,12 +11,20 @@ class Gpgme(AutotoolsPackage):
functions from programming languages."""
homepage = "https://www.gnupg.org/software/gpgme/index.html"
- url = "https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.12.0.tar.bz2"
+ url = "https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.16.0.tar.bz2"
executables = ['^gpgme-config$']
+ version('1.16.0', sha256='6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0')
version('1.12.0', sha256='b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8')
+ # https://dev.gnupg.org/T5509 - New test t-edit-sign test crashes with GCC 11.1.0
+ patch(
+ 'https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff_plain;h=81a33ea5e1b86d586b956e893a5b25c4cd41c969;hp=e8e055e682f8994d62012574e1c8d862ca72a35d',
+ sha256='b934e3cb0b3408ad27990d97b594c89801a4748294e2eb5804a455a312821411',
+ when='@1.16.0',
+ )
+
depends_on('gnupg', type='build')
depends_on('libgpg-error', type='build')
depends_on('libassuan', type='build')
@@ -24,3 +32,24 @@ class Gpgme(AutotoolsPackage):
@classmethod
def determine_version(cls, exe):
return Executable(exe)('--version', output=str, error=str).rstrip()
+
+ def configure_args(self):
+ """Fix the build when incompatible Qt libraries are installed on the host"""
+ return ['--enable-languages=cpp']
+
+ def setup_build_environment(self, env):
+ """Build tests create a public keyring in ~/.gnupg if $HOME is not redirected"""
+ if self.run_tests:
+ env.set('HOME', self.build_directory)
+ env.prepend_path('LD_LIBRARY_PATH', self.spec['libgpg-error'].prefix.lib)
+
+ @property
+ def make_tests(self):
+ """Use the Makefile's tests variable to control if the build tests shall run"""
+ return 'tests=tests' if self.run_tests else 'tests='
+
+ def build(self, spec, prefix):
+ make(self.make_tests)
+
+ def install(self, spec, prefix):
+ make(self.make_tests, 'install')
diff --git a/var/spack/repos/builtin/packages/gpi-2/package.py b/var/spack/repos/builtin/packages/gpi-2/package.py
index 20ebe86a32..353a46f5e7 100644
--- a/var/spack/repos/builtin/packages/gpi-2/package.py
+++ b/var/spack/repos/builtin/packages/gpi-2/package.py
@@ -18,7 +18,7 @@ class Gpi2(AutotoolsPackage):
url = 'https://github.com/cc-hpc-itwm/GPI-2/archive/refs/tags/v1.5.1.tar.gz'
git = 'https://github.com/cc-hpc-itwm/GPI-2.git'
- maintainers = ['robert-mijakovic', 'acastanedam']
+ maintainers = ['robert-mijakovic', 'acastanedam', 'mzeyen1985']
version('develop', branch='next')
version('master', branch='master')
@@ -26,6 +26,7 @@ class Gpi2(AutotoolsPackage):
version('1.5.1', sha256='4dac7e9152694d2ec4aefd982a52ecc064a8cb8f2c9eab0425428127c3719e2e')
version('1.5.0', sha256='ee299ac1c08c38c9e7871d4af745f1075570ddbb708bb62d82257244585e5183')
version('1.4.0', sha256='3b8ffb45346b2fe56aaa7ba15a515e62f9dff45a28e6a014248e20094bbe50a1')
+ version('1.3.3', sha256='923a848009e7dcd9d26c317ede68b50289b2a9297eb10a75dcc34a4d49f3cdcc')
version('1.3.2', sha256='83dbfb2e4bed28ef4e2ae430d30505874b4b50252e2f31dc422b3bc191a87ab0')
version('1.3.1', sha256='414fa352e7b478442e6f5d0b51ff00deeb4fc705de805676c0e68829f3f30967')
version('1.3.0', sha256='ffaa5c6abfbf79aec6389ab7caaa2c8a91bce24fd046d9741418ff815cd445d2')
@@ -67,29 +68,29 @@ class Gpi2(AutotoolsPackage):
depends_on('slurm', when='schedulers=slurm')
conflicts('%gcc@10:', when='@:1.3.2', msg='gcc>10 is not supported')
- conflicts('schedulers=slurm', when='@:1.3.2', msg='Slurm is not supported')
+ conflicts('schedulers=slurm', when='@:1.3.3', msg='Slurm is not supported')
def set_specific_cflags(self, spec):
- if spec.satisfies('@:1.4.0%gcc@10.1.0:'):
+ if spec.satisfies('@1.4.0%gcc@10.1.0:'):
environ['CFLAGS'] = '-fcommon'
# GPI-2 without autotools
- @when('@:1.3.2')
+ @when('@:1.3.3')
def autoreconf(self, spec, prefix):
touch = which('touch')
touch('configure')
pass
- @when('@:1.3.2')
+ @when('@:1.3.3')
def configure(self, spec, prefix):
pass
- @when('@:1.3.2')
+ @when('@:1.3.3')
def build(self, spec, prefix):
self.old_install(spec, prefix)
pass
- @when('@:1.3.2')
+ @when('@:1.3.3')
def old_install(self, spec, prefix):
spec = self.spec
@@ -113,7 +114,7 @@ class Gpi2(AutotoolsPackage):
install = which('./install.sh')
install(*config_args)
- @when('@:1.3.2')
+ @when('@:1.3.3')
def install(self, spec, prefix):
pass
diff --git a/var/spack/repos/builtin/packages/gptune/package.py b/var/spack/repos/builtin/packages/gptune/package.py
new file mode 100644
index 0000000000..e7d952efad
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gptune/package.py
@@ -0,0 +1,173 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class Gptune(CMakePackage):
+ """GPTune is an autotuning framework that relies on multitask and transfer
+ learnings to help solve the underlying black-box optimization problem using
+ Bayesian optimization methodologies."""
+
+ homepage = "https://gptune.lbl.gov/"
+ git = "https://github.com/gptune/GPTune.git"
+ maintainers = ['liuyangzhuan']
+
+ version('master', branch='master')
+
+ variant('app', default=False, description='Build all HPC application examples')
+
+ depends_on('mpi', type=('build', 'link', 'run'))
+ depends_on('cmake@3.3:', type='build')
+ depends_on('jq', type='run')
+ depends_on('blas', type='link')
+ depends_on('lapack', type='link')
+ depends_on('scalapack', type='link')
+ depends_on('py-setuptools', type='build')
+ depends_on('py-ipyparallel', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-pandas', type=('build', 'run'))
+ depends_on('py-joblib', type=('build', 'run'))
+ depends_on('py-scikit-learn', type=('build', 'run'))
+ depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on('py-scikit-optimize@master+gptune', type=('build', 'run'))
+ depends_on('py-gpy', type=('build', 'run'))
+ depends_on('py-lhsmdu', type=('build', 'run'))
+ depends_on('py-hpbandster', type=('build', 'run'))
+ depends_on('py-opentuner', type=('build', 'run'))
+ depends_on('py-ytopt-autotune@1.1.0', type=('build', 'run'))
+ depends_on('py-filelock', type=('build', 'run'))
+ depends_on('py-requests', type=('build', 'run'))
+ depends_on('py-cython', type=('build', 'run'))
+ depends_on('py-pyaml', type=('build', 'run'))
+ depends_on('py-mpi4py@3.0.3:', type=('build', 'run'))
+ depends_on('pygmo', type=('build', 'run'))
+ depends_on('openturns', type=('build', 'run'))
+
+ depends_on('superlu-dist@develop', when='+app', type=('build', 'run'))
+
+ conflicts('openmpi@:3')
+
+ def cmake_args(self):
+ spec = self.spec
+ fc_flags = []
+ if '%gcc@10:' in spec or self.spec.satisfies('%apple-clang@11:'):
+ fc_flags.append('-fallow-argument-mismatch')
+
+ args = [
+ '-DTPL_BLAS_LIBRARIES=%s' % spec['blas'].libs.joined(";"),
+ '-DTPL_LAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
+ '-DTPL_SCALAPACK_LIBRARIES=%s' % spec['scalapack'].
+ libs.joined(";"),
+ '-DCMAKE_Fortran_FLAGS=' + ''.join(fc_flags),
+ '-DBUILD_SHARED_LIBS=ON',
+ ]
+
+ return args
+
+ examples_src_dir = 'examples'
+ src_dir = 'GPTune'
+ nodes = 1
+ cores = 4
+
+ @run_after('install')
+ def cache_test_sources(self):
+ """Copy the example source files after the package is installed to an
+ install test subdirectory for use during `spack test run`."""
+ self.cache_extra_test_sources([self.examples_src_dir, self.src_dir])
+
+ def test(self):
+ spec = self.spec
+ comp_name = self.compiler.name
+ comp_version = str(self.compiler.version).replace('.', ',')
+ test_dir = join_path(self.install_test_root, self.examples_src_dir)
+
+ if '+app' in spec:
+ superludriver = join_path(spec['superlu-dist'].prefix.bin, 'pddrive_spawn')
+ op = ['-r', superludriver, '.']
+ # copy superlu-dist executables to the correct place
+ with working_dir(join_path(test_dir, 'SuperLU_DIST'), create=False):
+ self.run_test('rm', options=['-rf', 'superlu_dist'], work_dir='.')
+ self.run_test('git', options=['clone', 'https://github.com/xiaoyeli/superlu_dist.git'], work_dir='.')
+ self.run_test('mkdir', options=['-p',
+ 'build'], work_dir='./superlu_dist')
+ self.run_test('mkdir', options=['-p', 'EXAMPLE'],
+ work_dir='./superlu_dist/build')
+ self.run_test('cp', options=op, work_dir='./superlu_dist/build/EXAMPLE')
+
+ with working_dir(self.install_test_root, create=False):
+ cdir = join_path(self.prefix, 'gptuneclcm')
+ self.run_test('cp', options=['-r', cdir, '.'], work_dir='.')
+ self.run_test('rm', options=['-rf', 'build'], work_dir='.')
+ self.run_test('mv', options=['gptuneclcm', 'build'], work_dir='.')
+
+ with open('{0}/run_env.sh'.format(self.install_test_root), 'w') as envfile:
+ envfile.write('if [[ $NERSC_HOST = "cori" ]]; then\n')
+ envfile.write(' export machine=cori\n')
+ envfile.write('elif [[ $(uname -s) = "Darwin" ]]; then\n')
+ envfile.write(' export machine=mac\n')
+ envfile.write('elif [[ $(dnsdomainname) = ' +
+ '"summit.olcf.ornl.gov" ]]; then\n')
+ envfile.write(' export machine=summit\n')
+ envfile.write('elif [[ $(cat /etc/os-release | grep "PRETTY_NAME") ==' +
+ ' *"Ubuntu"* || $(cat /etc/os-release | grep' +
+ ' "PRETTY_NAME") == *"Debian"* ]]; then\n')
+ envfile.write(' export machine=unknownlinux\n')
+ envfile.write('fi\n')
+ envfile.write('export GPTUNEROOT=$PWD\n')
+ envfile.write('export MPIRUN={0}\n'.format
+ (which(spec['mpi'].prefix.bin + '/mpirun')))
+ envfile.write('export proc=$(spack arch)\n')
+ envfile.write('export mpi={0}\n'.format(spec['mpi'].name))
+ envfile.write('export compiler={0}\n'.format(comp_name))
+ envfile.write('export nodes={0} \n'.format(self.nodes))
+ envfile.write('export cores={0} \n'.format(self.cores))
+ envfile.write('export ModuleEnv=$machine-$proc-$mpi-$compiler \n')
+ envfile.write('software_json=$(echo ",\\\"software_configuration\\\":' +
+ '{\\\"' + spec['blas'].name +
+ '\\\":{\\\"version_split\\\":' +
+ ' [' + str(spec['blas'].versions).replace('.', ',') +
+ ']},\\\"' + spec['mpi'].name +
+ '\\\":{\\\"version_split\\\": [' +
+ str(spec['mpi'].versions).replace('.', ',') + ']},\\\"' +
+ spec['scalapack'].name +
+ '\\\":{\\\"version_split\\\": [' +
+ str(spec['scalapack'].versions).replace('.', ',') +
+ ']},\\\"' +
+ str(comp_name) + '\\\":{\\\"version_split\\\": [' +
+ str(comp_version) + ']}}") \n')
+ envfile.write('loadable_software_json=$(echo ",\\\"loadable_software_' +
+ 'configurations\\\":{\\\"' + spec['blas'].name +
+ '\\\":{\\\"version_split\\\": [' +
+ str(spec['blas'].versions).replace('.', ',') +
+ ']},\\\"' + spec['mpi'].name +
+ '\\\":{\\\"version_split\\\": [' +
+ str(spec['mpi'].versions).replace('.', ',') + ']},\\\"' +
+ spec['scalapack'].name +
+ '\\\":{\\\"version_split\\\": [' +
+ str(spec['scalapack'].versions).replace('.', ',') +
+ ']},\\\"' + str(comp_name) +
+ '\\\":{\\\"version_split\\\": ['
+ + str(comp_version) + ']}}") \n')
+ envfile.write('machine_json=$(echo ",\\\"machine_configuration\\\":' +
+ '{\\\"machine_name\\\":\\\"$machine\\\",\\\"$proc\\\":' +
+ '{\\\"nodes\\\":$nodes,\\\"cores\\\":$cores}}") \n')
+ envfile.write('loadable_machine_json=$(echo ",\\\"loadable_machine_' +
+ 'configurations\\\":{\\\"$machine\\\":{\\\"$proc\\\":' +
+ '{\\\"nodes\\\":$nodes,\\\"cores\\\":$cores}}}") \n')
+
+ if '+app' in spec:
+ apps = ['GPTune-Demo', 'SuperLU_DIST', 'SuperLU_DIST_RCI',
+ 'Scalapack-PDGEQRF', 'Scalapack-PDGEQRF_RCI']
+ else:
+ apps = ['GPTune-Demo', 'Scalapack-PDGEQRF', 'Scalapack-PDGEQRF_RCI']
+
+ for app in apps:
+ with working_dir(join_path(test_dir, app), create=False):
+ # PDGEQRF with GPTune
+ self.run_test('bash', options=['run_examples.sh'], work_dir='.',
+ purpose='gptune smoke test for {0}'.format(app))
diff --git a/var/spack/repos/builtin/packages/gpu-burn/package.py b/var/spack/repos/builtin/packages/gpu-burn/package.py
index 15d2dd5b8f..87a2832842 100644
--- a/var/spack/repos/builtin/packages/gpu-burn/package.py
+++ b/var/spack/repos/builtin/packages/gpu-burn/package.py
@@ -32,9 +32,9 @@ class GpuBurn(MakefilePackage, CudaPackage):
fh.write('drv:\n')
fh.write('\tnvcc {0} -fatbin '
'compare.cu -o compare.ptx\n'.format(archflag))
- fh.write('\tg++ -O3 -c gpu_burn-drv.cpp\n')
- fh.write('\tg++ -o gpu_burn gpu_burn-drv.o -O3 -lcuda '
- '-lcublas -lcudart -o gpu_burn\n')
+ fh.write('\t{0} -O3 -c gpu_burn-drv.cpp\n'.format(spack_cxx))
+ fh.write('\t{0} -o gpu_burn gpu_burn-drv.o -O3 -lcuda '
+ '-lcublas -lcudart -o gpu_burn\n'.format(spack_cxx))
filter_file('compare.ptx',
join_path(prefix.share,
diff --git a/var/spack/repos/builtin/packages/grnboost/package.py b/var/spack/repos/builtin/packages/grnboost/package.py
index 35a802bf40..dff74e5031 100644
--- a/var/spack/repos/builtin/packages/grnboost/package.py
+++ b/var/spack/repos/builtin/packages/grnboost/package.py
@@ -22,7 +22,7 @@ class Grnboost(Package):
depends_on('sbt', type='build')
depends_on('java', type=('build', 'run'))
- depends_on('xgboost+jvm-packages', type='run')
+ depends_on('xgboost', type='run')
depends_on('spark+hadoop', type='run')
def setup_run_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/groff/package.py b/var/spack/repos/builtin/packages/groff/package.py
index ce2cc490bc..1525e11d3e 100644
--- a/var/spack/repos/builtin/packages/groff/package.py
+++ b/var/spack/repos/builtin/packages/groff/package.py
@@ -43,6 +43,7 @@ class Groff(AutotoolsPackage, GNUMirrorPackage):
depends_on('texinfo', type='build', when='@1.22.4:')
# configure complains when there is no uchardet that enhances preconv
depends_on('uchardet', when='@1.22.4:')
+ depends_on('pkgconfig', type='build')
depends_on('libice', when='+x')
depends_on('libxaw', when='+x')
diff --git a/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py b/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py
index e36660aba4..37be793c1a 100644
--- a/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py
+++ b/var/spack/repos/builtin/packages/gromacs-chain-coordinate/package.py
@@ -3,18 +3,10 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-# This is a partial copy of Spack Gromacs package
-# - modified URL and versions
-# - removed Plumed patches
-# - calling original patch and cmake-related procedures to not duplicate them
-# - simplified variants/dependencies because this fork starts at Gromacs 2021
+from spack.pkg.builtin.gromacs import Gromacs
-import os
-from spack.pkg.builtin.gromacs import Gromacs as BuiltinGromacs
-
-
-class GromacsChainCoordinate(CMakePackage):
+class GromacsChainCoordinate(Gromacs):
"""
A modification of GROMACS that implements the "chain coordinate", a reaction
coordinate for pore formation in membranes and stalk formation between membranes.
@@ -26,57 +18,27 @@ class GromacsChainCoordinate(CMakePackage):
maintainers = ['w8jcik']
version('main', branch='main')
+
version('2021.2-0.1', sha256="879fdd04662370a76408b72c9fbc4aff60a6387b459322ac2700d27359d0dd87",
url="https://gitlab.com/cbjh/gromacs-chain-coordinate/-/archive/release-2021.chaincoord-0.1/gromacs-chain-coordinate-release-2021.chaincoord-0.1.tar.bz2",
preferred=True)
- variant('mpi', default=True,
- description='Activate MPI support (disable for Thread-MPI support)')
- variant('shared', default=True,
- description='Enables the build of shared libraries')
- variant(
- 'double', default=False,
- description='Produces a double precision version of the executables')
- variant('cuda', default=False, description='Enable CUDA support')
- variant('opencl', default=False, description='Enable OpenCL support')
- variant('sycl', default=False, description='Enable SYCL support')
- variant('nosuffix', default=False, description='Disable default suffixes')
- variant('build_type', default='RelWithDebInfo',
- description='The build type to build',
- values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel',
- 'Reference', 'RelWithAssert', 'Profile'))
- variant('openmp', default=True,
- description='Enables OpenMP at configure time')
- variant('hwloc', default=True,
- description='Use the hwloc portable hardware locality library')
- variant('lapack', default=False,
- description='Enables an external LAPACK library')
- variant('blas', default=False,
- description='Enables an external BLAS library')
- variant('cycle_subcounters', default=False,
- description='Enables cycle subcounters')
+ conflicts('+plumed')
- depends_on('mpi', when='+mpi')
- depends_on('fftw-api@3')
- depends_on('cmake@3.16.0:3', type='build')
- depends_on('cuda', when='+cuda')
- depends_on('sycl', when='+sycl')
- depends_on('lapack', when='+lapack')
- depends_on('blas', when='+blas')
- depends_on('hwloc', when='+hwloc')
+ def remove_parent_versions(self):
+ """
+ By inheriting GROMACS package we also inherit versions.
+ They are not valid, so we are removing them.
+ """
- filter_compiler_wrappers(
- '*.cmake',
- relative_root=os.path.join('share', 'cmake', 'gromacs_mpi'))
- filter_compiler_wrappers(
- '*.cmake',
- relative_root=os.path.join('share', 'cmake', 'gromacs'))
+ for version_key in Gromacs.versions.keys():
+ if version_key in self.versions:
+ del self.versions[version_key]
- def patch(self):
- BuiltinGromacs.patch(self)
+ def __init__(self, spec):
+ super(GromacsChainCoordinate, self).__init__(spec)
- def cmake_args(self):
- return super(GromacsChainCoordinate, self).cmake_args()
+ self.remove_parent_versions()
def check(self):
"""The default 'test' targets does not compile the test programs"""
diff --git a/var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectCpu-cmake-3.14.patch b/var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectCpu-cmake-3.14.patch
new file mode 100644
index 0000000000..534ac4baab
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectCpu-cmake-3.14.patch
@@ -0,0 +1,11 @@
+--- a/cmake/gmxDetectCpu.cmake
++++ b/cmake/gmxDetectCpu.cmake
+@@ -83,7 +83,7 @@ function(gmx_run_cpu_detection TYPE)
+ set(GCC_INLINE_ASM_DEFINE "-DGMX_X86_GCC_INLINE_ASM=0")
+ endif()
+
+- set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${PROJECT_SOURCE_DIR}/src -DGMX_CPUINFO_STANDALONE ${GMX_STDLIB_CXX_FLAGS} -DGMX_TARGET_X86=${GMX_TARGET_X86_VALUE}")
++ set(_compile_definitions ${GCC_INLINE_ASM_DEFINE} -I${PROJECT_SOURCE_DIR}/src -DGMX_CPUINFO_STANDALONE ${GMX_STDLIB_CXX_FLAGS} -DGMX_TARGET_X86=${GMX_TARGET_X86_VALUE})
+ set(LINK_LIBRARIES "${GMX_STDLIB_LIBRARIES}")
+ try_compile(CPU_DETECTION_COMPILED
+ "${PROJECT_BINARY_DIR}"
diff --git a/var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectSimd-cmake-3.14.patch b/var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectSimd-cmake-3.14.patch
new file mode 100644
index 0000000000..f30ec78a7a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gromacs-swaxs/gmxDetectSimd-cmake-3.14.patch
@@ -0,0 +1,11 @@
+--- a/cmake/gmxDetectSimd.cmake
++++ b/cmake/gmxDetectSimd.cmake
+@@ -77,7 +77,7 @@ function(gmx_suggest_simd _suggested_simd)
+ else()
+ set(GMX_TARGET_X86_VALUE 0)
+ endif()
+- set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src -DGMX_CPUINFO_STANDALONE ${GMX_STDLIB_CXX_FLAGS} -DGMX_TARGET_X86=${GMX_TARGET_X86_VALUE}")
++ set(_compile_definitions ${GCC_INLINE_ASM_DEFINE} -I${CMAKE_SOURCE_DIR}/src -DGMX_CPUINFO_STANDALONE ${GMX_STDLIB_CXX_FLAGS} -DGMX_TARGET_X86=${GMX_TARGET_X86_VALUE})
+
+ # Prepare a default suggestion
+ set(OUTPUT_SIMD "None")
diff --git a/var/spack/repos/builtin/packages/gromacs-swaxs/package.py b/var/spack/repos/builtin/packages/gromacs-swaxs/package.py
new file mode 100644
index 0000000000..e1d4e0e80a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gromacs-swaxs/package.py
@@ -0,0 +1,67 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack.pkg.builtin.gromacs import Gromacs
+
+
+class GromacsSwaxs(Gromacs):
+ """Modified Gromacs for small-angle scattering calculations (SAXS/WAXS/SANS)"""
+
+ homepage = 'https://biophys.uni-saarland.de/swaxs.html'
+ url = 'https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.1/gromacs-swaxs-release-2019.swaxs-0.1.tar.bz2'
+ git = 'https://gitlab.com/cbjh/gromacs-swaxs.git'
+ maintainers = ['w8jcik']
+
+ version('2021.4-0.1', sha256='eda1c8a7aae6001ef40480addf9fff9cdccc7e2b80480e36d069f50d6f2be26e',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2021.swaxs-0.1/gromacs-swaxs-release-2021.swaxs-0.1.tar.bz2')
+
+ version('2020.6-0.1', sha256='3d8360a3cc9144772786bddaa11e3dbc37d6a466b99f3314bf3928261c2fddcf',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2020.swaxs-0.1/gromacs-swaxs-release-2020.swaxs-0.1.tar.bz2')
+
+ version('2019.6-0.2', sha256='a45eeee3983a4443d3a40ea417770f3abd93f43eb80e021fd9d6830e414565cb',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.2/gromacs-swaxs-release-2019.swaxs-0.2.tar.bz2')
+
+ version('2019.6-0.1', sha256='91da09eed80646d6a1c500be78891bef22623a19795a9bc89adf9f2ec4f85635',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2019.swaxs-0.1/gromacs-swaxs-release-2019.swaxs-0.1.tar.bz2')
+
+ version('2018.8-0.3', sha256='5e94d636fda28e81ff1f3cff2c9f6e7f458bf496f4d1ed7bc10e911bd98b303c',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.3/gromacs-swaxs-release-2018.swaxs-0.3.tar.bz2')
+
+ version('2018.8-0.2', sha256='f8bf0d363334a9117a2a8deb690dadaa826b73b57a761949c7846a13b84b5af5',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.2/gromacs-swaxs-release-2018.swaxs-0.2.tar.bz2')
+
+ version('2018.8-0.1', sha256='478f45286dfedb8f01c2d5bf0773a391c2de2baf85283ef683e911bc43e24675',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2018.swaxs-0.1/gromacs-swaxs-release-2018.swaxs-0.1.tar.bz2')
+
+ version('2016.6-0.1', sha256='11e8ae6b3141f356bae72b595737a1f253b878d313169703ba33a69ded01a04e',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-2016.swaxs-0.1/gromacs-swaxs-release-2016.swaxs-0.1.tar.bz2')
+
+ version('5.1.5-0.3', sha256='a9e8382eec3cc0d943e1869f13945ea4a971a95a70eb314c1f26a17fa7d03792',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-5-1.swaxs-0.3/gromacs-swaxs-release-5-1.swaxs-0.3.tar.bz2')
+
+ version('5.0.7-0.5', sha256='7f7f69726472a641a5443f1993a6e1fb8cfa9c74aeaf46e8c5d1db37005ece79',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-5-0.swaxs-0.5/gromacs-swaxs-release-5-0.swaxs-0.5.tar.bz2')
+
+ version('4.6.7-0.8', sha256='1cfa34fe9ff543b665cd556f3395a9aa67f916110ba70255c97389eafe8315a2',
+ url='https://gitlab.com/cbjh/gromacs-swaxs/-/archive/release-4-6.swaxs-0.8/gromacs-swaxs-release-4-6.swaxs-0.8.tar.bz2')
+
+ conflicts('+plumed')
+ conflicts('+opencl')
+ conflicts('+sycl')
+
+ def remove_parent_versions(self):
+ """
+ By inheriting GROMACS package we also inherit versions.
+ They are not valid, so we are removing them.
+ """
+
+ for version_key in Gromacs.versions.keys():
+ if version_key in self.versions:
+ del self.versions[version_key]
+
+ def __init__(self, spec):
+ super(GromacsSwaxs, self).__init__(spec)
+
+ self.remove_parent_versions()
diff --git a/var/spack/repos/builtin/packages/grpc/package.py b/var/spack/repos/builtin/packages/grpc/package.py
index f7ad7d21f9..074ce4137d 100644
--- a/var/spack/repos/builtin/packages/grpc/package.py
+++ b/var/spack/repos/builtin/packages/grpc/package.py
@@ -55,9 +55,9 @@ class Grpc(CMakePackage):
def cmake_args(self):
args = [
- define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- define_from_variant('gRPC_BUILD_CODEGEN', 'codegen'),
- define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
+ self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ self.define_from_variant('gRPC_BUILD_CODEGEN', 'codegen'),
+ self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
'-DgRPC_BUILD_CSHARP_EXT:Bool=OFF',
'-DgRPC_INSTALL:Bool=ON',
# Tell grpc to skip vendoring and look for deps via find_package:
diff --git a/var/spack/repos/builtin/packages/gtk-doc/package.py b/var/spack/repos/builtin/packages/gtk-doc/package.py
index 1cb992b3a5..5cebdafaa6 100644
--- a/var/spack/repos/builtin/packages/gtk-doc/package.py
+++ b/var/spack/repos/builtin/packages/gtk-doc/package.py
@@ -15,8 +15,9 @@ class GtkDoc(AutotoolsPackage):
pdf/man-pages with some extra work."""
homepage = "https://wiki.gnome.org/DocumentationProject/GtkDoc"
- url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/GTK_DOC_1_32/gtk-doc-GTK_DOC_1_32.tar.gz'
+ url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/1.33.2/gtk-doc-1.33.2.tar.gz'
+ version('1.33.2', sha256='2d1b0cbd26edfcb54694b2339106a02a81d630a7dedc357461aeb186874cc7c0')
version('1.32', sha256='0890c1f00d4817279be51602e67c4805daf264092adc58f9c04338566e8225ba')
# Commented out until package dblatex has been created
@@ -26,7 +27,7 @@ class GtkDoc(AutotoolsPackage):
depends_on('automake', type='build')
depends_on('libtool', type='build')
depends_on('m4', type='build')
- depends_on('pkgconfig', type='build')
+ depends_on('pkgconfig@0.19:', type='build')
depends_on('python@3.2:', type=('build', 'run'))
depends_on('py-pygments', type=('build', 'run'))
@@ -35,7 +36,7 @@ class GtkDoc(AutotoolsPackage):
depends_on('py-parameterized', type=('test'))
depends_on('py-six', type=('test'))
depends_on('libxslt')
- depends_on('libxml2')
+ depends_on('libxml2@2.3.6:')
depends_on('docbook-xsl@1.78.1')
depends_on('docbook-xml@4.3')
# depends_on('dblatex', when='+pdf')
@@ -57,8 +58,13 @@ class GtkDoc(AutotoolsPackage):
def url_for_version(self, version):
"""Handle gnome's version-based custom URLs."""
- url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/GTK_DOC_{0}/gtk-doc-GTK_DOC_{0}.tar.gz'
- return url.format(version.underscored)
+
+ if version <= Version('1.32'):
+ url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/GTK_DOC_{0}/gtk-doc-GTK_DOC_{0}.tar.gz'
+ return url.format(version.underscored)
+
+ url = 'https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/{0}/gtk-doc-{0}.tar.gz'
+ return url.format(version)
def configure_args(self):
args = [
diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py
index 8bb2a781eb..270b628efa 100644
--- a/var/spack/repos/builtin/packages/gtkplus/package.py
+++ b/var/spack/repos/builtin/packages/gtkplus/package.py
@@ -61,7 +61,7 @@ class Gtkplus(MesonPackage):
'', 'configure', string=True)
# https://gitlab.gnome.org/GNOME/gtk/-/issues/3776
- if self.spec.satisfies('%gcc@11:'):
+ if self.spec.satisfies('@3:%gcc@11:'):
filter_file(" '-Werror=array-bounds',",
'', 'meson.build', string=True)
@@ -114,7 +114,7 @@ class Gtkplus(MesonPackage):
@when('@:3.20.10')
def meson(self, spec, prefix):
- configure(*self.configure_args)
+ configure(*self.configure_args())
@when('@:3.20.10')
def build(self, spec, prefix):
@@ -123,3 +123,7 @@ class Gtkplus(MesonPackage):
@when('@:3.20.10')
def install(self, spec, prefix):
make('install')
+
+ def check(self):
+ """All build time checks open windows in the X server, don't do that"""
+ pass
diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py
index fa384bca57..227c9ccb2a 100644
--- a/var/spack/repos/builtin/packages/harfbuzz/package.py
+++ b/var/spack/repos/builtin/packages/harfbuzz/package.py
@@ -9,9 +9,10 @@ from spack import *
class Harfbuzz(AutotoolsPackage):
"""The Harfbuzz package contains an OpenType text shaping engine."""
homepage = "https://github.com/harfbuzz/harfbuzz"
- url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.37.tar.bz2"
+ url = "https://github.com/harfbuzz/harfbuzz/releases/download/2.9.1/harfbuzz-2.9.1.tar.xz"
git = "https://github.com/harfbuzz/harfbuzz.git"
+ version('2.9.1', sha256='0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf')
version('2.6.8', sha256='6648a571a27f186e47094121f0095e1b809e918b3037c630c7f38ffad86e3035')
version('2.3.1', sha256='f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468')
version('2.1.3', sha256='613264460bb6814c3894e3953225c5357402915853a652d40b4230ce5faf0bee')
diff --git a/var/spack/repos/builtin/packages/harminv/package.py b/var/spack/repos/builtin/packages/harminv/package.py
index 17f7a3cee9..42a2f6d96c 100644
--- a/var/spack/repos/builtin/packages/harminv/package.py
+++ b/var/spack/repos/builtin/packages/harminv/package.py
@@ -24,9 +24,11 @@ class Harminv(AutotoolsPackage):
def configure_args(self):
spec = self.spec
+ lapack = spec['lapack'].libs
+ blas = spec['blas'].libs
return [
'--enable-shared',
- '--with-blas={0}'.format(spec['blas'].prefix.lib),
- '--with-lapack={0}'.format(spec['lapack'].prefix.lib),
+ '--with-blas={0}'.format(blas.ld_flags),
+ '--with-lapack={0}'.format(lapack.ld_flags),
]
diff --git a/var/spack/repos/builtin/packages/hdf-eos5/package.py b/var/spack/repos/builtin/packages/hdf-eos5/package.py
index 6d20fce1a0..7e8956de62 100644
--- a/var/spack/repos/builtin/packages/hdf-eos5/package.py
+++ b/var/spack/repos/builtin/packages/hdf-eos5/package.py
@@ -97,7 +97,7 @@ class HdfEos5(AutotoolsPackage):
extra_args.append('--with-hdf5={0}'.format(self.spec['hdf5'].prefix))
if 'szip' in self.spec:
extra_args.append('--with-szlib={0}'.format(
- self.spec['libszip'].prefix))
+ self.spec['szip'].prefix))
if 'zlib' in self.spec:
extra_args.append('--with-zlib={0}'.format(
self.spec['zlib'].prefix))
diff --git a/var/spack/repos/builtin/packages/hdf5-vol-async/package.py b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py
new file mode 100644
index 0000000000..c1ecfc4c85
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hdf5-vol-async/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Hdf5VolAsync(CMakePackage):
+ """This package enables asynchronous IO in HDF5."""
+
+ homepage = "https://sdm.lbl.gov/"
+ git = "https://github.com/hpc-io/vol-async"
+ maintainers = ['hyoklee']
+
+ version('v1.0')
+ depends_on('argobots@main')
+ depends_on('hdf5@develop-1.13+mpi+threadsafe')
+
+ def cmake_args(self):
+ """Populate cmake arguments for HDF5 VOL."""
+ args = [
+ self.define('BUILD_SHARED_LIBS:BOOL', True),
+ self.define('BUILD_TESTING:BOOL=ON', self.run_tests)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py b/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py
new file mode 100644
index 0000000000..ba06dad2d4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hdf5-vol-external-passthrough/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Hdf5VolExternalPassthrough(CMakePackage):
+ """Package for HDF5 external pass-through VOL."""
+
+ homepage = "https://sdm.lbl.gov/"
+ url = "https://github.com/hpc-io/vol-external-passthrough/archive/refs/tags/v1.0.tar.gz"
+ git = "https://github.com/hpc-io/vol-external-passthrough.git"
+ maintainers = ['hyoklee']
+
+ version('develop', branch='develop')
+ version('1.0', sha256='99a06d1c31451f8f0c8c10fec112410cda1f951f0eda1bd0ca999d6b35cf7740')
+ depends_on('hdf5@1.13.0:')
+
+ def cmake_args(self):
+ args = [
+ self.define('BUILD_SHARED_LIBS:BOOL', True),
+ self.define('BUILD_TESTING:BOOL=ON', self.run_tests)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py
index c65ff31628..0af7af27cf 100644
--- a/var/spack/repos/builtin/packages/hdf5-vol-log/package.py
+++ b/var/spack/repos/builtin/packages/hdf5-vol-log/package.py
@@ -15,9 +15,9 @@ class Hdf5VolLog(AutotoolsPackage):
git = 'https://github.com/DataLib-ECP/vol-log-based.git'
maintainers = ['hyoklee']
- version('master', commit='b13778efd9e0c79135a9d7352104985408078d45')
+ version('master', commit='28b854e50c53166010d97eccdc23f7f3ef6a5b03')
- depends_on('hdf5@1.12.1:')
+ depends_on('hdf5@1.13.0:')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index 26db199cd9..96367cb23b 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -17,7 +17,7 @@ class Hdf5(CMakePackage):
"""
homepage = "https://portal.hdfgroup.org"
- url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.7/src/hdf5-1.10.7.tar.gz"
+ url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.8/src/hdf5-1.10.8.tar.gz"
list_url = "https://support.hdfgroup.org/ftp/HDF5/releases"
list_depth = 3
git = "https://github.com/HDFGroup/hdf5.git"
@@ -35,12 +35,14 @@ class Hdf5(CMakePackage):
version('develop-1.10', branch='hdf5_1_10')
version('develop-1.8', branch='hdf5_1_8')
+ version('1.13.0', sha256='3049faf900f0c52e09ea4cddfb83af057615f2fc1cc80eb5202dd57b09820115')
version('1.12.1', sha256='79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca')
version('1.12.0', sha256='a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a')
# HDF5 1.12 broke API compatibility, so we currently prefer the latest
# 1.10 release. packages that want later versions of HDF5 should specify,
# e.g., depends_on("hdf5@1.12:") to get 1.12 or higher.
- version('1.10.7', sha256='7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15', preferred=True)
+ version('1.10.8', sha256='d341b80d380dd763753a0ebe22915e11e87aac4e44a084a850646ff934d19c80', preferred=True)
+ version('1.10.7', sha256='7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15')
version('1.10.6', sha256='5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa')
version('1.10.5', sha256='6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8')
version('1.10.4', sha256='8f60dc4dd6ab5fcd23c750d1dc5bca3d0453bdce5c8cdaf0a4a61a9d1122adb2')
diff --git a/var/spack/repos/builtin/packages/helib/package.py b/var/spack/repos/builtin/packages/helib/package.py
new file mode 100644
index 0000000000..07d141ff54
--- /dev/null
+++ b/var/spack/repos/builtin/packages/helib/package.py
@@ -0,0 +1,51 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Helib(CMakePackage):
+ """HElib is an open-source (Apache License v2.0) software library that
+ implements homomorphic encryption (HE).
+
+ Currently available schemes are the implementations of the
+ Brakerski-Gentry-Vaikuntanathan (BGV) scheme
+ with bootstrapping and the Approximate Number scheme of Cheon-Kim-Kim-Song
+ (CKKS), along with many optimizations to make homomorphic evaluation run
+ faster, focusing mostly on effective use of the Smart-Vercauteren
+ ciphertext packing techniques and the Gentry-Halevi-Smart optimizations.
+ """
+
+ homepage = "https://github.com/homenc/HElib"
+ url = "https://github.com/homenc/HElib/archive/refs/tags/v2.2.1.tar.gz"
+
+ maintainers = ['wohlbier']
+
+ version('2.2.1', sha256='cbe030c752c915f1ece09681cadfbe4f140f6752414ab000b4cf076b6c3019e4')
+ version('2.2.0', sha256='e5f82fb0520a76eafdf5044a1f17f512999479d899da8c34335da5e193699b94')
+ version('2.1.0', sha256='641af0f602cfc7f5f5b1cfde0652252def2dfaf5f7962c2595cf598663637951')
+ version('2.0.0', sha256='4e371807fe052ca27dce708ea302495a8dae8d1196e16e86df424fb5b0e40524')
+ version('1.3.1', sha256='8ef47092f6b15fbb484a21f9184e7d936c360198515b6efb9a55d3dfbc2ea4be')
+ version('1.3.0', sha256='9f69dc5be9197f9ab8cdd81af9a59c12968a0ee11d595b1b1438707ff5405694')
+ version('1.2.0', sha256='17e0448a3255ab01a1ebd8382f9d08a318e3d192b56d062a1fd65fbb0aadaf67')
+ version('1.1.0-beta.0', sha256='6a454b029f3805101f714f50ae5199e2b2b86c1e520a659f130837810eabe4b5')
+ version('1.1.0', sha256='77a912ed3c86f8bde31b7d476321d0c2d810570c04a60fa95c4bd32a1955b5cf')
+ version('1.0.2', sha256='b907eaa8381af3d001d7fb8383273f4c652415b3320c11d5be2ad8f19757c998')
+
+ variant('shared', default=False, description='Build shared library.')
+ depends_on('gmp@6.2.1:')
+ depends_on('ntl@11.5.1:')
+ depends_on('ntl+shared', when='+shared')
+
+ def cmake_args(self):
+ spec = self.spec
+ args = [
+ self.define('ENABLE_TEST', 'ON'),
+ self.define('GMP_DIR', spec['gmp'].prefix),
+ self.define('NTL_DIR', spec['ntl'].prefix),
+ self.define_from_variant('BUILD_SHARED', 'shared')
+ ]
+
+ return args
diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py
index ff76861362..19c774a225 100644
--- a/var/spack/repos/builtin/packages/hiop/package.py
+++ b/var/spack/repos/builtin/packages/hiop/package.py
@@ -6,7 +6,7 @@
from spack import *
-class Hiop(CMakePackage, CudaPackage):
+class Hiop(CMakePackage, CudaPackage, ROCmPackage):
"""HiOp is an optimization solver for solving certain mathematical
optimization problems expressed as nonlinear programming problems.
HiOp is a lightweight HPC solver that leverages application"s existing
@@ -18,6 +18,8 @@ class Hiop(CMakePackage, CudaPackage):
maintainers = ['ashermancinelli', 'CameronRutherford']
# Most recent tagged snapshot is the preferred version when profiling.
+ version('0.5.3', commit='698e8d0fdc0ff9975d8714339ff8c782b70d85f9')
+ version('0.5.2', commit='662ad76dee1f501f648a8bec9a490cb5881789e9')
version('0.5.1', commit='6789bbb55824e68e428c2df1009d647af81f9cf1')
version('0.5.0', commit='a39da8025037c7c8ae2eb31234eb80cc73bec2af')
version('0.4.6', commit='b72d163d52c9225c3196ceb2baebdc7cf09a69de')
@@ -60,15 +62,24 @@ class Hiop(CMakePackage, CudaPackage):
depends_on('mpi', when='+mpi')
- depends_on('magma', when='+cuda')
+ depends_on('magma+cuda', when='+cuda')
+ depends_on('magma+rocm', when='+rocm')
depends_on('magma@2.5.4:', when='@0.4:+cuda')
depends_on('magma@2.6.1:', when='@0.4.6:+cuda')
+ depends_on('magma@2.5.4:', when='@0.4:+rocm')
+ depends_on('magma@2.6.1:', when='@0.4.6:+rocm')
depends_on('raja+openmp', when='+raja')
depends_on('raja@0.14.0:', when='@0.5.0:+raja')
depends_on('raja+cuda', when='+raja+cuda')
+ depends_on('raja+rocm', when='+raja+rocm')
depends_on('umpire', when='+raja')
depends_on('umpire+cuda~shared', when='+raja+cuda')
+ depends_on('umpire+rocm', when='+raja+rocm')
+ depends_on('umpire@6.0.0:', when='@0.5.0:+raja')
+ depends_on('hip', when='+rocm')
+ depends_on('hipblas', when='+rocm')
+ depends_on('hipsparse', when='+rocm')
depends_on('suite-sparse', when='+kron')
@@ -87,6 +98,10 @@ class Hiop(CMakePackage, CudaPackage):
args = []
spec = self.spec
+ if spec.satisfies('+rocm') or spec.satisfies('+cuda'):
+ args.append('-DHIOP_USE_GPU=ON')
+ args.append('-DHIOP_USE_MAGMA=ON')
+
args.extend([
self.define('HIOP_BUILD_STATIC', True),
self.define('LAPACK_FOUND', True),
@@ -95,9 +110,8 @@ class Hiop(CMakePackage, CudaPackage):
self.define_from_variant('HIOP_BUILD_SHARED', 'shared'),
self.define_from_variant('HIOP_USE_MPI', 'mpi'),
self.define_from_variant('HIOP_DEEPCHECKS', 'deepchecking'),
- self.define_from_variant('HIOP_USE_GPU', 'cuda'),
self.define_from_variant('HIOP_USE_CUDA', 'cuda'),
- self.define_from_variant('HIOP_USE_MAGMA', 'cuda'),
+ self.define_from_variant('HIOP_USE_HIP', 'rocm'),
self.define_from_variant('HIOP_USE_RAJA', 'raja'),
self.define_from_variant('HIOP_USE_UMPIRE', 'raja'),
self.define_from_variant('HIOP_WITH_KRON_REDUCTION', 'kron'),
diff --git a/var/spack/repos/builtin/packages/hipblas/link-clients-blas.patch b/var/spack/repos/builtin/packages/hipblas/link-clients-blas.patch
new file mode 100644
index 0000000000..18e599d9ab
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hipblas/link-clients-blas.patch
@@ -0,0 +1,24 @@
+diff -r -u a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt
+--- a/clients/benchmarks/CMakeLists.txt 2021-10-28 14:14:41.379987882 -0600
++++ b/clients/benchmarks/CMakeLists.txt 2021-10-28 13:37:50.409696036 -0600
+@@ -53,7 +53,7 @@
+ $<BUILD_INTERFACE:${HIP_INCLUDE_DIRS}>
+ )
+
+-target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack)
++target_link_libraries( hipblas-bench PRIVATE hipblas_fortran_client roc::hipblas cblas lapack blas)
+
+ # need mf16c flag for float->half convertion
+ target_compile_options( hipblas-bench PRIVATE -mf16c)
+diff -r -u a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt
+--- a/clients/gtest/CMakeLists.txt 2021-10-28 14:14:41.379987882 -0600
++++ b/clients/gtest/CMakeLists.txt 2021-10-28 13:37:34.609274623 -0600
+@@ -146,7 +146,7 @@
+ ${ROCM_PATH}/hsa/include
+ )
+
+-target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack ${GTEST_LIBRARIES} ${Boost_LIBRARIES} hipblas_fortran_client )
++target_link_libraries( hipblas-test PRIVATE roc::hipblas cblas lapack blas ${GTEST_LIBRARIES} ${Boost_LIBRARIES} hipblas_fortran_client )
+
+ # need mf16c flag for float->half convertion
+ target_compile_options( hipblas-test PRIVATE -mf16c )
diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py
index e211ea6980..e56c6aa432 100644
--- a/var/spack/repos/builtin/packages/hipblas/package.py
+++ b/var/spack/repos/builtin/packages/hipblas/package.py
@@ -29,6 +29,16 @@ class Hipblas(CMakePackage):
variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
+ depends_on('googletest@1.10.0:', type='test')
+ depends_on('netlib-lapack@3.7.1:', type='test')
+ depends_on('boost@1.64.0: cxxstd=14', type='test')
+
+ patch('link-clients-blas.patch', when='@4.3.0:')
+
+ def check(self):
+ exe = join_path(self.build_directory, 'clients', 'staging', 'hipblas-test')
+ self.run_test(exe)
+
for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
'4.2.0', '4.3.0', '4.3.1']:
depends_on('hip@' + ver, when='@' + ver)
@@ -42,7 +52,7 @@ class Hipblas(CMakePackage):
# Make sure find_package(HIP) finds the module.
self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake),
self.define('BUILD_CLIENTS_SAMPLES', 'OFF'),
- self.define('BUILD_CLIENTS_TESTS', 'OFF')
+ self.define('BUILD_CLIENTS_TESTS', self.run_tests)
]
# hipblas actually prefers CUDA over AMD GPUs when you have it
diff --git a/var/spack/repos/builtin/packages/hpcg/package.py b/var/spack/repos/builtin/packages/hpcg/package.py
index faf22d712b..9f3fccd645 100644
--- a/var/spack/repos/builtin/packages/hpcg/package.py
+++ b/var/spack/repos/builtin/packages/hpcg/package.py
@@ -33,8 +33,12 @@ class Hpcg(AutotoolsPackage):
def configure(self, spec, prefix):
CXXFLAGS = '-O3 -ffast-math -ftree-vectorize '
- if '%aocc' not in self.spec:
+ if not spec.satisfies('%aocc') and not spec.satisfies('%cce'):
CXXFLAGS += ' -ftree-vectorizer-verbose=0 '
+ if spec.satisfies('%cce'):
+ CXXFLAGS += ' -Rpass=loop-vectorize'
+ CXXFLAGS += ' -Rpass-missed=loop-vectorize'
+ CXXFLAGS += ' -Rpass-analysis=loop-vectorize '
if '+openmp' in self.spec:
CXXFLAGS += self.compiler.openmp_flag
config = [
diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py
index 42eaf1aba9..f7d188932b 100644
--- a/var/spack/repos/builtin/packages/hpctoolkit/package.py
+++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py
@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import llnl.util.tty as tty
+
from spack import *
@@ -20,6 +22,8 @@ class Hpctoolkit(AutotoolsPackage):
tags = ['e4s']
+ test_requires_compiler = True
+
version('develop', branch='develop')
version('master', branch='master')
version('2021.10.15', commit='a8f289e4dc87ff98e05cfc105978c09eb2f5ea16')
@@ -202,3 +206,36 @@ class Hpctoolkit(AutotoolsPackage):
if '+viewer' in spec:
env.prepend_path('PATH', spec['hpcviewer'].prefix.bin)
env.prepend_path('MANPATH', spec['hpcviewer'].prefix.share.man)
+
+ # Build tests (spack install --run-tests). Disable the default
+ # spack tests and run autotools 'make check', but only from the
+ # tests directory.
+ build_time_test_callbacks = []
+ install_time_test_callbacks = []
+
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
+ def check_install(self):
+ if self.spec.satisfies('@master'):
+ with working_dir('tests'):
+ make('check')
+ else:
+ tty.warn('spack test for hpctoolkit requires branch master')
+
+ # Post-Install tests (spack test run). These are the same tests
+ # but with a different Makefile that works outside the build
+ # directory.
+ @run_after('install')
+ def copy_test_files(self):
+ if self.spec.satisfies('@master'):
+ self.cache_extra_test_sources(['tests'])
+
+ def test(self):
+ test_dir = join_path(self.test_suite.current_test_cache_dir, 'tests')
+ if self.spec.satisfies('@master'):
+ with working_dir(test_dir):
+ make('-f', 'Makefile.spack', 'all')
+ self.run_test('./run-sort', status=[0], installed=False,
+ purpose='selection sort unit test')
+ else:
+ tty.warn('spack test for hpctoolkit requires branch master')
diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py
index ab3160fc12..fb062de429 100644
--- a/var/spack/repos/builtin/packages/hpx/package.py
+++ b/var/spack/repos/builtin/packages/hpx/package.py
@@ -146,6 +146,11 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
# Patches and one-off conflicts
+ # Boost and HIP don't work together in certain versions:
+ # https://github.com/boostorg/config/issues/392. Boost 1.78.0 and HPX 1.8.0
+ # both include a fix.
+ conflicts("boost@:1.77.0", when="@:1.7 +rocm")
+
# boost 1.73.0 build problem with HPX 1.4.0 and 1.4.1
# https://github.com/STEllAR-GROUP/hpx/issues/4728#issuecomment-640685308
depends_on('boost@:1.72.0', when='@:1.4')
diff --git a/var/spack/repos/builtin/packages/htslib/package.py b/var/spack/repos/builtin/packages/htslib/package.py
index ab451ac1fc..8c998b1863 100644
--- a/var/spack/repos/builtin/packages/htslib/package.py
+++ b/var/spack/repos/builtin/packages/htslib/package.py
@@ -12,6 +12,7 @@ class Htslib(AutotoolsPackage):
homepage = "https://github.com/samtools/htslib"
url = "https://github.com/samtools/htslib/releases/download/1.13/htslib-1.13.tar.bz2"
+ version('1.14', sha256='ed221b8f52f4812f810eebe0cc56cd8355a5c9d21c62d142ac05ad0da147935f')
version('1.13', sha256='f2407df9f97f0bb6b07656579e41a1ca5100464067b6b21bf962a2ea4b0efd65')
version('1.12', sha256='2280141b46e953ba4ae01b98335a84f8e6ccbdb6d5cdbab7f70ee4f7e3b6f4ca')
version('1.10.2', sha256='e3b543de2f71723830a1e0472cf5489ec27d0fbeb46b1103e14a11b7177d1939')
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py
index a3a8597236..3efa4cd5a2 100644
--- a/var/spack/repos/builtin/packages/hwloc/package.py
+++ b/var/spack/repos/builtin/packages/hwloc/package.py
@@ -135,6 +135,14 @@ class Hwloc(AutotoolsPackage):
if '+opencl' not in self.spec:
args.append('--disable-opencl')
+ # If ROCm libraries are found in system /opt/rocm
+ # during config stage, hwloc builds itself with
+ # librocm_smi support.
+ # This can fail the config tests while building
+ # OpenMPI due to lack of rpath to librocm_smi
+ if '+rocm' not in self.spec:
+ args.append('--disable-rsmi')
+
if '+netloc' in self.spec:
args.append('--enable-netloc')
diff --git a/var/spack/repos/builtin/packages/imgui/package.py b/var/spack/repos/builtin/packages/imgui/package.py
new file mode 100644
index 0000000000..833a04a6f2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/imgui/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Imgui(Package):
+ """Dear ImGui is a bloat-free graphical user interface library for C++.
+
+ It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline
+ enabled application. It is fast, portable, renderer agnostic and self-contained
+ (no external dependencies)."""
+
+ homepage = "https://github.com/ocornut/imgui"
+ url = "https://github.com/ocornut/imgui/archive/refs/tags/v1.85.tar.gz"
+
+ version('1.85', sha256='7ed49d1f4573004fa725a70642aaddd3e06bb57fcfe1c1a49ac6574a3e895a77')
+
+ def install(self, spec, prefix):
+ # No specific build process is required.
+ # You can add the .cpp files to your existing project.
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/intel-daal/package.py b/var/spack/repos/builtin/packages/intel-daal/package.py
index df48989c02..a979848fb7 100644
--- a/var/spack/repos/builtin/packages/intel-daal/package.py
+++ b/var/spack/repos/builtin/packages/intel-daal/package.py
@@ -9,6 +9,8 @@ from spack import *
class IntelDaal(IntelPackage):
"""Intel Data Analytics Acceleration Library."""
+ maintainers = ['rscohn2']
+
homepage = "https://software.intel.com/en-us/daal"
version('2020.2.254', sha256='08528bc150dad312ff2ae88ce12d6078ed8ba2f378f4bf3daf0fbbb9657dce1e',
diff --git a/var/spack/repos/builtin/packages/intel-llvm/package.py b/var/spack/repos/builtin/packages/intel-llvm/package.py
index f14094eba4..b6df7c12e9 100644
--- a/var/spack/repos/builtin/packages/intel-llvm/package.py
+++ b/var/spack/repos/builtin/packages/intel-llvm/package.py
@@ -10,6 +10,8 @@ class IntelLlvm(CMakePackage):
"""Intel's version of the LLVM compiler.
"""
+ maintainers = ['rscohn2']
+
homepage = 'https://github.com/intel/llvm'
git = 'https://github.com/intel/llvm.git'
diff --git a/var/spack/repos/builtin/packages/intel-mkl/package.py b/var/spack/repos/builtin/packages/intel-mkl/package.py
index d7050b03b7..be2e7368fa 100644
--- a/var/spack/repos/builtin/packages/intel-mkl/package.py
+++ b/var/spack/repos/builtin/packages/intel-mkl/package.py
@@ -11,6 +11,8 @@ from spack import *
class IntelMkl(IntelPackage):
"""Intel Math Kernel Library."""
+ maintainers = ['rscohn2']
+
homepage = "https://software.intel.com/en-us/intel-mkl"
version('2020.4.304', sha256='2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5',
diff --git a/var/spack/repos/builtin/packages/intel-mpi/package.py b/var/spack/repos/builtin/packages/intel-mpi/package.py
index e8e20af1cb..91eaf9b4a6 100644
--- a/var/spack/repos/builtin/packages/intel-mpi/package.py
+++ b/var/spack/repos/builtin/packages/intel-mpi/package.py
@@ -9,6 +9,8 @@ from spack import *
class IntelMpi(IntelPackage):
"""Intel MPI"""
+ maintainers = ['rscohn2']
+
homepage = "https://software.intel.com/en-us/intel-mpi-library"
version('2019.10.317', sha256='28e1b615e63d2170a99feedc75e3b0c5a7e1a07dcdaf0a4181831b07817a5346',
@@ -57,6 +59,9 @@ class IntelMpi(IntelPackage):
provides('mpi')
+ variant('external-libfabric', default=False, description='Enable external libfabric dependency')
+ depends_on('libfabric', when='+external-libfabric', type=('build', 'link', 'run'))
+
def setup_dependent_build_environment(self, *args):
# Handle in callback, conveying client's compilers in additional arg.
# CAUTION - DUP code in:
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py b/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py
index d85c5f3358..bf9bed4497 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py
@@ -19,6 +19,10 @@ class IntelOneapiAdvisor(IntelOneApiPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html'
if platform.system() == 'Linux':
+ version('2022.0.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18369/l_oneapi_advisor_p_2022.0.0.92_offline.sh',
+ sha256='f1c4317c2222c56fb2e292513f7eec7ec27eb1049d3600cb975bc08ed1477993',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18220/l_oneapi_advisor_p_2021.4.0.389_offline.sh',
sha256='dd948f7312629d9975e12a57664f736b8e011de948771b4c05ad444438532be8',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py
index 1806b7ff40..1e4d1f8ee6 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py
@@ -18,6 +18,10 @@ class IntelOneapiCcl(IntelOneApiLibraryPackage):
depends_on('intel-oneapi-mpi')
if platform.system() == 'Linux':
+ version('2021.5.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18371/l_oneapi_ccl_p_2021.5.0.478_offline.sh',
+ sha256='47584ad0269fd13bcfbc2cd0bb029bdcc02b723070abcb3d5e57f9586f4e74f8',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18188/l_oneapi_ccl_p_2021.4.0.433_offline.sh',
sha256='004031629d97ef99267d8ea962b666dc4be1560d7d32bd510f97bc81d9251ef6',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
index cc53b757d2..debac97dd3 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py
@@ -22,6 +22,16 @@ class IntelOneapiCompilers(IntelOneApiPackage):
depends_on('patchelf', type='build')
if platform.system() == 'Linux':
+ version('2022.0.1',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18435/l_dpcpp-cpp-compiler_p_2022.0.1.71_offline.sh',
+ sha256='c7cddc64c3040eece2dcaf48926ba197bb27e5a46588b1d7b3beddcdc379926a',
+ expand=False)
+ resource(name='fortran-installer',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18436/l_fortran-compiler_p_2022.0.1.70_offline.sh',
+ sha256='2cb28a04f93554bfeffd6cad8bd0e7082735f33d73430655dea86df8933f50d1',
+ expand=False,
+ placement='fortran-installer',
+ when='@2022.0.1')
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18209/l_dpcpp-cpp-compiler_p_2021.4.0.3201_offline.sh',
sha256='9206bff1c2fdeb1ca0d5f79def90dcf3e6c7d5711b9b5adecd96a2ba06503828',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py
index b6c48132ea..5e3f2b5c51 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py
@@ -17,6 +17,10 @@ class IntelOneapiDal(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onedal.html'
if platform.system() == 'Linux':
+ version('2021.5.1',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18432/l_daal_oneapi_p_2021.5.1.803_offline.sh',
+ sha256='bba7bee3caef14fbb54ad40615222e5da429496455edf7375f11fd84a72c87ba',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18218/l_daal_oneapi_p_2021.4.0.729_offline.sh',
sha256='61da9d2a40c75edadff65d052fd84ef3db1da5d94f86ad3956979e6988549dda',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py
index 123ca60e1a..0bc921501a 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py
@@ -17,6 +17,10 @@ class IntelOneapiDnn(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onednn.html'
if platform.system() == 'Linux':
+ version('2022.0.1',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18441/l_onednn_p_2022.0.1.26_offline.sh',
+ sha256='8339806300d83d2629952e6e2f2758b52f517c072a20b7b7fc5642cf1e2a5410',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18221/l_onednn_p_2021.4.0.467_offline.sh',
sha256='30cc601467f6a94b3d7e14f4639faf0b12fdf6d98df148b07acdb4dfdfb971db',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py
index 954c57586b..68c2de4a33 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py
@@ -17,6 +17,10 @@ class IntelOneapiDpl(IntelOneApiLibraryPackage):
homepage = 'https://github.com/oneapi-src/oneDPL'
if platform.system() == 'Linux':
+ version('2021.6.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18372/l_oneDPL_p_2021.6.0.501_offline.sh',
+ sha256='0225f133a6c38b36d08635986870284a958e5286c55ca4b56a4058bd736f8f4f',
+ expand=False)
version('2021.5.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18189/l_oneDPL_p_2021.5.0.445_offline.sh',
sha256='7d4adf300a18f779c3ab517070c61dba10e3952287d5aef37c38f739e9041a68',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py b/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py
index 60c853886a..bcf5d64cd0 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py
@@ -17,6 +17,10 @@ class IntelOneapiInspector(IntelOneApiPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/inspector.html'
if platform.system() == 'Linux':
+ version('2022.0.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18363/l_inspector_oneapi_p_2022.0.0.56_offline.sh',
+ sha256='79a0eb2ae3f1de1e3456076685680c468702922469c3fda3e074718fb0bea741',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18239/l_inspector_oneapi_p_2021.4.0.266_offline.sh',
sha256='c8210cbcd0e07cc75e773249a5e4a02cf34894ec80a213939f3a20e6c5705274',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py
index c6c4de62e6..0d36f01ee3 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py
@@ -16,6 +16,10 @@ class IntelOneapiIpp(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html'
if platform.system() == 'Linux':
+ version('2021.5.1',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18440/l_ipp_oneapi_p_2021.5.1.522_offline.sh',
+ sha256='be99f9b0b2cc815e017188681ab997f3ace94e3010738fa6f702f2416dac0de4',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18219/l_ipp_oneapi_p_2021.4.0.459_offline.sh',
sha256='1a7a8fe5502ae61c10f5c432b7662c6fa542e5832a40494eb1c3a2d8e27c9f3e',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py
index 51b3b807c7..725a718fc0 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py
@@ -17,6 +17,10 @@ class IntelOneapiIppcp(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html'
if platform.system() == 'Linux':
+ version('2021.5.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18364/l_ippcp_oneapi_p_2021.5.0.445_offline.sh',
+ sha256='e71aee288cc970b9c9fe21f7d5c300dbc2a4ea0687c7028f200d6b87e6c895a1',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18187/l_ippcp_oneapi_p_2021.4.0.401_offline.sh',
sha256='2ca2320f733ee75b4a27865185a1b0730879fe2c47596e570b1bd50d0b8ac608',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py
index 2a5e283602..4aa5fb18cf 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py
@@ -17,6 +17,10 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html'
if platform.system() == 'Linux':
+ version('2022.0.1',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18444/l_onemkl_p_2022.0.1.117_offline.sh',
+ sha256='22afafbe2f3762eca052ac21ec40b845ff2f3646077295c88c2f37f80a0cc160',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18222/l_onemkl_p_2021.4.0.640_offline.sh',
sha256='9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915',
@@ -34,13 +38,18 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage):
sha256='818b6bd9a6c116f4578cda3151da0612ec9c3ce8b2c8a64730d625ce5b13cc0c',
expand=False)
+ variant('shared', default=True, description='Builds shared library')
variant('ilp64', default=False,
description='Build with ILP64 support')
+ variant('cluster', default=False,
+ description='Build with cluster support: scalapack, blacs, etc')
depends_on('intel-oneapi-tbb')
+ # cluster libraries need mpi
+ depends_on('mpi', when='+cluster')
provides('fftw-api@3')
- provides('scalapack')
+ provides('scalapack', when='+cluster')
provides('mkl')
provides('lapack')
provides('blas')
@@ -59,10 +68,31 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage):
include_path = join_path(self.component_path, 'include')
return find_headers('*', include_path)
+ # provide cluster libraries if +cluster variant is used or
+ # the scalapack virtual package was requested
+ def cluster(self):
+ return '+cluster' in self.spec
+
@property
def libs(self):
- mkl_libs = [self.xlp64_lib('libmkl_intel'), 'libmkl_sequential', 'libmkl_core']
+ shared = '+shared' in self.spec
+ mkl_libs = []
+ if self.cluster():
+ mkl_libs += [self.xlp64_lib('libmkl_scalapack'),
+ 'libmkl_cdft_core']
+ mkl_libs += [self.xlp64_lib('libmkl_intel'),
+ 'libmkl_sequential',
+ 'libmkl_core']
+ if self.cluster():
+ mkl_libs += [self.xlp64_lib('libmkl_blacs_intelmpi')]
libs = find_libraries(mkl_libs,
- join_path(self.component_path, 'lib', 'intel64'))
- libs += find_system_libraries(['libpthread', 'libm', 'libdl'])
- return libs
+ join_path(self.component_path, 'lib', 'intel64'),
+ shared=shared)
+ system_libs = find_system_libraries(['libpthread', 'libm', 'libdl'])
+ if shared:
+ return libs + system_libs
+ else:
+ return IntelOneApiStaticLibraryList(libs, system_libs)
+
+ def setup_dependent_build_environment(self, env, dependent_spec):
+ env.set('MKLROOT', self.component_path)
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
index 2672613c5a..52977eac3e 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py
@@ -4,9 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-import glob
import platform
-import subprocess
from spack import *
@@ -19,6 +17,10 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/mpi-library.html'
if platform.system() == 'Linux':
+ version('2021.5.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18370/l_mpi_oneapi_p_2021.5.0.495_offline.sh',
+ sha256='3aae53fe77f7c6aac7a32b299c25d6ca9a00ba4e2d512a26edd90811e59e7471',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18186/l_mpi_oneapi_p_2021.4.0.441_offline.sh',
sha256='cc4b7072c61d0bd02b1c431b22d2ea3b84b967b59d2e587e77a9e7b2c24f2a29',
@@ -38,11 +40,11 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage):
variant('ilp64', default=False,
description='Build with ILP64 support')
+ variant('external-libfabric', default=False, description='Enable external libfabric dependency')
+ depends_on('libfabric', when='+external-libfabric', type=('link', 'run'))
provides('mpi@:3.1')
- depends_on('patchelf', type='build')
-
@property
def component_dir(self):
return 'mpi'
@@ -87,17 +89,19 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage):
libs += find_libraries(['libmpicxx', 'libmpifort'], lib_dir)
libs += find_libraries('libmpi', release_lib_dir)
libs += find_system_libraries(['libdl', 'librt', 'libpthread'])
+
+ # Find libfabric for libmpi.so
+ if '+external-libfabric' in self.spec:
+ libs += self.spec['libfabric'].libs
+ else:
+ libs += find_libraries(['libfabric'],
+ join_path(self.component_path, 'libfabric', 'lib'))
+
return libs
def install(self, spec, prefix):
super(IntelOneapiMpi, self).install(spec, prefix)
- # Patch libmpi.so rpath so it can find libfabric
- libfabric_rpath = join_path(self.component_path, 'libfabric', 'lib')
- for libmpi in glob.glob(join_path(self.component_path,
- 'lib', '**', 'libmpi*.so')):
- subprocess.call(['patchelf', '--set-rpath', libfabric_rpath, libmpi])
-
# When spack builds from source
# fix I_MPI_SUBSTITUTE_INSTALLDIR and
# __EXEC_PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py
index e0af8ccc60..a2b3e4a2e6 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py
@@ -17,6 +17,10 @@ class IntelOneapiTbb(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html'
if platform.system() == 'Linux':
+ version('2021.5.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18380/l_tbb_oneapi_p_2021.5.0.707_offline.sh',
+ sha256='6ff7890a74a43ae02e0fa2d9c5533fce70a49dff8e73278b546a0995367fec5e',
+ expand=False)
version('2021.4.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18194/l_tbb_oneapi_p_2021.4.0.643_offline.sh',
sha256='33332012ff8ffe7987b1a20bea794d76f7d8050ccff04fa6e1990974c336ee24',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py
index d7f404e419..5a5195972a 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py
@@ -16,6 +16,10 @@ class IntelOneapiVpl(IntelOneApiLibraryPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html'
if platform.system() == 'Linux':
+ version('2022.0.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18375/l_oneVPL_p_2022.0.0.58_offline.sh',
+ sha256='600b8566e1aa523b97291bed6b08f69a04bc7c4c75c035942a64a38f45a1a7f0',
+ expand=False)
version('2021.6.0',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18190/l_oneVPL_p_2021.6.0.458_offline.sh',
sha256='40c50008be3f03d17cc8c0c34324593c1d419ee4c45af5543aa5a2d5fb11071f',
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py
index dd1b0317ad..872d1bdde9 100644
--- a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py
+++ b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py
@@ -19,6 +19,10 @@ class IntelOneapiVtune(IntelOneApiPackage):
homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/vtune-profiler.html'
if platform.system() == 'Linux':
+ version('2022.0.0',
+ url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18406/l_oneapi_vtune_p_2022.0.0.94_offline.sh',
+ sha256='aa4d575c22e7be0c950b87d67d9e371f470f682906864c4f9b68e530ecd22bd7',
+ expand=False)
version('2021.7.1',
url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18086/l_oneapi_vtune_p_2021.7.1.492_offline.sh',
sha256='4cf17078ae6e09f26f70bd9d0b726af234cc30c342ae4a8fda69941b40139b26',
diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py
index d0a66395d2..eaeac3339e 100644
--- a/var/spack/repos/builtin/packages/intel-tbb/package.py
+++ b/var/spack/repos/builtin/packages/intel-tbb/package.py
@@ -21,6 +21,8 @@ class IntelTbb(CMakePackage):
url_prefix = 'https://github.com/oneapi-src/oneTBB/'
url = url_prefix + 'archive/v2020.1.tar.gz'
+ maintainers = ['rscohn2']
+
# Note: when adding new versions, please check and update the
# patches, filters and url_for_version() below as needed.
diff --git a/var/spack/repos/builtin/packages/interproscan/package.py b/var/spack/repos/builtin/packages/interproscan/package.py
index 5639f6caf1..b9d764f160 100644
--- a/var/spack/repos/builtin/packages/interproscan/package.py
+++ b/var/spack/repos/builtin/packages/interproscan/package.py
@@ -39,6 +39,7 @@ class Interproscan(Package):
depends_on('perl-xml-parser', when='@:4.8', type=('build', 'run'))
depends_on('perl-io-string', when='@:4.8', type=('build', 'run'))
depends_on('perl-io-stringy', when='@:4.8', type=('build', 'run'))
+ depends_on('perl-db-file', when='@:4.8', type=('build', 'run'))
patch('large-gid.patch', when='@5:')
patch('non-interactive.patch', when='@:4.8')
diff --git a/var/spack/repos/builtin/packages/ip/package.py b/var/spack/repos/builtin/packages/ip/package.py
index 52fdecf927..1fccdce7a7 100644
--- a/var/spack/repos/builtin/packages/ip/package.py
+++ b/var/spack/repos/builtin/packages/ip/package.py
@@ -19,3 +19,10 @@ class Ip(CMakePackage):
version('3.3.3', sha256='d5a569ca7c8225a3ade64ef5cd68f3319bcd11f6f86eb3dba901d93842eb3633')
depends_on('sp')
+
+ def setup_run_environment(self, env):
+ for suffix in ('4', '8', 'd'):
+ lib = find_libraries('libip_4', root=self.prefix,
+ shared=False, recursive=True)
+ env.set('IP_LIB' + suffix, lib[0])
+ env.set('IP_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
diff --git a/var/spack/repos/builtin/packages/ip2/package.py b/var/spack/repos/builtin/packages/ip2/package.py
index aac5c0b538..ef7577dc1f 100644
--- a/var/spack/repos/builtin/packages/ip2/package.py
+++ b/var/spack/repos/builtin/packages/ip2/package.py
@@ -22,3 +22,10 @@ class Ip2(CMakePackage):
version('1.1.2', sha256='73c6beec8fd463ec7ccba3633d8c5d53d385c43d507367efde918c2db0af42ab')
depends_on('sp')
+
+ def setup_run_environment(self, env):
+ for suffix in ('4', '8', 'd'):
+ lib = find_libraries('libip2_' + suffix, root=self.prefix,
+ shared=False, recursive=True)
+ env.set('IP2_LIB' + suffix, lib[0])
+ env.set('IP2_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
diff --git a/var/spack/repos/builtin/packages/isaac-server/arm.patch b/var/spack/repos/builtin/packages/isaac-server/arm.patch
index 895fa3d57f..895fa3d57f 100755..100644
--- a/var/spack/repos/builtin/packages/isaac-server/arm.patch
+++ b/var/spack/repos/builtin/packages/isaac-server/arm.patch
diff --git a/var/spack/repos/builtin/packages/isescan/package.py b/var/spack/repos/builtin/packages/isescan/package.py
index 44394d284e..96531d9804 100644
--- a/var/spack/repos/builtin/packages/isescan/package.py
+++ b/var/spack/repos/builtin/packages/isescan/package.py
@@ -22,7 +22,7 @@ class Isescan(Package):
depends_on('py-fastcluster', type='run')
depends_on('py-argparse', type='run')
depends_on('blast-plus@2.2.31:', type='run')
- depends_on('fraggenescan@1.30:', type='run')
+ depends_on('fraggenescan@:1.30', type='run')
depends_on('hmmer@3.1b2:', type='run')
def setup_run_environment(self, env):
diff --git a/var/spack/repos/builtin/packages/jq/builtinc.patch b/var/spack/repos/builtin/packages/jq/builtinc.patch
new file mode 100644
index 0000000000..943edbc9d2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/jq/builtinc.patch
@@ -0,0 +1,48 @@
+diff --git a/src/builtin.c b/src/builtin.c
+old mode 100644
+new mode 100755
+index c6c8c2e..e336472
+--- a/src/builtin.c
++++ b/src/builtin.c
+@@ -185,7 +185,7 @@ static jv f_modf(jq_state *jq, jv input) {
+ return jv_array_append(ret, jv_number(i));
+ }
+ #endif
+-#ifdef HAVE_LGAMMA_R
++#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
+ static jv f_lgamma_r(jq_state *jq, jv input) {
+ if (jv_get_kind(input) != JV_KIND_NUMBER) {
+ return type_error(input, "number required");
+@@ -1581,7 +1581,7 @@ static const struct cfunction function_list[] = {
+ #ifdef HAVE_MODF
+ {(cfunction_ptr)f_modf,"modf", 1},
+ #endif
+-#ifdef HAVE_LGAMMA_R
++#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
+ {(cfunction_ptr)f_lgamma_r,"lgamma_r", 1},
+ #endif
+ {(cfunction_ptr)f_plus, "_plus", 3},
+diff --git a/src/builtin.c b/src/builtin.c
+old mode 100644
+new mode 100755
+index c6c8c2e..e336472
+--- a/src/builtin.c
++++ b/src/builtin.c
+@@ -185,7 +185,7 @@ static jv f_modf(jq_state *jq, jv input) {
+ return jv_array_append(ret, jv_number(i));
+ }
+ #endif
+-#ifdef HAVE_LGAMMA_R
++#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
+ static jv f_lgamma_r(jq_state *jq, jv input) {
+ if (jv_get_kind(input) != JV_KIND_NUMBER) {
+ return type_error(input, "number required");
+@@ -1581,7 +1581,7 @@ static const struct cfunction function_list[] = {
+ #ifdef HAVE_MODF
+ {(cfunction_ptr)f_modf,"modf", 1},
+ #endif
+-#ifdef HAVE_LGAMMA_R
++#if defined(HAVE_LGAMMA_R) && !(defined(__APPLE__) && defined(__GNUC__) && !defined(_REENTRANT))
+ {(cfunction_ptr)f_lgamma_r,"lgamma_r", 1},
+ #endif
+ {(cfunction_ptr)f_plus, "_plus", 3},
diff --git a/var/spack/repos/builtin/packages/jq/package.py b/var/spack/repos/builtin/packages/jq/package.py
index 613ed97c20..88061fe266 100644
--- a/var/spack/repos/builtin/packages/jq/package.py
+++ b/var/spack/repos/builtin/packages/jq/package.py
@@ -4,8 +4,10 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os.path
+import sys
from spack import *
+from spack.operating_systems.mac_os import macos_version
class Jq(AutotoolsPackage):
@@ -20,6 +22,9 @@ class Jq(AutotoolsPackage):
depends_on('oniguruma')
depends_on('bison@3.0:', type='build')
+ if sys.platform == 'darwin' and macos_version() >= Version('10.15'):
+ patch('builtinc.patch', when='@1.5:')
+
@run_after('install')
@on_package_attributes(run_tests=True)
def install_test(self):
diff --git a/var/spack/repos/builtin/packages/julia/armgcc.patch b/var/spack/repos/builtin/packages/julia/armgcc.patch
index 50719face8..50719face8 100755..100644
--- a/var/spack/repos/builtin/packages/julia/armgcc.patch
+++ b/var/spack/repos/builtin/packages/julia/armgcc.patch
diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py
index 7267eb439e..c0e7853892 100644
--- a/var/spack/repos/builtin/packages/julia/package.py
+++ b/var/spack/repos/builtin/packages/julia/package.py
@@ -19,8 +19,9 @@ class Julia(Package):
maintainers = ['glennpj', 'vchuravy']
version('master', branch='master')
- version('1.7.0-rc2', sha256='178f5531bdbd379bd376f3cccf9a6a1e1215a678b70c93bdc41edb7239c76dc2')
- version('1.6.3', sha256='29aad934582fb4c6dd9f9dd558ad649921f43bc7320eab54407fdf6dd3270a33', preferred=True)
+ version('1.7.0', sha256='d40d83944f8e1709de1d6f7544e1a6721e091f70ba06b44c25b89bdba754dfa6', preferred=True)
+ version('1.6.4', sha256='954578b973fdb891c88fa1eedd931129e215ab928ecc416dd0bdf6c70549d2fc')
+ version('1.6.3', sha256='29aad934582fb4c6dd9f9dd558ad649921f43bc7320eab54407fdf6dd3270a33')
version('1.6.2', sha256='01241120515cb9435b96179cf301fbd2c24d4405f252588108d13ceac0f41c0a')
version('1.6.1', sha256='71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f')
version('1.6.0', sha256='1b05f42c9368bc2349c47363b7ddc175a2da3cd162d52b6e24c4f5d4d6e1232c')
@@ -176,6 +177,12 @@ class Julia(Package):
target_str = "znver1"
if target_str == "zen2":
target_str = "znver2"
+ if target_str == "zen3":
+ if spec.satisfies('@1.7.0:'):
+ target_str = "znver3"
+ else:
+ # The LLVM in @1.6.4 doesn't support znver3.
+ target_str = "znver2"
options += [
'JULIA_CPU_TARGET={0}'.format(target_str)
]
diff --git a/var/spack/repos/builtin/packages/kokkos-kernels/package.py b/var/spack/repos/builtin/packages/kokkos-kernels/package.py
index c41a1607aa..8b046dd89f 100644
--- a/var/spack/repos/builtin/packages/kokkos-kernels/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-kernels/package.py
@@ -102,8 +102,11 @@ class KokkosKernels(CMakePackage, CudaPackage):
options.append("-DSpack_WORKAROUND=On")
options.append("-DKokkos_ROOT=%s" % spec["kokkos"].prefix)
- # Compiler weirdness due to nvcc_wrapper
- options.append("-DCMAKE_CXX_COMPILER=%s" % spec["kokkos"].kokkos_cxx)
+ if spec.satisfies('^kokkos+rocm'):
+ options.append("-DCMAKE_CXX_COMPILER=%s" % spec['hip'].hipcc)
+ else:
+ # Compiler weirdness due to nvcc_wrapper
+ options.append("-DCMAKE_CXX_COMPILER=%s" % spec["kokkos"].kokkos_cxx)
if self.run_tests:
options.append("-DKokkosKernels_ENABLE_TESTS=ON")
diff --git a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py
index bdba998849..c26522bea7 100644
--- a/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py
+++ b/var/spack/repos/builtin/packages/kokkos-nvcc-wrapper/package.py
@@ -42,7 +42,7 @@ class KokkosNvccWrapper(Package):
env.set('KOKKOS_CXX', self.compiler.cxx)
env.set('MPICH_CXX', wrapper)
env.set('OMPI_CXX', wrapper)
- env.set('MPICXX_CXX', wrapper) # HPE MPT
+ env.set('MPICXX_CXX', wrapper) # HPE MPT
def setup_dependent_package(self, module, dependent_spec):
wrapper = join_path(self.prefix.bin, "nvcc_wrapper")
diff --git a/var/spack/repos/builtin/packages/landsfcutil/package.py b/var/spack/repos/builtin/packages/landsfcutil/package.py
index b43879c71c..7a2f77edc2 100644
--- a/var/spack/repos/builtin/packages/landsfcutil/package.py
+++ b/var/spack/repos/builtin/packages/landsfcutil/package.py
@@ -18,3 +18,12 @@ class Landsfcutil(CMakePackage):
maintainers = ['edwardhartnett', 'kgerheiser', 'Hang-Lei-NOAA']
version('2.4.1', sha256='831c5005a480eabe9a8542b4deec838c2650f6966863ea2711cc0cc5db51ca14')
+
+ def setup_run_environment(self, env):
+ for suffix in ('4', 'd'):
+ lib = find_libraries('liblandsfcutil_' + suffix, root=self.prefix,
+ shared=False, recursive=True)
+
+ env.set('LANDSFCUTIL_LIB' + suffix, lib[0])
+ env.set('LANDSFCUTIL_INC' + suffix,
+ join_path(self.prefix, 'include_' + suffix))
diff --git a/var/spack/repos/builtin/packages/lanl-cmake-modules/package.py b/var/spack/repos/builtin/packages/lanl-cmake-modules/package.py
new file mode 100644
index 0000000000..7e0ecdf583
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lanl-cmake-modules/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class LanlCmakeModules(CMakePackage):
+ '''CMake modules for projects that have not yet adopted modern CMake.
+ '''
+
+ maintainers = ['tuxfan']
+ homepage = 'https://lanl.github.io/cmake-modules'
+ git = 'https://github.com/lanl/cmake-modules.git'
+
+ version('develop', branch='develop')
diff --git a/var/spack/repos/builtin/packages/lcio/package.py b/var/spack/repos/builtin/packages/lcio/package.py
index 8410506aa9..017a6a1314 100644
--- a/var/spack/repos/builtin/packages/lcio/package.py
+++ b/var/spack/repos/builtin/packages/lcio/package.py
@@ -19,6 +19,7 @@ class Lcio(CMakePackage):
maintainers = ['gaede', 'vvolkl']
version('master', branch='master')
+ version('2.17', sha256='a81e07790443f0e2d9abb18bc3b5f2929edbc8d8e4f307f931679eaa39bb044a')
version('2.16.1', sha256='992a649f864785e62fe12d7a638b2696c91f9535881de33f22b3cceabcdcdbaf')
version('2.16', sha256='aff7707750d821f31cbae3d7529fd8e22457f48d759e834ec01aa9389b5dbf1a')
version('2.15.4', sha256='720c8130762d445df44d2c245da01c0a1ca807d7ed62362cebf7b3a99f9a37d7')
diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py
index 85373b53fb..fe13d19736 100644
--- a/var/spack/repos/builtin/packages/legion/package.py
+++ b/var/spack/repos/builtin/packages/legion/package.py
@@ -198,9 +198,6 @@ class Legion(CMakePackage):
variant('max_fields', values=int, default=512,
description="Maximum number of fields allowed in a logical region.")
- variant('native', default=False,
- description="Enable native/host processor optimizaton target.")
-
def cmake_args(self):
spec = self.spec
cmake_cxx_flags = []
@@ -339,10 +336,9 @@ class Legion(CMakePackage):
maxfields = maxfields << 1
options.append('-DLegion_MAX_FIELDS=%d' % maxfields)
- if '+native' in spec:
- # default is off.
- options.append('-DBUILD_MARCH:STRING=native')
-
+ # This disables Legion's CMake build system's logic for targeting the native
+ # CPU architecture in favor of Spack-provided compiler flags
+ options.append('-DBUILD_MARCH:STRING=')
return options
@run_after('install')
diff --git a/var/spack/repos/builtin/packages/libbeagle/package.py b/var/spack/repos/builtin/packages/libbeagle/package.py
index 50b0fd4f34..0e6dc470d2 100644
--- a/var/spack/repos/builtin/packages/libbeagle/package.py
+++ b/var/spack/repos/builtin/packages/libbeagle/package.py
@@ -25,8 +25,10 @@ class Libbeagle(AutotoolsPackage, CudaPackage):
depends_on('subversion', type='build')
depends_on('pkgconfig', type='build')
depends_on('java', type='build')
+ depends_on('opencl', when='+opencl')
cuda_arch_values = CudaPackage.cuda_arch_values
+ variant('opencl', default=False, description='Include OpenCL (GPU) support')
variant(
'cuda_arch',
description='CUDA architecture',
@@ -54,6 +56,9 @@ class Libbeagle(AutotoolsPackage, CudaPackage):
filter_file('-L$with_cuda/lib', '-L$with_cuda/lib64/stubs',
'configure.ac', string=True)
+ def autoreconf(self, spec, prefix):
+ which('bash')('autogen.sh')
+
def configure_args(self):
args = [
# Since spack will inject architecture flags turn off -march=native
@@ -62,8 +67,13 @@ class Libbeagle(AutotoolsPackage, CudaPackage):
]
if '+cuda' in self.spec:
- args.append('--with-cuda=%s' % self.spec['cuda'].prefix)
+ args.append('--with-cuda={0}'.format(self.spec['cuda'].prefix))
else:
args.append('--without-cuda')
+ if '+opencl' in self.spec:
+ args.append('--with-opencl={0}'.format(self.spec['opencl'].prefix))
+ else:
+ args.append('--without-opencl')
+
return args
diff --git a/var/spack/repos/builtin/packages/libbeato/package.py b/var/spack/repos/builtin/packages/libbeato/package.py
index eaae48cf6c..7465167f88 100644
--- a/var/spack/repos/builtin/packages/libbeato/package.py
+++ b/var/spack/repos/builtin/packages/libbeato/package.py
@@ -14,4 +14,4 @@ class Libbeato(AutotoolsPackage):
homepage = "https://github.com/CRG-Barcelona/libbeato"
git = "https://github.com/CRG-Barcelona/libbeato.git"
- version('master', brancch='master')
+ version('master', branch='master')
diff --git a/var/spack/repos/builtin/packages/libblastrampoline/package.py b/var/spack/repos/builtin/packages/libblastrampoline/package.py
index 6257e5a98f..8c0148d2ce 100644
--- a/var/spack/repos/builtin/packages/libblastrampoline/package.py
+++ b/var/spack/repos/builtin/packages/libblastrampoline/package.py
@@ -9,16 +9,19 @@ from spack import *
class Libblastrampoline(MakefilePackage):
"""Using PLT trampolines to provide a BLAS and LAPACK demuxing library."""
- homepage = "https://github.com/staticfloat/libblastrampoline"
- git = "https://github.com/staticfloat/libblastrampoline.git"
-
- version('3.1.0', commit='c6c7bc5d4ae088bd7c519d58e3fb8b686d00db0c')
- version('3.0.4', commit='23de7a09bf354fe6f655c457bab5bf47fdd2486d')
- version('3.0.3', commit='7b502b7bb5d4663df4a928d0f605924cd1a35c1a')
- version('3.0.2', commit='5882fdf6395afb1ed01a8a10db94b7b3cbd39e16')
- version('3.0.1', commit='e132e645db28bec024be9410467a6c7a2d0937ae')
- version('3.0.0', commit='7bb259a69e5bad0adb55171b2bee164a30ce2e91')
- version('2.2.0', commit='45f4a20ffdba5d368db66d71885312f5f73c2dc7')
+ homepage = "https://github.com/JuliaLinearAlgebra/libblastrampoline"
+ git = "https://github.com/JuliaLinearAlgebra/libblastrampoline.git"
+ url = "https://github.com/JuliaLinearAlgebra/libblastrampoline/archive/refs/tags/v3.1.0.tar.gz"
+
+ maintainers = ['haampie']
+
+ version('3.1.0', sha256='f6136cc2b5d090ceca67cffa55b4c8af4bcee874333d49297c867abdb0749b5f')
+ version('3.0.4', sha256='3c8a54a3bd8a2737b7f74ebeb56df8e2a48083c9094dbbff80b225c228e31793')
+ version('3.0.3', sha256='a9c553ee6f20fa2f92098edcb3fc4a331c653250e559f72b9317b4ee84500cd7')
+ version('3.0.2', sha256='caefd708cf0cf53b01cea74a09ab763bf4dfa4aec4468892720f3921521c1f74')
+ version('3.0.1', sha256='b5b8ac0d3aba1bcb9dc26d7d6bb36b352d45e7d7e2594c6122e72b9e5d75a772')
+ version('3.0.0', sha256='4d0856d30e7ba0cb0de08b08b60fd34879ce98714341124acf87e587d1bbbcde')
+ version('2.2.0', sha256='1fb8752891578b45e187019c67fccbaafb108756aadc69bdd876033846ad30d3')
build_directory = 'src'
diff --git a/var/spack/repos/builtin/packages/libcroco/package.py b/var/spack/repos/builtin/packages/libcroco/package.py
index 788ae665e2..586bbce4b2 100644
--- a/var/spack/repos/builtin/packages/libcroco/package.py
+++ b/var/spack/repos/builtin/packages/libcroco/package.py
@@ -15,12 +15,18 @@ class Libcroco(AutotoolsPackage):
version('0.6.13', sha256='767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4')
version('0.6.12', sha256='ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860')
+ variant('doc', default=False, description='Build documentation with gtk-doc')
+
depends_on('glib')
depends_on('libxml2')
- depends_on('gtk-doc', type='build')
+ depends_on('gtk-doc', type='build', when='+doc')
depends_on('pkgconfig', type='build')
def configure_args(self):
+ args = [
+ '--enable-gtk-doc=' + ('yes' if self.spec.variants['doc'].value else 'no')
+ ]
# macOS ld does not support this flag
# https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libcroco.rb
- return ['--disable-Bsymbolic']
+ args.append('--disable-Bsymbolic')
+ return args
diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py
index 24c4183cdd..99422f801d 100644
--- a/var/spack/repos/builtin/packages/libctl/package.py
+++ b/var/spack/repos/builtin/packages/libctl/package.py
@@ -11,10 +11,12 @@ class Libctl(AutotoolsPackage):
control files for scientific simulations."""
homepage = "http://ab-initio.mit.edu/wiki/index.php/Libctl"
- url = "http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz"
- list_url = "http://ab-initio.mit.edu/libctl/old"
+ git = "https://github.com/NanoComp/libctl.git"
+ url = "https://github.com/NanoComp/libctl/releases/download/v4.2.0/libctl-4.2.0.tar.gz"
- version('3.2.2', sha256='8abd8b58bc60e84e16d25b56f71020e0cb24d75b28bc5db86d50028197c7efbc')
+ version('4.2.0', sha256='0341ad6ea260ecda2efb3d4b679abb3d05ca6211792381979b036177a9291975')
+ version('3.2.2', sha256='8abd8b58bc60e84e16d25b56f71020e0cb24d75b28bc5db86d50028197c7efbc',
+ url='http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz')
depends_on('guile')
@@ -27,4 +29,5 @@ class Libctl(AutotoolsPackage):
spec['guile'].prefix.bin, 'guile')),
'GUILE_CONFIG={0}'.format(join_path(
spec['guile'].prefix.bin, 'guile-config')),
+ 'LIBS=-lm',
]
diff --git a/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py b/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py
index ee4caebe13..324c2d65c5 100644
--- a/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py
+++ b/var/spack/repos/builtin/packages/libcxxwrap-julia/package.py
@@ -16,7 +16,9 @@ regular CMake library for use in other C++ projects."""
maintainers = ['eloop']
- version('master', branch='master')
+ # note: use the @main branch version if you're building for julia 1.7
+ version('main', branch='main')
+
version('0.8.3', sha256='b0421d11bdee5ce8af4922de6dfe3b0e5d69b07bb52894e3a22a477bbd27ee9e')
version('0.8.2', sha256='f8b171def3d61904ba8f9a9052a405c25afbfb9a3c5af3dd30bc36a0184ed539')
diff --git a/var/spack/repos/builtin/packages/libdrm/package.py b/var/spack/repos/builtin/packages/libdrm/package.py
index 2d7a4133fb..1516913de9 100644
--- a/var/spack/repos/builtin/packages/libdrm/package.py
+++ b/var/spack/repos/builtin/packages/libdrm/package.py
@@ -21,6 +21,8 @@ class Libdrm(AutotoolsPackage):
version('2.4.33', sha256='bd2a8fecf28616f2157ca33ede691c139cc294ed2d0c4244b62ca7d22e98e5a4')
depends_on('pkgconfig', type='build')
+ depends_on('docbook-xml', type='build')
+ depends_on('docbook-xsl', type='build')
depends_on('libpciaccess@0.10:')
depends_on('libpthread-stubs')
@@ -31,6 +33,6 @@ class Libdrm(AutotoolsPackage):
# Needed to fix build for spack/spack#1740, but breaks newer
# builds/compilers
args.append('LIBS=-lrt')
- if self.spec.satisfies('%gcc@10.0.0:'):
+ if self.spec.satisfies('%gcc@10.0.0:') or self.spec.satisfies('%clang@12.0.0:'):
args.append('CFLAGS=-fcommon')
return args
diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py
index efd0aca2c6..60c129e5c2 100644
--- a/var/spack/repos/builtin/packages/libfabric/package.py
+++ b/var/spack/repos/builtin/packages/libfabric/package.py
@@ -17,6 +17,7 @@ class Libfabric(AutotoolsPackage):
maintainers = ['rajachan']
version('master', branch='master')
+ version('1.14.0', sha256='fc261388848f3cff555bd653f5cb901f6b9485ad285e5c53328b13f0e69f749a')
version('1.13.2', sha256='25d783b0722a8df8fe61c1de75fafca684c5fe520303180f26f0ad6409cfc0b9')
version('1.13.1', sha256='8e6eed38c4a39aa4cbf7d5d3734f0eecbfc030182f1f9b3be470702f2586d30e')
version('1.12.1', sha256='db3c8e0a495e6e9da6a7436adab905468aedfbd4579ee3da5232a5c111ba642c')
diff --git a/var/spack/repos/builtin/packages/libfuse/package.py b/var/spack/repos/builtin/packages/libfuse/package.py
index 90577dba96..e11a5f8e6a 100644
--- a/var/spack/repos/builtin/packages/libfuse/package.py
+++ b/var/spack/repos/builtin/packages/libfuse/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
import re
from spack import *
@@ -37,6 +38,11 @@ class Libfuse(MesonPackage):
"which typically sets up udev rules and "
"and init script in /etc/init.d"))
+ depends_on('autoconf', type='build', when='@:2')
+ depends_on('automake', type='build', when='@:2')
+ depends_on('libtool', type='build', when='@:2')
+ depends_on('gettext', type='build', when='@:2')
+
provides('fuse')
conflicts("+useroot", when='~system_install', msg="useroot requires system_install")
conflicts('platform=darwin', msg='libfuse does not support OS-X, use macfuse instead')
@@ -45,6 +51,11 @@ class Libfuse(MesonPackage):
patch('0001-Do-not-run-install-script.patch', when='@3: ~system_install')
patch('https://src.fedoraproject.org/rpms/fuse3/raw/0519b7bf17c4dd1b31ee704d49f8ed94aa5ba6ab/f/fuse3-gcc11.patch', sha256='3ad6719d2393b46615b5787e71778917a7a6aaa189ba3c3e0fc16d110a8414ec', when='@3: %gcc@11:')
+ patch('https://github.com/libfuse/libfuse/commit/6d55007027dfe7b75a74899f497f075046cc5404.patch', sha256='d8c54ae932f2e7179dd05081a4a8e7aefd23553a0ef354fa25b1456386d96932', when='@:2')
+ patch('https://github.com/libfuse/libfuse/commit/5d38afc8a5b4a2a6e27aad7a1840046e99cd826d.patch', sha256='7f3e8e54966aca8cb64096bea2cbd4d2679b47f9c1355fe9d442ba8464d74372', when='@:2')
+ # https://bugs.gentoo.org/803923
+ patch('https://github.com/libfuse/libfuse/commit/5a43d0f724c56f8836f3f92411e0de1b5f82db32.patch', sha256='1e8b0a1b2bbaa335d92a3c46e31c928dcd53abe011214a0cbbfa7c11a3a68f1a', when='@:2')
+
executables = ['^fusermount3?$']
@classmethod
@@ -73,6 +84,12 @@ class Libfuse(MesonPackage):
# Before libfuse 3.x this was an autotools package
@when('@:2')
def meson(self, spec, prefix):
+ ar_args = ['-ivf']
+ for dep in self.spec.dependencies(deptype='build'):
+ if os.path.exists(dep.prefix.share.aclocal):
+ ar_args.extend(['-I', dep.prefix.share.aclocal])
+ autoreconf(*ar_args)
+
args = [
"--prefix={0}".format(prefix),
"MOUNT_FUSE_PATH={0}".format(self.prefix.sbin),
diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py
index 8f6ecfec17..d44eaa44fe 100644
--- a/var/spack/repos/builtin/packages/libint/package.py
+++ b/var/spack/repos/builtin/packages/libint/package.py
@@ -74,9 +74,7 @@ class Libint(AutotoolsPackage):
return "{0}/v{1}.tar.gz".format(base_url, version)
def autoreconf(self, spec, prefix):
- libtoolize()
- aclocal('-I', 'lib/autoconf')
- autoconf()
+ which('bash')('autogen.sh')
if '@2.6.0:' in spec:
# skip tarball creation and removal of dir with generated code
@@ -104,7 +102,10 @@ class Libint(AutotoolsPackage):
def configure_args(self):
- config_args = ['--enable-shared']
+ config_args = [
+ '--enable-shared',
+ '--with-boost={0}'.format(self.spec['boost'].prefix)
+ ]
# Optimization flag names have changed in libint 2
if self.version < Version('2.0.0'):
@@ -185,16 +186,18 @@ class Libint(AutotoolsPackage):
packages (CP2K notably).
"""
- super(Libint, self).build(spec, prefix)
-
# upstream says that using configure/make for the generated code
# is deprecated and one should use CMake, but with the currently
# recent 2.7.0.b1 it still doesn't work
+ # first generate the libint compiler
+ make('export')
+ # now build the library
with working_dir(os.path.join(self.build_directory, 'generated')):
# straight from the AutotoolsPackage class:
config_args = [
'--prefix={0}'.format(prefix),
'--enable-shared',
+ '--with-boost={0}'.format(self.spec['boost'].prefix),
'--with-cxx-optflags={0}'.format(self.optflags),
]
config_args += self.enable_or_disable(
diff --git a/var/spack/repos/builtin/packages/liblzf/package.py b/var/spack/repos/builtin/packages/liblzf/package.py
new file mode 100644
index 0000000000..35c0bcc2ad
--- /dev/null
+++ b/var/spack/repos/builtin/packages/liblzf/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Liblzf(AutotoolsPackage):
+ """LibLZF is a very small data compression library.
+
+ It consists of only two .c and two .h files and is very easy to incorporate into
+ your own programs. The compression algorithm is very, very fast, yet still written
+ in portable C."""
+
+ homepage = "http://oldhome.schmorp.de/marc/liblzf.html"
+ url = "http://dist.schmorp.de/liblzf/liblzf-3.6.tar.gz"
+
+ version('3.6', sha256='9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a')
diff --git a/var/spack/repos/builtin/packages/libmonitor/package.py b/var/spack/repos/builtin/packages/libmonitor/package.py
index bdfeef48b7..fab4269455 100644
--- a/var/spack/repos/builtin/packages/libmonitor/package.py
+++ b/var/spack/repos/builtin/packages/libmonitor/package.py
@@ -16,6 +16,7 @@ class Libmonitor(AutotoolsPackage):
maintainers = ['mwkrentel']
version('master', branch='master')
+ version('2021.11.08', commit='22aa52c621534f12d401fa37f6963bfca7441e20')
version('2021.04.27', commit='a2d1b6be23410ef1ad2c9d0006672453803243c2')
version('2020.10.15', commit='36e5cb7ebeadfff01476b79ff04f6ec772ba831d')
version('2019.05.31', commit='c9767087d52e58a719aa7f149136b101e499db44')
diff --git a/var/spack/repos/builtin/packages/librsvg/package.py b/var/spack/repos/builtin/packages/librsvg/package.py
index 7351e56cb3..39d5bb871e 100644
--- a/var/spack/repos/builtin/packages/librsvg/package.py
+++ b/var/spack/repos/builtin/packages/librsvg/package.py
@@ -17,10 +17,12 @@ class Librsvg(AutotoolsPackage):
version('2.50.0', sha256='b3fadba240f09b9c9898ab20cb7311467243e607cf8f928b7c5f842474ee3df4')
version('2.44.14', sha256='6a85a7868639cdd4aa064245cc8e9d864dad8b8e9a4a8031bb09a4796bc4e303')
+ variant('doc', default=False, description='Build documentation with gtk-doc')
+
depends_on("gobject-introspection", type='build')
depends_on("pkgconfig", type='build')
depends_on("rust", type='build')
- depends_on('gtk-doc', type='build')
+ depends_on('gtk-doc', type='build', when='+doc')
depends_on("cairo+gobject")
depends_on("gdk-pixbuf")
depends_on("glib")
@@ -48,3 +50,8 @@ class Librsvg(AutotoolsPackage):
def setup_run_environment(self, env):
env.prepend_path('XDG_DATA_DIRS', self.prefix.share)
+
+ def configure_args(self):
+ return [
+ '--enable-gtk-doc=' + ('yes' if self.spec.variants['doc'].value else 'no')
+ ]
diff --git a/var/spack/repos/builtin/packages/libseccomp/package.py b/var/spack/repos/builtin/packages/libseccomp/package.py
index 6362cc9cce..b8d66d092c 100644
--- a/var/spack/repos/builtin/packages/libseccomp/package.py
+++ b/var/spack/repos/builtin/packages/libseccomp/package.py
@@ -10,16 +10,14 @@ class Libseccomp(AutotoolsPackage):
"""The main libseccomp repository"""
homepage = "https://github.com/seccomp/libseccomp"
- url = "https://github.com/seccomp/libseccomp/archive/v2.3.3.zip"
+ url = 'https://github.com/seccomp/libseccomp/releases/download/v2.5.3/libseccomp-2.5.3.tar.gz'
- version('2.3.3', sha256='627e114b3be2e66ed8d88b90037498333384d9bea822423662a44c3a8520e187')
+ version('2.5.3', sha256='59065c8733364725e9721ba48c3a99bbc52af921daf48df4b1e012fbc7b10a76')
+ version('2.3.3', sha256='7fc28f4294cc72e61c529bedf97e705c3acf9c479a8f1a3028d4cd2ca9f3b155')
variant('python', default=True, description="Build Python bindings")
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on('gperf', type='build', when='@2.5:')
depends_on("py-cython", type="build", when="+python")
def configure_args(self):
diff --git a/var/spack/repos/builtin/packages/libsharp/1.0.0-arm.patch b/var/spack/repos/builtin/packages/libsharp/1.0.0-arm.patch
index 1f68c96ce9..1f68c96ce9 100755..100644
--- a/var/spack/repos/builtin/packages/libsharp/1.0.0-arm.patch
+++ b/var/spack/repos/builtin/packages/libsharp/1.0.0-arm.patch
diff --git a/var/spack/repos/builtin/packages/libsharp/arm.patch b/var/spack/repos/builtin/packages/libsharp/arm.patch
index 19ed264757..19ed264757 100755..100644
--- a/var/spack/repos/builtin/packages/libsharp/arm.patch
+++ b/var/spack/repos/builtin/packages/libsharp/arm.patch
diff --git a/var/spack/repos/builtin/packages/libslirp/package.py b/var/spack/repos/builtin/packages/libslirp/package.py
new file mode 100644
index 0000000000..95c292d76c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libslirp/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Libslirp(MesonPackage):
+ """General purpose TCP-IP emulator"""
+
+ homepage = 'https://gitlab.freedesktop.org/slirp/libslirp'
+ url = 'https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v4.6.1/libslirp-v4.6.1.tar.gz'
+ maintainers = ['bernhardkaindl']
+
+ version('4.6.1', sha256='69ad4df0123742a29cc783b35de34771ed74d085482470df6313b6abeb799b11')
+
+ depends_on('pkgconfig', type='build')
+ depends_on('glib')
diff --git a/var/spack/repos/builtin/packages/libspatialite/package.py b/var/spack/repos/builtin/packages/libspatialite/package.py
index 09bef51747..b601df69b9 100644
--- a/var/spack/repos/builtin/packages/libspatialite/package.py
+++ b/var/spack/repos/builtin/packages/libspatialite/package.py
@@ -16,7 +16,8 @@ class Libspatialite(AutotoolsPackage):
url = "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-4.3.0a.tar.gz"
manual_download = True
- version('5.0.0', preferred=True, sha256='7b7fd70243f5a0b175696d87c46dde0ace030eacc27f39241c24bac5dfac6dac')
+ version('5.0.1', sha256='eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98')
+ version('5.0.0', sha256='7b7fd70243f5a0b175696d87c46dde0ace030eacc27f39241c24bac5dfac6dac')
# Must download manually from:
# https://www.gaia-gis.it/fossil/libspatialite/info/c7f67038bf06d98d
# For instructions on the file:// below..
@@ -41,3 +42,4 @@ class Libspatialite(AutotoolsPackage):
depends_on('iconv')
depends_on('libxml2')
depends_on('minizip', when='@5.0.0:')
+ depends_on('librttopo', when='@5.0.1:')
diff --git a/var/spack/repos/builtin/packages/libssh2/package.py b/var/spack/repos/builtin/packages/libssh2/package.py
index 933a996b03..c863d796c4 100644
--- a/var/spack/repos/builtin/packages/libssh2/package.py
+++ b/var/spack/repos/builtin/packages/libssh2/package.py
@@ -12,20 +12,38 @@ class Libssh2(CMakePackage):
homepage = "https://www.libssh2.org/"
url = "https://www.libssh2.org/download/libssh2-1.7.0.tar.gz"
+ version('1.10.0', sha256='2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51')
+ version('1.9.0', sha256='d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd')
version('1.8.0', sha256='39f34e2f6835f4b992cafe8625073a88e5a28ba78f83e8099610a7b3af4676d4')
version('1.7.0', sha256='e4561fd43a50539a8c2ceb37841691baf03ecb7daf043766da1b112e4280d584')
version('1.4.3', sha256='eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d') # CentOS7
- variant('shared', default=True,
- description="Build shared libraries")
+ variant('crypto', default='openssl', values=('openssl', 'mbedtls'), multi=False)
+ variant('shared', default=True, description="Build shared libraries")
+
+ conflicts('crypto=mbedtls', when='@:1.7', msg='mbedtls only available from 1.8.0')
depends_on('cmake@2.8.11:', type='build')
- depends_on('openssl')
+ depends_on('openssl', when='crypto=openssl')
+ depends_on('openssl@:2', when='@:1.9 crypto=openssl')
+ depends_on('mbedtls@:2 +pic', when='crypto=mbedtls')
depends_on('zlib')
depends_on('xz')
def cmake_args(self):
- return [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')]
+ args = [
+ self.define('BUILD_TESTING', 'OFF'),
+ self.define_from_variant('BUILD_SHARED_LIBS', 'shared')
+ ]
+
+ crypto = self.spec.variants['crypto'].value
+
+ if crypto == 'openssl':
+ args.append(self.define('CRYPTO_BACKEND', 'OpenSSL'))
+ elif crypto == 'mbedtls':
+ args.append(self.define('CRYPTO_BACKEND', 'mbedTLS'))
+
+ return args
@run_after('install')
def darwin_fix(self):
diff --git a/var/spack/repos/builtin/packages/libtree/package.py b/var/spack/repos/builtin/packages/libtree/package.py
index 5d5aaa78ab..08af134409 100644
--- a/var/spack/repos/builtin/packages/libtree/package.py
+++ b/var/spack/repos/builtin/packages/libtree/package.py
@@ -3,12 +3,11 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+from spack.build_systems.cmake import CMakePackage
-class Libtree(CMakePackage):
- """ldd as a tree with an option to bundle dependencies into a
- single folder"""
+class Libtree(MakefilePackage):
+ """ldd as a tree"""
homepage = "https://github.com/haampie/libtree"
git = "https://github.com/haampie/libtree.git"
@@ -16,6 +15,8 @@ class Libtree(CMakePackage):
maintainers = ['haampie']
version('master', branch='master')
+ version('3.0.1', sha256='20d3cd66f5c74058de9dd594af8ffd639c795d27ab435c588a3cd43911c1604f')
+ version('3.0.0', sha256='6f7b069a8e5d86741e18a4c8a7e835ac530ae012dfc9509e00ffa694aa6818b1')
version('2.0.0', sha256='099e85d8ba3c3d849ce05b8ba2791dd25cd042a813be947fb321b0676ef71883')
version('1.2.3', sha256='4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf')
version('1.2.2', sha256='4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd')
@@ -35,20 +36,27 @@ class Libtree(CMakePackage):
return "https://github.com/haampie/libtree/archive/refs/tags/v{0}.tar.gz".format(version)
- variant('chrpath', default=False, description='Use chrpath for deployment')
- variant('strip', default=False, description='Use binutils strip for deployment')
+ # Version 3.x (Makefile)
+ @when('@3:')
+ def install(self, spec, prefix):
+ make('install', 'PREFIX=' + prefix)
- # header only dependencies
- depends_on('cpp-termcolor', when='@2.0:', type='build')
- depends_on('cxxopts', when='@2.0:', type='build')
- depends_on('elfio', when='@2.0:', type='build')
-
- # runtime deps
- depends_on('chrpath', when='+chrpath', type='run')
- depends_on('binutils', when='+strip', type='run')
+ # Version 2.x and earlier (CMake)
+ with when('@:2'):
+ variant('chrpath', default=False, description='Use chrpath for deployment')
+ variant('strip', default=False, description='Use binutils strip for deployment')
+ variant('build_type', default='RelWithDebInfo',
+ description='CMake build type',
+ values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
+ depends_on('googletest', type='test')
+ depends_on('cmake@3:', type='build')
+ depends_on('chrpath', when='+chrpath', type='run')
+ depends_on('binutils', when='+strip', type='run')
- # testing
- depends_on('googletest', type='test')
+ # header only dependencies
+ depends_on('cpp-termcolor', when='@2.0.0:2', type='build')
+ depends_on('cxxopts', when='@2.0.0:2', type='build')
+ depends_on('elfio', when='@2.0.0:2', type='build')
def cmake_args(self):
tests_enabled = 'ON' if self.run_tests else 'OFF'
@@ -58,9 +66,17 @@ class Libtree(CMakePackage):
tests_define = 'BUILD_TESTING'
return [
- self.define(tests_define, tests_enabled)
+ CMakePackage.define(tests_define, tests_enabled)
]
+ @when('@:2')
+ def edit(self, spec, prefix):
+ options = CMakePackage._std_args(self) + self.cmake_args()
+ options.append(self.stage.source_path)
+ with working_dir(self.build_directory):
+ cmake(*options)
+
+ @when('@:2')
def check(self):
with working_dir(self.build_directory):
ctest('--output-on-failure')
diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py
index cdfcc52433..cfbbd953e8 100644
--- a/var/spack/repos/builtin/packages/libxc/package.py
+++ b/var/spack/repos/builtin/packages/libxc/package.py
@@ -13,6 +13,7 @@ class Libxc(AutotoolsPackage, CudaPackage):
homepage = "https://tddft.org/programs/libxc/"
url = "https://www.tddft.org/programs/libxc/down.php?file=2.2.2/libxc-2.2.2.tar.gz"
+ version('5.1.7', sha256='1a818fdfe5c5f74270bc8ef0c59064e8feebcd66b8f642c08aecc1e7d125be34')
version('5.1.5', sha256='02e4615a22dc3ec87a23efbd3d9be5bfad2445337140bad1720699571c45c3f9')
version('5.1.3', sha256='0350defdd6c1b165e4cf19995f590eee6e0b9db95a6b221d28cecec40f4e85cd')
version('5.1.2', sha256='180d52b5552921d1fac8a10869dd30708c0fb41dc202a3bbee0e36f43872718a')
diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py
index df1e6e51bf..a9c4973ff3 100644
--- a/var/spack/repos/builtin/packages/libxsmm/package.py
+++ b/var/spack/repos/builtin/packages/libxsmm/package.py
@@ -15,12 +15,13 @@ class Libxsmm(MakefilePackage):
and deep learning primitives."""
homepage = 'https://github.com/hfp/libxsmm'
- url = 'https://github.com/hfp/libxsmm/archive/1.16.3.tar.gz'
+ url = 'https://github.com/hfp/libxsmm/archive/1.17.tar.gz'
git = 'https://github.com/hfp/libxsmm.git'
maintainers = ['hfp']
version('master', branch='master')
+ version('1.17', sha256='8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92')
version('1.16.3', sha256='e491ccadebc5cdcd1fc08b5b4509a0aba4e2c096f53d7880062a66b82a0baf84')
version('1.16.2', sha256='bdc7554b56b9e0a380fc9c7b4f4394b41be863344858bc633bc9c25835c4c64e')
version('1.16.1', sha256='93dc7a3ec40401988729ddb2c6ea2294911261f7e6cd979cf061b5c3691d729d')
diff --git a/var/spack/repos/builtin/packages/libzmq/package.py b/var/spack/repos/builtin/packages/libzmq/package.py
index ca17fad155..20b525081d 100644
--- a/var/spack/repos/builtin/packages/libzmq/package.py
+++ b/var/spack/repos/builtin/packages/libzmq/package.py
@@ -14,6 +14,7 @@ class Libzmq(AutotoolsPackage):
git = "https://github.com/zeromq/libzmq.git"
version('master', branch='master')
+ version('4.3.4', sha256='c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5')
version('4.3.3', sha256='9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2')
version('4.3.2', sha256='ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763')
version('4.3.1', sha256='bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb')
@@ -40,6 +41,8 @@ class Libzmq(AutotoolsPackage):
depends_on('automake', type='build', when='@develop')
depends_on('libtool', type='build', when='@develop')
depends_on('pkgconfig', type='build')
+ depends_on('docbook-xml', type='build')
+ depends_on('docbook-xsl', type='build')
depends_on('libbsd', type='link', when='@4.3.3: platform=linux')
depends_on('libbsd', type='link', when='@4.3.3: platform=cray')
diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py
index 95117f67b1..c9cdff2aa2 100644
--- a/var/spack/repos/builtin/packages/likwid/package.py
+++ b/var/spack/repos/builtin/packages/likwid/package.py
@@ -22,6 +22,7 @@ class Likwid(Package):
git = "https://github.com/RRZE-HPC/likwid.git"
maintainers = ['TomTheBear']
+ version('5.2.1', sha256='1b8e668da117f24302a344596336eca2c69d2bc2f49fa228ca41ea0688f6cbc2')
version('5.2.0', sha256='aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0')
version('5.1.1', sha256='faec7c62987967232f476a6ff0ee85af686fd24b5a360126896b7f435d1f943f')
version('5.1.0', sha256='5a180702a1656c6315b861a85031ab4cb090424aec42cbbb326b849e29f55571')
diff --git a/var/spack/repos/builtin/packages/llvm-doe/package.py b/var/spack/repos/builtin/packages/llvm-doe/package.py
index c384210561..e2d1284116 100644
--- a/var/spack/repos/builtin/packages/llvm-doe/package.py
+++ b/var/spack/repos/builtin/packages/llvm-doe/package.py
@@ -2,12 +2,14 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
import os.path
import re
import sys
import llnl.util.tty as tty
+import spack.build_environment
import spack.util.executable
@@ -19,15 +21,21 @@ class LlvmDoe(CMakePackage, CudaPackage):
homepage = "https://github.com/llvm-doe-org"
url = "https://github.com/llvm-doe-org/llvm-project/archive/llvmorg-10.0.0.zip"
git = "https://github.com/llvm-doe-org/llvm-project"
- maintainers = ['shintaro-iwasaki']
+ maintainers = ['vlkale']
+
tags = ['e4s']
+ generator = 'Ninja'
+
+ family = "compiler" # Used by lmod
+
version('doe', branch='doe', preferred=True)
version('upstream', branch='llvm.org/main')
version('bolt', branch='bolt/main')
version('clacc', branch='clacc/master')
version('pragma-clang-loop', branch='sollve/pragma-clang-loop')
version('pragma-omp-tile', branch='sollve/pragma-omp-tile')
+ version('13.0.0', branch='llvm.org/llvmorg-13.0.0')
# NOTE: The debug version of LLVM is an order of magnitude larger than
# the release version, and may take up 20-30 GB of space. If you want
@@ -95,6 +103,11 @@ class LlvmDoe(CMakePackage, CudaPackage):
"components in a single shared library",
)
variant(
+ "link_llvm_dylib",
+ default=False,
+ description="Link LLVM tools against the LLVM shared library",
+ )
+ variant(
"all_targets",
default=False,
description="Build all supported targets, default targets "
@@ -112,6 +125,11 @@ class LlvmDoe(CMakePackage, CudaPackage):
description="Build with OpenMP capable thread sanitizer",
)
variant(
+ "omp_as_runtime",
+ default=True,
+ description="Build OpenMP runtime via ENABLE_RUNTIME by just-built Clang",
+ )
+ variant(
"argobots",
default=False,
description="Build BOLT/OpenMP with Argobots. Effective when @bolt",
@@ -120,16 +138,21 @@ class LlvmDoe(CMakePackage, CudaPackage):
description="Enable code-signing on macOS")
variant("python", default=False, description="Install python bindings")
+ variant('version_suffix', default='none', description="Add a symbol suffix")
+ variant('z3', default=False, description='Use Z3 for the clang static analyzer')
+
extends("python", when="+python")
# Build dependency
depends_on("cmake@3.4.3:", type="build")
+ depends_on('cmake@3.13.4:', type='build', when='@12:')
+ depends_on("ninja", type="build")
depends_on("python", when="~python", type="build")
depends_on("pkgconfig", type="build")
# Universal dependency
depends_on("python", when="+python")
- depends_on("z3")
+ depends_on("z3", when='+clang+z3')
# openmp dependencies
depends_on("perl-data-dumper", type=("build"))
@@ -146,22 +169,56 @@ class LlvmDoe(CMakePackage, CudaPackage):
depends_on("py-six", when="+lldb +python")
# gold support, required for some features
- depends_on("binutils+gold", when="+gold")
+ depends_on("binutils+gold+ld+plugins", when="+gold")
conflicts("+llvm_dylib", when="+shared_libs")
+ conflicts("+link_llvm_dylib", when="~llvm_dylib")
conflicts("+lldb", when="~clang")
conflicts("+libcxx", when="~clang")
conflicts("+internal_unwind", when="~clang")
conflicts("+compiler-rt", when="~clang")
+ conflicts("+flang", when="~clang")
- conflicts("%gcc@:5.0")
+ conflicts('~mlir', when='+flang', msg='Flang requires MLIR')
+
+ # Older LLVM do not build with newer compilers, and vice versa
+ conflicts("%gcc@8:", when="@:5")
+ conflicts("%gcc@:5.0", when="@8:")
+ # clang/lib: a lambda parameter cannot shadow an explicitly captured entity
+ conflicts("%clang@8:", when="@:4")
+
+ # When these versions are concretized, but not explicitly with +libcxx, these
+ # conflicts will enable clingo to set ~libcxx, making the build successful:
+
+ # libc++ of LLVM13, see https://libcxx.llvm.org/#platform-and-compiler-support
+ # @13 does not support %gcc@:10 https://bugs.llvm.org/show_bug.cgi?id=51359#c1
+ # GCC 11 - latest stable release per GCC release page
+ # Clang: 11, 12 - latest two stable releases per LLVM release page
+ # AppleClang 12 - latest stable release per Xcode release page
+ conflicts("%gcc@:10", when="@13:+libcxx")
+ conflicts("%clang@:10", when="@13:+libcxx")
+ conflicts("%apple-clang@:11", when="@13:+libcxx")
+
+ # libcxx-4 and compiler-rt-4 fail to build with "newer" clang and gcc versions:
+ conflicts('%gcc@7:', when='@:4+libcxx')
+ conflicts('%clang@6:', when='@:4+libcxx')
+ conflicts('%apple-clang@6:', when='@:4+libcxx')
+ conflicts('%gcc@7:', when='@:4+compiler-rt')
+ conflicts('%clang@6:', when='@:4+compiler-rt')
+ conflicts('%apple-clang@6:', when='@:4+compiler-rt')
+
+ # OMP TSAN exists in > 5.x
+ conflicts("+omp_tsan", when="@:5")
+
+ # OpenMP via ENABLE_RUNTIME restrictions
+ conflicts("+omp_as_runtime", when="~clang", msg="omp_as_runtime requires clang being built.")
+ conflicts("+omp_as_runtime", when="@:11.1", msg="omp_as_runtime works since LLVM 12.")
# cuda_arch value must be specified
conflicts("cuda_arch=none", when="+cuda", msg="A value for cuda_arch must be specified.")
- conflicts("+mlir")
-
- conflicts("+flang", when="~clang")
+ # MLIR exists in > 10.x
+ conflicts("+mlir", when="@:9")
# code signing is only necessary on macOS",
conflicts('+code_signing', when='platform=linux')
@@ -348,8 +405,25 @@ class LlvmDoe(CMakePackage, CudaPackage):
'create this identity.'
)
+ def flag_handler(self, name, flags):
+ if name == 'cxxflags':
+ flags.append(self.compiler.cxx11_flag)
+ return(None, flags, None)
+ elif name == 'ldflags' and self.spec.satisfies('%intel'):
+ flags.append('-shared-intel')
+ return(None, flags, None)
+ return(flags, None, None)
+
def setup_build_environment(self, env):
- env.append_flags("CXXFLAGS", self.compiler.cxx11_flag)
+ """When using %clang, add only its ld.lld-$ver and/or ld.lld to our PATH"""
+ if self.compiler.name in ['clang', 'apple-clang']:
+ for lld in 'ld.lld-{0}'.format(self.compiler.version.version[0]), 'ld.lld':
+ bin = os.path.join(os.path.dirname(self.compiler.cc), lld)
+ sym = os.path.join(self.stage.path, 'ld.lld')
+ if os.path.exists(bin) and not os.path.exists(sym):
+ mkdirp(self.stage.path)
+ os.symlink(bin, sym)
+ env.prepend_path('PATH', self.stage.path)
def setup_run_environment(self, env):
if "+clang" in self.spec:
@@ -363,71 +437,87 @@ class LlvmDoe(CMakePackage, CudaPackage):
def cmake_args(self):
spec = self.spec
+ define = CMakePackage.define
+ from_variant = self.define_from_variant
+
python = spec['python']
cmake_args = [
- "-DLLVM_REQUIRES_RTTI:BOOL=ON",
- "-DLLVM_ENABLE_RTTI:BOOL=ON",
- "-DLLVM_ENABLE_EH:BOOL=ON",
- "-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp",
- "-DPYTHON_EXECUTABLE:PATH={0}".format(python.command.path),
- "-DLIBOMP_USE_HWLOC:BOOL=ON",
- "-DLIBOMP_HWLOC_INSTALL_DIR={0}".format(spec["hwloc"].prefix),
+ define("LLVM_REQUIRES_RTTI", True),
+ define("LLVM_ENABLE_RTTI", True),
+ define("LLVM_ENABLE_EH", True),
+ define("CLANG_DEFAULT_OPENMP_RUNTIME", "libomp"),
+ define("PYTHON_EXECUTABLE", python.command.path),
+ define("LIBOMP_USE_HWLOC", True),
+ define("LIBOMP_HWLOC_INSTALL_DIR", spec["hwloc"].prefix),
]
- if python.version >= Version("3.0.0"):
- cmake_args.append("-DPython3_EXECUTABLE={0}".format(
- python.command.path))
+ version_suffix = spec.variants['version_suffix'].value
+ if version_suffix != 'none':
+ cmake_args.append(define('LLVM_VERSION_SUFFIX', version_suffix))
+
+ if python.version >= Version("3"):
+ cmake_args.append(define("Python3_EXECUTABLE", python.command.path))
else:
- cmake_args.append("-DPython2_EXECUTABLE={0}".format(
- python.command.path))
+ cmake_args.append(define("Python2_EXECUTABLE", python.command.path))
projects = []
+ runtimes = []
if "+cuda" in spec:
- cmake_args.extend(
- [
- "-DCUDA_TOOLKIT_ROOT_DIR:PATH=" + spec["cuda"].prefix,
- "-DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES={0}".format(
- ",".join(spec.variants["cuda_arch"].value)
- ),
- "-DCLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_{0}".format(
- spec.variants["cuda_arch"].value[-1]
- ),
- ]
- )
+ cmake_args.extend([
+ define("CUDA_TOOLKIT_ROOT_DIR", spec["cuda"].prefix),
+ define("LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES",
+ ",".join(spec.variants["cuda_arch"].value)),
+ define("CLANG_OPENMP_NVPTX_DEFAULT_ARCH",
+ "sm_{0}".format(spec.variants["cuda_arch"].value[-1])),
+ ])
+ if "+omp_as_runtime" in spec:
+ cmake_args.extend([
+ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
+ # work around bad libelf detection in libomptarget
+ define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
+ spec["libelf"].prefix.include),
+ ])
else:
# still build libomptarget but disable cuda
- cmake_args.extend(
- [
- "-DCUDA_TOOLKIT_ROOT_DIR:PATH=IGNORE",
- "-DCUDA_SDK_ROOT_DIR:PATH=IGNORE",
- "-DCUDA_NVCC_EXECUTABLE:FILEPATH=IGNORE",
- "-DLIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES:STRING=IGNORE",
- ]
- )
-
- if "+omp_debug" in spec:
- cmake_args.append("-DLIBOMPTARGET_ENABLE_DEBUG:Bool=ON")
+ cmake_args.extend([
+ define("CUDA_TOOLKIT_ROOT_DIR", "IGNORE"),
+ define("CUDA_SDK_ROOT_DIR", "IGNORE"),
+ define("CUDA_NVCC_EXECUTABLE", "IGNORE"),
+ define("LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES", "IGNORE"),
+ ])
- if "+python" in spec and "+lldb" in spec:
- cmake_args.append("-DLLDB_USE_SYSTEM_SIX:Bool=TRUE")
+ cmake_args.append(from_variant("LIBOMPTARGET_ENABLE_DEBUG", "omp_debug"))
- if "+lldb" in spec and spec.satisfies("@10.0.0:,doe"):
- cmake_args.append("-DLLDB_ENABLE_PYTHON:Bool={0}".format(
- 'ON' if '+python' in spec else 'OFF'))
- if "+lldb" in spec and spec.satisfies("@:9.9.9"):
- cmake_args.append("-DLLDB_DISABLE_PYTHON:Bool={0}".format(
- 'ON' if '~python' in spec else 'OFF'))
+ if "+lldb" in spec:
+ if spec.version >= Version('10'):
+ cmake_args.append(from_variant("LLDB_ENABLE_PYTHON", 'python'))
+ else:
+ cmake_args.append(define("LLDB_DISABLE_PYTHON",
+ '~python' in spec))
+ if spec.satisfies("@5.0.0: +python"):
+ cmake_args.append(define("LLDB_USE_SYSTEM_SIX", True))
if "+gold" in spec:
cmake_args.append(
- "-DLLVM_BINUTILS_INCDIR=" + spec["binutils"].prefix.include
+ define("LLVM_BINUTILS_INCDIR", spec["binutils"].prefix.include)
)
if "+clang" in spec:
projects.append("clang")
projects.append("clang-tools-extra")
- projects.append("openmp")
+ if "+omp_as_runtime" in spec:
+ runtimes.append("openmp")
+ else:
+ projects.append("openmp")
+
+ if self.spec.satisfies("@8"):
+ cmake_args.append(define('CLANG_ANALYZER_ENABLE_Z3_SOLVER',
+ self.spec.satisfies('@8+z3')))
+ if self.spec.satisfies("@9:"):
+ cmake_args.append(define('LLVM_ENABLE_Z3_SOLVER',
+ self.spec.satisfies('@9:+z3')))
+
if "+flang" in spec:
projects.append("flang")
if "+lldb" in spec:
@@ -439,53 +529,48 @@ class LlvmDoe(CMakePackage, CudaPackage):
if "+libcxx" in spec:
projects.append("libcxx")
projects.append("libcxxabi")
- cmake_args.append("-DCLANG_DEFAULT_CXX_STDLIB=libc++")
if "+mlir" in spec:
projects.append("mlir")
if "+internal_unwind" in spec:
projects.append("libunwind")
if "+polly" in spec:
projects.append("polly")
- cmake_args.append("-DLINK_POLLY_INTO_TOOLS:Bool=ON")
-
- if "+shared_libs" in spec:
- cmake_args.append("-DBUILD_SHARED_LIBS:Bool=ON")
- if "+llvm_dylib" in spec:
- cmake_args.append("-DLLVM_BUILD_LLVM_DYLIB:Bool=ON")
- if "+omp_debug" in spec:
- cmake_args.append("-DLIBOMPTARGET_ENABLE_DEBUG:Bool=ON")
-
- if "+split_dwarf" in spec:
- cmake_args.append("-DLLVM_USE_SPLIT_DWARF:Bool=ON")
+ cmake_args.append(define("LINK_POLLY_INTO_TOOLS", True))
+
+ cmake_args.extend([
+ from_variant("BUILD_SHARED_LIBS", "shared_libs"),
+ from_variant("LLVM_BUILD_LLVM_DYLIB", "llvm_dylib"),
+ from_variant("LLVM_LINK_LLVM_DYLIB", "link_llvm_dylib"),
+ from_variant("LLVM_USE_SPLIT_DWARF", "split_dwarf"),
+ # By default on Linux, libc++.so is a ldscript. CMake fails to add
+ # CMAKE_INSTALL_RPATH to it, which fails. Statically link libc++abi.a
+ # into libc++.so, linking with -lc++ or -stdlib=libc++ is enough.
+ define('LIBCXX_ENABLE_STATIC_ABI_LIBRARY', True)
+ ])
if "+all_targets" not in spec: # all is default on cmake
targets = ["NVPTX", "AMDGPU"]
- if spec.target.family == "x86" or spec.target.family == "x86_64":
+ if spec.version < Version("3.9.0"):
+ # Starting in 3.9.0 CppBackend is no longer a target (see
+ # LLVM_ALL_TARGETS in llvm's top-level CMakeLists.txt for
+ # the complete list of targets)
+ targets.append("CppBackend")
+
+ if spec.target.family in ("x86", "x86_64"):
targets.append("X86")
elif spec.target.family == "arm":
targets.append("ARM")
elif spec.target.family == "aarch64":
targets.append("AArch64")
- elif (
- spec.target.family == "sparc"
- or spec.target.family == "sparc64"
- ):
+ elif spec.target.family in ("sparc", "sparc64"):
targets.append("Sparc")
- elif (
- spec.target.family == "ppc64"
- or spec.target.family == "ppc64le"
- or spec.target.family == "ppc"
- or spec.target.family == "ppcle"
- ):
+ elif spec.target.family in ("ppc64", "ppc64le", "ppc", "ppcle"):
targets.append("PowerPC")
- cmake_args.append(
- "-DLLVM_TARGETS_TO_BUILD:STRING=" + ";".join(targets)
- )
+ cmake_args.append(define("LLVM_TARGETS_TO_BUILD", targets))
- if "+omp_tsan" in spec:
- cmake_args.append("-DLIBOMP_TSAN_SUPPORT=ON")
+ cmake_args.append(from_variant("LIBOMP_TSAN_SUPPORT", "omp_tsan"))
if spec.satisfies("@bolt"):
projects.remove("openmp")
@@ -495,64 +580,64 @@ class LlvmDoe(CMakePackage, CudaPackage):
cmake_args.append("-DLIBOMP_USE_ARGOBOTS=ON")
if self.compiler.name == "gcc":
- gcc_prefix = ancestor(self.compiler.cc, 2)
- cmake_args.append("-DGCC_INSTALL_PREFIX=" + gcc_prefix)
+ compiler = Executable(self.compiler.cc)
+ gcc_output = compiler('-print-search-dirs', output=str, error=str)
+
+ for line in gcc_output.splitlines():
+ if line.startswith("install:"):
+ # Get path and strip any whitespace
+ # (causes oddity with ancestor)
+ gcc_prefix = line.split(":")[1].strip()
+ gcc_prefix = ancestor(gcc_prefix, 4)
+ break
+ cmake_args.append(define("GCC_INSTALL_PREFIX", gcc_prefix))
- if spec.satisfies("platform=cray") or spec.satisfies("platform=linux"):
- cmake_args.append("-DCMAKE_BUILD_WITH_INSTALL_RPATH=1")
+ # if spec.satisfies("platform=cray") or spec.satisfies("platform=linux"):
+ # cmake_args.append("-DCMAKE_BUILD_WITH_INSTALL_RPATH=1")
if self.spec.satisfies("~code_signing platform=darwin"):
- cmake_args.append('-DLLDB_USE_SYSTEM_DEBUGSERVER=ON')
+ cmake_args.append(define('LLDB_USE_SYSTEM_DEBUGSERVER', True))
# Semicolon seperated list of projects to enable
- cmake_args.append(
- "-DLLVM_ENABLE_PROJECTS:STRING={0}".format(";".join(projects))
- )
+ cmake_args.append(define("LLVM_ENABLE_PROJECTS", projects))
- return cmake_args
+ # Semicolon seperated list of runtimes to enable
+ if runtimes:
+ cmake_args.append(define("LLVM_ENABLE_RUNTIMES", runtimes))
- @run_before("build")
- def pre_install(self):
- with working_dir(self.build_directory):
- # When building shared libraries these need to be installed first
- make("install-LLVMTableGen")
- make("install-LLVMDemangle")
- make("install-LLVMSupport")
+ return cmake_args
@run_after("install")
def post_install(self):
spec = self.spec
+ define = CMakePackage.define
- # unnecessary if we get bootstrap builds in here
- if "+cuda" in self.spec:
+ # unnecessary if we build openmp via LLVM_ENABLE_RUNTIMES
+ if "+cuda ~omp_as_runtime" in self.spec:
ompdir = "build-bootstrapped-omp"
+ prefix_paths = spack.build_environment.get_cmake_prefix_path(self)
+ prefix_paths.append(str(spec.prefix))
# rebuild libomptarget to get bytecode runtime library files
with working_dir(ompdir, create=True):
cmake_args = [
- self.stage.source_path + "/openmp",
- "-DCMAKE_C_COMPILER:PATH={0}".format(
- spec.prefix.bin + "/clang"
- ),
- "-DCMAKE_CXX_COMPILER:PATH={0}".format(
- spec.prefix.bin + "/clang++"
- ),
- "-DCMAKE_INSTALL_PREFIX:PATH={0}".format(spec.prefix),
+ '-G', 'Ninja',
+ define('CMAKE_BUILD_TYPE', spec.variants['build_type'].value),
+ define("CMAKE_C_COMPILER", spec.prefix.bin + "/clang"),
+ define("CMAKE_CXX_COMPILER", spec.prefix.bin + "/clang++"),
+ define("CMAKE_INSTALL_PREFIX", spec.prefix),
+ define('CMAKE_PREFIX_PATH', prefix_paths)
]
cmake_args.extend(self.cmake_args())
- cmake_args.append(
- "-DLIBOMPTARGET_NVPTX_ENABLE_BCLIB:BOOL=TRUE"
- )
-
- # work around bad libelf detection in libomptarget
- cmake_args.append(
- "-DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR:String={0}".format(
- spec["libelf"].prefix.include
- )
- )
+ cmake_args.extend([
+ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
+ define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
+ spec["libelf"].prefix.include),
+ self.stage.source_path + "/openmp",
+ ])
cmake(*cmake_args)
- make()
- make("install")
+ ninja()
+ ninja("install")
if "+python" in self.spec:
install_tree("llvm/bindings/python", site_packages_dir)
diff --git a/var/spack/repos/builtin/packages/llvm-openmp/package.py b/var/spack/repos/builtin/packages/llvm-openmp/package.py
index 41ae794211..41ae794211 100755..100644
--- a/var/spack/repos/builtin/packages/llvm-openmp/package.py
+++ b/var/spack/repos/builtin/packages/llvm-openmp/package.py
diff --git a/var/spack/repos/builtin/packages/llvm/llvm4-lld-ELF-Symbols.patch b/var/spack/repos/builtin/packages/llvm/llvm4-lld-ELF-Symbols.patch
new file mode 100644
index 0000000000..1a86cda358
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/llvm4-lld-ELF-Symbols.patch
@@ -0,0 +1,112 @@
+--- a/lldb/include/lldb/Utility/TaskPool.h
++++ b/lldb/include/lldb/Utility/TaskPool.h
+@@ -33,6 +33,7 @@
+ #include <queue>
+ #include <thread>
+ #include <vector>
++#include <functional>
+
+ // Global TaskPool class for running tasks in parallel on a set of worker thread
+ // created the first
+# Fix lld templates: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230463
+--- a/lld/ELF/LTO.cpp
++++ b/lld/ELF/LTO.cpp
+@@ -158,7 +158,7 @@
+ return Ret;
+ }
+
+-template void BitcodeCompiler::template add<ELF32LE>(BitcodeFile &);
+-template void BitcodeCompiler::template add<ELF32BE>(BitcodeFile &);
+-template void BitcodeCompiler::template add<ELF64LE>(BitcodeFile &);
+-template void BitcodeCompiler::template add<ELF64BE>(BitcodeFile &);
++template void BitcodeCompiler::add<ELF32LE>(BitcodeFile &);
++template void BitcodeCompiler::add<ELF32BE>(BitcodeFile &);
++template void BitcodeCompiler::add<ELF64LE>(BitcodeFile &);
++template void BitcodeCompiler::add<ELF64BE>(BitcodeFile &);
+--- a/lld/ELF/Symbols.cpp
++++ b/lld/ELF/Symbols.cpp
+@@ -343,45 +343,45 @@
+ template bool SymbolBody::hasThunk<ELF64LE>() const;
+ template bool SymbolBody::hasThunk<ELF64BE>() const;
+
+-template uint32_t SymbolBody::template getVA<ELF32LE>(uint32_t) const;
+-template uint32_t SymbolBody::template getVA<ELF32BE>(uint32_t) const;
+-template uint64_t SymbolBody::template getVA<ELF64LE>(uint64_t) const;
+-template uint64_t SymbolBody::template getVA<ELF64BE>(uint64_t) const;
+-
+-template uint32_t SymbolBody::template getGotVA<ELF32LE>() const;
+-template uint32_t SymbolBody::template getGotVA<ELF32BE>() const;
+-template uint64_t SymbolBody::template getGotVA<ELF64LE>() const;
+-template uint64_t SymbolBody::template getGotVA<ELF64BE>() const;
+-
+-template uint32_t SymbolBody::template getGotOffset<ELF32LE>() const;
+-template uint32_t SymbolBody::template getGotOffset<ELF32BE>() const;
+-template uint64_t SymbolBody::template getGotOffset<ELF64LE>() const;
+-template uint64_t SymbolBody::template getGotOffset<ELF64BE>() const;
+-
+-template uint32_t SymbolBody::template getGotPltVA<ELF32LE>() const;
+-template uint32_t SymbolBody::template getGotPltVA<ELF32BE>() const;
+-template uint64_t SymbolBody::template getGotPltVA<ELF64LE>() const;
+-template uint64_t SymbolBody::template getGotPltVA<ELF64BE>() const;
+-
+-template uint32_t SymbolBody::template getThunkVA<ELF32LE>() const;
+-template uint32_t SymbolBody::template getThunkVA<ELF32BE>() const;
+-template uint64_t SymbolBody::template getThunkVA<ELF64LE>() const;
+-template uint64_t SymbolBody::template getThunkVA<ELF64BE>() const;
+-
+-template uint32_t SymbolBody::template getGotPltOffset<ELF32LE>() const;
+-template uint32_t SymbolBody::template getGotPltOffset<ELF32BE>() const;
+-template uint64_t SymbolBody::template getGotPltOffset<ELF64LE>() const;
+-template uint64_t SymbolBody::template getGotPltOffset<ELF64BE>() const;
+-
+-template uint32_t SymbolBody::template getPltVA<ELF32LE>() const;
+-template uint32_t SymbolBody::template getPltVA<ELF32BE>() const;
+-template uint64_t SymbolBody::template getPltVA<ELF64LE>() const;
+-template uint64_t SymbolBody::template getPltVA<ELF64BE>() const;
+-
+-template uint32_t SymbolBody::template getSize<ELF32LE>() const;
+-template uint32_t SymbolBody::template getSize<ELF32BE>() const;
+-template uint64_t SymbolBody::template getSize<ELF64LE>() const;
+-template uint64_t SymbolBody::template getSize<ELF64BE>() const;
++template uint32_t SymbolBody::getVA<ELF32LE>(uint32_t) const;
++template uint32_t SymbolBody::getVA<ELF32BE>(uint32_t) const;
++template uint64_t SymbolBody::getVA<ELF64LE>(uint64_t) const;
++template uint64_t SymbolBody::getVA<ELF64BE>(uint64_t) const;
++
++template uint32_t SymbolBody::getGotVA<ELF32LE>() const;
++template uint32_t SymbolBody::getGotVA<ELF32BE>() const;
++template uint64_t SymbolBody::getGotVA<ELF64LE>() const;
++template uint64_t SymbolBody::getGotVA<ELF64BE>() const;
++
++template uint32_t SymbolBody::getGotOffset<ELF32LE>() const;
++template uint32_t SymbolBody::getGotOffset<ELF32BE>() const;
++template uint64_t SymbolBody::getGotOffset<ELF64LE>() const;
++template uint64_t SymbolBody::getGotOffset<ELF64BE>() const;
++
++template uint32_t SymbolBody::getGotPltVA<ELF32LE>() const;
++template uint32_t SymbolBody::getGotPltVA<ELF32BE>() const;
++template uint64_t SymbolBody::getGotPltVA<ELF64LE>() const;
++template uint64_t SymbolBody::getGotPltVA<ELF64BE>() const;
++
++template uint32_t SymbolBody::getThunkVA<ELF32LE>() const;
++template uint32_t SymbolBody::getThunkVA<ELF32BE>() const;
++template uint64_t SymbolBody::getThunkVA<ELF64LE>() const;
++template uint64_t SymbolBody::getThunkVA<ELF64BE>() const;
++
++template uint32_t SymbolBody::getGotPltOffset<ELF32LE>() const;
++template uint32_t SymbolBody::getGotPltOffset<ELF32BE>() const;
++template uint64_t SymbolBody::getGotPltOffset<ELF64LE>() const;
++template uint64_t SymbolBody::getGotPltOffset<ELF64BE>() const;
++
++template uint32_t SymbolBody::getPltVA<ELF32LE>() const;
++template uint32_t SymbolBody::getPltVA<ELF32BE>() const;
++template uint64_t SymbolBody::getPltVA<ELF64LE>() const;
++template uint64_t SymbolBody::getPltVA<ELF64BE>() const;
++
++template uint32_t SymbolBody::getSize<ELF32LE>() const;
++template uint32_t SymbolBody::getSize<ELF32BE>() const;
++template uint64_t SymbolBody::getSize<ELF64LE>() const;
++template uint64_t SymbolBody::getSize<ELF64BE>() const;
+
+ template class elf::Undefined<ELF32LE>;
+ template class elf::Undefined<ELF32BE>;
diff --git a/var/spack/repos/builtin/packages/llvm/llvm5-lld-ELF-Symbols.patch b/var/spack/repos/builtin/packages/llvm/llvm5-lld-ELF-Symbols.patch
new file mode 100644
index 0000000000..727647d3b8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/llvm5-lld-ELF-Symbols.patch
@@ -0,0 +1,33 @@
+# Fix lld templates: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230463
+--- a/lld/ELF/Symbols.cpp
++++ b/lld/ELF/Symbols.cpp
+@@ -383,17 +383,17 @@
+ return B.getName();
+ }
+
+-template uint32_t SymbolBody::template getSize<ELF32LE>() const;
+-template uint32_t SymbolBody::template getSize<ELF32BE>() const;
+-template uint64_t SymbolBody::template getSize<ELF64LE>() const;
+-template uint64_t SymbolBody::template getSize<ELF64BE>() const;
++template uint32_t SymbolBody::getSize<ELF32LE>() const;
++template uint32_t SymbolBody::getSize<ELF32BE>() const;
++template uint64_t SymbolBody::getSize<ELF64LE>() const;
++template uint64_t SymbolBody::getSize<ELF64BE>() const;
+
+-template bool DefinedRegular::template isMipsPIC<ELF32LE>() const;
+-template bool DefinedRegular::template isMipsPIC<ELF32BE>() const;
+-template bool DefinedRegular::template isMipsPIC<ELF64LE>() const;
+-template bool DefinedRegular::template isMipsPIC<ELF64BE>() const;
++template bool DefinedRegular::isMipsPIC<ELF32LE>() const;
++template bool DefinedRegular::isMipsPIC<ELF32BE>() const;
++template bool DefinedRegular::isMipsPIC<ELF64LE>() const;
++template bool DefinedRegular::isMipsPIC<ELF64BE>() const;
+
+-template uint32_t SharedSymbol::template getAlignment<ELF32LE>() const;
+-template uint32_t SharedSymbol::template getAlignment<ELF32BE>() const;
+-template uint32_t SharedSymbol::template getAlignment<ELF64LE>() const;
+-template uint32_t SharedSymbol::template getAlignment<ELF64BE>() const;
++template uint32_t SharedSymbol::getAlignment<ELF32LE>() const;
++template uint32_t SharedSymbol::getAlignment<ELF32BE>() const;
++template uint32_t SharedSymbol::getAlignment<ELF64LE>() const;
++template uint32_t SharedSymbol::getAlignment<ELF64BE>() const;
diff --git a/var/spack/repos/builtin/packages/llvm/llvm5-sanitizer-ustat.patch b/var/spack/repos/builtin/packages/llvm/llvm5-sanitizer-ustat.patch
new file mode 100644
index 0000000000..531a3c5d6d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/llvm5-sanitizer-ustat.patch
@@ -0,0 +1,25 @@
+# <sys/ustat.h> has been removed from glibc 2.28,
+# backport fix from llvm-6.0.1:
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -159,1 +159,0 @@
+-#include <sys/ustat.h>
+@@ -252,5 +252,17 @@
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+- unsigned struct_ustat_sz = sizeof(struct ustat);
++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++ // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++ || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++ || defined(__powerpc__) || defined(__s390__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+ unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+ unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
diff --git a/var/spack/repos/builtin/packages/llvm/missing-includes.patch b/var/spack/repos/builtin/packages/llvm/missing-includes.patch
new file mode 100644
index 0000000000..e88b8fcfde
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/missing-includes.patch
@@ -0,0 +1,23 @@
+# https://github.com/spack/spack/issues/24270 (This hunk is upstream since llvm-10)
+--- a/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
++++ b/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
+@@ -4,6 +4,8 @@
+ #include "llvm/Demangle/Compiler.h"
+ #include "llvm/Demangle/StringView.h"
+ #include <array>
++#include <cstdint>
++#include <string>
+
+ class OutputStream;
+
+# https://github.com/spack/spack/pull/27233
+--- a/llvm/utils/benchmark/src/benchmark_register.h
++++ b/llvm/utils/benchmark/src/benchmark_register.h
+@@ -2,6 +2,7 @@
+ #define BENCHMARK_REGISTER_H
+
+ #include <vector>
++#include <limits>
+
+ #include "check.h"
+
diff --git a/var/spack/repos/builtin/packages/llvm/no_cyclades.patch b/var/spack/repos/builtin/packages/llvm/no_cyclades.patch
new file mode 100644
index 0000000000..10f9d0796b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/no_cyclades.patch
@@ -0,0 +1,81 @@
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -370,15 +370,6 @@
+
+ #if SANITIZER_GLIBC
+ // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
+- _(CYGETDEFTHRESH, WRITE, sizeof(int));
+- _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+- _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
+- _(CYGETTHRESH, WRITE, sizeof(int));
+- _(CYGETTIMEOUT, WRITE, sizeof(int));
+- _(CYSETDEFTHRESH, NONE, 0);
+- _(CYSETDEFTIMEOUT, NONE, 0);
+- _(CYSETTHRESH, NONE, 0);
+- _(CYSETTIMEOUT, NONE, 0);
+ _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
+ _(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
+ _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+@@ -983,7 +983,6 @@
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+ extern unsigned struct_ax25_parms_struct_sz;
+-extern unsigned struct_cyclades_monitor_sz;
+ extern unsigned struct_input_keymap_entry_sz;
+ extern unsigned struct_ipx_config_data_sz;
+ extern unsigned struct_kbdiacrs_sz;
+@@ -1328,15 +1327,6 @@
+ #endif // SANITIZER_LINUX
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+-extern unsigned IOCTL_CYGETDEFTHRESH;
+-extern unsigned IOCTL_CYGETDEFTIMEOUT;
+-extern unsigned IOCTL_CYGETMON;
+-extern unsigned IOCTL_CYGETTHRESH;
+-extern unsigned IOCTL_CYGETTIMEOUT;
+-extern unsigned IOCTL_CYSETDEFTHRESH;
+-extern unsigned IOCTL_CYSETDEFTIMEOUT;
+-extern unsigned IOCTL_CYSETTHRESH;
+-extern unsigned IOCTL_CYSETTIMEOUT;
+ extern unsigned IOCTL_EQL_EMANCIPATE;
+ extern unsigned IOCTL_EQL_ENSLAVE;
+ extern unsigned IOCTL_EQL_GETMASTRCFG;
+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+@@ -143,7 +143,6 @@
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+ #include <linux/lp.h>
+@@ -460,7 +459,6 @@
+
+ #if SANITIZER_GLIBC
+ unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
+- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+ #if EV_VERSION > (0x010000)
+ unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
+ #else
+@@ -824,15 +822,6 @@
+ #endif // SANITIZER_LINUX
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+- unsigned IOCTL_CYGETMON = CYGETMON;
+- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
+- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
+- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
+- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
+- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
+- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
+ unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
+ unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
+ unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
diff --git a/var/spack/repos/builtin/packages/llvm/no_cyclades9.patch b/var/spack/repos/builtin/packages/llvm/no_cyclades9.patch
new file mode 100644
index 0000000000..7532865e6d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/no_cyclades9.patch
@@ -0,0 +1,42 @@
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+@@ -370,9 +370,0 @@
+- _(CYGETDEFTHRESH, WRITE, sizeof(int));
+- _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
+- _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
+- _(CYGETTHRESH, WRITE, sizeof(int));
+- _(CYGETTIMEOUT, WRITE, sizeof(int));
+- _(CYSETDEFTHRESH, NONE, 0);
+- _(CYSETDEFTIMEOUT, NONE, 0);
+- _(CYSETTHRESH, NONE, 0);
+- _(CYSETTIMEOUT, NONE, 0);
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+@@ -986,1 +986,0 @@
+- extern unsigned struct_cyclades_monitor_sz;
+@@ -1331,9 +1327,0 @@
+- extern unsigned IOCTL_CYGETDEFTHRESH;
+- extern unsigned IOCTL_CYGETDEFTIMEOUT;
+- extern unsigned IOCTL_CYGETMON;
+- extern unsigned IOCTL_CYGETTHRESH;
+- extern unsigned IOCTL_CYGETTIMEOUT;
+- extern unsigned IOCTL_CYSETDEFTHRESH;
+- extern unsigned IOCTL_CYSETDEFTIMEOUT;
+- extern unsigned IOCTL_CYSETTHRESH;
+- extern unsigned IOCTL_CYSETTIMEOUT;
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -143,1 +143,0 @@
+-#include <linux/cyclades.h>
+@@ -460,1 +459,0 @@
+- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
+@@ -824,9 +822,0 @@
+- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
+- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
+- unsigned IOCTL_CYGETMON = CYGETMON;
+- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
+- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
+- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
+- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
+- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
+- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index c5a88cd9fb..8d353b071b 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -2,12 +2,14 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
import os.path
import re
import sys
import llnl.util.tty as tty
+import spack.build_environment
import spack.util.executable
@@ -23,10 +25,12 @@ class Llvm(CMakePackage, CudaPackage):
url = "https://github.com/llvm/llvm-project/archive/llvmorg-7.1.0.tar.gz"
list_url = "https://releases.llvm.org/download.html"
git = "https://github.com/llvm/llvm-project"
- maintainers = ['trws', 'naromero77']
+ maintainers = ['trws', 'haampie']
tags = ['e4s']
+ generator = 'Ninja'
+
family = "compiler" # Used by lmod
# fmt: off
@@ -129,6 +133,11 @@ class Llvm(CMakePackage, CudaPackage):
"components in a single shared library",
)
variant(
+ "link_llvm_dylib",
+ default=False,
+ description="Link LLVM tools against the LLVM shared library",
+ )
+ variant(
"all_targets",
default=False,
description="Build all supported targets, default targets "
@@ -154,10 +163,15 @@ class Llvm(CMakePackage, CudaPackage):
description="Enable code-signing on macOS")
variant("python", default=False, description="Install python bindings")
+ variant('version_suffix', default='none', description="Add a symbol suffix")
+ variant('z3', default=False, description='Use Z3 for the clang static analyzer')
+
extends("python", when="+python")
# Build dependency
depends_on("cmake@3.4.3:", type="build")
+ depends_on('cmake@3.13.4:', type='build', when='@12:')
+ depends_on("ninja", type="build")
depends_on("python@2.7:2.8", when="@:4 ~python", type="build")
depends_on("python", when="@5: ~python", type="build")
depends_on("pkgconfig", type="build")
@@ -165,7 +179,7 @@ class Llvm(CMakePackage, CudaPackage):
# Universal dependency
depends_on("python@2.7:2.8", when="@:4+python")
depends_on("python", when="@5:+python")
- depends_on("z3", when="@9:")
+ depends_on('z3', when='@8:+clang+z3')
# openmp dependencies
depends_on("perl-data-dumper", type=("build"))
@@ -189,6 +203,7 @@ class Llvm(CMakePackage, CudaPackage):
depends_on("isl", when="@:3.6 +polly")
conflicts("+llvm_dylib", when="+shared_libs")
+ conflicts("+link_llvm_dylib", when="~llvm_dylib")
conflicts("+lldb", when="~clang")
conflicts("+libcxx", when="~clang")
conflicts("+internal_unwind", when="~clang")
@@ -197,11 +212,16 @@ class Llvm(CMakePackage, CudaPackage):
# Introduced in version 11 as a part of LLVM and not a separate package.
conflicts("+flang", when="@:10")
+ conflicts('~mlir', when='+flang', msg='Flang requires MLIR')
+
# Older LLVM do not build with newer compilers, and vice versa
- conflicts("%gcc@11:", when="@:7")
conflicts("%gcc@8:", when="@:5")
conflicts("%gcc@:5.0", when="@8:")
- conflicts("%apple-clang@13:", when="@:9")
+ # clang/lib: a lambda parameter cannot shadow an explicitly captured entity
+ conflicts("%clang@8:", when="@:4")
+
+ # When these versions are concretized, but not explicitly with +libcxx, these
+ # conflicts will enable clingo to set ~libcxx, making the build successful:
# libc++ of LLVM13, see https://libcxx.llvm.org/#platform-and-compiler-support
# @13 does not support %gcc@:10 https://bugs.llvm.org/show_bug.cgi?id=51359#c1
@@ -210,7 +230,15 @@ class Llvm(CMakePackage, CudaPackage):
# AppleClang 12 - latest stable release per Xcode release page
conflicts("%gcc@:10", when="@13:+libcxx")
conflicts("%clang@:10", when="@13:+libcxx")
- conflicts("%apple_clang@:11", when="@13:+libcxx")
+ conflicts("%apple-clang@:11", when="@13:+libcxx")
+
+ # libcxx-4 and compiler-rt-4 fail to build with "newer" clang and gcc versions:
+ conflicts('%gcc@7:', when='@:4+libcxx')
+ conflicts('%clang@6:', when='@:4+libcxx')
+ conflicts('%apple-clang@6:', when='@:4+libcxx')
+ conflicts('%gcc@7:', when='@:4+compiler-rt')
+ conflicts('%clang@6:', when='@:4+compiler-rt')
+ conflicts('%apple-clang@6:', when='@:4+compiler-rt')
# OMP TSAN exists in > 5.x
conflicts("+omp_tsan", when="@:5")
@@ -246,10 +274,22 @@ class Llvm(CMakePackage, CudaPackage):
# Github issue #4986
patch("llvm_gcc7.patch", when="@4.0.0:4.0.1+lldb %gcc@7.0:")
- # https://github.com/spack/spack/issues/24270
- patch('https://src.fedoraproject.org/rpms/llvm10/raw/7ce7ebd066955ea95ba2b491c41fbc6e4ee0643a/f/llvm10-gcc11.patch',
- sha256='958c64838c9d469be514eef195eca0f8c3ab069bc4b64a48fad59991c626bab8',
- when='@8:11 %gcc@11:')
+ # sys/ustat.h has been removed in favour of statfs from glibc-2.28. Use fixed sizes:
+ patch('llvm5-sanitizer-ustat.patch', when="@4:6+compiler-rt")
+
+ # Fix lld templates: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230463
+ patch('llvm4-lld-ELF-Symbols.patch', when="@4+lld%clang@6:")
+ patch('llvm5-lld-ELF-Symbols.patch', when="@5+lld%clang@7:")
+
+ # Fix missing std:size_t in 'llvm@4:5' when built with '%clang@7:'
+ patch('xray_buffer_queue-cstddef.patch', when="@4:5+compiler-rt%clang@7:")
+
+ # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
+ patch('sanitizer-ipc_perm_mode.patch', when="@5:7+compiler-rt%clang@11:")
+ patch('sanitizer-ipc_perm_mode.patch', when="@5:9+compiler-rt%gcc@9:")
+
+ # github.com/spack/spack/issues/24270: MicrosoftDemangle for %gcc@10: and %clang@13:
+ patch('missing-includes.patch', when='@8:9')
# Backport from llvm master + additional fix
# see https://bugs.llvm.org/show_bug.cgi?id=39696
@@ -276,6 +316,11 @@ class Llvm(CMakePackage, CudaPackage):
# Workaround for issue https://github.com/spack/spack/issues/18197
patch('llvm7_intel.patch', when='@7 %intel@18.0.2,19.0.4')
+ # Remove cyclades support to build against newer kernel headers
+ # https://reviews.llvm.org/D102059
+ patch('no_cyclades.patch', when='@10:12.0.0')
+ patch('no_cyclades9.patch', when='@6:9')
+
# The functions and attributes below implement external package
# detection for LLVM. See:
#
@@ -439,6 +484,17 @@ class Llvm(CMakePackage, CudaPackage):
return(None, flags, None)
return(flags, None, None)
+ def setup_build_environment(self, env):
+ """When using %clang, add only its ld.lld-$ver and/or ld.lld to our PATH"""
+ if self.compiler.name in ['clang', 'apple-clang']:
+ for lld in 'ld.lld-{0}'.format(self.compiler.version.version[0]), 'ld.lld':
+ bin = os.path.join(os.path.dirname(self.compiler.cc), lld)
+ sym = os.path.join(self.stage.path, 'ld.lld')
+ if os.path.exists(bin) and not os.path.exists(sym):
+ mkdirp(self.stage.path)
+ os.symlink(bin, sym)
+ env.prepend_path('PATH', self.stage.path)
+
def setup_run_environment(self, env):
if "+clang" in self.spec:
env.set("CC", join_path(self.spec.prefix.bin, "clang"))
@@ -465,6 +521,10 @@ class Llvm(CMakePackage, CudaPackage):
define("LIBOMP_HWLOC_INSTALL_DIR", spec["hwloc"].prefix),
]
+ version_suffix = spec.variants['version_suffix'].value
+ if version_suffix != 'none':
+ cmake_args.append(define('LLVM_VERSION_SUFFIX', version_suffix))
+
if python.version >= Version("3"):
cmake_args.append(define("Python3_EXECUTABLE", python.command.path))
else:
@@ -521,6 +581,13 @@ class Llvm(CMakePackage, CudaPackage):
else:
projects.append("openmp")
+ if self.spec.satisfies("@8"):
+ cmake_args.append(define('CLANG_ANALYZER_ENABLE_Z3_SOLVER',
+ self.spec.satisfies('@8+z3')))
+ if self.spec.satisfies("@9:"):
+ cmake_args.append(define('LLVM_ENABLE_Z3_SOLVER',
+ self.spec.satisfies('@9:+z3')))
+
if "+flang" in spec:
projects.append("flang")
if "+lldb" in spec:
@@ -540,9 +607,16 @@ class Llvm(CMakePackage, CudaPackage):
projects.append("polly")
cmake_args.append(define("LINK_POLLY_INTO_TOOLS", True))
- cmake_args.append(from_variant("BUILD_SHARED_LIBS", "shared_libs"))
- cmake_args.append(from_variant("LLVM_BUILD_LLVM_DYLIB", "llvm_dylib"))
- cmake_args.append(from_variant("LLVM_USE_SPLIT_DWARF", "split_dwarf"))
+ cmake_args.extend([
+ from_variant("BUILD_SHARED_LIBS", "shared_libs"),
+ from_variant("LLVM_BUILD_LLVM_DYLIB", "llvm_dylib"),
+ from_variant("LLVM_LINK_LLVM_DYLIB", "link_llvm_dylib"),
+ from_variant("LLVM_USE_SPLIT_DWARF", "split_dwarf"),
+ # By default on Linux, libc++.so is a ldscript. CMake fails to add
+ # CMAKE_INSTALL_RPATH to it, which fails. Statically link libc++abi.a
+ # into libc++.so, linking with -lc++ or -stdlib=libc++ is enough.
+ define('LIBCXX_ENABLE_STATIC_ABI_LIBRARY', True)
+ ])
if "+all_targets" not in spec: # all is default on cmake
@@ -581,12 +655,6 @@ class Llvm(CMakePackage, CudaPackage):
break
cmake_args.append(define("GCC_INSTALL_PREFIX", gcc_prefix))
- if spec.satisfies("@4.0.0:"):
- if spec.satisfies("platform=cray") or spec.satisfies(
- "platform=linux"
- ):
- cmake_args.append(define("CMAKE_BUILD_WITH_INSTALL_RPATH", "1"))
-
if self.spec.satisfies("~code_signing platform=darwin"):
cmake_args.append(define('LLDB_USE_SYSTEM_DEBUGSERVER', True))
@@ -599,43 +667,37 @@ class Llvm(CMakePackage, CudaPackage):
return cmake_args
- @run_before("build")
- def pre_install(self):
- with working_dir(self.build_directory):
- # When building shared libraries these need to be installed first
- make("install-LLVMTableGen")
- if self.spec.version >= Version("4.0.0"):
- # LLVMDemangle target was added in 4.0.0
- make("install-LLVMDemangle")
- make("install-LLVMSupport")
-
@run_after("install")
def post_install(self):
spec = self.spec
define = CMakePackage.define
# unnecessary if we build openmp via LLVM_ENABLE_RUNTIMES
- if "+cuda" in self.spec and "+omp_as_runtime" not in self.spec:
+ if "+cuda ~omp_as_runtime" in self.spec:
ompdir = "build-bootstrapped-omp"
+ prefix_paths = spack.build_environment.get_cmake_prefix_path(self)
+ prefix_paths.append(str(spec.prefix))
# rebuild libomptarget to get bytecode runtime library files
with working_dir(ompdir, create=True):
cmake_args = [
- self.stage.source_path + "/openmp",
+ '-G', 'Ninja',
+ define('CMAKE_BUILD_TYPE', spec.variants['build_type'].value),
define("CMAKE_C_COMPILER", spec.prefix.bin + "/clang"),
define("CMAKE_CXX_COMPILER", spec.prefix.bin + "/clang++"),
define("CMAKE_INSTALL_PREFIX", spec.prefix),
+ define('CMAKE_PREFIX_PATH', prefix_paths)
]
cmake_args.extend(self.cmake_args())
- cmake_args.append(define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB",
- True))
-
- # work around bad libelf detection in libomptarget
- cmake_args.append(define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
- spec["libelf"].prefix.include))
+ cmake_args.extend([
+ define("LIBOMPTARGET_NVPTX_ENABLE_BCLIB", True),
+ define("LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR",
+ spec["libelf"].prefix.include),
+ self.stage.source_path + "/openmp",
+ ])
cmake(*cmake_args)
- make()
- make("install")
+ ninja()
+ ninja("install")
if "+python" in self.spec:
install_tree("llvm/bindings/python", site_packages_dir)
diff --git a/var/spack/repos/builtin/packages/llvm/sanitizer-ipc_perm_mode.patch b/var/spack/repos/builtin/packages/llvm/sanitizer-ipc_perm_mode.patch
new file mode 100644
index 0000000000..8f91703a32
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/sanitizer-ipc_perm_mode.patch
@@ -0,0 +1,9 @@
+# ipc_perm.mode is not used and has changed from short to int over architecures
+# and versions. The last change was in glibc-2.31.
+# LLVM upstream decided to not check ipc_perm.mode below glibc-2.31,
+# because it is not actually used in the sanitizer:
+# github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
+--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -1143,1 +1143,0 @@
+-CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
diff --git a/var/spack/repos/builtin/packages/llvm/xray_buffer_queue-cstddef.patch b/var/spack/repos/builtin/packages/llvm/xray_buffer_queue-cstddef.patch
new file mode 100644
index 0000000000..b5ca841e3e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm/xray_buffer_queue-cstddef.patch
@@ -0,0 +1,5 @@
+# Fix missing std:size_t in 'llvm@4:5' for build with '%clang@7:'
+--- a/compiler-rt/lib/xray/xray_buffer_queue.h
++++ b/compiler-rt/lib/xray/xray_buffer_queue.h
+@@ -18,0 +18,1 @@
++#include <cstddef>
diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py
index 7b5ebb7468..21544be611 100644
--- a/var/spack/repos/builtin/packages/lmod/package.py
+++ b/var/spack/repos/builtin/packages/lmod/package.py
@@ -19,6 +19,7 @@ class Lmod(AutotoolsPackage):
homepage = 'https://www.tacc.utexas.edu/research-development/tacc-projects/lmod'
url = "https://github.com/TACC/Lmod/archive/8.5.6.tar.gz"
+ version('8.5.27', sha256='bec911ff6b20de7d38587d1f9c351f58ed7bdf10cb3938089c82944b5ee0ab0d')
version('8.5.6', sha256='1d1058ffa33a661994c1b2af4bfee4aa1539720cd5c13d61e18adbfb231bbe88')
version('8.3', sha256='c2c2e9e6b387b011ee617cb009a2199caac8bf200330cb8a065ceedee09e664a')
version('8.2.10', sha256='15676d82235faf5c755a747f0e318badb1a5c3ff1552fa8022c67ff083ee9e2f')
diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py
index c3b021d96f..4263fdc5da 100644
--- a/var/spack/repos/builtin/packages/lua/package.py
+++ b/var/spack/repos/builtin/packages/lua/package.py
@@ -63,10 +63,10 @@ class Lua(Package):
else:
target = 'linux'
make('INSTALL_TOP=%s' % prefix,
- 'MYLDFLAGS=-L%s -L%s' % (
- spec['readline'].prefix.lib,
- spec['ncurses'].prefix.lib),
- 'MYLIBS=-lncursesw -ltinfow',
+ 'MYLDFLAGS=' + ' '.join((
+ spec['readline'].libs.search_flags,
+ spec['ncurses'].libs.search_flags)),
+ 'MYLIBS=%s' % spec['ncurses'].libs.link_flags,
'CC=%s -std=gnu99 %s' % (spack_cc,
self.compiler.cc_pic_flag),
target)
diff --git a/var/spack/repos/builtin/packages/lvm2/package.py b/var/spack/repos/builtin/packages/lvm2/package.py
index 64d1f43f4b..c07de19114 100644
--- a/var/spack/repos/builtin/packages/lvm2/package.py
+++ b/var/spack/repos/builtin/packages/lvm2/package.py
@@ -18,8 +18,9 @@ class Lvm2(AutotoolsPackage, SourcewarePackage):
"""
homepage = "https://www.sourceware.org/lvm2"
- sourceware_mirror_path = "lvm2/LVM2.2.03.05.tgz"
+ sourceware_mirror_path = 'lvm2/LVM2.2.03.14.tgz'
+ version('2.03.14', sha256='4a63bc8a084a8ae3c7bc5e6530cac264139d218575c64416c8b99e3fe039a05c')
version('2.03.05', sha256='ca52815c999b20c6d25e3192f142f081b93d01f07b9d787e99664b169dba2700')
version('2.03.04', sha256='f151f36fc0039997d2d9369b607b9262568b1a268afe19fd1535807355402142')
version('2.03.03', sha256='cedefa63ec5ae1b62fedbfddfc30706c095be0fc7c6aaed6fd1c50bc8c840dde')
diff --git a/var/spack/repos/builtin/packages/madgraph5amc/package.py b/var/spack/repos/builtin/packages/madgraph5amc/package.py
index fcfcbc1f8e..8d5ef29444 100644
--- a/var/spack/repos/builtin/packages/madgraph5amc/package.py
+++ b/var/spack/repos/builtin/packages/madgraph5amc/package.py
@@ -90,6 +90,9 @@ class Madgraph5amc(Package):
make(parallel=False)
with working_dir(join_path('vendor', 'StdHEP')):
+ for m in ['mcfio/arch_mcfio', 'src/stdhep_arch']:
+ arch = FileFilter(m)
+ arch.filter('CC.*=.*', 'CC = {0}'.format(spack_cc))
make(parallel=False)
if '+atlas' in spec:
diff --git a/var/spack/repos/builtin/packages/maker/package.py b/var/spack/repos/builtin/packages/maker/package.py
index 1416e21916..eb5ba97412 100644
--- a/var/spack/repos/builtin/packages/maker/package.py
+++ b/var/spack/repos/builtin/packages/maker/package.py
@@ -49,6 +49,7 @@ class Maker(Package):
depends_on('perl', type=('build', 'run'))
depends_on('perl-module-build', type='build')
depends_on('perl-dbi', type=('build', 'run'))
+ depends_on('perl-dbd-mysql', type=('build', 'run'))
depends_on('perl-dbd-pg', type=('build', 'run'))
depends_on('perl-dbd-sqlite', type=('build', 'run'))
depends_on('perl-forks', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/mariadb-c-client/package.py b/var/spack/repos/builtin/packages/mariadb-c-client/package.py
index e6f2e0904b..0cc9690e86 100644
--- a/var/spack/repos/builtin/packages/mariadb-c-client/package.py
+++ b/var/spack/repos/builtin/packages/mariadb-c-client/package.py
@@ -57,6 +57,7 @@ class MariadbCClient(CMakePackage):
depends_on('pcre')
depends_on('openssl')
depends_on('zlib')
+ depends_on('krb5')
# patch needed for cmake-3.20
patch('https://github.com/mariadb-corporation/mariadb-connector-c/commit/242cab8c.patch',
diff --git a/var/spack/repos/builtin/packages/mbedtls/fix-dt-needed-shared-libs.patch b/var/spack/repos/builtin/packages/mbedtls/fix-dt-needed-shared-libs.patch
new file mode 100644
index 0000000000..f57d437825
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mbedtls/fix-dt-needed-shared-libs.patch
@@ -0,0 +1,75 @@
+From ae52fe2bd1016db816ec9a531fa1103f717c7441 Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <harmenstoppels@gmail.com>
+Date: Mon, 8 Nov 2021 15:41:49 +0100
+Subject: [PATCH] Fix DT_NEEDED
+
+---
+ library/Makefile | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/library/Makefile b/library/Makefile
+index 0ee6e4f36..b6604e69b 100644
+--- a/library/Makefile
++++ b/library/Makefile
+@@ -196,7 +196,7 @@ endif
+
+ libmbedtls.$(SOEXT_TLS): $(OBJS_TLS) libmbedx509.so
+ echo " LD $@"
+- $(CC) -shared -Wl,-soname,$@ -L. -lmbedcrypto -lmbedx509 $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
++ $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_TLS) -L. -lmbedx509 -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS)
+
+ libmbedtls.so: libmbedtls.$(SOEXT_TLS)
+ echo " LN $@ -> $<"
+@@ -204,11 +204,11 @@ libmbedtls.so: libmbedtls.$(SOEXT_TLS)
+
+ libmbedtls.dylib: $(OBJS_TLS) libmbedx509.dylib
+ echo " LD $@"
+- $(CC) -dynamiclib -L. -lmbedcrypto -lmbedx509 $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
++ $(CC) -dynamiclib -o $@ $(OBJS_TLS) -L. -lmbedx509 -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS)
+
+ libmbedtls.dll: $(OBJS_TLS) libmbedx509.dll
+ echo " LD $@"
+- $(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_TLS) -lws2_32 -lwinmm -lgdi32 -L. -lmbedcrypto -lmbedx509 -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
++ $(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_TLS) -lws2_32 -lwinmm -lgdi32 -L. -lmbedx509 -lmbedcrypto -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
+
+ # x509
+ libmbedx509.a: $(OBJS_X509)
+@@ -223,7 +223,7 @@ endif
+
+ libmbedx509.$(SOEXT_X509): $(OBJS_X509) libmbedcrypto.so
+ echo " LD $@"
+- $(CC) -shared -Wl,-soname,$@ -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
++ $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_X509) -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS)
+
+ libmbedx509.so: libmbedx509.$(SOEXT_X509)
+ echo " LN $@ -> $<"
+@@ -231,7 +231,7 @@ libmbedx509.so: libmbedx509.$(SOEXT_X509)
+
+ libmbedx509.dylib: $(OBJS_X509) libmbedcrypto.dylib
+ echo " LD $@"
+- $(CC) -dynamiclib -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
++ $(CC) -dynamiclib -o $@ $(OBJS_X509) -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS)
+
+ libmbedx509.dll: $(OBJS_X509) libmbedcrypto.dll
+ echo " LD $@"
+@@ -250,7 +250,7 @@ endif
+
+ libmbedcrypto.$(SOEXT_CRYPTO): $(OBJS_CRYPTO)
+ echo " LD $@"
+- $(CC) -shared -Wl,-soname,$@ $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
++ $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS_CRYPTO) $(LOCAL_LDFLAGS) $(LDFLAGS)
+
+ libmbedcrypto.so: libmbedcrypto.$(SOEXT_CRYPTO)
+ echo " LN $@ -> $<"
+@@ -258,7 +258,7 @@ libmbedcrypto.so: libmbedcrypto.$(SOEXT_CRYPTO)
+
+ libmbedcrypto.dylib: $(OBJS_CRYPTO)
+ echo " LD $@"
+- $(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
++ $(CC) -dynamiclib -o $@ $(OBJS_CRYPTO) $(LOCAL_LDFLAGS) $(LDFLAGS)
+
+ libmbedcrypto.dll: $(OBJS_CRYPTO)
+ echo " LD $@"
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py
index d09ec5b43f..e45ecb5460 100644
--- a/var/spack/repos/builtin/packages/mbedtls/package.py
+++ b/var/spack/repos/builtin/packages/mbedtls/package.py
@@ -15,10 +15,11 @@ class Mbedtls(MakefilePackage):
homepage = "https://tls.mbed.org"
url = "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.2.1.tar.gz"
- maintainers = ['mwkrentel']
+ maintainers = ['mwkrentel', 'haampie']
version('3.0.0', sha256='377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0')
version('2.27.0', sha256='4f6a43f06ded62aa20ef582436a39b65902e1126cbbe2fb17f394e9e9a552767')
+ version('2.24.0', sha256='b5a779b5f36d5fc4cba55faa410685f89128702423ad07b36c5665441a06a5f3')
version('2.16.11', sha256='51bb9685c4f4ff9255da5659ff346b89dcaf129e3ba0f3b2b0c48a1a7495e701')
version('2.16.9', sha256='b7ca99ee10551b5b13242b7effebefd2a5cc38c287e5f5be1267d51ee45effe3', deprecated=True)
version('2.16.7', sha256='4786b7d1676f5e4d248f3a7f2d28446876d64962634f060ff21b92c690cfbe86', deprecated=True)
@@ -42,6 +43,10 @@ class Mbedtls(MakefilePackage):
depends_on('python@3:', type='test', when='@3:')
depends_on('python@:2', type='test', when='@:2')
+ # See https://github.com/ARMmbed/mbedtls/pull/5126
+ # and the 2.x backport: https://github.com/ARMmbed/mbedtls/pull/5133
+ patch('fix-dt-needed-shared-libs.patch', when='@2.7:3.0.0')
+
build_type_to_flags = {
'Debug': '-O0 -g',
'Release': '-O3',
diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py
index d7bfb0df83..9710da837d 100644
--- a/var/spack/repos/builtin/packages/meep/package.py
+++ b/var/spack/repos/builtin/packages/meep/package.py
@@ -11,31 +11,50 @@ class Meep(AutotoolsPackage):
software package developed at MIT to model electromagnetic systems."""
homepage = "http://ab-initio.mit.edu/wiki/index.php/Meep"
- url = "http://ab-initio.mit.edu/meep/meep-1.3.tar.gz"
- list_url = "http://ab-initio.mit.edu/meep/old"
-
- version('1.3', sha256='564c1ff1b413a3487cf81048a45deabfdac4243a1a37ce743f4fcf0c055fd438')
- version('1.2.1', sha256='f1f0683e5688d231f7dd1863939677148fc27a6744c03510e030c85d6c518ea5')
- version('1.1.1', sha256='7a97b5555da1f9ea2ec6eed5c45bd97bcd6ddbd54bdfc181f46c696dffc169f2')
-
- variant('blas', default=True, description='Enable BLAS support')
- variant('lapack', default=True, description='Enable LAPACK support')
- variant('harminv', default=True, description='Enable Harminv support')
- variant('guile', default=True, description='Enable Guilde support')
- variant('libctl', default=True, description='Enable libctl support')
- variant('mpi', default=True, description='Enable MPI support')
- variant('hdf5', default=True, description='Enable HDF5 support')
- variant('gsl', default=True, description='Enable GSL support')
+ git = "https://github.com/NanoComp/meep.git"
+ url = "https://github.com/NanoComp/meep/archive/refs/tags/v1.21.0.tar.gz"
+
+ version('master', branch='master')
+
+ version('1.21.0', sha256='71911cd2f38b15bdafe9a27ad111f706f24717894d5f9b6f9f19c6c10a0d5896')
+ version('1.3', sha256='564c1ff1b413a3487cf81048a45deabfdac4243a1a37ce743f4fcf0c055fd438',
+ url='http://ab-initio.mit.edu/meep/meep-1.3.tar.gz')
+ version('1.2.1', sha256='f1f0683e5688d231f7dd1863939677148fc27a6744c03510e030c85d6c518ea5',
+ url='http://ab-initio.mit.edu/meep/meep-1.2.1.tar.gz')
+ version('1.1.1', sha256='7a97b5555da1f9ea2ec6eed5c45bd97bcd6ddbd54bdfc181f46c696dffc169f2',
+ url='http://ab-initio.mit.edu/meep/old/meep-1.1.1.tar.gz')
+
+ variant('blas', default=True, description='Enable BLAS support')
+ variant('lapack', default=True, description='Enable LAPACK support')
+ variant('harminv', default=True, description='Enable Harminv support')
+ variant('guile', default=True, description='Enable Guilde support')
+ variant('libctl', default=True, description='Enable libctl support')
+ variant('mpi', default=True, description='Enable MPI support')
+ variant('hdf5', default=True, description='Enable HDF5 support')
+ variant('gsl', default=True, description='Enable GSL support')
+ variant('python', default=True, description='Enable Python support')
+ variant('single', default=False, description='Enable Single Precision')
+
+ depends_on('autoconf', type='build', when='@1.21.0')
+ depends_on('automake', type='build', when='@1.21.0')
+ depends_on('libtool', type='build', when='@1.21.0')
depends_on('blas', when='+blas')
depends_on('lapack', when='+lapack')
depends_on('harminv', when='+harminv')
- depends_on('guile', when='+guile')
- depends_on('libctl@3.2:', when='+libctl')
+ depends_on('guile@:2', when='@:1.4+guile')
+ depends_on('guile@2:', when='@1.4:+guile')
+ depends_on('libctl@3.2', when='@:1.3+libctl')
+ depends_on('libctl@4:', when='+libctl')
depends_on('mpi', when='+mpi')
depends_on('hdf5~mpi', when='+hdf5~mpi')
depends_on('hdf5+mpi', when='+hdf5+mpi')
depends_on('gsl', when='+gsl')
+ with when('+python'):
+ depends_on('python')
+ depends_on('py-numpy')
+ depends_on('swig')
+ depends_on('py-mpi4py', when='+mpi')
def configure_args(self):
spec = self.spec
@@ -72,6 +91,18 @@ class Meep(AutotoolsPackage):
else:
config_args.append('--without-hdf5')
+ if '+python' in spec:
+ config_args.append('--with-python')
+ else:
+ config_args.append('--without-python')
+ config_args.append('--without-scheme')
+
+ if '+single' in spec:
+ config_args.append('--enable-single')
+
+ if spec.satisfies('@1.21.0:'):
+ config_args.append('--enable-maintainer-mode')
+
return config_args
def check(self):
diff --git a/var/spack/repos/builtin/packages/megahit/amd.patch b/var/spack/repos/builtin/packages/megahit/amd.patch
index 6f99f616b2..6f99f616b2 100755..100644
--- a/var/spack/repos/builtin/packages/megahit/amd.patch
+++ b/var/spack/repos/builtin/packages/megahit/amd.patch
diff --git a/var/spack/repos/builtin/packages/mercury/package.py b/var/spack/repos/builtin/packages/mercury/package.py
index e3a76d0ecf..efdc99a486 100644
--- a/var/spack/repos/builtin/packages/mercury/package.py
+++ b/var/spack/repos/builtin/packages/mercury/package.py
@@ -15,6 +15,7 @@ class Mercury(CMakePackage):
maintainers = ['soumagne']
tags = ['e4s']
version('master', branch='master', submodules=True)
+ version('2.1.0', sha256='9a58437161e9273b1b1c484d2f1a477a89eea9afe84575415025d47656f3761b')
version('2.0.1', sha256='335946d9620ac669643ffd9861a5fb3ee486834bab674b7779eaac9d6662e3fa')
version('2.0.0', sha256='9e80923712e25df56014309df70660e828dbeabbe5fcc82ee024bcc86e7eb6b7')
version('1.0.1', sha256='02febd56c401ef7afa250caf28d012b37dee842bfde7ee16fcd2f741b9cf25b3')
@@ -22,11 +23,11 @@ class Mercury(CMakePackage):
version('0.9.0', sha256='40868e141cac035213fe79400f8926823fb1f5a0651fd7027cbe162b063843ef')
variant('bmi', default=False, description='Use BMI plugin')
- variant('cci', default=False, description='Use CCI plugin')
variant('mpi', default=False, description='Use MPI plugin')
- variant('ofi', default=True, description='Use OFI libfabric plugin')
+ variant('ofi', default=True, when='@1.0.0:', description='Use OFI libfabric plugin')
# NOTE: the sm plugin does not require any package dependency.
variant('sm', default=True, description='Use shared-memory plugin')
+ variant('ucx', default=False, when='@2.1.0:', description='Use UCX plugin')
# NOTE: if boostsys is False, mercury will install its own copy
# of the preprocessor headers.
variant('boostsys', default=True,
@@ -36,7 +37,7 @@ class Mercury(CMakePackage):
# NOTE: the 'udreg' variant requires that the MPICH_GNI_NDREG_ENTRIES=1024
# environment variable be set at run time to avoid conflicts with
# Cray-MPICH if libfabric and MPI are used at the same time
- variant('udreg', default=False,
+ variant('udreg', default=False, when='@1.0.0:+ofi',
description='Enable udreg on supported Cray platforms')
variant('debug', default=False,
description='Enable Mercury to print debug output')
@@ -44,16 +45,16 @@ class Mercury(CMakePackage):
description='Checksum verify all request/response messages')
depends_on('cmake@2.8.12.2:', type='build')
- # depends_on('cci', when='+cci') # TODO: add CCI package
depends_on('bmi', when='+bmi')
depends_on('mpi', when='+mpi')
- depends_on('libfabric@1.5:', when='+ofi')
- depends_on('openpa@1.0.3:', when='%gcc@:4.8')
+ with when('+ofi'):
+ depends_on('libfabric@1.5:', when='@:2.0.1')
+ depends_on('libfabric@1.7:', when='@2.1.0:')
+ # openpa dependency is removed in 2.1.0
+ depends_on('openpa@1.0.3:', when='@:2.0.1%gcc@:4.8')
depends_on('boost@1.48:', when='+boostsys')
depends_on('boost', when='@:0.9') # internal boost headers were added in 1.0.0
-
- conflicts('+ofi', when='@:0.9') # libfabric support was added in 1.0.0
- conflicts('~ofi', when='+udreg') # udreg option is specific to OFI
+ depends_on('ucx+thread_multiple', when='+ucx')
# Fix CMake check_symbol_exists
# See https://github.com/mercury-hpc/mercury/issues/299
@@ -68,52 +69,63 @@ class Mercury(CMakePackage):
def cmake_args(self):
"""Populate cmake arguments for Mercury."""
spec = self.spec
- variant_bool = lambda feature: str(feature in spec)
+ define = self.define
+ define_from_variant = self.define_from_variant
parallel_tests = '+mpi' in spec and self.run_tests
cmake_args = [
- '-DBUILD_SHARED_LIBS:BOOL=%s' % variant_bool('+shared'),
- '-DBUILD_TESTING:BOOL=%s' % str(self.run_tests),
- '-DMERCURY_ENABLE_PARALLEL_TESTING:BOOL=%s' % str(parallel_tests),
- '-DMERCURY_USE_BOOST_PP:BOOL=ON',
- '-DMERCURY_USE_CHECKSUMS:BOOL=%s' % variant_bool('+checksum'),
- '-DMERCURY_USE_SYSTEM_MCHECKSUM:BOOL=OFF',
- '-DMERCURY_USE_XDR:BOOL=OFF',
- '-DNA_USE_BMI:BOOL=%s' % variant_bool('+bmi'),
- '-DNA_USE_CCI:BOOL=%s' % variant_bool('+cci'),
- '-DNA_USE_MPI:BOOL=%s' % variant_bool('+mpi'),
- '-DNA_USE_SM:BOOL=%s' % variant_bool('+sm'),
+ define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ define('BUILD_TESTING', self.run_tests),
+ define('MERCURY_USE_BOOST_PP', True),
+ define_from_variant('MERCURY_USE_CHECKSUMS', 'checksum'),
+ define('MERCURY_USE_SYSTEM_MCHECKSUM', False),
+ define('MERCURY_USE_XDR', False),
+ define_from_variant('NA_USE_BMI', 'bmi'),
+ define_from_variant('NA_USE_MPI', 'mpi'),
+ define_from_variant('NA_USE_SM', 'sm'),
]
+ if '@2.1.0:' in spec:
+ cmake_args.append(
+ define_from_variant('NA_USE_UCX', 'ucx')
+ )
+
if '@2.0.0:' in spec:
cmake_args.extend([
- '-DMERCURY_ENABLE_DEBUG:BOOL=%s' % variant_bool('+debug'),
+ define_from_variant('MERCURY_ENABLE_DEBUG', 'debug'),
+ define('MERCURY_TESTING_ENABLE_PARALLEL', parallel_tests),
])
# Previous versions of mercury had more extensive CMake options
if '@:1.0.1' in spec:
cmake_args.extend([
- '-DMERCURY_ENABLE_POST_LIMIT:BOOL=OFF',
- '-DMERCURY_ENABLE_VERBOSE_ERROR=%s' % variant_bool('+debug'),
- '-DMERCURY_USE_EAGER_BULK:BOOL=ON',
- '-DMERCURY_USE_SELF_FORWARD:BOOL=ON',
+ define('MERCURY_ENABLE_PARALLEL_TESTING', parallel_tests),
+ define('MERCURY_ENABLE_POST_LIMIT', False),
+ define_from_variant('MERCURY_ENABLE_VERBOSE_ERROR', 'debug'),
+ define('MERCURY_USE_EAGER_BULK', True),
+ define('MERCURY_USE_SELF_FORWARD', True),
])
if '@1.0.0:' in spec:
cmake_args.extend([
- '-DMERCURY_USE_SYSTEM_BOOST:BOOL=%s'
- % variant_bool('+boostsys'),
- '-DNA_USE_OFI:BOOL=%s' % variant_bool('+ofi'),
+ define_from_variant('MERCURY_USE_SYSTEM_BOOST', 'boostsys'),
+ define_from_variant('NA_USE_OFI', 'ofi'),
])
if '+ofi' in spec:
- cmake_args.append(
- '-DNA_OFI_GNI_USE_UDREG:BOOL=%s' % variant_bool('+udreg')
- )
+ ofi_fabrics = spec['libfabric'].variants['fabrics'].value
+ if 'gni' in ofi_fabrics:
+ cmake_args.append(
+ define_from_variant('NA_OFI_GNI_USE_UDREG', 'udreg')
+ )
if self.run_tests:
+ supported = ['sockets', 'tcp', 'verbs', 'psm2', 'gni']
+ ofi_test_fabrics = list(
+ filter(lambda x: x in supported, ofi_fabrics)
+ )
cmake_args.append(
- '-DNA_OFI_TESTING_PROTOCOL:STRING={0}'.format(
- ';'.join(spec['libfabric'].variants['fabrics'].value)
+ define('NA_OFI_TESTING_PROTOCOL', format(
+ ';'.join(ofi_test_fabrics))
)
)
diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py
index cd1dc46b36..7460269d40 100644
--- a/var/spack/repos/builtin/packages/mesa/package.py
+++ b/var/spack/repos/builtin/packages/mesa/package.py
@@ -19,6 +19,10 @@ class Mesa(MesonPackage):
url = "https://archive.mesa3d.org/mesa-20.2.1.tar.xz"
version('master', tag='master')
+ version('21.3.1', sha256='2b0dc2540cb192525741d00f706dbc4586349185dafc65729c7fda0800cc474d')
+ version('21.2.6', sha256='1e7e22d93c6e8859fa044b1121119d26b2e67e4184b92ebb81c66497dc80c954')
+ version('21.2.5', sha256='8e49585fb760d973723dab6435d0c86f7849b8305b1e6d99f475138d896bacbb')
+ version('21.2.4', sha256='fe6ede82d1ac02339da3c2ec1820a379641902fd351a52cc01153f76eff85b44')
version('21.2.3', sha256='7245284a159d2484770e1835a673e79e4322a9ddf43b17859668244946db7174')
version('21.2.1', sha256='2c65e6710b419b67456a48beefd0be827b32db416772e0e363d5f7d54dc01787')
version('21.0.3', sha256='565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b')
@@ -35,6 +39,7 @@ class Mesa(MesonPackage):
depends_on('gettext', type='build')
depends_on('python@3:', type='build')
depends_on('py-mako@0.8.0:', type='build')
+ depends_on('unwind')
depends_on('expat')
depends_on('zlib@1.2.3:')
@@ -169,9 +174,19 @@ class Mesa(MesonPackage):
args.append(opt_enable(num_frontends > 1, 'shared-glapi'))
if '+llvm' in spec:
+ # Fix builds on hosts where /usr/bin/llvm-config-* is found and provides an
+ # incompatible version. Ensure that the llvm-config of spec['llvm'] is used.
+ args.append('--native-file')
+ args.append('meson-native-config.ini')
+ mkdirp(self.build_directory)
+ with working_dir(self.build_directory):
+ with open('meson-native-config.ini', 'w') as native_config:
+ llvm_config = spec['llvm'].prefix.bin + '/llvm-config'
+ native_config.write('[binaries]\n')
+ native_config.write("llvm-config = '{0}'\n".format(llvm_config))
args.append('-Dllvm=enabled')
args.append(opt_enable(
- '+link_dylib' in spec['llvm'], 'shared-llvm'))
+ '+llvm_dylib' in spec['llvm'], 'shared-llvm'))
else:
args.append('-Dllvm=disabled')
diff --git a/var/spack/repos/builtin/packages/mesa18/package.py b/var/spack/repos/builtin/packages/mesa18/package.py
index b75ef64751..dbafa810d0 100644
--- a/var/spack/repos/builtin/packages/mesa18/package.py
+++ b/var/spack/repos/builtin/packages/mesa18/package.py
@@ -136,7 +136,7 @@ class Mesa18(AutotoolsPackage):
if '+llvm' in spec:
args.append('--enable-llvm')
args.append('--with-llvm-prefix=%s' % spec['llvm'].prefix)
- if '+link_dylib' in spec['llvm']:
+ if '+llvm_dylib' in spec['llvm']:
args.append('--enable-llvm-shared-libs')
else:
args.append('--disable-llvm-shared-libs')
diff --git a/var/spack/repos/builtin/packages/meshtool/package.py b/var/spack/repos/builtin/packages/meshtool/package.py
index 8e4bdc2ac8..6c6661bcaf 100644
--- a/var/spack/repos/builtin/packages/meshtool/package.py
+++ b/var/spack/repos/builtin/packages/meshtool/package.py
@@ -16,6 +16,7 @@ class Meshtool(MakefilePackage):
version('master', branch='master')
# Version to use with openCARP releases
+ version('oc8.2', commit='6c5cfbd067120901f15a04bf63beec409bda6dc9')
version('oc8.1', commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
version('oc7.0', commit="6c5cfbd067120901f15a04bf63beec409bda6dc9")
diff --git a/var/spack/repos/builtin/packages/mfem/mfem-4.3-cusparse-11.4.patch b/var/spack/repos/builtin/packages/mfem/mfem-4.3-cusparse-11.4.patch
new file mode 100644
index 0000000000..faec3c1523
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mfem/mfem-4.3-cusparse-11.4.patch
@@ -0,0 +1,80 @@
+diff --git a/linalg/sparsemat.cpp b/linalg/sparsemat.cpp
+index 12136e035..0be73cf7b 100644
+--- a/linalg/sparsemat.cpp
++++ b/linalg/sparsemat.cpp
+@@ -33,7 +33,12 @@ int SparseMatrix::SparseMatrixCount = 0;
+ cusparseHandle_t SparseMatrix::handle = nullptr;
+ size_t SparseMatrix::bufferSize = 0;
+ void * SparseMatrix::dBuffer = nullptr;
+-#endif
++# if CUSPARSE_VERSION >= 11400
++# define MFEM_CUSPARSE_ALG CUSPARSE_SPMV_CSR_ALG1
++# else
++# define MFEM_CUSPARSE_ALG CUSPARSE_CSRMV_ALG1
++# endif // CUSPARSE_VERSION >= 11400
++#endif // MFEM_USE_CUDA
+
+ void SparseMatrix::InitCuSparse()
+ {
+@@ -679,25 +684,16 @@ void SparseMatrix::AddMult(const Vector &x, Vector &y, const double a) const
+ cusparseCreateMatDescr(&matA_descr);
+ cusparseSetMatIndexBase(matA_descr, CUSPARSE_INDEX_BASE_ZERO);
+ cusparseSetMatType(matA_descr, CUSPARSE_MATRIX_TYPE_GENERAL);
+-
+ #endif
+-
+ initBuffers = true;
+ }
+ // Allocate kernel space. Buffer is shared between different sparsemats
+ size_t newBufferSize = 0;
+
+-#if CUDA_VERSION >= 11020
+- cusparseSpMV_bufferSize(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha,
+- matA_descr,
+- vecX_descr, &beta, vecY_descr, CUDA_R_64F,
+- CUSPARSE_SPMV_CSR_ALG1, &newBufferSize);
+-#elif CUDA_VERSION >= 10010
+ cusparseSpMV_bufferSize(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha,
+ matA_descr,
+ vecX_descr, &beta, vecY_descr, CUDA_R_64F,
+- CUSPARSE_CSRMV_ALG1, &newBufferSize);
+-#endif
++ MFEM_CUSPARSE_ALG, &newBufferSize);
+
+ // Check if we need to resize
+ if (newBufferSize > bufferSize)
+@@ -707,30 +703,22 @@ void SparseMatrix::AddMult(const Vector &x, Vector &y, const double a) const
+ CuMemAlloc(&dBuffer, bufferSize);
+ }
+
+-#if CUDA_VERSION >= 11020
+- // Update input/output vectors
+- cusparseDnVecSetValues(vecX_descr, const_cast<double *>(d_x));
+- cusparseDnVecSetValues(vecY_descr, d_y);
+-
+- // Y = alpha A * X + beta * Y
+- cusparseSpMV(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha, matA_descr,
+- vecX_descr, &beta, vecY_descr, CUDA_R_64F, CUSPARSE_SPMV_CSR_ALG1, dBuffer);
+-#elif CUDA_VERSION >= 10010
++#if CUDA_VERSION >= 10010
+ // Update input/output vectors
+ cusparseDnVecSetValues(vecX_descr, const_cast<double *>(d_x));
+ cusparseDnVecSetValues(vecY_descr, d_y);
+
+ // Y = alpha A * X + beta * Y
+ cusparseSpMV(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha, matA_descr,
+- vecX_descr, &beta, vecY_descr, CUDA_R_64F, CUSPARSE_CSRMV_ALG1, dBuffer);
++ vecX_descr, &beta, vecY_descr, CUDA_R_64F, MFEM_CUSPARSE_ALG, dBuffer);
+ #else
+ cusparseDcsrmv(handle, CUSPARSE_OPERATION_NON_TRANSPOSE,
+ Height(), Width(), J.Capacity(),
+ &alpha, matA_descr,
+ const_cast<double *>(d_A), const_cast<int *>(d_I), const_cast<int *>(d_J),
+ const_cast<double *>(d_x), &beta, d_y);
+-#endif
+-#endif
++#endif // CUDA_VERSION >= 10010
++#endif // MFEM_USE_CUDA
+ }
+ else
+ {
diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py
index 616db65488..29e08d86a8 100644
--- a/var/spack/repos/builtin/packages/mfem/package.py
+++ b/var/spack/repos/builtin/packages/mfem/package.py
@@ -189,6 +189,7 @@ class Mfem(Package, CudaPackage, ROCmPackage):
conflicts('+umpire', when='mfem@:4.0')
conflicts('+amgx', when='mfem@:4.1')
conflicts('+amgx', when='~cuda')
+ conflicts('+mpi~cuda ^hypre+cuda')
conflicts('+superlu-dist', when='~mpi')
conflicts('+strumpack', when='~mpi')
@@ -301,6 +302,7 @@ class Mfem(Package, CudaPackage, ROCmPackage):
patch('mfem-4.2-slepc.patch', when='@4.2.0+slepc')
patch('mfem-4.2-petsc-3.15.0.patch', when='@4.2.0+petsc ^petsc@3.15.0:')
patch('mfem-4.3-hypre-2.23.0.patch', when='@4.3.0')
+ patch('mfem-4.3-cusparse-11.4.patch', when='@4.3.0+cuda')
# Patch to fix MFEM makefile syntax error. See
# https://github.com/mfem/mfem/issues/1042 for the bug report and
diff --git a/var/spack/repos/builtin/packages/microsocks/package.py b/var/spack/repos/builtin/packages/microsocks/package.py
new file mode 100644
index 0000000000..16fd83dbc0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/microsocks/package.py
@@ -0,0 +1,31 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Microsocks(MakefilePackage):
+ """Microsocks is a multithreaded, small, efficient SOCKS5 server.
+ It is a SOCKS5 service that you can run on your remote boxes to
+ tunnel connections through them, if for some reason SSH doesn't
+ cut it for you."""
+
+ homepage = "https://github.com/rofl0r/microsocks"
+ url = "https://github.com/rofl0r/microsocks/archive/refs/tags/v1.0.2.tar.gz"
+ git = "https://github.com/rofl0r/microsocks.git"
+
+ maintainers = ["jcpunk"]
+
+ version("develop", branch="master")
+ version("1.0.2", sha256="5ece77c283e71f73b9530da46302fdb4f72a0ae139aa734c07fe532407a6211a")
+
+ def flag_handler(self, name, flags):
+ if name == "cflags":
+ flags.append(self.compiler.c99_flag)
+ return (flags, None, None)
+
+ @property
+ def install_targets(self):
+ return ["prefix={0}".format(self.prefix), "install"]
diff --git a/var/spack/repos/builtin/packages/modylas/gcc_format.patch b/var/spack/repos/builtin/packages/modylas/gcc_format.patch
index 086c4275aa..086c4275aa 100755..100644
--- a/var/spack/repos/builtin/packages/modylas/gcc_format.patch
+++ b/var/spack/repos/builtin/packages/modylas/gcc_format.patch
diff --git a/var/spack/repos/builtin/packages/modylas/makefile.patch b/var/spack/repos/builtin/packages/modylas/makefile.patch
index b308306ff5..b308306ff5 100755..100644
--- a/var/spack/repos/builtin/packages/modylas/makefile.patch
+++ b/var/spack/repos/builtin/packages/modylas/makefile.patch
diff --git a/var/spack/repos/builtin/packages/mpibind/package.py b/var/spack/repos/builtin/packages/mpibind/package.py
index d1bb6a77e9..86c0c79e6f 100644
--- a/var/spack/repos/builtin/packages/mpibind/package.py
+++ b/var/spack/repos/builtin/packages/mpibind/package.py
@@ -13,39 +13,48 @@ class Mpibind(AutotoolsPackage):
to heterogeneous architectures"""
homepage = "https://github.com/LLNL/mpibind"
- url = "https://github.com/LLNL/mpibind/archive/refs/tags/v0.5.0.tar.gz"
git = "https://github.com/LLNL/mpibind.git"
maintainers = ['eleon']
- # The build process uses 'git describe --tags' to get the
- # package version, thus we need 'get_full_repo'
- version('master', branch='master', get_full_repo=True)
- version('0.7.0', sha256='33077e7eb50322d2bcfe87bb3ea9159c2e49f6f045cbbcd2e69e763c3bec4330')
- version('0.5.0', sha256='51bb27341109aeef121a8630bd56f5551c70ebfd337a459fb70ef9015d97d2b7')
+ # This package uses 'git describe --tags' to get the
+ # package version in Autotools' AC_INIT, thus
+ # 'get_full_repo' is needed.
+ # Furthermore, the package can't be cached because
+ # AC_INIT would be missing the version argument,
+ # which is derived with git.
+ version('master', branch='master', get_full_repo=True)
+ version('0.8.0', commit='ff38b9d', no_cache=True)
+ version('0.7.0', commit='3c437a9', no_cache=True)
+ version('0.5.0', commit='8698f07', no_cache=True)
- variant('cuda', default=False,
+ variant('cuda', default=False,
description='Build w/support for NVIDIA GPUs.')
- variant('rocm', default=False,
+ variant('rocm', default=False,
description='Build w/support for AMD GPUs.')
- variant('flux', default=False,
+ variant('flux', default=False,
description='Build the Flux plugin.')
+ variant('python', default=False,
+ description='Build the Python bindings.')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
- depends_on('m4', type='build')
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
+ depends_on('m4', type='build')
depends_on('pkgconfig', type='build')
- depends_on('hwloc@2:+libxml2', type='link')
- depends_on('hwloc@2:+pci', when=(sys.platform != 'darwin'), type='link')
- depends_on('hwloc@2:+cuda+nvml', when='+cuda', type='link')
- depends_on('hwloc@2.4:+rocm+opencl', when='+rocm', type='link')
+ depends_on('hwloc@2:+libxml2', type='link')
+ depends_on('hwloc@2:+cuda+nvml', type='link', when='+cuda')
+ depends_on('hwloc@2.4:+rocm+opencl', type='link', when='+rocm')
+ depends_on('hwloc@2:+pci', type='link',
+ when=(sys.platform != 'darwin'))
- # Requiring @master temporarily while Flux adds
- # FLUX_SHELL_RC_PATH to a stable version (>0.29.0).
- # mpibind will require at least such version.
- depends_on('flux-core@master', when='+flux', type='link')
+ # flux-core >= 0.30.0 supports FLUX_SHELL_RC_PATH,
+ # which is needed to load the plugin into Flux
+ depends_on('flux-core@0.30:', when='+flux', type='link')
+
+ depends_on('python@3:', when='+python', type=('build', 'run'))
+ depends_on('py-cffi', when='+python', type=('build', 'run'))
def autoreconf(self, spec, prefix):
autoreconf('--install', '--verbose', '--force')
@@ -56,6 +65,8 @@ class Mpibind(AutotoolsPackage):
env.prepend_path('FLUX_SHELL_RC_PATH',
join_path(self.prefix, 'share', 'mpibind'))
- # To build and run the tests, make sure 'libtap' is installed
- # on the target system and is recognized by pkg-config.
- # Unfortunately, libtap is not in Spack.
+ # To build and run the C unit tests, make sure 'libtap'
+ # is installed and recognized by pkgconfig.
+ # To build and run the Python unit tests, make sure 'pycotap'
+ # is installed in your Python environment.
+ # Unfortunately, 'tap' and 'pycotap' are not in Spack.
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index cae3ea70af..16d2035959 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -81,6 +81,15 @@ spack package at this time.''',
description='Enable Argobots support')
variant('fortran', default=True, description='Enable Fortran support')
+ variant(
+ 'two_level_namespace',
+ default=False,
+ description='''Build shared libraries and programs
+built with the mpicc/mpifort/etc. compiler wrappers
+with '-Wl,-commons,use_dylibs' and without
+'-Wl,-flat_namespace'.'''
+ )
+
provides('mpi@:3.1')
provides('mpi@:3.0', when='@:3.1')
provides('mpi@:2.2', when='@:1.2')
@@ -475,6 +484,9 @@ spack package at this time.''',
config_args.append('--with-thread-package=argobots')
config_args.append('--with-argobots=' + spec['argobots'].prefix)
+ if '+two_level_namespace' in spec:
+ config_args.append('--enable-two-level-namespace')
+
return config_args
@run_after('install')
diff --git a/var/spack/repos/builtin/packages/mpitrampoline/package.py b/var/spack/repos/builtin/packages/mpitrampoline/package.py
index 374396432b..3071c64f78 100644
--- a/var/spack/repos/builtin/packages/mpitrampoline/package.py
+++ b/var/spack/repos/builtin/packages/mpitrampoline/package.py
@@ -17,6 +17,12 @@ class Mpitrampoline(CMakePackage):
maintainers = ['eschnett']
version('develop', branch='main')
+ version('2.8.0', sha256='bc2a075ced19e5f7ea547060e284887bdbb0761d34d1adb6f16d2e9e096a7d38')
+ version('2.7.0', sha256='b188657e41b240bba663ce5b3d7b73377a27a64edcc1e0aaa7c924cf00e30b42')
+ version('2.6.0', sha256='5425085f4b8772990b28a643b7dfc7ac37a399ee35ffa3d6113a06e5b508dfac')
+ version('2.5.0', sha256='26423749a6a45324062cbe82eb6934236b0c8ea17f9d5b594ed0c15ea8d0dbad')
+ version('2.4.0', sha256='e08785cf5b43c9913d890be44f6e7a551a83f34f389f6db9136db2379697fadd')
+ version('2.3.0', sha256='4559acb13d34b9a052752a9e0f928d31da54bfa7b05f31585bf6a66fadaceca4')
version('2.2.0', sha256='fa213a7ac03b4c54d5c9281192fb604747d4b5be4ce9b54b4c740f3da7a6aaea')
version('2.1.0', sha256='8794c07772ecc6d979ecf475653ae571a593d01ef2df51ccbc63c9f9d9c67856')
version('2.0.0', sha256='50d4483f73ea4a79a9b6d025d3abba42f76809cba3165367f4810fb8798264b6')
diff --git a/var/spack/repos/builtin/packages/mt-metis/non_x8664.patch b/var/spack/repos/builtin/packages/mt-metis/non_x8664.patch
index 8eb305e5c2..8eb305e5c2 100755..100644
--- a/var/spack/repos/builtin/packages/mt-metis/non_x8664.patch
+++ b/var/spack/repos/builtin/packages/mt-metis/non_x8664.patch
diff --git a/var/spack/repos/builtin/packages/mujoco/package.py b/var/spack/repos/builtin/packages/mujoco/package.py
new file mode 100644
index 0000000000..a29772b1f1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mujoco/package.py
@@ -0,0 +1,49 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import platform
+
+from spack import *
+
+
+class Mujoco(Package):
+ """MuJoCo is a physics engine that aims to facilitate research and
+ development in robotics, biomechanics, graphics and animation, and
+ other areas where fast and accurate simulation is needed. """
+
+ homepage = "https://mujoco.org/"
+
+ mujoco_releases = {
+ '2.1.0': {
+ 'Linux-x86_64': 'a436ca2f4144c38b837205635bbd60ffe1162d5b44c87df22232795978d7d012',
+ 'Darwin-x86_64': '50226f859d9d3742fa57e1a0a92d656197ec5786f75bfa50ae00eb80fae25e90',
+ }
+ }
+
+ for ver, packages in mujoco_releases.items():
+ key = "{0}-{1}".format(platform.system(), platform.machine())
+ pkg_sha256 = packages.get(key)
+ if pkg_sha256:
+ version(ver, sha256=pkg_sha256)
+
+ def url_for_version(self, version):
+
+ url = "https://mujoco.org/download/mujoco{0}-{1}-x86_64.tar.gz"
+
+ system_map = {
+ 'Linux': 'linux',
+ 'Darwin': 'macos',
+ }
+
+ return url.format(version.joined, system_map[platform.system()])
+
+ def install(self, spec, prefix):
+ copy_tree('.', prefix)
+
+ def setup_run_environment(self, env):
+ env.prepend_path('CPATH', prefix.include)
+ env.prepend_path('LD_LIBRARY_PATH', prefix.bin)
+ if platform.system() == 'Darwin':
+ env.prepend_path('DYLD_LIBRARY_PATH', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py
index 9b9346785e..957a4ba9dc 100644
--- a/var/spack/repos/builtin/packages/mumps/package.py
+++ b/var/spack/repos/builtin/packages/mumps/package.py
@@ -182,11 +182,14 @@ class Mumps(Package):
optf.append('-qfixed')
# As of version 5.2.0, MUMPS is able to take advantage
- # of the GEMMT BLAS extension. MKL is currently the only
+ # of the GEMMT BLAS extension. MKL and amdblis are the only
# known BLAS implementation supported.
if '@5.2.0: ^mkl' in self.spec:
optf.append('-DGEMMT_AVAILABLE')
+ if '@5.2.0: ^amdblis@3.0:' in self.spec:
+ optf.append('-DGEMMT_AVAILABLE')
+
if '+openmp' in self.spec:
optc.append(self.compiler.openmp_flag)
optf.append(self.compiler.openmp_flag)
@@ -360,7 +363,7 @@ class Mumps(Package):
@property
def libs(self):
- component_libs = ['*mumps*', 'pord']
+ component_libs = ['*mumps', 'mumps_common', 'pord']
return find_libraries(['lib' + comp for comp in component_libs],
root=self.prefix.lib,
shared=('+shared' in self.spec),
diff --git a/var/spack/repos/builtin/packages/muparserx/package.py b/var/spack/repos/builtin/packages/muparserx/package.py
new file mode 100644
index 0000000000..77997d7842
--- /dev/null
+++ b/var/spack/repos/builtin/packages/muparserx/package.py
@@ -0,0 +1,14 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class Muparserx(CMakePackage):
+ """A C++ Library for Parsing Expressions with Strings, Complex
+ Numbers, Vectors, Matrices and more. """
+
+ homepage = "https://beltoforion.de/en/muparserx/"
+ url = "https://github.com/beltoforion/muparserx/archive/refs/tags/v4.0.8.tar.gz"
+
+ version('4.0.8', sha256='5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1')
diff --git a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py
index 5b5820641c..5b5820641c 100755..100644
--- a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py
diff --git a/var/spack/repos/builtin/packages/mvapich2x/package.py b/var/spack/repos/builtin/packages/mvapich2x/package.py
index 3a75e3876e..3a75e3876e 100755..100644
--- a/var/spack/repos/builtin/packages/mvapich2x/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2x/package.py
diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py
index 5739579dcd..a1edc6fce6 100644
--- a/var/spack/repos/builtin/packages/nalu-wind/package.py
+++ b/var/spack/repos/builtin/packages/nalu-wind/package.py
@@ -52,16 +52,16 @@ class NaluWind(CMakePackage, CudaPackage):
depends_on('mpi')
depends_on('yaml-cpp@0.5.3:')
- depends_on('trilinos@master,develop ~cuda~wrapper+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+shards~hypre cxxstd=14', when='~cuda')
+ depends_on('trilinos@master,develop ~cuda~wrapper+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+shards~hypre', when='~cuda')
# Cannot build Trilinos as a shared library with STK on Darwin
# https://github.com/trilinos/Trilinos/issues/2994
- depends_on('trilinos@master,develop ~cuda~wrapper+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+shards~hypre~shared cxxstd=14', when=(sys.platform == 'darwin'))
+ depends_on('trilinos@master,develop ~cuda~wrapper+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+shards~hypre~shared', when=(sys.platform == 'darwin'))
depends_on('openfast@2.6.0 +cxx', when='+openfast')
depends_on('tioga@master,develop', when='+tioga')
depends_on('hypre@develop,2.18.2: ~int64+mpi~superlu-dist', when='+hypre')
depends_on('kokkos-nvcc-wrapper', type='build', when='+cuda')
for _arch in CudaPackage.cuda_arch_values:
- depends_on('trilinos@master,develop ~shared+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+shards~hypre+cuda+cuda_rdc+wrapper cxxstd=14 cuda_arch={0}'.format(_arch),
+ depends_on('trilinos@master,develop ~shared+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+shards~hypre+cuda+cuda_rdc+wrapper cuda_arch={0}'.format(_arch),
when='+cuda cuda_arch={0}'.format(_arch))
depends_on('hypre@develop +mpi+cuda~int64~superlu-dist cuda_arch={0}'.format(_arch),
when='+hypre+cuda cuda_arch={0}'.format(_arch))
diff --git a/var/spack/repos/builtin/packages/nalu/package.py b/var/spack/repos/builtin/packages/nalu/package.py
index f6973b8610..7b02767f43 100644
--- a/var/spack/repos/builtin/packages/nalu/package.py
+++ b/var/spack/repos/builtin/packages/nalu/package.py
@@ -35,7 +35,7 @@ class Nalu(CMakePackage):
# Cannot build Trilinos as a shared library with STK on Darwin
# which is why we have a 'shared' variant for Nalu
# https://github.com/trilinos/Trilinos/issues/2994
- depends_on('trilinos+mpi+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+shards~hypre@master')
+ depends_on('trilinos+mpi+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+shards~hypre@master')
depends_on('trilinos~shared', when='~shared')
# Optional dependencies
depends_on('tioga', when='+tioga+shared')
diff --git a/var/spack/repos/builtin/packages/namd/package.py b/var/spack/repos/builtin/packages/namd/package.py
index afd20ec847..9e930b2459 100644
--- a/var/spack/repos/builtin/packages/namd/package.py
+++ b/var/spack/repos/builtin/packages/namd/package.py
@@ -13,7 +13,7 @@ from spack import *
class Namd(MakefilePackage, CudaPackage):
- """NAMDis a parallel molecular dynamics code designed for
+ """NAMD is a parallel molecular dynamics code designed for
high-performance simulation of large biomolecular systems."""
homepage = "https://www.ks.uiuc.edu/Research/namd/"
diff --git a/var/spack/repos/builtin/packages/nccl/package.py b/var/spack/repos/builtin/packages/nccl/package.py
index ab578f0fd2..88bc6d2c46 100644
--- a/var/spack/repos/builtin/packages/nccl/package.py
+++ b/var/spack/repos/builtin/packages/nccl/package.py
@@ -14,6 +14,8 @@ class Nccl(MakefilePackage, CudaPackage):
maintainers = ['adamjstewart']
+ version('2.11.4-1', sha256='db4e9a0277a64f9a31ea9b5eea22e63f10faaed36dded4587bbc8a0d8eceed10')
+ version('2.10.3-1', sha256='55de166eb7dcab9ecef2629cdb5fb0c5ebec4fae03589c469ebe5dcb5716b3c5')
version('2.9.9-1', sha256='01629a1bdadbadb2828e26023ba7685bbc07678468cb7df63cc96460f5337e08')
version('2.9.8-1', sha256='f6e5d9c10e6e54ee21f9707d2df684083d0cccf87bd5a4dbc795803da2bc9f5a')
version('2.9.6-1', sha256='c4b1f5a88f03c0ac8f1dcbe27723cd75cfe051754078d83629efaaed10ce8731')
diff --git a/var/spack/repos/builtin/packages/ncio/package.py b/var/spack/repos/builtin/packages/ncio/package.py
index 9374b43e84..3c66401b99 100644
--- a/var/spack/repos/builtin/packages/ncio/package.py
+++ b/var/spack/repos/builtin/packages/ncio/package.py
@@ -21,3 +21,9 @@ class Ncio(CMakePackage):
depends_on('mpi')
depends_on('netcdf-fortran')
+
+ def setup_run_environment(self, env):
+ lib = find_libraries('libncio', root=self.prefix, shared=False, recursive=True)
+ env.set('NCIO_LIB', lib[0])
+ env.set('NCIO_INC', join_path(self.prefix, 'include'))
+ env.set('NCIO_LIBDIR', lib[0])
diff --git a/var/spack/repos/builtin/packages/ncl/package.py b/var/spack/repos/builtin/packages/ncl/package.py
index a4bd503d07..c4d7659cd4 100644
--- a/var/spack/repos/builtin/packages/ncl/package.py
+++ b/var/spack/repos/builtin/packages/ncl/package.py
@@ -56,6 +56,7 @@ class Ncl(Package):
depends_on('flex+lex')
depends_on('iconv')
depends_on('tcsh')
+ depends_on('makedepend', type='build')
# Also, the manual says that ncl requires zlib, but that comes as a
# mandatory dependency of libpng, which is a mandatory dependency of cairo.
@@ -71,6 +72,7 @@ class Ncl(Package):
depends_on('bzip2')
depends_on('freetype')
depends_on('fontconfig')
+ depends_on('zstd')
# In Spack, we do not have an option to compile netcdf-c without netcdf-4
# support, so we will tell the ncl configuration script that we want
@@ -160,8 +162,8 @@ class Ncl(Package):
f.writelines([
'#define HdfDefines\n',
'#define CppCommand \'/usr/bin/env cpp -traditional\'\n',
- '#define CCompiler cc\n',
- '#define FCompiler fc\n',
+ '#define CCompiler {0}\n'.format(spack_cc),
+ '#define FCompiler {0}\n'.format(spack_fc),
('#define CtoFLibraries ' + ' '.join(c2f_flags) + '\n'
if len(c2f_flags) > 0
else ''),
diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py
index e9b469647e..08b1bae47e 100644
--- a/var/spack/repos/builtin/packages/ncurses/package.py
+++ b/var/spack/repos/builtin/packages/ncurses/package.py
@@ -20,7 +20,7 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
# URL must remain http:// so Spack can bootstrap curl
gnu_mirror_path = "ncurses/ncurses-6.1.tar.gz"
- executables = [r'^ncursesw?\d*-config$']
+ executables = [r'^ncursesw?(?:\d+(?:\.\d+)*)?-config$']
version('6.2', sha256='30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d')
version('6.1', sha256='aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17')
@@ -101,7 +101,8 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
'--enable-overwrite',
'--without-ada',
'--enable-pc-files',
- '--with-pkg-config-libdir={0}/lib/pkgconfig'.format(self.prefix)
+ '--with-pkg-config-libdir={0}/lib/pkgconfig'.format(self.prefix),
+ '--disable-overwrite'
]
nwide_opts = ['--disable-widec',
@@ -148,14 +149,11 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage):
with working_dir('build_ncursesw'):
make('install')
- # fix for packages like hstr that use "#include <ncurses/ncurses.h>"
- headers = glob.glob(os.path.join(prefix.include, '*'))
- for p_dir in ['ncurses', 'ncursesw']:
- path = os.path.join(prefix.include, p_dir)
- if not os.path.exists(path):
- os.makedirs(path)
- for header in headers:
- install(header, path)
+ # fix for packages that use "#include <ncurses.h>" (use wide by default)
+ headers = glob.glob(os.path.join(prefix.include, 'ncursesw', '*.h'))
+ for header in headers:
+ h = os.path.basename(header)
+ os.symlink(os.path.join('ncursesw', h), os.path.join(prefix.include, h))
@property
def libs(self):
diff --git a/var/spack/repos/builtin/packages/nextflow/package.py b/var/spack/repos/builtin/packages/nextflow/package.py
index a3ca409c8f..cf62abcc34 100644
--- a/var/spack/repos/builtin/packages/nextflow/package.py
+++ b/var/spack/repos/builtin/packages/nextflow/package.py
@@ -14,6 +14,8 @@ class Nextflow(Package):
maintainers = ['dialvarezs']
+ version('21.10.1', sha256='05c8b9f3d2f5eded737fdd0a13b84e3bc442cc6355ba95e21118cb624f8176da', expand=False)
+ version('21.10.0', sha256='e938e53f43f0f00c8d5adf2dc104c4ce0c6d834aa84a4a3918ac8bec6eee6b9c', expand=False)
version('21.04.3', sha256='80c7ecd94b55da8eb0e17040dbd0c43ee80e252cd999374e16c00d54d3d3abf3', expand=False)
version('20.10.0', sha256='54f76c83cbabe8ec68d6a878dcf921e647284499f4ae917356e594d873cb78dd', expand=False)
version('20.07.1', sha256='de4db5747a801af645d9b021c7b36f4a25c3ce1a8fda7705a5f37e8f9357443a', expand=False)
diff --git a/var/spack/repos/builtin/packages/nnvm/cmake2.patch b/var/spack/repos/builtin/packages/nnvm/cmake2.patch
index 5536ca718f..5536ca718f 100755..100644
--- a/var/spack/repos/builtin/packages/nnvm/cmake2.patch
+++ b/var/spack/repos/builtin/packages/nnvm/cmake2.patch
diff --git a/var/spack/repos/builtin/packages/nsimd/package.py b/var/spack/repos/builtin/packages/nsimd/package.py
index 9e2f8e5ef6..3a18326cc9 100644
--- a/var/spack/repos/builtin/packages/nsimd/package.py
+++ b/var/spack/repos/builtin/packages/nsimd/package.py
@@ -66,6 +66,7 @@ class Nsimd(CMakePackage):
depends_on('cmake@2.8.7:', type='build')
depends_on('cmake@3.0.2:', type='build', when='@2:')
depends_on('python@3:', type='build')
+ depends_on('py-chardet', type='build', when='@3:')
depends_on('py-requests', type='build', when='@3:')
# Add a 'generate_code' phase in the beginning
diff --git a/var/spack/repos/builtin/packages/nspr/package.py b/var/spack/repos/builtin/packages/nspr/package.py
index 33b58f3b16..f8c6cc0f90 100644
--- a/var/spack/repos/builtin/packages/nspr/package.py
+++ b/var/spack/repos/builtin/packages/nspr/package.py
@@ -13,6 +13,7 @@ class Nspr(AutotoolsPackage):
homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions"
url = "https://ftp.mozilla.org/pub/nspr/releases/v4.13.1/src/nspr-4.13.1.tar.gz"
+ version('4.32', sha256='bb6bf4f534b9559cf123dcdc6f9cd8167de950314a90a88b2a329c16836e7f6c')
version('4.31', sha256='5729da87d5fbf1584b72840751e0c6f329b5d541850cacd1b61652c95015abc8')
version('4.13.1', sha256='5e4c1751339a76e7c772c0c04747488d7f8c98980b434dc846977e43117833ab')
diff --git a/var/spack/repos/builtin/packages/nss/package.py b/var/spack/repos/builtin/packages/nss/package.py
index 42292e1ed2..3f74c53b0c 100644
--- a/var/spack/repos/builtin/packages/nss/package.py
+++ b/var/spack/repos/builtin/packages/nss/package.py
@@ -16,7 +16,9 @@ class Nss(MakefilePackage):
homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
url = "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_67_RTM/src/nss-3.67.tar.gz"
- version('3.67', sha256='f6549a9148cd27b394b40c77fa73111d5ea23cdb51d796665de1b7458f88ce7f')
+ version('3.73', sha256='566d3a68da9b10d7da9ef84eb4fe182f8f04e20d85c55d1bf360bb2c0096d8e5')
+ # Everything before 3.73 is vulnerable (CVE-2021-43527)
+ version('3.67', sha256='f6549a9148cd27b394b40c77fa73111d5ea23cdb51d796665de1b7458f88ce7f', deprecated=True)
depends_on('nspr@4.24:')
depends_on('sqlite')
@@ -26,6 +28,11 @@ class Nss(MakefilePackage):
build_directory = 'nss'
+ def url_for_version(self, version):
+ url = 'https://ftp.mozilla.org/pub/security/nss/releases/NSS_{0}_RTM/src/nss-{1}.tar.gz'
+
+ return url.format(version.underscored, version)
+
@property
def build_targets(self):
# We cannot use nss_build_all because this will try to build nspr.
diff --git a/var/spack/repos/builtin/packages/ntl/package.py b/var/spack/repos/builtin/packages/ntl/package.py
new file mode 100644
index 0000000000..7313e1884d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ntl/package.py
@@ -0,0 +1,62 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Ntl(Package):
+ """
+ NTL -- a library for doing number theory
+
+ NTL is open-source software distributed under the terms of the GNU Lesser
+ General Public License (LGPL) version 2.1 or later. See the file
+ doc/copying.txt for complete details on the licensing of NTL.
+
+ Documentation is available in the file doc/tour.html, which can be viewed
+ with a web browser.
+
+ """
+
+ homepage = "https://libntl.org"
+ url = "https://github.com/libntl/ntl/archive/refs/tags/v11.5.1.tar.gz"
+
+ maintainers = ['wohlbier']
+
+ version('11.5.1', sha256='ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5')
+ version('11.5.0', sha256='9e1e6488b177c3e5d772fdd6279c890937a9d1c3b694a904ac1cfbe9cab836db')
+ version('11.4.4', sha256='2ce7a10fadbed6c3859d72c859612a4ca0dbdf6a9db99db4261422b7f0804bfa')
+
+ variant('shared', default=False, description='Build shared library.')
+
+ depends_on('gmp')
+
+ phases = ['configure', 'build', 'install']
+
+ def configure_args(self):
+ spec = self.spec
+ prefix = self.prefix
+
+ config_args = [
+ 'CXX={0}'.format(self.compiler.cxx),
+ 'DEF_PREFIX={0}'.format(prefix),
+ 'GMP_PREFIX={0}'.format(spec['gmp'].prefix) # gmp dependency
+ ]
+ if '+shared' in spec:
+ config_args.append('SHARED=on')
+
+ return config_args
+
+ def configure(self, spec, prefix):
+ with working_dir('src'):
+ configure = Executable('./configure')
+ configure(*self.configure_args())
+
+ def build(self, spec, prefix):
+ with working_dir('src'):
+ make()
+
+ def install(self, spec, prefix):
+ with working_dir('src'):
+ make('install')
diff --git a/var/spack/repos/builtin/packages/nvhpc/package.py b/var/spack/repos/builtin/packages/nvhpc/package.py
index dc5876f7eb..df715a9bce 100644
--- a/var/spack/repos/builtin/packages/nvhpc/package.py
+++ b/var/spack/repos/builtin/packages/nvhpc/package.py
@@ -22,6 +22,10 @@ from spack.util.prefix import Prefix
# - package key must be in the form '{os}-{arch}' where 'os' is in the
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
+ '21.11': {
+ 'Linux-aarch64': ('3b11bcd9cca862fabfce1e7bcaa2050ea12130c7e897f4e7859ba4c155d20720', 'https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_aarch64_cuda_multi.tar.gz'),
+ 'Linux-ppc64le': ('ac51ed92de4eb5e1bdb064ada5bbace5b89ac732ad6c6473778edfb8d29a6527', 'https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_ppc64le_cuda_multi.tar.gz'),
+ 'Linux-x86_64': ('d8d8ccd0e558d22bcddd955f2233219c96f7de56aa8e09e7be833e384d32d6aa', 'https://developer.download.nvidia.com/hpc-sdk/21.11/nvhpc_2021_2111_Linux_x86_64_cuda_multi.tar.gz')},
'21.9': {
'Linux-aarch64': ('52c2c66e30043add4afccedf0ba77daa0000bf42e0db844baa630bb635b91a7d', 'https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_aarch64_cuda_multi.tar.gz'),
'Linux-ppc64le': ('cff0b55fb782be1982bfeec1d9763b674ddbf84ff2c16b364495299266320289', 'https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_ppc64le_cuda_multi.tar.gz'),
diff --git a/var/spack/repos/builtin/packages/nwchem/package.py b/var/spack/repos/builtin/packages/nwchem/package.py
index 1ce1846834..02a18c4270 100644
--- a/var/spack/repos/builtin/packages/nwchem/package.py
+++ b/var/spack/repos/builtin/packages/nwchem/package.py
@@ -24,10 +24,14 @@ class Nwchem(Package):
version('6.8.1', sha256='fd20f9ca1b410270a815e77e052ec23552f828526cd252709f798f589b2a6431',
url='https://github.com/nwchemgit/nwchem/releases/download/6.8.1-release/nwchem-6.8.1-release.revision-v6.8-133-ge032219-srconly.2018-06-14.tar.bz2')
+ variant('openmp', default=False, description='Enables OpenMP support')
+ variant('mpipr', default=False, description='Enables ARMCI with progress rank')
+
depends_on('blas')
depends_on('lapack')
depends_on('mpi')
depends_on('scalapack')
+ depends_on('fftw-api')
depends_on('python@3:', when='@7:', type=('build', 'link', 'run'))
depends_on('python@2.7:2.8', when='@:6', type=('build', 'link', 'run'))
conflicts('%gcc@10:', when='@:6', msg='NWChem versions prior to 7.0.0 do not build with GCC 10')
@@ -36,6 +40,7 @@ class Nwchem(Package):
scalapack = spec['scalapack'].libs
lapack = spec['lapack'].libs
blas = spec['blas'].libs
+ fftw = spec['fftw-api'].libs
# see https://nwchemgit.github.io/Compiling-NWChem.html
args = []
args.extend([
@@ -45,14 +50,19 @@ class Nwchem(Package):
'CC=%s' % os.path.basename(spack_cc),
'FC=%s' % os.path.basename(spack_fc),
'USE_MPI=y',
+ 'USE_BLAS=y',
+ 'USE_FFTW3=y',
'PYTHONVERSION=%s' % spec['python'].version.up_to(2),
'BLASOPT=%s' % ((lapack + blas).ld_flags),
'BLAS_LIB=%s' % blas.ld_flags,
'LAPACK_LIB=%s' % lapack.ld_flags,
'SCALAPACK_LIB=%s' % scalapack.ld_flags,
+ 'FFTW3_LIB=%s' % fftw.ld_flags,
+ 'FFTW3_INCLUDE={0}'.format(spec['fftw-api'].prefix.include),
'NWCHEM_MODULES=all python',
'NWCHEM_LONG_PATHS=Y', # by default NWCHEM_TOP is 64 char max
- 'USE_NOIO=Y' # skip I/O algorithms
+ 'USE_NOIO=Y', # skip I/O algorithms
+ 'USE_NOFSCHECK=TRUE' # FSCHECK, caused problems like code crashes
])
if spec.version < Version('7.0.0'):
args.extend([
@@ -90,6 +100,12 @@ class Nwchem(Package):
args.extend(['NWCHEM_TARGET=%s' % target])
+ if '+openmp' in spec:
+ args.extend(['USE_OPENMP=y'])
+
+ if '+mpipr' in spec:
+ args.extend(['ARMCI_NETWORK=MPI-PR'])
+
with working_dir('src'):
make('nwchem_config', *args)
if use_32_bit_lin_alg:
diff --git a/var/spack/repos/builtin/packages/ocaml/fix-duplicate-defs.patch b/var/spack/repos/builtin/packages/ocaml/fix-duplicate-defs.patch
index bbbc283d6a..bbbc283d6a 100755..100644
--- a/var/spack/repos/builtin/packages/ocaml/fix-duplicate-defs.patch
+++ b/var/spack/repos/builtin/packages/ocaml/fix-duplicate-defs.patch
diff --git a/var/spack/repos/builtin/packages/octave/package.py b/var/spack/repos/builtin/packages/octave/package.py
index 172ec2af79..5b3885eedf 100644
--- a/var/spack/repos/builtin/packages/octave/package.py
+++ b/var/spack/repos/builtin/packages/octave/package.py
@@ -46,6 +46,7 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
# Variants
variant('readline', default=True)
+ variant('bz2', default=True)
variant('arpack', default=False)
variant('curl', default=False)
variant('fftw', default=False)
@@ -74,9 +75,11 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
depends_on('sed', when=sys.platform == 'darwin', type='build')
depends_on('pcre')
depends_on('pkgconfig', type='build')
+ depends_on('texinfo', type='build')
# Strongly recommended dependencies
depends_on('readline', when='+readline')
+ depends_on('bzip2', when='+bz2')
# Optional dependencies
depends_on('arpack-ng', when='+arpack')
@@ -181,6 +184,14 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
else:
config_args.append('--disable-readline')
+ if '+bz2' in spec:
+ config_args.extend([
+ "--with-bz2-includedir=%s" % spec['bzip2'].prefix.include,
+ "--with-bz2-libdir=%s" % spec['bzip2'].prefix.lib
+ ])
+ else:
+ config_args.append("--without-bz2")
+
# Optional dependencies
if '+arpack' in spec:
sa = spec['arpack-ng']
@@ -275,6 +286,8 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
else:
config_args.append("--without-qrupdate")
+ config_args += self.with_or_without("qscintilla")
+
if '+zlib' in spec:
config_args.extend([
"--with-z-includedir=%s" % spec['zlib'].prefix.include,
@@ -293,6 +306,9 @@ class Octave(AutotoolsPackage, GNUMirrorPackage):
if spec.satisfies('%fj'):
config_args.append('--enable-fortran-calling-convention=gfortran')
+ # Make sure we do not use qtchooser
+ config_args.append('ac_cv_prog_ac_ct_QTCHOOSER=')
+
return config_args
# ========================================================================
diff --git a/var/spack/repos/builtin/packages/oommf/package.py b/var/spack/repos/builtin/packages/oommf/package.py
new file mode 100644
index 0000000000..fa5de8b76d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/oommf/package.py
@@ -0,0 +1,295 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import os.path
+
+from spack import *
+from spack.util.executable import Executable
+
+
+class Oommf(Package):
+ """The Object Oriented MicroMagnetic Framework (OOMMF) is aimed at
+ developing portable, extensible public domain programs and tools for
+ micromagnetics.
+
+ The code forms a completely functional micromagnetics package, with
+ the additional capability to be extended by other programmers so that
+ people developing new code can build on the OOMMF foundation. OOMMF is
+ written in C++, a widely-available, object-oriented language that can
+ produce programs with good performance as well as extensibility. For
+ portable user interfaces, we make use of Tcl/Tk so that OOMMF operates
+ across a wide range of Unix, Windows, and Mac OS X platforms. The main
+ contributors to OOMMF are Mike Donahue, and Don Porter.
+
+ Summary taken from OOMMF documentation https://math.nist.gov/oommf/
+
+ OOMMF home page: "https://math.nist.gov/oommf/"
+
+ OOMMF as a git repository: https://github.com/fangohr/oommf
+
+ Versions ending with "-vanilla" indicate that the sources are taken
+ directly from https://math.nist.gov/oommf/dist/ . All other versions are
+ from the https://github.com/fangohr/oommf (which includes the "-vanilla"
+ sources, and adds additional OOMMF extensions). See
+ https://github.com/fangohr/oommf for details.
+ """
+
+ homepage = "https://math.nist.gov/oommf/"
+ # default URL for versions
+ url = "https://github.com/fangohr/oommf/archive/refs/tags/20a1_20180930_ext.tar.gz"
+
+ maintainers = ["fangohr"]
+
+ version(
+ "20a3_20210930",
+ sha256="880242afdf4c84de7f2a3c42ab0ad8c354028a7d2d3c3160980cf3e08e285691",
+ )
+
+ version(
+ "20a3_20210930-vanilla",
+ url="https://math.nist.gov/oommf/dist/oommf20a3_20210930.tar.gz",
+ sha256="a2a24c1452e66baf37fea67edbcbfb78d60c65a78c6b032a18a1de9f8bbebc92",
+ )
+
+ version(
+ "20a2_20200608",
+ sha256="a3113f2aca0b6249ee99b2f4874f31de601bd7af12498d84f28706b265fa50ab",
+ )
+
+ version(
+ "20a1_20180930_ext",
+ sha256="18bf9bd713c7ee6ced6d561ce742d17e0588ae24ef2e56647a5c8a7853e07a4c",
+ )
+
+ version(
+ "20a2_20200608-vanilla",
+ sha256="5c349de6e698b0c2c5390aa0598ea3052169438cdcc7e298068bc03abb9761c8",
+ url="https://math.nist.gov/oommf/dist/oommf20a2_20200608-hotfix.tar.gz",
+ )
+
+ # Deprecated versions have never been tested with spack
+ version(
+ "20a2_20190930-vanilla",
+ sha256="53b41ef30f76766239a1071d13081d8d7604a2ea59187ca4abef356ad1be4986",
+ url="https://math.nist.gov/oommf/dist/oommf20a2_20190930.tar.gz",
+ deprecated=True,
+ )
+
+ version(
+ "20a1_20180930",
+ deprecated=True,
+ sha256="c871e0dbb1522c3c1314af6c084b90cdbe69fd869b55ac94443851b74f818ed2",
+ )
+
+ version(
+ "20a0_20170929a0",
+ deprecated=True,
+ sha256="3439d1c9e95cc7395bc2e2330bba8cf198585d1b350251ea8561c1554ff8c7fd",
+ url="https://github.com/fangohr/oommf/archive/refs/tags/2.0a0_20170929a0.tar.gz",
+ )
+
+ version(
+ "12b0_20160930",
+ deprecated=True,
+ sha256="363006f549bb63a39564fafc18b52342a14c1c3769c214467a39f72a0c0be36b",
+ url="https://github.com/fangohr/oommf/archive/refs/tags/1.2b0_20160930b1.tar.gz",
+ )
+
+ depends_on("tk", type=("build", "link", "test", "run"))
+ depends_on("tcl", type=("build", "test", "run"))
+ depends_on("xproto", type=("build"))
+
+ # Compilation with clang does not work yet (gcc works fine, nothing else tested)
+ # (https://github.com/spack/spack/pull/26933#pullrequestreview-789754233)
+ conflicts("%clang")
+
+ phases = ["configure", "build", "install"]
+
+ # sanity checks: (https://spack.readthedocs.io/en/latest/packaging_guide.html#checking-an-installation)
+ sanity_check_is_file = [join_path("bin", "oommf.tcl")]
+ sanity_check_is_dir = ["usr/bin/oommf/app", "usr/bin/oommf/app/oxs/eamples"]
+
+ def get_oommf_source_root(self):
+ """If we download the source from NIST, then 'oommf.tcl' is in the root directory.
+ if we download from github, then it is in 'oommf/oommf.tcl'.
+
+ Here, we try to find the relative path to that file, and return it.
+ """
+ if "oommf.tcl" in os.listdir():
+ print(
+ "Found 'oommf.tcl' in " + os.getcwd() + " (looks like source from NIST)"
+ )
+ return "."
+ elif "oommf.tcl" in os.listdir("oommf"):
+ print(
+ "Found 'oommf.tcl' in "
+ + os.getcwd()
+ + "/oommf "
+ + "(looks like source from Github)"
+ )
+ return "oommf"
+ else:
+ raise ValueError("Cannot find 'oommf.tcl' in " + os.getcwd())
+
+ def get_oommf_path(self, prefix):
+ """Given the prefix, return the full path of the OOMMF installation
+ below `prefix`."""
+
+ oommfdir = os.path.join(prefix.usr.bin, "oommf")
+ return oommfdir
+
+ @property
+ def oommf_tcl_path(self):
+ return join_path(self.spec.prefix.bin, "oommf.tcl")
+
+ @property
+ def tclsh(self):
+ return Executable(join_path(self.spec["tcl"].prefix.bin, "tclsh"))
+
+ @property
+ def test_env(self):
+ """Create environment in which post-install tests can be run."""
+ # Make sure the correct OOMMF config.tcl is found.
+ # This environment variable (OOMMF_ROOT) seems not to be
+ # set at this point, so we have to set it manually for the test:
+ oommfdir = self.get_oommf_path(self.prefix)
+ test_env_ = {"OOMMF_ROOT": oommfdir}
+ return test_env_
+
+ def configure(self, spec, prefix):
+ # change into directory with source code
+ with working_dir(self.get_oommf_source_root()):
+
+ configure = Executable("./oommf.tcl pimake distclean")
+ configure()
+ configure2 = Executable("./oommf.tcl pimake upgrade")
+ configure2()
+
+ def build(self, spec, prefix):
+ with working_dir(self.get_oommf_source_root()):
+ make = Executable("./oommf.tcl pimake ")
+ make()
+
+ def install(self, spec, prefix):
+ # keep a copy of all the tcl files and everything oommf created.
+ # in OOMMF terminology, this is OOMMF_ROOT
+ # We are now using prefix/usr/bin/oommf for that location
+ # - is there a better place?
+ oommfdir = self.get_oommf_path(prefix)
+
+ with working_dir(self.get_oommf_source_root()):
+
+ install_tree(".", oommfdir)
+
+ # The one file that is used directly by the users should be
+ # available as the binary for the user:
+ install_files = ["oommf.tcl"]
+ mkdirp(prefix.bin)
+ for f in install_files:
+ install(os.path.join(oommfdir, f), prefix.bin)
+
+ def setup_run_environment(self, env):
+ # Set OOMMF_ROOT so that oommf.tcl can find its files.
+ oommfdir = self.get_oommf_path(self.prefix)
+ env.set("OOMMF_ROOT", oommfdir)
+
+ # set OOMMFTCL so ubermag / oommf can find oommf
+ env.set("OOMMFTCL", join_path(oommfdir, "oommf.tcl"))
+
+ def _check_install_oommf_command(self, oommf_args):
+ "Given a list of arguments for oommf.tcl, execute those."
+ print("Testing oommf.tcl with arguments: " + str(oommf_args))
+
+ test_env = self.test_env
+ # the "+platform" test needs the following environment variable:
+ if oommf_args == ["+platform"]:
+ test_env["PATH"] = os.environ["PATH"]
+
+ output = self.tclsh(
+ self.oommf_tcl_path,
+ *oommf_args,
+ output=str.split,
+ error=str.split,
+ env=test_env
+ )
+
+ print("output received from oommf is %s" % output)
+
+ @run_after("install")
+ def check_install_version(self):
+ self._check_install_oommf_command(["+version"])
+
+ @run_after("install")
+ def check_install_platform(self):
+ self._check_install_oommf_command(["+platform"])
+
+ @run_after("install")
+ def check_install_stdprob3(self):
+ oommf_examples = join_path(self.spec.prefix.usr.bin, "oommf/app/oxs/examples")
+ task = join_path(oommf_examples, "stdprob3.mif")
+ self._check_install_oommf_command(["boxsi", "+fg", "-kill", "all", task])
+
+ def test(self):
+ """Run these smoke tests when requested explicitly"""
+
+ # run "oommf +version"
+ spec = self.spec
+ exe = join_path(spec["tcl"].prefix.bin, "tclsh")
+ oommf_tcl_path = join_path(spec.prefix.bin, "oommf.tcl")
+ options = [oommf_tcl_path, "+version"]
+ purpose = "Check oommf.tcl can execute (+version)"
+ expected = ["info:"]
+
+ self.run_test(
+ exe,
+ options=options,
+ expected=expected,
+ status=[0],
+ installed=False,
+ purpose=purpose,
+ skip_missing=False,
+ work_dir=None,
+ )
+
+ # run "oommf +platform"
+ options = [oommf_tcl_path, "+platform"]
+ purpose = "Check oommf.tcl can execute (+platform)"
+ expected = [
+ "OOMMF threads",
+ "OOMMF release",
+ "OOMMF API index",
+ "Temp file directory",
+ ]
+ self.run_test(
+ exe,
+ options=options,
+ expected=expected,
+ status=[0],
+ installed=False,
+ purpose=purpose,
+ skip_missing=False,
+ work_dir=None,
+ )
+
+ # run standard problem 3 with oommf (about 30 seconds runtime)
+ purpose = "Testing oommf.tcl standard problem 3"
+ print(purpose)
+
+ oommf_examples = join_path(spec.prefix.usr.bin, "oommf/app/oxs/examples")
+ task = join_path(oommf_examples, "stdprob3.mif")
+
+ options = [oommf_tcl_path, "boxsi", "+fg", task, "-kill", "all"]
+
+ expected = ['End "stdprob3.mif"', "Mesh geometry: 32 x 32 x 32 = 32 768 cells"]
+ self.run_test(
+ exe,
+ options=options,
+ expected=expected,
+ status=[0],
+ installed=False,
+ purpose=purpose,
+ skip_missing=False,
+ work_dir=None,
+ )
diff --git a/var/spack/repos/builtin/packages/opa-psm2/package.py b/var/spack/repos/builtin/packages/opa-psm2/package.py
index 5a9044bbd0..3eb90f6168 100644
--- a/var/spack/repos/builtin/packages/opa-psm2/package.py
+++ b/var/spack/repos/builtin/packages/opa-psm2/package.py
@@ -12,6 +12,7 @@ class OpaPsm2(MakefilePackage):
homepage = "https://github.com/cornelisnetworks/opa-psm2"
url = "https://github.com/cornelisnetworks/opa-psm2/archive/PSM2_10.3-8.tar.gz"
+ version('11.2.206', sha256='08aa41f41bdb485ee037d3f7e32dd45e79858ce38e744d33b9db2af60e3c627a')
version('11.2.185', sha256='8c0446e989feb4a3822791e4a3687060916f7c4612d1e8e493879be66f10db09')
version('11.2.77', sha256='5cc33d1e19d871a5861efe0bb897526f404b4bf2b88ac58bb277db96ac5ecb54')
version('11.2.68', sha256='42e16a14fc8c90b50855dcea46af3315bee32fb1ae89d83060f9b2ebdce1ec26')
diff --git a/var/spack/repos/builtin/packages/open-iscsi/package.py b/var/spack/repos/builtin/packages/open-iscsi/package.py
index 89c902072e..29c30135bc 100644
--- a/var/spack/repos/builtin/packages/open-iscsi/package.py
+++ b/var/spack/repos/builtin/packages/open-iscsi/package.py
@@ -21,7 +21,7 @@ class OpenIscsi(MakefilePackage):
depends_on('gettext')
depends_on('uuid')
- depends_on('util-linux+libmount')
+ depends_on('util-linux')
depends_on('kmod')
depends_on('open-isns')
depends_on('libtool', type='build')
diff --git a/var/spack/repos/builtin/packages/open3d/package.py b/var/spack/repos/builtin/packages/open3d/package.py
new file mode 100644
index 0000000000..468f89d869
--- /dev/null
+++ b/var/spack/repos/builtin/packages/open3d/package.py
@@ -0,0 +1,113 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import os
+
+from spack import *
+
+
+class Open3d(CMakePackage, CudaPackage):
+ """Open3D: A Modern Library for 3D Data Processing."""
+
+ homepage = "http://www.open3d.org/"
+ url = "https://github.com/isl-org/Open3D/archive/refs/tags/v0.13.0.tar.gz"
+ git = "https://github.com/isl-org/Open3D.git"
+
+ version('0.13.0', tag='v0.13.0', submodules=True)
+
+ variant('python', default=False, description='Build the Python module')
+
+ # http://www.open3d.org/docs/latest/compilation.html
+
+ depends_on('cmake@3.19:', type='build')
+ # depends_on('eigen')
+ # depends_on('flann')
+ # depends_on('fmt')
+ # depends_on('glew')
+ # depends_on('glfw')
+ # depends_on('imgui')
+ # depends_on('jpeg')
+ # depends_on('liblzf')
+ # depends_on('libpng')
+ # depends_on('py-pybind11')
+ # depends_on('qhull')
+ # depends_on('tinygltf')
+ # depends_on('tinyobjloader')
+
+ extends('python', when='+python', type=('build', 'link', 'run'))
+ depends_on('python@3.6:', when='+python', type=('build', 'link', 'run'))
+ depends_on('py-pip', when='+python', type='build')
+ depends_on('py-setuptools@40.8:', when='+python', type='build')
+ depends_on('py-wheel@0.36:', when='+python', type='build')
+ depends_on('py-numpy@1.18:', when='+python', type=('build', 'run'))
+ depends_on('py-pytest', when='+python', type='test')
+ depends_on('cuda@10.1:', when='+cuda')
+
+ # C++14 compiler required
+ conflicts('%gcc@:4')
+ conflicts('%clang@:6')
+
+ def patch(self):
+ # Force Python libraries to be installed to self.prefix
+ filter_file('pip install', 'pip install --prefix ' + self.prefix,
+ os.path.join('cpp', 'pybind', 'make_install_pip_package.cmake'))
+
+ def cmake_args(self):
+ args = [
+ self.define('BUILD_UNIT_TESTS', self.run_tests),
+ self.define_from_variant('BUILD_PYTHON_MODULE', 'python'),
+ self.define_from_variant('BUILD_CUDA_MODULE', 'cuda'),
+ # Use Spack-installed dependencies instead of vendored dependencies
+ # Numerous issues with using externally installed dependencies:
+ # https://github.com/isl-org/Open3D/issues/4333
+ # https://github.com/isl-org/Open3D/issues/4360
+ # self.define('USE_SYSTEM_EIGEN3', True),
+ # self.define('USE_SYSTEM_FLANN', True),
+ # self.define('USE_SYSTEM_FMT', True),
+ # self.define('USE_SYSTEM_GLEW', True),
+ # self.define('USE_SYSTEM_GLFW', True),
+ # self.define('USE_SYSTEM_IMGUI', True),
+ # self.define('USE_SYSTEM_JPEG', True),
+ # self.define('USE_SYSTEM_LIBLZF', True),
+ # self.define('USE_SYSTEM_PNG', True),
+ # self.define('USE_SYSTEM_PYBIND11', True),
+ # self.define('USE_SYSTEM_QHULL', True),
+ # self.define('USE_SYSTEM_TINYGLTF', True),
+ # self.define('USE_SYSTEM_TINYOBJLOADER', True),
+ ]
+
+ if '+python' in self.spec:
+ args.append(
+ self.define('PYTHON_EXECUTABLE', self.spec['python'].command.path))
+
+ return args
+
+ def check(self):
+ with working_dir(self.build_directory):
+ tests = Executable(os.path.join('bin', 'tests'))
+ tests()
+
+ def install(self, spec, prefix):
+ with working_dir(self.build_directory):
+ make('install')
+ if '+python' in spec:
+ make('install-pip-package')
+
+ # Tests don't pass unless all optional features are compiled, including PyTorch
+ # @run_after('install')
+ # @on_package_attributes(run_tests=True)
+ # def unit_test(self):
+ # if '+python' in self.spec:
+ # pytest = which('pytest')
+ # pytest(os.path.join('python', 'test'))
+
+ @run_after('install')
+ @on_package_attributes(run_tests=True)
+ def test(self):
+ if '+python' in self.spec:
+ self.run_test(self.spec['python'].command.path,
+ ['-c', 'import open3d'],
+ purpose='checking import of open3d',
+ work_dir='spack-test')
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py
index 0c267eb931..5beb8ce6b1 100644
--- a/var/spack/repos/builtin/packages/openblas/package.py
+++ b/var/spack/repos/builtin/packages/openblas/package.py
@@ -49,6 +49,7 @@ class Openblas(MakefilePackage):
variant('shared', default=True, description='Build shared libraries')
variant('consistent_fpcsr', default=False, description='Synchronize FP CSR between threads (x86/x86_64 only)')
variant('bignuma', default=False, description='Enable experimental support for up to 1024 CPUs/Cores and 128 numa nodes')
+ variant('symbol_suffix', default='none', description='Set a symbol suffix')
variant('locking', default=True, description='Build with thread safety')
variant(
@@ -302,6 +303,10 @@ class Openblas(MakefilePackage):
if '+ilp64' in self.spec:
make_defs += ['INTERFACE64=1']
+ suffix = self.spec.variants['symbol_suffix'].value
+ if suffix != 'none':
+ make_defs += ['SYMBOLSUFFIX={0}'.format(suffix)]
+
# Synchronize floating-point control and status register (FPCSR)
# between threads (x86/x86_64 only).
if '+consistent_fpcsr' in self.spec:
@@ -339,6 +344,19 @@ class Openblas(MakefilePackage):
return find_headers(['cblas', 'lapacke'], self.prefix.include)
@property
+ def libs(self):
+ spec = self.spec
+
+ # Look for openblas{symbol_suffix}
+ name = 'libopenblas'
+ search_shared = bool(spec.variants['shared'].value)
+ suffix = spec.variants['symbol_suffix'].value
+ if suffix != 'none':
+ name += suffix
+
+ return find_libraries(name, spec.prefix, shared=search_shared, recursive=True)
+
+ @property
def build_targets(self):
targets = ['libs', 'netlib']
diff --git a/var/spack/repos/builtin/packages/opencarp/package.py b/var/spack/repos/builtin/packages/opencarp/package.py
index 0777ed24aa..5d277e945a 100644
--- a/var/spack/repos/builtin/packages/opencarp/package.py
+++ b/var/spack/repos/builtin/packages/opencarp/package.py
@@ -18,7 +18,8 @@ class Opencarp(CMakePackage):
maintainers = ['MarieHouillon']
- version('8.1', commit='28eb2e97', submodules=False, no_cache=True, preferred=True)
+ version('8.2', commit='dbfd16fd', submodules=False, no_cache=True, preferred=True)
+ version('8.1', commit='28eb2e97', submodules=False, no_cache=True)
version('7.0', commit='78da9195', submodules=False, no_cache=True)
version('master', branch='master', submodules=False, no_cache=True)
@@ -40,7 +41,7 @@ class Opencarp(CMakePackage):
depends_on('py-carputils')
depends_on('meshtool')
# Use specific versions of carputils and meshtool for releases
- for ver in ['7.0', '8.1']:
+ for ver in ['8.2', '7.0', '8.1']:
depends_on('py-carputils@oc' + ver, when='@' + ver + ' +carputils')
depends_on('meshtool@oc' + ver, when='@' + ver + ' +meshtool')
diff --git a/var/spack/repos/builtin/packages/opencascade/package.py b/var/spack/repos/builtin/packages/opencascade/package.py
index 3ac5888975..22f5a4b53a 100644
--- a/var/spack/repos/builtin/packages/opencascade/package.py
+++ b/var/spack/repos/builtin/packages/opencascade/package.py
@@ -18,6 +18,8 @@ class Opencascade(CMakePackage):
maintainers = ['wdconinc']
+ version('7.6.0', extension='tar.gz',
+ sha256='e7f989d52348c3b3acb7eb4ee001bb5c2eed5250cdcceaa6ae97edc294f2cabd')
version('7.5.3', extension='tar.gz',
sha256='cc3d3fd9f76526502c3d9025b651f45b034187430f231414c97dda756572410b')
version('7.5.2', extension='tar.gz',
diff --git a/var/spack/repos/builtin/packages/opencv/opencv3.2_cmake.patch b/var/spack/repos/builtin/packages/opencv/opencv3.2_cmake.patch
index c479fb450e..c479fb450e 100755..100644
--- a/var/spack/repos/builtin/packages/opencv/opencv3.2_cmake.patch
+++ b/var/spack/repos/builtin/packages/opencv/opencv3.2_cmake.patch
diff --git a/var/spack/repos/builtin/packages/opencv/opencv3.2_ffmpeg.patch b/var/spack/repos/builtin/packages/opencv/opencv3.2_ffmpeg.patch
index d7786308d8..d7786308d8 100755..100644
--- a/var/spack/repos/builtin/packages/opencv/opencv3.2_ffmpeg.patch
+++ b/var/spack/repos/builtin/packages/opencv/opencv3.2_ffmpeg.patch
diff --git a/var/spack/repos/builtin/packages/opencv/opencv3.2_python3.7.patch b/var/spack/repos/builtin/packages/opencv/opencv3.2_python3.7.patch
index d96011330d..d96011330d 100755..100644
--- a/var/spack/repos/builtin/packages/opencv/opencv3.2_python3.7.patch
+++ b/var/spack/repos/builtin/packages/opencv/opencv3.2_python3.7.patch
diff --git a/var/spack/repos/builtin/packages/opencv/opencv3.2_regacyvtk.patch b/var/spack/repos/builtin/packages/opencv/opencv3.2_regacyvtk.patch
index f5341c62fa..f5341c62fa 100755..100644
--- a/var/spack/repos/builtin/packages/opencv/opencv3.2_regacyvtk.patch
+++ b/var/spack/repos/builtin/packages/opencv/opencv3.2_regacyvtk.patch
diff --git a/var/spack/repos/builtin/packages/opencv/opencv3.2_vtk.patch b/var/spack/repos/builtin/packages/opencv/opencv3.2_vtk.patch
index e5eecd7092..e5eecd7092 100755..100644
--- a/var/spack/repos/builtin/packages/opencv/opencv3.2_vtk.patch
+++ b/var/spack/repos/builtin/packages/opencv/opencv3.2_vtk.patch
diff --git a/var/spack/repos/builtin/packages/openfoam/package.py b/var/spack/repos/builtin/packages/openfoam/package.py
index 146b8a838b..3c054b73d1 100644
--- a/var/spack/repos/builtin/packages/openfoam/package.py
+++ b/var/spack/repos/builtin/packages/openfoam/package.py
@@ -265,6 +265,8 @@ class Openfoam(Package):
version('develop', branch='develop', submodules='True')
version('master', branch='master', submodules='True')
+ version('2112', sha256='3e838731e79db1c288acc27aad8cc8a43d9dac1f24e5773e3b9fa91419a8c3f7')
+ version('2106_211215', sha256='08c0d0b90b43505693ff8838e827f09e14ec9fb475956ef53cc2206c736277b1')
version('2106', sha256='11e41e5b9a253ef592a8f6b79f6aded623b28308192d02cec1327078523b5a37')
version('2012_210414', sha256='5260aaa79f91aad58a3a305c1a12d0d48b10f12e37cd99a6fa561969b15ea09d')
version('2012', sha256='3d6e39e39e7ae61d321fbc6db6c3748e6e5e1c4886454207a7f1a7321469e65a')
@@ -559,6 +561,18 @@ class Openfoam(Package):
filter_file(r'trapFpe\s+\d+\s*;', 'trapFpe 0;',
controlDict, backup=False)
+ @when('@:2106 %aocc@3.2.0:')
+ @run_before('configure')
+ def make_amd_rules(self):
+ """Due to the change in the linker behavior in AOCC v3.2, it is now
+ issuing diagnostic messages for the unreferenced symbols in the
+ shared objects as it may lead to run time failures.
+ """
+ general_rules = 'wmake/rules/General'
+ src = join_path(general_rules, 'Clang')
+ filter_file('clang++', spack_cxx + ' -pthread', join_path(src, 'c++'),
+ backup=False, string=True)
+
@when('@1812: %fj')
@run_before('configure')
def make_fujitsu_rules(self):
@@ -932,8 +946,7 @@ class OpenfoamArch(object):
elif target == 'ppc64le':
platform += 'PPC64le'
elif platform == 'darwin':
- if target == 'x86_64':
- platform += '64'
+ platform += '64' # aarch64 or x86_64
# ... and others?
self.arch = platform
diff --git a/var/spack/repos/builtin/packages/openjpeg/package.py b/var/spack/repos/builtin/packages/openjpeg/package.py
index a6b628f3f1..1a6b81359e 100644
--- a/var/spack/repos/builtin/packages/openjpeg/package.py
+++ b/var/spack/repos/builtin/packages/openjpeg/package.py
@@ -31,7 +31,12 @@ class Openjpeg(CMakePackage):
version('1.5.2', sha256='3734e95edd0bef6e056815591755efd822228dc3cd866894e00a2c929026b16d')
version('1.5.1', sha256='6a42fcc23cb179f69a1e94429089e5a5926aee1ffe582a0a6bd91299d297e61a')
- depends_on('zlib')
+ variant('codec', default=False, description='Build the CODEC executables')
+
+ depends_on('zlib', when='+codec')
+ depends_on('libpng', when='+codec')
+ depends_on('libtiff', when='+codec')
+ depends_on('lcms', when='+codec')
# The problem with install name of the library on MacOs was fixed starting
# version 2.1.1: https://github.com/uclouvain/openjpeg/commit/b9a247b559e62e55f5561624cf4a19aee3c8afdc
@@ -56,3 +61,18 @@ class Openjpeg(CMakePackage):
def libs(self):
return find_libraries('libopenjp{0}'.format(self.version.up_to(1)),
root=self.prefix, recursive=True)
+
+ def cmake_args(self):
+ args = [
+ self.define_from_variant('BUILD_CODEC', 'codec'),
+ # MJ2 executables are disabled by default and we just make it
+ # explicit. Note that the executables require additional libraries
+ # as in the case '+codec', therefore, we will need to update the
+ # 'depends_on' directives when/if we introduce a variant that
+ # enables them.
+ self.define('BUILD_MJ2', False),
+ # Note that if the list of dependencies is incomplete, there is
+ # still a chance that the bundled third-party libraries get built.
+ self.define('BUILD_THIRDPARTY', False)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/openldap/package.py b/var/spack/repos/builtin/packages/openldap/package.py
index 7591a3d4b6..91c9d70ad8 100644
--- a/var/spack/repos/builtin/packages/openldap/package.py
+++ b/var/spack/repos/builtin/packages/openldap/package.py
@@ -17,8 +17,9 @@ class Openldap(AutotoolsPackage):
"""
homepage = "https://www.openldap.org/"
- url = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.48.tgz"
+ url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.0.tgz"
+ version('2.6.0', sha256='b71c580eac573e9aba15d95f33dd4dd08f2ed4f0d7fc09e08ad4be7ed1e41a4f')
version('2.4.49', sha256='e3b117944b4180f23befe87d0dcf47f29de775befbc469dcf4ac3dab3311e56e')
version('2.4.48', sha256='d9523ffcab5cd14b709fcf3cb4d04e8bc76bb8970113255f372bc74954c6074d')
@@ -30,61 +31,73 @@ class Openldap(AutotoolsPackage):
values=('gnutls', 'openssl'), multi=False)
variant('perl', default=False, description='Perl backend to Slapd')
+ variant('sasl', default=True, description='Build with Cyrus SASL support')
+ variant('static', default=False, description='Build static libraries')
+ variant('shared', default=True, description='Build shared libraries')
+ variant('dynamic', default=True, description='Enable linking built binaries with dynamic libs')
+ variant('wt', default=False, description='Enable WiredTiger backend', when='@2.5.0:')
+ conflicts('~static', when='~shared')
depends_on('icu4c', when='+icu')
depends_on('gnutls', when='~client_only tls=gnutls')
depends_on('openssl', when='~client_only tls=openssl')
+ depends_on('openssl@1.1.1:', when='~client_only tls=openssl @2.6.0:')
depends_on('unixodbc', when='~client_only')
depends_on('postgresql', when='~client_only')
depends_on('berkeley-db', when='~client_only') # for slapd
# Recommended dependencies by Linux From Scratch
- # depends_on('cyrus-sasl', when='~client_only') # not avail. in spack yet
+ depends_on('cyrus-sasl', when='+sasl')
# depends_on('openslp', when='~client_only') # not avail. in spack yet
# depends_on('Pth', when='~client_only') # not avail. in spack yet
depends_on('perl', when='~client_only+perl') # for slapd
+ depends_on('groff', type='build')
+ depends_on('pkgconfig', type='build')
+ depends_on('wiredtiger', when='@2.6.0:')
# Ref: https://www.linuxfromscratch.org/blfs/view/svn/server/openldap.html
@when('+client_only')
def configure_args(self):
- return ['CPPFLAGS=-D_GNU_SOURCE',
- '--enable-static',
- '--enable-dynamic',
+ args = ['CPPFLAGS=-D_GNU_SOURCE',
'--disable-debug',
'--disable-slapd',
]
+ args += self.with_or_without('cyrus-sasl', variant='sasl')
+ args += self.enable_or_disable('static')
+ args += self.enable_or_disable('shared')
+ args += self.enable_or_disable('dynamic')
+ return args
@when('~client_only')
def configure_args(self):
# Ref: https://www.openldap.org/lists/openldap-technical/201009/msg00304.html
args = ['CPPFLAGS=-D_GNU_SOURCE', # fixes a build error, see Ref above
- '--enable-static',
'--disable-debug',
- '--with-cyrus-sasl',
- '--enable-dynamic',
'--enable-crypt',
'--enable-spasswd',
'--enable-slapd',
'--enable-modules',
'--enable-rlookups',
'--enable-backends=mod',
- '--disable-ndb',
'--disable-sql',
- '--disable-shell',
- '--disable-bdb',
- '--disable-hdb',
'--enable-overlays=mod',
]
- if '~client_only' in self.spec:
- if 'tls=gnutls' in self.spec:
- args.append('--with-tls=gnutls')
- if 'tls=openssl' in self.spec:
- args.append('--with-tls=openssl')
+ if self.spec.satisfies('@:2.5'):
+ args.extend(('--disable-ndb', '--disable-shell', '--disable-bdb',
+ '--disable-hdb'))
+
+ args += self.enable_or_disable('static')
+ args += self.enable_or_disable('shared')
+ args += self.enable_or_disable('dynamic')
+ args += self.with_or_without('cyrus-sasl', variant='sasl')
+ args.append('--with-tls=' + self.spec.variants['tls'].value)
+ if self.spec.satisfies('@2.6.0: tls=gnutls'):
+ args += ['--disable-autoca']
+
+ if self.spec.satisfies('@2.5.0:'):
+ args += self.enable_or_disable('wt')
- if '+perl' in self.spec:
- args.append('--enable-perl')
- else:
- args.append('--disable-perl')
+ args += self.enable_or_disable('perl')
return args
diff --git a/var/spack/repos/builtin/packages/openlibm/package.py b/var/spack/repos/builtin/packages/openlibm/package.py
new file mode 100644
index 0000000000..0d72a46fc2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openlibm/package.py
@@ -0,0 +1,33 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Openlibm(MakefilePackage):
+ """OpenLibm is an effort to have a high quality, portable, standalone C
+ mathematical library"""
+
+ homepage = "https://github.com/JuliaMath/openlibm"
+ url = "https://github.com/JuliaMath/openlibm/archive/refs/tags/v0.8.0.tar.gz"
+
+ maintainers = ['haampie']
+
+ version('0.8.0', sha256='03620768df4ca526a63dd675c6de95a5c9d167ff59555ce57a61c6bf49e400ee')
+ version('0.7.5', sha256='be983b9e1e40e696e8bbb7eb8f6376d3ca0ae675ae6d82936540385b0eeec15b')
+
+ def make(self, spec, prefix):
+ args = [
+ 'prefix={0}'.format(prefix),
+ 'USE_GCC={0}'.format('1' if self.compiler.name == 'gcc' else '0'),
+ 'USE_CLANG={0}'.format('1' if self.compiler.name == 'clang' else '0')
+ ]
+ make(*args)
+
+ def install(self, spec, prefix):
+ args = [
+ 'prefix={0}'.format(prefix),
+ ]
+ make('install', *args)
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 0d48cfc523..3b5c9f6c82 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -39,10 +39,12 @@ class Openmpi(AutotoolsPackage):
version('master', branch='master', submodules=True)
# Current
- version('4.1.1', sha256='e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda') # libmpi.so.40.30.1
+ version('4.1.2', sha256='9b78c7cf7fc32131c5cf43dd2ab9740149d9d87cadb2e2189f02685749a6b527') # libmpi.so.40.30.2
# Still supported
+ version('4.1.1', sha256='e24f7a778bd11a71ad0c14587a7f5b00e68a71aa5623e2157bafee3d44c07cda') # libmpi.so.40.30.1
version('4.1.0', sha256='73866fb77090819b6a8c85cb8539638d37d6877455825b74e289d647a39fd5b5') # libmpi.so.40.30.0
+ version('4.0.7', sha256='7d3ecc8389161eb721982c855f89c25dca289001577a01a439ae97ce872be997') # libmpi.so.40.20.7
version('4.0.6', sha256='94b7b59ae9860f3bd7b5f378a698713e7b957070fdff2c43453b6cbf8edb410c') # libmpi.so.40.20.6
version('4.0.5', sha256='c58f3863b61d944231077f344fe6b4b8fbb83f3d1bc93ab74640bf3e5acac009') # libmpi.so.40.20.5
version('4.0.4', sha256='47e24eb2223fe5d24438658958a313b6b7a55bb281563542e1afc9dec4a31ac4') # libmpi.so.40.20.4
@@ -241,6 +243,7 @@ class Openmpi(AutotoolsPackage):
description="Build support for the Singularity container")
variant('lustre', default=False,
description="Lustre filesystem library support")
+ variant('romio', default=True, description='Enable ROMIO support')
# Adding support to build a debug version of OpenMPI that activates
# Memchecker, as described here:
#
@@ -652,7 +655,8 @@ class Openmpi(AutotoolsPackage):
spec['slurm'].prefix))
else:
config_args.extend(self.with_or_without('pmi'))
- config_args += self.with_or_without('pmix', activation_value='prefix')
+ if spec.satisfies('+pmix'):
+ config_args.append('--with-pmix={0}'.format(spec['pmix'].prefix))
if spec.satisfies('@3.1.3:') or spec.satisfies('@3.0.3'):
if '+static' in spec:
config_args.append('--enable-static')
@@ -727,6 +731,9 @@ class Openmpi(AutotoolsPackage):
'--disable-mpi-java'
])
+ if '~romio' in spec:
+ config_args.append('--disable-io-romio')
+
# SQLite3 support
if spec.satisfies('@1.7.3:1'):
if '+sqlite3' in spec:
diff --git a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
index 9d25e04201..5f6dc6a859 100644
--- a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py
@@ -39,8 +39,6 @@ class OpenspeedshopUtils(CMakePackage):
variant('runtime', default=False,
description="build only the runtime libraries and collectors.")
- variant('cti', default=False,
- description="Build MRNet with the CTI startup option")
variant('crayfe', default=False,
description="build only the FE tool using the runtime_dir \
to point to target build.")
@@ -107,9 +105,6 @@ class OpenspeedshopUtils(CMakePackage):
depends_on('cbtf-krell@develop+crayfe', when='@develop+crayfe', type=('build', 'link', 'run'))
depends_on('cbtf-krell@1.9.3:9999+crayfe', when='@2.4.0:9999+crayfe', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@develop+cti', when='@develop+cti', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+cti', when='@2.4.0:9999+cti', type=('build', 'link', 'run'))
-
depends_on('cbtf-krell@develop+mpich', when='@develop+mpich', type=('build', 'link', 'run'))
depends_on('cbtf-krell@1.9.3:9999+mpich', when='@2.4.0:9999+mpich', type=('build', 'link', 'run'))
@@ -132,10 +127,7 @@ class OpenspeedshopUtils(CMakePackage):
depends_on("cbtf-argonavis@1.9.3:9999", when='@2.4.0:9999+cuda', type=('build', 'link', 'run'))
# For MRNet
- depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
-
- depends_on("mrnet@5.0.1-3:+cti", when='@2.4.0:9999+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3:+lwthreads", when='@2.4.0:9999', type=('build', 'link', 'run'))
patch('arm.patch', when='target=aarch64:')
diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py
index 22f94196e6..a123bdfcd6 100644
--- a/var/spack/repos/builtin/packages/openspeedshop/package.py
+++ b/var/spack/repos/builtin/packages/openspeedshop/package.py
@@ -32,8 +32,6 @@ class Openspeedshop(CMakePackage):
variant('runtime', default=False,
description="build only the runtime libraries and collectors.")
- variant('cti', default=False,
- description="Build MRNet with the CTI startup option")
variant('crayfe', default=False,
description="build only the FE tool using the runtime_dir \
to point to target build.")
@@ -105,9 +103,6 @@ class Openspeedshop(CMakePackage):
depends_on('cbtf-krell@develop+crayfe', when='@develop+crayfe', type=('build', 'link', 'run'))
depends_on('cbtf-krell@1.9.3:9999+crayfe', when='@2.4.0:9999+crayfe', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@develop+cti', when='@develop+cti', type=('build', 'link', 'run'))
- depends_on('cbtf-krell@1.9.3:9999+cti', when='@2.4.0:9999+cti', type=('build', 'link', 'run'))
-
depends_on('cbtf-krell@develop+mpich', when='@develop+mpich', type=('build', 'link', 'run'))
depends_on('cbtf-krell@1.9.3:9999+mpich', when='@2.4.0:9999+mpich', type=('build', 'link', 'run'))
@@ -130,10 +125,7 @@ class Openspeedshop(CMakePackage):
depends_on("cbtf-argonavis@1.9.3:9999", when='@2.4.0:9999+cuda', type=('build', 'link', 'run'))
# For MRNet
- depends_on("mrnet@5.0.1-3:+cti", when='@develop+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3:+lwthreads", when='@develop', type=('build', 'link', 'run'))
-
- depends_on("mrnet@5.0.1-3:+cti", when='@2.4.0:9999+cti', type=('build', 'link', 'run'))
depends_on("mrnet@5.0.1-3:+lwthreads", when='@2.4.0:9999', type=('build', 'link', 'run'))
patch('arm.patch', when='target=aarch64:')
diff --git a/var/spack/repos/builtin/packages/openturns/package.py b/var/spack/repos/builtin/packages/openturns/package.py
new file mode 100644
index 0000000000..7ab5405052
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openturns/package.py
@@ -0,0 +1,59 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Openturns(CMakePackage):
+ """OpenTURNS is a scientific C++ and Python library featuring an
+ internal data model and algorithms dedicated to the treatment of
+ uncertainties. The main goal of this library is to provide all
+ functionalities needed to treat uncertainties in studies with
+ industrial applications. Targeted users are all engineers who want
+ to introduce the probabilistic dimension in their so far
+ deterministic studies."""
+
+ homepage = "https://openturns.github.io/www/"
+ git = "https://github.com/openturns/openturns.git"
+ maintainers = ['liuyangzhuan']
+
+ version('master', branch='master')
+
+ variant('python', default=True, description='Build Python bindings')
+
+ extends('python', when='+python')
+
+ depends_on('mpi', type=('build', 'run'))
+ depends_on('lapack', type=('build', 'run'))
+ depends_on('cmake@2.8:', type='build')
+ depends_on('swig', type=('build', 'run'))
+ depends_on('py-numpy@1.7:', type=('build', 'run'))
+ depends_on('py-pandas', type=('build', 'run'))
+ depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on('boost+system+serialization+thread', type=('build', 'run'))
+ depends_on('intel-tbb', type=('build', 'run'))
+ depends_on('py-cloudpickle', type=('build', 'run'))
+ depends_on('py-urllib3', type=('build', 'run'))
+
+ def cmake_args(self):
+ spec = self.spec
+
+ args = [
+ '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
+ '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
+ '-DCMAKE_INSTALL_LIBDIR:STRING=%s' % self.prefix.lib,
+ '-DCMAKE_INSTALL_BINDIR:STRING=%s' % self.prefix.bin,
+ '-DLAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
+ ]
+
+ if '+python' in spec:
+ args.extend([
+ # By default picks up the system python not the Spack build
+ '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path),
+ # By default installs to the python prefix
+ '-DPYTHON_SITE_PACKAGES={0}'.format(site_packages_dir),
+ ])
+
+ return args
diff --git a/var/spack/repos/builtin/packages/oras/package.py b/var/spack/repos/builtin/packages/oras/package.py
new file mode 100644
index 0000000000..dea8a8693b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/oras/package.py
@@ -0,0 +1,47 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import llnl.util.tty as tty
+from llnl.util.filesystem import find
+
+from spack import *
+
+
+class Oras(Package):
+ """ORAS means OCI Registry As Storage"""
+
+ homepage = "https://oras.land"
+ git = "https://github.com/oras-project/oras"
+ url = "https://github.com/oras-project/oras/archive/refs/tags/v0.12.0.tar.gz"
+
+ maintainers = ['vsoch']
+
+ version('main', branch="main")
+ version("0.12.0", sha256="5e19d61683a57b414efd75bd1b0290c941b8faace5fcc9d488f5e4aa674bf03e")
+
+ depends_on("go", type='build')
+
+ def setup_build_environment(self, env):
+ # Point GOPATH at the top of the staging dir for the build step.
+ env.prepend_path('GOPATH', self.stage.path)
+
+ def install(self, spec, prefix):
+ if self.spec.satisfies('platform=linux target=aarch64:'):
+ make("build-linux-arm64")
+ elif self.spec.satisfies('platform=linux'):
+ make("build-linux")
+ elif self.spec.satisfies('platform=darwin target=aarch64:'):
+ make("build-mac-arm64")
+ elif self.spec.satisfies('platform=darwin'):
+ make("build-mac")
+ elif self.spec.satisfies('platform=windows'):
+ make("build-windows")
+ mkdirp(prefix.bin)
+
+ oras = find("bin", "oras")
+ if not oras:
+ tty.die("Oras executable missing in bin.")
+ tty.debug("Found oras executable %s to move into install bin" % oras[0])
+ install(oras[0], prefix.bin)
diff --git a/var/spack/repos/builtin/packages/otf/package.py b/var/spack/repos/builtin/packages/otf/package.py
index 2fe4dde0de..743176242b 100644
--- a/var/spack/repos/builtin/packages/otf/package.py
+++ b/var/spack/repos/builtin/packages/otf/package.py
@@ -14,6 +14,8 @@ class Otf(AutotoolsPackage):
homepage = "http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/forschung/projekte/otf/index_html/document_view?set_language=en"
url = "https://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz"
+ maintainers = ['michaelkuhn']
+
version('1.12.5salmon', sha256='0a8427360dedb38e8ddca30f14d95f826420c550337c5a79dbb754904e194088')
depends_on('zlib')
@@ -23,7 +25,9 @@ class Otf(AutotoolsPackage):
args.append('--without-mpi')
args.append('--without-vtf3')
- args.append('--with-zlib')
- args.append('--with-zlibsymbols')
args.append('--without-zoidfs')
+
+ args.append('--with-zlib')
+ args.append('--with-zlib-dir={0}'.format(self.spec['zlib'].prefix))
+
return args
diff --git a/var/spack/repos/builtin/packages/pagmo2/package.py b/var/spack/repos/builtin/packages/pagmo2/package.py
new file mode 100644
index 0000000000..29f71963da
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pagmo2/package.py
@@ -0,0 +1,39 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Pagmo2(CMakePackage):
+ """Parallel Global Multiobjective Optimizer (and its Python alter ego
+ PyGMO) is a C++ / Python platform to perform parallel computations of
+ optimisation tasks (global and local) via the asynchronous generalized
+ island model."""
+
+ homepage = "https://esa.github.io/pagmo2/"
+ url = "https://github.com/esa/pagmo2/archive/v2.18.0.tar.gz"
+ git = "https://github.com/esa/pagmo2.git"
+ maintainers = ['liuyangzhuan']
+
+ version('master', branch='master')
+ version('2.18.0', sha256='5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31')
+
+ depends_on('boost+system+serialization+thread')
+ depends_on('intel-tbb')
+ depends_on('mpi')
+ depends_on('cmake@3.1:', type='build')
+
+ variant('shared', default=True, description='Build shared libraries')
+
+ def cmake_args(self):
+ spec = self.spec
+
+ args = [
+ '-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
+ '-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
+ self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ ]
+
+ return args
diff --git a/var/spack/repos/builtin/packages/palisade-development/package.py b/var/spack/repos/builtin/packages/palisade-development/package.py
new file mode 100644
index 0000000000..f32d521741
--- /dev/null
+++ b/var/spack/repos/builtin/packages/palisade-development/package.py
@@ -0,0 +1,70 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PalisadeDevelopment(CMakePackage):
+ """
+ PALISADE is a general lattice cryptography library that currently
+ includes efficient implementations of the following lattice cryptography
+ capabilities:
+
+ Fully Homomorphic Encryption (FHE):
+ - Brakerski/Fan-Vercauteren (BFV) scheme for integer arithmetic
+ - Brakerski-Gentry-Vaikuntanathan (BGV) scheme for integer arithmetic
+ - Cheon-Kim-Kim-Song (CKKS) scheme for real-number arithmetic
+ - Ducas-Micciancio (FHEW) and Chillotti-Gama-Georgieva-Izabachene
+ (TFHE) schemes for Boolean circuit evaluation
+
+ Multi-Party Extensions of FHE (to support multi-key FHE):
+ - Threshold FHE for BGV, BFV, and CKKS schemes
+ - Proxy Re-Encryption for BGV, BFV, and CKKS schemes
+ """
+
+ homepage = "https://gitlab.com/palisade/palisade-development"
+ git = "https://gitlab.com/palisade/palisade-development.git"
+ maintainers = ['wohlbier']
+
+ version('feature-fixed-point-encoding',
+ branch='feature-fixed-point-encoding')
+ version('master', branch='master', preferred=True)
+
+ variant('shared', default=True, description='Build shared library.')
+ variant('static', default=True, description='Build static library.')
+ variant('with_be2', default=True, description='Build with backend 2.')
+ variant('with_be4', default=True, description='Build with backend 4.')
+ variant('with_intel_hexl', default=False, description='Use Intel HEXL.')
+ variant('with_ntl', default=False, description='Build NTL.')
+
+ depends_on('autoconf')
+ depends_on('hwloc', when='%clang')
+ depends_on('ntl', when='+with_ntl')
+ depends_on('ntl+shared', when='+with_ntl +shared')
+
+ def cmake_args(self):
+ args = [
+ self.define_from_variant('BUILD_SHARED', 'shared'),
+ self.define_from_variant('BUILD_STATIC', 'static'),
+ self.define_from_variant('WITH_BE2', 'with_be2'),
+ self.define_from_variant('WITH_BE4', 'with_be4'),
+ self.define_from_variant('WITH_INTEL_HEXL', 'with_intel_hexl'),
+ self.define_from_variant('WITH_NTL', 'with_ntl')
+ ]
+ if self.spec.satisfies('%clang'):
+ OpenMP_C_FLAGS = "-fopenmp=libomp"
+ OpenMP_C_LIB_NAMES = "libomp"
+ args += [
+ self.define('OpenMP_C', 'clang'),
+ self.define('OpenMP_C_FLAGS', OpenMP_C_FLAGS),
+ self.define('OpenMP_C_LIB_NAMES', OpenMP_C_LIB_NAMES),
+ self.define('OpenMP_CXX', 'clang++'),
+ self.define('OpenMP_CXX_FLAGS', OpenMP_C_FLAGS),
+ self.define('OpenMP_CXX_LIB_NAMES', OpenMP_C_LIB_NAMES),
+ self.define('OpenMP_libomp_LIBRARY', 'libomp'),
+ self.define('OpenMP_libgomp_LIBRARY', 'libgomp'),
+ self.define('OpenMP_libiomp5_LIBRARY', 'libiomp5')
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/parallel-netcdf/package.py b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
index a9ec5fd8d7..64082462a3 100644
--- a/var/spack/repos/builtin/packages/parallel-netcdf/package.py
+++ b/var/spack/repos/builtin/packages/parallel-netcdf/package.py
@@ -177,7 +177,7 @@ class ParallelNetcdf(AutotoolsPackage):
return args
- examples_src_dir = 'examples/CXX'
+ examples_src_dir = join_path('examples', 'CXX')
@run_after('install')
def cache_test_sources(self):
@@ -186,19 +186,24 @@ class ParallelNetcdf(AutotoolsPackage):
self.cache_extra_test_sources([self.examples_src_dir])
def test(self):
- test_dir = join_path(self.install_test_root, self.examples_src_dir)
+ test_dir = join_path(self.test_suite.current_test_cache_dir,
+ self.examples_src_dir)
# pnetcdf has many examples to serve as a suitable smoke check.
# column_wise was chosen based on the E4S test suite. Other
# examples should work as well.
test_exe = 'column_wise'
- options = ['{0}.cpp'.format(test_exe), '-o', test_exe, '-lpnetcdf']
+ options = ['{0}.cpp'.format(test_exe), '-o', test_exe, '-lpnetcdf',
+ '-L{0}'.format(self.prefix.lib),
+ '-I{0}'.format(self.prefix.include)]
reason = 'test: compiling and linking pnetcdf example'
self.run_test(self.spec['mpi'].mpicxx, options, [],
installed=False, purpose=reason, work_dir=test_dir)
- mpiexe_list = ['mpirun', 'mpiexec', 'srun']
+ mpiexe_list = [self.spec['mpi'].prefix.bin.srun,
+ self.spec['mpi'].prefix.bin.mpirun,
+ self.spec['mpi'].prefix.bin.mpiexec]
for mpiexe in mpiexe_list:
if os.path.isfile(mpiexe):
- self.run_test(mpiexe, ['-n', '4', test_exe], [],
+ self.run_test(mpiexe, ['-n', '1', test_exe], [],
installed=False,
purpose='test: pnetcdf smoke test',
skip_missing=True,
diff --git a/var/spack/repos/builtin/packages/parallelio/package.py b/var/spack/repos/builtin/packages/parallelio/package.py
index 601f91089e..6ab05344f8 100644
--- a/var/spack/repos/builtin/packages/parallelio/package.py
+++ b/var/spack/repos/builtin/packages/parallelio/package.py
@@ -20,6 +20,7 @@ class Parallelio(CMakePackage):
version('2_5_2', sha256='935bc120ef3bf4fe09fb8bfdf788d05fb201a125d7346bf6b09e27ac3b5f345c')
variant('pnetcdf', default=False, description='enable pnetcdf')
+ variant('timing', default=False, description='enable GPTL timing')
depends_on('mpi')
depends_on('netcdf-c +mpi', type='link')
@@ -35,6 +36,7 @@ class Parallelio(CMakePackage):
def cmake_args(self):
define = self.define
+ define_from_variant = self.define_from_variant
spec = self.spec
env['CC'] = spec['mpi'].mpicc
env['FC'] = spec['mpi'].mpifc
@@ -50,4 +52,7 @@ class Parallelio(CMakePackage):
define('PnetCDF_C_PATH', spec['parallel-netcdf'].prefix),
define('PnetCDF_Fortran_PATH', spec['parallel-netcdf'].prefix),
])
+ args.extend([
+ define_from_variant('PIO_ENABLE_TIMING', 'timing'),
+ ])
return args
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index 3fd99be7e2..e0ea37a4b2 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -27,7 +27,7 @@ class Paraview(CMakePackage, CudaPackage):
tags = ['e4s']
version('master', branch='master', submodules=True)
- version('5.10.0-RC1', sha256='468d02962abfd5869c46f32fd9dee3095cb00264237edf2659f09a1c0990ec37')
+ version('5.10.0-RC2', sha256='6523577d4f8d0be6182e53c6b59e176c44a051c5f7d743bbda612cc095b18ff6')
version('5.9.1', sha256='0d486cb6fbf55e428845c9650486f87466efcb3155e40489182a7ea85dfd4c8d', preferred=True)
version('5.9.0', sha256='b03258b7cddb77f0ee142e3e77b377e5b1f503bcabc02bfa578298c99a06980d')
version('5.8.1', sha256='7653950392a0d7c0287c26f1d3a25cdbaa11baa7524b0af0e6a1a0d7d487d034')
@@ -173,6 +173,14 @@ class Paraview(CMakePackage, CudaPackage):
# https://gitlab.kitware.com/paraview/paraview/-/merge_requests/4951
depends_on('cli11@1.9.1', when='@5.10:')
+ # ParaView depends on nlohmann-json due to changes in MR
+ # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8550
+ depends_on('nlohmann-json', when='@master')
+
+ # ParaView depends on proj@8.1.0 due to changes in MR
+ # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8474
+ depends_on('proj@8.1.0', when='@master')
+
patch('stl-reader-pv440.patch', when='@4.4.0')
# Broken gcc-detection - improved in 5.1.0, redundant later
@@ -207,7 +215,7 @@ class Paraview(CMakePackage, CudaPackage):
def paraview_subdir(self):
"""The paraview subdirectory name as paraview-major.minor"""
if self.spec.version == Version('master'):
- return 'paraview-5.9'
+ return 'paraview-5.10'
else:
return 'paraview-{0}'.format(self.spec.version.up_to(2))
@@ -318,7 +326,7 @@ class Paraview(CMakePackage, CudaPackage):
if spec.satisfies('@5.8:'):
cmake_args.extend([
'-DPARAVIEW_BUILD_EDITION:STRING=%s' %
- spec.variants['build_edition'].value,
+ spec.variants['build_edition'].value.upper(),
'-DPARAVIEW_USE_QT:BOOL=%s' % variant_bool('+qt'),
'-DPARAVIEW_BUILD_WITH_EXTERNAL=ON'])
if spec.satisfies('%cce'):
diff --git a/var/spack/repos/builtin/packages/parsimonator/nox86.patch b/var/spack/repos/builtin/packages/parsimonator/nox86.patch
index afc17c3e35..afc17c3e35 100755..100644
--- a/var/spack/repos/builtin/packages/parsimonator/nox86.patch
+++ b/var/spack/repos/builtin/packages/parsimonator/nox86.patch
diff --git a/var/spack/repos/builtin/packages/patchelf/package.py b/var/spack/repos/builtin/packages/patchelf/package.py
index 0c10743d6b..44e97e6ae5 100644
--- a/var/spack/repos/builtin/packages/patchelf/package.py
+++ b/var/spack/repos/builtin/packages/patchelf/package.py
@@ -16,23 +16,30 @@ class Patchelf(AutotoolsPackage):
list_url = "https://nixos.org/releases/patchelf/"
list_depth = 1
- version('0.13', sha256='4c7ed4bcfc1a114d6286e4a0d3c1a90db147a4c3adda1814ee0eee0f9ee917ed')
- version('0.12', sha256='699a31cf52211cf5ad6e35a8801eb637bc7f3c43117140426400d67b7babd792')
- version('0.11', sha256='e52378cc2f9379c6e84a04ac100a3589145533a7b0cd26ef23c79dfd8a9038f9')
- version('0.10', sha256='b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019')
- version('0.9', sha256='f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a')
- version('0.8', sha256='14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe')
+ maintainers = ['haampie']
- # Fixes a bug where patchelf errors with 'unsupported overlap
- # of SHT_NOTE and PT_NOTE'
- patch('https://github.com/NixOS/patchelf/pull/230.patch', sha256='a155f233b228f02d7886e304cb13898d93801b52f351e098c2cc0719697ec9d0', when='@0.12')
+ version('0.14.1', sha256='7a1506caf6873a2b60e7bebc35e1671fa232ee075642b074106b0d0636417466')
+ version('0.14', sha256='a31f2bff841dffa896317d3837bc2877c1f79da0744d88e459662d8e7fe7897c')
+ version('0.13.1', sha256='08c0237e89be74d61ddf8f6ff218439cdd62af572d568fb38913b53e222831de')
+ version('0.13', sha256='4c7ed4bcfc1a114d6286e4a0d3c1a90db147a4c3adda1814ee0eee0f9ee917ed')
+ version('0.12', sha256='699a31cf52211cf5ad6e35a8801eb637bc7f3c43117140426400d67b7babd792')
+ version('0.11', sha256='e52378cc2f9379c6e84a04ac100a3589145533a7b0cd26ef23c79dfd8a9038f9')
+ version('0.10', sha256='b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019')
+ version('0.9', sha256='f2aa40a6148cb3b0ca807a1bf836b081793e55ec9e5540a5356d800132be7e0a')
+ version('0.8', sha256='14af06a2da688d577d64ff8dac065bb8903bbffbe01d30c62df7af9bf4ce72fe')
conflicts('%gcc@:4.6', when='@0.10:', msg="Requires C++11 support")
+ conflicts('%gcc@:6', when='@0.14:', msg="Requires C++17 support")
+ conflicts('%clang@:3', when='@0.14:', msg="Requires C++17 support")
def url_for_version(self, version):
if version < Version('0.12'):
return "https://nixos.org/releases/patchelf/patchelf-{0}/patchelf-{1}.tar.gz".format(version, version)
+ # Prefer gz over bz2
+ if version >= Version('0.13.1'):
+ return "https://github.com/NixOS/patchelf/releases/download/{0}/patchelf-{1}.tar.gz".format(version, version)
+
return "https://github.com/NixOS/patchelf/releases/download/{0}/patchelf-{1}.tar.bz2".format(version, version)
def test(self):
diff --git a/var/spack/repos/builtin/packages/pcma/package.py b/var/spack/repos/builtin/packages/pcma/package.py
index 095247dcb5..c656683f8e 100644
--- a/var/spack/repos/builtin/packages/pcma/package.py
+++ b/var/spack/repos/builtin/packages/pcma/package.py
@@ -18,6 +18,10 @@ class Pcma(MakefilePackage):
def edit(self, spec, prefix):
makefile = FileFilter('makefile')
makefile.filter('gcc', spack_cc)
+ if spec.satisfies('%gcc@10:'):
+ # they missed one
+ filter_file(r'^sint \*seqlen_array;$', 'extern sint *seqlen_array;',
+ 'calctree.c')
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py
index 67cc84084f..9e1d74e7b2 100644
--- a/var/spack/repos/builtin/packages/pcre/package.py
+++ b/var/spack/repos/builtin/packages/pcre/package.py
@@ -12,7 +12,7 @@ class Pcre(AutotoolsPackage):
pattern matching using the same syntax and semantics as Perl 5."""
homepage = "https://www.pcre.org"
- url = "https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.bz2"
+ url = "https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.bz2/download"
version('8.44', sha256='19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d')
version('8.43', sha256='91e762520003013834ac1adb4a938d53b22a216341c061b0cf05603b290faf6b')
@@ -22,6 +22,7 @@ class Pcre(AutotoolsPackage):
version('8.39', sha256='b858099f82483031ee02092711689e7245586ada49e534a06e678b8ea9549e8b')
version('8.38', sha256='b9e02d36e23024d6c02a2e5b25204b3a4fa6ade43e0a5f869f254f49535079df')
+ maintainers = ['drkennetz']
patch('intel.patch', when='@8.38')
variant('jit', default=False,
diff --git a/var/spack/repos/builtin/packages/percept/package.py b/var/spack/repos/builtin/packages/percept/package.py
index 13c4e1a667..681bcf9518 100644
--- a/var/spack/repos/builtin/packages/percept/package.py
+++ b/var/spack/repos/builtin/packages/percept/package.py
@@ -25,7 +25,7 @@ class Percept(CMakePackage):
depends_on('opennurbs@percept')
depends_on('boost+graph+mpi')
depends_on('yaml-cpp+pic~shared@0.5.3:')
- depends_on('trilinos~shared+exodus+mpi+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+aztec+sacado~openmp+shards+intrepid@master,12.14.1:')
+ depends_on('trilinos~shared+exodus+mpi+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+aztec+sacado~openmp+shards+intrepid@master,12.14.1:')
def cmake_args(self):
spec = self.spec
diff --git a/var/spack/repos/builtin/packages/percona-server/package.py b/var/spack/repos/builtin/packages/percona-server/package.py
index 22095246ab..57226e5c9f 100644
--- a/var/spack/repos/builtin/packages/percona-server/package.py
+++ b/var/spack/repos/builtin/packages/percona-server/package.py
@@ -21,7 +21,8 @@ class PerconaServer(CMakePackage):
depends_on('openssl')
depends_on('ncurses')
depends_on('readline')
- depends_on('openldap')
+ # Links to libldap_r, which was merged with libldap in OpenLDAP 2.5
+ depends_on('openldap@:2.4')
depends_on('libtirpc')
depends_on('curl')
depends_on('bison', type='build')
diff --git a/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py b/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py
index d968942c09..f6328a0dfd 100644
--- a/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py
+++ b/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py
@@ -10,10 +10,10 @@ class PerlDbdMysql(PerlPackage):
"""MySQL driver for the Perl5 Database Interface (DBI)"""
homepage = "https://metacpan.org/pod/DBD::mysql"
- url = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-4.043.tar.gz"
+ url = "https://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-4.043.tar.gz"
version('4.043', sha256='629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99')
depends_on('perl-test-deep', type=('build', 'run'))
depends_on('perl-dbi', type=('build', 'run'))
- depends_on('mariadb@:10.1.23')
+ depends_on('mysql-client')
diff --git a/var/spack/repos/builtin/packages/perl-forks/package.py b/var/spack/repos/builtin/packages/perl-forks/package.py
index 7fbd843ac2..16e69a6b6a 100644
--- a/var/spack/repos/builtin/packages/perl-forks/package.py
+++ b/var/spack/repos/builtin/packages/perl-forks/package.py
@@ -19,3 +19,7 @@ class PerlForks(PerlPackage):
depends_on('perl-devel-symdump', type=('build', 'run'))
depends_on('perl-list-moreutils', type=('build', 'run'))
depends_on('perl-sys-sigaction', type=('build', 'run'))
+
+ def setup_build_environment(self, env):
+ if 'perl~threads' in self.spec:
+ env.set('FORKS_SIMULATE_USEITHREADS', '1')
diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py
index ddd732c5dd..72c6c375e3 100644
--- a/var/spack/repos/builtin/packages/perl/package.py
+++ b/var/spack/repos/builtin/packages/perl/package.py
@@ -15,6 +15,7 @@ import os
import re
from contextlib import contextmanager
+from llnl.util import tty
from llnl.util.lang import match_predicate
from spack import *
@@ -299,8 +300,21 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
# This is to avoid failures when using -mmacosx-version-min=11.1
# since not all Apple Clang compilers support that version range
# See https://eclecticlight.co/2020/07/21/big-sur-is-both-10-16-and-11-0-its-official/
+ # It seems that this is only necessary for older versions of the
+ # command line tools rather than the xcode/clang version.
if spec.satisfies('os=bigsur'):
- env.set('SYSTEM_VERSION_COMPAT', 1)
+ pkgutil = Executable('pkgutil')
+ output = pkgutil('--pkg-info=com.apple.pkg.CLTools_Executables',
+ output=str, error=str, fail_on_error=False)
+ match = re.search(r'version:\s*([0-9.]+)', output)
+ if not match:
+ tty.warn('Failed to detect macOS command line tools version: '
+ + output)
+ else:
+ if Version(match.group(1)) < Version('12'):
+ tty.warn("Setting SYSTEM_VERSION_COMPAT=1 due to older "
+ "command line tools version")
+ env.set('SYSTEM_VERSION_COMPAT', 1)
# This is how we tell perl the locations of bzip and zlib.
env.set('BUILD_BZIP2', 0)
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 75646e4cf4..8c60a31675 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -20,6 +20,7 @@ class Petsc(Package, CudaPackage, ROCmPackage):
version('main', branch='main')
+ version('3.16.2', sha256='7ab257ae150d4837ac8d3872a1d206997962578785ec2427639ceac46d131bbc')
version('3.16.1', sha256='909cf7bce7b6a0ddb2580a1ac9502aa01631ec4105c716594c1804f0ee1ea06a')
version('3.16.0', sha256='5aaad7deea127a4790c8aa95c42fd9451ab10b5d6c68b226b92d4853002f438d')
version('3.15.5', sha256='67dc31f1c1c941a0e45301ed4042628586e92e8c4e9b119695717ae782ef23a3')
@@ -164,6 +165,8 @@ class Petsc(Package, CudaPackage, ROCmPackage):
description='Activates support for openmp')
variant('hwloc', default=False,
description='Activates support for hwloc')
+ variant('kokkos', default=False,
+ description='Activates support for kokkos and kokkos-kernels')
# 3.8.0 has a build issue with MKL - so list this conflict explicitly
conflicts('^intel-mkl', when='@3.8.0')
@@ -183,6 +186,8 @@ class Petsc(Package, CudaPackage, ROCmPackage):
conflicts('+ptscotch', when='~mpi', msg=mpi_msg)
conflicts('+superlu-dist', when='~mpi', msg=mpi_msg)
conflicts('+trilinos', when='~mpi', msg=mpi_msg)
+ conflicts('+kokkos', when='~mpi', msg=mpi_msg)
+ conflicts('^openmpi~cuda', when='+cuda') # +cuda requires CUDA enabled OpenMPI
# older versions of petsc did not support mumps when +int64
conflicts('+mumps', when='@:3.12+int64')
@@ -216,6 +221,12 @@ class Petsc(Package, CudaPackage, ROCmPackage):
depends_on('hip', when='+rocm')
depends_on('hipblas', when='+rocm')
depends_on('hipsparse', when='+rocm')
+ depends_on('rocsparse', when='+rocm')
+ depends_on('rocsolver', when='+rocm')
+ depends_on('rocblas', when='+rocm')
+ depends_on('rocrand', when='+rocm')
+ depends_on('rocthrust', when='+rocm')
+ depends_on('rocprim', when='+rocm')
# Build dependencies
depends_on('python@2.6:2.8', type='build', when='@:3.10')
@@ -312,6 +323,11 @@ class Petsc(Package, CudaPackage, ROCmPackage):
depends_on('saws', when='+saws')
depends_on('libyaml', when='+libyaml')
depends_on('hwloc', when='+hwloc')
+ depends_on('kokkos', when='+kokkos')
+ depends_on('kokkos-kernels', when='+kokkos')
+ depends_on('kokkos+cuda+wrapper+cuda_lambda', when='+kokkos +cuda')
+ depends_on('kokkos-kernels+cuda', when='+kokkos +cuda')
+ depends_on('kokkos+rocm', when='+kokkos +rocm')
# Using the following tarballs
# * petsc-3.12 (and older) - includes docs
@@ -387,7 +403,6 @@ class Petsc(Package, CudaPackage, ROCmPackage):
options.append('--with-x=0')
if 'trilinos' in spec:
- options.append('--with-cxx-dialect=C++11')
if spec.satisfies('^trilinos+boost'):
options.append('--with-boost=1')
@@ -406,10 +421,12 @@ class Petsc(Package, CudaPackage, ROCmPackage):
# if not (useinc || uselib): usedir - i.e (False, False)
for library in (
('cuda', 'cuda', False, False),
- ('hip', 'hip', False, False),
+ ('hip', 'hip', True, False),
'metis',
'hypre',
'parmetis',
+ ('kokkos', 'kokkos', False, False),
+ ('kokkos-kernels', 'kokkos-kernels', False, False),
('superlu-dist', 'superlu_dist', True, True),
('scotch', 'ptscotch', True, True),
('suite-sparse:umfpack,klu,cholmod,btf,ccolamd,colamd,camd,amd, \
@@ -486,9 +503,25 @@ class Petsc(Package, CudaPackage, ROCmPackage):
else:
options.append('CUDAFLAGS=-gencode arch=compute_{0},code=sm_{0}'
.format(cuda_arch[0]))
+ if '+rocm' in spec:
+ if not spec.satisfies('amdgpu_target=none'):
+ hip_arch = spec.variants['amdgpu_target'].value
+ options.append('--with-hip-arch={0}'.format(hip_arch[0]))
+ hip_pkgs = ['hipsparse', 'hipblas', 'rocsparse', 'rocsolver', 'rocblas']
+ hip_ipkgs = hip_pkgs + ['rocthrust', 'rocprim']
+ hip_lpkgs = hip_pkgs + ['rocrand']
+ hip_inc = ''
+ hip_lib = ''
+ for pkg in hip_ipkgs:
+ hip_inc += spec[pkg].headers.include_flags + ' '
+ for pkg in hip_lpkgs:
+ hip_lib += spec[pkg].libs.joined() + ' '
+ options.append('HIPPPFLAGS=%s' % hip_inc)
+ options.append('with-hip-lib=%s -L%s -lamdhip64' %
+ (hip_lib, spec['hip'].prefix.lib))
if 'superlu-dist' in spec:
- if spec.satisfies('@3.10.3:'):
+ if spec.satisfies('@3.10.3:3.15'):
options.append('--with-cxx-dialect=C++11')
if '+mkl-pardiso' in spec:
@@ -501,10 +534,16 @@ class Petsc(Package, CudaPackage, ROCmPackage):
if '+hpddm' in spec:
options.append('--download-hpddm')
+ # revert changes by kokkos-nvcc-wrapper
+ if spec.satisfies('^kokkos+cuda+wrapper'):
+ env['MPICH_CXX'] = env['CXX']
+ env['OMPI_CXX'] = env['CXX']
+ env['MPICXX_CXX'] = env['CXX']
+
python('configure', '--prefix=%s' % prefix, *options)
# PETSc has its own way of doing parallel make.
- make('MAKE_NP=%s' % make_jobs, parallel=False)
+ make('V=1 MAKE_NP=%s' % make_jobs, parallel=False)
make("install")
if self.run_tests:
@@ -527,6 +566,11 @@ class Petsc(Package, CudaPackage, ROCmPackage):
env.unset('PETSC_ARCH')
@property
+ def archive_files(self):
+ return [join_path(self.stage.source_path, 'configure.log'),
+ join_path(self.stage.source_path, 'make.log')]
+
+ @property
def headers(self):
return find_headers('petsc', self.prefix.include, recursive=False) \
or None # return None to indicate failure
@@ -538,6 +582,7 @@ class Petsc(Package, CudaPackage, ROCmPackage):
"""Copy the build test files after the package is installed to an
install test subdirectory for use during `spack test run`."""
self.cache_extra_test_sources('src/ksp/ksp/tutorials')
+ self.cache_extra_test_sources('src/snes/tutorials')
def test(self):
# solve Poisson equation in 2D to make sure nothing is broken:
@@ -578,3 +623,12 @@ class Petsc(Package, CudaPackage, ROCmPackage):
'-use_gpu_aware_mpi', '0']
self.run_test(runexe, runopt + testexe)
make('clean', parallel=False)
+ w_dir = join_path(self.install_test_root, 'src/snes/tutorials')
+ with working_dir(w_dir):
+ if '+kokkos' in spec:
+ make('ex3k', parallel=False)
+ testexe = ['ex3k', '-view_initial', '-dm_vec_type', 'kokkos',
+ '-dm_mat_type', 'aijkokkos', '-use_gpu_aware_mpi', '0',
+ '-snes_monitor']
+ self.run_test(runexe, runopt + testexe)
+ make('clean', parallel=False)
diff --git a/var/spack/repos/builtin/packages/pgplot/g77_gcc.conf.patch b/var/spack/repos/builtin/packages/pgplot/g77_gcc.conf.patch
index f97ed8ab49..970527afe8 100644
--- a/var/spack/repos/builtin/packages/pgplot/g77_gcc.conf.patch
+++ b/var/spack/repos/builtin/packages/pgplot/g77_gcc.conf.patch
@@ -78,7 +78,7 @@
# Mandatory.
# On systems that have a ranlib utility, put "ranlib" here. On other
-@@ -108,7 +108,7 @@
+@@ -108,16 +108,16 @@
# Optional: Needed if SHARED_LIB is set.
# How to create a shared library from a trailing list of object files.
@@ -87,3 +87,13 @@
# Optional:
# On systems such as Solaris 2.x, that allow specification of the
+ # libraries that a shared library needs to be linked with when a
+ # program that uses it is run, this variable should contain the
+ # library-specification flags used to specify these libraries to
+ # $SHARED_LD
+
+- SHARED_LIB_LIBS=""
++ SHARED_LIB_LIBS="@SHARED_LIB_LIBS@"
+
+ # Optional:
+ # Compiler name used on Next systems to compile objective-C files.
diff --git a/var/spack/repos/builtin/packages/pgplot/package.py b/var/spack/repos/builtin/packages/pgplot/package.py
index a042fe2159..92fc29f591 100644
--- a/var/spack/repos/builtin/packages/pgplot/package.py
+++ b/var/spack/repos/builtin/packages/pgplot/package.py
@@ -7,7 +7,7 @@ from spack import *
class Pgplot(MakefilePackage):
- """PGPLOT Graphics Subroutine Library
+ """PGPLOT Graphics Subroutine Library.
The PGPLOT Graphics Subroutine Library is a Fortran- or
C-callable, device-independent graphics package for making
@@ -51,6 +51,12 @@ class Pgplot(MakefilePackage):
def edit(self, spec, prefix):
+ libs = ''
+ if '+X' in spec:
+ libs += ' ' + self.spec['X11'].libs.ld_flags
+ if '+png' in spec:
+ libs += ' ' + self.spec['libpng'].libs.ld_flags
+
if spec.satisfies('%gcc'):
fib = " -fallow-invalid-boz" if spec.satisfies('%gcc@10:') else ""
@@ -61,9 +67,10 @@ class Pgplot(MakefilePackage):
'@CFLAGD@': "-O2",
'@FCOMPL@': spack_fc,
'@FFLAGC@': "-Wall -fPIC -O -ffixed-line-length-none" + fib,
- '@FFLAGD@': "-fno-backslash",
- '@LIBS@': "-lgfortran",
- '@SHARED_LD@': spack_cc + " -shared -o $SHARED_LIB -lgfortran"
+ '@FFLAGD@': libs + " -fno-backslash",
+ '@LIBS@': libs + " -lgfortran",
+ '@SHARED_LD@': spack_cc + " -shared -o $SHARED_LIB",
+ '@SHARED_LIB_LIBS@': libs + " -lgfortran",
}
elif spec.satisfies('%intel'):
sub = {
@@ -72,9 +79,10 @@ class Pgplot(MakefilePackage):
'@CFLAGD@': "-O2 -lifcore -lifport",
'@FCOMPL@': spack_fc,
'@FFLAGC@': "-fPIC",
- '@FFLAGD@': "-nofor-main",
- '@LIBS@': "-nofor-main -lifcore -lifport",
- '@SHARED_LD@': spack_cc + " -shared -o $SHARED_LIB"
+ '@FFLAGD@': libs + " -nofor-main",
+ '@LIBS@': libs + " -nofor-main -lifcore -lifport",
+ '@SHARED_LD@': spack_cc + " -shared -o $SHARED_LIB",
+ '@SHARED_LIB_LIBS@': libs + " -nofor-main -lifcore -lifport",
}
conf = join_path(
@@ -91,14 +99,12 @@ class Pgplot(MakefilePackage):
enable_driver('! XWDRIV 1 /XWINDOW')
enable_driver('! XWDRIV 2 /XSERVE')
- sub['@FFLAGD@'] += ' -L{0} -lX11'.format(self.spec['libx11'].prefix.lib)
- sub['@LIBS@'] += ' -L{0} -lX11'.format(self.spec['libx11'].prefix.lib)
-
if '+png' in spec:
enable_driver('! PNDRIV 1 /PNG')
filter_file('pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h',
- 'pndriv.o :', 'makemake')
+ 'pndriv.o :',
+ 'makemake')
# Alwasy enable PS and LATEX since they are not depending on other libraries.
enable_driver('! PSDRIV 1 /PS')
@@ -115,8 +121,10 @@ class Pgplot(MakefilePackage):
filter_file(key, value, conf)
def setup_build_environment(self, env):
+ if '+X' in self.spec:
+ env.append_flags('LIBS', self.spec['X11'].libs.ld_flags)
if '+png' in self.spec:
- env.set('LIBS', self.spec['libpng'].libs.ld_flags)
+ env.append_flags('LIBS', self.spec['libpng'].libs.ld_flags)
def build(self, spec, prefix):
makemake = which('./makemake')
diff --git a/var/spack/repos/builtin/packages/php/sbang.patch b/var/spack/repos/builtin/packages/php/sbang.patch
index aca17c8ff3..aca17c8ff3 100755..100644
--- a/var/spack/repos/builtin/packages/php/sbang.patch
+++ b/var/spack/repos/builtin/packages/php/sbang.patch
diff --git a/var/spack/repos/builtin/packages/phyluce/package.py b/var/spack/repos/builtin/packages/phyluce/package.py
index 5fb589f485..cd23147bf8 100644
--- a/var/spack/repos/builtin/packages/phyluce/package.py
+++ b/var/spack/repos/builtin/packages/phyluce/package.py
@@ -31,7 +31,7 @@ class Phyluce(PythonPackage):
depends_on('mafft', type='run')
depends_on('muscle', type='run')
depends_on('picard', type='run')
- depends_on('raxml+pthreads+sse', type='run')
+ depends_on('raxml+pthreads', type='run')
depends_on('samtools', type='run')
depends_on('seqtk', type='run')
depends_on('spades', type='run')
diff --git a/var/spack/repos/builtin/packages/pixz/package.py b/var/spack/repos/builtin/packages/pixz/package.py
index 4f1663f332..0b6738293a 100644
--- a/var/spack/repos/builtin/packages/pixz/package.py
+++ b/var/spack/repos/builtin/packages/pixz/package.py
@@ -12,6 +12,7 @@ class Pixz(AutotoolsPackage):
homepage = "https://www.github.com/vasi/pixz"
url = "https://github.com/vasi/pixz/releases/download/v1.0.6/pixz-1.0.6.tar.xz"
+ version('1.0.7', sha256='e5e32c6eb0bf112b98e74a5da8fb63b9f2cae71800f599d97ce540e150c8ddc5')
version('1.0.6', sha256='02c50746b134fa1b1aae41fcc314d7c6f1919b3d48bcdea01bf11769f83f72e8')
depends_on('xz')
diff --git a/var/spack/repos/builtin/packages/podman/package.py b/var/spack/repos/builtin/packages/podman/package.py
new file mode 100644
index 0000000000..f759773bff
--- /dev/null
+++ b/var/spack/repos/builtin/packages/podman/package.py
@@ -0,0 +1,81 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Podman(Package):
+ """An optionally rootless and daemonless container engine: alias docker=podman"""
+
+ homepage = 'https://podman.io'
+ url = 'https://github.com/containers/podman/archive/v3.4.2.tar.gz'
+ maintainers = ['bernhardkaindl']
+
+ version('3.4.2', sha256='b0c4f9a11eb500b1d440d5e51a6c0c632aa4ac458e2dc0362f50f999eb7fbf31')
+
+ depends_on('go', type='build')
+ depends_on('go-md2man', type='build')
+ depends_on('pkgconfig', type='build')
+ depends_on('cni-plugins', type='run')
+ depends_on('conmon', type='run')
+ depends_on('runc', type='run')
+ depends_on('slirp4netns', type='run')
+ depends_on('gpgme')
+ depends_on('libassuan')
+ depends_on('libgpg-error')
+ depends_on('libseccomp')
+
+ def patch(self):
+ defs = FileFilter('vendor/github.com/containers/common/pkg/config/default.go')
+
+ # Prepend the provided runc executable to podman's built-in runc search path
+ defs.filter(
+ '"runc": {',
+ '"runc": {' + '"{0}",'.format(self.spec['runc'].prefix.sbin.runc)
+ )
+ # Prepend the provided conmon executable to podman's built-in conmon search path
+ defs.filter(
+ r'ConmonPath = \[\]string{',
+ 'ConmonPath = []string{' +
+ '\n "{0}",'.format(self.spec['conmon'].prefix.bin.conmon)
+ )
+ # Prepend the provided cni-plugins directory to the cni-plugin search path
+ defs.filter(
+ r'DefaultCNIPluginDirs = \[\]string{',
+ 'DefaultCNIPluginDirs = []string{' +
+ '\n "{0}",'.format(self.spec['cni-plugins'].prefix.bin)
+ )
+ # Set the default path for slirp4netns to the provided slirp4netns executable
+ defs.filter(
+ 'cniConfig := _cniConfigDir',
+ 'cniConfig := _cniConfigDir' +
+ '\n defaultEngineConfig.NetworkCmdPath = "{0}"'.format(
+ self.spec['slirp4netns'].prefix.bin.slirp4netns
+ )
+ )
+ # Use the podman install prefix as fallback path for finding container.conf
+ filter_file(
+ r'/usr',
+ self.prefix,
+ 'vendor/github.com/containers/common/pkg/config/config.go',
+ )
+
+ def install(self, spec, prefix):
+ # Set default policy.json to be located in the install prefix (documented)
+ env['EXTRA_LDFLAGS'] = (
+ '-X github.com/containers/image/v5/signature.systemDefaultPolicyPath=' +
+ prefix + '/etc/containers/policy.json'
+ )
+ # Build and installation needs to be in two separate make calls
+ # The devicemapper and btrfs drivers are (so far) not enabled in this recipe
+ tags = 'seccomp exclude_graphdriver_devicemapper exclude_graphdriver_btrfs'
+ make('-e', 'BUILDTAGS=' + tags)
+ make('install', 'PREFIX=' + prefix)
+ # Install an initial etc/containers/policy.json (configured in prefix above)
+ mkdirp(prefix.etc.containers)
+ install('test/policy.json', prefix.etc.containers)
+ # Cleanup directory trees which are created as part of the go build process
+ remove_linked_tree(prefix.src)
+ remove_linked_tree(prefix.pkg)
diff --git a/var/spack/repos/builtin/packages/poppler/poppler_page_splash.0.90.1.patch b/var/spack/repos/builtin/packages/poppler/poppler_page_splash.0.90.1.patch
index 100d026f27..100d026f27 100755..100644
--- a/var/spack/repos/builtin/packages/poppler/poppler_page_splash.0.90.1.patch
+++ b/var/spack/repos/builtin/packages/poppler/poppler_page_splash.0.90.1.patch
diff --git a/var/spack/repos/builtin/packages/poppler/poppler_page_splash.patch b/var/spack/repos/builtin/packages/poppler/poppler_page_splash.patch
index 21572d784c..21572d784c 100755..100644
--- a/var/spack/repos/builtin/packages/poppler/poppler_page_splash.patch
+++ b/var/spack/repos/builtin/packages/poppler/poppler_page_splash.patch
diff --git a/var/spack/repos/builtin/packages/portage/package.py b/var/spack/repos/builtin/packages/portage/package.py
index 331e4aed48..3ec7cca307 100644
--- a/var/spack/repos/builtin/packages/portage/package.py
+++ b/var/spack/repos/builtin/packages/portage/package.py
@@ -25,7 +25,6 @@ class Portage(CMakePackage):
variant('mpi', default=True, description='Support MPI')
variant('tangram', default=False, description='Use Tangram interface reconstruction package')
variant('jali', default=False, description='Include support for Jali mesh framework')
- variant('flecsisp', default=False, description='Include support for FleCSI mesh framework')
variant('thrust', default=False, description='Enable on-node parallelism using NVidia Thrust library')
variant('kokkos', default=False, description='Enable on-node or device parallelism with Kokkos')
variant('openmp', default=False, description="Enable on-node parallelism using OpenMP")
@@ -34,23 +33,23 @@ class Portage(CMakePackage):
depends_on("cmake@3.13:", type='build')
depends_on('mpi', when='+mpi')
+ depends_on('kokkos', when='+kokkos')
+ depends_on('thrust', when='+thrust')
+ depends_on('jali', when='+jali')
depends_on('tangram', when='+tangram')
- depends_on('tangram+mpi', when='+tangram+mpi')
- depends_on('tangram+jali', when='+tangram+jali')
- depends_on('tangram+flecsisp', when='+tangram+flecsisp')
- depends_on('tangram+thrust', when='+tangram+thrust')
- depends_on('tangram+kokkos', when='+tangram+kokkos')
- depends_on('tangram+cuda', when='+tangram+cuda')
+
+ for _variant in ['mpi', 'jali', 'openmp', 'thrust', 'kokkos', 'cuda']:
+ depends_on('tangram+' + _variant, when='+tangram+' + _variant)
+ depends_on('tangram~' + _variant, when='+tangram~' + _variant)
depends_on('wonton')
- depends_on('wonton+mpi', when='+mpi')
- depends_on('wonton+jali', when='+jali')
- depends_on('wonton+flecsisp', when='+flecsisp')
- depends_on('wonton+thrust', when='+thrust')
- depends_on('wonton+kokkos', when='+kokkos')
- depends_on('wonton+openmp', when='+openmp')
- depends_on('wonton+cuda', when='+cuda')
+ # Wonton depends array
+ wonton_variant = ['mpi', 'jali', 'openmp', 'thrust', 'kokkos', 'cuda']
+
+ for _variant in wonton_variant:
+ depends_on('wonton+' + _variant, when='+' + _variant)
+ depends_on('wonton~' + _variant, when='~' + _variant)
# Jali needs MPI
conflicts('+jali ~mpi')
@@ -84,7 +83,7 @@ class Portage(CMakePackage):
else:
options.append('-DPORTAGE_ENABLE_Jali=OFF')
- if '+flecsi' in self.spec:
+ if '+flecsisp' in self.spec:
options.append('-DPORTAGE_ENABLE_FleCSI=ON')
else:
options.append('-DPORTAGE_ENABLE_FleCSI=OFF')
@@ -103,3 +102,8 @@ class Portage(CMakePackage):
options.append('-DENABLE_APP_TESTS=OFF')
return options
+
+ def check(self):
+ if self.run_tests:
+ with working_dir(self.build_directory):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/portcullis/package.py b/var/spack/repos/builtin/packages/portcullis/package.py
index 9f5b35a805..7bc2c6c62b 100644
--- a/var/spack/repos/builtin/packages/portcullis/package.py
+++ b/var/spack/repos/builtin/packages/portcullis/package.py
@@ -10,14 +10,16 @@ from spack import *
class Portcullis(AutotoolsPackage):
"""PORTable CULLing of Invalid Splice junctions"""
- homepage = "https://github.com/maplesond/portcullis"
- url = "https://github.com/maplesond/portcullis/archive/Release-1.1.2.tar.gz"
+ homepage = "https://github.com/EI-CoreBioinformatics/portcullis"
+ url = "https://github.com/EI-CoreBioinformatics/portcullis/archive/refs/tags/Release-1.1.2.tar.gz"
+ version('1.2.3', sha256='172452b5cef12a8dcc2c1c68527000743114136ee63a0dbe307ac4e2a816bc99')
version('1.1.2', sha256='5c581a7f827ffeecfe68107b7fe27ed60108325fd2f86a79d93f61b328687749')
depends_on('autoconf@2.53:', type='build')
depends_on('automake@1.11:', type='build')
depends_on('libtool@2.4.2:', type='build')
+ depends_on('boost')
depends_on('m4', type='build')
depends_on('zlib', type='build')
@@ -53,7 +55,3 @@ class Portcullis(AutotoolsPackage):
def build(self, spec, prefix):
# build manpages
make('man')
-
- # run boost build script
- sh = which('sh')
- sh('build_boost.sh')
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py
index 9e21fd66d1..9e21fd66d1 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-bem-at/duplicate_defs.patch b/var/spack/repos/builtin/packages/ppopen-appl-bem-at/duplicate_defs.patch
index d21d9364e5..d21d9364e5 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-bem-at/duplicate_defs.patch
+++ b/var/spack/repos/builtin/packages/ppopen-appl-bem-at/duplicate_defs.patch
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py b/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py
index 508a068c05..508a068c05 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py
index 37820a5ce6..37820a5ce6 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm/gfortran_iargc.patch b/var/spack/repos/builtin/packages/ppopen-appl-fdm/gfortran_iargc.patch
index 115a0f0688..115a0f0688 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fdm/gfortran_iargc.patch
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm/gfortran_iargc.patch
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py b/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py
index f1a4348e17..f1a4348e17 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fdm/unused.patch b/var/spack/repos/builtin/packages/ppopen-appl-fdm/unused.patch
index 4c6e67c65d..4c6e67c65d 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fdm/unused.patch
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fdm/unused.patch
diff --git a/var/spack/repos/builtin/packages/ppopen-appl-fem/gcc_struct_atomic.patch b/var/spack/repos/builtin/packages/ppopen-appl-fem/gcc_struct_atomic.patch
index cd4fc87d9d..cd4fc87d9d 100755..100644
--- a/var/spack/repos/builtin/packages/ppopen-appl-fem/gcc_struct_atomic.patch
+++ b/var/spack/repos/builtin/packages/ppopen-appl-fem/gcc_struct_atomic.patch
diff --git a/var/spack/repos/builtin/packages/py-aiohttp/package.py b/var/spack/repos/builtin/packages/py-aiohttp/package.py
index 4f63193a93..4606f42fce 100644
--- a/var/spack/repos/builtin/packages/py-aiohttp/package.py
+++ b/var/spack/repos/builtin/packages/py-aiohttp/package.py
@@ -21,7 +21,7 @@ class PyAiohttp(PythonPackage):
depends_on('python@3.6:', type=('build', 'run'), when='@3.7:')
depends_on('py-attrs@17.3.0:', type=('build', 'run'))
depends_on('py-chardet@2.0:3', type=('build', 'run'))
- depends_on('py-multidict@4.5:4', type=('build', 'run'))
+ depends_on('py-multidict@4.5:4', type=('build', 'run'), when='@:3.6.2')
depends_on('py-multidict@4.5:6', type=('build', 'run'), when='@3.6.3:')
depends_on('py-async-timeout@3.0:3', type=('build', 'run'))
depends_on('py-yarl@1.0:1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-aiosqlite/package.py b/var/spack/repos/builtin/packages/py-aiosqlite/package.py
new file mode 100644
index 0000000000..96d96bbc30
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-aiosqlite/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyAiosqlite(PythonPackage):
+ """asyncio bridge to the standard sqlite3 module"""
+
+ homepage = "https://aiosqlite.omnilib.dev"
+ pypi = "aiosqlite/aiosqlite-0.17.0.tar.gz"
+
+ version('0.17.0', sha256='f0e6acc24bc4864149267ac82fb46dfb3be4455f99fe21df82609cc6e6baee51')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-typing-extensions@3.7.2:', type=('build', 'run'))
+ depends_on('py-flit-core@2:3', type='build')
+
+ # aiosqlite.test requires aiounittests, not yet in spack
+ import_modules = ['aiosqlite']
diff --git a/var/spack/repos/builtin/packages/py-astroid/package.py b/var/spack/repos/builtin/packages/py-astroid/package.py
index e9fc469674..9d691f0783 100644
--- a/var/spack/repos/builtin/packages/py-astroid/package.py
+++ b/var/spack/repos/builtin/packages/py-astroid/package.py
@@ -39,12 +39,12 @@ class PyAstroid(PythonPackage):
depends_on('py-lazy-object-proxy', type=('build', 'run'))
# Starting with astroid 2.3.1, astroid's dependencies were restricted
# to a given minor version, c.f. commit e1b4e11.
- depends_on('py-lazy-object-proxy@1.4.0:1.4', when='@2.3.1:', type=('build', 'run'))
+ depends_on('py-lazy-object-proxy@1.4.0:1.4', when='@2.3.1:2.7.2', type=('build', 'run'))
depends_on('py-lazy-object-proxy@1.4.0:', when='@2.7.3:', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'), when='@:2.7.2')
depends_on('py-six@1.12:1', when='@2.3.3:2.7.2', type=('build', 'run'))
depends_on('py-wrapt', when='@:2.2', type=('build', 'run'))
- depends_on('py-wrapt@1.11:1.12', when='@2.3.3:', type=('build', 'run'))
+ depends_on('py-wrapt@1.11:1.12', when='@2.3.3:2.8.2', type=('build', 'run'))
depends_on('py-wrapt@1.11:1.13', when='@2.8.3:', type=('build', 'run'))
depends_on('py-enum34@1.1.3:', when='^python@:3.3', type=('build', 'run'))
depends_on('py-singledispatch', when='^python@:3.3', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-astropy/package.py b/var/spack/repos/builtin/packages/py-astropy/package.py
index cd2bcb1c70..adbc56cada 100644
--- a/var/spack/repos/builtin/packages/py-astropy/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy/package.py
@@ -62,7 +62,7 @@ class PyAstropy(PythonPackage):
# System dependencies
depends_on('erfa')
depends_on('wcslib')
- depends_on('cfitsio')
+ depends_on('cfitsio@:3')
depends_on('expat')
def patch(self):
diff --git a/var/spack/repos/builtin/packages/py-automat/package.py b/var/spack/repos/builtin/packages/py-automat/package.py
new file mode 100644
index 0000000000..71c7f16a1d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-automat/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyAutomat(PythonPackage):
+ """Self-service finite-state machines for the programmer on the go."""
+
+ homepage = "https://github.com/glyph/Automat"
+ pypi = "Automat/Automat-20.2.0.tar.gz"
+
+ version('20.2.0', sha256='7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools-scm', type='build')
+ depends_on('py-m2r', type='build')
+
+ depends_on('py-attrs@19.2.0:', type=('build', 'run'))
+ depends_on('py-six', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py
index 823b5f3b60..e96e3872df 100644
--- a/var/spack/repos/builtin/packages/py-babel/package.py
+++ b/var/spack/repos/builtin/packages/py-babel/package.py
@@ -14,6 +14,7 @@ class PyBabel(PythonPackage):
homepage = "https://babel.pocoo.org/en/latest/"
pypi = "Babel/Babel-2.7.0.tar.gz"
+ version('2.9.1', sha256='bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0')
version('2.7.0', sha256='e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28')
version('2.6.0', sha256='8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23')
version('2.4.0', sha256='8c98f5e5f8f5f088571f2c6bd88d530e331cbbcb95a7311a0db69d3dca7ec563')
diff --git a/var/spack/repos/builtin/packages/py-backports-os/package.py b/var/spack/repos/builtin/packages/py-backports-os/package.py
new file mode 100644
index 0000000000..e4f802eb57
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-backports-os/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyBackportsOs(PythonPackage):
+ """Backport of new features in Python's os module"""
+
+ homepage = "https://github.com/pjdelport/backports.os"
+ pypi = "backports.os/backports.os-0.1.1.tar.gz"
+
+ version('0.1.1', sha256='b472c4933094306ca08ec90b2a8cbb50c34f1fb2767775169a1c1650b7b74630')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools-scm', type='build')
+ depends_on('py-future', type=('build', 'run'), when='^python@:2')
diff --git a/var/spack/repos/builtin/packages/py-boost-histogram/package.py b/var/spack/repos/builtin/packages/py-boost-histogram/package.py
new file mode 100644
index 0000000000..8cf2f255ab
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-boost-histogram/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyBoostHistogram(PythonPackage):
+ """The Boost::Histogram Python wrapper."""
+
+ homepage = "https://github.com/scikit-hep/boost-histogram"
+ pypi = "boost_histogram/boost_histogram-1.2.1.tar.gz"
+
+ version('1.2.1', sha256='a27842b2f1cfecc509382da2b25b03056354696482b38ec3c0220af0fc9b7579')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@45:', type='build')
+ depends_on('py-setuptools-scm@4.1.2:+toml', type='build')
+ depends_on('py-numpy@1.13.3:', type=('build', 'run'))
+ depends_on('py-dataclasses', type=('build', 'run'), when='^python@:3.6')
+ depends_on('py-typing-extensions', type=('build', 'run'), when='^python@:3.7')
diff --git a/var/spack/repos/builtin/packages/py-brian2/package.py b/var/spack/repos/builtin/packages/py-brian2/package.py
index 35edc02850..b9d88fd072 100644
--- a/var/spack/repos/builtin/packages/py-brian2/package.py
+++ b/var/spack/repos/builtin/packages/py-brian2/package.py
@@ -12,17 +12,18 @@ class PyBrian2(PythonPackage):
homepage = "https://www.briansimulator.org"
pypi = "Brian2/Brian2-2.2.2.1.tar.gz"
+ version('2.5.0.1', sha256='1f719b563ae38658c4c59bac5aeb06b41970c6eedc52021ddf6d9254913733d3')
version('2.4.2', sha256='7a711af40145d8c62b0bc0861d352dc64f341c3a738174d87ef9d71e50e959f2')
version('2.2.2.1', sha256='02075f66d42fd243fc5e28e1add8862709ae9fdabaffb69858e6d7f684a91525')
version('2.0.1', sha256='195d8ced0d20e9069917776948f92aa70b7457bbc6b5222b8199654402ee1153')
version('2.0rc3', sha256='05f347f5fa6b25d1ce5ec152a2407bbce033599eb6664f32f5331946eb3c7d66')
- variant('docs', default=False, description='Build the documentation')
-
depends_on('python@2.7:', type=('build', 'run'))
depends_on('python@3.6:', type=('build', 'run'), when='@2.4:')
+ depends_on('python@3.7:', type=('build', 'run'), when='@2.5:')
depends_on('py-numpy@1.10:', type=('build', 'run'))
depends_on('py-numpy@1.15:', type=('build', 'run'), when='@2.4:')
+ depends_on('py-numpy@1.17:', type=('build', 'run'), when='@2.5:')
depends_on('py-cython@0.29:', type=('build', 'run'))
depends_on('py-sympy@0.7.6:1.0,1.1.1:', type=('build', 'run'))
depends_on('py-sympy@1.2:', type=('build', 'run'), when='@2.4:')
@@ -30,9 +31,6 @@ class PyBrian2(PythonPackage):
depends_on('py-jinja2@2.7:', type=('build', 'run'))
depends_on('py-setuptools@21:', type=('build', 'run'))
depends_on('py-setuptools@24.2:', type=('build', 'run'), when='@2.4:')
- depends_on('py-sphinx@1.5:', type=('build', 'run'), when='+docs')
- depends_on('py-sphinx@1.8:', type=('build', 'run'), when='@2.4:+docs')
- depends_on('py-ipython@5:', type=('build', 'run'), when='@2.4:+docs')
def build_args(self, spec, prefix):
return ['--with-cython']
diff --git a/var/spack/repos/builtin/packages/py-build/package.py b/var/spack/repos/builtin/packages/py-build/package.py
new file mode 100644
index 0000000000..3c9a053d65
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-build/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyBuild(PythonPackage):
+ """A simple, correct PEP517 package builder."""
+
+ homepage = "https://github.com/pypa/build"
+ pypi = "build/build-0.7.0.tar.gz"
+
+ version('0.7.0', sha256='1aaadcd69338252ade4f7ec1265e1a19184bf916d84c9b7df095f423948cb89f')
+
+ variant('virtualenv', default=False, description='Install optional virtualenv dependency')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-packaging@19:', type=('build', 'run'))
+ depends_on('py-pep517@0.9.1:', type=('build', 'run'))
+ depends_on('py-tomli@1:', type=('build', 'run'))
+ depends_on('py-colorama', when='platform=windows', type=('build', 'run'))
+ depends_on('py-importlib-metadata@0.22:', when='^python@:3.7', type=('build', 'run'))
+ depends_on('py-virtualenv@20.0.35:', when='+virtualenv', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-carputils/package.py b/var/spack/repos/builtin/packages/py-carputils/package.py
index 3b91b0c70f..e97f63bed7 100644
--- a/var/spack/repos/builtin/packages/py-carputils/package.py
+++ b/var/spack/repos/builtin/packages/py-carputils/package.py
@@ -14,6 +14,7 @@ class PyCarputils(PythonPackage):
version('master', branch='master')
# Version to use with openCARP releases
+ version('oc8.2', commit='e60f639c0f39ad71c8ae11814de1f3aa726e8352')
version('oc8.1', commit='a4210fcb0fe17226a1744ee9629f85b629decba3')
version('oc7.0', commit='4c04db61744f2fb7665594d7c810699c5c55c77c')
diff --git a/var/spack/repos/builtin/packages/py-click/package.py b/var/spack/repos/builtin/packages/py-click/package.py
index 734090db51..df1f632d2e 100644
--- a/var/spack/repos/builtin/packages/py-click/package.py
+++ b/var/spack/repos/builtin/packages/py-click/package.py
@@ -12,6 +12,7 @@ class PyClick(PythonPackage):
homepage = "https://click.palletsprojects.com"
pypi = "click/click-7.1.2.tar.gz"
+ version('8.0.3', sha256='410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b')
version('8.0.1', sha256='8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a')
version('7.1.2', sha256='d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a')
version('7.0', sha256='5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7',
diff --git a/var/spack/repos/builtin/packages/py-climate/package.py b/var/spack/repos/builtin/packages/py-climate/package.py
new file mode 100644
index 0000000000..f207537f94
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-climate/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyClimate(PythonPackage):
+ """Command line arguments parsing"""
+
+ homepage = "https://pypi.org/project/climate/"
+ url = 'https://pypi.io/packages/py3/c/climate/climate-0.1.0-py3-none-any.whl'
+
+ version('0.1.0', sha256='01026c764b34d8204b8f527a730ef667fa5827fca765993ff1ed3e9dab2c11ae', expand=False)
+
+ depends_on('python@3.7:3', type=('build', 'run'))
+ depends_on('py-wheel', type='build')
+ depends_on('py-pip', type='build')
+
+ phases = ['install']
+
+ # copied from py-azureml-core
+ def install(self, spec, prefix):
+ pip = which('pip')
+ pip('install', '--no-deps', self.stage.archive_file,
+ '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-cmake/package.py b/var/spack/repos/builtin/packages/py-cmake/package.py
index fab0dda083..7425eb116a 100644
--- a/var/spack/repos/builtin/packages/py-cmake/package.py
+++ b/var/spack/repos/builtin/packages/py-cmake/package.py
@@ -14,7 +14,14 @@ class PyCmake(PythonPackage):
homepage = "https://cmake.org/"
pypi = "cmake/cmake-3.18.0.tar.gz"
+ version('3.21.4', sha256='30fa5ed8a5ad66dcd263adb87f3ce3dc2d0ec0ac3958f5becff577e4b62cd065')
version('3.18.0', sha256='52b98c5ee70b5fa30a8623e96482227e065292f78794eb085fdf0fecb204b79b')
+ depends_on('cmake@3.21.4', type=('build', 'link', 'run'), when='@3.21.4')
depends_on('cmake@3.18.0', type=('build', 'link', 'run'), when='@3.18.0')
depends_on('py-scikit-build', type='build')
+
+ def build_args(self, spec, prefix):
+ args = []
+ args.append('-DBUILD_CMAKE_FROM_SOURCE=OFF')
+ return args
diff --git a/var/spack/repos/builtin/packages/py-cmsml/package.py b/var/spack/repos/builtin/packages/py-cmsml/package.py
new file mode 100644
index 0000000000..39d9da4326
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-cmsml/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyCmsml(PythonPackage):
+ """Python package of the CMS Machine Learning Group."""
+
+ homepage = "https://github.com/cms-ml/cmsml"
+ pypi = "cmsml/cmsml-0.1.2.tar.gz"
+
+ version('0.1.2', sha256='2e2e114323441757a64e1c24179fc6295e7bd14920b7a9c3c37128eb40ad9ceb')
+
+ depends_on('python@2.7:2.7,3.6:3', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six@1.13:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-configspace/package.py b/var/spack/repos/builtin/packages/py-configspace/package.py
new file mode 100644
index 0000000000..7e24fe0a89
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-configspace/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyConfigspace(PythonPackage):
+ """Creation and manipulation of parameter configuration spaces for
+ automated algorithm configuration and hyperparameter tuning."""
+
+ maintainers = ['Kerilk']
+
+ homepage = "https://automl.github.io/ConfigSpace/master/"
+ pypi = "ConfigSpace/ConfigSpace-0.4.20.tar.gz"
+
+ version('0.4.20', sha256='2e4ca06f5a6a61e5322a73dd7545468c79f2a3e8385cab92fdada317af41d9e9')
+
+ depends_on('python@3.7:', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-cython', type='build')
+ depends_on('py-pyparsing', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-constantly/package.py b/var/spack/repos/builtin/packages/py-constantly/package.py
new file mode 100644
index 0000000000..fe90278fc6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-constantly/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyConstantly(PythonPackage):
+ """Symbolic constants in Python"""
+
+ homepage = "https://github.com/twisted/constantly"
+ pypi = "constantly/constantly-15.1.0.tar.gz"
+
+ version('15.1.0', sha256='586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-copulas/package.py b/var/spack/repos/builtin/packages/py-copulas/package.py
new file mode 100644
index 0000000000..fa19e4251b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-copulas/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyCopulas(PythonPackage):
+ """Copulas is a Python library for modeling multivariate
+ distributions and sampling from them using copula
+ functions. Given a table containing numerical data, we can
+ use Copulas to learn the distribution and later on generate
+ new synthetic rows following the same statistical
+ properties."""
+
+ homepage = "https://github.com/sdv-dev/Copulas"
+ pypi = "copulas/copulas-0.6.0.tar.gz"
+
+ version('0.6.0', sha256='9de6cc738769db19794fc18e2f506a4b5ee17e6902519c0842a4698c0efb6749')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-matplotlib@3.2:3', type=('build', 'run'))
+ depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
+ depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
+ depends_on('py-pandas@1.1.3:1', type=('build', 'run'))
+ depends_on('py-scipy@1.5.4:1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-correctionlib/package.py b/var/spack/repos/builtin/packages/py-correctionlib/package.py
new file mode 100644
index 0000000000..47727d28c5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-correctionlib/package.py
@@ -0,0 +1,36 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyCorrectionlib(PythonPackage):
+ """A generic correction library"""
+
+ homepage = "https://github.com/cms-nanoAOD/correctionlib"
+ pypi = "correctionlib/correctionlib-2.0.0.tar.gz"
+
+ version('2.1.0', sha256='edf79644dc1d9d94f12b4b45366331e5da3f1e21d4cbcd3bb8b0d4b1421b0c44')
+ version('2.0.0', sha256='e4d240cbdb2633a8955ddcd02d5b9bfb33d7e1a33554d6f7957f2dec56988a67')
+
+ variant('convert', default=False,
+ description='Includes select conversion routines for common types')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on('py-scikit-build', type='build')
+ depends_on('py-cmake@3.11:', type='build')
+ depends_on('py-make', type='build')
+ depends_on('py-pybind11@2.6.1:', type='build')
+ depends_on('py-numpy@1.13.3:', type=('build', 'run'))
+ depends_on('py-typing', type=('build', 'run'), when='^python@:3.4')
+ depends_on('py-typing-extensions', type=('build', 'run'), when='^python@:3.7')
+ depends_on('py-dataclasses', type=('build', 'run'), when='^python@:3.6')
+ depends_on('py-pydantic@1.7.3:', type=('build', 'run'))
+ depends_on('py-rich', type=('build', 'run'))
+ depends_on('py-pandas', type=('build', 'run'), when='+convert')
+ depends_on('py-uproot@4.0.4:', type=('build', 'run'), when='+convert')
+ depends_on('py-requests', type=('build', 'run'), when='+convert')
diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py
index ac62512a3d..335306b754 100644
--- a/var/spack/repos/builtin/packages/py-coverage/package.py
+++ b/var/spack/repos/builtin/packages/py-coverage/package.py
@@ -12,7 +12,8 @@ class PyCoverage(PythonPackage):
homepage = "https://nedbatchelder.com/code/coverage/"
pypi = "coverage/coverage-4.5.4.tar.gz"
- version('5.5', sha256='ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c')
+ version('6.1.2', sha256='d9a635114b88c0ab462e0355472d00a180a5fbfd8511e7f18e4ac32652e7d972')
+ version('5.5', sha256='ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c')
version('5.3', sha256='280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0')
version('5.0.4', sha256='1b60a95fc995649464e0cd48cecc8288bac5f4198f21d04b8229dc4097d76823')
version('4.5.4', sha256='e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c')
@@ -20,6 +21,11 @@ class PyCoverage(PythonPackage):
version('4.3.4', sha256='eaaefe0f6aa33de5a65f48dd0040d7fe08cac9ac6c35a56d0a7db109c3e733df')
version('4.0a6', sha256='85c7f3efceb3724ab066a3fcccc05b9b89afcaefa5b669a7e2222d31eac4728d')
+ variant('toml', default=False, description='Enable pyproject.toml support')
+
depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when="@5.0.0:")
+ depends_on('python@2.7:2.8,3.5:', when='@5:', type=('build', 'run'))
+ depends_on('python@3.6:', when='@6:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
+ depends_on('py-tomli', when='@6: +toml', type=('build', 'run'))
+ depends_on('py-toml', when='@:5 +toml', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-cryptography/package.py b/var/spack/repos/builtin/packages/py-cryptography/package.py
index 5c80b4aa34..81a5bcfd4b 100644
--- a/var/spack/repos/builtin/packages/py-cryptography/package.py
+++ b/var/spack/repos/builtin/packages/py-cryptography/package.py
@@ -14,13 +14,14 @@ class PyCryptography(PythonPackage):
homepage = "https://github.com/pyca/cryptography"
pypi = "cryptography/cryptography-1.8.1.tar.gz"
+ version('35.0.0', sha256='9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d')
+ version('3.4.8', sha256='94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c')
version('3.4.7', sha256='3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713')
- version('2.7', sha256='e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6')
+ version('2.7', sha256='e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6')
version('2.3.1', sha256='8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6')
version('1.8.1', sha256='323524312bb467565ebca7e50c8ae5e9674e544951d28a2904a50012a8828190')
- variant('idna', default=False, description='Deprecated U-label support')
- conflicts('+idna', when='@:2.4,3.1:')
+ variant('idna', default=False, when='@2.5:3.0', description='Deprecated U-label support')
# dependencies taken from https://github.com/pyca/cryptography/blob/master/setup.py
depends_on('python@3.6:', when='@3.4:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-ctgan/package.py b/var/spack/repos/builtin/packages/py-ctgan/package.py
new file mode 100644
index 0000000000..f9ab396bdb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-ctgan/package.py
@@ -0,0 +1,29 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyCtgan(PythonPackage):
+ """CTGAN is a collection of Deep Learning based Synthetic
+ Data Generators for single table data, which are able to
+ learn from real data and generate synthetic clones with
+ high fidelity."""
+
+ homepage = "https://github.com/sdv-dev/CTGAN"
+ pypi = "ctgan/ctgan-0.5.0.tar.gz"
+
+ version('0.5.0', sha256='b8a5dbf21dab2d2e2690013f13feb0922f5bad13440b15bc031ce9d58c7fb988')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-packaging@20:21', type=('build', 'run'))
+ depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
+ depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
+ depends_on('py-pandas@1.1.3:1', type=('build', 'run'))
+ depends_on('py-scikit-learn@0.24:1', type=('build', 'run'))
+ depends_on('py-torch@1.8.0:1', type=('build', 'run'))
+ depends_on('py-torchvision@0.9', type=('build', 'run'))
+ depends_on('py-rdt@0.6.1:0.6', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-cx-oracle/package.py b/var/spack/repos/builtin/packages/py-cx-oracle/package.py
new file mode 100644
index 0000000000..8c47892fea
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-cx-oracle/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyCxOracle(PythonPackage):
+ """Python interface to Oracle"""
+
+ homepage = "https://oracle.github.io/python-cx_Oracle"
+ pypi = "cx_Oracle/cx_Oracle-8.3.0.tar.gz"
+
+ version('8.3.0', sha256='3b2d215af4441463c97ea469b9cc307460739f89fdfa8ea222ea3518f1a424d9')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('oracle-instant-client', type='run')
+ depends_on('py-setuptools@40.6.0:', type='build')
+ depends_on('py-wheel', type='build')
diff --git a/var/spack/repos/builtin/packages/py-cycler/package.py b/var/spack/repos/builtin/packages/py-cycler/package.py
index 23b429e97e..d226efd1d4 100644
--- a/var/spack/repos/builtin/packages/py-cycler/package.py
+++ b/var/spack/repos/builtin/packages/py-cycler/package.py
@@ -10,9 +10,11 @@ class PyCycler(PythonPackage):
"""Composable style cycles."""
homepage = "https://matplotlib.org/cycler/"
- url = "https://github.com/matplotlib/cycler/archive/v0.10.0.tar.gz"
+ pypi = "cycler/cycler-0.11.0.tar.gz"
- version('0.10.0', sha256='b6d217635e03024196225367b1a438996dbbf0271bec488f00584f0e7dc15cfa')
+ version('0.11.0', sha256='9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f')
+ version('0.10.0', sha256='cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8')
+ depends_on('python@3.6:', when='@0.11:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on('py-six', when='@:0.10', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py
index 40d31f8eaf..e1f432f544 100644
--- a/var/spack/repos/builtin/packages/py-cython/package.py
+++ b/var/spack/repos/builtin/packages/py-cython/package.py
@@ -9,9 +9,11 @@ from spack import *
class PyCython(PythonPackage):
"""The Cython compiler for writing C extensions for the Python language."""
+ homepage = "https://github.com/cython/cython"
pypi = "cython/Cython-0.29.21.tar.gz"
- version('0.29.24', sha256='cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443')
+ version('3.0.0a9', sha256='23931c45877432097cef9de2db2dc66322cbc4fc3ebbb42c476bb2c768cecff0')
+ version('0.29.24', sha256='cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443', preferred=True)
version('0.29.23', sha256='6a0d31452f0245daacb14c979c77e093eb1a546c760816b5eed0047686baad8e')
version('0.29.22', sha256='df6b83c7a6d1d967ea89a2903e4a931377634a297459652e4551734c48195406')
version('0.29.21', sha256='e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad')
@@ -32,7 +34,8 @@ class PyCython(PythonPackage):
version('0.23.4', sha256='fec42fecee35d6cc02887f1eef4e4952c97402ed2800bfe41bbd9ed1a0730d8e')
version('0.21.2', sha256='b01af23102143515e6138a4d5e185c2cfa588e0df61c0827de4257bac3393679')
- depends_on('python@2.6:2.8,3.3:', when='@0.23:', type=('build', 'link', 'run'))
+ depends_on('python@2.7:2,3.4:', when='@3:', type=('build', 'link', 'run'))
+ depends_on('python@2.6:2,3.3:', when='@0.23:', type=('build', 'link', 'run'))
depends_on('python@:2', when='@:0.22', type=('build', 'link', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
depends_on('gdb@7.2:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-debugpy/package.py b/var/spack/repos/builtin/packages/py-debugpy/package.py
index 64dee06b76..45fa0db633 100644
--- a/var/spack/repos/builtin/packages/py-debugpy/package.py
+++ b/var/spack/repos/builtin/packages/py-debugpy/package.py
@@ -18,6 +18,7 @@ class PyDebugpy(PythonPackage):
'debugpy.common'
]
+ version('1.5.1', sha256='d2b09e91fbd1efa4f4fda121d49af89501beda50c18ed7499712c71a4bf3452e')
version('1.4.1', sha256='889316de0b8ff3732927cb058cfbd3371e4cd0002ecc170d34c755ad289c867c')
depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-deepdiff/package.py b/var/spack/repos/builtin/packages/py-deepdiff/package.py
new file mode 100644
index 0000000000..48fab797b5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-deepdiff/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyDeepdiff(PythonPackage):
+ """Deep Difference and Search of any Python object/data.."""
+
+ homepage = "https://github.com/seperman/deepdiff"
+ pypi = "deepdiff/deepdiff-5.6.0.tar.gz"
+
+ version('5.6.0', sha256='e3f1c3a375c7ea5ca69dba6f7920f9368658318ff1d8a496293c79481f48e649')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-ordered-set@4.0.2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py b/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py
new file mode 100644
index 0000000000..571c9024d2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-dh-scikit-optimize/package.py
@@ -0,0 +1,38 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyDhScikitOptimize(PythonPackage):
+ """A Modified version of scikit-optimize a Sequential model-based
+ optimization toolbox for DeepHyper.
+ Scikit-Optimize, or skopt, is a simple and efficient library to
+ minimize (very) expensive and noisy black-box functions. It implements
+ several methods for sequential model-based optimization. skopt aims to
+ be accessible and easy to use in many contexts.
+
+ The library is built on top of NumPy, SciPy and Scikit-Learn."""
+
+ maintainers = ['Kerilk']
+
+ homepage = "https://github.com/deephyper/scikit-optimize"
+ pypi = "dh-scikit-optimize/dh-scikit-optimize-0.9.0.tar.gz"
+
+ version('0.9.0', sha256='fe70aa57ec5150a3d356b2184f0dda1ecc4ecb7e82d35edac3980094d409d676')
+
+ variant('plots', default=False,
+ description='Build with plot support from py-matplotlib')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-joblib@0.11:', type=('build', 'run'))
+ depends_on('py-pyaml@16.9:', type=('build', 'run'))
+ depends_on('py-numpy@1.13.3:', type=('build', 'run'))
+ depends_on('py-scipy@0.19.1:', type=('build', 'run'))
+ depends_on('py-scikit-learn@0.20.0:', type=('build', 'run'))
+ depends_on('py-configspace@0.4.20:', type=('build', 'run'))
+
+ depends_on('py-matplotlib@2.0.0:', when='+plots', type='run')
diff --git a/var/spack/repos/builtin/packages/py-distlib/package.py b/var/spack/repos/builtin/packages/py-distlib/package.py
new file mode 100644
index 0000000000..dc5ce6fd34
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-distlib/package.py
@@ -0,0 +1,15 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyDistlib(PythonPackage):
+ """Distribution utilities"""
+
+ homepage = "https://bitbucket.org/pypa/distlib"
+ pypi = "distlib/distlib-0.3.3.zip"
+
+ version('0.3.3', sha256='d982d0751ff6eaaab5e2ec8e691d949ee80eddf01a62eaa96ddb11531fe16b05')
diff --git a/var/spack/repos/builtin/packages/py-downhill/package.py b/var/spack/repos/builtin/packages/py-downhill/package.py
new file mode 100644
index 0000000000..23c164a066
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-downhill/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyDownhill(PythonPackage):
+ """Stochastic optimization routines for Theano"""
+
+ homepage = "http://github.com/lmjohns3/downhill"
+ pypi = "downhill/downhill-0.4.0.tar.gz"
+
+ version('0.4.0', sha256='074ad91deb06c05108c67d982ef71ffffb6ede2c77201abc69e332649f823b42')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-theano', type=('build', 'run'))
+ depends_on('py-click', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-envisage/package.py b/var/spack/repos/builtin/packages/py-envisage/package.py
index 7068987db6..a115726c93 100644
--- a/var/spack/repos/builtin/packages/py-envisage/package.py
+++ b/var/spack/repos/builtin/packages/py-envisage/package.py
@@ -13,13 +13,16 @@ class PyEnvisage(PythonPackage):
application consists primarily of plug-ins. In this respect, it is similar
to the Eclipse and Netbeans frameworks for Java applications."""
- homepage = "https://docs.enthought.com/envisage"
+ homepage = "https://github.com/enthought/envisage"
pypi = "envisage/envisage-4.9.2.tar.gz"
+ version('6.0.1', sha256='8864c29aa344f7ac26eeb94788798f2d0cc791dcf95c632da8d79ebc580e114c')
version('4.9.2', sha256='ed9580ac6ea17b333f1cce5b94656aed584798d56d8bd364f996a06fe1ac32eb')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on('python@3.6:', when='@5:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.5:', when='@:4', type=('build', 'run'))
depends_on('py-apptools', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
+ depends_on('py-six', when='@:4', type=('build', 'run'))
+ depends_on('py-traits@6.2:', when='@6:', type=('build', 'run'))
depends_on('py-traits', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-faker/package.py b/var/spack/repos/builtin/packages/py-faker/package.py
new file mode 100644
index 0000000000..fcde7bbfcb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-faker/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyFaker(PythonPackage):
+ """Faker is a Python package that generates fake data for
+ you. Whether you need to bootstrap your database, create
+ good-looking XML documents, fill-in your persistence to
+ stress test it, or anonymize data taken from a production
+ service, Faker is for you."""
+
+ homepage = "https://github.com/joke2k/faker"
+ pypi = "Faker/Faker-9.8.2.tar.gz"
+
+ version('9.8.2', sha256='393bd1b5becf3ccbc04a4f0f13da7e437914b24cafd1a4d8b71b5fecff54fb34')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-python-dateutil@2.4:', type=('build', 'run'))
+ depends_on('py-text-unidecode@1.3', type=('build', 'run'))
+ depends_on('py-typing-extensions@3.10.0.2:', type=('build', 'run'), when='^python@:3.8')
diff --git a/var/spack/repos/builtin/packages/py-fastjsonschema/package.py b/var/spack/repos/builtin/packages/py-fastjsonschema/package.py
new file mode 100644
index 0000000000..61b0093298
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fastjsonschema/package.py
@@ -0,0 +1,15 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyFastjsonschema(PythonPackage):
+ """Fast JSON schema validator for Python."""
+
+ homepage = "https://github.com/horejsek/python-fastjsonschema"
+ pypi = "fastjsonschema/fastjsonschema-2.15.1.tar.gz"
+
+ version('2.15.1', sha256='671f36d225b3493629b5e789428660109528f373cf4b8a22bac6fa2f8191c2d2')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-filelock/package.py b/var/spack/repos/builtin/packages/py-filelock/package.py
index ffa7a37685..9056a54bd1 100644
--- a/var/spack/repos/builtin/packages/py-filelock/package.py
+++ b/var/spack/repos/builtin/packages/py-filelock/package.py
@@ -7,14 +7,17 @@ from spack import *
class PyFilelock(PythonPackage):
- """This package contains a single module, which implements a platform
+ """A platform-independent file lock for Python.
+
+ This package contains a single module, which implements a platform
independent file lock in Python, which provides a simple way of
inter-process communication"""
homepage = "https://github.com/benediktschmitt/py-filelock"
pypi = "filelock/filelock-3.0.4.tar.gz"
- version('3.0.12', sha256='18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59')
+ version('3.4.0', sha256='93d512b32a23baf4cac44ffd72ccf70732aeff7b8050fcaf6d3ec406d954baf4')
+ version('3.0.12', sha256='18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59')
version('3.0.4', sha256='011327d4ed939693a5b28c0fdf2fd9bda1f68614c1d6d0643a89382ce9843a71')
version('3.0.3', sha256='7d8a86350736aa0efea0730e6a7f774195cbb1c2d61134c15f6be576399e87ff')
version('3.0.0', sha256='b3ad481724adfb2280773edd95ce501e497e88fa4489c6e41e637ab3fd9a456c')
@@ -25,4 +28,6 @@ class PyFilelock(PythonPackage):
version('2.0.9', sha256='0f91dce339c9f25d6f2e0733a17e4f9a47b139dffda52619a0e61e013e5c6782')
version('2.0.8', sha256='7e48e4906de3c9a5d64d8f235eb3ae1050dfefa63fd65eaf318cc915c935212b')
+ depends_on('python@3.6:', when='@3.3:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.5:', when='@3.1:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-fire/package.py b/var/spack/repos/builtin/packages/py-fire/package.py
new file mode 100644
index 0000000000..12ffc54f97
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fire/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class PyFire(PythonPackage):
+ """Python Fire is a library for automatically generating command line
+ interfaces (CLIs) with a single line of code."""
+
+ homepage = "https://github.com/google/python-fire"
+ pypi = "fire/fire-0.2.1.tar.gz"
+
+ version('0.4.0', sha256='c5e2b8763699d1142393a46d0e3e790c5eb2f0706082df8f647878842c216a62')
+ version('0.3.1', sha256='9736a16227c3d469e5d2d296bce5b4d8fa8d7851e953bda327a455fc2994307f')
+ version('0.3.0', sha256='96c372096afcf33ddbadac8a7ca5b7e829e8d7157d0030bd964bf959afde5c2c')
+ version('0.2.1', sha256='6865fefc6981a713d2ce56a2a2c92c56c729269f74a6cddd6f4b94d16ae084c9')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six', type=('build', 'run'))
+ depends_on('py-termcolor', type=('build', 'run'))
+ depends_on('py-enum34', type=('build', 'run'), when='@0.3.0: ^python@:3.3')
diff --git a/var/spack/repos/builtin/packages/py-flask/package.py b/var/spack/repos/builtin/packages/py-flask/package.py
index 53f5c6d3be..d56bacef1e 100644
--- a/var/spack/repos/builtin/packages/py-flask/package.py
+++ b/var/spack/repos/builtin/packages/py-flask/package.py
@@ -12,6 +12,7 @@ class PyFlask(PythonPackage):
homepage = "https://palletsprojects.com/p/flask/"
pypi = "Flask/Flask-1.1.1.tar.gz"
+ version('2.0.2', sha256='7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2')
version('1.1.2', sha256='4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060')
version('1.1.1', sha256='13f9f196f330c7c2c5d7a5cf91af894110ca0215ac051b5844701f2bfd934d52')
version('0.12.4', sha256='2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd')
@@ -19,9 +20,15 @@ class PyFlask(PythonPackage):
version('0.12.1', sha256='9dce4b6bfbb5b062181d3f7da8f727ff70c1156cbb4024351eafd426deb5fb88')
version('0.11.1', sha256='b4713f2bfb9ebc2966b8a49903ae0d3984781d5c878591cf2f7b484d28756b0e')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-werkzeug@0.15:', type=('build', 'run'))
- depends_on('py-jinja2@2.10.1:', type=('build', 'run'))
+ depends_on('python@3.6:', when='@2:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type=('build', 'run'))
+
+ depends_on('py-werkzeug@2:', when='@2:', type=('build', 'run'))
+ depends_on('py-werkzeug@0.15:', type=('build', 'run'))
+ depends_on('py-jinja2@3:', when='@2:', type=('build', 'run'))
+ depends_on('py-jinja2@2.10.1:', type=('build', 'run'))
+ depends_on('py-itsdangerous@2:', when='@2:', type=('build', 'run'))
depends_on('py-itsdangerous@0.24:', type=('build', 'run'))
- depends_on('py-click@5.1:', type=('build', 'run'))
+ depends_on('py-click@7.1.2:', when='@2:', type=('build', 'run'))
+ depends_on('py-click@5.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-flawfinder/package.py b/var/spack/repos/builtin/packages/py-flawfinder/package.py
new file mode 100644
index 0000000000..ceb7f35a54
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-flawfinder/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyFlawfinder(PythonPackage, SourceforgePackage):
+ """a program that examines source code looking for security weaknesses"""
+
+ homepage = "http://dwheeler.com/flawfinder/"
+ sourceforge_mirror_path = "project/flawfinder/flawfinder-2.0.19.tar.gz"
+
+ version('2.0.19', sha256='fe550981d370abfa0a29671346cc0b038229a9bd90b239eab0f01f12212df618')
+
+ depends_on('python@2.7:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-fonttools/package.py b/var/spack/repos/builtin/packages/py-fonttools/package.py
new file mode 100644
index 0000000000..5937181a9e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fonttools/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyFonttools(PythonPackage):
+ """fontTools is a library for manipulating fonts, written in Python.
+
+ The project includes the TTX tool, that can convert TrueType and OpenType fonts to
+ and from an XML text format, which is also called TTX. It supports TrueType,
+ OpenType, AFM and to an extent Type 1 and some Mac-specific formats."""
+
+ homepage = "https://github.com/fonttools/fonttools"
+ pypi = "fonttools/fonttools-4.28.1.zip"
+
+ version('4.28.1', sha256='8c8f84131bf04f3b1dcf99b9763cec35c347164ab6ad006e18d2f99fcab05529')
+
+ depends_on('python@3.7:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-formulaic/package.py b/var/spack/repos/builtin/packages/py-formulaic/package.py
new file mode 100644
index 0000000000..6f183828db
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-formulaic/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyFormulaic(PythonPackage):
+ """Formulaic is a high-performance implementation of Wilkinson formulas
+ for Python."""
+
+ homepage = "https://github.com/matthewwardrop/formulaic"
+ pypi = "formulaic/formulaic-0.2.4.tar.gz"
+
+ version('0.2.4', sha256='15b71ea8972fb451f80684203cddd49620fc9ed5c2e35f31e0874e9c41910d1a')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-setupmeta', type='build')
+ depends_on('py-astor', type=('build', 'run'))
+ depends_on('py-interface-meta@1.2:', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-pandas', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+ depends_on('py-wrapt', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-fs/package.py b/var/spack/repos/builtin/packages/py-fs/package.py
new file mode 100644
index 0000000000..af1a4121d9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fs/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyFs(PythonPackage):
+ """Python's filesystem abstraction layer"""
+
+ homepage = "https://github.com/PyFilesystem/pyfilesystem2"
+ pypi = "fs/fs-2.4.14.tar.gz"
+
+ version('2.4.14', sha256='9555dc2bc58c58cac03478ac7e9f622d29fe2d20a4384c24c90ab50de2c7b36c')
+ version('0.5.4', sha256='ba2cca8773435a7c86059d57cb4b8ea30fda40f8610941f7822d1ce3ffd36197')
+
+ depends_on('py-setuptools@38.3.0:', type='build')
+ depends_on('py-setuptools@:57', type='build', when='@:0')
+ depends_on('py-appdirs@1.4.3:1.4', type=('build', 'run'))
+ depends_on('py-pytz', type=('build', 'run'))
+ depends_on('py-six@1.10:1', type=('build', 'run'))
+ depends_on('py-enum34@1.1.6:1.1', type=('build', 'run'), when='^python@:3.3')
+ depends_on('py-typing@3.6:3', type=('build', 'run'), when='^python@:3.5')
+ depends_on('py-backports-os@0.1:0', type=('build', 'run'), when='^python@:2')
diff --git a/var/spack/repos/builtin/packages/py-gast/package.py b/var/spack/repos/builtin/packages/py-gast/package.py
index 83706e5056..a6c3f41f7a 100644
--- a/var/spack/repos/builtin/packages/py-gast/package.py
+++ b/var/spack/repos/builtin/packages/py-gast/package.py
@@ -12,6 +12,7 @@ class PyGast(PythonPackage):
homepage = "https://github.com/serge-sans-paille/gast"
pypi = "gast/gast-0.3.2.tar.gz"
+ version('0.5.3', sha256='cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea')
version('0.5.2', sha256='f81fcefa8b982624a31c9e4ec7761325a88a0eba60d36d1da90e47f8fe3c67f7')
version('0.5.1', sha256='b00e63584db482ffe6107b5832042bbe5c5bf856e3c7279b6e93201b3dcfcb46')
version('0.5.0', sha256='8109cbe7aa0f7bf7e4348379da05b8137ea1f059f073332c3c1cedd57db8541f')
diff --git a/var/spack/repos/builtin/packages/py-genshi/package.py b/var/spack/repos/builtin/packages/py-genshi/package.py
index 30d2efa821..1fdf64bb51 100644
--- a/var/spack/repos/builtin/packages/py-genshi/package.py
+++ b/var/spack/repos/builtin/packages/py-genshi/package.py
@@ -15,4 +15,4 @@ class PyGenshi(PythonPackage):
version('0.6.1', sha256='fed947f11dbcb6792bb7161701ec3b9804055ad68c8af0ab4f0f9b25e9a18dbd')
version('0.6', sha256='32aaf76a03f88efa04143bf80700399e6d84eead818fdd19d763fd76af972a4b')
- depends_on("py-setuptools", type='build')
+ depends_on("py-setuptools@:57", type='build')
diff --git a/var/spack/repos/builtin/packages/py-gevent/package.py b/var/spack/repos/builtin/packages/py-gevent/package.py
index 144ccf4b02..0b65a45cfd 100644
--- a/var/spack/repos/builtin/packages/py-gevent/package.py
+++ b/var/spack/repos/builtin/packages/py-gevent/package.py
@@ -12,16 +12,25 @@ class PyGevent(PythonPackage):
homepage = "https://www.gevent.org"
pypi = "gevent/gevent-1.3a2.tar.gz"
- version('1.5.0', sha256='b2814258e3b3fb32786bb73af271ad31f51e1ac01f33b37426b66cb8491b4c29')
- version('1.3a2', sha256='f7ab82697111ea233c7beeadf5240f669dfad9c4bbc89a3ec80a49e2c48a65bd')
+ version('21.8.0', sha256='43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575')
+ version('1.5.0', sha256='b2814258e3b3fb32786bb73af271ad31f51e1ac01f33b37426b66cb8491b4c29')
+ version('1.3a2', sha256='f7ab82697111ea233c7beeadf5240f669dfad9c4bbc89a3ec80a49e2c48a65bd')
- depends_on('py-setuptools@24.2:', type='build', when='@:1.4')
- depends_on('py-setuptools@40.8:', type='build', when='@1.5:')
- depends_on('py-cython@0.27:', type='build', when='@:1.4')
- depends_on('py-cython@0.29.14:', type='build', when='@1.5:')
- depends_on('py-cffi@1.4:', type=('build', 'run'), when='@:1.4')
- depends_on('py-cffi@1.12.2:', type=('build', 'run'), when='@1.5:')
- depends_on('py-greenlet@0.4.13:', type=('build', 'run'), when='@:1.4')
- depends_on('py-greenlet@0.4.14:', type=('build', 'run'), when='@1.5:')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@1.5:')
+ depends_on('python@2.7:2,3.6:', when='@21.8:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.5:', when='@1.5:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.4:', type=('build', 'run'))
+ depends_on('py-setuptools@40.8:', when='@20.5.1:', type=('build', 'run'))
+ depends_on('py-setuptools@40.8:', when='@1.5:', type='build')
+ depends_on('py-setuptools@24.2:', when='@:1.4', type='build')
+ depends_on('py-cython@3.0.0a9:', when='@20.5.1:', type='build')
+ depends_on('py-cython@0.29.14:', when='@1.5:', type='build')
+ depends_on('py-cython@0.27:', when='@:1.4', type='build')
+ depends_on('py-cython@0.27:', when='@:1.4', type='build')
+ depends_on('py-cffi@1.12.3:', when='@1.5:', type=('build', 'run')) # from pyproject.toml
+ depends_on('py-cffi@1.4:', when='@:1.4', type=('build', 'run'))
+ depends_on('py-greenlet@1.1:1', when='@21.8:', type=('build', 'run'))
+ depends_on('py-greenlet@0.4.17:1', when='@20.12:', type=('build', 'run'))
+ depends_on('py-greenlet@0.4.14:', when='@1.5:', type=('build', 'run'))
+ depends_on('py-greenlet@0.4.13:', when='@:1.4', type=('build', 'run'))
+ depends_on('py-zope-event', when='@20.5.1:', type=('build', 'run'))
+ depends_on('py-zope-interface', when='@20.5.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-gin-config/package.py b/var/spack/repos/builtin/packages/py-gin-config/package.py
new file mode 100644
index 0000000000..b10fa8bbb8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-gin-config/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyGinConfig(PythonPackage):
+ """Gin provides a lightweight configuration framework for
+ Python, based on dependency injection."""
+
+ homepage = "https://github.com/google/gin-config"
+ pypi = "gin-config/gin-config-0.5.0.tar.gz"
+
+ version('0.5.0', sha256='0c6ea5026ded927c8c93c990b01c695257c1df446e45e549a158cfbc79e19ed6')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-gpy/package.py b/var/spack/repos/builtin/packages/py-gpy/package.py
index 920cd39755..c45c1674af 100644
--- a/var/spack/repos/builtin/packages/py-gpy/package.py
+++ b/var/spack/repos/builtin/packages/py-gpy/package.py
@@ -11,6 +11,7 @@ class PyGpy(PythonPackage):
homepage = "https://sheffieldml.github.io/GPy/"
pypi = "gpy/GPy-1.9.9.tar.gz"
+ maintainers = ['liuyangzhuan']
version('1.9.9', sha256='04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed')
version('0.8.8', sha256='e135d928cf170e2ec7fb058a035b5a7e334dc6b84d0bfb981556782528341988')
diff --git a/var/spack/repos/builtin/packages/py-greenlet/package.py b/var/spack/repos/builtin/packages/py-greenlet/package.py
index 43d9f197f2..eb438510e0 100644
--- a/var/spack/repos/builtin/packages/py-greenlet/package.py
+++ b/var/spack/repos/builtin/packages/py-greenlet/package.py
@@ -12,6 +12,7 @@ class PyGreenlet(PythonPackage):
homepage = "https://github.com/python-greenlet/greenlet"
pypi = "greenlet/greenlet-0.4.17.tar.gz"
+ version('1.1.2', sha256='e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a')
version('1.1.0', sha256='c87df8ae3f01ffb4483c796fe1b15232ce2b219f0b18126948616224d3f658ee')
version('0.4.17', sha256='41d8835c69a78de718e466dd0e6bfd4b46125f21a67c3ff6d76d8d8059868d6b')
version('0.4.13', sha256='0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4')
diff --git a/var/spack/repos/builtin/packages/py-grpcio-tools/package.py b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py
new file mode 100644
index 0000000000..1ebc9b2ac9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-grpcio-tools/package.py
@@ -0,0 +1,60 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyGrpcioTools(PythonPackage):
+ """Protobuf code generator for gRPC"""
+
+ homepage = "https://grpc.io/"
+ pypi = "grpcio-tools/grpcio-tools-1.42.0.tar.gz"
+
+ version('1.42.0', sha256='d0a0daa82eb2c2fb8e12b82a458d1b7c5516fe1135551da92b1a02e2cba93422')
+ version('1.39.0', sha256='39dfe7415bc0d3860fdb8dd90607594b046b88b57dbe64284efa4820f951c805')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-protobuf@3.5.0.post1:3', type=('build', 'run'))
+ depends_on('py-grpcio@1.42.0:', type=('build', 'run'), when='@1.42.0:')
+ depends_on('py-grpcio@1.39.0:', type=('build', 'run'), when='@1.39.0:1.41')
+ depends_on('py-cython@0.23:', type='build')
+ depends_on('openssl')
+ depends_on('zlib')
+ depends_on('c-ares')
+ depends_on('re2+shared')
+
+ def setup_build_environment(self, env):
+ env.set('GRPC_PYTHON_BUILD_WITH_CYTHON', True)
+ env.set('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL', True)
+ env.set('GRPC_PYTHON_BUILD_SYSTEM_ZLIB', True)
+ env.set('GRPC_PYTHON_BUILD_SYSTEM_CARES', True)
+ env.set('GRPC_PYTHON_BUILD_SYSTEM_RE2', True)
+ # https://github.com/grpc/grpc/pull/24449
+ env.set('GRPC_BUILD_WITH_BORING_SSL_ASM', '')
+ env.set('GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS', str(make_jobs))
+
+ for dep in self.spec.dependencies(deptype='link'):
+ query = self.spec[dep.name]
+ env.prepend_path('LIBRARY_PATH', query.libs.directories[0])
+ env.prepend_path('CPATH', query.headers.directories[0])
+
+ def patch(self):
+ if self.spec.satisfies('%fj'):
+ filter_file("-std=gnu99", "", "setup.py")
+
+ # use the spack packages
+ filter_file(r'(\s+SSL_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['openssl'].prefix.include),
+ 'setup.py')
+ filter_file(r'(\s+ZLIB_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['zlib'].prefix.include),
+ 'setup.py')
+ filter_file(r'(\s+CARES_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['c-ares'].prefix.include),
+ 'setup.py')
+ filter_file(r'(\s+RE2_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['re2'].prefix.include),
+ 'setup.py')
diff --git a/var/spack/repos/builtin/packages/py-grpcio/package.py b/var/spack/repos/builtin/packages/py-grpcio/package.py
index 490d1b67da..0159a69255 100644
--- a/var/spack/repos/builtin/packages/py-grpcio/package.py
+++ b/var/spack/repos/builtin/packages/py-grpcio/package.py
@@ -12,6 +12,7 @@ class PyGrpcio(PythonPackage):
homepage = "https://grpc.io/"
pypi = "grpcio/grpcio-1.32.0.tar.gz"
+ version('1.42.0', sha256='4a8f2c7490fe3696e0cdd566e2f099fb91b51bc75446125175c55581c2f7bc11')
version('1.39.0', sha256='57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407')
version('1.38.1', sha256='1f79d8a24261e3c12ec3a6c25945ff799ae09874fd24815bc17c2dc37715ef6c')
version('1.38.0', sha256='abbf9c8c3df4d5233d5888c6cfa85c1bb68a6923749bd4dd1abc6e1e93986f17')
@@ -41,12 +42,14 @@ class PyGrpcio(PythonPackage):
depends_on('openssl')
depends_on('zlib')
depends_on('c-ares')
+ depends_on('re2+shared')
def setup_build_environment(self, env):
env.set('GRPC_PYTHON_BUILD_WITH_CYTHON', True)
env.set('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL', True)
env.set('GRPC_PYTHON_BUILD_SYSTEM_ZLIB', True)
env.set('GRPC_PYTHON_BUILD_SYSTEM_CARES', True)
+ env.set('GRPC_PYTHON_BUILD_SYSTEM_RE2', True)
# https://github.com/grpc/grpc/pull/24449
env.set('GRPC_BUILD_WITH_BORING_SSL_ASM', '')
env.set('GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS', str(make_jobs))
@@ -59,3 +62,17 @@ class PyGrpcio(PythonPackage):
def patch(self):
if self.spec.satisfies('%fj'):
filter_file("-std=gnu99", "", "setup.py")
+
+ # use the spack packages
+ filter_file(r'(\s+SSL_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['openssl'].prefix.include),
+ 'setup.py')
+ filter_file(r'(\s+ZLIB_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['zlib'].prefix.include),
+ 'setup.py')
+ filter_file(r'(\s+CARES_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['c-ares'].prefix.include),
+ 'setup.py')
+ filter_file(r'(\s+RE2_INCLUDE = ).*',
+ r"\1('{0}',)".format(self.spec['re2'].prefix.include),
+ 'setup.py')
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index e7e4b123b0..7e99067990 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -16,6 +16,8 @@ class PyH5py(PythonPackage):
maintainers = ['bryanherman', 'takluyver']
version('master', branch='master')
+ version('3.6.0', sha256='8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29')
+ version('3.5.0', sha256='77c7be4001ac7d3ed80477de5b6942501d782de1bbe4886597bdfec2a7ab821f')
version('3.4.0', sha256='ee1c683d91ab010d5e85cb61e8f9e7ee0d8eab545bf3dd50a9618f1d0e8f615e')
version('3.3.0', sha256='e0dac887d779929778b3cfd13309a939359cc9e74756fc09af7c527a82797186')
version('3.2.1', sha256='89474be911bfcdb34cbf0d98b8ec48b578c27a89fdb1ae4ee7513f1ef8d9249e')
diff --git a/var/spack/repos/builtin/packages/py-h5sh/package.py b/var/spack/repos/builtin/packages/py-h5sh/package.py
index 042d595b99..5db97659fd 100644
--- a/var/spack/repos/builtin/packages/py-h5sh/package.py
+++ b/var/spack/repos/builtin/packages/py-h5sh/package.py
@@ -10,15 +10,15 @@ class PyH5sh(PythonPackage):
"""Shell-like environment for HDF5."""
homepage = "https://github.com/sethrj/h5sh"
- url = "https://github.com/sethrj/h5sh/archive/v0.1.1.tar.gz"
+ pypi = "h5sh/h5sh-0.1.1.tar.gz"
maintainers = ['sethrj']
- version('0.1.1', sha256='111989d8200d1da8e150aee637a907e524ca0f98d5005a55587cba0d94d9c4a0')
+ version('0.1.1', sha256='ccd8fed532d479d297baef044265100a4fb9cd119bce6f43270f2ee9f63a2183')
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-h5py', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-h5py@2.7.1:', type=('build', 'run'))
+ depends_on('py-numpy@1.15:', type=('build', 'run'))
depends_on('py-prompt-toolkit@2:', type=('build', 'run'))
depends_on('py-pygments', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-hatchet/package.py b/var/spack/repos/builtin/packages/py-hatchet/package.py
index 2d58f51acf..0e78ac9572 100644
--- a/var/spack/repos/builtin/packages/py-hatchet/package.py
+++ b/var/spack/repos/builtin/packages/py-hatchet/package.py
@@ -22,7 +22,9 @@ class PyHatchet(PythonPackage):
version('1.0.1', sha256='e5a4b455ab6bfbccbce3260673d9af8d1e4b21e19a2b6d0b6c1e1d7727613b7a')
version('1.0.0', sha256='efd218bc9152abde0a8006489a2c432742f00283a114c1eeb6d25abc10f5862d')
- depends_on('python@2.7,3:', type=('build', 'run'))
+ # https://github.com/hatchet/hatchet/issues/428
+ depends_on('python@2.7:3.8', when='@:1.3.0', type=('build', 'run'))
+ depends_on('python@2.7:', when='@1.3.1:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-matplotlib', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-hep-ml/package.py b/var/spack/repos/builtin/packages/py-hep-ml/package.py
new file mode 100644
index 0000000000..903e3e9fce
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-hep-ml/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyHepMl(PythonPackage):
+ """Machine Learning for High Energy Physics"""
+
+ homepage = "https://github.com/arogozhnikov/hep_ml"
+ pypi = "hep_ml/hep_ml-0.7.0.tar.gz"
+
+ version('0.7.0', sha256='0402037064d78f5723106b385ad5f20df8f67cb312c57cb4ce3839c5616f328e')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1.9:', type=('build', 'run'))
+ depends_on('py-scipy@0.15.0:', type=('build', 'run'))
+ depends_on('py-pandas@0.14.0:', type=('build', 'run'))
+ depends_on('py-scikit-learn@0.19:', type=('build', 'run'))
+ depends_on('py-theano@1.0.2:', type=('build', 'run'))
+ depends_on('py-six', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-hepdata-lib/package.py b/var/spack/repos/builtin/packages/py-hepdata-lib/package.py
new file mode 100644
index 0000000000..5ffa2570e3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-hepdata-lib/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyHepdataLib(PythonPackage):
+ """Library for getting your data into HEPData"""
+
+ homepage = "https://github.com/HEPData/hepdata_lib"
+ pypi = "hepdata_lib/hepdata_lib-0.9.0.tar.gz"
+
+ version('0.9.0', sha256='b7b194b8af0428f34094ac403f8794a672c82d85e33154161d6b3744cc2b9896')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('root+python', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-pyyaml@4:', type=('build', 'run'))
+ depends_on('py-future', type=('build', 'run'))
+ depends_on('py-six', type=('build', 'run'))
+ depends_on('py-pytest-runner', type='build')
+ depends_on('py-pytest-cov', type='build')
diff --git a/var/spack/repos/builtin/packages/py-hist/package.py b/var/spack/repos/builtin/packages/py-hist/package.py
new file mode 100644
index 0000000000..ac9d80403d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-hist/package.py
@@ -0,0 +1,31 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyHist(PythonPackage):
+ """Hist classes and utilities"""
+
+ homepage = "https://github.com/scikit-hep/hist"
+ pypi = "hist/hist-2.5.2.tar.gz"
+
+ version('2.5.2', sha256='0bafb8b956cc041f1b26e8f5663fb8d3b8f7673f56336facb84d8cfdc30ae2cf')
+
+ variant('plot', default='False',
+ description='Add support for drawing histograms')
+
+ depends_on('python@3.7:', type=('build', 'run'))
+ depends_on('py-setuptools@45:', type='build')
+ depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on('py-boost-histogram@1.2.0:1.2', type=('build', 'run'))
+ depends_on('py-histoprint@2.2.0:', type=('build', 'run'))
+ depends_on('py-numpy@1.14.5:', type=('build', 'run'))
+ depends_on('py-typing-extensions@3.7:', type=('build', 'run'), when='^python@:3.7')
+
+ depends_on('py-matplotlib@3.0:', type=('build', 'run'), when='+plot')
+ depends_on('py-scipy@1.4:', type=('build', 'run'), when='+plot')
+ depends_on('py-iminuit@2:', type=('build', 'run'), when='+plot')
+ depends_on('py-mplhep@0.2.16:', type=('build', 'run'), when='+plot')
diff --git a/var/spack/repos/builtin/packages/py-histbook/package.py b/var/spack/repos/builtin/packages/py-histbook/package.py
new file mode 100644
index 0000000000..acd3c5a78e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-histbook/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyHistbook(PythonPackage):
+ """Versatile, high-performance histogram toolkit for Numpy."""
+
+ homepage = "https://github.com/scikit-hep/histbook"
+ pypi = "histbook/histbook-1.2.5.tar.gz"
+
+ version('1.2.5', sha256='76d1f143f8abccf5539029fbef8133db84f377fc7752ac9e7e6d19ac9a277967')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1.8.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-histogrammar/package.py b/var/spack/repos/builtin/packages/py-histogrammar/package.py
new file mode 100644
index 0000000000..f0327610cb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-histogrammar/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyHistogrammar(PythonPackage):
+ """Composable histogram primitives for distributed data reduction."""
+
+ homepage = "https://histogrammar.github.io/histogrammar-docs"
+ pypi = "histogrammar/histogrammar-1.0.25.tar.gz"
+
+ version('1.0.25', sha256='01d5f99cdb8dce8f02dd1adbfcc530a097154f3696d7778d0ed596d06d5ce432')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1.18.0:', type=('build', 'run'))
+ depends_on('py-tqdm', type=('build', 'run'))
+ depends_on('py-joblib@0.14.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-histoprint/package.py b/var/spack/repos/builtin/packages/py-histoprint/package.py
new file mode 100644
index 0000000000..a1de14692b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-histoprint/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyHistoprint(PythonPackage):
+ """Pretty print of NumPy (and other) histograms to the console"""
+
+ homepage = "https://github.com/scikit-hep/histoprint"
+ pypi = "histoprint/histoprint-2.2.0.tar.gz"
+
+ version('2.2.0', sha256='ef8b65f7926aaa989f076857b76291175245dd974804b408483091d1e28b00f6')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-setuptools-scm@3.4:+toml', type='build')
+ depends_on('py-click@7.0.0:', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-uhi@0.2.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-hpbandster/package.py b/var/spack/repos/builtin/packages/py-hpbandster/package.py
new file mode 100644
index 0000000000..08703b0c6d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-hpbandster/package.py
@@ -0,0 +1,35 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+# Package automatically generated using 'pip2spack' converter
+
+
+class PyHpbandster(PythonPackage):
+ """
+ A distributed Hyperband implementation with lots of room for improvement
+ """
+
+ homepage = "https://github.com/automl/HpBandSter"
+ pypi = 'hpbandster/hpbandster-0.7.4.tar.gz'
+ maintainers = ['liuyangzhuan']
+
+ version('0.7.4', sha256='49ffc32688155b509e62f3617b52ae15a96c9bff2c996a23df83f279106c5921')
+ version('0.7.3', sha256='dd6c255f5dfe773a7f0c5ecf580b46a406d9f691303e2f849a14f7ae08ff9f13')
+ version('0.7.2', sha256='24dd3311b14fa76ab8111062ced670ff888e7e99cad07dcc3398361689c09f90')
+ version('0.7.1', sha256='41a55c95787eccd23def00f73013fbc9efad3cdc20d9e03270c7c959643dc5ff')
+ version('0.7.0', sha256='b6a46c73cb6a62e2f2d20984087a3458cea056aef5aa0fc0cd606bdd116eed94')
+ version('0.6.1', sha256='8812743b43b228dbf38fe2d5c5ecf238c6a742d02d8bdd264a2f193b96ca3b92')
+ version('0.6.0', sha256='26e69a2f84c8d41bea2fd703f489453a3e9301dcb62f15271b16a3db4ccf225d')
+ version('0.5.6', sha256='bc8a93638adda5cc0838c836402f18b456631363aefbfdf52942e9f8c7251893')
+
+ depends_on('python@3:', type=('build', 'run'))
+ depends_on('py-configspace', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-statsmodels', type=('build', 'run'))
+ depends_on('py-netifaces', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+ depends_on('py-serpent', type=('build', 'run'))
+ depends_on('py-pyro4', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-httpretty/package.py b/var/spack/repos/builtin/packages/py-httpretty/package.py
index 03980d7b23..8bb978f2f5 100644
--- a/var/spack/repos/builtin/packages/py-httpretty/package.py
+++ b/var/spack/repos/builtin/packages/py-httpretty/package.py
@@ -12,6 +12,7 @@ class PyHttpretty(PythonPackage):
homepage = "https://httpretty.readthedocs.io/en/latest/"
pypi = "httpretty/httpretty-1.1.3.tar.gz"
+ version('1.1.4', sha256='20de0e5dd5a18292d36d928cc3d6e52f8b2ac73daec40d41eb62dee154933b68')
version('1.1.3', sha256='229ade39175ea4324e767f29dc24e5f846fbc72bf80e1a919b2547a6574ff601')
depends_on('python@3:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-humanize/package.py b/var/spack/repos/builtin/packages/py-humanize/package.py
index 8240561773..5ad7992088 100644
--- a/var/spack/repos/builtin/packages/py-humanize/package.py
+++ b/var/spack/repos/builtin/packages/py-humanize/package.py
@@ -16,6 +16,15 @@ class PyHumanize(PythonPackage):
homepage = "https://github.com/jmoiron/humanize"
pypi = "humanize/humanize-0.5.1.tar.gz"
+ version('3.12.0', sha256='5ec1a66e230a3e31fb3f184aab9436ea13d4e37c168e0ffc345ae5bb57e58be6')
version('0.5.1', sha256='a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19')
+ depends_on('python@3.6:', when='@3:', type=('build', 'run'))
+ depends_on('python@3.5:', when='@1.1.0:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.5:', when='@1.0.0', type=('build', 'run'))
+ depends_on('py-setuptools@42:', when='@3.2:', type=('build', 'run'))
+ depends_on('py-setuptools', when='@3:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools-scm+toml@3.4:', when='@3.2:', type='build')
+ depends_on('py-setuptools-scm', when='@1:', type='build')
+ depends_on('py-importlib-metadata', when='@3.12: ^python@:3.7', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-hyperlink/package.py b/var/spack/repos/builtin/packages/py-hyperlink/package.py
new file mode 100644
index 0000000000..fbaa2adf72
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-hyperlink/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyHyperlink(PythonPackage):
+ """A featureful, immutable, and correct URL for Python."""
+
+ homepage = "https://github.com/python-hyper/hyperlink"
+ pypi = "hyperlink/hyperlink-21.0.0.tar.gz"
+
+ version('21.0.0', sha256='427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b')
+
+ depends_on('python@2.6:2,3.4:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-idna@2.5:', type=('build', 'run'))
+ depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-idna/package.py b/var/spack/repos/builtin/packages/py-idna/package.py
index 3cd8026234..873a26bee2 100644
--- a/var/spack/repos/builtin/packages/py-idna/package.py
+++ b/var/spack/repos/builtin/packages/py-idna/package.py
@@ -13,11 +13,14 @@ class PyIdna(PythonPackage):
homepage = "https://github.com/kjd/idna"
pypi = "idna/idna-3.2.tar.gz"
+ version('3.3', sha256='9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d')
version('3.2', sha256='467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3')
version('2.9', sha256='7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb')
version('2.8', sha256='c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407')
version('2.5', sha256='3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
- depends_on('python@3.5:', type=('build', 'run'), when='@3.2')
+ depends_on('python@3.5:', when='@3.2:', type=('build', 'run'))
+ depends_on('python@3.4:', when='@3:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.4:', when='@2.8:2', type=('build', 'run'))
+ depends_on('python@2.6:', when='@:2.7', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'link'))
diff --git a/var/spack/repos/builtin/packages/py-imageio/package.py b/var/spack/repos/builtin/packages/py-imageio/package.py
index b69b0e3ae4..acd47c85c9 100644
--- a/var/spack/repos/builtin/packages/py-imageio/package.py
+++ b/var/spack/repos/builtin/packages/py-imageio/package.py
@@ -7,14 +7,17 @@ from spack import *
class PyImageio(PythonPackage):
- """ Imageio is a Python library that provides an easy interface
+ """ Python library for reading and writing image data.
+
+ Imageio is a Python library that provides an easy interface
to read and write a wide range of image data, including animated
images, video, volumetric data, and scientific formats. It is
cross-platform, runs on Python 2.7 and 3.4+, and is easy to install."""
- homepage = "https://imageio.github.io/"
+ homepage = "https://github.com/imageio/imageio"
pypi = "imageio/imageio-2.3.0.tar.gz"
+ version('2.10.3', sha256='469c59fe71c81cdc41c84f842d62dd2739a08fac8cb85f5a518a92a6227e2ed6')
version('2.9.0', sha256='52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0')
version('2.5.0', sha256='42e65aadfc3d57a1043615c92bdf6319b67589e49a0aae2b985b82144aceacad')
version('2.4.1', sha256='16b8077bc8a5fa7a58b3e744f7ecbb156d8c088132df31e0f4f546c98de3514a')
@@ -23,9 +26,10 @@ class PyImageio(PythonPackage):
# TODO: Add variants for plugins, and optional dependencies
# Fix for python 2 if needed.
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('pil', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@:2.5.0')
- depends_on('python@3.5:', type=('build', 'run'), when='@2.9.0:')
- depends_on('py-setuptools', type='build')
- depends_on('ffmpeg', type='run')
+ depends_on('python@3.5:', when='@2.9.0:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.4:', when='@:2.5.0', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('pil@8.3.2:', when='@2.10:', type=('build', 'run'))
+ depends_on('pil', type=('build', 'run'))
+ depends_on('ffmpeg', type='run')
diff --git a/var/spack/repos/builtin/packages/py-imagesize/package.py b/var/spack/repos/builtin/packages/py-imagesize/package.py
index 78b4fe8477..d17b30ea1b 100644
--- a/var/spack/repos/builtin/packages/py-imagesize/package.py
+++ b/var/spack/repos/builtin/packages/py-imagesize/package.py
@@ -13,7 +13,9 @@ class PyImagesize(PythonPackage):
homepage = "https://github.com/shibukawa/imagesize_py"
pypi = "imagesize/imagesize-0.7.1.tar.gz"
- version('1.1.0', sha256='f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5')
+ version('1.3.0', sha256='cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d')
+ version('1.1.0', sha256='f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5')
version('0.7.1', sha256='0ab2c62b87987e3252f89d30b7cedbec12a01af9274af9ffa48108f2c13c6062')
+ depends_on('python@2.7:2,3.4:', when='@1.2:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-iminuit/package.py b/var/spack/repos/builtin/packages/py-iminuit/package.py
index 787cf7e2fe..65d0b16914 100644
--- a/var/spack/repos/builtin/packages/py-iminuit/package.py
+++ b/var/spack/repos/builtin/packages/py-iminuit/package.py
@@ -11,11 +11,15 @@ class PyIminuit(PythonPackage):
pypi = "iminuit/iminuit-1.2.tar.gz"
+ version('2.8.4', sha256='4b09189f3094896cfc68596adc95b7f1d92772e1de1424e5dc4dd81def56e8b0')
+ version('1.5.2', sha256='0b54f4d4fc3175471398b573d24616ddb8eb7d63808aa370cfc71fc1d636a1fd')
version('1.3.7', sha256='9173e52cc4a0c0bda13ebfb862f9b074dc5de345b23cb15c1150863aafd8a26c')
version('1.3.6', sha256='d79a197f305d4708a0e3e52b0a6748c1a6997360d2fbdfd09c022995a6963b5e')
version('1.2', sha256='7651105fc3f186cfb5742f075ffebcc5088bf7797d8ed124c00977eebe0d1c64')
# Required dependencies
+ depends_on('python@3.6:', type=('build', 'run'), when='@2.6.1:')
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type=('build', 'run'), when='@1.3:1.3.6')
depends_on('py-numpy@1.11.3:', type=('build', 'run'), when='@1.3.7:')
+ depends_on('py-cmake', type='build', when='@2.8.4')
diff --git a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
index 961e2908f0..7d0bfc99bb 100644
--- a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
+++ b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py
@@ -12,6 +12,7 @@ class PyImportlibMetadata(PythonPackage):
homepage = "https://importlib-metadata.readthedocs.io/"
pypi = "importlib_metadata/importlib_metadata-1.2.0.tar.gz"
+ version('4.8.2', sha256='75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb')
version('4.8.1', sha256='f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1')
version('4.6.1', sha256='079ada16b7fc30dfbb5d13399a5113110dab1aa7c2bc62f66af75f0b717c8cac')
version('3.10.1', sha256='c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1')
diff --git a/var/spack/repos/builtin/packages/py-incremental/package.py b/var/spack/repos/builtin/packages/py-incremental/package.py
new file mode 100644
index 0000000000..4fb8cd26c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-incremental/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyIncremental(PythonPackage):
+ """A small library that versions your Python projects."""
+
+ homepage = "https://github.com/twisted/incremental"
+ pypi = "incremental/incremental-21.3.0.tar.gz"
+
+ version('21.3.0', sha256='02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-intensity-normalization/package.py b/var/spack/repos/builtin/packages/py-intensity-normalization/package.py
new file mode 100644
index 0000000000..0a941d2b28
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-intensity-normalization/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyIntensityNormalization(PythonPackage):
+ """Normalize intensities of images from various MRI modalities"""
+
+ homepage = "https://github.com/jcreinhold/intensity-normalization"
+ pypi = "intensity-normalization/intensity-normalization-2.1.1.tar.gz"
+
+ version('2.1.1', sha256='686b86754a9a520a03f793cb15c87e945f68ede78ac0ad1b3564c5d5b7ac9486')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type=('build',))
+ depends_on('py-pytest-runner', type=('build',))
+ depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on('py-nibabel', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-scikit-fuzzy', type=('build', 'run'))
+ depends_on('py-scikit-image', type=('build', 'run'))
+ depends_on('py-scikit-learn', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+ depends_on('py-statsmodels', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-interface-meta/package.py b/var/spack/repos/builtin/packages/py-interface-meta/package.py
new file mode 100644
index 0000000000..d7b5f95d9b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-interface-meta/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyInterfaceMeta(PythonPackage):
+ """A convenient way to expose an extensible API with enforced method
+ signatures and consistent documentation."""
+
+ homepage = "https://github.com/matthewwardrop/interface_meta"
+ pypi = "interface_meta/interface_meta-1.2.4.tar.gz"
+
+ version('1.2.4', sha256='4c7725dd4b80f97b7eecfb26023e1a8a7cdbb6d6a7207a8e93f9d4bfef9ee566')
+
+ depends_on('python@3.4:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-setupmeta', type='build')
diff --git a/var/spack/repos/builtin/packages/py-ipykernel/package.py b/var/spack/repos/builtin/packages/py-ipykernel/package.py
index e68da51bf9..3d2fbfd5a1 100644
--- a/var/spack/repos/builtin/packages/py-ipykernel/package.py
+++ b/var/spack/repos/builtin/packages/py-ipykernel/package.py
@@ -13,6 +13,7 @@ class PyIpykernel(PythonPackage):
version('6.4.1', sha256='df3355e5eec23126bc89767a676c5f0abfc7f4c3497d118c592b83b316e8c0cd')
version('6.2.0', sha256='4439459f171d77f35b7f7e72dace5d7c2dd10a5c9e2c22b173ad9048fbfe7656')
version('6.0.2', sha256='7fb3e370dbb481b012b74bed4e794d2d16eb2a83930b31e6d8d030b9fdb4d5b4')
+ version('5.5.6', sha256='4ea44b90ae1f7c38987ad58ea0809562a17c2695a0499644326f334aecd369ec')
version('5.5.5', sha256='e976751336b51082a89fc2099fb7f96ef20f535837c398df6eab1283c2070884')
version('5.3.4', sha256='9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d')
version('5.1.1', sha256='f0e962052718068ad3b1d8bcc703794660858f58803c3798628817f492a8769c')
@@ -46,7 +47,7 @@ class PyIpykernel(PythonPackage):
depends_on('py-traitlets@4.1.0:', type=('build', 'run'))
depends_on('py-traitlets@4.1.0:5', when='@6:', type=('build', 'run'))
depends_on('py-jupyter-client', type=('build', 'run'))
- depends_on('py-jupyter-client@:6', when='@6.0.2:', type=('build', 'run'))
+ depends_on('py-jupyter-client@:6', when='@6.0.2:6.1', type=('build', 'run'))
depends_on('py-jupyter-client@:7', when='@6.2:', type=('build', 'run'))
depends_on('py-tornado@4.0:', when='@:4', type=('build', 'run'))
depends_on('py-tornado@4.2:', when='@5', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-itsdangerous/package.py b/var/spack/repos/builtin/packages/py-itsdangerous/package.py
index 168af1fad0..09959518d6 100644
--- a/var/spack/repos/builtin/packages/py-itsdangerous/package.py
+++ b/var/spack/repos/builtin/packages/py-itsdangerous/package.py
@@ -12,8 +12,10 @@ class PyItsdangerous(PythonPackage):
homepage = "https://github.com/mitsuhiko/itsdangerous"
pypi = "itsdangerous/itsdangerous-1.1.0.tar.gz"
+ version('2.0.1', sha256='9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0')
version('1.1.0', sha256='321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19')
version('0.24', sha256='cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519')
+ depends_on('python@3.6:', when='@2:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-jeepney/package.py b/var/spack/repos/builtin/packages/py-jeepney/package.py
index e4004afe8a..356f14b302 100644
--- a/var/spack/repos/builtin/packages/py-jeepney/package.py
+++ b/var/spack/repos/builtin/packages/py-jeepney/package.py
@@ -10,6 +10,7 @@ class PyJeepney(PythonPackage):
homepage = "https://gitlab.com/takluyver/jeepney"
pypi = "jeepney/jeepney-0.4.3.tar.gz"
+ version('0.7.1', sha256='fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f')
version('0.6.0', sha256='7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657')
version('0.4.3', sha256='3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e')
diff --git a/var/spack/repos/builtin/packages/py-jinja2/package.py b/var/spack/repos/builtin/packages/py-jinja2/package.py
index 9367d18aa9..c2129d4c09 100644
--- a/var/spack/repos/builtin/packages/py-jinja2/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2/package.py
@@ -14,7 +14,8 @@ class PyJinja2(PythonPackage):
homepage = "https://palletsprojects.com/p/jinja/"
pypi = "Jinja2/Jinja2-2.10.3.tar.gz"
- version('3.0.1', sha256='703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4')
+ version('3.0.3', sha256='611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7')
+ version('3.0.1', sha256='703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4')
version('2.11.3', sha256='a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6')
version('2.10.3', sha256='9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de')
version('2.10.1', sha256='065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013')
diff --git a/var/spack/repos/builtin/packages/py-jsonpickle/package.py b/var/spack/repos/builtin/packages/py-jsonpickle/package.py
index 6bf9271360..d58a887f49 100644
--- a/var/spack/repos/builtin/packages/py-jsonpickle/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonpickle/package.py
@@ -10,9 +10,11 @@ class PyJsonpickle(PythonPackage):
homepage = "https://github.com/jsonpickle/jsonpickle"
pypi = "jsonpickle/jsonpickle-1.4.1.tar.gz"
+ version('2.0.0', sha256='0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a')
version('1.4.1', sha256='e8d4b7cd0bd6826001a74377df1079a76ad8bae0f909282de2554164c837c8ba')
depends_on('python@2.7:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@42:', type='build', when='@2.0.0:')
depends_on('py-setuptools-scm@3.4.1:+toml', type='build')
depends_on("py-importlib-metadata", when="^python@:3.7", type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py b/var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py
new file mode 100644
index 0000000000..3246d838cd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-jupyter-server-mathjax/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyJupyterServerMathjax(PythonPackage):
+ """MathJax resources as a Jupyter Server Extension."""
+
+ homepage = "http://jupyter.org/"
+ pypi = "jupyter_server_mathjax/jupyter_server_mathjax-0.2.3.tar.gz"
+
+ version('0.2.3', sha256='564e8d1272019c6771208f577b5f9f2b3afb02b9e2bff3b34c042cef8ed84451')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-wheel', type='build')
+ depends_on('py-jupyter-packaging', type='build')
+ depends_on('py-jupyter-server@1.1:1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-keras2onnx/package.py b/var/spack/repos/builtin/packages/py-keras2onnx/package.py
new file mode 100644
index 0000000000..60db5d7484
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-keras2onnx/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyKeras2onnx(PythonPackage):
+ """Converts Machine Learning models to ONNX for use in Windows ML"""
+
+ homepage = "https://github.com/onnx/keras-onnx"
+
+ url = "https://github.com/onnx/keras-onnx/archive/refs/tags/v1.7.0.tar.gz"
+
+ version('1.7.0', sha256='8ec9c4e1c1f870d420934d1aa7cbc9faab80c6af366900bf95e5f48280c0d199')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-protobuf', type=('build', 'run'))
+ depends_on('py-requests', type=('build', 'run'))
+ depends_on('py-onnx', type=('build', 'run'))
+ depends_on('py-onnxconverter-common@1.7.0:', type=('build', 'run'))
+ depends_on('py-fire', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-keyring/package.py b/var/spack/repos/builtin/packages/py-keyring/package.py
index 2014acc389..325dde48aa 100644
--- a/var/spack/repos/builtin/packages/py-keyring/package.py
+++ b/var/spack/repos/builtin/packages/py-keyring/package.py
@@ -14,10 +14,14 @@ class PyKeyring(PythonPackage):
homepage = "https://github.com/jaraco/keyring"
pypi = "keyring/keyring-23.0.1.tar.gz"
+ version('23.2.1', sha256='6334aee6073db2fb1f30892697b1730105b5e9a77ce7e61fca6b435225493efe')
+ version('23.2.0', sha256='1e1970dcecde00c59ff6033d69cee3b283cd0d7cbad78b0dc4cdd15c8a28bcf8')
+ version('23.1.0', sha256='b7e0156667f5dcc73c1f63a518005cd18a4eb23fe77321194fefcc03748b21a4')
version('23.0.1', sha256='045703609dd3fccfcdb27da201684278823b72af515aedec1a8515719a038cb8')
depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-setuptools@56:', type='build', when='@23.1.0:')
depends_on('py-setuptools-scm@3.4.1:+toml', type='build')
depends_on('py-importlib-metadata@3.6:', type=('build', 'run'))
depends_on('py-secretstorage@3.2:', type=('build', 'run'), when='platform=linux')
diff --git a/var/spack/repos/builtin/packages/py-kornia/package.py b/var/spack/repos/builtin/packages/py-kornia/package.py
index ccc21b5c2b..b87b7ae72c 100644
--- a/var/spack/repos/builtin/packages/py-kornia/package.py
+++ b/var/spack/repos/builtin/packages/py-kornia/package.py
@@ -12,6 +12,7 @@ class PyKornia(PythonPackage):
homepage = "https://www.kornia.org/"
pypi = "kornia/kornia-0.5.10.tar.gz"
+ version('0.6.2', sha256='eea722b3ff2f227a9ef8088cdab480cd40dd91d9138649bfd92cfa668204eea9')
version('0.6.1', sha256='f638fb3309f88666545866c162f510b6d485fd8f7131d5570d4e6c0d295fdcd6')
version('0.5.10', sha256='428b4b934a2ba7360cc6cba051ed8fd96c2d0f66611fdca0834e82845f14f65d')
diff --git a/var/spack/repos/builtin/packages/py-laspy/package.py b/var/spack/repos/builtin/packages/py-laspy/package.py
new file mode 100644
index 0000000000..756ca9cc4e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-laspy/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyLaspy(PythonPackage):
+ """Native Python ASPRS LAS read/write library."""
+
+ homepage = "https://github.com/laspy/laspy"
+ pypi = "laspy/laspy-2.0.3.tar.gz"
+
+ version('2.0.3', sha256='95c6367bc3a7c1e0d8dc118ae4a6b038bf9e8ad3e60741ecb8d59c36d32f822a')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-law/package.py b/var/spack/repos/builtin/packages/py-law/package.py
new file mode 100644
index 0000000000..432f54191e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-law/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyLaw(PythonPackage):
+ """Build large-scale task workflows using luigi,
+ remote job submission, remote targets, and environment"""
+
+ homepage = "https://github.com/riga/law"
+ pypi = "law/law-0.1.6.tar.gz"
+
+ version('0.1.6', sha256='17c2c1837080590bff4d2e7228bfb418733f11b60e2bac8f589e68da78cf2ab8')
+
+ depends_on('python@2.7:2,3.3:3', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six@1.13:', type=('build', 'run'))
+ depends_on('py-luigi@2.8.2:2', type=('build', 'run'), when='^python@:2.7')
+ depends_on('py-luigi@2.8.2:', type=('build', 'run'), when='^python@3:')
diff --git a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
index 2dac51e390..c5b537de91 100644
--- a/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
+++ b/var/spack/repos/builtin/packages/py-lazy-object-proxy/package.py
@@ -12,10 +12,14 @@ class PyLazyObjectProxy(PythonPackage):
homepage = "https://github.com/ionelmc/python-lazy-object-proxy"
pypi = "lazy-object-proxy/lazy-object-proxy-1.3.1.tar.gz"
+ version('1.6.0', sha256='489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726')
version('1.4.3', sha256='f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0')
version('1.3.1', sha256='eb91be369f945f10d3a49f5f9be8b3d0b93a4c2be8f8a5b83b0571b8123e0a7a')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.6:', type=('build', 'run'), when='@1.6.0:')
depends_on('py-setuptools-scm@3.3.1:', type='build', when='@1.4.0:')
+ depends_on('py-setuptools-scm@3.3.1:5', type='build', when='@1.6.0:')
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@30.3.0:', type='build', when='@1.6.0:')
diff --git a/var/spack/repos/builtin/packages/py-lhsmdu/package.py b/var/spack/repos/builtin/packages/py-lhsmdu/package.py
new file mode 100644
index 0000000000..2a8b61b4b8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-lhsmdu/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+# Package automatically generated using 'pip2spack' converter
+
+
+class PyLhsmdu(PythonPackage):
+ """Latin Hypercube Sampling with Multi-Dimensional Uniformity (LHS-MDU)
+ from Deutsch and Deutsch, Latin hypercube sampling with multidimensional
+ uniformity."""
+
+ homepage = "http://github.com/sahilm89/lhsmdu"
+ pypi = 'lhsmdu/lhsmdu-1.1.tar.gz'
+ maintainers = ['liuyangzhuan']
+
+ version('1.1', sha256='4bc1df6b9cdd27bae0bff75cf1693f455ba32e4fa87ca9a932f60696607fe712')
+ version('0.1', sha256='ef462054b354cd20b10c6d80876c8fdb552a8d2e23eaf74179dc91956d68d32a')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type='build')
+ depends_on('py-scipy', type='build')
diff --git a/var/spack/repos/builtin/packages/py-liac-arff/package.py b/var/spack/repos/builtin/packages/py-liac-arff/package.py
new file mode 100644
index 0000000000..8492fd694c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-liac-arff/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyLiacArff(PythonPackage):
+ """The liac-arff module implements functions to read and
+ write ARFF files in Python."""
+
+ homepage = "https://github.com/renatopp/liac-arff"
+ pypi = "liac-arff/liac-arff-2.5.0.tar.gz"
+
+ version('2.5.0', sha256='3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da')
+
+ depends_on('python@2.7:2.999,3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cython', type='build')
diff --git a/var/spack/repos/builtin/packages/py-lizard/package.py b/var/spack/repos/builtin/packages/py-lizard/package.py
new file mode 100644
index 0000000000..bdf9e6a88e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-lizard/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyLizard(PythonPackage):
+ """A code analyzer without caring the C/C++ header files.
+ It works with Java, C/C++, JavaScript, Python, Ruby,
+ Swift, Objective C. Metrics includes cyclomatic
+ complexity number etc."""
+
+ homepage = "http://www.lizard.ws/"
+ pypi = "lizard/lizard-1.17.9.tar.gz"
+
+ version('1.17.9', sha256='76ee0e631d985bea1dd6521a03c6c2fa9dce5a2248b3d26c49890e9e085b7aed')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-lockfile/package.py b/var/spack/repos/builtin/packages/py-lockfile/package.py
index 8de746add6..4862f94b2b 100644
--- a/var/spack/repos/builtin/packages/py-lockfile/package.py
+++ b/var/spack/repos/builtin/packages/py-lockfile/package.py
@@ -18,8 +18,11 @@ class PyLockfile(PythonPackage):
possibilities it provides than as production-quality code.
"""
pypi = "lockfile/lockfile-0.10.2.tar.gz"
+ homepage = "https://launchpad.net/pylockfile"
+ version('0.12.2', sha256='6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799')
version('0.10.2', sha256='9e42252f17d1dd89ee31745e0c4fbe58862c25147eb0ef5295c9cd9bcb4ea2c1')
depends_on("py-setuptools", type='build')
depends_on("py-pbr", type='build')
+ depends_on("py-pbr@1.8:", type='build', when='@0.12.2:')
diff --git a/var/spack/repos/builtin/packages/py-lws/package.py b/var/spack/repos/builtin/packages/py-lws/package.py
new file mode 100644
index 0000000000..1bcfbd2b5e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-lws/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class PyLws(PythonPackage):
+ """Fast spectrogram phase recovery using Local Weighted Sums"""
+
+ homepage = "https://pypi.org/project/lws/"
+ pypi = "lws/lws-1.2.6.tar.gz"
+
+ version('1.2.6', sha256='ac94834832aadfcd53fcf4a77e1d95155063b39adbce14c733f8345bdac76e87')
+
+ depends_on('python@3:', type=('build', 'run'))
+ depends_on('py-cython', type='build')
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+
+ def setup_build_environment(self, env):
+ env.set('LWS_USE_CYTHON', 1)
diff --git a/var/spack/repos/builtin/packages/py-lxml/package.py b/var/spack/repos/builtin/packages/py-lxml/package.py
index 0a4cfe54f9..7f4cba072e 100644
--- a/var/spack/repos/builtin/packages/py-lxml/package.py
+++ b/var/spack/repos/builtin/packages/py-lxml/package.py
@@ -13,6 +13,7 @@ class PyLxml(PythonPackage):
homepage = "https://lxml.de/"
pypi = "lxml/lxml-4.6.1.tar.gz"
+ version('4.6.4', sha256='daf9bd1fee31f1c7a5928b3e1059e09a8d683ea58fb3ffc773b6c88cb8d1399c')
version('4.6.3', sha256='39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468')
version('4.6.1', sha256='c152b2e93b639d1f36ec5a8ca24cde4a8eefb2b6b83668fcd8e83a67badcb367')
version('4.5.2', sha256='cdc13a1682b2a6241080745b1953719e7fe0850b40a5c71ca574f090a1391df6')
@@ -23,8 +24,8 @@ class PyLxml(PythonPackage):
version('2.3', sha256='eea1b8d29532739c1383cb4794c5eacd6176f0972b59e8d29348335b87ff2e66')
variant('html5', default=False, description='Enable html5lib backend')
- variant('htmlsoup', default=False, description='Enable BeautifulSoup4 backend')
- variant('cssselect', default=False, description='Enable cssselect module')
+ variant('htmlsoup', default=False, description='Enable BeautifulSoup4 backend')
+ variant('cssselect', default=False, description='Enable cssselect module')
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-lz4/package.py b/var/spack/repos/builtin/packages/py-lz4/package.py
index 57fcf26afe..f60e0eeb4a 100644
--- a/var/spack/repos/builtin/packages/py-lz4/package.py
+++ b/var/spack/repos/builtin/packages/py-lz4/package.py
@@ -12,7 +12,12 @@ class PyLz4(PythonPackage):
homepage = "https://github.com/python-lz4/python-lz4"
pypi = "lz4/lz4-3.1.0.tar.gz"
+ version('3.1.3', sha256='081ef0a3b5941cb03127f314229a1c78bd70c9c220bb3f4dd80033e707feaa18')
version('3.1.0', sha256='debe75513db3eb9e5cdcd82a329ff38374b6316ab65b848b571e0404746c1e05')
- depends_on('python@3.4:', type=('build', 'run'))
+ depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools-scm', type='build')
+ depends_on('py-pkgconfig', type='build')
+ depends_on('lz4@1.7.5:')
+ depends_on('py-future', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-make/package.py b/var/spack/repos/builtin/packages/py-make/package.py
new file mode 100644
index 0000000000..4ec9a68fc4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-make/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyMake(PythonPackage):
+ """Create project layout from jinja2 templates"""
+
+ homepage = "https://github.com/fholmer/make"
+ git = "https://github.com/fholmer/make.git"
+
+ version('0.1.6.post2', commit='ce2ef5834837a35dba5f2bea8866b61c8907c83a')
+ version('0.1.6', commit='c6e2615d01d8d5f58181e39d0f594fe5baae3c5f')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-jinja2', type=('build', 'run'))
+ depends_on('py-jinja2-time', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-mako/package.py b/var/spack/repos/builtin/packages/py-mako/package.py
index 8ae2da458b..1db1bf872d 100644
--- a/var/spack/repos/builtin/packages/py-mako/package.py
+++ b/var/spack/repos/builtin/packages/py-mako/package.py
@@ -12,9 +12,11 @@ class PyMako(PythonPackage):
pypi = "Mako/Mako-1.0.1.tar.gz"
+ version('1.1.5', sha256='169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3')
version('1.1.4', sha256='17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab')
version('1.0.4', sha256='fed99dbe4d0ddb27a33ee4910d8708aca9ef1fe854e668387a9ab9a90cbf9059')
version('1.0.1', sha256='45f0869febea59dab7efd256fb451c377cbb7947bef386ff0bb44627c31a8d1c')
depends_on('py-setuptools', type='build')
depends_on('py-markupsafe@0.9.2:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.4:', when='@1.1.0:')
diff --git a/var/spack/repos/builtin/packages/py-markdown/package.py b/var/spack/repos/builtin/packages/py-markdown/package.py
index 5fa98f749f..6de296fc64 100644
--- a/var/spack/repos/builtin/packages/py-markdown/package.py
+++ b/var/spack/repos/builtin/packages/py-markdown/package.py
@@ -17,6 +17,7 @@ class PyMarkdown(PythonPackage):
homepage = "https://python-markdown.github.io/"
pypi = "markdown/Markdown-2.6.11.tar.gz"
+ version('3.3.4', sha256='31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49')
version('3.1.1', sha256='2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a')
version('2.6.11', sha256='a856869c7ff079ad84a3e19cd87a64998350c2b94e9e08e44270faef33400f81')
version('2.6.7', sha256='daebf24846efa7ff269cfde8c41a48bb2303920c7b2c7c5e04fa82e6282d05c0')
@@ -34,5 +35,8 @@ class PyMarkdown(PythonPackage):
depends_on('python@2.7:2.8,3.2:3.4', when='@:2.6.7')
depends_on('python@2.7:2.8,3.2:3.6', when='@2.6.8:2.6.11')
depends_on('python@2.7:2.8,3.3.5:', when='@3.1.1:')
+ depends_on('python@3.6:', when='@3.3.4:')
depends_on('py-setuptools', type='build', when='@2.6.11:')
+ depends_on('py-setuptools@36.6:', type='build', when='@3.1:')
+ depends_on('py-importlib-metadata', type=('build', 'run'), when='@3.3.4: ^python@:3.7')
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/matplotlibrc.patch b/var/spack/repos/builtin/packages/py-matplotlib/matplotlibrc.patch
new file mode 100644
index 0000000000..bbc6b294da
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-matplotlib/matplotlibrc.patch
@@ -0,0 +1,11 @@
+--- a/setup.py 2021-09-23 23:57:06.000000000 -0500
++++ b/setup.py 2021-11-18 14:29:50.000000000 -0600
+@@ -212,7 +212,7 @@
+ idx for idx, line in enumerate(template_lines)
+ if "#backend:" in line]
+ template_lines[backend_line_idx] = (
+- "#backend: {}".format(setupext.options["backend"])
++ "#backend: {}\n".format(setupext.options["backend"])
+ if setupext.options["backend"]
+ else "##backend: Agg")
+ path.write_text("".join(template_lines))
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index c47af8ba14..2e7f7e5869 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
import sys
@@ -24,6 +25,8 @@ class PyMatplotlib(PythonPackage):
'matplotlib.testing.jpl_units', 'pylab'
]
+ version('3.5.1', sha256='b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c')
+ version('3.5.0', sha256='38892a254420d95594285077276162a5e9e9c30b6da08bdc2a4d53331ad9a6fa')
version('3.4.3', sha256='fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318')
version('3.4.2', sha256='d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219')
version('3.4.1', sha256='84d4c4f650f356678a5d658a43ca21a41fca13f9b8b00169c0b76e6a6a948908')
@@ -48,10 +51,6 @@ class PyMatplotlib(PythonPackage):
version('2.2.2', sha256='4dc7ef528aad21f22be85e95725234c5178c0f938e2228ca76640e5e84d8cde8')
version('2.0.2', sha256='0ffbc44faa34a8b1704bc108c451ecf87988f900ef7ce757b8e2e84383121ff1')
version('2.0.0', sha256='36cf0985829c1ab2b8b1dae5e2272e53ae681bf33ab8bedceed4f0565af5f813')
- version('1.5.3', sha256='a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc', deprecated=True)
- version('1.5.1', sha256='3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40', deprecated=True)
- version('1.4.3', sha256='61f201c6a82e89e4d9e324266203fad44f95fd8f36d8eec0d8690273e1182f75', deprecated=True)
- version('1.4.2', sha256='17a3c7154f152d8dfed1f37517c0a8c5db6ade4f6334f684989c36dab84ddb54', deprecated=True)
# https://matplotlib.org/tutorials/introductory/usage.html#backends
# From `lib/matplotlib/rcsetup.py`:
@@ -84,7 +83,7 @@ class PyMatplotlib(PythonPackage):
variant('fonts', default=False,
description='Enable support for system font detection')
- # https://matplotlib.org/users/installing.html#dependencies
+ # https://matplotlib.org/stable/devel/dependencies.html
# Required dependencies
extends('python', ignore=r'bin/nosetests.*$|bin/pbr$')
depends_on('python@2.7:2.8,3.4:', when='@:2', type=('build', 'link', 'run'))
@@ -99,12 +98,17 @@ class PyMatplotlib(PythonPackage):
depends_on('libpng@1.2:')
depends_on('py-setuptools', type=('build', 'run')) # See #3813
depends_on('py-certifi@2020.6.20:', when='@3.3.1:', type='build')
+ depends_on('py-setuptools-scm@4:', when='@3.5:', type='build')
+ depends_on('py-setuptools-scm-git-archive', when='@3.5:', type='build')
+ depends_on('py-cycler@0.10:', type=('build', 'run'))
+ depends_on('py-fonttools@4.22:', when='@3.5:', type=('build', 'run'))
+ depends_on('py-kiwisolver@1.0.1:', type=('build', 'run'), when='@2.2.0:')
depends_on('py-numpy@1.11:', type=('build', 'run'))
depends_on('py-numpy@1.15:', when='@3.3:', type=('build', 'run'))
depends_on('py-numpy@1.16:', when='@3.4:', type=('build', 'run'))
- depends_on('py-cycler@0.10:', type=('build', 'run'))
- depends_on('py-kiwisolver@1.0.1:', type=('build', 'run'), when='@2.2.0:')
- depends_on('pil@6.2.0:', when='@3.3:', type=('build', 'run'))
+ depends_on('py-numpy@1.17:', when='@3.5:', type=('build', 'run'))
+ depends_on('py-packaging', when='@3.5:', type=('build', 'run'))
+ depends_on('pil@6.2:', when='@3.3:', type=('build', 'run'))
depends_on('py-pyparsing@2.0.3,2.0.5:2.1.1,2.1.3:2.1.5,2.1.7:', type=('build', 'run'))
depends_on('py-pyparsing@2.2.1:', when='@3.4:', type=('build', 'run'))
depends_on('py-python-dateutil@2.1:', type=('build', 'run'))
@@ -149,7 +153,7 @@ class PyMatplotlib(PythonPackage):
depends_on('pkgconfig', type='build')
# Testing dependencies
- # https://matplotlib.org/devel/testing.html#requirements
+ # https://matplotlib.org/stable/devel/development_setup.html#additional-dependencies-for-testing
depends_on('py-pytest@3.6:', type='test')
depends_on('ghostscript@9.0:', type='test')
# depends_on('inkscape@:0', type='test')
@@ -160,9 +164,20 @@ class PyMatplotlib(PythonPackage):
conflicts('~image', when='@3.3:', msg='Pillow is no longer an optional dependency')
+ # https://github.com/matplotlib/matplotlib/pull/21662
+ patch('matplotlibrc.patch', when='@3.5.0')
# Patch to pick up correct freetype headers
patch('freetype-include-path.patch', when='@2.2.2:2.9.9')
+ @property
+ def config_file(self):
+ # https://github.com/matplotlib/matplotlib/pull/20871
+ return 'mplsetup.cfg' if self.spec.satisfies('@3.5:') else 'setup.cfg'
+
+ @property
+ def archive_files(self):
+ return [os.path.join(self.build_directory, self.config_file)]
+
def setup_build_environment(self, env):
include = []
library = []
@@ -183,19 +198,19 @@ class PyMatplotlib(PythonPackage):
backend = self.spec.variants['backend'].value
- with open('setup.cfg', 'w') as setup:
+ with open(self.config_file, 'w') as config:
# Default backend
- setup.write('[rc_options]\n')
- setup.write('backend = ' + backend + '\n')
+ config.write('[rc_options]\n')
+ config.write('backend = ' + backend + '\n')
# Starting with version 3.3.0, freetype is downloaded by default
# Force matplotlib to use Spack installations of freetype and qhull
- if self.version >= Version('3.3.0'):
- setup.write('[libs]\n')
- setup.write('system_freetype = True\n')
- setup.write('system_qhull = True\n')
+ if self.spec.satisfies('@3.3:'):
+ config.write('[libs]\n')
+ config.write('system_freetype = True\n')
+ config.write('system_qhull = True\n')
if self.spec.satisfies('%clang'):
- setup.write('enable_lto = False\n')
+ config.write('enable_lto = False\n')
@run_after('build')
@on_package_attributes(run_tests=True)
diff --git a/var/spack/repos/builtin/packages/py-mmcv/package.py b/var/spack/repos/builtin/packages/py-mmcv/package.py
index d8a5ac91e0..f328ec4c50 100644
--- a/var/spack/repos/builtin/packages/py-mmcv/package.py
+++ b/var/spack/repos/builtin/packages/py-mmcv/package.py
@@ -20,7 +20,7 @@ class PyMmcv(PythonPackage):
depends_on('py-addict', type=('build', 'run'))
depends_on('py-numpy@1.11.1:', type=('build', 'run'))
depends_on('py-pyyaml', type=('build', 'run'))
- depends_on('opencv+python', type=('build', 'run'))
+ depends_on('opencv+python3', type=('build', 'run'))
depends_on('py-cython', type='build')
patch('opencv_for0.5.1.patch', when='@0.5.1')
diff --git a/var/spack/repos/builtin/packages/py-more-itertools/package.py b/var/spack/repos/builtin/packages/py-more-itertools/package.py
index 2a9a49975a..5afe7c2547 100644
--- a/var/spack/repos/builtin/packages/py-more-itertools/package.py
+++ b/var/spack/repos/builtin/packages/py-more-itertools/package.py
@@ -12,12 +12,14 @@ class PyMoreItertools(PythonPackage):
homepage = "https://github.com/erikrose/more-itertools"
pypi = "more-itertools/more-itertools-7.2.0.tar.gz"
- version('7.2.0', sha256='409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832')
- version('7.0.0', sha256='c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a')
- version('5.0.0', sha256='38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4')
- version('4.3.0', sha256='c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e')
- version('4.1.0', sha256='c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44')
- version('2.2', sha256='93e62e05c7ad3da1a233def6731e8285156701e3419a5fe279017c429ec67ce0')
+ version('8.11.0', sha256='0a2fd25d343c08d7e7212071820e7e7ea2f41d8fb45d6bc8a00cd6ce3b7aab88')
+ version('8.9.0', sha256='8c746e0d09871661520da4f1241ba6b908dc903839733c8203b552cffaf173bd')
+ version('7.2.0', sha256='409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832')
+ version('7.0.0', sha256='c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a')
+ version('5.0.0', sha256='38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4')
+ version('4.3.0', sha256='c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e')
+ version('4.1.0', sha256='c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44')
+ version('2.2', sha256='93e62e05c7ad3da1a233def6731e8285156701e3419a5fe279017c429ec67ce0')
depends_on('python@3.5:', when='@7.1:', type=('build', 'run'))
depends_on('python@3.4:', when='@6:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-mpld3/package.py b/var/spack/repos/builtin/packages/py-mpld3/package.py
index f3ba568b5d..2217452114 100644
--- a/var/spack/repos/builtin/packages/py-mpld3/package.py
+++ b/var/spack/repos/builtin/packages/py-mpld3/package.py
@@ -13,9 +13,11 @@ class PyMpld3(PythonPackage):
homepage = "https://mpld3.github.io/"
pypi = "mpld3/mpld3-0.3.tar.gz"
+ version('0.5.5', sha256='b080f3535238a71024c0158280ab4f6091717c45347c41c907012f8dd6da1bd5')
version('0.3', sha256='4d455884a211bf99b37ecc760759435c7bb6a5955de47d8daf4967e301878ab7')
depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-matplotlib@1.3:', type=('build', 'run'))
+ depends_on('py-matplotlib@2.2.2:', type=('build', 'run'), when='@0.5.5:')
depends_on('py-jinja2@2.7:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-mplhep-data/package.py b/var/spack/repos/builtin/packages/py-mplhep-data/package.py
new file mode 100644
index 0000000000..9a1bc7593c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-mplhep-data/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyMplhepData(PythonPackage):
+ """Font (Data) sub-package for mplhep"""
+
+ homepage = "https://github.com/Scikit-HEP/mplhep_data"
+ pypi = "mplhep_data/mplhep_data-0.0.3.tar.gz"
+
+ version('0.0.3', sha256='b54d257f3f53c93a442cda7a6681ce267277e09173c0b41fd78820f78321772f')
+
+ depends_on('python@3.7:', type=('build', 'run'))
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-setuptools-scm@3.4:+toml', type='build')
diff --git a/var/spack/repos/builtin/packages/py-mplhep/package.py b/var/spack/repos/builtin/packages/py-mplhep/package.py
new file mode 100644
index 0000000000..b2123010da
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-mplhep/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyMplhep(PythonPackage):
+ """Matplotlib styles for HEP"""
+
+ homepage = "https://github.com/scikit-hep/mplhep"
+ pypi = "mplhep/mplhep-0.3.15.tar.gz"
+
+ version('0.3.15', sha256='595f796ea65930094e86a805214e0d44537ead267a7487ae16eda02d1670653e')
+
+ depends_on('python@3.7:', type=('build', 'run'))
+ depends_on('py-setuptools@39.2:', type='build')
+ depends_on('py-mplhep-data', type=('build', 'run'))
+ depends_on('py-matplotlib@3.4:', type=('build', 'run'))
+ depends_on('py-numpy@1.16.0:', type=('build', 'run'))
+ depends_on('py-packaging', type=('build', 'run'))
+ depends_on('py-uhi@0.2.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-mpmath/package.py b/var/spack/repos/builtin/packages/py-mpmath/package.py
index ae471b99b7..603580bdda 100644
--- a/var/spack/repos/builtin/packages/py-mpmath/package.py
+++ b/var/spack/repos/builtin/packages/py-mpmath/package.py
@@ -11,6 +11,10 @@ class PyMpmath(PythonPackage):
homepage = "https://mpmath.org"
pypi = "mpmath/mpmath-1.0.0.tar.gz"
+ version('1.2.1', sha256='79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a')
version('1.1.0', sha256='fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6')
version('1.0.0', sha256='04d14803b6875fe6d69e6dccea87d5ae5599802e4b1df7997bddd2024001050c')
version('0.19', sha256='68ddf6426dcda445323467d89892d2cffbbd1ae0b31ac1241b1b671749d63222')
+
+ depends_on('py-setuptools@36.7.0:', type='build', when='@1.2.0:')
+ depends_on('py-setuptools-scm@1.7.0:', type='build', when='@1.2.0:')
diff --git a/var/spack/repos/builtin/packages/py-multidict/package.py b/var/spack/repos/builtin/packages/py-multidict/package.py
index 0ea09e54c3..75db4cc988 100644
--- a/var/spack/repos/builtin/packages/py-multidict/package.py
+++ b/var/spack/repos/builtin/packages/py-multidict/package.py
@@ -11,7 +11,11 @@ class PyMultidict(PythonPackage):
homepage = "https://github.com/aio-libs/multidict"
url = "https://github.com/aio-libs/multidict/archive/v4.7.6.tar.gz"
+ version('5.2.0', sha256='70039c8d0f4883816de230619c9d4ee1b8527b3628a42783e8bc26de4fee1154')
+ version('5.1.0', sha256='1798708288851b808d2d03ea6046ca51bc44c228aaea12c9643a0a481ee41d8c')
version('4.7.6', sha256='449035f89a12f189579ff83811424c71e4a39e335bcb8045145ad084b7bde2dc')
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@40:', type='build', when='@5.1.0:')
depends_on('python@3.5:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@5.1.0:')
diff --git a/var/spack/repos/builtin/packages/py-mxfold2/package.py b/var/spack/repos/builtin/packages/py-mxfold2/package.py
new file mode 100644
index 0000000000..c6838a97dc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-mxfold2/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyMxfold2(PythonPackage):
+ """MXfold2: RNA secondary structure prediction using deep
+ learning with thermodynamic integration"""
+
+ homepage = "https://github.com/keio-bioinformatics/mxfold2"
+ url = "https://github.com/keio-bioinformatics/mxfold2/releases/download/v0.1.1/mxfold2-0.1.1.tar.gz"
+
+ maintainers = ['dorton21']
+
+ version('0.1.1', sha256='9f39c6ff4138212d1ad2639005f5c05ffb4df0f7e22f5e7ad49466a05aa047e5')
+
+ depends_on('python@3.7:', type=('build', 'run'))
+ depends_on('py-torch@1.7:~valgrind', type=('build', 'run'))
+ depends_on('py-torchvision', type=('build', 'run'))
+ depends_on('py-wheel@0.35.1:0.36.0', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools-cpp', type='build')
+ depends_on('cmake', type='build')
diff --git a/var/spack/repos/builtin/packages/py-mypy/package.py b/var/spack/repos/builtin/packages/py-mypy/package.py
index f70b07204b..adcad33a2b 100644
--- a/var/spack/repos/builtin/packages/py-mypy/package.py
+++ b/var/spack/repos/builtin/packages/py-mypy/package.py
@@ -12,6 +12,7 @@ class PyMypy(PythonPackage):
homepage = "http://www.mypy-lang.org/"
pypi = "mypy/mypy-0.740.tar.gz"
+ version('0.920', sha256='a55438627f5f546192f13255a994d6d1cf2659df48adcf966132b4379fd9c86b')
version('0.910', sha256='704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150')
version('0.900', sha256='65c78570329c54fb40f956f7645e2359af5da9d8c54baa44f461cdc7f4984108')
version('0.800', sha256='e0202e37756ed09daf4b0ba64ad2c245d357659e014c3f51d8cd0681ba66940a')
@@ -20,9 +21,15 @@ class PyMypy(PythonPackage):
variant('python2', default=False, description='Enable checking of python 2 type annotations')
+ depends_on('python@3.6:', when='@0.920:', type=('build', 'run'))
depends_on("python@3.5:", type=("build", "run"))
+ depends_on('py-setuptools@40.6.2:', when='@0.790:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-typed-ast@1.4.0:1.4', type=('build', 'run'))
+ depends_on('py-wheel@0.30:', when='@0.790:', type='build')
+ depends_on('py-typed-ast@1.4.0:1', when='@0.920: ^python@:3.7', type=('build', 'run'))
+ depends_on('py-typed-ast@1.4.0:1.4', when='@0.900:0.910 ^python@:3.7', type=('build', 'run'))
+ depends_on('py-typed-ast@1.4.0:1.4', when='@:0.800', type=('build', 'run'))
depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'))
depends_on('py-mypy-extensions@0.4.3:0.4', type=('build', 'run'))
- depends_on('py-toml', when='@0.900:', type=('build', 'run'))
+ depends_on('py-tomli@1.1:2', when='@0.920:', type=('build', 'run'))
+ depends_on('py-toml', when='@0.900:0.910', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-nbclient/package.py b/var/spack/repos/builtin/packages/py-nbclient/package.py
index d181f2ae4b..1d90940491 100644
--- a/var/spack/repos/builtin/packages/py-nbclient/package.py
+++ b/var/spack/repos/builtin/packages/py-nbclient/package.py
@@ -12,12 +12,15 @@ class PyNbclient(PythonPackage):
homepage = "https://jupyter.org/"
pypi = "nbclient/nbclient-0.5.0.tar.gz"
+ version('0.5.5', sha256='ed7d18431393750d29a64da432e0b7889274eb5a5056682be5691b1b1dc8f755')
version('0.5.0', sha256='8ad52d27ba144fca1402db014857e53c5a864a2f407be66ca9d74c3a56d6591d')
depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('python@3.6.1:', type=('build', 'run'), when='@0.5.5:')
depends_on('py-setuptools', type='build')
depends_on('py-traitlets@4.2:', type=('build', 'run'))
depends_on('py-jupyter-client@6.1.5:', type=('build', 'run'))
depends_on('py-nbformat@5.0:', type=('build', 'run'))
- depends_on('py-async-generator', type=('build', 'run'))
+ depends_on('py-async-generator', type=('build', 'run'), when='@0.5.0')
+ depends_on('py-async-generator', type=('build', 'run'), when='@0.5.5: ^python@:3.6')
depends_on('py-nest-asyncio', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-nbconvert/package.py b/var/spack/repos/builtin/packages/py-nbconvert/package.py
index 47dc2dabd3..6ebff12ec7 100644
--- a/var/spack/repos/builtin/packages/py-nbconvert/package.py
+++ b/var/spack/repos/builtin/packages/py-nbconvert/package.py
@@ -10,6 +10,8 @@ class PyNbconvert(PythonPackage):
homepage = "https://github.com/jupyter/nbconvert"
pypi = "nbconvert/nbconvert-6.0.1.tar.gz"
+ version('6.3.0', sha256='5e77d6203854944520105e38f2563a813a4a3708e8563aa598928a3b5ee1081a')
+ version('6.2.0', sha256='16ceecd0afaa8fd26c245fa32e2c52066c02f13aa73387fffafd84750baea863')
version('6.0.1', sha256='db94117fbac29153834447e31b30cda337d4450e46e0bdb1a36eafbbf4435156')
version('5.6.0', sha256='427a468ec26e7d68a529b95f578d5cbf018cb4c1f889e897681c2b6d11897695')
version('5.5.0', sha256='138381baa41d83584459b5cfecfc38c800ccf1f37d9ddd0bd440783346a4c39c')
@@ -22,6 +24,7 @@ class PyNbconvert(PythonPackage):
depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@5:')
depends_on('python@3.6:', type=('build', 'run'), when='@6:')
+ depends_on('python@3.7:', type=('build', 'run'), when='@6.2.0:')
depends_on('py-setuptools', type=('build', 'run'), when='@5:')
depends_on('py-pycurl', type='build', when='^python@:2.7.8')
depends_on('py-mistune@0.8.1:1', type=('build', 'run'))
@@ -32,6 +35,7 @@ class PyNbconvert(PythonPackage):
depends_on('py-jupyterlab-pygments', type=('build', 'run'), when='@6:')
depends_on('py-traitlets', type=('build', 'run'))
depends_on('py-traitlets@4.2:', type=('build', 'run'), when='@5:')
+ depends_on('py-traitlets@5:', type=('build', 'run'), when='@6.2.0:')
depends_on('py-jupyter-core', type=('build', 'run'))
depends_on('py-nbformat', type=('build', 'run'))
depends_on('py-nbformat@4.4.0:', type=('build', 'run'), when='@5:')
diff --git a/var/spack/repos/builtin/packages/py-nbdime/package.py b/var/spack/repos/builtin/packages/py-nbdime/package.py
new file mode 100644
index 0000000000..e52d5aae7d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-nbdime/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyNbdime(PythonPackage):
+ """Diff and merge of Jupyter Notebooks"""
+
+ homepage = "https://nbdime.readthedocs.io/"
+ pypi = "nbdime/nbdime-3.1.1.tar.gz"
+
+ version('3.1.1', sha256='67767320e971374f701a175aa59abd3a554723039d39fae908e72d16330d648b')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@40.8.0:', type='build')
+ depends_on('py-nbformat', type=('build', 'run'))
+ depends_on('py-colorama', type=('build', 'run'))
+ depends_on('py-pygments', type=('build', 'run'))
+ depends_on('py-tornado', type=('build', 'run'))
+ depends_on('py-requests', type=('build', 'run'))
+ depends_on('py-gitpython@:2.1.3,2.1.7:', type=('build', 'run'))
+ depends_on('py-jupyter-server', type=('build', 'run'))
+ depends_on('py-jupyter-server-mathjax@0.2.2:', type=('build', 'run'))
+ depends_on('py-jinja2@2.9:', type=('build', 'run'))
+ # From pyproject.toml
+ depends_on('py-jupyterlab@3.0:3', type=('build', 'run'))
+ depends_on('py-wheel', type='build')
diff --git a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
index 74a8fc7fe3..62a54f2964 100644
--- a/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
+++ b/var/spack/repos/builtin/packages/py-nest-asyncio/package.py
@@ -10,7 +10,9 @@ class PyNestAsyncio(PythonPackage):
homepage = "https://github.com/erdewit/nest_asyncio"
pypi = "nest-asyncio/nest_asyncio-1.4.0.tar.gz"
+ version('1.5.1', sha256='afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa')
version('1.4.0', sha256='5773054bbc14579b000236f85bc01ecced7ffd045ec8ca4a9809371ec65a59c8')
depends_on('python@3.5:', type=('build', 'run'))
- depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-setuptools-scm@3.4.3: +toml', type='build')
diff --git a/var/spack/repos/builtin/packages/py-networkx/package.py b/var/spack/repos/builtin/packages/py-networkx/package.py
index 1f5e13f1db..f44aecd3b5 100644
--- a/var/spack/repos/builtin/packages/py-networkx/package.py
+++ b/var/spack/repos/builtin/packages/py-networkx/package.py
@@ -13,6 +13,7 @@ class PyNetworkx(PythonPackage):
homepage = "https://networkx.github.io/"
pypi = "networkx/networkx-2.4.tar.gz"
+ version('2.6.3', sha256='c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51')
version('2.5.1', sha256='109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a')
version('2.4', sha256='f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64')
version('2.3', sha256='8311ddef63cf5c5c5e7c1d0212dd141d9a1fe3f474915281b73597ed5f1d4e3d')
@@ -25,11 +26,12 @@ class PyNetworkx(PythonPackage):
depends_on('python@2.7:', type=('build', 'run'))
depends_on('python@3.5:', type=('build', 'run'), when='@2.3:')
depends_on('python@3.6:', type=('build', 'run'), when='@2.5:')
+ depends_on('python@3.7:', type=('build', 'run'), when='@2.6:')
depends_on('py-setuptools', type='build')
- depends_on('py-decorator@3.4.0:', type=('build', 'run'))
- depends_on('py-decorator@4.1.0:', type=('build', 'run'), when='@2.0:')
- depends_on('py-decorator@4.3.0:', type=('build', 'run'), when='@2.2:')
- depends_on('py-decorator@4.3.0:4', type=('build', 'run'), when='@2.5.1:')
+ depends_on('py-decorator@3.4.0:', type=('build', 'run'), when='@:1')
+ depends_on('py-decorator@4.1.0:', type=('build', 'run'), when='@2.0:2.1')
+ depends_on('py-decorator@4.3.0:', type=('build', 'run'), when='@2.2:2.4')
+ depends_on('py-decorator@4.3.0:4', type=('build', 'run'), when='@2.5.1:2.5')
def url_for_version(self, version):
ext = 'tar.gz'
diff --git a/var/spack/repos/builtin/packages/py-neurokit2/package.py b/var/spack/repos/builtin/packages/py-neurokit2/package.py
index 857541e438..9cca27e907 100644
--- a/var/spack/repos/builtin/packages/py-neurokit2/package.py
+++ b/var/spack/repos/builtin/packages/py-neurokit2/package.py
@@ -19,6 +19,7 @@ class PyNeurokit2(PythonPackage):
homepage = "https://github.com/neuropsychology/NeuroKit"
pypi = "neurokit2/neurokit2-0.1.2.tar.gz"
+ version('0.1.5', sha256='4df48c0ce8971e32e32f36c2263986b00fd83da5eadaaa98e4bb5ab6bcd930e5')
version('0.1.4.1', sha256='226bb04bb369d8bb87d99831f0a93cd8d0ed96fdc500f63de0b3550082876f6e')
version('0.1.2', sha256='5ef40037c2d7078ecb713ab0b77b850267babf133856b59595de9613f29787bc')
diff --git a/var/spack/repos/builtin/packages/py-neurolab/package.py b/var/spack/repos/builtin/packages/py-neurolab/package.py
new file mode 100644
index 0000000000..f58bc2116a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-neurolab/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyNeurolab(PythonPackage):
+ """Simple and powerfull neural network library for python"""
+
+ homepage = "http://neurolab.googlecode.com/"
+ pypi = "neurolab/neurolab-0.3.5.tar.gz"
+
+ version('0.3.5', sha256='96ec311988383c63664f3325668f27c30561cf4349e3bc5420665c042a3b9191')
+
+ depends_on('py-numpy', type=('build', 'run'))
+ # depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-ninja/package.py b/var/spack/repos/builtin/packages/py-ninja/package.py
new file mode 100644
index 0000000000..944163676f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-ninja/package.py
@@ -0,0 +1,35 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import os
+
+
+class PyNinja(PythonPackage):
+ """Ninja is a small build system with a focus on speed."""
+
+ homepage = "https://ninja-build.org"
+ pypi = "ninja/ninja-1.10.2.tar.gz"
+
+ version('1.10.2', sha256='bb5e54b9a7343b3a8fc6532ae2c169af387a45b0d4dd5b72c2803e21658c5791')
+
+ depends_on('cmake@3.6:', type='build')
+ depends_on('py-scikit-build', type='build')
+ depends_on('ninja@1.10.2', type=('build', 'run'), when='@1.10.2')
+
+ def patch(self):
+ os.unlink(join_path(self.stage.source_path, 'CMakeLists.txt'))
+
+ @run_after('install')
+ def installit(self):
+ syntax_file = os.path.join(self.spec['ninja'].prefix.misc,
+ 'ninja_syntax.py')
+ bin_file = os.path.join(self.spec['ninja'].prefix.bin,
+ 'ninja')
+ dst = os.path.join(site_packages_dir,
+ 'ninja')
+ dstbin = os.path.join(dst, 'data', 'bin')
+ mkdirp(dstbin)
+ os.symlink(bin_file, os.path.join(dstbin, 'ninja'))
+ os.symlink(syntax_file, os.path.join(dst, 'ninja_syntax.py'))
diff --git a/var/spack/repos/builtin/packages/py-nose/package.py b/var/spack/repos/builtin/packages/py-nose/package.py
index 542931d39c..9a50b115f1 100644
--- a/var/spack/repos/builtin/packages/py-nose/package.py
+++ b/var/spack/repos/builtin/packages/py-nose/package.py
@@ -16,4 +16,4 @@ class PyNose(PythonPackage):
version('1.3.6', sha256='f61e0909a743eed37b1207e38a8e7b4a2fe0a82185e36f2be252ef1b3f901758')
version('1.3.4', sha256='76bc63a4e2d5e5a0df77ca7d18f0f56e2c46cfb62b71103ba92a92c79fab1e03')
- depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@:57', type='build')
diff --git a/var/spack/repos/builtin/packages/py-notebook/package.py b/var/spack/repos/builtin/packages/py-notebook/package.py
index 1cfbfa496f..9ad9eb950b 100644
--- a/var/spack/repos/builtin/packages/py-notebook/package.py
+++ b/var/spack/repos/builtin/packages/py-notebook/package.py
@@ -10,6 +10,7 @@ class PyNotebook(PythonPackage):
homepage = "https://github.com/jupyter/notebook"
pypi = "notebook/notebook-6.1.4.tar.gz"
+ version('6.4.5', sha256='872e20da9ae518bbcac3e4e0092d5bd35454e847dedb8cb9739e9f3b68406be0')
version('6.1.4', sha256='687d01f963ea20360c0b904ee7a37c3d8cda553858c8d6e33fd0afd13e89de32')
version('6.0.3', sha256='47a9092975c9e7965ada00b9a20f0cf637d001db60d241d479f53c0be117ad48')
version('6.0.1', sha256='660976fe4fe45c7aa55e04bf4bccb9f9566749ff637e9020af3422f9921f9a5d')
@@ -33,11 +34,13 @@ class PyNotebook(PythonPackage):
depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
depends_on('python@3.5:', type=('build', 'run'), when='@6:')
+ depends_on('python@3.6:', type=('build', 'run'), when='@6.3:')
depends_on('py-setuptools', type=('build', 'run'), when='@5:')
depends_on('py-jinja2', type=('build', 'run'))
depends_on('py-tornado@4.0:6', type=('build', 'run'), when='@:5.7.4')
depends_on('py-tornado@4.1:6', type=('build', 'run'), when='@5.7.5:5')
depends_on('py-tornado@5.0:', type=('build', 'run'), when='@6:')
+ depends_on('py-tornado@6.1:', type=('build', 'run'), when='@6.4.5:')
depends_on('py-pyzmq@17:', type=('build', 'run'), when='@6:')
depends_on('py-argon2-cffi', type=('build', 'run'), when='@6.1:')
depends_on('py-ipython-genutils', type=('build', 'run'))
@@ -55,6 +58,7 @@ class PyNotebook(PythonPackage):
depends_on('py-nbconvert', type=('build', 'run'))
depends_on('py-ipykernel', type=('build', 'run'))
depends_on('py-send2trash', type=('build', 'run'), when='@6:')
+ depends_on('py-send2trash@1.5.0:', type=('build', 'run'), when='@6.2.0:')
depends_on('py-terminado@0.3.3:', type=('build', 'run'), when='@:5.7.0')
depends_on('py-terminado@0.8.1:', type=('build', 'run'), when='@5.7.0:')
depends_on('py-terminado@0.8.3:', type=('build', 'run'), when='@6.1:')
diff --git a/var/spack/repos/builtin/packages/py-ntplib/package.py b/var/spack/repos/builtin/packages/py-ntplib/package.py
index 5fe6aa25a0..5fe6aa25a0 100755..100644
--- a/var/spack/repos/builtin/packages/py-ntplib/package.py
+++ b/var/spack/repos/builtin/packages/py-ntplib/package.py
diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py
index a808922850..b4f71ebcaa 100644
--- a/var/spack/repos/builtin/packages/py-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy/package.py
@@ -23,7 +23,8 @@ class PyNumpy(PythonPackage):
maintainers = ['adamjstewart']
version('main', branch='main')
- version('master', branch='main', deprecated=True)
+ version('1.21.5', sha256='6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee')
+ version('1.21.4', sha256='e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0')
version('1.21.3', sha256='63571bb7897a584ca3249c86dd01c10bcb5fe4296e3568b2e9c1a55356b6410e')
version('1.21.2', sha256='423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc')
version('1.21.1', sha256='dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd')
@@ -95,10 +96,10 @@ class PyNumpy(PythonPackage):
depends_on('python@3.7:3.10', type=('build', 'link', 'run'), when='@1.21.2:')
depends_on('py-setuptools', type=('build', 'run'))
# Check pyproject.toml for updates to the required cython version
- depends_on('py-cython@0.29.13:', when='@1.18.0:', type='build')
- depends_on('py-cython@0.29.14:', when='@1.18.1:', type='build')
- depends_on('py-cython@0.29.21:', when='@1.19.1:', type='build')
- depends_on('py-cython@0.29.24:', when='@1.21.2:', type='build')
+ depends_on('py-cython@0.29.13:2', when='@1.18.0:', type='build')
+ depends_on('py-cython@0.29.14:2', when='@1.18.1:', type='build')
+ depends_on('py-cython@0.29.21:2', when='@1.19.1:', type='build')
+ depends_on('py-cython@0.29.24:2', when='@1.21.2:', type='build')
depends_on('blas', when='+blas')
depends_on('lapack', when='+lapack')
@@ -207,7 +208,9 @@ class PyNumpy(PythonPackage):
# Tell numpy where to find BLAS/LAPACK libraries
with open('site.cfg', 'w') as f:
- if '^intel-mkl' in spec or '^intel-parallel-studio+mkl' in spec:
+ if '^intel-mkl' in spec or \
+ '^intel-parallel-studio+mkl' or \
+ '^intel-oneapi-mkl' in spec:
f.write('[mkl]\n')
# FIXME: as of @1.11.2, numpy does not work with separately
# specified threading and interface layers. A workaround is a
@@ -300,7 +303,8 @@ class PyNumpy(PythonPackage):
if 'blas' not in spec:
blas = ''
elif spec['blas'].name == 'intel-mkl' or \
- spec['blas'].name == 'intel-parallel-studio':
+ spec['blas'].name == 'intel-parallel-studio' or \
+ spec['blas'].name == 'intel-oneapi-mkl':
blas = 'mkl'
elif spec['blas'].name == 'blis':
blas = 'blis'
@@ -319,7 +323,8 @@ class PyNumpy(PythonPackage):
if 'lapack' not in spec:
lapack = ''
elif spec['lapack'].name == 'intel-mkl' or \
- spec['lapack'].name == 'intel-parallel-studio':
+ spec['lapack'].name == 'intel-parallel-studio' or \
+ spec['lapack'].name == 'intel-oneapi-mkl':
lapack = 'mkl'
elif spec['lapack'].name == 'openblas':
lapack = 'openblas'
diff --git a/var/spack/repos/builtin/packages/py-oauthlib/package.py b/var/spack/repos/builtin/packages/py-oauthlib/package.py
index be59718198..9fe6798ae0 100644
--- a/var/spack/repos/builtin/packages/py-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-oauthlib/package.py
@@ -15,14 +15,19 @@ class PyOauthlib(PythonPackage):
homepage = "https://github.com/oauthlib/oauthlib"
pypi = "oauthlib/oauthlib-3.1.0.tar.gz"
+ version('3.1.1', sha256='8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3')
version('3.1.0', sha256='bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889')
version('3.0.1', sha256='0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298')
version('2.0.2', sha256='b3b9b47f2a263fe249b5b48c4e25a5bce882ff20a0ac34d553ce43cff55b53ac')
variant('extras', default=True, description='Build with pyjwt, blinker, cryptography')
- depends_on('py-setuptools', type='build')
- depends_on('py-pyjwt@1.0.0:', type=('build', 'run'), when='+extras')
- depends_on('py-blinker', type=('build', 'run'), when='+extras')
- depends_on('py-cryptography', type=('build', 'run'), when='+extras')
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pyjwt@1.0.0:', type=('build', 'run'), when='+extras')
+ depends_on('py-pyjwt@2.0.0:2', type=('build', 'run'), when='+extras @3.1.1:')
+ depends_on('py-blinker', type=('build', 'run'), when='+extras')
+ depends_on('py-blinker@1.4:', type=('build', 'run'), when='+extras @3.1.1:')
+ depends_on('py-cryptography', type=('build', 'run'), when='+extras')
+ depends_on('py-cryptography@3.0.0:3', type=('build', 'run'), when='+extras @3.1.1:')
+ depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@3.1.1:')
diff --git a/var/spack/repos/builtin/packages/py-onnx-runtime/cms.patch b/var/spack/repos/builtin/packages/py-onnx-runtime/cms.patch
new file mode 100644
index 0000000000..ebe626c4d7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-onnx-runtime/cms.patch
@@ -0,0 +1,146 @@
+diff -ur a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
+--- a/cmake/CMakeLists.txt 2021-12-14 22:34:21.754062247 +0100
++++ b/cmake/CMakeLists.txt 2021-12-14 22:36:18.094061909 +0100
+@@ -240,7 +240,7 @@
+ if (onnxruntime_MINIMAL_BUILD_CUSTOM_OPS)
+ add_compile_definitions(ORT_MINIMAL_BUILD_CUSTOM_OPS)
+ endif()
+-
++
+ set(onnxruntime_REDUCED_OPS_BUILD ON)
+
+ if (NOT onnxruntime_ENABLE_PYTHON)
+@@ -568,7 +568,7 @@
+ endif()
+ endif()
+
+-if(NOT WIN32 AND NOT onnxruntime_PREFER_SYSTEM_LIB)
++if(NOT WIN32)
+ add_subdirectory(${PROJECT_SOURCE_DIR}/external/nsync EXCLUDE_FROM_ALL)
+ endif()
+ # External dependencies
+@@ -596,7 +596,7 @@
+ if(NOT Protobuf_USE_STATIC_LIBS)
+ #Indeed here should be a warning, not a fatal error. ONNX Runtime itself can work in such a
+ #setting but it may cause compatibility issue when ONNX Runtime is integrated with the other ONNX ecosystem softwares.
+- message(FATAL_ERROR "Please enable Protobuf_USE_STATIC_LIBS")
++ message(WARNING "Please enable Protobuf_USE_STATIC_LIBS")
+ endif()
+ else()
+ set(PROTOBUF_LIB protobuf::libprotobuf-lite)
+diff -ur a/include/onnxruntime/core/platform/ort_mutex.h b/include/onnxruntime/core/platform/ort_mutex.h
+--- a/include/onnxruntime/core/platform/ort_mutex.h 2021-12-14 22:34:21.784062247 +0100
++++ b/include/onnxruntime/core/platform/ort_mutex.h 2021-12-14 22:36:18.164061909 +0100
+@@ -101,7 +101,7 @@
+ return steady_clock::now() - steady_now < rel_time ? std::cv_status::no_timeout : std::cv_status::timeout;
+ }
+ } // namespace onnxruntime
+-#else
++#elif !defined(__aarch64__)
+ #include "nsync.h"
+ #include <mutex> //for unique_lock
+ #include <condition_variable> //for cv_status
+@@ -186,4 +186,11 @@
+ return steady_clock::now() - steady_now < rel_time ? std::cv_status::no_timeout : std::cv_status::timeout;
+ }
+ }; // namespace onnxruntime
++#else
++#include <mutex>
++#include <condition_variable>
++namespace onnxruntime {
++using OrtMutex = std::mutex;
++using OrtCondVar = std::condition_variable;
++} // namespace onnxruntime
+ #endif
+diff -ur a/include/onnxruntime/core/session/onnxruntime_cxx_api.h b/include/onnxruntime/core/session/onnxruntime_cxx_api.h
+--- a/include/onnxruntime/core/session/onnxruntime_cxx_api.h 2021-12-14 22:34:21.784062247 +0100
++++ b/include/onnxruntime/core/session/onnxruntime_cxx_api.h 2021-12-14 22:36:18.164061909 +0100
+@@ -345,8 +345,8 @@
+
+ struct Session : Base<OrtSession> {
+ explicit Session(std::nullptr_t) {}
+- Session(Env& env, const ORTCHAR_T* model_path, const SessionOptions& options);
+- Session(Env& env, const void* model_data, size_t model_data_length, const SessionOptions& options);
++ Session(const Env& env, const ORTCHAR_T* model_path, const SessionOptions& options);
++ Session(const Env& env, const void* model_data, size_t model_data_length, const SessionOptions& options);
+
+ // Run that will allocate the output values
+ std::vector<Value> Run(const RunOptions& run_options, const char* const* input_names, const Value* input_values, size_t input_count,
+diff -ur a/include/onnxruntime/core/session/onnxruntime_cxx_inline.h b/include/onnxruntime/core/session/onnxruntime_cxx_inline.h
+--- a/include/onnxruntime/core/session/onnxruntime_cxx_inline.h 2021-12-14 22:34:21.784062247 +0100
++++ b/include/onnxruntime/core/session/onnxruntime_cxx_inline.h 2021-12-14 22:36:18.164061909 +0100
+@@ -500,11 +500,11 @@
+ return *this;
+ }
+
+-inline Session::Session(Env& env, const ORTCHAR_T* model_path, const SessionOptions& options) {
++inline Session::Session(const Env& env, const ORTCHAR_T* model_path, const SessionOptions& options) {
+ ThrowOnError(GetApi().CreateSession(env, model_path, options, &p_));
+ }
+
+-inline Session::Session(Env& env, const void* model_data, size_t model_data_length, const SessionOptions& options) {
++inline Session::Session(const Env& env, const void* model_data, size_t model_data_length, const SessionOptions& options) {
+ ThrowOnError(GetApi().CreateSessionFromArray(env, model_data, model_data_length, options, &p_));
+ }
+
+diff -ur a/onnxruntime/core/mlas/lib/platform.cpp b/onnxruntime/core/mlas/lib/platform.cpp
+--- a/onnxruntime/core/mlas/lib/platform.cpp 2021-12-14 22:34:21.864062247 +0100
++++ b/onnxruntime/core/mlas/lib/platform.cpp 2021-12-14 22:36:18.244061908 +0100
+@@ -16,6 +16,7 @@
+ --*/
+
+ #include "mlasi.h"
++#include <string>
+
+ //
+ // Stores the platform information.
+@@ -170,8 +171,11 @@
+ //
+
+ uint64_t xcr0 = MlasReadExtendedControlRegister(_XCR_XFEATURE_ENABLED_MASK);
++ const char *cpu_opt = std::getenv("MLAS_DYNAMIC_CPU_ARCH");
++ if (cpu_opt == nullptr) cpu_opt = "99";
++ auto opt = std::stoi(cpu_opt);
+
+- if ((xcr0 & 0x6) == 0x6) {
++ if (opt > 0 && (xcr0 & 0x6) == 0x6) {
+
+ this->GemmFloatKernel = MlasGemmFloatKernelAvx;
+
+@@ -204,7 +208,7 @@
+ __cpuid_count(7, 0, Cpuid7[0], Cpuid7[1], Cpuid7[2], Cpuid7[3]);
+ #endif
+
+- if (((Cpuid1[2] & 0x1000) != 0) && ((Cpuid7[1] & 0x20) != 0)) {
++ if (opt > 1 && ((Cpuid1[2] & 0x1000) != 0) && ((Cpuid7[1] & 0x20) != 0)) {
+
+ this->GemmU8S8Operation = MlasGemmU8X8Operation<MLAS_GEMM_U8S8_KERNEL_AVX2>;
+ this->GemmU8S8PackedOperation = MlasGemmU8X8PackedOperation<MLAS_GEMM_U8S8_KERNEL_AVX2>;
+@@ -264,7 +268,7 @@
+ // operating system supports saving AVX512F state.
+ //
+
+- if (((Cpuid7[1] & 0x10000) != 0) && ((xcr0 & 0xE0) == 0xE0)) {
++ if (opt > 2 && ((Cpuid7[1] & 0x10000) != 0) && ((xcr0 & 0xE0) == 0xE0)) {
+
+ this->GemmFloatKernel = MlasGemmFloatKernelAvx512F;
+ this->GemmDoubleKernel = MlasGemmDoubleKernelAvx512F;
+diff -ur a/onnxruntime/core/platform/posix/ort_mutex.cc b/onnxruntime/core/platform/posix/ort_mutex.cc
+--- a/onnxruntime/core/platform/posix/ort_mutex.cc 2021-12-14 22:34:21.874062247 +0100
++++ b/onnxruntime/core/platform/posix/ort_mutex.cc 2021-12-14 22:36:18.254061908 +0100
+@@ -1,6 +1,7 @@
+ // Copyright (c) Microsoft Corporation. All rights reserved.
+ // Licensed under the MIT License.
+
++#if !defined(__aarch64__)
+ #include "core/common/common.h"
+ #include "core/platform/ort_mutex.h"
+ #include <assert.h>
+@@ -40,4 +41,5 @@
+ nsync::nsync_cv_wait(&native_cv_object, lk.mutex()->native_handle());
+ }
+
+-} // namespace onnxruntime
+\ No newline at end of file
++} // namespace onnxruntime
++#endif
diff --git a/var/spack/repos/builtin/packages/py-onnx-runtime/gcc11.patch b/var/spack/repos/builtin/packages/py-onnx-runtime/gcc11.patch
new file mode 100644
index 0000000000..b53cc1dc6d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-onnx-runtime/gcc11.patch
@@ -0,0 +1,36 @@
+From de4089f8cbe0baffe56a363cc3a41595cc8f0809 Mon Sep 17 00:00:00 2001
+From: ankurverma85 <31362771+ankurverma85@users.noreply.github.com>
+Date: Mon, 10 May 2021 12:50:08 -0700
+Subject: [PATCH] GCC11/Libstdc++11 Compilation fixes (#7599)
+
+Authored-by: Ankur Verma <ankurv@microsoft.com>
+---
+ include/onnxruntime/core/graph/graph_nodes.h | 2 +-
+ onnxruntime/test/providers/cpu/controlflow/loop_test.cc | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/onnxruntime/core/graph/graph_nodes.h b/include/onnxruntime/core/graph/graph_nodes.h
+index 422fe9538ea..aec603f7942 100644
+--- a/include/onnxruntime/core/graph/graph_nodes.h
++++ b/include/onnxruntime/core/graph/graph_nodes.h
+@@ -100,7 +100,7 @@ class ValidNodes {
+ using const_reference = const T&;
+
+ /** Construct a NodeInterator and move to the first valid node. */
+- NodeIterator<TIterator>(const TIterator current, const TIterator end, const NodeFilterFunc& filter_fn) noexcept
++ NodeIterator(const TIterator current, const TIterator end, const NodeFilterFunc& filter_fn) noexcept
+ : current_{current}, end_{end}, apply_filter_{filter_fn != nullptr}, filter_func_{&filter_fn} {
+ // skip to next valid node, stopping at end if none are found
+ while (current_ < end && (*current_ == nullptr ||
+diff --git a/onnxruntime/test/providers/cpu/controlflow/loop_test.cc b/onnxruntime/test/providers/cpu/controlflow/loop_test.cc
+index b058e9a16c7..3cf147e997c 100644
+--- a/onnxruntime/test/providers/cpu/controlflow/loop_test.cc
++++ b/onnxruntime/test/providers/cpu/controlflow/loop_test.cc
+@@ -2,6 +2,7 @@
+ // Licensed under the MIT License.
+
+ #include <future>
++#include <thread>
+ #include "gtest/gtest.h"
+ #include "gmock/gmock.h"
+
diff --git a/var/spack/repos/builtin/packages/py-onnx-runtime/libiconv.patch b/var/spack/repos/builtin/packages/py-onnx-runtime/libiconv.patch
new file mode 100644
index 0000000000..b782c15ed1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-onnx-runtime/libiconv.patch
@@ -0,0 +1,42 @@
+--- cmake/onnxruntime.cmake.orig 2021-08-06 12:36:32.720081500 +0200
++++ cmake/onnxruntime.cmake 2021-08-13 18:53:30.310868700 +0200
+@@ -120,7 +120,8 @@
+ onnxruntime_common
+ onnxruntime_mlas
+ onnxruntime_flatbuffers
+- ${onnxruntime_EXTERNAL_LIBRARIES})
++ ${onnxruntime_EXTERNAL_LIBRARIES}
++ -liconv)
+
+ if (onnxruntime_ENABLE_LANGUAGE_INTEROP_OPS)
+ target_link_libraries(onnxruntime PRIVATE onnxruntime_language_interop onnxruntime_pyop)
+--- cmake/onnxruntime_python.cmake.orig 2021-08-06 12:36:32.725148600 +0200
++++ cmake/onnxruntime_python.cmake 2021-08-13 18:54:37.085622000 +0200
+@@ -106,6 +106,7 @@
+ onnxruntime_mlas
+ onnxruntime_flatbuffers
+ ${pybind11_lib}
++ -liconv
+ )
+
+ if (onnxruntime_ENABLE_LANGUAGE_INTEROP_OPS)
+--- cmake/onnxruntime_unittests.cmake.orig 2021-08-13 19:11:58.645461300 +0200
++++ cmake/onnxruntime_unittests.cmake 2021-08-13 19:14:18.373814800 +0200
+@@ -603,7 +603,7 @@
+ AddTest(
+ TARGET onnxruntime_test_all
+ SOURCES ${all_tests} ${onnxruntime_unittest_main_src}
+- LIBS onnx_test_runner_common ${onnxruntime_test_providers_libs} ${onnxruntime_test_common_libs} re2::re2 onnx_test_data_proto
++ LIBS onnx_test_runner_common ${onnxruntime_test_providers_libs} ${onnxruntime_test_common_libs} re2::re2 onnx_test_data_proto -liconv
+ DEPENDS ${all_dependencies}
+ )
+
+@@ -723,7 +723,7 @@
+ target_compile_options(onnx_test_runner PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /utf-8>"
+ "$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/utf-8>")
+ endif()
+-target_link_libraries(onnx_test_runner PRIVATE onnx_test_runner_common ${GETOPT_LIB_WIDE} ${onnx_test_libs})
++target_link_libraries(onnx_test_runner PRIVATE onnx_test_runner_common ${GETOPT_LIB_WIDE} ${onnx_test_libs} -liconv)
+ target_include_directories(onnx_test_runner PRIVATE ${ONNXRUNTIME_ROOT})
+ set_target_properties(onnx_test_runner PROPERTIES FOLDER "ONNXRuntimeTest")
+
diff --git a/var/spack/repos/builtin/packages/py-onnx-runtime/package.py b/var/spack/repos/builtin/packages/py-onnx-runtime/package.py
new file mode 100644
index 0000000000..2bb30786a8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-onnx-runtime/package.py
@@ -0,0 +1,121 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyOnnxRuntime(CMakePackage, PythonPackage):
+ """ONNX Runtime is a performance-focused complete scoring
+ engine for Open Neural Network Exchange (ONNX) models, with
+ an open extensible architecture to continually address the
+ latest developments in AI and Deep Learning. ONNX Runtime
+ stays up to date with the ONNX standard with complete
+ implementation of all ONNX operators, and supports all
+ ONNX releases (1.2+) with both future and backwards
+ compatibility."""
+
+ homepage = "https://github.com/microsoft/onnxruntime"
+ git = "https://github.com/microsoft/onnxruntime.git"
+
+ version('1.7.2', tag='v1.7.2', submodules=True)
+
+ variant('cuda', default=False, description='Build with CUDA support')
+
+ depends_on('cmake@3.1:', type='build')
+ depends_on('ninja', type='build')
+ depends_on('python', type=('build', 'run'))
+ depends_on('protobuf')
+ depends_on('py-protobuf', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1.16.6:', type=('build', 'run'))
+ depends_on('py-wheel', type='build')
+ depends_on('py-onnx', type=('build', 'run'))
+ depends_on('zlib')
+ depends_on('libpng')
+ depends_on('py-pybind11', type='build')
+ depends_on('cuda', when='+cuda')
+ depends_on('cudnn', when='+cuda')
+ depends_on('iconv', type=('build', 'link', 'run'))
+ depends_on('re2+shared')
+
+ extends('python')
+ # Adopted from CMS experiment's fork of onnxruntime
+ # https://github.com/cms-externals/onnxruntime/compare/5bc92df...d594f80
+ patch('cms.patch', level=1, when='@1.7.2')
+ # https://github.com/microsoft/onnxruntime/issues/4234#issuecomment-698077636
+ patch('libiconv.patch', level=0, when='@1.7.2')
+ # https://github.com/microsoft/onnxruntime/commit/de4089f8cbe0baffe56a363cc3a41595cc8f0809.patch
+ patch('gcc11.patch', level=1, when='@1.7.2')
+
+ dynamic_cpu_arch_values = ('NOAVX', 'AVX', 'AVX2', 'AVX512')
+
+ variant('dynamic_cpu_arch', default='AVX512',
+ values=dynamic_cpu_arch_values, multi=False,
+ description='AVX support level')
+
+ generator = 'Ninja'
+ root_cmakelists_dir = 'cmake'
+
+ def setup_build_environment(self, env):
+ value = self.spec.variants['dynamic_cpu_arch'].value
+ value = self.dynamic_cpu_arch_values.index(value)
+ env.set('MLAS_DYNAMIC_CPU_ARCH', str(value))
+
+ def setup_run_environment(self, env):
+ value = self.spec.variants['dynamic_cpu_arch'].value
+ value = self.dynamic_cpu_arch_values.index(value)
+ env.set('MLAS_DYNAMIC_CPU_ARCH', str(value))
+
+ def cmake_args(self):
+ define = self.define
+ define_from_variant = self.define_from_variant
+
+ args = [define('onnxruntime_ENABLE_PYTHON', True),
+ define('onnxruntime_BUILD_SHARED_LIB', True),
+ define_from_variant('onnxruntime_USE_CUDA', 'cuda'),
+ define('onnxruntime_BUILD_CSHARP', False),
+ define('onnxruntime_USE_EIGEN_FOR_BLAS', True),
+ define('onnxruntime_USE_OPENBLAS', False),
+ define("onnxruntime_USE_MKLML", False),
+ define("onnxruntime_USE_NGRAPH", False),
+ define("onnxruntime_USE_OPENMP", False),
+ define("onnxruntime_USE_TVM", False),
+ define("onnxruntime_USE_LLVM", False),
+ define("onnxruntime_ENABLE_MICROSOFT_INTERNAL", False),
+ define("onnxruntime_USE_BRAINSLICE", False),
+ define("onnxruntime_USE_NUPHAR", False),
+ define("onnxruntime_USE_TENSORRT", False),
+ define("onnxruntime_CROSS_COMPILING", False),
+ define("onnxruntime_USE_FULL_PROTOBUF", True),
+ define("onnxruntime_DISABLE_CONTRIB_OPS", False),
+ define("onnxruntime_USE_PREINSTALLED_PROTOBUF", True),
+ define("onnxruntime_PREFER_SYSTEM_LIB", True)]
+
+ if self.spec.satisfies('+cuda'):
+ args.extend((
+ define('onnxruntime_CUDA_VERSION', str(self.spec['cuda'].version)),
+ define('onnxruntime_CUDA_HOME', self.spec['cuda'].prefix),
+ define('onnxruntime_CUDNN_HOME', self.spec['cudnn'].prefix),
+ define('CMAKE_CUDA_FLAGS', '-cudart shared'),
+ define('CMAKE_CUDA_RUNTIME_LIBRARY', 'Shared'),
+ define('DCMAKE_TRY_COMPILE_PLATFORM_VARIABLES',
+ 'CMAKE_CUDA_RUNTIME_LIBRARY')
+ ))
+
+ return args
+
+ def setup_file(self):
+ return join_path(self.stage.source_path, 'setup.py')
+
+ @run_after('build')
+ def build_python(self):
+ """Build everything needed to install."""
+ with working_dir(self.stage.source_path):
+ PythonPackage.build(self, self.spec, self.prefix)
+
+ @run_after('install')
+ def install_python(self):
+ with working_dir(self.stage.source_path):
+ PythonPackage.install(self, self.spec, self.prefix)
diff --git a/var/spack/repos/builtin/packages/py-onnx/package.py b/var/spack/repos/builtin/packages/py-onnx/package.py
index 904b392a99..c5a500203f 100644
--- a/var/spack/repos/builtin/packages/py-onnx/package.py
+++ b/var/spack/repos/builtin/packages/py-onnx/package.py
@@ -23,13 +23,15 @@ class PyOnnx(PythonPackage):
version('1.5.0', sha256='1a584a4ef62a6db178c257fffb06a9d8e61b41c0a80bfd8bcd8a253d72c4b0b4')
depends_on('py-setuptools', type='build')
- depends_on('protobuf')
- depends_on('py-protobuf+cpp', type=('build', 'run'))
+ # Protobuf version limit is due to https://github.com/protocolbuffers/protobuf/pull/8794
+ depends_on('protobuf@:3.17')
+ depends_on('py-protobuf+cpp@:3.17', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
depends_on('py-typing@3.6.4:', when='^python@:3.4', type=('build', 'run'))
- depends_on('py-typing-extensions@3.6.4:', type=('build', 'run'))
+ depends_on('py-typing-extensions@3.6.2.1:', type=('build', 'run'))
depends_on('cmake@3.1:', type='build')
+ depends_on('py-pytest-runner', type='build')
# 'python_out' does not recognize dllexport_decl.
patch('remove_dllexport_decl.patch', when='@:1.6.0')
diff --git a/var/spack/repos/builtin/packages/py-onnxconverter-common/package.py b/var/spack/repos/builtin/packages/py-onnxconverter-common/package.py
new file mode 100644
index 0000000000..168cebc737
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-onnxconverter-common/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyOnnxconverterCommon(PythonPackage):
+ """ONNX Converter and Optimization Tools"""
+
+ homepage = "https://github.com/microsoft/onnxconverter-common"
+ url = "https://github.com/microsoft/onnxconverter-common/archive/refs/tags/v1.9.0.tar.gz"
+
+ version('1.9.0', sha256='32315bcc844a8203092f3117a4a092ac6cf03d6a20145477e284f1172557d6f9')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-protobuf', type=('build', 'run'))
+ depends_on('py-onnx', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-onnxmltools/package.py b/var/spack/repos/builtin/packages/py-onnxmltools/package.py
new file mode 100644
index 0000000000..dacaef2822
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-onnxmltools/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyOnnxmltools(PythonPackage):
+ """Converts Machine Learning models to ONNX"""
+
+ homepage = "https://github.com/onnx/onnxmltools"
+ pypi = "onnxmltools/onnxmltools-1.10.0.tar.gz"
+
+ version('1.10.0', sha256='4eb4605f18ed66553fc17438ac8cf5406d66dcc624bedd76d8067e1b08e6c75d')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-onnx', type=('build', 'run'))
+ depends_on('py-skl2onnx', type=('build', 'run'))
+ depends_on('py-onnx-runtime', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-openpmd-validator/package.py b/var/spack/repos/builtin/packages/py-openpmd-validator/package.py
index 08bd31120b..f44e0f1174 100644
--- a/var/spack/repos/builtin/packages/py-openpmd-validator/package.py
+++ b/var/spack/repos/builtin/packages/py-openpmd-validator/package.py
@@ -12,9 +12,13 @@ class PyOpenpmdValidator(PythonPackage):
openPMD is an open standard for particle-mesh data files."""
homepage = "https://www.openPMD.org"
- url = "https://github.com/openPMD/openPMD-validator/archive/1.0.0.2.tar.gz"
+ url = "https://github.com/openPMD/openPMD-validator/archive/refs/tags/1.1.0.2.tar.gz"
+ git = "https://github.com/openPMD/openPMD-validator.git"
+
maintainers = ['ax3l']
+ version('1.1.0.2', sha256='b30be7957c2e1e7de67d81fad64492c3a1ecd25db231293d896da116a71ecca5')
+ version('1.1.0.1', sha256='93031f50ddeb747ebd6aabca249aa6bf0491d570de56746d7a98d6453427f191')
version('1.0.0.2', sha256='1b97452991feb0f0ac1ffb3c92b7f9743a86b0b5390dbbfb21160e04f0a35a95')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-openpmd-viewer/package.py b/var/spack/repos/builtin/packages/py-openpmd-viewer/package.py
new file mode 100644
index 0000000000..a348b8b4f7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-openpmd-viewer/package.py
@@ -0,0 +1,56 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyOpenpmdViewer(PythonPackage):
+ """Python visualization tools for openPMD files"""
+
+ homepage = "https://www.openPMD.org"
+ git = "https://github.com/openPMD/openPMD-viewer.git"
+ pypi = 'openPMD-viewer/openPMD-viewer-1.2.0.tar.gz'
+
+ maintainers = ['RemiLehe', 'ax3l']
+
+ version('1.2.0', sha256='a27f8ac522c4c76fd774095e156a8b280c9211128f50aa07f16ac70d8222384d')
+
+ variant('backend', default='h5py,openpmd-api', multi=True,
+ values=('h5py', 'openpmd-api'))
+ variant('jupyter', default=False,
+ description='Enable Jupyter Widget GUI')
+ variant('numba', default=False,
+ description='Enable accelerated depositions for histograms')
+ variant('plot', default=True,
+ description='Enable plotting support')
+ variant('tutorials', default=True,
+ description='Enable dependencies for tutorials')
+
+ depends_on('python@3.5:', type=('build', 'run'))
+ depends_on('py-numpy@1.15:1', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-tqdm', type=('build', 'run'))
+
+ depends_on('py-h5py@2.8.0:', type=('build', 'run'))
+ with when('backend=openpmd-api'):
+ depends_on('openpmd-api +python -mpi', type=('build', 'run'))
+
+ with when('+jupyter'):
+ depends_on('py-ipywidgets', type=('build', 'run'))
+ depends_on('py-jupyter', type=('build', 'run'))
+ depends_on('py-tqdm +notebook', type=('build', 'run'))
+
+ with when('+numba'):
+ depends_on('py-numba', type=('build', 'run'))
+
+ with when('+plot'):
+ depends_on('py-matplotlib', type=('build', 'run'))
+ # missing in Spack:
+ # with when('+jupyter'):
+ # depends_on('py-ipympl', type=('build', 'run'))
+
+ with when('+tutorials'):
+ depends_on('py-wget', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-opentuner/package.py b/var/spack/repos/builtin/packages/py-opentuner/package.py
index 0e367bf55d..f4f054e8ec 100644
--- a/var/spack/repos/builtin/packages/py-opentuner/package.py
+++ b/var/spack/repos/builtin/packages/py-opentuner/package.py
@@ -14,6 +14,7 @@ class PyOpentuner(PythonPackage):
maintainers = ['matthiasdiener']
+ version('0.8.7', commit='070c5ce')
version('0.8.2', commit='8e720a2')
version('0.8.0', commit='4cb9135')
diff --git a/var/spack/repos/builtin/packages/py-packaging/package.py b/var/spack/repos/builtin/packages/py-packaging/package.py
index 37ad3aadca..c64cbf7edc 100644
--- a/var/spack/repos/builtin/packages/py-packaging/package.py
+++ b/var/spack/repos/builtin/packages/py-packaging/package.py
@@ -12,6 +12,7 @@ class PyPackaging(PythonPackage):
homepage = "https://github.com/pypa/packaging"
pypi = "packaging/packaging-19.2.tar.gz"
+ version('21.3', sha256='dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb')
version('21.0', sha256='7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7')
version('20.9', sha256='5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5')
version('19.2', sha256='28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47')
@@ -20,11 +21,13 @@ class PyPackaging(PythonPackage):
version('17.1', sha256='f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b')
version('16.8', sha256='5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e')
- depends_on('python@3.4:', when='@21:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@3.6:', when='@21:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.4:', type=('build', 'run'))
depends_on('py-setuptools@40.8.0:', when='@20.8:', type='build')
depends_on('py-setuptools', type='build')
+ depends_on('py-pyparsing@2.0.2:3.0.4,3.0.6:', when='@21.3:', type=('build', 'run'))
+ depends_on('py-pyparsing@2.0.2:2', when='@21.1:21.2', type=('build', 'run'))
depends_on('py-pyparsing@2.0.2:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'), when='@:20.7')
- depends_on('py-attrs', type=('build', 'run'), when='@19.1')
+ depends_on('py-six', when='@:20.7', type=('build', 'run'))
+ depends_on('py-attrs', when='@19.1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py
index 9496908dd4..f592db859b 100644
--- a/var/spack/repos/builtin/packages/py-pandas/package.py
+++ b/var/spack/repos/builtin/packages/py-pandas/package.py
@@ -14,6 +14,7 @@ class PyPandas(PythonPackage):
maintainers = ['adamjstewart']
+ version('1.3.5', sha256='1e4285f5de1012de20ca46b188ccf33521bff61ba5c5ebd78b4fb28e5416a9f1')
version('1.3.4', sha256='a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc')
version('1.3.3', sha256='272c8cb14aa9793eada6b1ebe81994616e647b5892a370c7135efb2924b701df')
version('1.3.2', sha256='cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87')
@@ -64,6 +65,7 @@ class PyPandas(PythonPackage):
depends_on('py-cython@0.29.24:2', type='build', when='@1.3.4:')
depends_on('py-setuptools@24.2.0:', type='build')
depends_on('py-setuptools@38.6.0:', type='build', when='@1.3:')
+ depends_on('py-setuptools@51.0.0:', type='build', when='@1.3.2:')
depends_on('py-numpy', type=('build', 'run'))
# 'NUMPY_IMPORT_ARRAY_RETVAL' was removed in numpy@0.19
depends_on('py-numpy@:1.18', type=('build', 'run'), when='@:0.25')
@@ -91,7 +93,7 @@ class PyPandas(PythonPackage):
@property
def import_modules(self):
- modules = super(PyPandas, self).import_modules()
+ modules = super(PythonPackage, self).import_modules
ignored_imports = ["pandas.tests", "pandas.plotting._matplotlib"]
diff --git a/var/spack/repos/builtin/packages/py-pandocfilters/package.py b/var/spack/repos/builtin/packages/py-pandocfilters/package.py
index 719ac3163f..5f200dfa3f 100644
--- a/var/spack/repos/builtin/packages/py-pandocfilters/package.py
+++ b/var/spack/repos/builtin/packages/py-pandocfilters/package.py
@@ -12,4 +12,10 @@ class PyPandocfilters(PythonPackage):
homepage = "https://github.com/jgm/pandocfilters"
pypi = "pandocfilters/pandocfilters-1.4.2.tar.gz"
+ version('1.5.0', sha256='0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38')
version('1.4.2', sha256='b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9')
+
+ depends_on('python@2.7:2,3.4:', type=('build', 'run'), when='@1.5.0:')
+ # Notice: @:1.4 uses distutils and won't build if py-setuptools are present:
+ # error: option --single-version-externally-managed not recognized
+ depends_on('py-setuptools', type='build', when='@1.5.0:')
diff --git a/var/spack/repos/builtin/packages/py-parmed/package.py b/var/spack/repos/builtin/packages/py-parmed/package.py
new file mode 100644
index 0000000000..1eaad013b5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-parmed/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyParmed(PythonPackage):
+ """ParmEd is a general tool for aiding in investigations of
+ biomolecular systems using popular molecular simulation
+ packages, like Amber, CHARMM, and OpenMM written in
+ Python."""
+
+ homepage = "https://parmed.github.io/ParmEd/html/index.html"
+ pypi = "ParmEd/ParmEd-3.4.3.tar.gz"
+
+ version('3.4.3', sha256='90afb155e3ffe69230a002922b28968464126d4450059f0bd97ceca679c6627c')
+
+ depends_on('python@2.7:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-parsimonious/package.py b/var/spack/repos/builtin/packages/py-parsimonious/package.py
new file mode 100644
index 0000000000..c46d18de01
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-parsimonious/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyParsimonious(PythonPackage):
+ """(Soon to be) the fastest pure-Python PEG parser"""
+
+ homepage = "https://github.com/erikrose/parsimonious"
+ pypi = "parsimonious/parsimonious-0.8.1.tar.gz"
+
+ version('0.8.1', sha256='3add338892d580e0cb3b1a39e4a1b427ff9f687858fdd61097053742391a9f6b')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six@1.9.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-parso/package.py b/var/spack/repos/builtin/packages/py-parso/package.py
index 07364b0bbb..61518517fb 100644
--- a/var/spack/repos/builtin/packages/py-parso/package.py
+++ b/var/spack/repos/builtin/packages/py-parso/package.py
@@ -14,6 +14,7 @@ class PyParso(PythonPackage):
pypi = "parso/parso-0.6.1.tar.gz"
+ version('0.8.2', sha256='12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398')
version('0.8.1', sha256='8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e')
version('0.7.1', sha256='caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9')
version('0.6.1', sha256='56b2105a80e9c4df49de85e125feb6be69f49920e121406f15e7acde6c9dfc57')
diff --git a/var/spack/repos/builtin/packages/py-pathlib2/package.py b/var/spack/repos/builtin/packages/py-pathlib2/package.py
index c8a2427603..b4055f3c50 100644
--- a/var/spack/repos/builtin/packages/py-pathlib2/package.py
+++ b/var/spack/repos/builtin/packages/py-pathlib2/package.py
@@ -11,6 +11,7 @@ class PyPathlib2(PythonPackage):
pypi = "pathlib2/pathlib2-2.3.2.tar.gz"
+ version('2.3.6', sha256='7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f')
version('2.3.3', sha256='25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742')
version('2.3.2', sha256='8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83')
version('2.1.0', sha256='deb3a960c1d55868dfbcac98432358b92ba89d95029cddd4040db1f27405055c')
diff --git a/var/spack/repos/builtin/packages/py-pbr/package.py b/var/spack/repos/builtin/packages/py-pbr/package.py
index 09bb49d295..5acc9dc180 100644
--- a/var/spack/repos/builtin/packages/py-pbr/package.py
+++ b/var/spack/repos/builtin/packages/py-pbr/package.py
@@ -15,6 +15,7 @@ class PyPbr(PythonPackage):
# Skip 'pbr.tests' imports
import_modules = ['pbr', 'pbr.cmd', 'pbr.hooks']
+ version('5.7.0', sha256='4651ca1445e80f2781827305de3d76b3ce53195f2227762684eb08f17bc473b7')
version('5.4.3', sha256='2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8')
version('5.2.1', sha256='93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6')
version('3.1.1', sha256='05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1')
diff --git a/var/spack/repos/builtin/packages/py-pep517/package.py b/var/spack/repos/builtin/packages/py-pep517/package.py
new file mode 100644
index 0000000000..8dcd03c1fa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pep517/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPep517(PythonPackage):
+ """Wrappers to build Python packages using PEP 517 hooks."""
+
+ homepage = "https://github.com/pypa/pep517"
+ pypi = "pep517/pep517-0.12.0.tar.gz"
+
+ version('0.12.0', sha256='931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0')
+
+ depends_on('py-toml', when='^python@:3.5', type=('build', 'run'))
+ depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
+ depends_on('py-zipp', when='^python@:3.7', type=('build', 'run'))
+ depends_on('py-tomli@1.1:', when='^python@3.6:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-petsc4py/package.py b/var/spack/repos/builtin/packages/py-petsc4py/package.py
index 6a27c71a12..86f75c30c1 100644
--- a/var/spack/repos/builtin/packages/py-petsc4py/package.py
+++ b/var/spack/repos/builtin/packages/py-petsc4py/package.py
@@ -17,6 +17,7 @@ class PyPetsc4py(PythonPackage):
maintainers = ['balay']
version('main', branch='main')
+ version('3.16.2', sha256='906634497ae9c59f2c97e12b935954e5ba95df2e764290c24fff6751b7510b04')
version('3.16.1', sha256='c218358217c436947f8fd61f247f73ac65fa29ea3489ad00bef5827b1436b95f')
version('3.16.0', sha256='4044accfdc2c80994e80e4e286478d1ba9ac358512d1b74c42e1327eadb0d802')
version('3.15.5', sha256='cdbc8a7485960c80565268ae851639f6c620663f245708263a349903dd07e5ae')
diff --git a/var/spack/repos/builtin/packages/py-pexpect/package.py b/var/spack/repos/builtin/packages/py-pexpect/package.py
index 431219bf4e..36b3ee8d78 100644
--- a/var/spack/repos/builtin/packages/py-pexpect/package.py
+++ b/var/spack/repos/builtin/packages/py-pexpect/package.py
@@ -10,6 +10,7 @@ class PyPexpect(PythonPackage):
"""Pexpect allows easy control of interactive console applications."""
pypi = "pexpect/pexpect-4.2.1.tar.gz"
+ version('4.8.0', sha256='fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c')
version('4.7.0', sha256='9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb')
version('4.6.0', sha256='2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba')
version('4.2.1', sha256='3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92')
diff --git a/var/spack/repos/builtin/packages/py-pickle5/package.py b/var/spack/repos/builtin/packages/py-pickle5/package.py
new file mode 100644
index 0000000000..707b4b569a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pickle5/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPickle5(PythonPackage):
+ """This package backports all features and APIs added in the pickle module
+ in Python 3.8.3, including the PEP 574 additions. It should work with Python
+ 3.5, 3.6 and 3.7."""
+
+ homepage = "https://github.com/pitrou/pickle5-backport"
+ pypi = "pickle5/pickle5-0.0.11.tar.gz"
+
+ version('0.0.11', sha256='7e013be68ba7dde1de5a8dbcc241f201dab1126e326715916ce4a26c27919ffc')
+
+ depends_on('python@3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-picmistandard/package.py b/var/spack/repos/builtin/packages/py-picmistandard/package.py
index 7c850b36c1..c5c1fe6b96 100644
--- a/var/spack/repos/builtin/packages/py-picmistandard/package.py
+++ b/var/spack/repos/builtin/packages/py-picmistandard/package.py
@@ -10,16 +10,26 @@ class PyPicmistandard(PythonPackage):
"""Standard input format for Particle-In-Cell codes"""
homepage = "https://picmi-standard.github.io"
- url = "https://github.com/picmi-standard/picmi/archive/refs/tags/0.0.14.tar.gz"
git = "https://github.com/picmi-standard/picmi.git"
+ pypi = 'picmistandard/picmistandard-0.0.18.tar.gz'
maintainers = ['ax3l', 'dpgrote', 'RemiLehe']
version('develop', branch='master')
- version('0.0.14', sha256='b7eefdae1c43119984226b2df358c86fdeef7495084e47b3575e3d07e790ba30')
+ version('0.0.18', sha256='68c208c0c54b4786e133bb13eef0dd4824998da4906285987ddee84e6d195e71')
+ # 0.15 - 0.17 have broken install logic: missing requirements.txt on pypi
+ version('0.0.16', sha256='b7eefdae1c43119984226b2df358c86fdeef7495084e47b3575e3d07e790ba30',
+ url='https://github.com/picmi-standard/picmi/archive/refs/tags/0.0.14.tar.gz')
+ version('0.0.14', sha256='8f83b25b281fc0309a0c4f75c7605afd5fa0ef4df3b3ac115069478c119bc8c3')
depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-numpy@1.15:1', type=('build', 'run'))
+ depends_on('py-scipy@1.5:1', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- build_directory = 'PICMI_Python'
+ @property
+ def build_directory(self):
+ if self.spec.satisfies('@develop') or self.spec.satisfies('@0.0.16'):
+ return 'PICMI_Python'
+ else:
+ return './'
diff --git a/var/spack/repos/builtin/packages/py-pika/package.py b/var/spack/repos/builtin/packages/py-pika/package.py
index 236c81c2c4..236c81c2c4 100755..100644
--- a/var/spack/repos/builtin/packages/py-pika/package.py
+++ b/var/spack/repos/builtin/packages/py-pika/package.py
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
index 374b7123b4..333c6a3590 100644
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -25,13 +25,15 @@ class PyPillowBase(PythonPackage):
# Required dependencies
# https://pillow.readthedocs.io/en/latest/installation.html#notes
- depends_on('python@3.6:3.9', when='@8:', type=('build', 'run'))
+ depends_on('python@3.7:3.10', when='@9:', type=('build', 'run'))
+ depends_on('python@3.6:3.10', when='@8.3.2:8.4', type=('build', 'run'))
+ depends_on('python@3.6:3.9', when='@8:8.3.1', type=('build', 'run'))
depends_on('python@3.5:3.8', when='@7.0:7.2', type=('build', 'run'))
depends_on('python@2.7:2.8,3.5:3.8', when='@6.2.1:6.2.2', type=('build', 'run'))
depends_on('python@2.7:2.8,3.5:3.7', when='@6.0:6.2.0', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:3.7', when='@5.2:5.4', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:3.6', when='@5.0:5.1', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:3.6', when='@4.0:4', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.3:3.6', when='@4.0:4', type=('build', 'run'))
depends_on('python@2.6:2.8,3.2:3.5', when='@2:3', type=('build', 'run'))
depends_on('python@2.4:2.7', when='@:1', type=('build', 'run'))
depends_on('py-setuptools', type='build')
@@ -108,6 +110,7 @@ class PyPillow(PyPillowBase):
homepage = "https://python-pillow.org/"
pypi = "Pillow/Pillow-7.2.0.tar.gz"
+ version('8.4.0', sha256='b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed')
version('8.0.0', sha256='59304c67d12394815331eda95ec892bf54ad95e0aa7bc1ccd8e0a4a5a25d4bf3')
version('7.2.0', sha256='97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626')
version('7.0.0', sha256='4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946')
@@ -121,7 +124,10 @@ class PyPillow(PyPillowBase):
version('3.0.0', sha256='ad50bef540fe5518a4653c3820452a881b6a042cb0f8bb7657c491c6bd3654bb')
for ver in [
- '7.2.0', '7.0.0', '6.2.2', '6.2.1', '6.2.0', '6.0.0',
- '5.4.1', '5.1.0', '3.2.0', '3.0.0'
+ '8.4.0', '8.0.0',
+ '7.2.0', '7.0.0',
+ '6.2.2', '6.2.1', '6.2.0', '6.0.0',
+ '5.4.1', '5.1.0',
+ '3.2.0', '3.0.0'
]:
provides('pil@' + ver, when='@' + ver)
diff --git a/var/spack/repos/builtin/packages/py-pkgconfig/package.py b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
index 0f2e7171e0..7f3270b63a 100644
--- a/var/spack/repos/builtin/packages/py-pkgconfig/package.py
+++ b/var/spack/repos/builtin/packages/py-pkgconfig/package.py
@@ -12,11 +12,12 @@ class PyPkgconfig(PythonPackage):
homepage = "https://github.com/matze/pkgconfig"
pypi = "pkgconfig/pkgconfig-1.2.2.tar.gz"
+ version('1.5.5', sha256='deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899')
version('1.5.1', sha256='97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f')
version('1.4.0', sha256='048c3b457da7b6f686b647ab10bf09e2250e4c50acfe6f215398a8b5e6fcdb52')
version('1.2.2', sha256='3685ba02a9b72654a764b728b559f327e1dbd7dc6ebc310a1bd429666ee202aa')
depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.3:', when='@1.5:', type=('build', 'run'))
- depends_on('py-setuptools', when='@:1.4', type=('build', 'run'))
+ depends_on('py-setuptools', when='@:1.4,1.5.5:', type=('build', 'run'))
depends_on('pkgconfig', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pkginfo/package.py b/var/spack/repos/builtin/packages/py-pkginfo/package.py
index 7d6efa869e..77e0b16a4f 100644
--- a/var/spack/repos/builtin/packages/py-pkginfo/package.py
+++ b/var/spack/repos/builtin/packages/py-pkginfo/package.py
@@ -12,6 +12,7 @@ class PyPkginfo(PythonPackage):
homepage = "https://code.launchpad.net/~tseaver/pkginfo/trunk"
pypi = "pkginfo/pkginfo-1.5.0.1.tar.gz"
+ version('1.7.1', sha256='e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd')
version('1.5.0.1', sha256='7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb')
depends_on('py-setuptools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-plac/package.py b/var/spack/repos/builtin/packages/py-plac/package.py
index 746e8ead71..0aabec4e89 100644
--- a/var/spack/repos/builtin/packages/py-plac/package.py
+++ b/var/spack/repos/builtin/packages/py-plac/package.py
@@ -10,6 +10,10 @@ class PyPlac(PythonPackage):
homepage = "https://github.com/micheles/plac"
pypi = "plac/plac-1.1.3.tar.gz"
+ # Skip 'plac_tk' imports
+ import_modules = ['plac', 'plac_ext', 'plac_core']
+
+ version('1.3.3', sha256='51e332dabc2aed2cd1f038be637d557d116175101535f53eaa7ae854a00f2a74')
version('1.1.3', sha256='398cb947c60c4c25e275e1f1dadf027e7096858fb260b8ece3b33bcff90d985f')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-platformdirs/package.py b/var/spack/repos/builtin/packages/py-platformdirs/package.py
new file mode 100644
index 0000000000..e1d0c126f0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-platformdirs/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPlatformdirs(PythonPackage):
+ """A small Python module for determining appropriate
+ platform-specific dirs, e.g. a "user data dir" """
+
+ homepage = "https://github.com/platformdirs/platformdirs"
+ pypi = "platformdirs/platformdirs-2.4.0.tar.gz"
+
+ version('2.4.0', sha256='367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@44:', type='build')
+ depends_on('py-setuptools-scm@5:+toml', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pluggy/package.py b/var/spack/repos/builtin/packages/py-pluggy/package.py
index 7c543bbdd1..1dac0042b1 100644
--- a/var/spack/repos/builtin/packages/py-pluggy/package.py
+++ b/var/spack/repos/builtin/packages/py-pluggy/package.py
@@ -12,6 +12,7 @@ class PyPluggy(PythonPackage):
homepage = "https://github.com/pytest-dev/pluggy"
pypi = "pluggy/pluggy-0.13.0.tar.gz"
+ version('1.0.0', sha256='4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159')
version('0.13.0', sha256='fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34')
version('0.12.0', sha256='0825a152ac059776623854c1543d65a4ad408eb3d33ee114dff91e57ec6ae6fc')
version('0.9.0', sha256='19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f')
@@ -20,6 +21,7 @@ class PyPluggy(PythonPackage):
version('0.6.0', sha256='7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@1.0.0:')
depends_on('py-setuptools', type='build')
depends_on('py-setuptools-scm', type='build')
diff --git a/var/spack/repos/builtin/packages/py-ply/package.py b/var/spack/repos/builtin/packages/py-ply/package.py
index 2c1b064d76..1bb6f9947e 100644
--- a/var/spack/repos/builtin/packages/py-ply/package.py
+++ b/var/spack/repos/builtin/packages/py-ply/package.py
@@ -7,9 +7,12 @@ from spack import *
class PyPly(PythonPackage):
- """PLY is nothing more than a straightforward lex/yacc implementation."""
+ """Python Lex & Yacc."""
+
homepage = "http://www.dabeaz.com/ply"
- url = "https://www.dabeaz.com/ply/ply-3.11.tar.gz"
+ pypi = "ply/ply-3.11.tar.gz"
version('3.11', sha256='00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3')
version('3.8', sha256='e7d1bdff026beb159c9942f7a17e102c375638d9478a7ecd4cc0c76afd8de0b8')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pmw-patched/package.py b/var/spack/repos/builtin/packages/py-pmw-patched/package.py
new file mode 100644
index 0000000000..f17bf63452
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pmw-patched/package.py
@@ -0,0 +1,14 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyPmwPatched(PythonPackage):
+ """Schrodinger's Fork of Python megawidgets with essential patches applied.
+ Pmw is a toolkit for building high-level compound widgets, or
+ megawidgets, constructed using other widgets as component parts."""
+ homepage = "https://github.com/schrodinger/pmw-patched"
+ git = "https://github.com/schrodinger/pmw-patched"
+
+ version('02-10-2020', commit='8bedfc8747e7757c1048bc5e11899d1163717a43')
diff --git a/var/spack/repos/builtin/packages/py-pooch/package.py b/var/spack/repos/builtin/packages/py-pooch/package.py
index 3bdb51c1b6..07336a3751 100644
--- a/var/spack/repos/builtin/packages/py-pooch/package.py
+++ b/var/spack/repos/builtin/packages/py-pooch/package.py
@@ -14,10 +14,12 @@ class PyPooch(PythonPackage):
homepage = "https://github.com/fatiando/pooch"
pypi = "pooch/pooch-1.3.0.tar.gz"
+ version('1.5.2', sha256='5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581')
version('1.3.0', sha256='30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898')
depends_on('python@3.6:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools-scm', when='@1.4:', type='build')
depends_on('py-requests', type=('build', 'run'))
depends_on('py-packaging', type=('build', 'run'))
depends_on('py-appdirs', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-prettytable/package.py b/var/spack/repos/builtin/packages/py-prettytable/package.py
index cad349dc3e..21ca40def5 100644
--- a/var/spack/repos/builtin/packages/py-prettytable/package.py
+++ b/var/spack/repos/builtin/packages/py-prettytable/package.py
@@ -12,9 +12,14 @@ class PyPrettytable(PythonPackage):
appealing ASCII tables.
"""
- homepage = "https://code.google.com/archive/p/prettytable/"
+ homepage = "https://github.com/jazzband/prettytable"
pypi = "prettytable/prettytable-0.7.2.tar.gz"
+ version('2.4.0', sha256='18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca')
version('0.7.2', sha256='2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9')
depends_on("py-setuptools", type='build')
+ depends_on("py-wcwidth", type=('build', 'run'), when='@2.4.0:')
+ depends_on("py-importlib-metadata", type=('build', 'run'), when='@2.4.0: ^python@:3.7')
+ depends_on("py-setuptools-scm", type='build', when='@2.4.0:')
+ depends_on("python@3.6:", type=('build', 'run'), when='@2.4.0:')
diff --git a/var/spack/repos/builtin/packages/py-progressbar2/package.py b/var/spack/repos/builtin/packages/py-progressbar2/package.py
index b64ab06dff..70fc7e58ff 100644
--- a/var/spack/repos/builtin/packages/py-progressbar2/package.py
+++ b/var/spack/repos/builtin/packages/py-progressbar2/package.py
@@ -13,6 +13,7 @@ class PyProgressbar2(PythonPackage):
homepage = "https://github.com/WoLpH/python-progressbar"
pypi = "progressbar2/progressbar2-3.50.1.tar.gz"
+ version('3.55.0', sha256='86835d1f1a9317ab41aeb1da5e4184975e2306586839d66daf63067c102f8f04')
version('3.50.1', sha256='2c21c14482016162852c8265da03886c2b4dea6f84e5a817ad9b39f6bd82a772')
version('3.39.3', sha256='8e5b5419e04193bb7c3fea71579937bbbcd64c26472b929718c2fe7ec420fe39')
diff --git a/var/spack/repos/builtin/packages/py-prometheus-client/package.py b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
index 9bd8df3a64..160a5c2c09 100644
--- a/var/spack/repos/builtin/packages/py-prometheus-client/package.py
+++ b/var/spack/repos/builtin/packages/py-prometheus-client/package.py
@@ -11,6 +11,7 @@ class PyPrometheusClient(PythonPackage):
pypi = "prometheus_client/prometheus_client-0.7.1.tar.gz"
+ version('0.12.0', sha256='1b12ba48cee33b9b0b9de64a1047cbd3c5f2d0ab6ebcead7ddda613a750ec3c5')
version('0.7.1', sha256='71cd24a2b3eb335cb800c7159f423df1bd4dcd5171b234be15e3f31ec9f622da')
version('0.7.0', sha256='ee0c90350595e4a9f36591f291e6f9933246ea67d7cd7d1d6139a9781b14eaae')
version('0.5.0', sha256='e8c11ff5ca53de6c3d91e1510500611cafd1d247a937ec6c588a0a7cc3bef93c')
@@ -18,7 +19,11 @@ class PyPrometheusClient(PythonPackage):
variant('twisted', default=False, description='Expose metrics as a twisted resource')
depends_on('py-setuptools', type='build')
+ # Notice: prometheus_client/twisted/_exposition.py imports 'twisted.web.wsgi'
+ # which was not ported to Python 3 until twisted 16.0.0
depends_on('py-twisted', type=('build', 'run'), when='+twisted')
+ depends_on('py-twisted@16:', type=('build', 'run'), when='@0.12.0: +twisted ^python@3:')
+ depends_on('python@2.7:2,3.4:', type=('build', 'run'), when='@0.12.0:')
@property
def import_modules(self):
diff --git a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
index 7432627758..3efd6cd5b3 100644
--- a/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
+++ b/var/spack/repos/builtin/packages/py-prompt-toolkit/package.py
@@ -26,6 +26,7 @@ class PyPromptToolkit(PythonPackage):
'prompt_toolkit.clipboard'
]
+ version('3.0.24', sha256='1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6')
version('3.0.17', sha256='9397a7162cf45449147ad6042fa37983a081b8a73363a5253dd4072666333137')
version('3.0.16', sha256='0fa02fa80363844a4ab4b8d6891f62dd0645ba672723130423ca4037b80c1974')
version('3.0.7', sha256='822f4605f28f7d2ba6b0b09a31e25e140871e96364d1d377667b547bb3bf4489')
@@ -34,7 +35,8 @@ class PyPromptToolkit(PythonPackage):
version('1.0.16', sha256='c1cedd626e08b8ee830ee65897de754113ff3f3035880030c08b01674d85c5b4')
version('1.0.9', sha256='cd6523b36adc174cc10d54b1193eb626b4268609ff6ea92c15bcf1996609599c')
- depends_on('python@3.6.1:', when='@3:', type=('build', 'run'))
+ depends_on('python@3.6.2:', when='@3.0.24:', type=('build', 'run'))
+ depends_on('python@3.6.1:', when='@3:3.0.17', type=('build', 'run'))
depends_on('python@2.6:2.8,3.3:', when='@:2', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-six@1.9.0:', when='@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-prwlock/package.py b/var/spack/repos/builtin/packages/py-prwlock/package.py
new file mode 100644
index 0000000000..6f7ed7c41c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-prwlock/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPrwlock(PythonPackage):
+ """Native process-shared rwlock support for Python"""
+
+ homepage = "https://github.com/renatolfc/prwlock"
+ pypi = "prwlock/prwlock-0.4.1.tar.gz"
+
+ version('0.4.1', sha256='a2fa773cb877207ae5b54c7cf5d224b0215c9f7b9ef16a88d33eadc5c9e1466e')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-py/package.py b/var/spack/repos/builtin/packages/py-py/package.py
index aa7ff323a5..9c398085a8 100644
--- a/var/spack/repos/builtin/packages/py-py/package.py
+++ b/var/spack/repos/builtin/packages/py-py/package.py
@@ -9,9 +9,10 @@ from spack import *
class PyPy(PythonPackage):
"""Library with cross-python path, ini-parsing, io, code, log facilities"""
- homepage = "https://pylib.readthedocs.io/en/latest/"
+ homepage = "https://py.readthedocs.io/en/latest/"
pypi = "py/py-1.8.0.tar.gz"
+ version('1.11.0', sha256='51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719')
version('1.9.0', sha256='9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342')
version('1.8.2', sha256='f3b3a4c36512a4c4f024041ab51866f11761cc169670204b235f6b20523d4e6b')
version('1.8.0', sha256='dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53')
@@ -21,6 +22,8 @@ class PyPy(PythonPackage):
version('1.4.31', sha256='a6501963c725fc2554dabfece8ae9a8fb5e149c0ac0a42fd2b02c5c1c57fc114')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@1.11.0:')
depends_on('py-setuptools', type='build')
depends_on('py-setuptools-scm', type='build')
+ depends_on('py-setuptools-scm+toml', type='build', when='@1.11.0:')
diff --git a/var/spack/repos/builtin/packages/py-pyaml/package.py b/var/spack/repos/builtin/packages/py-pyaml/package.py
new file mode 100644
index 0000000000..148c42f1f2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyaml/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPyaml(PythonPackage):
+ """PyYAML-based python module to produce pretty and readable
+ YAML-serialized data."""
+
+ maintainers = ['Kerilk', 'liuyangzhuan']
+
+ homepage = "https://github.com/mk-fg/pretty-yaml"
+ pypi = "pyaml/pyaml-21.8.3.tar.gz"
+
+ version('21.8.3', sha256='a1636d63c476328a07213d0b7111bb63570f1ab8a3eddf60522630250c23d975')
+
+ depends_on('python@2.7:2,3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pyyaml', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py b/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
index 6fc74662ff..cc338e4cb1 100644
--- a/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
+++ b/var/spack/repos/builtin/packages/py-pyasn1-modules/package.py
@@ -14,10 +14,11 @@ class PyPyasn1Modules(PythonPackage):
homepage = "https://github.com/etingof/pyasn1-modules"
pypi = "pyasn1-modules/pyasn1-modules-0.2.6.tar.gz"
+ version('0.2.8', sha256='905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e')
version('0.2.6', sha256='43c17a83c155229839cc5c6b868e8d0c6041dba149789b6d6e28801c64821722')
version('0.2.5', sha256='ef721f68f7951fab9b0404d42590f479e30d9005daccb1699b0a51bb4177db96')
depends_on('python@2.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pyasn1@0.4.6:0.4', type=('build', 'run'), when='@0.2.6')
+ depends_on('py-pyasn1@0.4.6:0.4', type=('build', 'run'), when='@0.2.6:')
depends_on('py-pyasn1@0.4.1:0.4', type=('build', 'run'), when='@0.2.5')
diff --git a/var/spack/repos/builtin/packages/py-pyasn1/package.py b/var/spack/repos/builtin/packages/py-pyasn1/package.py
index 7b982c014d..ae25015893 100644
--- a/var/spack/repos/builtin/packages/py-pyasn1/package.py
+++ b/var/spack/repos/builtin/packages/py-pyasn1/package.py
@@ -14,6 +14,7 @@ class PyPyasn1(PythonPackage):
homepage = "https://github.com/etingof/pyasn1"
pypi = "pyasn1/pyasn1-0.4.6.tar.gz"
+ version('0.4.8', sha256='aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba')
version('0.4.6', sha256='b773d5c9196ffbc3a1e13bdf909d446cad80a039aa3340bcad72f395b76ebc86')
version('0.4.5', sha256='da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7')
version('0.2.3', sha256='738c4ebd88a718e700ee35c8d129acce2286542daa80a82823a7073644f706ad')
diff --git a/var/spack/repos/builtin/packages/py-pybids/package.py b/var/spack/repos/builtin/packages/py-pybids/package.py
index cffbc78446..f1a3a28d4f 100644
--- a/var/spack/repos/builtin/packages/py-pybids/package.py
+++ b/var/spack/repos/builtin/packages/py-pybids/package.py
@@ -10,12 +10,14 @@ class PyPybids(PythonPackage):
"""bids: interface with datasets conforming to BIDS"""
homepage = "https://github.com/bids-standard/pybids"
- pypi = "pybids/pybids-0.13.1.tar.gz"
+ pypi = "pybids/pybids-0.13.1.tar.gz"
+ version('0.14.0', sha256='73c4d03aad333f2a7cb4405abe96f55a33cffa4b5a2d23fad6ac5767c45562ef')
version('0.13.2', sha256='9692013af3b86b096b5423b88179c6c9b604baff5a6b6f89ba5f40429feb7a3e')
version('0.13.1', sha256='c920e1557e1dae8b671625d70cafbdc28437ba2822b2db9da4c2587a7625e3ba')
version('0.9.5', sha256='0e8f8466067ff3023f53661c390c02702fcd5fe712bdd5bf167ffb0c2b920430')
+ depends_on('python@3.6:', when='@0.14:', type=('build', 'run'))
depends_on('python@3.5:', when='@0.10:', type=('build', 'run'))
depends_on('python@2.7:2,3.5:', type=('build', 'run'))
depends_on('py-setuptools@30.3.0:', type='build')
@@ -23,9 +25,11 @@ class PyPybids(PythonPackage):
depends_on('py-scipy', type=('build', 'run'))
depends_on('py-nibabel@2.1:', type=('build', 'run'))
depends_on('py-pandas@0.23:', type=('build', 'run'))
- depends_on('py-patsy', type=('build', 'run'))
+ depends_on('py-formulaic@0.2.4:0.2', when='@0.14:', type=('build', 'run'))
depends_on('py-sqlalchemy@:1.3', when='@0.12.4:', type=('build', 'run'))
depends_on('py-sqlalchemy', type=('build', 'run'))
depends_on('py-bids-validator', type=('build', 'run'))
depends_on('py-num2words', type=('build', 'run'))
depends_on('py-click', when='@0.12.1:', type=('build', 'run'))
+
+ depends_on('py-patsy', when='@:0.13', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pybind11/package.py b/var/spack/repos/builtin/packages/py-pybind11/package.py
index a1ebcec3da..43359ee039 100644
--- a/var/spack/repos/builtin/packages/py-pybind11/package.py
+++ b/var/spack/repos/builtin/packages/py-pybind11/package.py
@@ -45,6 +45,7 @@ class PyPybind11(CMakePackage, PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-pytest', type='test')
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on('cmake@3.13:', type='build')
# compiler support
conflicts('%gcc@:4.7')
diff --git a/var/spack/repos/builtin/packages/py-pybrain/package.py b/var/spack/repos/builtin/packages/py-pybrain/package.py
new file mode 100644
index 0000000000..f102e79246
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pybrain/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPybrain(PythonPackage):
+ """PyBrain is the Swiss army knife for neural networking."""
+
+ homepage = "http://pybrain.org/"
+
+ url = "https://github.com/pybrain/pybrain/archive/refs/tags/0.3.3.tar.gz"
+ git = "https://github.com/pybrain/pybrain.git"
+
+ version('0.3.3.post', commit='dcdf32b')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-scipy', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pycortex/package.py b/var/spack/repos/builtin/packages/py-pycortex/package.py
new file mode 100644
index 0000000000..158c600114
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pycortex/package.py
@@ -0,0 +1,53 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPycortex(PythonPackage):
+ """Python Cortical mapping software for fMRI data."""
+
+ # When pycortex is started it creates a user config file (on linux located
+ # in ~/.config/pycortex) which can be problematic when reinstalling a newer
+ # version with spack due to hardscoded absolute paths of the pycortex module
+
+ homepage = "https://github.com/gallantlab/pycortex"
+ pypi = "pycortex/pycortex-1.2.2.tar.gz"
+
+ version('1.2.2', sha256='ac46ed6a1dc727c3126c2b5d7916fc0ac21a6510c32a5edcd3b8cfb7b2128414')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cython', type='build')
+ depends_on('py-future', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+ depends_on('py-tornado@4.3:', type=('build', 'run'))
+ depends_on('py-shapely', type=('build', 'run'))
+ depends_on('py-lxml', type=('build', 'run'))
+ depends_on('py-html5lib', type=('build', 'run'))
+ depends_on('py-h5py', type=('build', 'run'))
+ depends_on('py-numexpr', type=('build', 'run'))
+ depends_on('py-cython', type=('build', 'run')) # is in install_requires
+ depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on('pil', type=('build', 'run'))
+ depends_on('py-nibabel', type=('build', 'run'))
+ depends_on('py-networkx@2.1:', type=('build', 'run'))
+ depends_on('py-imageio', type=('build', 'run'))
+ depends_on('py-wget', type=('build', 'run'))
+
+ # inkscape is not in spack
+ # TODO remove this patch and add inkscape dependency once it is in
+ def patch(self):
+ # remove inkscape dependency
+ filter_file('from .testing_utils import INKSCAPE_VERSION', '',
+ 'cortex/utils.py',
+ string=True)
+ filter_file('open_inkscape=True', 'open_inkscape=False',
+ 'cortex/utils.py',
+ string=True)
+ filter_file('from .testing_utils import INKSCAPE_VERSION',
+ 'INKSCAPE_VERSION = None',
+ 'cortex/svgoverlay.py',
+ string=True)
diff --git a/var/spack/repos/builtin/packages/py-pycuda/package.py b/var/spack/repos/builtin/packages/py-pycuda/package.py
index 34da30d1dd..c26e6afb20 100644
--- a/var/spack/repos/builtin/packages/py-pycuda/package.py
+++ b/var/spack/repos/builtin/packages/py-pycuda/package.py
@@ -14,6 +14,7 @@ class PyPycuda(PythonPackage):
homepage = "https://mathema.tician.de/software/pycuda/"
pypi = "pycuda/pycuda-2019.1.2.tar.gz"
+ version('2021.1', sha256='ab87312d0fc349d9c17294a087bb9615cffcf966ad7b115f5b051008a48dd6ed')
version('2020.1', sha256='effa3b99b55af67f3afba9b0d1b64b4a0add4dd6a33bdd6786df1aa4cc8761a5')
version('2019.1.2', sha256='ada56ce98a41f9f95fe18809f38afbae473a5c62d346cfa126a2d5477f24cc8a')
version('2016.1.2', sha256='a7dbdac7e2f0c0d2ad98f5f281d5a9d29d6673b3c20210e261b96e9a2d0b6e37')
@@ -36,8 +37,8 @@ class PyPycuda(PythonPackage):
depends_on('python@3.6:3', type=('build', 'run'), when='@2020.1:')
depends_on('py-numpy@1.6:', type=('build', 'run'))
depends_on('py-pytools@2011.2:', type=('build', 'run'))
- depends_on('py-six', type='run')
- depends_on('py-decorator@3.2.0:', type=('build', 'run'))
+ depends_on('py-six', type='run', when='@:2020.1')
+ depends_on('py-decorator@3.2.0:', type=('build', 'run'), when='@:2020.1')
depends_on('py-appdirs@1.4.0:', type=('build', 'run'))
depends_on('py-mako', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pycurl/package.py b/var/spack/repos/builtin/packages/py-pycurl/package.py
index b82974139b..7471808456 100644
--- a/var/spack/repos/builtin/packages/py-pycurl/package.py
+++ b/var/spack/repos/builtin/packages/py-pycurl/package.py
@@ -13,7 +13,10 @@ class PyPycurl(PythonPackage):
homepage = "http://pycurl.io/"
pypi = "pycurl/pycurl-7.43.0.tar.gz"
+ version('7.44.1', sha256='5bcef4d988b74b99653602101e17d8401338d596b9234d263c728a0c3df003e8')
version('7.43.0', sha256='aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c')
depends_on('python@2.6:')
+ depends_on('python@3.5:', when='@7.44.1:')
+ depends_on('py-setuptools', when='@7.44.1:', type='build')
depends_on('curl@7.19.0:')
diff --git a/var/spack/repos/builtin/packages/py-pygdal/package.py b/var/spack/repos/builtin/packages/py-pygdal/package.py
index 97d91b4f14..97eb636f41 100644
--- a/var/spack/repos/builtin/packages/py-pygdal/package.py
+++ b/var/spack/repos/builtin/packages/py-pygdal/package.py
@@ -27,8 +27,6 @@ class PyPygdal(PythonPackage):
version('2.4.2.5', sha256='73386683c0b10ab43b6d64257fca2ba812f53ec61b268de8811565fd9ae9bacd')
version('2.4.1.6', sha256='5d1af98ad09f59e34e3b332cf20630b532b33c7120295aaaabbccebf58a11aa4')
version('2.4.0.6', sha256='728d11f3ecae0cd3493cd27dab599a0b6184f5504cc172d49400d88ea2b24a9c')
- version('1.11.5.3', sha256='746d13b73a284446a1b604772f869789eabfe6e69dee463f537da27845b29fa7')
- version('1.11.4.3', sha256='99d4b0c94d57ae50592924faaa65cc6a0c0892d83764e9f24ef9270c3a4b111a')
depends_on('python@3.6:', when='@3.3:', type='build')
depends_on('py-setuptools', type='build')
@@ -41,5 +39,3 @@ class PyPygdal(PythonPackage):
depends_on('gdal@2.4.2', type=('build', 'link', 'run'), when='@2.4.2.5')
depends_on('gdal@2.4.1', type=('build', 'link', 'run'), when='@2.4.1.6')
depends_on('gdal@2.4.0', type=('build', 'link', 'run'), when='@2.4.0.6')
- depends_on('gdal@1.11.5', type=('build', 'link', 'run'), when='@1.11.5.3')
- depends_on('gdal@1.11.4', type=('build', 'link', 'run'), when='@1.11.4.3')
diff --git a/var/spack/repos/builtin/packages/py-pygraphviz/package.py b/var/spack/repos/builtin/packages/py-pygraphviz/package.py
new file mode 100644
index 0000000000..072d36aa1f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pygraphviz/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPygraphviz(PythonPackage):
+ """Python interface to Graphviz"""
+
+ homepage = "https://pygraphviz.github.io/"
+ pypi = "pygraphviz/pygraphviz-1.7.zip"
+
+ maintainers = ['haralmha']
+
+ version('1.7', sha256='a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304')
+
+ depends_on('python@3.7:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('graphviz')
diff --git a/var/spack/repos/builtin/packages/py-pylint/package.py b/var/spack/repos/builtin/packages/py-pylint/package.py
index d474418ae2..f0fd2fefd3 100644
--- a/var/spack/repos/builtin/packages/py-pylint/package.py
+++ b/var/spack/repos/builtin/packages/py-pylint/package.py
@@ -11,6 +11,12 @@ class PyPylint(PythonPackage):
pypi = "pylint/pylint-1.6.5.tar.gz"
+ import_modules = ['pylint', 'pylint.lint', 'pylint.extensions',
+ 'pylint.config', 'pylint.checkers', 'pylint.checkers.refactoring',
+ 'pylint.message', 'pylint.utils', 'pylint.pyreverse',
+ 'pylint.reporters', 'pylint.reporters.ureports']
+
+ version('2.11.1', sha256='2c9843fff1a88ca0ad98a256806c82c5a8f86086e7ccbdb93297d86c3f90c436')
version('2.8.2', sha256='586d8fa9b1891f4b725f587ef267abe2a1bad89d6b184520c7f07a253dd6e217')
version('2.3.1', sha256='723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1')
version('2.3.0', sha256='ee80c7af4f127b2a480d83010c9f0e97beb8eaa652b78c2837d3ed30b12e1182')
@@ -30,7 +36,8 @@ class PyPylint(PythonPackage):
depends_on('py-astroid@1.6:1.9', type=('build', 'run'), when='@1.9.4')
depends_on('py-astroid@2.0:', type=('build', 'run'), when='@2.2.0:')
depends_on('py-astroid@2.2.0:2', type=('build', 'run'), when='@2.3.0:2.7')
- depends_on('py-astroid@2.5.6:2.6', type=('build', 'run'), when='@2.8.0:')
+ depends_on('py-astroid@2.5.6:2.6', type=('build', 'run'), when='@2.8.0:2.10')
+ depends_on('py-astroid@2.8.0:2.8', type=('build', 'run'), when='@2.11.1:')
depends_on('py-backports-functools-lru-cache', when='^python@:2.8', type=('build', 'run'))
depends_on('py-configparser', when='^python@:2.8', type=('build', 'run'))
@@ -46,3 +53,5 @@ class PyPylint(PythonPackage):
depends_on('py-singledispatch', when='^python@:3.3', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'), when='@1:2.3.1')
depends_on('py-toml@0.7.1:', type=('build', 'run'), when='@2.8.2:')
+ depends_on('py-platformdirs@2.2.0:', type=('build', 'run'), when='@2.11.1:')
+ depends_on('py-typing-extensions@3.10.0:', type=('build', 'run'), when='@2.11.1: ^python@:3.9')
diff --git a/var/spack/repos/builtin/packages/py-pymol/package.py b/var/spack/repos/builtin/packages/py-pymol/package.py
index 557caf7692..f62e0c76ab 100644
--- a/var/spack/repos/builtin/packages/py-pymol/package.py
+++ b/var/spack/repos/builtin/packages/py-pymol/package.py
@@ -15,29 +15,43 @@ class PyPymol(PythonPackage):
homepage = "https://pymol.org"
url = "https://github.com/schrodinger/pymol-open-source/archive/v2.4.0.tar.gz"
+ version('2.5.0', sha256='aa828bf5719bd9a14510118a93182a6e0cadc03a574ba1e327e1e9780a0e80b3')
version('2.4.0', sha256='5ede4ce2e8f53713c5ee64f5905b2d29bf01e4391da7e536ce8909d6b9116581')
version('2.3.0', sha256='62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0')
- depends_on('python+tkinter', type=('build', 'run'))
- depends_on('freetype', type=('build', 'run'))
- depends_on('glew', type=('build'))
- depends_on('glm', type=('build'))
- depends_on('py-numpy', type=('build', 'run'))
- depends_on('tcsh', type=('build', 'run'))
+ depends_on('python+tkinter@2.7:', type=('build', 'run'), when='@2.3.0:2.4.0')
+ depends_on('python+tkinter@3.6:', type=('build', 'run'), when='@2.5.0:')
+ depends_on('gl')
+ depends_on('glew')
+ depends_on('libpng')
+ depends_on('freetype')
+ depends_on('glm')
+ depends_on('libmmtf-cpp')
+ depends_on('msgpack-c@2.1.5:')
+ depends_on('netcdf-cxx4')
+ depends_on('libxml2')
+ depends_on('py-pmw-patched', type=('build', 'run'))
depends_on('py-pyqt5', type=('build', 'run'))
- depends_on('py-pmw', type=('build', 'run'))
- depends_on('libmmtf-cpp', type=('build', 'run', 'link'))
- depends_on('msgpack-c', type=('build', 'run'))
- depends_on('libpng@1.5.13', type=('build', 'run'))
-
- def setup_build_environment(self, env):
- include = []
- library = []
- for dep in self.spec.dependencies(deptype='link'):
- query = self.spec[dep.name]
- include.extend(query.headers.directories)
-
- env.set('CPATH', ':'.join(include))
- env.set('LIBRARY_PATH', ':'.join(library))
- env.set('PREFIX_PATH', self.spec['libpng'].prefix)
- env.prepend_path('PREFIX_PATH', self.spec['py-pyqt5'].prefix)
+ depends_on('py-numpy', type=('build', 'run'))
+
+ def install_args(self, spec, prefix):
+ args = super(PyPymol, self).install_args(spec, prefix)
+ args.append('--no-launcher')
+ return args
+
+ @run_after('install')
+ def install_launcher(self):
+ binpath = self.prefix.bin
+ mkdirp(self.prefix.bin)
+ fname = join_path(binpath, 'pymol')
+ script = join_path(self.prefix,
+ self.spec['python'].package.site_packages_dir,
+ 'pymol',
+ '__init__.py')
+
+ shebang = '#!/bin/sh\n'
+ fdata = 'exec {0} {1} \"$@\"'.format(self.spec['python'].command,
+ script)
+ with open(fname, 'w') as new:
+ new.write(shebang + fdata)
+ set_executable(fname)
diff --git a/var/spack/repos/builtin/packages/py-pymongo/package.py b/var/spack/repos/builtin/packages/py-pymongo/package.py
index 5804ffc1be..5d96981b42 100644
--- a/var/spack/repos/builtin/packages/py-pymongo/package.py
+++ b/var/spack/repos/builtin/packages/py-pymongo/package.py
@@ -17,6 +17,7 @@ class PyPymongo(PythonPackage):
pypi = "pymongo/pymongo-3.9.0.tar.gz"
+ version('3.12.1', sha256='704879b6a54c45ad76cea7c6789c1ae7185050acea7afd15b58318fa1932ed45')
version('3.9.0', sha256='4249c6ba45587b959292a727532826c5032d59171f923f7f823788f413c2a5a3')
version('3.6.0', sha256='c6de26d1e171cdc449745b82f1addbc873d105b8e7335097da991c0fc664a4a8')
version('3.3.0', sha256='3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e')
diff --git a/var/spack/repos/builtin/packages/py-pynisher/package.py b/var/spack/repos/builtin/packages/py-pynisher/package.py
new file mode 100644
index 0000000000..2892b1fa77
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pynisher/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPynisher(PythonPackage):
+ """A small Python library to limit the resources used by a
+ function by executing it inside a subprocess."""
+
+ homepage = "https://github.com/automl/pynisher"
+ pypi = "pynisher/pynisher-0.6.4.tar.gz"
+
+ version('0.6.4', sha256='111d91aad471375c0509a912415ff90053ef909100facf412511383af107c124')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-psutil', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pyparsing/package.py b/var/spack/repos/builtin/packages/py-pyparsing/package.py
index 76ad6fb0eb..c819e3d384 100644
--- a/var/spack/repos/builtin/packages/py-pyparsing/package.py
+++ b/var/spack/repos/builtin/packages/py-pyparsing/package.py
@@ -11,6 +11,7 @@ class PyPyparsing(PythonPackage):
homepage = "https://pyparsing-docs.readthedocs.io/en/latest/"
pypi = "pyparsing/pyparsing-2.4.2.tar.gz"
+ version('3.0.6', sha256='d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81')
version('2.4.7', sha256='c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1')
version('2.4.2', sha256='6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80')
version('2.4.0', sha256='1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a')
@@ -19,11 +20,8 @@ class PyPyparsing(PythonPackage):
version('2.1.10', sha256='811c3e7b0031021137fc83e051795025fcb98674d07eb8fe922ba4de53d39188')
version('2.0.3', sha256='06e729e1cbf5274703b1f47b6135ed8335999d547f9d8cf048b210fb8ebf844f')
- patch('setuptools-import.patch', when='@:2.1.10')
-
+ depends_on('python@3.6:', when='@3:', type=('build', 'run'))
depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
- # Newer versions of setuptools require pyparsing. Although setuptools is an
- # optional dependency of pyparsing, if it is not found, setup.py will
- # fallback on distutils.core instead. Don't add a setuptools dependency
- # or we won't be able to bootstrap setuptools.
- depends_on('py-setuptools', type='build', when='@2.3.1:')
+ depends_on('py-setuptools', when='@2.1:', type='build')
+
+ import_modules = ['pyparsing']
diff --git a/var/spack/repos/builtin/packages/py-pyparsing/setuptools-import.patch b/var/spack/repos/builtin/packages/py-pyparsing/setuptools-import.patch
deleted file mode 100644
index a4ba828c23..0000000000
--- a/var/spack/repos/builtin/packages/py-pyparsing/setuptools-import.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 82061c6..ff342af 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,7 +1,13 @@
- #!/usr/bin/env python
-
- """Setup script for the pyparsing module distribution."""
--from setuptools import setup
-+
-+# Setuptools depends on pyparsing (via packaging) as of version 34, so allow
-+# installing without it to avoid bootstrap problems.
-+try:
-+ from setuptools import setup
-+except ImportError:
-+ from distutils.core import setup
-
- import sys
- import os
-
diff --git a/var/spack/repos/builtin/packages/py-pyqt-builder/package.py b/var/spack/repos/builtin/packages/py-pyqt-builder/package.py
new file mode 100644
index 0000000000..1f27e4197a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyqt-builder/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPyqtBuilder(PythonPackage):
+ """The PEP 517 compliant PyQt build system."""
+
+ homepage = "https://www.riverbankcomputing.com/hg/PyQt-builder/"
+ pypi = "PyQt-builder/PyQt-builder-1.12.2.tar.gz"
+
+ version('1.12.2', sha256='f62bb688d70e0afd88c413a8d994bda824e6cebd12b612902d1945c5a67edcd7')
+
+ depends_on('python@3.5:', type=('build', 'run'))
+ depends_on('py-setuptools@30.3:', type='build')
+ depends_on('py-packaging', type=('build', 'run'))
+ depends_on('py-sip@6.3:6', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pyro4/package.py b/var/spack/repos/builtin/packages/py-pyro4/package.py
new file mode 100644
index 0000000000..fa58bb13a7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyro4/package.py
@@ -0,0 +1,85 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+# Package automatically generated using 'pip2spack' converter
+
+
+class PyPyro4(PythonPackage):
+ """
+ distributed object middleware for Python (RPC)
+ """
+
+ homepage = "http://pyro4.readthedocs.io"
+ pypi = 'Pyro4/Pyro4-4.81.tar.gz'
+ maintainers = ['liuyangzhuan']
+
+ version('4.81', sha256='e130da06478b813173b959f7013d134865e07fbf58cc5f1a2598f99479cdac5f')
+ version('4.80', sha256='46847ca703de3f483fbd0b2d22622f36eff03e6ef7ec7704d4ecaa3964cb2220')
+ version('4.79', sha256='b1eb34c9a1e63f731ca480f3e2c48169341a25a7504397badbaaab07e0f3241e')
+ version('4.78', sha256='b69200747c4c69bfa6fa8b917806b0a9ee7939daaf67ab9bb5ccac7e5179feee')
+ version('4.77', sha256='2bfe12a22f396474b0e57c898c7e2c561a8f850bf2055d8cf0f7119f0c7a523f')
+ version('4.76', sha256='ac1fda8d3fd9b5ff2cb8e7e400f95a1b1ae28c5df1aa82d1833a5a898e476334')
+ version('4.75', sha256='3897c0254046d4cb412a4d1a8f2f9c2c1c1ae643a24db07d0abdb51acdb8d7b5')
+ version('4.74', sha256='89ed7b12c162e5124f322f992f9506c44f5e1a379926cf01ee73ef810d3bf75f')
+ version('4.73', sha256='536b07a097d0619e7ab1effa3747fda177a24168d17a07a93ca9ac30977608f7')
+ version('4.72', sha256='2766b53db49f70b0d047fa6871aeb47484ba7e50cf53cfa37d26f87742c0b6a8')
+ version('4.71', sha256='78b686b584c180061fe3cfc3adcad4da46b3a7f42be1f9f0d7491cd006541cf3')
+ version('4.70', sha256='614dc4a7a79a861ee15215a6e60081950b2790b7b5cc91555ebeec75d8444aa5')
+ version('4.63', sha256='67d2b34156619ba37e92100af95aade8129dd2b7327eb05821d43887451f7d7b')
+ version('4.62', sha256='e301edfb2bc47768b7222a68cae8de8be796d1d9f61cdbd1af9039985ed5009c')
+ version('4.61', sha256='c465cb2ea2a90b887988d4249de8c0566bdfb16101fdc570e07e598a92e94d1e')
+ version('4.60', sha256='52fa5fe8173d234f57b6ca3214df3f34e88356c94081685db6249bff8f0b4f7f')
+ version('4.59', sha256='6a39dadbd2a83b6fd5ab7f5402f8a4befd467b5c0404b8610a8797f748b72a38')
+ version('4.58', sha256='2c6d133bcec6039a681475bc878ec98c598ccd33105c1994c7b5217932ee2c0c')
+ version('4.57', sha256='fb3bf07951c2942b5f955770d50c0152565f0da79a2c1a359cfe2062fe0a82b2')
+ version('4.56', sha256='a80c27e1debbd8d8725ee4a8f0d30cf831dde5e80b04bfa9c912932c4c13d6aa')
+ version('4.55', sha256='49a7a142542d87dde1cecc8d3ee048ec9481ba861d61234d219fadd06e6ced96')
+ version('4.54', sha256='aede879916c0f6e84e560b38af421c24cb5089b66c8f632aa5ac48b20ecde93a')
+ version('4.53', sha256='c6ca6461472a74a7608a2247413b66e951889351fcf8e9eed5d7232ae844b702')
+ version('4.52', sha256='449f4bdf8dcbaca90e6436eb40c4e860b0de47346e2c7735d0584496d28451e5')
+ version('4.51', sha256='d6508b8c70d612356a8ddbe486890b03d840c37b5f7cd8e9366bc4c0dd44d3e6')
+ version('4.50', sha256='cb199540c2ceae9d67d5f2b20dc002d93f909d5072c3da4381c119d7a4b6d1cf')
+ version('4.49', sha256='6ae7fb0ce9ae5ca6f1d32487d8606219e7296ae7d22e650e7f9db63399608b76')
+ version('4.48', sha256='3115def913cf6035000047bb270efefb55a25449a17ed392afde6fd531c82fd2')
+ version('4.47', sha256='9354b722f9f5965ade5839241c8d7ff06ec2fac678a2c9e197a63966da241c89')
+ version('4.46', sha256='165ed717275217448d786f9c15777eca889f5344d54eef9482996dfee01b668b')
+ version('4.45', sha256='e32d3f32e52d84e3456c0d389a115b5430a8bb14dd01336c627355a2f34dba78')
+ version('4.43', sha256='b6f924fa74f21d14c851450e157711914a402bfc2f3a880c1b2c275fd4cda6d6')
+ version('4.42', sha256='03951643015a1537ad82fbf99fba6e208007447404aab1a020dce7216120d32a')
+ version('4.41', sha256='3af4749140e9d4032632277ac19e7fd4761856d2df0f0643c574d1e7174a9703')
+ version('4.40', sha256='00423d3710f60b2da146075a59e17bfa837f556ed2c8acafe05bc209dcaac3e9')
+ version('4.39', sha256='39c6ca7f86b0f0bebfeada687a5a8b99f66470a52b0f815195ae63c683266f24')
+ version('4.38', sha256='837fb552f54e46e54a13fa03c321073ba8373715346c4bc7e522b2c82a2c75c9')
+ version('4.37', sha256='2c4c9e7c3dbace3c75524324b6a686381be37bebab89b5001c0670418cec89c7')
+ version('4.36', sha256='fcbfbe22b044440fab3d6cbee11d18532b63accefe9cc30b2c41994cdeb08829')
+ version('4.35', sha256='97ef658b96fa10bac3e01097b1e2b6630fea2b307081ec6f2ac00f85e6020178')
+ version('4.34', sha256='36886e660290aa5afd06f735f587717f7f366b3535b7b0d3082b4e99ded9dc37')
+ version('4.33', sha256='9c01202190b7cdebe629e13abb70f050f421139f8115d1626321f442a9f54df8')
+ version('4.32', sha256='736eb96801881a61b9da72dced2d49574067443545892355af94411392526902')
+ version('4.31', sha256='0fd9342a216299ff24761e641714c7bd3e42c364f277eb3600d40085f4ace6c3')
+ version('4.30', sha256='1b38a52dd89cc6aee145d23bd74f586c73268938c6f346b20583ee0242d7d170')
+ version('4.29', sha256='3a17eaea8055962ff35bb9117f0860243d7977c34cbfcafc76e8e26309e339cf')
+ version('4.28', sha256='a094cb12e4e328e8b3b06bb313212f1826208c107fa6b48cf02f0ccdc32b562b')
+ version('4.27', sha256='ee32544fb04e7f4a2d223b442b306bd67cc900b7e9b5917f0b33d1979e6db34f')
+ version('4.26', sha256='213145815f00b6855b1ba71c20e78fd1d3c41595fae270308483cdba8d3fcec6')
+ version('4.25', sha256='ac2b0123badcb76c63eb716fcd95e0ee4021d345b5db05fda19253c59e39b384')
+ version('4.24', sha256='24d2ceaabbd886981d0df56f8f7e5f7f1a9db173778baa4965605f6880c90eb8')
+ version('4.23', sha256='57d6feee20a565f9de3302376a2531cfda50755088442102963b16e6f70b2e3b')
+ version('4.22', sha256='d8f611f384edbd240006d8c0f56135e74199ab88e9416cfc78cf5472f1ff337d')
+ version('4.21', sha256='96bc4bdccab27d935a44f1d9a8df94986d4b3361f5ff9382e86300ed5b9fdfa2')
+ version('4.20', sha256='72d3fb6dc653e6ae36bd47f2667fbff3c587c72f8bfb3f0dcb1763ee86c906f8')
+ version('4.18', sha256='52d7f6e10c44475052ac8b6828ed6f8b728a1c5d7e674b441eb0e930029ea4cd')
+ version('4.17', sha256='1d0cecdd3340dca695d6f833830e7a59f937d4bedbcff53109abe66e5a65d22c')
+ version('4.16', sha256='6a996700b877d268b48f91f91e356d2a4b20cb12207c05943d04504f6a0de0c7')
+ version('4.15', sha256='7b9dc43d6be79e4e542b8520715cb3ab7f9095afccc93bce9cacc271c665bf7d')
+ version('4.14', sha256='90c4f84ae9932d66825c61af9cd67b0b2877b477c967812a5d6953d67f3b003d')
+ version('4.13', sha256='afbc6964e593e7efed3fa5c91af45c4491cfdb994e7fdbe285cbb3719162cb90')
+ version('4.12', sha256='69f1beeafbe8f27bdac18e29ce97dd63cc1bdf847ff221ed0a6f0042047fa237')
+ version('4.11', sha256='d84ccfe85b14b3cb086f98d70dbf05671d6cb8498bd6f20f0041d6010dd320da')
+ version('4.10', sha256='de74e5e020a8a26cd357f5917afb48f7e14e161ca58574a1c653441bdbe9711c')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-serpent@1.27:', type=('build', 'run'))
+ depends_on('py-selectors34', when='^python@:3.3', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pyrsistent/package.py b/var/spack/repos/builtin/packages/py-pyrsistent/package.py
index 765760efe5..6732c14481 100644
--- a/var/spack/repos/builtin/packages/py-pyrsistent/package.py
+++ b/var/spack/repos/builtin/packages/py-pyrsistent/package.py
@@ -14,8 +14,11 @@ class PyPyrsistent(PythonPackage):
homepage = "https://github.com/tobgu/pyrsistent/"
pypi = "pyrsistent/pyrsistent-0.15.7.tar.gz"
+ version('0.18.0', sha256='773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b')
version('0.15.7', sha256='cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280')
depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'))
+ depends_on('python@3.6:', type=('build', 'link', 'run'), when='@0.18.0:')
depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on('py-setuptools@42:', type='build', when='@0.18.0:')
+ depends_on('py-six', type=('build', 'run'), when='@:0.17')
diff --git a/var/spack/repos/builtin/packages/py-pyscipopt/package.py b/var/spack/repos/builtin/packages/py-pyscipopt/package.py
new file mode 100644
index 0000000000..1bfed30d38
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyscipopt/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPyscipopt(PythonPackage):
+ """Python interface for the SCIP Optimization Suite"""
+
+ homepage = "https://github.com/scipopt/PySCIPOpt"
+ pypi = "PySCIPOpt/PySCIPOpt-3.4.0.tar.gz"
+
+ version('3.4.0', sha256='8da4db57b21010e0d5a863292dd455c88dd71ecec12a8439171c213a8092f88a')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cython', type='build')
+ depends_on('py-wheel', type='build')
+ depends_on('scipoptsuite')
diff --git a/var/spack/repos/builtin/packages/py-pyspellchecker/package.py b/var/spack/repos/builtin/packages/py-pyspellchecker/package.py
new file mode 100644
index 0000000000..61a112fc86
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyspellchecker/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPyspellchecker(PythonPackage):
+ """Pure python spell checker based on work by Peter Norvig"""
+
+ homepage = "https://github.com/barrust/pyspellchecker"
+ pypi = "pyspellchecker/pyspellchecker-0.6.2.tar.gz"
+
+ version('0.6.2', sha256='af6a1d0393a175499475a873f31e52135f1efd5fc912c979101b795b3c2ee77f')
+
+ depends_on('python@3.0:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pysqlite3/package.py b/var/spack/repos/builtin/packages/py-pysqlite3/package.py
new file mode 100644
index 0000000000..72841002af
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pysqlite3/package.py
@@ -0,0 +1,26 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyPysqlite3(PythonPackage):
+ """DB-API 2.0 interface for Sqlite 3.x"""
+
+ homepage = "https://github.com/coleifer/pysqlite3"
+ pypi = "pysqlite3/pysqlite3-0.4.6.tar.gz"
+
+ version('0.4.6', sha256='7ec4d4c477fa96609c1517afbc33bf02747588e528e79c695de95907cea7bf30')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('sqlite', type=('build', 'link', 'run'))
+
+ def patch(self):
+ filter_file("^include_dirs *=.*",
+ "include_dirs = " + self.spec['sqlite'].headers.directories[0],
+ 'setup.cfg')
+ filter_file("^library_dirs *=.*",
+ "library_dirs = " + self.spec['sqlite'].libs.directories[0],
+ 'setup.cfg')
diff --git a/var/spack/repos/builtin/packages/py-pytest-cov/package.py b/var/spack/repos/builtin/packages/py-pytest-cov/package.py
index d0cd2f2fe3..b6bdbf8d8f 100644
--- a/var/spack/repos/builtin/packages/py-pytest-cov/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-cov/package.py
@@ -12,12 +12,16 @@ class PyPytestCov(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-cov"
pypi = "pytest-cov/pytest-cov-2.8.1.tar.gz"
+ version('3.0.0', sha256='e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470')
version('2.8.1', sha256='cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b')
version('2.3.1', sha256='fa0a212283cdf52e2eecc24dd6459bb7687cc29adb60cb84258fab73be8dda0f')
extends('python', ignore=r'bin/*')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@3.0.0:')
depends_on('py-setuptools', type='build')
depends_on('py-pytest@3.6:', type=('build', 'run'))
+ depends_on('py-pytest@4.6:', type=('build', 'run'), when='@3.0.0:')
depends_on('py-coverage@4.4:', type=('build', 'run'))
+ depends_on('py-coverage@5.2.1: +toml', type=('build', 'run'), when='@3.0.0:')
diff --git a/var/spack/repos/builtin/packages/py-pytest-runner/package.py b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
index 1221464219..ade95a1810 100644
--- a/var/spack/repos/builtin/packages/py-pytest-runner/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest-runner/package.py
@@ -12,8 +12,15 @@ class PyPytestRunner(PythonPackage):
homepage = "https://github.com/pytest-dev/pytest-runner"
pypi = "pytest-runner/pytest-runner-5.1.tar.gz"
+ version('5.3.1', sha256='0fce5b8dc68760f353979d99fdd6b3ad46330b6b1837e2077a89ebcf204aac91')
version('5.1', sha256='25a013c8d84f0ca60bb01bd11913a3bcab420f601f0f236de4423074af656e7a')
version('2.11.1', sha256='983a31eab45e375240e250161a556163bc8d250edaba97960909338c273a89b3')
+ # requirements from pyproject.toml are marked with *
+ depends_on('python@3.6:', when='@5.3:', type=('build', 'run'))
+ depends_on('py-setuptools@42:', when='@5.3:', type=('build', 'run')) # *
+ depends_on('py-setuptools@34.4:', when='@5:', type=('build', 'run')) # *
+ depends_on('py-setuptools@27.3:', when='@4.1:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
+ depends_on('py-setuptools-scm+toml@3.4.1:', when='@5.3:', type='build') # *
depends_on('py-setuptools-scm@1.15:', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pytest/package.py b/var/spack/repos/builtin/packages/py-pytest/package.py
index d736596c29..4a02e1a6fc 100644
--- a/var/spack/repos/builtin/packages/py-pytest/package.py
+++ b/var/spack/repos/builtin/packages/py-pytest/package.py
@@ -12,6 +12,7 @@ class PyPytest(PythonPackage):
homepage = "https://pytest.org/"
pypi = "pytest/pytest-5.2.1.tar.gz"
+ version('6.2.5', sha256='131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89')
version('6.2.4', sha256='50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b')
version('6.2.1', sha256='66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306')
version('6.1.1', sha256='8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92')
@@ -40,7 +41,7 @@ class PyPytest(PythonPackage):
depends_on('py-setuptools@40.0:', when='@3.9.2:6.1', type=('build', 'run'))
depends_on('py-setuptools@30.3:', when='@3.9.0:3.9.1', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('py-setuptools-scm@3.4:', when='@6.2:', type='build')
+ depends_on('py-setuptools-scm@3.4: +toml', when='@6.2:', type='build')
depends_on('py-setuptools-scm', when='@3.1:', type='build')
# install_requires
@@ -49,7 +50,8 @@ class PyPytest(PythonPackage):
depends_on('py-attrs@17.2.0:', when='@3.3:3.4', type=('build', 'run'))
depends_on('py-iniconfig', when='@6.0:', type=('build', 'run'))
depends_on('py-packaging', when='@4.6:', type=('build', 'run'))
- depends_on('py-pluggy@0.12:0', when='@4.6:', type=('build', 'run'))
+ depends_on('py-pluggy@0.12:1', when='@6.2:', type=('build', 'run'))
+ depends_on('py-pluggy@0.12:0', when='@4.6:6.1', type=('build', 'run'))
depends_on('py-pluggy@0.9.0:0.9,0.11:0', when='@4.5.0:4.5', type=('build', 'run'))
depends_on('py-pluggy@0.11:', when='@4.4.2:4.4', type=('build', 'run'))
depends_on('py-pluggy@0.9:', when='@4.4.0:4.4.1', type=('build', 'run'))
@@ -62,9 +64,9 @@ class PyPytest(PythonPackage):
depends_on('py-py@1.4.33:1.4', when='@3.2.4', type=('build', 'run'))
depends_on('py-py@1.4.29:', when='@:3.1.1', type=('build', 'run'))
depends_on('py-toml', when='@6.0:', type=('build', 'run'))
- depends_on('py-atomicwrites@1.0:', when='@5.3: platform=win32', type=('build', 'run'))
+ depends_on('py-atomicwrites@1.0:', when='@5.3: platform=windows', type=('build', 'run'))
depends_on('py-atomicwrites@1.0:', when='@3.6:5.2', type=('build', 'run'))
- depends_on('py-colorama', when='platform=win32', type=('build', 'run'))
+ depends_on('py-colorama', when='platform=windows', type=('build', 'run'))
depends_on('py-importlib-metadata@0.12:', when='@4.6:5.0', type=('build', 'run'))
depends_on('py-importlib-metadata@0.12:', when='@5.1: ^python@:3.7', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-python-constraint/package.py b/var/spack/repos/builtin/packages/py-python-constraint/package.py
new file mode 100644
index 0000000000..1e79c487a0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-python-constraint/package.py
@@ -0,0 +1,15 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyPythonConstraint(PythonPackage):
+ """Constraint Solving Problem resolver for Python"""
+
+ homepage = "https://github.com/python-constraint/python-constraint"
+ pypi = "python-constraint/python-constraint-1.4.0.tar.bz2"
+
+ version('1.4.0', sha256='501d6f17afe0032dfc6ea6c0f8acc12e44f992733f00e8538961031ef27ccb8e')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-python-daemon/package.py b/var/spack/repos/builtin/packages/py-python-daemon/package.py
index 8185918c75..32e5ff67ba 100644
--- a/var/spack/repos/builtin/packages/py-python-daemon/package.py
+++ b/var/spack/repos/builtin/packages/py-python-daemon/package.py
@@ -20,7 +20,11 @@ class PyPythonDaemon(PythonPackage):
"""
pypi = "python-daemon/python-daemon-2.0.5.tar.gz"
+ version('2.3.0', sha256='bda993f1623b1197699716d68d983bb580043cf2b8a66a01274d9b8297b0aeaf')
version('2.0.5', sha256='afde4fa433d94d007206ee31a0941d55b5eb232a5422b670aad628547b46bf68')
- depends_on("py-setuptools", type='build')
+ depends_on("py-setuptools", type=('build', 'run'))
depends_on("py-lockfile", type=('build', 'run'))
+ depends_on("py-lockfile@0.10:", type=('build', 'run'), when='@2.3.0:')
+ depends_on("py-docutils", type='build')
+ depends_on("py-twine", type='build')
diff --git a/var/spack/repos/builtin/packages/py-python-ldap/package.py b/var/spack/repos/builtin/packages/py-python-ldap/package.py
index ca12163460..7b07e7229e 100644
--- a/var/spack/repos/builtin/packages/py-python-ldap/package.py
+++ b/var/spack/repos/builtin/packages/py-python-ldap/package.py
@@ -14,12 +14,19 @@ class PyPythonLdap(PythonPackage):
homepage = "https://www.python-ldap.org/en/python-ldap-3.2.0/"
pypi = "python-ldap/python-ldap-3.2.0.tar.gz"
+ version('3.4.0', sha256='60464c8fc25e71e0fd40449a24eae482dcd0fb7fcf823e7de627a6525b3e0d12')
+ version('3.3.1', sha256='4711cacf013e298754abd70058ccc995758177fb425f1c2d30e71adfc1d00aa5')
version('3.2.0', sha256='7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e')
version('3.0.0', sha256='86746b912a2cd37a54b06c694f021b0c8556d4caeab75ef50435ada152e2fbe1')
- depends_on('openldap+client_only', type=('build', 'link', 'run'))
+ # See https://github.com/python-ldap/python-ldap/issues/432
+ depends_on('openldap+client_only @:2.4', type=('build', 'link', 'run'))
depends_on('py-setuptools', type='build')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-pyasn1@0.3.7:', type=('build', 'run'))
depends_on('py-pyasn1-modules@0.1.5:', type=('build', 'run'))
- depends_on('cyrus-sasl', type='link')
+ depends_on('cyrus-sasl', type='link', when='^openldap+sasl')
+
+ def patch(self):
+ if self.spec.satisfies('^openldap~sasl'):
+ filter_file('HAVE_SASL ', '', 'setup.cfg')
diff --git a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
index 0df7feb954..1ccae166a5 100644
--- a/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
+++ b/var/spack/repos/builtin/packages/py-python-rapidjson/package.py
@@ -12,7 +12,9 @@ class PyPythonRapidjson(PythonPackage):
homepage = "https://github.com/python-rapidjson/python-rapidjson"
pypi = "python-rapidjson/python-rapidjson-0.9.1.tar.gz"
+ version('1.5', sha256='04323e63cf57f7ed927fd9bcb1861ef5ecb0d4d7213f2755969d4a1ac3c2de6f')
version('0.9.1', sha256='ad80bd7e4bb15d9705227630037a433e2e2a7982b54b51de2ebabdd1611394a1')
depends_on('python@3.4:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@1.5:')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pythonqwt/package.py b/var/spack/repos/builtin/packages/py-pythonqwt/package.py
index 8f7678a6e3..ce6e0b93d7 100644
--- a/var/spack/repos/builtin/packages/py-pythonqwt/package.py
+++ b/var/spack/repos/builtin/packages/py-pythonqwt/package.py
@@ -14,7 +14,7 @@ class PyPythonqwt(PythonPackage):
version('0.5.5', sha256='1f13cc8b555a57f8fe0f806d6c2f6d847050e4d837649503932b81316d12788a')
- variant('doc', default=False, description="Build documentation.")
+ variant('docs', default=False, description="Build documentation.")
depends_on('py-setuptools', type='build')
depends_on('py-numpy@1.3:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pythonsollya/package.py b/var/spack/repos/builtin/packages/py-pythonsollya/package.py
index 02decf6b86..7e6e1f30fe 100644
--- a/var/spack/repos/builtin/packages/py-pythonsollya/package.py
+++ b/var/spack/repos/builtin/packages/py-pythonsollya/package.py
@@ -23,3 +23,10 @@ class PyPythonsollya(PythonPackage):
depends_on('sollya', type=('build', 'link'))
depends_on('py-bigfloat', type=('build', 'run'))
depends_on('mpfi', type=('build', 'link'))
+
+ @run_before('build')
+ def patch(self):
+ filter_file('PYTHON ?= python2',
+ 'PYTHON ?= ' + self.spec['python'].command.path,
+ 'GNUmakefile',
+ string=True)
diff --git a/var/spack/repos/builtin/packages/py-pythran/package.py b/var/spack/repos/builtin/packages/py-pythran/package.py
index 431347d26b..b8bacda888 100644
--- a/var/spack/repos/builtin/packages/py-pythran/package.py
+++ b/var/spack/repos/builtin/packages/py-pythran/package.py
@@ -14,6 +14,7 @@ class PyPythran(PythonPackage):
homepage = "https://github.com/serge-sans-paille/pythran"
pypi = "pythran/pythran-0.9.11.tar.gz"
+ version('0.10.0', sha256='9dac8e1d50f33d4676003e350b1f0c878ce113e6f907920e92dc103352cac5bf')
version('0.9.12', sha256='5d50dc74dca1d3f902941865acbae981fc24cceeb9d54673d68d6b5c8c1b0001')
version('0.9.11', sha256='a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667')
version('0.9.10', sha256='8fa1d19624cb2950e5a18974fdcb0dffc57e1a821049dc95df09563edd673915')
@@ -28,7 +29,7 @@ class PyPythran(PythonPackage):
depends_on('python@3:', when='@0.9.6:', type=('build', 'run'))
depends_on('python@2.7:', when='@:0.9.5', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-pytest-runner', type='build')
+ depends_on('py-pytest-runner', type='build', when='@:0.9')
depends_on('py-ply@3.4:', type=('build', 'run'))
depends_on('py-networkx@2:', when='@:0.9.11', type=('build', 'run'))
depends_on('py-decorator', when='@:0.9.11', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pytools/package.py b/var/spack/repos/builtin/packages/py-pytools/package.py
index 22a380fa34..803677dce9 100644
--- a/var/spack/repos/builtin/packages/py-pytools/package.py
+++ b/var/spack/repos/builtin/packages/py-pytools/package.py
@@ -11,12 +11,15 @@ class PyPytools(PythonPackage):
pypi = "pytools/pytools-2019.1.1.tar.gz"
+ version('2021.2.9', sha256='db6cf83c9ba0a165d545029e2301621486d1e9ef295684072e5cd75316a13755')
version('2019.1.1', sha256='ce2d702ae4ef10a70197b00b93141461140d00578f2a862fa946ca1446a300db')
version('2016.2.6', sha256='6dd49932b8f81a8b622685cff3dd515e351a9290aef0fd5d020e4df00c06aa95')
depends_on('py-setuptools', type='build')
- depends_on('py-decorator@3.2.0:', type=('build', 'run'))
+ depends_on('py-decorator@3.2.0:', type=('build', 'run'), when='@:2019.1.1')
depends_on('py-appdirs@1.4.0:', type=('build', 'run'))
- depends_on('py-six@1.8.0:', type=('build', 'run'))
+ depends_on('py-six@1.8.0:', type=('build', 'run'), when='@:2019.1.1')
depends_on('py-numpy@1.6.0:', type=('build', 'run'))
+ depends_on('py-dataclasses@0.7:', type=('build', 'run'), when='@2021.2.9: ^python@:3.6')
depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@3.6:3', type=('build', 'run'), when='@2021.2.9:')
diff --git a/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py b/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py
index 6816c72668..001ab45d08 100644
--- a/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py
+++ b/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py
@@ -12,6 +12,7 @@ class PyPytorchLightning(PythonPackage):
homepage = "https://github.com/PyTorchLightning/pytorch-lightning"
pypi = "pytorch-lightning/pytorch-lightning-1.2.10.tar.gz"
+ version('1.5.3', sha256='a206169a0c4356366a7edadb5ebd2f38e9a611ff78265ce93b767662682f5620')
version('1.4.1', sha256='1d1128aeb5d0e523d2204c4d9399d65c4e5f41ff0370e96d694a823af5e8e6f3')
version('1.4.0', sha256='6529cf064f9dc323c94f3ce84b56ee1a05db1b0ab17db77c4d15aa36e34da81f')
version('1.3.8', sha256='60b0a3e464d394864dae4c8d251afa7aa453644a19bb7672f5ee400343cdf7b0')
@@ -30,7 +31,9 @@ class PyPytorchLightning(PythonPackage):
depends_on('py-pyyaml@5.1:5.3,5.5:', when='@:1.2', type=('build', 'run'))
depends_on('py-fsspec@2021.05.0:2021.05,2021.06.1:+http', when='@1.3:', type=('build', 'run'))
depends_on('py-fsspec@0.8.1:+http', when='@:1.2', type=('build', 'run'))
- depends_on('py-tensorboard@2.2.0:2.4,2.5.1:', type=('build', 'run'))
+ depends_on('py-tensorboard@2.2.0:', when='@1.5:', type=('build', 'run'))
+ depends_on('py-tensorboard@2.2.0:2.4,2.5.1:', when='@:1.4', type=('build', 'run'))
+ depends_on('py-torchmetrics@0.4.1:', when='@1.5:', type=('build', 'run'))
depends_on('py-torchmetrics@0.4.0:', when='@1.4:', type=('build', 'run'))
depends_on('py-torchmetrics@0.2.0:', when='@1.3', type=('build', 'run'))
depends_on('py-torchmetrics@0.2.0', when='@:1.2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pyyaml/package.py b/var/spack/repos/builtin/packages/py-pyyaml/package.py
index 1c5e7d02eb..b68af04549 100644
--- a/var/spack/repos/builtin/packages/py-pyyaml/package.py
+++ b/var/spack/repos/builtin/packages/py-pyyaml/package.py
@@ -15,6 +15,7 @@ class PyPyyaml(PythonPackage):
maintainers = ['adamjstewart']
+ version('6.0', sha256='68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2')
version('5.3.1', sha256='b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d')
version('5.1.2', sha256='01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4')
version('5.1', sha256='436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95')
@@ -25,7 +26,10 @@ class PyPyyaml(PythonPackage):
variant('libyaml', default=True, description='Use libYAML bindings')
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@6.0:')
depends_on('libyaml', when='+libyaml')
+ depends_on('py-setuptools', when='@6.0:')
+ depends_on('py-cython', when='@6.0: +libyaml')
phases = ['build_ext', 'install']
@@ -39,20 +43,21 @@ class PyPyyaml(PythonPackage):
return modules
def setup_py(self, *args, **kwargs):
- # Cast from tuple to list
- args = list(args)
+ if self.spec.satisfies('@:5'):
+ # Cast from tuple to list
+ args = list(args)
- if '+libyaml' in self.spec:
- args.insert(0, '--with-libyaml')
- else:
- args.insert(0, '--without-libyaml')
+ if '+libyaml' in self.spec:
+ args.insert(0, '--with-libyaml')
+ else:
+ args.insert(0, '--without-libyaml')
super(PyPyyaml, self).setup_py(*args, **kwargs)
def build_ext_args(self, spec, prefix):
args = []
- if '+libyaml' in spec:
+ if spec.satisfies('@:5 +libyaml'):
args.extend([
spec['libyaml'].libs.search_flags,
spec['libyaml'].headers.include_flags,
diff --git a/var/spack/repos/builtin/packages/py-pyzmq/package.py b/var/spack/repos/builtin/packages/py-pyzmq/package.py
index 9230b285e3..74d894cd8a 100644
--- a/var/spack/repos/builtin/packages/py-pyzmq/package.py
+++ b/var/spack/repos/builtin/packages/py-pyzmq/package.py
@@ -9,7 +9,7 @@ from spack import *
class PyPyzmq(PythonPackage):
"""PyZMQ: Python bindings for zeromq."""
homepage = "https://github.com/zeromq/pyzmq"
- url = "https://github.com/zeromq/pyzmq/archive/v14.7.0.tar.gz"
+ pypi = "pyzmq/pyzmq-22.3.0.tar.gz"
import_modules = [
'zmq', 'zmq.green', 'zmq.green.eventloop', 'zmq.sugar', 'zmq.auth',
@@ -19,19 +19,45 @@ class PyPyzmq(PythonPackage):
'zmq.log', 'zmq.asyncio', 'zmq.devices'
]
- version('18.1.0', sha256='32f7618b8104021bc96cbd60be4330bdf37b929e8061dbce362c9f3478a08e21')
- version('18.0.1', sha256='7b0107992d8cc4c43d9af1c2e13d573ea761c7feb23d7e0e7da9dc963811e68f')
- version('17.1.2', sha256='77a32350440e321466b1748e6063b34a8a73768b62cb674e7d799fbc654b7c45')
- version('16.0.2', sha256='717dd902c3cf432b1c68e7b299ad028b0de0d0a823858e440b81d5f1baa2b1c1')
- version('14.7.0', sha256='809a5fcc720d286c840f7f64696e60322b5b2544795a73db626f09b344d16a15')
+ version('22.3.0', sha256='8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c')
+ version('18.1.0', sha256='93f44739db69234c013a16990e43db1aa0af3cf5a4b8b377d028ff24515fbeb3')
+ version('18.0.1', sha256='8b319805f6f7c907b101c864c3ca6cefc9db8ce0791356f180b1b644c7347e4c')
+ version('17.1.2', sha256='a72b82ac1910f2cf61a49139f4974f994984475f771b0faa730839607eeedddf')
+ version('16.0.2', sha256='0322543fff5ab6f87d11a8a099c4c07dd8a1719040084b6ce9162bcdf5c45c9d')
+ version('14.7.0', sha256='77994f80360488e7153e64e5959dc5471531d1648e3a4bff14a714d074a38cc2')
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'), when='@18:')
+ # Python 3.9 build issues
+ depends_on('python@3.6:3.8', type=('build', 'run'), when='@22:')
+ depends_on('python@2.7,3.3:3.8', type=('build', 'run'), when='@16:18')
+ depends_on('python@2.6:2.7,3.2:3.8', type=('build', 'run'), when='@:14')
depends_on('py-cython@0.16:', type='build')
depends_on('py-cython@0.20:', type='build', when='@18:')
- depends_on('py-py', type=('build', 'run'))
- depends_on('py-cffi', type=('build', 'run'))
+ depends_on('py-cython@0.29:', type='build', when='@22.3.0:')
depends_on('py-gevent', type=('build', 'run'))
- depends_on('libzmq')
+ depends_on('libzmq', type=('build', 'run'))
+ depends_on('libzmq@3.2:', type=('build', 'run'), when='@22.3.0:')
+ depends_on('py-setuptools', type='build', when='@22.3.0:')
+ # Only when python is provided by 'pypy'
+ depends_on('py-py', type=('build', 'run'), when='@:22')
+ depends_on('py-cffi', type=('build', 'run'), when='@:22')
+
+ @run_before('install')
+ def setup(self):
+ """Create config file listing dependency information."""
+
+ with open('setup.cfg', 'w') as config:
+ config.write("""\
+[global]
+zmq_prefix = {0}
+
+[build_ext]
+library_dirs = {1}
+include_dirs = {2}
+""".format(
+ self.spec['libzmq'].prefix,
+ self.spec['libzmq'].libs.directories[0],
+ self.spec['libzmq'].headers.directories[0],
+ ))
def setup_build_environment(self, env):
# Needed for `spack install --test=root py-pyzmq`
diff --git a/var/spack/repos/builtin/packages/py-qiskit-aer/package.py b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py
new file mode 100644
index 0000000000..9f4b6af754
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-qiskit-aer/package.py
@@ -0,0 +1,56 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyQiskitAer(PythonPackage, CudaPackage):
+ """Aer is a high performance simulator for quantum circuits that
+ includes noise models"""
+
+ homepage = "https://github.com/Qiskit/qiskit-aer"
+ pypi = "qiskit-aer/qiskit-aer-0.9.1.tar.gz"
+
+ version('0.9.1', sha256='3bf5f615aaae7cc5f816c39a4e9108aabaed0cc894fb6f841e48ffd56574e7eb')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@40.1.0:', type='build')
+ depends_on('py-numpy@1.16.3:', type=('build', 'run'))
+ depends_on('py-pybind11@2.6:', type='build')
+ depends_on('py-qiskit-terra@0.17.0:', type=('build', 'run'))
+ depends_on('py-scipy@1.0:', type=('build', 'run'))
+ depends_on('py-scikit-build@0.11.0:', type='build')
+ depends_on('py-cmake@:3.16,3.18:', type='build')
+ depends_on('mpi', when='+mpi')
+ depends_on('nlohmann-json@3.1.1:')
+ depends_on('spdlog@1.5.0:')
+ depends_on('muparserx@4.0.8:')
+ depends_on('blas')
+ depends_on('cuda@10.1:', when='+cuda')
+
+ variant('mpi', default=True, description='Enable MPI support')
+ variant('gdr', default=True, description='Enable GDR support')
+
+ def setup_build_environment(self, env):
+ env.set('DISABLE_CONAN', 'ON')
+ env.set('DISABLE_DEPENDENCY_INSTALL', '1')
+ env.set("CUDAHOSTCXX", spack_cxx)
+
+ def build_args(self, spec, prefix):
+ args = []
+ args.append('-DDISABLE_CONAN=ON')
+ if '~gdr' in self.spec:
+ args.append('-DAER_DISABLE_GDR=True')
+ else:
+ args.append('-DAER_DISABLE_GDR=False')
+ if '+mpi' in self.spec:
+ args.append('-DAER_MPI=True')
+ else:
+ args.append('-DAER_MPI=False')
+ if '+cuda' in self.spec:
+ args.append('-DAER_THRUST_BACKEND=CUDA')
+ cuda_archs = spec.variants['cuda_arch'].value
+ if 'none' not in cuda_archs:
+ args.append('-DCUDA_NVCC_FLAGS={0}'.
+ format(' '.join(self.cuda_flags(cuda_archs))))
+ return args
diff --git a/var/spack/repos/builtin/packages/py-qiskit-terra/package.py b/var/spack/repos/builtin/packages/py-qiskit-terra/package.py
new file mode 100644
index 0000000000..fbbef84f37
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-qiskit-terra/package.py
@@ -0,0 +1,34 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyQiskitTerra(PythonPackage):
+ """Qiskit is an open-source SDK for working with quantum computers
+ at the level of extended quantum circuits, operators, and
+ algorithms."""
+
+ homepage = "https://github.com/Qiskit/qiskit-terra"
+ pypi = "qiskit-terra/qiskit-terra-0.18.3.tar.gz"
+
+ version('0.18.3', sha256='8737c8f1f4c6f29ec2fb02d73023f4854a396c33f78f4629a861a3e48fc789cc')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cython@0.27.1:', type='build')
+
+ depends_on('py-contextvars@2.4:', when='^python@:3.6', type=('build', 'run'))
+ depends_on('py-jsonschema@2.6:', type=('build', 'run'))
+ depends_on('py-retworkx@0.9.0:', type=('build', 'run'))
+ depends_on('py-numpy@1.17:', type=('build', 'run'))
+ depends_on('py-scipy@1.4:', type=('build', 'run'))
+ depends_on('py-ply@3.10:', type=('build', 'run'))
+ depends_on('py-psutil@5:', type=('build', 'run'))
+ depends_on('py-sympy@1.3:', type=('build', 'run'))
+ depends_on('py-dill@0.3:', type=('build', 'run'))
+ depends_on('py-fastjsonschema@2.10:', type=('build', 'run'))
+ depends_on('py-python-constraint@1.4:', type=('build', 'run'))
+ depends_on('py-python-dateutil@2.8.0:', type=('build', 'run'))
+ depends_on('py-symengine@0.7:', type=('build', 'run'))
+ depends_on('py-tweedledum@1.1:1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-qpth/package.py b/var/spack/repos/builtin/packages/py-qpth/package.py
new file mode 100644
index 0000000000..a8c54f91e5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-qpth/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyQpth(PythonPackage):
+ """A fast and differentiable QP solver for PyTorch"""
+
+ homepage = "https://github.com/locuslab/qpth"
+ pypi = "qpth/qpth-0.0.15.tar.gz"
+
+ version('0.0.15', sha256='99d8ec5a35877c18543875a7d5b7fc9af1fa9a4d4b0888011c1ecf42ad9d521c')
+
+ depends_on('python', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1')
+ depends_on('py-torch')
+ depends_on('py-cvxpy')
diff --git a/var/spack/repos/builtin/packages/py-qtconsole/package.py b/var/spack/repos/builtin/packages/py-qtconsole/package.py
index 8ff12768b1..11b5295e67 100644
--- a/var/spack/repos/builtin/packages/py-qtconsole/package.py
+++ b/var/spack/repos/builtin/packages/py-qtconsole/package.py
@@ -12,12 +12,14 @@ class PyQtconsole(PythonPackage):
homepage = "https://ipython.org"
pypi = "qtconsole/qtconsole-4.2.1.tar.gz"
+ version('5.2.0', sha256='6bb4df839609f240194213407872076f871e3a3884cf8e785068e8c7f39344c6')
version('4.5.1', sha256='4af84facdd6f00a6b9b2927255f717bb23ae4b7a20ba1d9ef0a5a5a8dbe01ae2')
version('4.2.1', sha256='25ec7d345528b3e8f3c91be349dd3c699755f206dc4b6ec668e2e5dd60ea18ef')
variant('docs', default=False, description='Build documentation')
depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@5.2.0:')
depends_on('py-ipykernel@4.1:', type=('build', 'run'))
depends_on('py-jupyter-client@4.1:', type=('build', 'run'))
depends_on('py-jupyter-core', type=('build', 'run'))
@@ -25,4 +27,6 @@ class PyQtconsole(PythonPackage):
depends_on('py-traitlets', type=('build', 'run'))
depends_on('py-ipython-genutils', type=('build', 'run'), when='@4.5.1:')
depends_on('py-sphinx@1.3:', type=('build', 'run'), when='+docs')
- depends_on('py-pyqt5', type='run')
+ depends_on('py-pyqt5', type='run', when='@:5.1')
+ depends_on('py-qtpy', type=('build', 'run'), when='@5.2.0:')
+ depends_on('py-pyzmq@17.1:', type=('build', 'run'), when='@5.2.0:')
diff --git a/var/spack/repos/builtin/packages/py-radical-entk/package.py b/var/spack/repos/builtin/packages/py-radical-entk/package.py
index 03d3592a23..96a01fb5f2 100755..100644
--- a/var/spack/repos/builtin/packages/py-radical-entk/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-entk/package.py
@@ -12,11 +12,12 @@ class PyRadicalEntk(PythonPackage):
homepage = 'https://radical-cybertools.github.io'
git = 'https://github.com/radical-cybertools/radical.entk.git'
- pypi = 'radical.entk/radical.entk-1.8.0.tar.gz'
+ pypi = 'radical.entk/radical.entk-1.9.0.tar.gz'
maintainers = ['andre-merzky']
version('develop', branch='devel')
+ version('1.9.0', sha256='918c716ac5eecb012a57452f45f5a064af7ea72f70765c7b0c60be4322b23557')
version('1.8.0', sha256='47a3f7f1409612d015a3e6633853d31ec4e4b0681aecb7554be16ebf39c7f756')
version('1.6.7', sha256='9384568279d29b9619a565c075f287a08bca8365e2af55e520af0c2f3595f8a2')
diff --git a/var/spack/repos/builtin/packages/py-radical-gtod/package.py b/var/spack/repos/builtin/packages/py-radical-gtod/package.py
index 4e8eda7ea2..4e8eda7ea2 100755..100644
--- a/var/spack/repos/builtin/packages/py-radical-gtod/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-gtod/package.py
diff --git a/var/spack/repos/builtin/packages/py-radical-pilot/package.py b/var/spack/repos/builtin/packages/py-radical-pilot/package.py
index aeca8fb11f..9ced1d9a85 100755..100644
--- a/var/spack/repos/builtin/packages/py-radical-pilot/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-pilot/package.py
@@ -13,11 +13,13 @@ class PyRadicalPilot(PythonPackage):
homepage = 'https://radical-cybertools.github.io'
git = 'https://github.com/radical-cybertools/radical.pilot.git'
- pypi = 'radical.pilot/radical.pilot-1.8.0.tar.gz'
+ pypi = 'radical.pilot/radical.pilot-1.10.1.tar.gz'
maintainers = ['andre-merzky']
version('develop', branch='devel')
+ version('1.10.1', sha256='003f4c519b991bded31693026b69dd51547a5a69a5f94355dc8beff766524b3c')
+ version('1.9.2', sha256='7c872ac9103a2aed0c5cd46057048a182f672191e194e0fd42794b0012e6e947')
version('1.8.0', sha256='a4c3bca163db61206e15a2d820d9a64e888da5c72672448ae975c26768130b9d')
version('1.6.8', sha256='fa8fd3f348a68b54ee8338d5c5cf1a3d99c10c0b6da804424a839239ee0d313d')
version('1.6.7', sha256='6ca0a3bd3cda65034fa756f37fa05681d5a43441c1605408a58364f89c627970')
@@ -26,6 +28,6 @@ class PyRadicalPilot(PythonPackage):
depends_on('py-radical-saga@1.6.6:', type=('build', 'run'))
depends_on('python@3.6:', type=('build', 'run'))
- depends_on('py-pymongo', type=('build', 'run'))
+ depends_on('py-pymongo@:3', type=('build', 'run'))
depends_on('py-setproctitle', type=('build', 'run'))
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-radical-saga/package.py b/var/spack/repos/builtin/packages/py-radical-saga/package.py
index 81c30e2181..81c30e2181 100755..100644
--- a/var/spack/repos/builtin/packages/py-radical-saga/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-saga/package.py
diff --git a/var/spack/repos/builtin/packages/py-radical-utils/package.py b/var/spack/repos/builtin/packages/py-radical-utils/package.py
index 6009e01c28..e285f2f559 100755..100644
--- a/var/spack/repos/builtin/packages/py-radical-utils/package.py
+++ b/var/spack/repos/builtin/packages/py-radical-utils/package.py
@@ -12,11 +12,13 @@ class PyRadicalUtils(PythonPackage):
homepage = 'https://radical-cybertools.github.io'
git = 'https://github.com/radical-cybertools/radical.utils.git'
- pypi = 'radical.utils/radical.utils-1.8.0.tar.gz'
+ pypi = 'radical.utils/radical.utils-1.9.1.tar.gz'
maintainers = ['andre-merzky']
version('develop', branch='devel')
+ version('1.9.1', sha256='0837d75e7f9dcce5ba5ac63151ab1683d6ba9ab3954b076d1f170cc4a3cdb1b4')
+ version('1.8.4', sha256='4777ba20e9f881bf3e73ad917638fdeca5a4b253d57ed7b321a07f670e3f737b')
version('1.8.0', sha256='8582c65593f51d394fc263c6354ec5ad9cc7173369dcedfb2eef4f5e8146cf03')
version('1.6.7', sha256='552f6c282f960ccd9d2401d686b0b3bfab35dfa94a26baeb2d3b4e45211f05a9')
@@ -30,7 +32,7 @@ class PyRadicalUtils(PythonPackage):
depends_on('py-msgpack', type=('build', 'run'))
depends_on('py-netifaces', type=('build', 'run'))
depends_on('py-ntplib', type=('build', 'run'))
- depends_on('py-pymongo', type=('build', 'run'))
+ depends_on('py-pymongo@:3', type=('build', 'run'))
depends_on('py-pyzmq', type=('build', 'run'))
depends_on('py-regex', type=('build', 'run'))
depends_on('py-setproctitle', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-rapidfuzz/package.py b/var/spack/repos/builtin/packages/py-rapidfuzz/package.py
new file mode 100644
index 0000000000..3d8e07c209
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-rapidfuzz/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyRapidfuzz(PythonPackage):
+ """Rapid fuzzy string matching in Python and C++ using the Levenshtein Distance."""
+
+ homepage = "https://github.com/maxbachmann/rapidfuzz"
+ pypi = "rapidfuzz/rapidfuzz-1.8.2.tar.gz"
+
+ version('1.8.2', sha256='d6efbb2b6b18b3a67d7bdfbcd9bb72732f55736852bbef823bdf210f9e0c6c90')
+
+ depends_on('python@2.7:', type=('build', 'link', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-rdt/package.py b/var/spack/repos/builtin/packages/py-rdt/package.py
new file mode 100644
index 0000000000..0f634a8b77
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-rdt/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyRdt(PythonPackage):
+ """RDT is a Python library used to transform data for data
+ science libraries and preserve the transformations in order
+ to revert them as needed."""
+
+ homepage = "https://github.com/sdv-dev/RDT"
+ pypi = "rdt/rdt-0.6.1.tar.gz"
+
+ version('0.6.1', sha256='ee2ac0d3479b254f99f35a709a24ffd5f2c899de6ea71f1ee844c6113febba71')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1.18:1.19', type=('build', 'run'), when='^python@3.6')
+ depends_on('py-numpy@1.20:1', type=('build', 'run'), when='^python@3.7:')
+ depends_on('py-pandas@1.1.3:1.1.4', type=('build', 'run'))
+ depends_on('py-scipy@1.5.4:1', type=('build', 'run'))
+ depends_on('py-psutil@5.7:5', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
index 09d8de87e5..04c2ca4606 100644
--- a/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
+++ b/var/spack/repos/builtin/packages/py-requests-oauthlib/package.py
@@ -13,6 +13,7 @@ class PyRequestsOauthlib(PythonPackage):
homepage = "https://github.com/requests/requests-oauthlib"
pypi = "requests-oauthlib/requests-oauthlib-1.2.0.tar.gz"
+ version('1.3.0', sha256='b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a')
version('1.2.0', sha256='bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57')
version('0.3.3', sha256='37557b4de3eef50d2a4c65dc9382148b8331f04b1c637c414b3355feb0f007e9')
diff --git a/var/spack/repos/builtin/packages/py-requests/package.py b/var/spack/repos/builtin/packages/py-requests/package.py
index 8d1f0d3317..374926c3f9 100644
--- a/var/spack/repos/builtin/packages/py-requests/package.py
+++ b/var/spack/repos/builtin/packages/py-requests/package.py
@@ -12,6 +12,7 @@ class PyRequests(PythonPackage):
homepage = "http://python-requests.org"
pypi = "requests/requests-2.24.0.tar.gz"
+ version('2.26.0', sha256='b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7')
version('2.25.1', sha256='27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804')
version('2.24.0', sha256='b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b')
version('2.23.0', sha256='b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6')
@@ -25,12 +26,16 @@ class PyRequests(PythonPackage):
variant('socks', default=False, description='SOCKS and HTTP proxy support')
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.6:', type=('build', 'run'), when='@2.26.0:')
depends_on('py-setuptools', type='build')
- depends_on('py-chardet@3.0.2:4', type=('build', 'run'), when='@2.25.1:')
+ depends_on('py-chardet@3.0.2:4', type=('build', 'run'), when='@2.25.1: ^python@2:2')
depends_on('py-chardet@3.0.2:3', type=('build', 'run'), when='@2.23.0:2.25.0')
depends_on('py-chardet@3.0.2:3.0', type=('build', 'run'), when='@2.16.0:2.22')
- depends_on('py-idna@2.5:2', type=('build', 'run'), when='@2.23.0:')
+ depends_on('py-charset-normalizer@2.0.0:2.0', type=('build', 'run'), when='@2.26.0: ^python@3:')
+ depends_on('py-idna@2.5:3', type=('build', 'run'), when='@2.26.0: ^python@3:')
+ depends_on('py-idna@2.5:2', type=('build', 'run'), when='@2.26.0: ^python@:2')
+ depends_on('py-idna@2.5:2', type=('build', 'run'), when='@2.23:2.25')
depends_on('py-idna@2.5:2.8', type=('build', 'run'), when='@2.16.0:2.22')
depends_on('py-urllib3@1.21.1:1.26', type=('build', 'run'), when='@2.25.0:')
depends_on('py-urllib3@1.21.1:1.24,1.25.2:1.25', type=('build', 'run'), when='@2.16.0:2.24')
diff --git a/var/spack/repos/builtin/packages/py-retry/package.py b/var/spack/repos/builtin/packages/py-retry/package.py
new file mode 100644
index 0000000000..8e0417f02b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-retry/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyRetry(PythonPackage):
+ """Easy to use retry decorator."""
+
+ homepage = "https://github.com/invl/retry"
+ pypi = "retry/retry-0.9.2.tar.gz"
+
+ version('0.9.2', sha256='f8bfa8b99b69c4506d6f5bd3b0aabf77f98cdb17f3c9fc3f5ca820033336fba4')
+
+ depends_on('python@2.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pbr', type='build')
+ depends_on('py-decorator@3.4.2:', type=('build', 'run'))
+ depends_on('py-py@1.4.26:1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-retworkx/package.py b/var/spack/repos/builtin/packages/py-retworkx/package.py
new file mode 100644
index 0000000000..512c67fbb4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-retworkx/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyRetworkx(PythonPackage):
+ """A high performance Python graph library implemented in Rust."""
+
+ homepage = "https://github.com/Qiskit/retworkx"
+ pypi = "retworkx/retworkx-0.5.0.tar.gz"
+
+ version('0.10.2', sha256='ba81cb527de7ff338575905bb6fcbebdf2ab18ae800169a77ab863f855bf0951')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools-rust', type='build')
+ depends_on('py-numpy@1.16.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-rich/package.py b/var/spack/repos/builtin/packages/py-rich/package.py
index ffb6806f36..68be1f4ce8 100644
--- a/var/spack/repos/builtin/packages/py-rich/package.py
+++ b/var/spack/repos/builtin/packages/py-rich/package.py
@@ -14,6 +14,8 @@ class PyRich(PythonPackage):
homepage = "https://github.com/willmcgugan/rich"
pypi = "rich/rich-9.4.0.tar.gz"
+ version('10.14.0', sha256='8bfe4546d56b4131298d3a9e571a0742de342f1593770bd0d4707299f772a0af')
+ version('10.9.0', sha256='ba285f1c519519490034284e6a9d2e6e3f16dc7690f2de3d9140737d81304d22')
version('10.0.0', sha256='4674bd3056a72bb282ad581e3f8092dc110cdcc456b5ba76e34965cb85a69724')
version('9.9.0', sha256='0bd8f42c3a03b7ef5e311d5e37f47bea9d268f541981c169072be5869c007957')
version('9.8.2', sha256='c0d5903b463f015b254d6f52da82af3821d266fe516ae05fdc266e6abba5c3a8')
@@ -28,8 +30,10 @@ class PyRich(PythonPackage):
version('9.4.0', sha256='bde23a1761373fed2802502ff98292c5d735a5389ed96f4fe1be5fb4c2cde8ea')
depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('python@3.6.2:3', type=('build', 'run'), when='@10.14.0:')
depends_on('py-setuptools', type='build')
- depends_on('py-typing-extensions@3.7.4:3', type=('build', 'run'))
+ depends_on('py-typing-extensions@3.7.4:4', type=('build', 'run'), when='@10.14.0: ^python@:3.7')
+ depends_on('py-typing-extensions@3.7.4:3', type=('build', 'run'), when='@:10.13.0')
depends_on('py-dataclasses@0.7:0.8', when='^python@:3.6', type=('build', 'run'))
depends_on('py-pygments@2.6:2', type=('build', 'run'))
depends_on('py-commonmark@0.9.0:0.9', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-rsa/package.py b/var/spack/repos/builtin/packages/py-rsa/package.py
index 45fbc3fa9e..0395f653ae 100644
--- a/var/spack/repos/builtin/packages/py-rsa/package.py
+++ b/var/spack/repos/builtin/packages/py-rsa/package.py
@@ -12,8 +12,10 @@ class PyRsa(PythonPackage):
homepage = "https://stuvel.eu/rsa"
pypi = "rsa/rsa-3.4.2.tar.gz"
+ version('4.7.2', sha256='9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9')
version('4.0', sha256='1a836406405730121ae9823e19c6e806c62bbad73f890574fff50efa4122c487')
version('3.4.2', sha256='25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5')
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-pyasn1@0.1.3:', type=('build', 'run'))
+ depends_on('python@3.5:3', type=('build', 'run'), when='@4.7.2:')
diff --git a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py
index bf4d6ef3f6..436940225c 100644
--- a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py
+++ b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py
@@ -13,5 +13,5 @@ class PyRuamelYamlClib(PythonPackage):
version('0.2.0', sha256='b66832ea8077d9b3f6e311c4a53d06273db5dc2db6e8a908550f3c14d67e718c')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'))
depends_on('py-setuptools@28.7.0:', type='build')
diff --git a/var/spack/repos/builtin/packages/py-schema/package.py b/var/spack/repos/builtin/packages/py-schema/package.py
new file mode 100644
index 0000000000..87c3ec5f65
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-schema/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PySchema(PythonPackage):
+ """Simple data validation library"""
+
+ homepage = "https://github.com/keleshev/schema"
+ pypi = "schema/schema-0.7.5.tar.gz"
+
+ version('0.7.5', sha256='f06717112c61895cabc4707752b88716e8420a8819d71404501e114f91043197')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-contextlib2@0.5.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-scikit-build/package.py b/var/spack/repos/builtin/packages/py-scikit-build/package.py
index f6fab07c95..b8d49f7b95 100644
--- a/var/spack/repos/builtin/packages/py-scikit-build/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-build/package.py
@@ -20,8 +20,10 @@ class PyScikitBuild(PythonPackage):
maintainers = ['coreyjadams']
+ version('0.12.0', sha256='c32a415d2e7920a4a966b037403c93b02c8a958d8badf3c60abd4b4493f7d988')
version('0.10.0', sha256='2beec252813b20327072c15e9d997f15972aedcc6a130d0154979ff0fdb1b010')
depends_on('py-setuptools@28.0.0:', type=('build', 'run'))
depends_on('py-packaging', type=('build', 'run'))
depends_on('py-wheel@0.29.0:', type=('build', 'run'))
+ depends_on('py-distro', type=('build', 'run'), when='@0.11:')
diff --git a/var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py b/var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py
new file mode 100644
index 0000000000..2c1ffe81e1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-scikit-fuzzy/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyScikitFuzzy(PythonPackage):
+ """Fuzzy logic toolkit for SciPy"""
+
+ homepage = "https://github.com/scikit-fuzzy/scikit-fuzzy"
+ pypi = "scikit-fuzzy/scikit-fuzzy-0.4.2.tar.gz"
+
+ version('0.4.2', sha256='1ab12424d847ede1bc79670d8058167be7c8dd660b00756e9b844817ceb1e12e')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type=('build',))
+ depends_on('py-networkx@1.9:', type=('build', 'run'))
+ depends_on('py-numpy@1.6:', type=('build', 'run'))
+ depends_on('py-scipy@0.9:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py b/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py
new file mode 100644
index 0000000000..03f06e7865
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-scikit-learn-extra/package.py
@@ -0,0 +1,27 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyScikitLearnExtra(PythonPackage):
+ """A set of useful tools compatible with scikit-learn
+
+ scikit-learn-extra is a Python module for machine learning that extends
+ scikit-learn. It includes algorithms that are useful but do not satisfy the
+ scikit-learn inclusion criteria, for instance due to their novelty or lower
+ citation number."""
+
+ homepage = "https://github.com/scikit-learn-contrib/scikit-learn-extra"
+ pypi = "scikit-learn-extra/scikit-learn-extra-0.2.0.tar.gz"
+
+ version('0.2.0', sha256='3b1bb5fedde47920eb4b3fa0a0c18f80cc7359d9d0496720178788c6153b8019')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cython@0.28.5:', type='build')
+ depends_on('py-numpy@1.13.3:', type=('build', 'run'))
+ depends_on('py-scipy@0.19.1:', type=('build', 'run'))
+ depends_on('py-scikit-learn@0.23:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
index b3d62fc1d3..fdf8db4756 100644
--- a/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-optimize/package.py
@@ -16,15 +16,24 @@ class PyScikitOptimize(PythonPackage):
homepage = "https://scikit-optimize.github.io"
pypi = "scikit-optimize/scikit-optimize-0.5.2.tar.gz"
+ git = "https://github.com/scikit-optimize/scikit-optimize.git"
+ maintainers = ['liuyangzhuan']
+
+ version('master', branch='master')
version('0.5.2', sha256='1d7657a4b8ef9aa6d81e49b369c677c584e83269f11710557741d3b3f8fa0a75')
variant('plots', default=True,
description='Build with plot support from py-matplotlib')
+ variant('gptune', default=False,
+ description='Build with patches for GPTune')
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-scipy@0.14.0:', type=('build', 'run'))
depends_on('py-scikit-learn@0.19.1:', type=('build', 'run'))
+ depends_on('py-pyyaml', when='+gptune', type=('build', 'run'))
depends_on('py-matplotlib', when='+plots')
+
+ patch('space.patch', when='+gptune')
diff --git a/var/spack/repos/builtin/packages/py-scikit-optimize/space.patch b/var/spack/repos/builtin/packages/py-scikit-optimize/space.patch
new file mode 100644
index 0000000000..c608bbb78a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-scikit-optimize/space.patch
@@ -0,0 +1,57 @@
+diff --git a/skopt/space/space.py b/skopt/space/space.py
+old mode 100644
+new mode 100755
+index 329b0c1..bed1e05
+--- a/skopt/space/space.py
++++ b/skopt/space/space.py
+@@ -244,13 +244,13 @@ class Real(Dimension):
+ name : str or None
+ Name associated with the dimension, e.g., "learning rate".
+
+- dtype : str or dtype, default=float
++ dtype : str or dtype, default=np.float
+ float type which will be used in inverse_transform,
+ can be float.
+
+ """
+ def __init__(self, low, high, prior="uniform", base=10, transform=None,
+- name=None, dtype=float):
++ name=None, dtype=np.float, optimize=True):
+ if high <= low:
+ raise ValueError("the lower bound {} has to be less than the"
+ " upper bound {}".format(low, high))
+@@ -267,6 +267,7 @@ class Real(Dimension):
+ self._rvs = None
+ self.transformer = None
+ self.transform_ = transform
++ self.optimize = optimize
+ if isinstance(self.dtype, str) and self.dtype\
+ not in ['float', 'float16', 'float32', 'float64']:
+ raise ValueError("dtype must be 'float', 'float16', 'float32'"
+@@ -346,7 +347,8 @@ class Real(Dimension):
+ self.low, self.high).astype(self.dtype)
+ if self.dtype == float or self.dtype == 'float':
+ # necessary, otherwise the type is converted to a numpy type
+- return getattr(inv_transform, "tolist", lambda: value)()
++ inv_transform = getattr(inv_transform, "tolist", lambda: value)()
++ return [round(val, 6) for val in inv_transform]
+ else:
+ return inv_transform
+
+@@ -435,7 +437,7 @@ class Integer(Dimension):
+
+ """
+ def __init__(self, low, high, prior="uniform", base=10, transform=None,
+- name=None, dtype=np.int64):
++ name=None, dtype=np.int64, optimize=True):
+ if high <= low:
+ raise ValueError("the lower bound {} has to be less than the"
+ " upper bound {}".format(low, high))
+@@ -450,6 +452,7 @@ class Integer(Dimension):
+ self.name = name
+ self.dtype = dtype
+ self.transform_ = transform
++ self.optimize = optimize
+ self._rvs = None
+ self.transformer = None
+
diff --git a/var/spack/repos/builtin/packages/py-scinum/package.py b/var/spack/repos/builtin/packages/py-scinum/package.py
new file mode 100644
index 0000000000..1c364a6388
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-scinum/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyScinum(PythonPackage):
+ """Scientific numbers with multiple uncertainties and
+ correlation-aware, gaussian propagation and numpy"""
+
+ homepage = "https://github.com/riga/scinum"
+ pypi = "scinum/scinum-1.2.0.tar.gz"
+
+ version('1.2.0', sha256='31802d9b580f3a89c0876f34432851bc4def9cb2844d6f3c8e044480f2dd2f91')
+
+ depends_on('python@2.7:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
index 8184debba5..12a9f02eef 100644
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -18,6 +18,8 @@ class PyScipy(PythonPackage):
maintainers = ['adamjstewart']
version('master', branch='master')
+ version('1.7.3', sha256='ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf')
+ version('1.7.2', sha256='fa2dbabaaecdb502641b0b3c00dec05fb475ae48655c66da16c9ed24eda1e711')
version('1.7.1', sha256='6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764')
version('1.7.0', sha256='998c5e6ea649489302de2c0bc026ed34284f531df89d2bdc8df3a0d44d165739')
version('1.6.3', sha256='a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707')
@@ -51,14 +53,16 @@ class PyScipy(PythonPackage):
depends_on('python@3.5:', when='@1.3:1.4', type=('build', 'link', 'run'))
depends_on('python@3.6:', when='@1.5.0:1.5', type=('build', 'link', 'run'))
depends_on('python@3.7:', when='@1.6:1.6.1', type=('build', 'link', 'run'))
- depends_on('python@3.7:3.9', when='@1.6.2:', type=('build', 'link', 'run'))
+ depends_on('python@3.7:3.9', when='@1.6.2:1.7.1', type=('build', 'link', 'run'))
+ depends_on('python@3.7:3.10', when='@1.7.2:', type=('build', 'link', 'run'))
depends_on('py-setuptools', when='@:1.5', type='build')
depends_on('py-setuptools@:51.0.0', when='@1.6', type='build')
depends_on('py-setuptools@:57', when='@1.7:', type='build')
depends_on('py-pybind11@2.2.4:', when='@1.4.0', type=('build', 'link'))
depends_on('py-pybind11@2.4.0:', when='@1.4.1:1.4', type=('build', 'link'))
depends_on('py-pybind11@2.4.3:', when='@1.5:1.6.1', type=('build', 'link'))
- depends_on('py-pybind11@2.4.3:2.6', when='@1.6.2:', type=('build', 'link'))
+ depends_on('py-pybind11@2.4.3:2.6', when='@1.6.2:1.7.1', type=('build', 'link'))
+ depends_on('py-pybind11@2.4.3:2.7', when='@1.7.2:', type=('build', 'link'))
depends_on('py-numpy@1.5.1:+blas+lapack', when='@:0.15', type=('build', 'link', 'run'))
depends_on('py-numpy@1.6.2:+blas+lapack', when='@0.16:0.17', type=('build', 'link', 'run'))
depends_on('py-numpy@1.7.1:+blas+lapack', when='@0.18.0:0.18', type=('build', 'link', 'run'))
@@ -67,8 +71,9 @@ class PyScipy(PythonPackage):
depends_on('py-numpy@1.14.5:+blas+lapack', when='@1.5.0:1.5', type=('build', 'link', 'run'))
depends_on('py-numpy@1.16.5:+blas+lapack', when='@1.6:1.6.1', type=('build', 'link', 'run'))
depends_on('py-numpy@1.16.5:1.22+blas+lapack', when='@1.6.2:', type=('build', 'link', 'run'))
- depends_on('py-cython@0.29.18:2.9', when='@1.7:', type='build')
- depends_on('py-pythran@0.9.11:', when='@1.7:', type=('build', 'link'))
+ depends_on('py-cython@0.29.18:2', when='@1.7:', type='build')
+ depends_on('py-pythran@0.9.11', when='@1.7.0:1.7.1', type=('build', 'link'))
+ depends_on('py-pythran@0.9.12:0.9', when='@1.7.2:', type=('build', 'link'))
depends_on('py-pytest', type='test')
# NOTE: scipy picks up Blas/Lapack from numpy, see
diff --git a/var/spack/repos/builtin/packages/py-selectors34/package.py b/var/spack/repos/builtin/packages/py-selectors34/package.py
new file mode 100644
index 0000000000..55f86bc604
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-selectors34/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+# Package automatically generated using 'pip2spack' converter
+
+
+class PySelectors34(PythonPackage):
+ """
+ Backport of the selectors module from Python 3.4.
+ """
+
+ homepage = "https://github.com/berkerpeksag/selectors34"
+ pypi = 'selectors34/selectors34-1.2.tar.gz'
+ maintainers = ['liuyangzhuan']
+
+ version('1.2', sha256='09f5066337f8a76fb5233f267873f89a27a17c10bf79575954894bb71686451c')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-send2trash/package.py b/var/spack/repos/builtin/packages/py-send2trash/package.py
index ef8b88a9ed..9640592d76 100644
--- a/var/spack/repos/builtin/packages/py-send2trash/package.py
+++ b/var/spack/repos/builtin/packages/py-send2trash/package.py
@@ -12,6 +12,7 @@ class PySend2trash(PythonPackage):
homepage = "https://github.com/hsoft/send2trash"
url = "https://github.com/hsoft/send2trash/archive/1.5.0.tar.gz"
+ version('1.8.0', sha256='937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c')
version('1.5.0', sha256='7cebc0ffc8b6d6e553bce9c6bb915614610ba2dec17c2f0643b1b97251da2a41')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-serpent/package.py b/var/spack/repos/builtin/packages/py-serpent/package.py
new file mode 100644
index 0000000000..b2113cfbf4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-serpent/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+# Package automatically generated using 'pip2spack' converter
+
+
+class PySerpent(PythonPackage):
+ """
+ Serialization based on ast.literal_eval
+ """
+
+ homepage = "https://github.com/irmen/Serpent"
+ pypi = 'serpent/serpent-1.40.tar.gz'
+ maintainers = ['liuyangzhuan']
+
+ version('1.40', sha256='10b34e7f8e3207ee6fb70dcdc9bce473851ee3daf0b47c58aec1b48032ac11ce')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('python@3.2:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-setupmeta/package.py b/var/spack/repos/builtin/packages/py-setupmeta/package.py
new file mode 100644
index 0000000000..0b7c9baf39
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-setupmeta/package.py
@@ -0,0 +1,18 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PySetupmeta(PythonPackage):
+ """Simplify your setup.py."""
+
+ homepage = "https://github.com/codrsquad/setupmeta"
+ pypi = "setupmeta/setupmeta-3.3.0.tar.gz"
+
+ version('3.3.0', sha256='32914af4eeffb8bf1bd45057254d9dff4d16cb7ae857141e07698f7ac19dc960')
+
+ depends_on('python@2.7:', type=('build', 'run'))
+ depends_on('py-setuptools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-setuptools-cpp/package.py b/var/spack/repos/builtin/packages/py-setuptools-cpp/package.py
new file mode 100644
index 0000000000..5f4af3deb2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-setuptools-cpp/package.py
@@ -0,0 +1,46 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PySetuptoolsCpp(PythonPackage):
+ """Simplified packaging for pybind11-based C++ extensions"""
+
+ homepage = "https://github.com/dmontagu/setuptools-cpp"
+ pypi = "setuptools_cpp/setuptools_cpp-0.1.0.tar.gz"
+
+ maintainers = ['dorton']
+
+ version('0.1.0', sha256='4fd5e08603237578d06d28efd592d9847b523ede3e502f660be44b1e6254674d')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-appdirs', type=('build', 'run'))
+ depends_on('py-atomicwrites', type=('build', 'run'))
+ depends_on('py-attrs', type=('build', 'run'))
+ depends_on('py-black', type=('build', 'run'))
+ depends_on('py-chardet', type=('build', 'run'))
+ depends_on('py-colorama', type=('build', 'run'))
+ depends_on('py-chardet', type=('build', 'run'))
+ depends_on('py-certifi', type=('build', 'run'))
+ depends_on('py-click', type=('build', 'run'))
+ depends_on('py-codecov', type=('build', 'run'))
+ depends_on('py-coverage', type=('build', 'run'))
+ depends_on('py-entrypoints', type=('build', 'run'))
+ depends_on('py-flake8', type=('build', 'run'))
+ depends_on('py-importlib-metadata', type=('build', 'run'))
+ depends_on('py-isort', type=('build', 'run'))
+ depends_on('py-jinja2', type=('build', 'run'))
+ depends_on('py-markdown', type=('build', 'run'))
+ depends_on('py-markupsafe', type=('build', 'run'))
+ depends_on('py-mccabe', type=('build', 'run'))
+ depends_on('py-more-itertools', type=('build', 'run'))
+ depends_on('py-mypy', type=('build', 'run'))
+ depends_on('py-mypy-extensions', type=('build', 'run'))
+ depends_on('py-packaging', type=('build', 'run'))
+ depends_on('py-pathspec', type=('build', 'run'))
+ depends_on('py-pluggy', type=('build', 'run'))
+ depends_on('py-tornado', type=('build', 'run'))
+ depends_on('py-typed-ast', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index b8f1710ea9..71804b5a69 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -13,6 +13,7 @@ class PySetuptools(PythonPackage):
homepage = "https://github.com/pypa/setuptools"
pypi = "setuptools/setuptools-57.4.0.tar.gz"
+ version('59.4.0', sha256='b4c634615a0cf5b02cf83c7bedffc8da0ca439f00e79452699454da6fbd4153d')
version('58.2.0', sha256='2c55bdb85d5bb460bd2e3b12052b677879cffcf46c0c688f2e5bf51d36001145')
version('57.4.0', sha256='6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465')
version('57.1.0', sha256='cfca9c97e7eebbc8abe18d5e5e962a08dcad55bb63afddd82d681de4d22a597b')
diff --git a/var/spack/repos/builtin/packages/py-shellingham/package.py b/var/spack/repos/builtin/packages/py-shellingham/package.py
new file mode 100644
index 0000000000..a08ac33ce6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-shellingham/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyShellingham(PythonPackage):
+ """Tool to Detect Surrounding Shell"""
+
+ homepage = "https://github.com/sarugaku/shellingham"
+ pypi = "shellingham/shellingham-1.4.0.tar.gz"
+
+ version('1.4.0', sha256='4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e')
+
+ depends_on('python@2.6:2.7,3.4:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-wheel', type='build')
diff --git a/var/spack/repos/builtin/packages/py-sina/no_orjson.patch b/var/spack/repos/builtin/packages/py-sina/no_orjson.patch
new file mode 100644
index 0000000000..de937f4157
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sina/no_orjson.patch
@@ -0,0 +1,15 @@
+--- a/python/setup.py
++++ b/python/setup.py
+@@ -51,9 +51,7 @@ setup(name='llnl-sina',
+ 'six',
+ 'sqlalchemy',
+ 'enum34;python_version<"3.4"',
+- 'orjson;python_version>="3.6" and platform_machine!="ppc64le"',
+- 'ujson;python_version>="3.6" and platform_machine=="ppc64le"',
+- 'ujson<4;python_version<"3.6" and platform_machine!="ppc64le"',
++ 'ujson',
+ ],
+ license='MIT',
+ classifiers=[
+
+
diff --git a/var/spack/repos/builtin/packages/py-sina/package.py b/var/spack/repos/builtin/packages/py-sina/package.py
new file mode 100644
index 0000000000..deb46cd2ff
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sina/package.py
@@ -0,0 +1,44 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class PySina(PythonPackage):
+ """Sina allows codes to store, query, and visualize their data through an
+ easy-to-use Python API. Data that fits its recognized schema can be ingested
+ into one or more supported backends.
+ Sina's API is independent of backend and gives users the benefits of a database
+ without requiring knowledge of one, allowing queries to be expressed in pure
+ Python. Visualizations are also provided through Python.
+
+ Sina is intended especially for use with run metadata,
+ allowing users to easily and efficiently find simulation runs that match some
+ criteria.
+ """
+
+ homepage = "https://github.com/LLNL/Sina"
+ git = "https://github.com/LLNL/Sina.git"
+
+ # notify when the package is updated.
+ maintainers = [
+ 'HaluskaR',
+ 'estebanpauli',
+ 'murray55',
+ 'doutriaux1',
+ ]
+ version('1.11.0', tag="v1.11.0")
+ version('1.10.0', tag="v1.10.0")
+
+ # let's remove dependency on orjson
+ patch('no_orjson.patch')
+ depends_on('py-setuptools', type='build')
+ depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
+ depends_on('py-ujson', type=('build', 'run'))
+ depends_on("py-sqlalchemy", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+
+ build_directory = 'python'
diff --git a/var/spack/repos/builtin/packages/py-singledispatch/package.py b/var/spack/repos/builtin/packages/py-singledispatch/package.py
index aba411640f..29582d6308 100644
--- a/var/spack/repos/builtin/packages/py-singledispatch/package.py
+++ b/var/spack/repos/builtin/packages/py-singledispatch/package.py
@@ -11,8 +11,12 @@ class PySingledispatch(PythonPackage):
pypi = "singledispatch/singledispatch-3.4.0.3.tar.gz"
+ version('3.7.0', sha256='c1a4d5c1da310c3fd8fccfb8d4e1cb7df076148fd5d858a819e37fffe44f3092')
version('3.4.0.3', sha256='5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c')
+ depends_on('python@2.6:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@42:', type='build', when='@3.7:')
+ depends_on('py-setuptools-scm@3.4.1: +toml', type='build', when='@3.7:')
depends_on('py-six', type=('build', 'run'))
depends_on('py-ordereddict', when="^python@:2.6", type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-sip/package.py b/var/spack/repos/builtin/packages/py-sip/package.py
index 2a6d79fe48..768f2fb989 100644
--- a/var/spack/repos/builtin/packages/py-sip/package.py
+++ b/var/spack/repos/builtin/packages/py-sip/package.py
@@ -8,16 +8,14 @@ import os
from spack import *
-class PySip(Package):
- """SIP is a tool that makes it very easy to create Python bindings for C
- and C++ libraries."""
+class PySip(PythonPackage):
+ """A Python bindings generator for C/C++ libraries."""
- homepage = "https://www.riverbankcomputing.com/software/sip/intro"
- url = "https://www.riverbankcomputing.com/hg/sip/archive/4.19.21.tar.gz"
- list_url = "https://www.riverbankcomputing.com/hg/sip/archive"
- hg = "https://www.riverbankcomputing.com/hg/sip"
+ homepage = "https://www.riverbankcomputing.com/software/sip"
+ pypi = "sip/sip-6.4.0.tar.gz"
- version('develop', hg=hg) # wasn't actually able to clone this
+ version('6.4.0', sha256='42ec368520b8da4a0987218510b1b520b4981e4405086c1be384733affc2bcb0')
+ version('5.5.0', sha256='5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5')
version('4.19.21', sha256='3bfd58e875a87471c00e008f25a01d8312885aa01efc4f688e5cac861c8676e4')
version('4.19.20', sha256='475f85277a6601c406ade508b6c935b9f2a170c16fd3ae9dd4cdee7a4f7f340d')
version('4.19.19', sha256='348cd6229b095a3090e851555814f5147bffcb601cec891f1038eb6b38c9d856')
@@ -25,47 +23,59 @@ class PySip(Package):
version('4.19.15', sha256='02bff1ac89253e12cdf1406ad39f841d0e264b0d96a7de13dfe9e29740df2053')
version('4.19.13', sha256='92193fcf990503bf29f03e290efc4ee1812d556efc18acf5c8b88c090177a630')
- variant('module', default='sip', description='Name of private SIP module',
+ variant('module', default='sip', when='@:4', description='Name of private SIP module',
values=str, multi=False)
- extends('python')
+ depends_on('python@3.6:', when='@6:', type=('build', 'run'))
+ depends_on('python@3.5.1:', when='@5:', type=('build', 'run'))
+ depends_on('py-packaging', when='@5:', type='build')
+ depends_on('py-setuptools@30.3:', when='@5:', type='build')
+ depends_on('py-toml', when='@5:', type='build')
+ depends_on('flex', when='@:4', type='build')
+ depends_on('bison', when='@:4', type='build')
- depends_on('flex', type='build')
- depends_on('bison', type='build')
-
- # https://www.riverbankcomputing.com/static/Docs/sip/installation.html
+ # needed for @:4
phases = ['configure', 'build', 'install']
+ def url_for_version(self, version):
+ if version < Version('5.0.0'):
+ return "https://www.riverbankcomputing.com/hg/sip/archive/{0}.tar.gz".format(version.dotted)
+ return super(PySip, self).url_for_version(version)
+
@run_before('configure')
def prepare(self):
- if not os.path.exists('configure.py'):
+ if self.spec.satisfies('@:4') and not os.path.exists('configure.py'):
python('build.py', 'prepare')
def configure(self, spec, prefix):
- args = [
- '--sip-module={0}'.format(spec.variants['module'].value),
- '--bindir={0}'.format(prefix.bin),
- '--destdir={0}'.format(site_packages_dir),
- '--incdir={0}'.format(python_include_dir),
- '--sipdir={0}'.format(prefix.share.sip),
- '--stubsdir={0}'.format(site_packages_dir),
- ]
-
- python('configure.py', *args)
-
+ if self.spec.satisfies('@:4'):
+ args = [
+ '--sip-module={0}'.format(spec.variants['module'].value),
+ '--bindir={0}'.format(prefix.bin),
+ '--destdir={0}'.format(site_packages_dir),
+ '--incdir={0}'.format(python_include_dir),
+ '--sipdir={0}'.format(prefix.share.sip),
+ '--stubsdir={0}'.format(site_packages_dir),
+ ]
+
+ python('configure.py', *args)
+
+ @when('@:4')
def build(self, spec, prefix):
make()
+ @when('@:4')
def install(self, spec, prefix):
make('install')
@run_after('install')
def extend_path_setup(self):
- # See github issue #14121 and PR #15297
- module = self.spec.variants['module'].value
- if module != 'sip':
- module = module.split('.')[0]
- with working_dir(site_packages_dir):
- with open(os.path.join(module, '__init__.py'), 'w') as f:
- f.write('from pkgutil import extend_path\n')
- f.write('__path__ = extend_path(__path__, __name__)\n')
+ if self.spec.satisfies('@:4'):
+ # See github issue #14121 and PR #15297
+ module = self.spec.variants['module'].value
+ if module != 'sip':
+ module = module.split('.')[0]
+ with working_dir(site_packages_dir):
+ with open(os.path.join(module, '__init__.py'), 'w') as f:
+ f.write('from pkgutil import extend_path\n')
+ f.write('__path__ = extend_path(__path__, __name__)\n')
diff --git a/var/spack/repos/builtin/packages/py-skl2onnx/package.py b/var/spack/repos/builtin/packages/py-skl2onnx/package.py
new file mode 100644
index 0000000000..591fa9c5ea
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-skl2onnx/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PySkl2onnx(PythonPackage):
+ """Convert scikit-learn models to ONNX"""
+
+ homepage = "https://github.com/onnx/sklearn-onnx"
+ pypi = "skl2onnx/skl2onnx-1.10.3.tar.gz"
+
+ version('1.10.3', sha256='798933378145412b9876ab3ff2c1dd5f241a7296406d786262000afa8d329628')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy@1.15:', type=('build', 'run'))
+ depends_on('py-scipy@1.0:', type=('build', 'run'))
+ depends_on('py-protobuf', type=('build', 'run'))
+ depends_on('py-onnx@1.2.1:', type=('build', 'run'))
+ depends_on('py-scikit-learn@0.19:', type=('build', 'run'))
+ depends_on('py-onnxconverter-common@1.7.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-slepc4py/package.py b/var/spack/repos/builtin/packages/py-slepc4py/package.py
index b86fe451ed..afbbd7fa77 100644
--- a/var/spack/repos/builtin/packages/py-slepc4py/package.py
+++ b/var/spack/repos/builtin/packages/py-slepc4py/package.py
@@ -11,12 +11,13 @@ class PySlepc4py(PythonPackage):
"""
homepage = "https://gitlab.com/slepc/slepc4py"
- url = "https://slepc.upv.es/download/distrib/slepc4py-3.16.0.tar.gz"
+ url = "https://slepc.upv.es/download/distrib/slepc4py-3.16.1.tar.gz"
git = "https://gitlab.com/slepc/slepc.git"
maintainers = ['joseeroman', 'balay']
version('main', branch='main')
+ version('3.16.1', sha256='3ce93de975fa3966794efb09c315b6aff17e412197f99edb66bbfa71fc49093b')
version('3.16.0', sha256='e18850ebccb1e7c59accfbdbe4d004402abbde7f4e1291b0d2c5b560b308fb88')
version('3.15.2', sha256='c87135989c4d95b9c92a5b615a95eddc34b69dad9cc28b27d3cb7dfaec46177b')
version('3.15.1', sha256='bcdab6d2101ae00e189f4b33072805358cee2dda806a6b6a8e3c2f1b9f619dfd')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-argparse/package.py b/var/spack/repos/builtin/packages/py-sphinx-argparse/package.py
new file mode 100644
index 0000000000..a28978a201
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinx-argparse/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PySphinxArgparse(PythonPackage):
+ """Sphinx extension to automatically document argparse-based commands."""
+
+ homepage = "https://pypi.org/project/sphinx-argparse"
+ pypi = "sphinx-argparse/sphinx-argparse-0.3.1.tar.gz"
+
+ maintainers = ['sethrj']
+
+ version('0.3.1', sha256='82151cbd43ccec94a1530155f4ad34f251aaca6a0ffd5516d7fadf952d32dc1e')
+
+ depends_on('python@2.7.0:2.7,3.5:', type=('build', 'run'))
+ depends_on('py-sphinx@1.2.0:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py b/var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py
new file mode 100644
index 0000000000..bbeb14e967
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinx-multiversion/package.py
@@ -0,0 +1,21 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PySphinxMultiversion(PythonPackage):
+ """A Sphinx extension for building self-hosted versioned documentation."""
+
+ homepage = "https://github.com/Holzhaus/sphinx-multiversion"
+ pypi = "sphinx-multiversion/sphinx-multiversion-0.2.4.tar.gz"
+
+ version('0.2.4', sha256='5cd1ca9ecb5eed63cb8d6ce5e9c438ca13af4fa98e7eb6f376be541dd4990bcb')
+ version('0.2.3', sha256='e46565ac2f703f3b55652f33c159c8059865f5d13dae7f0e8403e5afc2996f5f')
+ version('0.2.2', sha256='c0a4f2cbb13eb62b5cd79e2f6901e5d90ea191d3f37e96e1f15b976827de0ac0')
+ version('0.2.1', sha256='0775847454965005a3a8433c1bf38379f723c026de9c4a7ddd447b0349df90c1')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-sphinx', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index bfd0456165..e7aaff2636 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -12,6 +12,7 @@ class PySphinx(PythonPackage):
homepage = "https://www.sphinx-doc.org/en/master/"
pypi = "Sphinx/Sphinx-3.2.0.tar.gz"
+ version('4.3.1', sha256='32a5b3e9a1b176cc25ed048557d4d3d01af635e6b76c5bc7a43b0a34447fbd45')
version('4.1.2', sha256='3092d929cd807926d846018f2ace47ba2f3b671b309c7a89cd3306e80c826b13')
version('4.1.1', sha256='23c846a1841af998cb736218539bb86d16f5eb95f5760b1966abcd2d584e62b8')
version('4.0.2', sha256='b5c2ae4120bf00c799ba9b3699bc895816d272d120080fbc967292f29b52b48c')
@@ -57,8 +58,8 @@ class PySphinx(PythonPackage):
depends_on('py-docutils@0.14:0.17', when='@4:', type=('build', 'run'))
depends_on('py-docutils@0.12:', when='@:3', type=('build', 'run'))
depends_on('py-snowballstemmer@1.1:', type=('build', 'run'))
- depends_on('py-babel@1.3:1,2.1:', type=('build', 'run'))
- depends_on('py-alabaster@0.7.0:0.7', type=('build', 'run'))
+ depends_on('py-babel@1.3:', type=('build', 'run'))
+ depends_on('py-alabaster@0.7', type=('build', 'run'))
depends_on('py-imagesize', when='@1.4:', type=('build', 'run'))
depends_on('py-requests@2.5.0:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
@@ -66,3 +67,4 @@ class PySphinx(PythonPackage):
depends_on('py-packaging', when='@1.7.4:', type=('build', 'run'))
depends_on('py-typing', when='@1.6.1', type=('build', 'run'))
depends_on('py-typing', when='@1.6.2:^python@2.7:3.4', type=('build', 'run'))
+ depends_on('py-colorama@0.3.5:', when='platform=windows', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-stevedore/package.py b/var/spack/repos/builtin/packages/py-stevedore/package.py
index 7900375d4e..feb368d633 100644
--- a/var/spack/repos/builtin/packages/py-stevedore/package.py
+++ b/var/spack/repos/builtin/packages/py-stevedore/package.py
@@ -12,9 +12,14 @@ class PyStevedore(PythonPackage):
homepage = "https://docs.openstack.org/stevedore/latest/"
pypi = "stevedore/stevedore-1.28.0.tar.gz"
+ version('3.5.0', sha256='f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335')
version('1.28.0', sha256='f1c7518e7b160336040fee272174f1f7b29a46febb3632502a8f2055f973d60b')
- depends_on('python@2.6:')
+ depends_on('python@2.6:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@3.5.0:')
- depends_on('py-six@1.10.0:', type=('build', 'run'))
- depends_on('py-pbr@2.0.0:2.1.0', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+
+ depends_on('py-six@1.10.0:', type=('build', 'run'), when='@:3.4')
+ depends_on('py-pbr@2.0.0:2.1.0', type=('build', 'run'), when='@:3.4')
+ depends_on('py-pbr@2.0.0:', type=('build', 'run'), when='@3.5.0:')
diff --git a/var/spack/repos/builtin/packages/py-symengine/package.py b/var/spack/repos/builtin/packages/py-symengine/package.py
index 7b5b4d6eda..0411c455bf 100644
--- a/var/spack/repos/builtin/packages/py-symengine/package.py
+++ b/var/spack/repos/builtin/packages/py-symengine/package.py
@@ -12,16 +12,24 @@ class PySymengine(PythonPackage):
homepage = "https://github.com/symengine/symengine.py"
pypi = "symengine/symengine-0.2.0.tar.gz"
git = "https://github.com/symengine/symengine.py.git"
+ phases = ['install']
- version('develop', branch='master')
+ version('master', branch='master')
+ # pypi source doesn't have necessary files in cmake directory
+ version('0.8.1',
+ url='https://github.com/symengine/symengine.py/archive/refs/tags/v0.8.1.tar.gz',
+ sha256='02fe79e6d5e9b39a1d4e6fee05a2c1d1b10fd032157c7738ed97e32406ffb087')
version('0.2.0', sha256='78a14aea7aad5e7cbfb5cabe141581f9bba30e3c319690e5db8ad99fdf2d8885')
# Build dependencies
- depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.3:', type=('build', 'run'), when='@0.2.0')
+ depends_on('python@3.6:3', type=('build', 'run'), when='@0.8.1:')
depends_on('py-setuptools', type='build')
- depends_on('py-cython@0.19.1:', type='build')
- depends_on('cmake@2.8.7:', type='build')
- depends_on('symengine@0.2.0:')
+ depends_on('py-cython@0.19.1:', type='build', when='@0.2.0')
+ depends_on('py-cython@0.29.24:', type='build', when='@0.8.1:')
+ depends_on('cmake@2.8.12:', type='build')
+ depends_on('symengine@0.2.0', when='@0.2.0')
+ depends_on('symengine@0.8.1', when='@0.8.1')
- def build_args(self, spec, prefix):
+ def install_args(self, spec, prefix):
return ['--symengine-dir={0}'.format(spec['symengine'].prefix)]
diff --git a/var/spack/repos/builtin/packages/py-tensorflow-datasets/package.py b/var/spack/repos/builtin/packages/py-tensorflow-datasets/package.py
new file mode 100644
index 0000000000..5a76e3c433
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-tensorflow-datasets/package.py
@@ -0,0 +1,37 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyTensorflowDatasets(PythonPackage):
+ """tensorflow/datasets is a library of datasets ready to use with
+ TensorFlow."""
+
+ homepage = "https://github.com/tensorflow/datasets"
+ pypi = "tensorflow-datasets/tensorflow-datasets-4.4.0.tar.gz"
+
+ version(
+ "4.4.0",
+ sha256="3e95a61dec1fdb7b05dabc0dbed1b531e13d6c6fd362411423d0a775e5e9b960",
+ )
+
+ depends_on("python@3.6:", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-absl-py", type=("build", "run"))
+ depends_on("py-attrs@18.1.0:", type=("build", "run"))
+ depends_on("py-dill", type=("build", "run"))
+ depends_on("py-future", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
+ depends_on("py-promise", type=("build", "run"))
+ depends_on("py-protobuf@3.12.2:", type=("build", "run"))
+ depends_on("py-requests@2.19.0:", type=("build", "run"))
+ depends_on("py-six", type=("build", "run"))
+ depends_on("py-tensorflow-metadata", type=("build", "run"))
+ depends_on("py-termcolor", type=("build", "run"))
+ depends_on("py-tqdm", type=("build", "run"))
+ depends_on("py-dataclasses", type=("build", "run"), when="python@:3.6")
+ depends_on("py-typing-extensions", type=("build", "run"), when="python@:3.7")
+ depends_on("py-importlib-resources", type=("build", "run"), when="python@:3.8")
diff --git a/var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py b/var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py
new file mode 100644
index 0000000000..e7d489dbdb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-tensorflow-metadata/package.py
@@ -0,0 +1,36 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import tempfile
+
+from spack import *
+
+
+class PyTensorflowMetadata(PythonPackage):
+ """Library and standards for schema and statistics.
+
+ TensorFlow Metadata provides standard representations for metadata that are
+ useful when training machine learning models with TensorFlow."""
+
+ homepage = "https://pypi.org/project/tensorflow-metadata/"
+
+ # Only available as a wheel on PyPI
+ url = "https://github.com/tensorflow/metadata/archive/refs/tags/v1.5.0.tar.gz"
+
+ version(
+ "1.5.0",
+ sha256="f0ec8aaf62fd772ef908efe4ee5ea3bc0d67dcbf10ae118415b7b206a1d61745",
+ )
+
+ depends_on("bazel@0.24.1:", type="build")
+ depends_on("python@3.7:3", type=("build", "run"))
+ depends_on("py-setuptools", type="build")
+ depends_on("py-absl-py@0.9:0.12", type=("build", "run"))
+ depends_on("py-googleapis-common-protos@1.52.0:1", type=("build", "run"))
+ depends_on("py-protobuf@3.13:3", type=("build", "run"))
+
+ def setup_build_environment(self, env):
+ tmp_path = tempfile.mkdtemp(prefix="spack")
+ env.set("TEST_TMPDIR", tmp_path)
diff --git a/var/spack/repos/builtin/packages/py-terminado/package.py b/var/spack/repos/builtin/packages/py-terminado/package.py
index 0e7c5c605b..75b60f68ac 100644
--- a/var/spack/repos/builtin/packages/py-terminado/package.py
+++ b/var/spack/repos/builtin/packages/py-terminado/package.py
@@ -9,6 +9,7 @@ class PyTerminado(PythonPackage):
pypi = "terminado/terminado-0.8.3.tar.gz"
+ version('0.12.1', sha256='b20fd93cc57c1678c799799d117874367cc07a3d2d55be95205b1a88fa08393f')
version('0.8.3', sha256='4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2')
version('0.8.2', sha256='de08e141f83c3a0798b050ecb097ab6259c3f0331b2f7b7750c9075ced2c20c2')
version('0.8.1', sha256='55abf9ade563b8f9be1f34e4233c7b7bde726059947a593322e8a553cc4c067a')
@@ -17,3 +18,5 @@ class PyTerminado(PythonPackage):
depends_on('py-tornado@4:', type=('build', 'run'))
depends_on('py-ptyprocess', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:', when='@0.8.2:', type=('build', 'run'))
+ depends_on('python@3.6:', when='@0.12.1:', type=('build', 'run'))
+ depends_on('py-setuptools@40.8.0:', when='@0.12.1:', type='build')
diff --git a/var/spack/repos/builtin/packages/py-tern/package.py b/var/spack/repos/builtin/packages/py-tern/package.py
new file mode 100644
index 0000000000..68758667a0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-tern/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyTern(PythonPackage):
+ """
+ Tern is a software package inspection tool that can create a Software Bill
+ of Materials (SBoM) for containers.
+ """
+
+ pypi = "tern/tern-2.8.0.tar.gz"
+ git = "https://github.com/tern-tools/tern.git"
+
+ version('main', branch='main')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-wheel', type='build')
+ depends_on('py-pip', type='build')
diff --git a/var/spack/repos/builtin/packages/py-testpath/package.py b/var/spack/repos/builtin/packages/py-testpath/package.py
index f5f8cd4a3a..9766e052ea 100644
--- a/var/spack/repos/builtin/packages/py-testpath/package.py
+++ b/var/spack/repos/builtin/packages/py-testpath/package.py
@@ -13,4 +13,7 @@ class PyTestpath(PythonPackage):
homepage = "https://github.com/jupyter/testpath"
pypi = "testpath/testpath-0.4.2.tar.gz"
+ version('0.5.0', sha256='1acf7a0bcd3004ae8357409fc33751e16d37ccc650921da1094a86581ad1e417')
version('0.4.2', sha256='b694b3d9288dbd81685c5d2e7140b81365d46c29f5db4bc659de5aa6b98780f8')
+
+ depends_on('python@3.5:', type=('build', 'run'), when='@0.5.0:')
diff --git a/var/spack/repos/builtin/packages/py-theano/package.py b/var/spack/repos/builtin/packages/py-theano/package.py
index 5d62a8f136..5fd3b96e04 100644
--- a/var/spack/repos/builtin/packages/py-theano/package.py
+++ b/var/spack/repos/builtin/packages/py-theano/package.py
@@ -15,12 +15,13 @@ class PyTheano(PythonPackage, CudaPackage):
git = "https://github.com/Theano/Theano.git"
version('master', branch='master')
+ version('1.0.5', sha256='6e9439dd53ba995fcae27bf20626074bfc2fff446899dc5c53cb28c1f9202e89')
version('1.0.4', sha256='35c9bbef56b61ffa299265a42a4e8f8cb5a07b2997dabaef0f8830b397086913')
version('1.0.2', sha256='6768e003d328a17011e6fca9126fbb8a6ffd3bb13cb21c450f3e724cca29abde')
version('1.0.1', sha256='88d8aba1fe2b6b75eacf455d01bc7e31e838c5a0fb8c13dde2d9472495ff4662')
version('0.8.2', sha256='7463c8f7ed1a787bf881f36d38a38607150186697e7ce7e78bfb94b7c6af8930')
- depends_on('python@2.6:2.8,3.3:')
+ depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-numpy@1.9.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
index 3f93c470a9..e4fa34ab2f 100644
--- a/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
+++ b/var/spack/repos/builtin/packages/py-threadpoolctl/package.py
@@ -12,6 +12,8 @@ class PyThreadpoolctl(PythonPackage):
homepage = "https://github.com/joblib/threadpoolctl"
pypi = "threadpoolctl/threadpoolctl-2.0.0.tar.gz"
+ version('3.0.0', sha256='d03115321233d0be715f0d3a5ad1d6c065fe425ddc2d671ca8e45e9fd5d7a52a')
version('2.0.0', sha256='48b3e3e9ee079d6b5295c65cbe255b36a3026afc6dde3fb49c085cd0c004bbcf')
depends_on('python@3.5:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@3.0.0:')
diff --git a/var/spack/repos/builtin/packages/py-tifffile/package.py b/var/spack/repos/builtin/packages/py-tifffile/package.py
index fdbfd27233..3ea916d85e 100644
--- a/var/spack/repos/builtin/packages/py-tifffile/package.py
+++ b/var/spack/repos/builtin/packages/py-tifffile/package.py
@@ -9,9 +9,10 @@ from spack import *
class PyTifffile(PythonPackage):
"""Read and write image data from and to TIFF files."""
- homepage = "https://github.com/blink1073/tifffile"
+ homepage = "https://github.com/cgohlke/tifffile"
pypi = "tifffile/tifffile-0.12.1.tar.gz"
+ version('2021.11.2', sha256='153e31fa1d892f482fabb2ae9f2561fa429ee42d01a6f67e58cee13637d9285b')
version('2020.10.1', sha256='799feeccc91965b69e1288c51a1d1118faec7f40b2eb89ad2979591b85324830')
version('0.12.1', sha256='802367effe86b0d1e64cb5c2ed886771f677fa63260b945e51a27acccdc08fa1')
diff --git a/var/spack/repos/builtin/packages/py-tomlkit/package.py b/var/spack/repos/builtin/packages/py-tomlkit/package.py
index 41ea206e34..202240510a 100644
--- a/var/spack/repos/builtin/packages/py-tomlkit/package.py
+++ b/var/spack/repos/builtin/packages/py-tomlkit/package.py
@@ -12,6 +12,7 @@ class PyTomlkit(PythonPackage):
homepage = "https://github.com/sdispater/tomlkit"
pypi = "tomlkit/tomlkit-0.7.0.tar.gz"
+ version('0.7.2', sha256='d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754')
version('0.7.0', sha256='ac57f29693fab3e309ea789252fcce3061e19110085aa31af5446ca749325618')
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-torch/package.py b/var/spack/repos/builtin/packages/py-torch/package.py
index 19805f48a0..72c786934e 100644
--- a/var/spack/repos/builtin/packages/py-torch/package.py
+++ b/var/spack/repos/builtin/packages/py-torch/package.py
@@ -23,6 +23,7 @@ class PyTorch(PythonPackage, CudaPackage):
import_modules = ['torch', 'torch.autograd', 'torch.nn', 'torch.utils']
version('master', branch='master', submodules=True)
+ version('1.10.1', tag='v1.10.1', submodules=True)
version('1.10.0', tag='v1.10.0', submodules=True)
version('1.9.1', tag='v1.9.1', submodules=True)
version('1.9.0', tag='v1.9.0', submodules=True)
@@ -219,6 +220,11 @@ class PyTorch(PythonPackage, CudaPackage):
# to detect openmp settings used by Fujitsu compiler.
patch('detect_omp_of_fujitsu_compiler.patch', when='%fj')
+ # Fix compilation of +distributed~tensorpipe
+ # https://github.com/pytorch/pytorch/issues/68002
+ patch('https://github.com/pytorch/pytorch/commit/c075f0f633fa0136e68f0a455b5b74d7b500865c.patch',
+ sha256='e69e41b5c171bfb00d1b5d4ee55dd5e4c8975483230274af4ab461acd37e40b8', when='@1.10.0+distributed~tensorpipe')
+
# Both build and install run cmake/make/make install
# Only run once to speed up build times
phases = ['install']
diff --git a/var/spack/repos/builtin/packages/py-torchgeo/package.py b/var/spack/repos/builtin/packages/py-torchgeo/package.py
index 931f8d474c..dd8086a118 100644
--- a/var/spack/repos/builtin/packages/py-torchgeo/package.py
+++ b/var/spack/repos/builtin/packages/py-torchgeo/package.py
@@ -14,31 +14,39 @@ class PyTorchgeo(PythonPackage):
"""
homepage = "https://github.com/microsoft/torchgeo"
+ pypi = "torchgeo/torchgeo-0.1.0.tar.gz"
git = "https://github.com/microsoft/torchgeo.git"
maintainers = ['adamjstewart', 'calebrob6']
version('main', branch='main')
+ version('0.1.1', sha256='6e28132f75e9d8cb3a3a0e8b443aba3cde26c8f3140b9426139ee6e8f8058b26')
+ version('0.1.0', sha256='44eb3cf10ab2ac63ff95e92fcd3807096bac3dcb9bdfe15a8edac9d440d2f323')
variant('datasets', default=False, description='Install optional dataset dependencies')
- variant('docs', default=False, description='Install documentation dependencies')
variant('style', default=False, description='Install style checking tools')
variant('tests', default=False, description='Install testing tools')
- variant('train', default=False, description='Install optional trainer dependencies')
# Required dependencies
depends_on('python@3.6:+bz2', type=('build', 'run'))
- depends_on('py-setuptools@30.4:', type='build')
+ depends_on('py-setuptools@42:', type='build')
depends_on('py-einops', type=('build', 'run'))
depends_on('py-fiona@1.5:', type=('build', 'run'))
+ depends_on('py-kornia@0.5.4:', type=('build', 'run'))
depends_on('py-matplotlib', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-omegaconf@2.1:', type=('build', 'run'))
depends_on('pil@2.9:', type=('build', 'run'))
depends_on('py-pyproj@2.2:', type=('build', 'run'))
+ depends_on('py-pytorch-lightning@1.3:', type=('build', 'run'))
depends_on('py-rasterio@1.0.16:', type=('build', 'run'))
depends_on('py-rtree@0.5:', type=('build', 'run'))
+ depends_on('py-scikit-learn@0.18:', type=('build', 'run'))
depends_on('py-shapely@1.3:', type=('build', 'run'))
+ depends_on('py-segmentation-models-pytorch@0.2:', type=('build', 'run'))
+ depends_on('py-timm@0.2.1:', type=('build', 'run'))
depends_on('py-torch@1.7:', type=('build', 'run'))
+ depends_on('py-torchmetrics', type=('build', 'run'))
depends_on('py-torchvision@0.3:', type=('build', 'run'))
# Optional dependencies
@@ -50,28 +58,14 @@ class PyTorchgeo(PythonPackage):
depends_on('py-rarfile@3:', type='run')
depends_on('py-scipy@0.9:', type='run')
- with when('+docs'):
- depends_on('py-ipywidgets@7:', type='run')
- depends_on('py-jupyterlab', type='run')
- depends_on('py-nbmake@0.1:', type='run')
- depends_on('py-nbsphinx@0.8.5:', type='run')
- depends_on('py-sphinx@3:', type='run')
- depends_on('py-pydocstyle@6.1:+toml', type='run')
- depends_on('py-pytorch-sphinx-theme', type='run')
-
with when('+style'):
depends_on('py-black@21:', type='run')
depends_on('py-flake8@3.8:', type='run')
depends_on('py-isort@5.8:+colors', type='run')
+ depends_on('py-pydocstyle@6.1:+toml', type='run')
with when('+tests'):
depends_on('py-mypy@0.900:', type='run')
+ depends_on('py-nbmake@0.1:', type='run')
depends_on('py-pytest@6:', type='run')
depends_on('py-pytest-cov@2.4:', type='run')
-
- with when('+train'):
- depends_on('py-omegaconf@2.1:', type='run')
- depends_on('py-pytorch-lightning@1.3:', type='run')
- depends_on('py-scikit-learn@0.18:', type='run')
- depends_on('py-segmentation-models-pytorch@0.2:', type='run')
- depends_on('py-torchmetrics', type='run')
diff --git a/var/spack/repos/builtin/packages/py-torchvision/package.py b/var/spack/repos/builtin/packages/py-torchvision/package.py
index 0a8a54fd26..442c40266d 100644
--- a/var/spack/repos/builtin/packages/py-torchvision/package.py
+++ b/var/spack/repos/builtin/packages/py-torchvision/package.py
@@ -16,6 +16,7 @@ class PyTorchvision(PythonPackage):
version('main', branch='main')
version('master', branch='main', deprecated=True)
+ version('0.11.2', sha256='55689c57c29f82438a133d0af3315991037be59c8e02471bdcaa31731154a714')
version('0.11.1', sha256='32a06ccf755e4d75006ce03701f207652747a63dbfdf65f0f20a1b6f93a2e834')
version('0.11.0', sha256='8e85acf8f5d39f27e92e610ccb506dac0bf4412bb366a318d2aa5f384cbd4d2c')
version('0.10.1', sha256='4d595cf0214c8adc817f8e3cd0043a027b52b481e05d67b04f4947fcb43d4277')
@@ -51,6 +52,7 @@ class PyTorchvision(PythonPackage):
# https://github.com/pytorch/vision#installation
depends_on('py-torch@master', when='@master', type=('build', 'link', 'run'))
+ depends_on('py-torch@1.10.1', when='@0.11.2', type=('build', 'link', 'run'))
depends_on('py-torch@1.10.0', when='@0.11.0:0.11.1', type=('build', 'link', 'run'))
depends_on('py-torch@1.9.1', when='@0.10.1', type=('build', 'link', 'run'))
depends_on('py-torch@1.9.0', when='@0.10.0', type=('build', 'link', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-traitlets/package.py b/var/spack/repos/builtin/packages/py-traitlets/package.py
index 3fc0241114..5ea86a8ab4 100644
--- a/var/spack/repos/builtin/packages/py-traitlets/package.py
+++ b/var/spack/repos/builtin/packages/py-traitlets/package.py
@@ -11,6 +11,7 @@ class PyTraitlets(PythonPackage):
pypi = "traitlets/traitlets-5.0.4.tar.gz"
+ version('5.1.1', sha256='059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7')
version('5.0.4', sha256='86c9351f94f95de9db8a04ad8e892da299a088a64fd283f9f6f18770ae5eae1b')
version('4.3.3', sha256='d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7')
version('4.3.2', sha256='9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835')
@@ -24,7 +25,7 @@ class PyTraitlets(PythonPackage):
depends_on('python@3.7:', when='@5:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.3:', type=('build', 'run'))
- depends_on('py-ipython-genutils', type=('build', 'run'))
+ depends_on('py-ipython-genutils', when='@:5.0', type=('build', 'run'))
depends_on('py-six', when='@:4', type=('build', 'run'))
depends_on('py-decorator', when='@:4', type=('build', 'run'))
depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-traits/package.py b/var/spack/repos/builtin/packages/py-traits/package.py
index 3fd2871b3e..54c248df07 100644
--- a/var/spack/repos/builtin/packages/py-traits/package.py
+++ b/var/spack/repos/builtin/packages/py-traits/package.py
@@ -10,6 +10,7 @@ class PyTraits(PythonPackage):
homepage = "https://docs.enthought.com/traits"
pypi = "traits/traits-6.0.0.tar.gz"
+ version('6.3.1', sha256='ebdd9b067a262045840a85e3ff34e1567ce4e9b6548c716cdcc82b5884ed9100')
version('6.2.0', sha256='16fa1518b0778fd53bf0547e6a562b1787bf68c8f6b7995a13bd1902529fdb0c')
version('6.0.0', sha256='dbcd70166feca434130a1193284d5819ca72ffbc8dbce8deeecc0cebb41a3bfb')
diff --git a/var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py b/var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py
new file mode 100644
index 0000000000..a351ce817c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-trojanzoo-sphinx-theme/package.py
@@ -0,0 +1,20 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyTrojanzooSphinxTheme(PythonPackage):
+ """TrojanZoo Sphinx Theme"""
+
+ homepage = "https://github.com/ain-soph/trojanzoo_sphinx_theme"
+ pypi = "trojanzoo_sphinx_theme/trojanzoo_sphinx_theme-0.1.0.tar.gz"
+
+ version('0.1.0', sha256='7b80d70ec84279156dcb9668d3a8a135be1d0d54e20f554fc03ad22d9ff5e7b3')
+
+ depends_on('python@3:', type=('build', 'run'))
+ depends_on('py-setuptools@40.9:', type='build')
+ depends_on('py-sphinx@4.2:', type=('build', 'run'))
+ depends_on('py-docutils@0.17.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-tweedledum/package.py b/var/spack/repos/builtin/packages/py-tweedledum/package.py
new file mode 100644
index 0000000000..e6ed41ffbf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-tweedledum/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+class PyTweedledum(PythonPackage):
+ """tweedledum is a library for synthesis, compilation, and
+ optimization of quantum circuits. The library is written to be
+ scalable up to problem sizes in which quantum circuits outperform
+ classical ones. Also, it is meant to be used both independently
+ and alongside established tools."""
+
+ homepage = "https://github.com/boschmitt/tweedledum"
+ pypi = 'tweedledum/tweedledum-1.1.1.tar.gz'
+
+ version('1.1.1', sha256='58d6f7a988b10c31be3faa1faf3e58288ef7e8159584bfa6ded45742f390309f')
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-scikit-build@0.12:', type='build')
+ depends_on('py-cmake@3.18:', type='build')
+ depends_on('py-ninja', type='build')
+ depends_on('py-wheel', type='build')
+ depends_on('eigen@3.3:')
+ depends_on('nlohmann-json@3.9.0:')
diff --git a/var/spack/repos/builtin/packages/py-twisted/package.py b/var/spack/repos/builtin/packages/py-twisted/package.py
index 82354c3456..18dbc1527b 100644
--- a/var/spack/repos/builtin/packages/py-twisted/package.py
+++ b/var/spack/repos/builtin/packages/py-twisted/package.py
@@ -9,11 +9,92 @@ from spack import *
class PyTwisted(PythonPackage):
"""An asynchronous networking framework written in Python"""
homepage = "https://twistedmatrix.com/"
- pypi = "Twisted/Twisted-15.3.0.tar.bz2"
+ pypi = "Twisted/Twisted-21.7.0.tar.gz"
+ version('21.7.0', sha256='2cd652542463277378b0d349f47c62f20d9306e57d1247baabd6d1d38a109006')
version('15.4.0', sha256='78862662fa9ae29654bc2b9d349c3f1d887e6b2ed978512c4442d53ea861f05c')
version('15.3.0', sha256='025729751cf898842262375a40f70ae1d246daea88369eab9f6bb96e528bf285')
+ depends_on('python@3.6.7:', type=('build', 'run'), when='@21.7.0:')
+
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@35.0.2:', type='build', when='@21.7.0:')
+
depends_on('py-zope-interface@3.6.0:', type=('build', 'run'), when='^python@:2')
depends_on('py-zope-interface@4.0.2:', type=('build', 'run'), when='^python@3:')
+ depends_on('py-zope-interface@4.4.2:', type=('build', 'run'), when='@21.7.0:')
+
+ depends_on('py-incremental@21.3.0:', type=('build', 'run'), when='@21.7.0:')
+ depends_on('py-constantly@15.1:', type=('build', 'run'), when='@21.7.0:')
+ depends_on('py-automat@0.8.0:', type=('build', 'run'), when='@21.7.0:')
+ depends_on('py-hyperlink@17.1.1:', type=('build', 'run'), when='@21.7.0:')
+ depends_on('py-attrs@19.2.0:', type=('build', 'run'), when='@21.7.0:')
+ depends_on('py-typing-extensions@3.6.5:', type=('build', 'run'), when='@21.7.0:')
+
+ def url_for_version(self, version):
+ url = "https://pypi.io/packages/source/T/Twisted/"
+
+ if version <= Version('20.3.0'):
+ url += 'Twisted-{0}.tar.bz2'
+ else:
+ url += 'Twisted-{0}.tar.gz'
+
+ url = url.format(version)
+ return url
+
+ @property
+ def import_modules(self):
+ modules = ['twisted',
+ 'twisted.positioning',
+ 'twisted.positioning.test',
+ 'twisted.protocols',
+ 'twisted.protocols.test',
+ 'twisted.protocols.haproxy',
+ 'twisted.protocols.haproxy.test',
+ 'twisted.web',
+ 'twisted.web._auth',
+ 'twisted.web.test',
+ 'twisted.scripts',
+ 'twisted.scripts.test',
+ 'twisted.runner',
+ 'twisted.runner.test',
+ 'twisted.cred',
+ 'twisted.cred.test',
+ 'twisted.plugins',
+ 'twisted.enterprise',
+ 'twisted.logger',
+ 'twisted.logger.test',
+ 'twisted.persisted',
+ 'twisted.persisted.test',
+ 'twisted.names',
+ 'twisted.names.test',
+ 'twisted.pair',
+ 'twisted.pair.test',
+ 'twisted.test',
+ 'twisted.tap',
+ 'twisted.python',
+ 'twisted.python.test',
+ 'twisted.trial',
+ 'twisted.trial._dist',
+ 'twisted.trial._dist.test',
+ 'twisted.trial.test',
+ 'twisted.words',
+ 'twisted.words.protocols',
+ 'twisted.words.protocols.jabber',
+ 'twisted.words.im',
+ 'twisted.words.test',
+ 'twisted.words.xish',
+ 'twisted.spread',
+ 'twisted.spread.test',
+ 'twisted.conch',
+ 'twisted.conch.scripts',
+ 'twisted.conch.ui',
+ 'twisted.conch.client',
+ 'twisted.conch.openssh_compat',
+ 'twisted.conch.test',
+ 'twisted.conch.insults',
+ 'twisted.conch.ssh',
+ 'twisted.internet',
+ 'twisted.internet.test']
+
+ return modules
diff --git a/var/spack/repos/builtin/packages/py-uhi/package.py b/var/spack/repos/builtin/packages/py-uhi/package.py
new file mode 100644
index 0000000000..f79e9ab1e4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-uhi/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyUhi(PythonPackage):
+ """Unified Histogram Interface:
+ tools to help library authors work with histograms"""
+
+ homepage = "https://github.com/Scikit-HEP/uhi"
+ pypi = "uhi/uhi-0.3.0.tar.gz"
+
+ version('0.3.0', sha256='3f441bfa89fae11aa762ae1ef1b1b454362d228e9084477773ffb82d6e9f5d2c')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-numpy@1.13.3:', type=('build', 'run'))
+ depends_on('py-typing-extensions@3.7:', type=('build', 'run'), when='^python@:3.7')
+ depends_on('py-setuptools', type='build')
+ # depends_on('py-poetry-core@1:', type='build') -- WIP
diff --git a/var/spack/repos/builtin/packages/py-uproot/package.py b/var/spack/repos/builtin/packages/py-uproot/package.py
index 06cccf211a..33bca1742e 100644
--- a/var/spack/repos/builtin/packages/py-uproot/package.py
+++ b/var/spack/repos/builtin/packages/py-uproot/package.py
@@ -23,6 +23,7 @@ class PyUproot(PythonPackage):
tags = ['hep']
+ version('4.1.8', sha256='09c46edc864520af50d018055e3d3577a4c6c37489484a664edfa4f1496b6755')
version('4.0.11', sha256='5c8f62c7eeaa50e1315e05469580130d0bcc50a6cb4456825777f73cfaf5938a')
version('4.0.10', sha256='b7f9786d87227fcdc6b84305a6219cd615844f934e3b7c2509e2d4ed095950ab')
version('4.0.9', sha256='345c20dd4e1921e3493200bf9ed4079909fb1277d02faf3136e19f4b90f8aa86')
@@ -42,6 +43,7 @@ class PyUproot(PythonPackage):
depends_on('python@2.6:2,3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@42:', type='build', when='@4.1.8:')
depends_on('py-numpy', type=('build', 'run'))
depends_on('xrootd', when="+xrootd")
diff --git a/var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py b/var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py
new file mode 100644
index 0000000000..747060c868
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-vector-quantize-pytorch/package.py
@@ -0,0 +1,22 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyVectorQuantizePytorch(PythonPackage):
+ """A vector quantization library originally transcribed
+ from Deepmind's tensorflow implementation, made
+ conveniently into a package. It uses exponential moving
+ averages to update the dictionary."""
+
+ homepage = "https://github.com/lucidrains/vector-quantize-pytorch"
+ pypi = "vector_quantize_pytorch/vector_quantize_pytorch-0.3.9.tar.gz"
+
+ version('0.3.9', sha256='783ca76251299f0e3eb244062bc05c4416bb29157e57077e4a8969c5277f05ee')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-einops', type=('build', 'run'))
+ depends_on('py-torch', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-vector/package.py b/var/spack/repos/builtin/packages/py-vector/package.py
new file mode 100644
index 0000000000..910d100a09
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-vector/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyVector(PythonPackage):
+ """Vector classes and utilities"""
+
+ homepage = "https://github.com/scikit-hep/vector"
+ pypi = "vector/vector-0.8.4.tar.gz"
+
+ version('0.8.4', sha256='ef97bfec0263766edbb74c290401f89921f8d11ae9e4a0ffd904ae40674f1239')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-setuptools-scm@3.4: +toml', type='build')
+ depends_on('py-wheel', type='build')
+ depends_on('py-numpy@1.13.3:', type=('build', 'run'))
+ depends_on('py-packaging@19.0:', type=('build', 'run'))
+ depends_on('py-importlib-metadata@0.22:', type=('build', 'run'), when='^python@:3.7')
+ depends_on('py-typing-extensions', type=('build', 'run'), when='^python@:3.7')
diff --git a/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py b/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
index 422c6489c8..ee87a76d6f 100644
--- a/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenv-clone/package.py
@@ -12,8 +12,10 @@ class PyVirtualenvClone(PythonPackage):
homepage = "https://github.com/edwardgeorge/virtualenv-clone"
pypi = "virtualenv-clone/virtualenv-clone-0.2.6.tar.gz"
+ version('0.5.7', sha256='418ee935c36152f8f153c79824bb93eaf6f0f7984bae31d3f48f350b9183501a')
version('0.2.6', sha256='6b3be5cab59e455f08c9eda573d23006b7d6fb41fae974ddaa2b275c93cc4405')
- depends_on('python@2.6:')
+ depends_on('python@2.6:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.4:', type=('build', 'run'), when='@0.5.7:')
# not just build-time, requires pkg_resources
depends_on('py-setuptools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-virtualenv/package.py b/var/spack/repos/builtin/packages/py-virtualenv/package.py
index 6098c804fe..82b500fb75 100644
--- a/var/spack/repos/builtin/packages/py-virtualenv/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenv/package.py
@@ -12,6 +12,7 @@ class PyVirtualenv(PythonPackage):
homepage = "https://virtualenv.pypa.io/"
pypi = "virtualenv/virtualenv-16.7.6.tar.gz"
+ version('20.10.0', sha256='576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218')
version('16.7.6', sha256='5d370508bf32e522d79096e8cbea3499d47e624ac7e11e9089f9397a0b3318df')
version('16.4.1', sha256='5a3ecdfbde67a4a3b3111301c4d64a5b71cf862c8c42958d30cf3253df1f29dd')
version('16.0.0', sha256='ca07b4c0b54e14a91af9f34d0919790b016923d157afda5efdde55c96718f752')
@@ -21,6 +22,18 @@ class PyVirtualenv(PythonPackage):
version('1.11.6', sha256='3e7a4c151e2ee97f51db0215bfd2a073b04a91e9786df6cb67c916f16abe04f7')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@20.10.0:')
# not just build-time, requires pkg_resources
depends_on('py-setuptools@40.6.3:', type=('build', 'run'))
+ depends_on('py-setuptools@41.00.03:', type=('build', 'run'), when='@20.10.0:')
+ depends_on('py-setuptools-scm@2:', type=('build', 'run'), when='@20.10.0:')
+
+ depends_on('py-backports-entry-points-selectable @1.0.4:', type=('build', 'run'), when='@20.10.0:')
+ depends_on('py-distlib@0.3.1:0', type=('build', 'run'), when='@20.10.0:')
+ depends_on('py-filelock@3.2:3', type=('build', 'run'), when='@20.10.0:')
+ depends_on('py-platformdirs@2:2', type=('build', 'run'), when='@20.10.0:')
+ depends_on('py-six@1.9.0:1', type=('build', 'run'), when='@20.10.0:')
+ depends_on('py-importlib-metadata@0.12:', type=('build', 'run'), when='@20.10.0: ^python@:3.7')
+ depends_on('py-importlib-resources@1:', type=('build', 'run'), when='@20.10.0: ^python@:3.6')
+ depends_on('py-pathlib2', type=('build', 'run'), when='@20.10.0: ^python@:3.3')
diff --git a/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py b/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
index 61aab2c210..8687fe4375 100644
--- a/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
+++ b/var/spack/repos/builtin/packages/py-virtualenvwrapper/package.py
@@ -16,9 +16,11 @@ class PyVirtualenvwrapper(PythonPackage):
homepage = "https://bitbucket.org/virtualenvwrapper/virtualenvwrapper.git"
pypi = "virtualenvwrapper/virtualenvwrapper-4.8.2.tar.gz"
+ version('4.8.4', sha256='51a1a934e7ed0ff221bdd91bf9d3b604d875afbb3aa2367133503fee168f5bfa')
version('4.8.2', sha256='18d8e4c500c4c4ee794f704e050cf2bbb492537532a4521d1047e7dd1ee4e374')
depends_on('python@2.6:')
+ depends_on('py-pbr', type='build', when='@4.8.4:')
depends_on('py-virtualenv', type=('build', 'run'))
depends_on('py-virtualenv-clone', type=('build', 'run'))
depends_on('py-stevedore', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-warpx/package.py b/var/spack/repos/builtin/packages/py-warpx/package.py
index ba740442c0..e9ef28304d 100644
--- a/var/spack/repos/builtin/packages/py-warpx/package.py
+++ b/var/spack/repos/builtin/packages/py-warpx/package.py
@@ -18,7 +18,7 @@ class PyWarpx(PythonPackage):
"""
homepage = "https://ecp-warpx.github.io"
- url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/21.04.tar.gz"
+ url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/21.12.tar.gz"
git = "https://github.com/ECP-WarpX/WarpX.git"
maintainers = ['ax3l', 'dpgrote', 'RemiLehe']
@@ -27,6 +27,7 @@ class PyWarpx(PythonPackage):
# NOTE: if you update the versions here, also see warpx
version('develop', branch='development')
+ version('21.12', sha256='847c98aac20c73d94c823378803c82be9a14139f1c14ea483757229b452ce4c1')
version('21.11', sha256='ce60377771c732033a77351cd3500b24b5d14b54a5adc7a622767b9251c10d0b')
version('21.10', sha256='d372c573f0360094d5982d64eceeb0149d6620eb75e8fdbfdc6777f3328fb454')
version('21.09', sha256='861a65f11846541c803564db133c8678b9e8779e69902ef1637b21399d257eab')
@@ -39,18 +40,20 @@ class PyWarpx(PythonPackage):
variant('mpi', default=True,
description='Enable MPI support')
- for v in ['21.11', '21.10', '21.09', '21.08', '21.07', '21.06', '21.05',
- '21.04', 'develop']:
+ for v in ['21.12', '21.11', '21.10', '21.09', '21.08', '21.07', '21.06',
+ '21.05', '21.04', 'develop']:
depends_on('warpx@{0}'.format(v),
when='@{0}'.format(v),
type=['build', 'link'])
- depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('python@3.6:3.9', type=('build', 'run'))
depends_on('py-numpy@1.15.0:1', type=('build', 'run'))
- depends_on('py-mpi4py@2.0.0:', type=('build', 'run'), when='+mpi')
+ depends_on('py-mpi4py@2.1.0:', type=('build', 'run'), when='+mpi')
depends_on('py-periodictable@1.5:1', type=('build', 'run'))
- depends_on('py-picmistandard@0.0.14', type=('build', 'run'))
- depends_on('py-setuptools@38.6:', type='build')
+ depends_on('py-picmistandard@0.0.14', type=('build', 'run'), when='@21.03:21.11')
+ depends_on('py-picmistandard@0.0.16', type=('build', 'run'), when='@21.12')
+ depends_on('py-setuptools@42:', type='build')
+ depends_on('py-cmake@3.15:3', type='build')
depends_on('py-wheel', type='build')
depends_on('warpx +lib ~mpi +shared', type=('build', 'link'), when='~mpi')
depends_on('warpx +lib +mpi +shared', type=('build', 'link'), when='+mpi')
diff --git a/var/spack/repos/builtin/packages/py-wcwidth/package.py b/var/spack/repos/builtin/packages/py-wcwidth/package.py
index 67c05b27c4..56688f1835 100644
--- a/var/spack/repos/builtin/packages/py-wcwidth/package.py
+++ b/var/spack/repos/builtin/packages/py-wcwidth/package.py
@@ -11,6 +11,8 @@ class PyWcwidth(PythonPackage):
pypi = "wcwidth/wcwidth-0.1.7.tar.gz"
+ version('0.2.5', sha256='c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83')
version('0.1.7', sha256='3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e')
depends_on('py-setuptools', type='build')
+ depends_on('py-backports-functools-lru-cache@1.2.1:', when='@0.2.5: ^python@:3.1')
diff --git a/var/spack/repos/builtin/packages/py-websocket-client/package.py b/var/spack/repos/builtin/packages/py-websocket-client/package.py
index 3cdef8b4e9..6c26c7b4b0 100644
--- a/var/spack/repos/builtin/packages/py-websocket-client/package.py
+++ b/var/spack/repos/builtin/packages/py-websocket-client/package.py
@@ -8,14 +8,19 @@ class PyWebsocketClient(PythonPackage):
"""WebSocket client for Python. hybi13 is supported."""
homepage = "https://github.com/websocket-client/websocket-client.git"
- pypi = "websocket_client/websocket_client-0.57.0.tar.gz"
+ pypi = "websocket-client/websocket-client-0.57.0.tar.gz"
- version('0.57.0', sha256='d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010')
- version('0.56.0', sha256='1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a')
- version('0.48.0', sha256='18f1170e6a1b5463986739d9fd45c4308b0d025c1b2f9b88788d8f69e8a5eb4a')
+ version('1.2.1', sha256='8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d')
+ version('0.57.0', sha256='d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010',
+ url='https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.57.0.tar.gz')
+ version('0.56.0', sha256='1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a',
+ url='https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.56.0.tar.gz')
+ version('0.48.0', sha256='18f1170e6a1b5463986739d9fd45c4308b0d025c1b2f9b88788d8f69e8a5eb4a',
+ url='https://files.pythonhosted.org/packages/source/w/websocket_client/websocket_client-0.48.0.tar.gz')
depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
+ depends_on('python@3.6:', type=('build', 'run'), when='@1.2.1:')
depends_on('py-setuptools', type='build')
- depends_on('py-six', type=('build', 'run'))
+ depends_on('py-six', type=('build', 'run'), when='@:1.2.0')
depends_on('py-backports-ssl-match-hostname', when='^python@2.6:2.7.9', type=('build', 'run'))
depends_on('py-argparse', when='^python@:2.6', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-werkzeug/package.py b/var/spack/repos/builtin/packages/py-werkzeug/package.py
index 8d4f3c0e84..8d54551bc9 100644
--- a/var/spack/repos/builtin/packages/py-werkzeug/package.py
+++ b/var/spack/repos/builtin/packages/py-werkzeug/package.py
@@ -12,6 +12,7 @@ class PyWerkzeug(PythonPackage):
homepage = "http://werkzeug.pocoo.org"
pypi = "Werkzeug/Werkzeug-0.16.0.tar.gz"
+ version('2.0.2', sha256='aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a')
version('0.16.0', sha256='7280924747b5733b246fe23972186c6b348f9ae29724135a6dfc1e53cea433e7')
version('0.15.6', sha256='0a24d43be6a7dce81bae05292356176d6c46d63e42a0dd3f9504b210a9cfaa43')
version('0.15.5', sha256='a13b74dd3c45f758d4ebdb224be8f1ab8ef58b3c0ffc1783a8c7d9f4f50227e6')
@@ -23,5 +24,7 @@ class PyWerkzeug(PythonPackage):
version('0.11.15', sha256='455d7798ac263266dbd38d4841f7534dd35ca9c3da4a8df303f8488f38f3bcc0')
version('0.11.11', sha256='e72c46bc14405cba7a26bd2ce28df734471bc9016bc8b4cb69466c2c14c2f7e5')
+ depends_on('python@3.6:', when='@2:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-dataclasses', when='@2: ^python@:3.6', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-wheel/package.py b/var/spack/repos/builtin/packages/py-wheel/package.py
index a5737d5b92..f90ac695c0 100644
--- a/var/spack/repos/builtin/packages/py-wheel/package.py
+++ b/var/spack/repos/builtin/packages/py-wheel/package.py
@@ -12,6 +12,7 @@ class PyWheel(PythonPackage):
homepage = "https://github.com/pypa/wheel"
pypi = "wheel/wheel-0.34.2.tar.gz"
+ version('0.37.0', sha256='e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad')
version('0.36.2', sha256='e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e')
version('0.35.1', sha256='99a22d87add3f634ff917310a3d87e499f19e663413a52eb9232c447aa646c9f')
version('0.34.2', sha256='8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96')
diff --git a/var/spack/repos/builtin/packages/py-wrapt/package.py b/var/spack/repos/builtin/packages/py-wrapt/package.py
index 6d2aec630e..48f085ed08 100644
--- a/var/spack/repos/builtin/packages/py-wrapt/package.py
+++ b/var/spack/repos/builtin/packages/py-wrapt/package.py
@@ -12,7 +12,12 @@ class PyWrapt(PythonPackage):
homepage = "https://github.com/GrahamDumpleton/wrapt"
pypi = "wrapt/wrapt-1.11.2.tar.gz"
+ version('1.13.3', sha256='1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185')
version('1.12.1', sha256='b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7')
- version('1.11.2', sha256='565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1')
- version('1.11.1', sha256='4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533')
+ version('1.11.2', sha256='565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1')
+ version('1.11.1', sha256='4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533')
version('1.10.10', sha256='42160c91b77f1bc64a955890038e02f2f72986c01d462d53cb6cb039b995cdd9')
+
+ depends_on('python@2.7:2,3.5:', when='@1.13.1:', type=('build', 'run'))
+ depends_on('python@2.7:2,3.3:', when='@1.13:', type=('build', 'run'))
+ depends_on('py-setuptools@38.3:', when='@1.13:', type='build')
diff --git a/var/spack/repos/builtin/packages/py-wurlitzer/package.py b/var/spack/repos/builtin/packages/py-wurlitzer/package.py
new file mode 100644
index 0000000000..6924ce16b0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-wurlitzer/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyWurlitzer(PythonPackage):
+ """Capture C-level stdout/stderr pipes in Python via os.dup2."""
+
+ pypi = 'wurlitzer/wurlitzer-3.0.2.tar.gz'
+
+ maintainers = ['sethrj']
+
+ version('3.0.2', sha256='36051ac530ddb461a86b6227c4b09d95f30a1d1043de2b4a592e97ae8a84fcdf')
+
+ depends_on('python+ctypes@3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ # In some circumstances (unclear exactly what) Wurlitzer is unable to get
+ # stdout/stderr pointers from ctypes, so it falls back to trying to use
+ # cffi. If you encounter this, please add the dependency below.
+ # depends_on('py-cffi', type='run', when='...????')
diff --git a/var/spack/repos/builtin/packages/py-xrootdpyfs/package.py b/var/spack/repos/builtin/packages/py-xrootdpyfs/package.py
new file mode 100644
index 0000000000..1b9a635469
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-xrootdpyfs/package.py
@@ -0,0 +1,19 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyXrootdpyfs(PythonPackage):
+ """XRootDPyFS is a PyFilesystem interface to XRootD."""
+
+ homepage = "http://github.com/inveniosoftware/xrootdpyfs/"
+ pypi = "xrootdpyfs/xrootdpyfs-0.2.2.tar.gz"
+
+ version('0.2.2', sha256='43698c260f3ec52320c6bfac8dd3e7c2be7d28e9e9f58edf4f916578114e82bf')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-fs@0.5.4:1', type=('build', 'run'))
+ depends_on('xrootd@4.8.4:4 +python', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-yarl/package.py b/var/spack/repos/builtin/packages/py-yarl/package.py
index ccd33ef75a..6208fbf766 100644
--- a/var/spack/repos/builtin/packages/py-yarl/package.py
+++ b/var/spack/repos/builtin/packages/py-yarl/package.py
@@ -10,19 +10,27 @@ class PyYarl(PythonPackage):
homepage = "https://github.com/aio-libs/yarl"
url = "https://github.com/aio-libs/yarl/archive/v1.4.2.tar.gz"
+ version('1.7.2', sha256='19b94c68e8eda5731f87d79e3c34967a11e69695965113c4724d2491f76ad461')
version('1.4.2', sha256='a400eb3f54f7596eeaba8100a8fa3d72135195423c52808dc54a43c6b100b192')
depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools@40:', type='build', when='@1.7.2:')
depends_on('py-cython', type='build')
depends_on('py-multidict@4.0:', type=('build', 'run'))
depends_on('py-idna@2.0:', type=('build', 'run'))
+ depends_on('py-typing-extensions@3.7.4:', type=('build', 'run'), when='@1.7.2: ^python@:3.7')
@run_before('build')
def fix_cython(self):
+ if self.spec.satisfies('@1.7.2:'):
+ pyxfile = 'yarl/_quoting_c'
+ else:
+ pyxfile = 'yarl/_quoting'
+
cython = self.spec['py-cython'].command
cython('-3',
'-o',
- 'yarl/_quoting.c',
- 'yarl/_quoting.pyx',
+ pyxfile + '.c',
+ pyxfile + '.pyx',
'-Iyarl')
diff --git a/var/spack/repos/builtin/packages/py-yq/package.py b/var/spack/repos/builtin/packages/py-yq/package.py
new file mode 100644
index 0000000000..08b6068e79
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-yq/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyYq(PythonPackage):
+ """yq takes YAML input, converts it to JSON, and pipes it to jq"""
+
+ homepage = "https://github.com/kislyuk/yq"
+ pypi = "yq/yq-2.12.2.tar.gz"
+
+ maintainers = ['qwertos']
+
+ version('2.12.2', sha256='2f156d0724b61487ac8752ed4eaa702a5737b804d5afa46fa55866951cd106d2')
+
+ depends_on('py-setuptools', type=('build', 'run'))
+ depends_on('py-toml@0.10.0:', type=('build', 'run'))
+ depends_on('py-pyyaml@3.11:', type=('build', 'run'))
+ depends_on('py-argcomplete@1.8.1:', type=('build', 'run'))
+ depends_on('py-xmltodict@0.11.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py
new file mode 100644
index 0000000000..19f90a2aa8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-ytopt-autotune/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class PyYtoptAutotune(PythonPackage):
+ """Common interface for autotuning search space and method definition."""
+
+ maintainers = ['Kerilk', 'liuyangzhuan']
+
+ homepage = "https://github.com/ytopt-team/autotune"
+ url = "https://github.com/ytopt-team/autotune/archive/refs/tags/v1.1.0.tar.gz"
+ git = "https://github.com/ytopt-team/autotune.git"
+
+ version('master', branch='master')
+ version('1.1.0', sha256='5ee7fa6a1c83131c5ceba1537b25f00de84182e4d0e6ebd0fd6efa4e8aee1bc4')
+
+ patch('version.patch', when='@1.1.0')
+
+ depends_on('python@3:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-ytopt-autotune/version.patch b/var/spack/repos/builtin/packages/py-ytopt-autotune/version.patch
new file mode 100644
index 0000000000..2e00b9b245
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-ytopt-autotune/version.patch
@@ -0,0 +1,10 @@
+diff --git a/autotune/__init__.py b/autotune/__init__.py
+index 5636cf1..6c9488d 100644
+--- a/autotune/__init__.py
++++ b/autotune/__init__.py
+@@ -1,4 +1,4 @@
+-from autotune.__version__ import __version__, __version_suffix__
++from autotune.__version__ import __version__
+ name = 'autotune'
+ version = __version__
+
diff --git a/var/spack/repos/builtin/packages/py-ytopt/package.py b/var/spack/repos/builtin/packages/py-ytopt/package.py
index f5e33b8f18..85d260d35e 100644
--- a/var/spack/repos/builtin/packages/py-ytopt/package.py
+++ b/var/spack/repos/builtin/packages/py-ytopt/package.py
@@ -10,14 +10,22 @@ class PyYtopt(PythonPackage):
"""Ytopt package implements search using Random Forest (SuRF), an autotuning
search method developed within Y-Tune ECP project."""
- homepage = "https://xgitlab.cels.anl.gov/pbalapra/ytopt"
- url = "https://xgitlab.cels.anl.gov/pbalapra/ytopt/raw/release/dist/ytopt-0.1.0.tar.gz"
+ maintainers = ['Kerilk']
- version('0.1.0', sha256='c7081fe3585a5b7a25bcb84733cd2326b72de3bfc4f84d6ad110341f24c3e612')
+ homepage = "https://github.com/ytopt-team/ytopt"
+ url = "https://github.com/ytopt-team/ytopt/archive/refs/tags/v0.0.1.tar.gz"
- depends_on('py-scikit-learn', type=('build', 'run'))
- depends_on('py-scikit-optimize', type=('build', 'run'))
+ version('0.0.2', sha256='5a624aa678b976ff6ef867610bafcb0dfd5c8af0d880138ca5d56d3f776e6d71')
+ version('0.0.1', sha256='3ca616922c8e76e73f695a5ddea5dd91b0103eada726185f008343cc5cbd7744')
- def build_args(self, spec, prefix):
- args = []
- return args
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-scikit-learn@0.23.1', type=('build', 'run'))
+ depends_on('py-dh-scikit-optimize', type=('build', 'run'))
+ depends_on('py-configspace', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-ytopt-autotune@1.1:', type=('build', 'run'))
+ depends_on('py-joblib', type=('build', 'run'))
+ depends_on('py-deap', type=('build', 'run'))
+ depends_on('py-tqdm', type=('build', 'run'))
+ depends_on('py-ray', type=('build', 'run'))
+ depends_on('py-mpi4py@3.0.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-zope-event/package.py b/var/spack/repos/builtin/packages/py-zope-event/package.py
index 405c2cf2d0..36dbd7bf85 100644
--- a/var/spack/repos/builtin/packages/py-zope-event/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-event/package.py
@@ -12,6 +12,7 @@ class PyZopeEvent(PythonPackage):
homepage = "https://github.com/zopefoundation/zope.event"
pypi = "zope.event/zope.event-4.3.0.tar.gz"
+ version('4.5.0', sha256='5e76517f5b9b119acf37ca8819781db6c16ea433f7e2062c4afc2b6fbedb1330')
version('4.3.0', sha256='e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7')
- depends_on('py-setuptools', type='build')
+ depends_on('py-setuptools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-zope-interface/package.py b/var/spack/repos/builtin/packages/py-zope-interface/package.py
index b46605ee62..8e20f5f006 100644
--- a/var/spack/repos/builtin/packages/py-zope-interface/package.py
+++ b/var/spack/repos/builtin/packages/py-zope-interface/package.py
@@ -15,6 +15,7 @@ class PyZopeInterface(PythonPackage):
homepage = "https://github.com/zopefoundation/zope.interface"
pypi = "zope.interface/zope.interface-4.5.0.tar.gz"
+ version('5.4.0', sha256='5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e')
version('5.1.0', sha256='40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e')
version('4.5.0', sha256='57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c')
diff --git a/var/spack/repos/builtin/packages/pygmo/package.py b/var/spack/repos/builtin/packages/pygmo/package.py
new file mode 100644
index 0000000000..80c5abe893
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pygmo/package.py
@@ -0,0 +1,35 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Pygmo(CMakePackage):
+ """Parallel Global Multiobjective Optimizer (and its Python alter ego
+ PyGMO) is a C++ / Python platform to perform parallel computations of
+ optimisation tasks (global and local) via the asynchronous generalized
+ island model."""
+
+ homepage = "https://esa.github.io/pygmo2/"
+ url = "https://github.com/esa/pygmo2/archive/v2.18.0.tar.gz"
+ git = "https://github.com/esa/pygmo2.git"
+
+ version('master', branch='master')
+ version('2.18.0', sha256='9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125')
+
+ depends_on('pagmo2', type=('build', 'link'))
+ depends_on('mpi', type='build')
+ depends_on('py-pybind11@2.6.0:2.6.2', type='build')
+ depends_on('cmake@3.1:', type='build')
+
+ variant('shared', default=True, description='Build shared libraries')
+
+ def cmake_args(self):
+
+ args = [
+ self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
+ ]
+
+ return args
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index 01d0d9a065..141d5c703a 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -27,14 +27,19 @@ class Python(AutotoolsPackage):
maintainers = ['adamjstewart', 'skosukhin']
+ version('3.10.1', sha256='b76117670e7c5064344b9c138e141a377e686b9063f3a8a620ff674fa8ec90d3')
+ version('3.10.0', sha256='c4e0cbad57c90690cb813fb4663ef670b4d0f587d8171e2c42bd4c9245bd2758')
+ version('3.9.9', sha256='2cc7b67c1f3f66c571acc42479cdf691d8ed6b47bee12c9b68430413a17a44ea', preferred=True)
+ version('3.9.8', sha256='7447fb8bb270942d620dd24faa7814b1383b61fa99029a240025fd81c1db8283')
version('3.9.7', sha256='a838d3f9360d157040142b715db34f0218e535333696a5569dc6f854604eb9d1')
version('3.9.6', sha256='d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866')
version('3.9.5', sha256='e0fbd5b6e1ee242524430dee3c91baf4cbbaba4a72dd1674b90fda87b713c7ab')
version('3.9.4', sha256='66c4de16daa74a825cf9da9ddae1fe020b72c3854b73b1762011cc33f9e4592f')
+ version('3.9.3', sha256='3afeb61a45b5a2e6f1c0f621bd8cf925a4ff406099fdb3d8c97b993a5f43d048')
version('3.9.2', sha256='7899e8a6f7946748830d66739f2d8f2b30214dad956e56b9ba216b3de5581519')
version('3.9.1', sha256='29cb91ba038346da0bd9ab84a0a55a845d872c341a4da6879f462e94c741f117')
version('3.9.0', sha256='df796b2dc8ef085edae2597a41c1c0a63625ebd92487adaef2fed22b567873e8')
- version('3.8.12', sha256='316aa33f3b7707d041e73f246efedb297a70898c4b91f127f66dc8d80c596f1a', preferred=True)
+ version('3.8.12', sha256='316aa33f3b7707d041e73f246efedb297a70898c4b91f127f66dc8d80c596f1a')
version('3.8.11', sha256='b77464ea80cec14581b86aeb7fb2ff02830e0abc7bcdc752b7b4bdfcd8f3e393')
version('3.8.10', sha256='b37ac74d2cbad2590e7cd0dd2b3826c29afe89a734090a87bf8c03c45066cb65')
version('3.8.9', sha256='9779ec1df000bf86914cdd40860b88da56c1e61db59d37784beca14a259ac9e9')
@@ -205,7 +210,8 @@ class Python(AutotoolsPackage):
patch('tkinter.patch', when='@:2.8,3.3:3.7 platform=darwin')
# Patch the setup script to deny that tcl/x11 exists rather than allowing
# autodetection of (possibly broken) system components
- patch('tkinter-3.8.patch', when='@3.8: ~tkinter')
+ patch('tkinter-3.8.patch', when='@3.8:3.9 ~tkinter')
+ patch('tkinter-3.10.patch', when='@3.10: ~tkinter')
# Ensure that distutils chooses correct compiler option for RPATH on cray:
patch('cray-rpath-2.3.patch', when='@2.3:3.0.1 platform=cray')
diff --git a/var/spack/repos/builtin/packages/python/tkinter-3.10.patch b/var/spack/repos/builtin/packages/python/tkinter-3.10.patch
new file mode 100644
index 0000000000..e06be826b2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/python/tkinter-3.10.patch
@@ -0,0 +1,11 @@
+--- a/setup.py 2021-12-06 12:23:39.000000000 -0600
++++ b/setup.py 2021-12-14 10:30:33.000000000 -0600
+@@ -2099,6 +2099,8 @@
+ #
+ # Detection stops at the first successful method.
+
++ return False
++
+ # Check for Tcl and Tk at the locations indicated by _TCLTK_INCLUDES
+ # and _TCLTK_LIBS environment variables.
+ if self.detect_tkinter_fromenv():
diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py
index a7124fe946..4445c43f95 100644
--- a/var/spack/repos/builtin/packages/qmcpack/package.py
+++ b/var/spack/repos/builtin/packages/qmcpack/package.py
@@ -15,7 +15,7 @@ class Qmcpack(CMakePackage, CudaPackage):
# Package information
homepage = "https://www.qmcpack.org/"
git = "https://github.com/QMCPACK/qmcpack.git"
- maintainers = ['naromero77']
+ maintainers = ['ye-luo']
tags = ['ecp', 'ecp-apps']
# This download method is untrusted, and is not recommended by the
@@ -97,6 +97,12 @@ class Qmcpack(CMakePackage, CudaPackage):
conflicts('^openblas+ilp64',
msg='QMCPACK does not support OpenBLAS 64-bit integer variant')
+ conflicts('^openblas threads=none',
+ msg='QMCPACK does not support OpenBLAS without threading')
+
+ conflicts('^openblas threads=pthreads',
+ msg='QMCPACK does not support OpenBLAS with pthreads')
+
conflicts('cuda_arch=none',
when='+cuda',
msg='A value for cuda_arch must be specified. Add cuda_arch=XX')
@@ -210,6 +216,13 @@ class Qmcpack(CMakePackage, CudaPackage):
return targets
+ # QMCPACK prefers taking MPI compiler wrappers as CMake compilers.
+ def setup_build_environment(self, env):
+ spec = self.spec
+ if '+mpi' in spec:
+ env.set('CC', spec['mpi'].mpicc)
+ env.set('CXX', spec['mpi'].mpicxx)
+
def cmake_args(self):
spec = self.spec
args = []
@@ -347,20 +360,11 @@ class Qmcpack(CMakePackage, CudaPackage):
return args
- # QMCPACK needs custom install method for a couple of reasons:
- # Firstly, wee follow the recommendation on the Spack website
- # for defining the compilers variables to be the MPI compiler wrappers.
- # https://spack.readthedocs.io/en/latest/packaging_guide.html#compiler-wrappers
- #
+ # QMCPACK needs custom install method for the following reason:
# Note that 3.6.0 release and later has a functioning 'make install',
# but still does not install nexus, manual, etc. So, there is no compelling
# reason to use QMCPACK's built-in version at this time.
def install(self, spec, prefix):
- if '+mpi' in spec:
- env['CC'] = spec['mpi'].mpicc
- env['CXX'] = spec['mpi'].mpicxx
- env['F77'] = spec['mpi'].mpif77
- env['FC'] = spec['mpi'].mpifc
# create top-level directory
mkdirp(prefix)
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 2b96ddde3d..0073b1db56 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import itertools
import os
+import platform
import sys
import llnl.util.tty as tty
@@ -12,6 +13,7 @@ from spack import *
from spack.operating_systems.mac_os import macos_version
MACOS_VERSION = macos_version() if sys.platform == 'darwin' else None
+LINUX_VERSION = Version(platform.release()) if platform.system() == 'Linux' else None
class Qt(Package):
@@ -191,10 +193,25 @@ class Qt(Package):
depends_on("flex", type='build')
depends_on("bison", type='build')
depends_on("gperf")
- depends_on("python@2.7.5:2", type='build')
+
+ # qtwebengine@5.7:5.15 are based on Google Chromium versions which depend on Py2
+ with when('@5.7:5.15'):
+ depends_on('python@2.7.5:2', type='build')
+ # mesa inherits MesonPackage (since October 2020) which depends on Py@3.
+ # The conflicts('mesa') enables a regular build of `qt@5.7:5.15+webkit`
+ # without having to specify the exact version by causing the concretizer
+ # to select mesa18 which does not depend on python@3.
+ conflicts('mesa')
+
+ with when('@5.10:'):
+ depends_on('nss@3.62:')
with when('@5.7:'):
- depends_on("nss")
+ # https://www.linuxfromscratch.org/blfs/view/svn/x/qtwebengine.html
+ depends_on('ninja', type='build')
+
+ # https://doc.qt.io/qt-5.15/qtwebengine-platform-notes.html
+ with when('@5.7: platform=linux'):
depends_on("libdrm")
depends_on("libxcomposite")
depends_on("libxcursor")
@@ -637,6 +654,20 @@ class Qt(Package):
config_args.append('-I{0}/include'.format(spec['libx11'].prefix))
config_args.append('-I{0}/include'.format(spec['xproto'].prefix))
+ # If the version of glibc is new enough Qt will configure features that
+ # may not be supported by the kernel version on the system. This will
+ # cause errors like:
+ # error while loading shared libraries: libQt5Core.so.5: cannot open
+ # shared object file: No such file or directory
+ # Test the kernel version and disable features that Qt detects in glibc
+ # but that are not supported in the kernel as determined by information
+ # in: qtbase/src/corelib/global/minimum-linux_p.h.
+ if LINUX_VERSION and version >= Version('5.10'):
+ if LINUX_VERSION < Version('3.16'):
+ config_args.append('-no-feature-renameat2')
+ if LINUX_VERSION < Version('3.17'):
+ config_args.append('-no-feature-getentropy')
+
if '~webkit' in spec:
config_args.extend([
'-skip',
diff --git a/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch b/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch
index fcfae27854..c6bea9a18b 100644
--- a/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch
+++ b/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch
@@ -2,14 +2,14 @@ diff --git a/install/configure b/install/configure_aocc
index 66337d1..d2c04af 100755
--- a/install/configure
+++ b/install/configure_aocc
-@@ -3203,6 +3203,7 @@ case "$arch" in
+@@ -3199,6 +3199,7 @@
+ ifort_version=`$mpif90 -V 2>&1 | grep "Intel(R)"`
+ pgf_version=`$mpif90 -V 2>&1 | grep "^pgf"`
+ nvfortran_version=`$mpif90 -V 2>&1 | grep "^nvfortran"`
++ aoccflang_version=`$mpif90 -v 2>&1 | grep "AMD clang version"`
+ gfortran_version=`$mpif90 -v 2>&1 | grep "gcc version"`
nagfor_version=`$mpif90 -v 2>&1 | grep "NAG Fortran"`
xlf_version=`$mpif90 -v 2>&1 | grep "xlf"`
- armflang_version=`$mpif90 -v 2>&1 | grep "Arm C/C++/Fortran Compiler version"`
-+ aoccflang_version=`$mpif90 -v 2>&1 | grep "AMD clang version"`
- #
- if test "$ifort_version" != ""
- then
@@ -3215,6 +3216,12 @@ case "$arch" in
version=`echo $nvfortran_version | cut -d ' ' -f2`
echo "${ECHO_T}nvfortran $version"
diff --git a/var/spack/repos/builtin/packages/quantum-espresso/package.py b/var/spack/repos/builtin/packages/quantum-espresso/package.py
index 3753504c1e..f2dcd3b666 100644
--- a/var/spack/repos/builtin/packages/quantum-espresso/package.py
+++ b/var/spack/repos/builtin/packages/quantum-espresso/package.py
@@ -4,7 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-class QuantumEspresso(Package):
+class QuantumEspresso(CMakePackage):
"""Quantum ESPRESSO is an integrated suite of Open-Source computer codes
for electronic-structure calculations and materials modeling at the
nanoscale. It is based on density-functional theory, plane waves, and
@@ -15,9 +15,10 @@ class QuantumEspresso(Package):
url = 'https://gitlab.com/QEF/q-e/-/archive/qe-6.6/q-e-qe-6.6.tar.gz'
git = 'https://gitlab.com/QEF/q-e.git'
- maintainers = ['naromero77']
+ maintainers = ['ye-luo']
version('develop', branch='develop')
+ version('6.8', sha256='654855c69864de7ece5ef2f2c0dea2d32698fe51192a8646b1555b0c57e033b2')
version('6.7', sha256='fe0ce74ff736b10d2a20c9d59025c01f88f86b00d229c123b1791f1edd7b4315',
url='https://gitlab.com/QEF/q-e/-/archive/qe-6.7MaX-Release/q-e-qe-6.7MaX-Release.tar.gz'
)
@@ -47,22 +48,28 @@ class QuantumEspresso(Package):
destination='.'
)
- variant('mpi', default=True, description='Builds with mpi support')
- variant('openmp', default=False, description='Enables openMP support')
- variant('scalapack', default=True, description='Enables scalapack support')
- variant('elpa', default=False, description='Uses elpa as an eigenvalue solver')
+ variant('cmake', default=True, description='Builds via CMake')
+ with when('+cmake'):
+ depends_on("cmake@3.14.0:", type="build")
+ conflicts('@:6.7', msg='+cmake works since QE v6.8')
- # Support for HDF5 has been added starting in version 6.1.0 and is
- # still experimental, therefore we default to False for the variant
- variant(
- 'hdf5', default='none', description='Builds with HDF5 support',
- values=('parallel', 'serial', 'none'), multi=False
- )
+ variant('libxc', default=False, description='Uses libxc')
+ depends_on('libxc@5.1.2:', when='+libxc')
- # Enables building Electron-phonon Wannier 'epw.x' executable
- # http://epw.org.uk/Main/About
- variant('epw', default=False,
- description='Builds Electron-phonon Wannier executable')
+ # TODO
+ # variant(
+ # 'gpu', default='none', description='Builds with GPU support',
+ # values=('nvidia', 'none'), multi=False
+ # )
+
+ variant('openmp', default=False, description='Enables openMP support')
+ # Need OpenMP threaded FFTW and BLAS libraries when configured
+ # with OpenMP support
+ with when('+openmp'):
+ conflicts('^fftw~openmp')
+ conflicts('^amdfftw~openmp')
+ conflicts('^openblas threads=none')
+ conflicts('^openblas threads=pthreads')
# Apply upstream patches by default. Variant useful for 3rd party
# patches which are incompatible with upstream patches
@@ -70,51 +77,36 @@ class QuantumEspresso(Package):
desc = desc + 'to False for third party patches or plugins'
variant('patch', default=True, description=desc)
- # QMCPACK converter patch
- # https://github.com/QMCPACK/qmcpack/tree/develop/external_codes/quantum_espresso
- variant('qmcpack', default=False,
- description='Build QE-to-QMCPACK wave function converter')
+ variant('mpi', default=True, description='Builds with mpi support')
+ with when('+mpi'):
+ depends_on('mpi')
+ variant('scalapack', default=True, description='Enables scalapack support')
+
+ with when('+scalapack'):
+ depends_on('scalapack')
+ variant('elpa', default=False, description='Uses elpa as an eigenvalue solver')
+
+ with when('+elpa'):
+ # CMake builds only support elpa without openmp
+ depends_on('elpa~openmp', when='+cmake')
+ depends_on('elpa+openmp', when='+openmp~cmake')
+ depends_on('elpa~openmp', when='~openmp~cmake')
+ # Elpa is formally supported by @:5.4.0, but QE configure searches
+ # for it in the wrong folders (or tries to download it within
+ # the build directory). Instead of patching Elpa to provide the
+ # folder QE expects as a link, we issue a conflict here.
+ conflicts('@:5.4.0', msg='+elpa requires QE >= 6.0')
- variant('environ', default=False,
- description='Enables support for introducing environment effects '
- 'into atomistic first-principles simulations.'
- 'See http://quantum-environ.org/about.html')
+ # Support for HDF5 has been added starting in version 6.1.0 and is
+ # still experimental, therefore we default to False for the variant
+ variant(
+ 'hdf5', default='none', description='Builds with HDF5 support',
+ values=('parallel', 'serial', 'none'), multi=False
+ )
- # Dependencies
- depends_on('blas')
- depends_on('lapack')
- depends_on('fftw-api@3')
- depends_on('mpi', when='+mpi')
- depends_on('scalapack', when='+scalapack+mpi')
- depends_on('elpa+openmp', when='+elpa+openmp')
- depends_on('elpa~openmp', when='+elpa~openmp')
# Versions of HDF5 prior to 1.8.16 lead to QE runtime errors
depends_on('hdf5@1.8.16:+fortran+hl+mpi', when='hdf5=parallel')
depends_on('hdf5@1.8.16:+fortran+hl~mpi', when='hdf5=serial')
- depends_on('hdf5', when='+qmcpack')
- # TODO: enable building EPW when ~mpi
- depends_on('mpi', when='+epw')
-
- # CONFLICTS SECTION
- # Omitted for now due to concretizer bug
- # MKL with 64-bit integers not supported.
- # conflicts(
- # '^mkl+ilp64',
- # msg='Quantum ESPRESSO does not support MKL 64-bit integer variant'
- # )
-
- # We can't ask for scalapack or elpa if we don't want MPI
- conflicts(
- '+scalapack',
- when='~mpi',
- msg='scalapack is a parallel library and needs MPI support'
- )
-
- conflicts(
- '+elpa',
- when='~mpi',
- msg='elpa is a parallel library and needs MPI support'
- )
# HDF5 support introduced in 6.1.0, but the configure had some limitations.
# In recent tests (Oct 2019), GCC and Intel work with the HDF5 Spack
@@ -140,60 +132,82 @@ class QuantumEspresso(Package):
msg='parallel HDF5 requires MPI support'
)
- # Elpa is formally supported by @:5.4.0, but QE configure searches
- # for it in the wrong folders (or tries to download it within
- # the build directory). Instead of patching Elpa to provide the
- # folder QE expects as a link, we issue a conflict here.
- conflicts('+elpa', when='@:5.4.0')
+ # QMCPACK converter patch
+ # https://github.com/QMCPACK/qmcpack/tree/develop/external_codes/quantum_espresso
+ variant('qmcpack', default=False,
+ description='Build QE-to-QMCPACK wave function converter')
- # Some QMCPACK converters are incompatible with upstream patches.
- # HDF5 is a hard requirement. Need to do two HDF5 cases explicitly
- # since Spack lacks support for expressing NOT operation.
- conflicts(
- '@6.4+patch',
- when='+qmcpack',
- msg='QE-to-QMCPACK wave function converter requires '
- 'deactivatation of upstream patches'
- )
- conflicts(
- '@6.3:6.4.0 hdf5=serial',
- when='+qmcpack',
- msg='QE-to-QMCPACK wave function converter only '
- 'supported with parallel HDF5'
- )
- conflicts(
- 'hdf5=none',
- when='+qmcpack',
- msg='QE-to-QMCPACK wave function converter requires HDF5'
- )
+ with when('+qmcpack'):
+ # Some QMCPACK converters are incompatible with upstream patches.
+ # HDF5 is a hard requirement. Need to do two HDF5 cases explicitly
+ # since Spack lacks support for expressing NOT operation.
+ conflicts(
+ '@6.4+patch',
+ msg='QE-to-QMCPACK wave function converter requires '
+ 'deactivatation of upstream patches'
+ )
+ conflicts(
+ '@6.3:6.4.0 hdf5=serial',
+ msg='QE-to-QMCPACK wave function converter only '
+ 'supported with parallel HDF5'
+ )
+ conflicts(
+ 'hdf5=none',
+ msg='QE-to-QMCPACK wave function converter requires HDF5'
+ )
- # The first version of Q-E to feature integrated EPW is 6.0.0,
- # as per http://epw.org.uk/Main/DownloadAndInstall .
- # Complain if trying to install a version older than this.
- conflicts('+epw', when='@:5',
- msg='EPW only available from version 6.0.0 and on')
+ # Enables building Electron-phonon Wannier 'epw.x' executable
+ # http://epw.org.uk/Main/About
+ variant('epw', default=False,
+ description='Builds Electron-phonon Wannier executable')
+ conflicts('~epw', when='+cmake', msg='epw cannot be turned off when using CMake')
+
+ with when('+epw'):
+ # The first version of Q-E to feature integrated EPW is 6.0.0,
+ # as per http://epw.org.uk/Main/DownloadAndInstall .
+ # Complain if trying to install a version older than this.
+ conflicts('@:5', msg='EPW only available from version 6.0.0 and on')
+
+ # Below goes some constraints as shown in the link above.
+ # Constraints may be relaxed as successful reports
+ # of different compiler+mpi combinations arrive
- # Below goes some constraints as shown in the link above.
- # Constraints may be relaxed as successful reports
- # of different compiler+mpi combinations arrive
+ # TODO: enable building EPW when ~mpi and ~cmake
+ conflicts('~mpi', when='~cmake', msg='EPW needs MPI when ~cmake')
- # TODO: enable building EPW when ~mpi
- conflicts('+epw', when='~mpi', msg='EPW needs MPI')
+ # EPW doesn't gets along well with OpenMPI 2.x.x
+ conflicts('^openmpi@2.0.0:2',
+ msg='OpenMPI version incompatible with EPW')
- # EPW doesn't gets along well with OpenMPI 2.x.x
- conflicts('+epw', when='^openmpi@2.0.0:2',
- msg='OpenMPI version incompatible with EPW')
+ # EPW also doesn't gets along well with PGI 17.x + OpenMPI 1.10.7
+ conflicts('^openmpi@1.10.7%pgi@17.0:17.12',
+ msg='PGI+OpenMPI version combo incompatible with EPW')
- # EPW also doesn't gets along well with PGI 17.x + OpenMPI 1.10.7
- conflicts('+epw', when='^openmpi@1.10.7%pgi@17.0:17.12',
- msg='PGI+OpenMPI version combo incompatible with EPW')
+ variant('environ', default=False,
+ description='Enables support for introducing environment effects '
+ 'into atomistic first-principles simulations.'
+ 'See http://quantum-environ.org/about.html')
+ conflicts('+environ', when='+cmake', msg='environ doesn\'t work with CMake')
+
+ # Dependencies not affected by variants
+ depends_on('blas')
+ depends_on('lapack')
+ depends_on('fftw-api@3')
+
+ # CONFLICTS SECTION
+ # Omitted for now due to concretizer bug
+ # MKL with 64-bit integers not supported.
+ # conflicts(
+ # '^mkl+ilp64',
+ # msg='Quantum ESPRESSO does not support MKL 64-bit integer variant'
+ # )
# PATCHES SECTION
# THIRD-PARTY PATCHES
# NOTE: *SOME* third-party patches will require deactivation of
# upstream patches using `~patch` variant
- # QMCPACK converter patches for QE 6.7, 6.4.1, 6.4, and 6.3
+ # QMCPACK converter patches for QE 6.8, 6.7, 6.4.1, 6.4, and 6.3
conflicts('@:6.2,6.5:6.6', when='+qmcpack',
msg='QMCPACK converter NOT available for this version of QE')
@@ -204,18 +218,16 @@ class QuantumEspresso(Package):
conflicts('@6.5:', when='+environ',
msg='6.4.x is the latest QE series supported by Environ')
+ # 6.8
+ patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/develop/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.8.diff'
+ patch_checksum = '69f7fbd72aba810c35a0b034188e45bea8f9f11d3150c0715e1b3518d5c09248'
+ patch(patch_url, sha256=patch_checksum, when='@6.8+qmcpack')
+
# 6.7
patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/develop/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.7.0.diff'
patch_checksum = '72564c168231dd4a1279a74e76919af701d47cee9a851db6e205753004fe9bb5'
patch(patch_url, sha256=patch_checksum, when='@6.7+qmcpack')
- # Need OpenMP threaded FFTW and BLAS libraries when configured
- # with OpenMP support
- conflicts('^fftw~openmp', when='+openmp')
- conflicts('^amdfftw~openmp', when='+openmp')
- conflicts('^openblas threads=none', when='+openmp')
- conflicts('^openblas threads=pthreads', when='+openmp')
-
# 6.4.1
patch_url = 'https://raw.githubusercontent.com/QMCPACK/qmcpack/develop/external_codes/quantum_espresso/add_pw2qmcpack_to_qe-6.4.1.diff'
patch_checksum = '57cb1b06ee2653a87c3acc0dd4f09032fcf6ce6b8cbb9677ae9ceeb6a78f85e2'
@@ -279,7 +291,7 @@ class QuantumEspresso(Package):
when='+patch@6.4.1:6.5.0')
# Configure updated to work with AOCC compilers
- patch('configure_aocc.patch', when='@6.7 %aocc')
+ patch('configure_aocc.patch', when='@6.7:6.8 %aocc')
# Configure updated to work with NVIDIA compilers
patch('nvhpc.patch', when='@6.5 %nvhpc')
@@ -291,7 +303,41 @@ class QuantumEspresso(Package):
# extlibs_makefile updated to work with fujitsu compilers
patch('fj-fox.patch', when='+patch %fj')
+ def cmake_args(self):
+ spec = self.spec
+
+ cmake_args = [
+ self.define_from_variant('QE_ENABLE_MPI', 'mpi'),
+ self.define_from_variant('QE_ENABLE_OPENMP', 'openmp'),
+ self.define_from_variant('QE_ENABLE_SCALAPACK', 'scalapack'),
+ self.define_from_variant('QE_ENABLE_ELPA', 'elpa'),
+ self.define_from_variant('QE_ENABLE_LIBXC', 'libxc'),
+ ]
+
+ # QE prefers taking MPI compiler wrappers as CMake compilers.
+ if '+mpi' in spec:
+ cmake_args.append(self.define('CMAKE_C_COMPILER', spec['mpi'].mpicc))
+ cmake_args.append(self.define('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc))
+
+ if not spec.satisfies('hdf5=none'):
+ cmake_args.append(self.define('QE_ENABLE_HDF5', True))
+
+ if '+qmcpack' in spec:
+ cmake_args.append(self.define('QE_ENABLE_PW2QMCPACK', True))
+
+ return cmake_args
+
+ @when("~cmake")
+ def cmake(self, spec, prefix):
+ print("Bypass cmake stage when building via configure")
+
+ @when("~cmake")
+ def build(self, spec, prefix):
+ print("Bypass build stage when building via configure")
+
+ @when("~cmake")
def install(self, spec, prefix):
+ print("Override install stage when building via configure")
prefix_path = prefix.bin if '@:5.4.0' in spec else prefix
options = ['-prefix={0}'.format(prefix_path)]
diff --git a/var/spack/repos/builtin/packages/r-affy/package.py b/var/spack/repos/builtin/packages/r-affy/package.py
index 47722b3496..c84cb7a18f 100644
--- a/var/spack/repos/builtin/packages/r-affy/package.py
+++ b/var/spack/repos/builtin/packages/r-affy/package.py
@@ -23,7 +23,7 @@ class RAffy(RPackage):
version('1.56.0', commit='d36a7b8f05b1ef60162d94e75037d45c48f88871')
version('1.54.0', commit='a815f02906fcf491b28ed0a356d6fce95a6bd20e')
- depends_on('r@2.8.0:', type=('build', 'run'))
+ depends_on('r@2.8.0:4.0', type=('build', 'run'), when='@:1.68.0')
depends_on('r-biocgenerics@0.1.12:', type=('build', 'run'))
depends_on('r-biobase@2.5.5:', type=('build', 'run'))
depends_on('r-affyio@1.13.3:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-backports/package.py b/var/spack/repos/builtin/packages/r-backports/package.py
index 1d9c9de415..a564d85d46 100644
--- a/var/spack/repos/builtin/packages/r-backports/package.py
+++ b/var/spack/repos/builtin/packages/r-backports/package.py
@@ -16,10 +16,10 @@ class RBackports(RPackage):
functions or arguments by selectively importing specific backports to
support older installations."""
- homepage = "https://cloud.r-project.org/package=backports"
- url = "https://cloud.r-project.org/src/contrib/backports_1.1.1.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/backports"
+ homepage = "https://github.com/r-lib/backports"
+ cran = "backports"
+ version('1.4.0', sha256='e7611565d24a852ad8b08579a7c67ad9121c1bda148bade98c7bec686e8dabbf')
version('1.2.1', sha256='a2834bbd57e305e5d8010322f1906ea1789b3b5ba5eca77c5ff4248aceb7c2d5')
version('1.1.4', sha256='ee4b5efef22fa7ef27d7983ffcd31db52f81e1fbb7189c6e89ee09b69349ff03')
version('1.1.3', sha256='e41bd146824ec921994f1b176d0e4cca0b36dd3db32ca7a954d872a5ba214cc1')
diff --git a/var/spack/repos/builtin/packages/r-bh/package.py b/var/spack/repos/builtin/packages/r-bh/package.py
index 9c3e58a69e..f0ce70be0a 100644
--- a/var/spack/repos/builtin/packages/r-bh/package.py
+++ b/var/spack/repos/builtin/packages/r-bh/package.py
@@ -7,7 +7,9 @@ from spack import *
class RBh(RPackage):
- """Boost provides free peer-reviewed portable C++ source libraries. A large
+ """Boost C++ Header Files.
+
+ Boost provides free peer-reviewed portable C++ source libraries. A large
part of Boost is provided as C++ template code which is resolved entirely
at compile-time without linking. This package aims to provide the most
useful subset of Boost libraries for template use among CRAN package. By
@@ -23,9 +25,9 @@ class RBh(RPackage):
'tuple' 'type_trains' 'typeof' 'unordered' 'utility' 'uuid'."""
homepage = "https://cloud.r-project.org/package=BH"
- url = "https://cloud.r-project.org/src/contrib/BH_1.65.0-1.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/BH"
+ cran = "BH"
+ version('1.75.0-0', sha256='ae4c10992607dd697663f60675a46a5770851da159330bb63c4a68890bdd6f5a')
version('1.72.0-3', sha256='888ec1a3316bb69e1ba749b08ba7e0903ebc4742e3a185de8d148c13cddac8ab')
version('1.69.0-1', sha256='a0fd4364b7e368f09c56dec030823f52c16da0787580af7e4615eddeb99baca2')
version('1.65.0-1', sha256='82baa78afe8f1edc3c7e84e1c9924321047e14c1e990df9b848407baf3f7cb58')
diff --git a/var/spack/repos/builtin/packages/r-blob/package.py b/var/spack/repos/builtin/packages/r-blob/package.py
index a56c0a5642..2248d05dac 100644
--- a/var/spack/repos/builtin/packages/r-blob/package.py
+++ b/var/spack/repos/builtin/packages/r-blob/package.py
@@ -14,10 +14,10 @@ class RBlob(RPackage):
package provides the blob object, a list of raw vectors, suitable
for use as a column in data frame."""
- homepage = "https://cloud.r-project.org/package=blob"
- url = "https://cloud.r-project.org/src/contrib/blob_1.1.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/blob"
+ homepage = "https://blob.tidyverse.org"
+ cran = "blob"
+ version('1.2.2', sha256='4976053c65994c769a4c22b4553bea0bd9c623b3b991dbaf023d2a164770c7fa')
version('1.2.1', sha256='ef54bc7a9646c1b73f4d2f60c869b4f1940bc3505874175114297ad7772d8bea')
version('1.2.0', sha256='1af1cfa28607bc0e2f1f01598a00a7d5d1385ef160a9e79e568f30f56538e023')
version('1.1.0', sha256='16d6603df3ddba177f0ac4d9469c938f89131c4bf8834345db838defd9ffea16')
diff --git a/var/spack/repos/builtin/packages/r-brio/package.py b/var/spack/repos/builtin/packages/r-brio/package.py
index 4042b85592..6bef8729a6 100644
--- a/var/spack/repos/builtin/packages/r-brio/package.py
+++ b/var/spack/repos/builtin/packages/r-brio/package.py
@@ -14,7 +14,7 @@ class RBrio(RPackage):
explicit control over line endings."""
homepage = "https://github.com/r-lib/brio"
- url = "https://cloud.r-project.org/src/contrib/brio_1.1.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/brio"
+ cran = "brio"
+ version('1.1.3', sha256='eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6')
version('1.1.0', sha256='6bb3a3b47bea13f1a1e3dcdc8b9f688502643e4b40a481a34aa04a261aabea38')
diff --git a/var/spack/repos/builtin/packages/r-brms/package.py b/var/spack/repos/builtin/packages/r-brms/package.py
index 4a26556d94..3fefc3cf5c 100644
--- a/var/spack/repos/builtin/packages/r-brms/package.py
+++ b/var/spack/repos/builtin/packages/r-brms/package.py
@@ -28,6 +28,7 @@ class RBrms(RPackage):
homepage = "https://github.com/paul-buerkner/brms"
cran = "brms"
+ version('2.16.3', sha256='68302b10b5264f72d163d01c17792c002306cf37f0ee778dcec4c7e118f923e1')
version('2.16.1', sha256='749efbd9fb061fe207cf2e729c1387d9a8538b922f12ceec4e82a9f8dd9c1bc4')
version('2.15.0', sha256='c11701d1d8758590b74bb845b568b736e4455a81b114c7dfde0b27b7bd1bcc2f')
@@ -42,7 +43,7 @@ class RBrms(RPackage):
depends_on('r-rstantools@2.1.1:', type=('build', 'run'))
depends_on('r-bayesplot@1.5.0:', type=('build', 'run'))
depends_on('r-shinystan@2.4.0:', type=('build', 'run'))
- depends_on('r-projpred@2.0.0:', type=('build', 'run'))
+ depends_on('r-projpred@2.0.0:', when='@:2.16.1', type=('build', 'run'))
depends_on('r-bridgesampling@0.3-0:', type=('build', 'run'))
depends_on('r-glue@1.3.0:', type=('build', 'run'))
depends_on('r-future@1.19.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-car/package.py b/var/spack/repos/builtin/packages/r-car/package.py
index 71c4fcaad0..8df0b79598 100644
--- a/var/spack/repos/builtin/packages/r-car/package.py
+++ b/var/spack/repos/builtin/packages/r-car/package.py
@@ -15,6 +15,7 @@ class RCar(RPackage):
homepage = "https://r-forge.r-project.org/projects/car/"
cran = "car"
+ version('3.0-12', sha256='b899a6efae3842a90a2349d381dbcf4b4ed36bd03108ebe7380e81120e457302')
version('3.0-11', sha256='b32c927206f515631ff276dbb337b0f22e9b2d851f4abb1d2c272e534c19542c')
version('3.0-10', sha256='1ce316d2fee9b47c951d25d096be732489a3c9f6fc9e612a1eca2e50fb5925f1')
version('3.0-3', sha256='fa807cb12f6e7fb38ec534cac4eef54747945c2119a7d51155a2492ad778c36f')
@@ -32,7 +33,7 @@ class RCar(RPackage):
depends_on('r-pbkrtest@0.4-4:', type=('build', 'run'))
depends_on('r-quantreg', type=('build', 'run'))
depends_on('r-maptools', when='@3.0:', type=('build', 'run'))
- depends_on('r-rio', when='@3.0:', type=('build', 'run'))
+ depends_on('r-rio', when='@3.0:3.0-11', type=('build', 'run'))
depends_on('r-lme4@1.1-27.1:', when='@3.0-11:', type=('build', 'run'))
depends_on('r-lme4', when='@3.0:', type=('build', 'run'))
depends_on('r-nlme', when='@3.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-cli/package.py b/var/spack/repos/builtin/packages/r-cli/package.py
index c85a832bae..36f7ec07e3 100644
--- a/var/spack/repos/builtin/packages/r-cli/package.py
+++ b/var/spack/repos/builtin/packages/r-cli/package.py
@@ -19,6 +19,7 @@ class RCli(RPackage):
homepage = "https://github.com/r-lib/cli"
cran = "cli"
+ version('3.1.0', sha256='c70a61830bf706a84c59eb74a809978846cee93742198ab4192742a5df1ace11')
version('3.0.1', sha256='d89a25b6cd760e157605676e104ce65473a7d8d64c289efdd9640e949968b4fd')
version('2.2.0', sha256='39a77af61724f8cc1f5117011e17bb2a488cbac61a7c112db078a675d3ac40b8')
version('2.0.2', sha256='490834e5b80eb036befa0e150996bcab1c4d5d168c3d45209926e52d0d5413b6')
diff --git a/var/spack/repos/builtin/packages/r-colorspace/package.py b/var/spack/repos/builtin/packages/r-colorspace/package.py
index fe71033bda..d7765acb6d 100644
--- a/var/spack/repos/builtin/packages/r-colorspace/package.py
+++ b/var/spack/repos/builtin/packages/r-colorspace/package.py
@@ -25,10 +25,10 @@ class RColorspace(RPackage):
scientific paper: Zeileis et al. (2020, Journal of Statistical Software,
<doi:10.18637/jss.v096.i01>)."""
- homepage = "https://cloud.r-project.org/package=colorspace"
- url = "https://cloud.r-project.org/src/contrib/colorspace_1.3-2.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/colorspace"
+ homepage = "https://colorspace.R-Forge.R-project.org"
+ cran = "colorspace"
+ version('2.0-2', sha256='b891cd2ec129ed5f116429345947bcaadc33969758a108521eb0cf36bd12183a')
version('2.0-0', sha256='4e6a53af9918db282cefdc71eaa30f507d4d1d682bcfb74cb0dd68a0b282018e')
version('1.4-1', sha256='693d713a050f8bfecdb7322739f04b40d99b55aed168803686e43401d5f0d673')
version('1.4-0', sha256='ce003c5958dd704697959e9dc8a108c8cb568f8d78ece113235732afc5dff556')
diff --git a/var/spack/repos/builtin/packages/r-colourpicker/package.py b/var/spack/repos/builtin/packages/r-colourpicker/package.py
index 97620f0d7c..9d312c97db 100644
--- a/var/spack/repos/builtin/packages/r-colourpicker/package.py
+++ b/var/spack/repos/builtin/packages/r-colourpicker/package.py
@@ -19,6 +19,7 @@ class RColourpicker(RPackage):
homepage = "https://github.com/daattali/colourpicker"
cran = "colourpicker"
+ version('1.1.1', sha256='a0d09982b048b143e2c3438ccec039dd20d6f892fa0dedc9fdcb0d40de883ce0')
version('1.1.0', sha256='2dfbb6262d187d3b17357ff9c22670ced3621feda5b2a2a500558478e4d551e2')
depends_on('r@3.1.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-conquer/package.py b/var/spack/repos/builtin/packages/r-conquer/package.py
index 9051a0de80..2ed8466cc7 100644
--- a/var/spack/repos/builtin/packages/r-conquer/package.py
+++ b/var/spack/repos/builtin/packages/r-conquer/package.py
@@ -15,13 +15,14 @@ class RConquer(RPackage):
using multiplier bootstrap."""
homepage = "https://github.com/XiaoouPan/conquer"
- url = "https://cloud.r-project.org/src/contrib/conquer_1.0.2.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/conquer"
+ cran = "conquer"
+ version('1.2.1', sha256='1354f90f962a2124e155227cdc0ed2c6e54682f1e08934c49a827e51dc112f45')
version('1.0.2', sha256='542f6154ce1ffec0c1b4dd4e1f5b86545015f4b378c4c66a0840c65c57d674ff')
depends_on('r@3.5.0:', type=('build', 'run'))
depends_on('r-rcpp@1.0.3:', type=('build', 'run'))
depends_on('r-matrix', type=('build', 'run'))
depends_on('r-matrixstats', type=('build', 'run'))
+ depends_on('r-caret', when='@1.2:', type=('build', 'run'))
depends_on('r-rcpparmadillo@0.9.850.1.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-cpp11/package.py b/var/spack/repos/builtin/packages/r-cpp11/package.py
index 4f8aec55d0..eeed5e4a6d 100644
--- a/var/spack/repos/builtin/packages/r-cpp11/package.py
+++ b/var/spack/repos/builtin/packages/r-cpp11/package.py
@@ -17,5 +17,6 @@ class RCpp11(RPackage):
homepage = "https://github.com/r-lib/cpp11"
cran = "cpp11"
+ version('0.4.2', sha256='403ce0bf82358d237176053b0fb1e958cb6bfa4d0fb3555bf5801db6a6939b99')
version('0.4.0', sha256='1768fd07dc30dfbbf8f3fb1a1183947cb7e1dfd909165c4d612a63c163a41e87')
version('0.2.5', sha256='6fef9306c0c3043252c987e77c99ef679b2ea46dffafae318dbeb38ad21a2e20')
diff --git a/var/spack/repos/builtin/packages/r-crayon/package.py b/var/spack/repos/builtin/packages/r-crayon/package.py
index bd7cd38642..9324f7c43b 100644
--- a/var/spack/repos/builtin/packages/r-crayon/package.py
+++ b/var/spack/repos/builtin/packages/r-crayon/package.py
@@ -16,6 +16,7 @@ class RCrayon(RPackage):
homepage = "https://github.com/r-lib/crayon#readme"
cran = "crayon"
+ version('1.4.2', sha256='ee34397f643e76e30588068d4c93bd3c9afd2193deacccacb3bffcadf141b857')
version('1.4.1', sha256='08b6e42e748d096960b2f32b7ffe690c25742e29fe14c19d1834cd6ff43029c7')
version('1.3.4', sha256='fc6e9bf990e9532c4fcf1a3d2ce22d8cf12d25a95e4779adfa17713ed836fa68')
version('1.3.2', sha256='9a6b75d63c05fe64baf222f1921330ceb727924bcc5fc2753ff0528d42555e68')
diff --git a/var/spack/repos/builtin/packages/r-crosstalk/package.py b/var/spack/repos/builtin/packages/r-crosstalk/package.py
index ad3abb0342..befa2325e9 100644
--- a/var/spack/repos/builtin/packages/r-crosstalk/package.py
+++ b/var/spack/repos/builtin/packages/r-crosstalk/package.py
@@ -13,10 +13,10 @@ class RCrosstalk(RPackage):
other, with Shiny or without (i.e. static .html files). Currently supports
linked brushing and filtering."""
- homepage = "https://cloud.r-project.org/package=crosstalk"
- url = "https://cloud.r-project.org/src/contrib/crosstalk_1.0.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/crosstalk"
+ homepage = "https://rstudio.github.io/crosstalk"
+ cran = "crosstalk"
+ version('1.2.0', sha256='4237baab35cd246a8a98fb9cf4ce53b6ddbc31d00742ded4edea0479613d1ea0')
version('1.1.0.1', sha256='36a70b10bc11826e314c05f9579fd791b9ac3b3a2cfed4d4ca74ce1ad991300e')
version('1.0.0', sha256='b31eada24cac26f24c9763d9a8cbe0adfd87b264cf57f8725027fe0c7742ca51')
diff --git a/var/spack/repos/builtin/packages/r-dbi/package.py b/var/spack/repos/builtin/packages/r-dbi/package.py
index e62a09ed2d..013546ea30 100644
--- a/var/spack/repos/builtin/packages/r-dbi/package.py
+++ b/var/spack/repos/builtin/packages/r-dbi/package.py
@@ -7,14 +7,16 @@ from spack import *
class RDbi(RPackage):
- """A database interface definition for communication between R and
+ """R Database Interface.
+
+ A database interface definition for communication between R and
relational database management systems. All classes in this package are
virtual and need to be extended by the various R/DBMS implementations."""
- homepage = "http://rstats-db.github.io/DBI"
- url = "https://cloud.r-project.org/src/contrib/DBI_0.7.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/DBI"
+ homepage = "https://dbi.r-dbi.org"
+ cran = "DBI"
+ version('1.1.1', sha256='572ab3b8a6421d0ac3e7665c4c842826f1723af98fca25d4f43edb419e771344')
version('1.1.0', sha256='a96db7fa39a58f1ed34c6e78d8f5f7e4cf0882afb301323b5c6975d6729203e4')
version('1.0.0', sha256='ff16f118eb3f759183441835e932b87358dd80ab9800ce576a8f3df1b6f01cf5')
version('0.4-1', sha256='eff14a9af4975f23f8e1f4347d82c33c32c0b4f4f3e11370c582a89aeb8ac68e')
diff --git a/var/spack/repos/builtin/packages/r-desc/package.py b/var/spack/repos/builtin/packages/r-desc/package.py
index da96469f53..23e0ed8e17 100644
--- a/var/spack/repos/builtin/packages/r-desc/package.py
+++ b/var/spack/repos/builtin/packages/r-desc/package.py
@@ -7,16 +7,19 @@ from spack import *
class RDesc(RPackage):
- """desc: Manipulate DESCRIPTION Files"""
+ """Manipulate DESCRIPTION Files.
- homepage = "https://cloud.r-project.org/package=desc"
- url = "https://cloud.r-project.org/src/contrib/desc_1.2.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/desc/"
+ Tools to read, write, create, and manipulate DESCRIPTION files. It is
+ intended for packages that create or manipulate other packages."""
+ homepage = "https://github.com/r-lib/desc"
+ cran = "desc"
+
+ version('1.4.0', sha256='8220e4c706449b8121b822e70b1414f391ef419aed574836a234c63b83e5d649')
version('1.2.0', sha256='e66fb5d4fc7974bc558abcdc107a1f258c9177a29dcfcf9164bc6b33dd08dae8')
depends_on('r@3.1.0:', type=('build', 'run'))
- depends_on('r-assertthat', type=('build', 'run'))
depends_on('r-r6', type=('build', 'run'))
depends_on('r-crayon', type=('build', 'run'))
depends_on('r-rprojroot', type=('build', 'run'))
+ depends_on('r-assertthat', when='@:1.2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-diffobj/package.py b/var/spack/repos/builtin/packages/r-diffobj/package.py
index 6445949014..024895a5a6 100644
--- a/var/spack/repos/builtin/packages/r-diffobj/package.py
+++ b/var/spack/repos/builtin/packages/r-diffobj/package.py
@@ -13,9 +13,9 @@ class RDiffobj(RPackage):
of their differences."""
homepage = "https://github.com/brodieG/diffobj"
- url = "https://cloud.r-project.org/src/contrib/diffobj_0.3.3.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/diffobj"
+ cran = "diffobj"
+ version('0.3.5', sha256='d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60')
version('0.3.3', sha256='414e5573470b9565b9149a0a61c7e8344fb37f889d23dc4e131acc8aa62e6df4')
depends_on('r@3.1.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-dt/package.py b/var/spack/repos/builtin/packages/r-dt/package.py
index a0fc8655a6..7543f7fb5a 100644
--- a/var/spack/repos/builtin/packages/r-dt/package.py
+++ b/var/spack/repos/builtin/packages/r-dt/package.py
@@ -15,9 +15,9 @@ class RDt(RPackage):
abbreviation of 'DataTables'."""
homepage = "https://rstudio.github.io/DT"
- url = "https://cloud.r-project.org/src/contrib/DT_0.1.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/DT"
+ cran = "DT"
+ version('0.20', sha256='c66d7f49ec101fdbb91c6d26c06fb1373f9ebdefe29fe99f2ae1a641220aba9f')
version('0.17', sha256='e3430292421dcc2b6ad5f2deda729f0603da4eb31f86d071833e6e11abf3fb56')
version('0.13', sha256='79a073fe96980ce150d790ab76133c9e80bd463270c34d149c03934a622d63b5')
version('0.8', sha256='90195054148806cf31c7db5c41f72d5389c75adc0b1183606a9babd2c6ae8e21')
@@ -33,4 +33,5 @@ class RDt(RPackage):
depends_on('r-jsonlite@0.9.16:', when='@0.8:', type=('build', 'run'))
depends_on('r-magrittr', type=('build', 'run'))
depends_on('r-crosstalk', type=('build', 'run'))
+ depends_on('r-jquerylib', when='@0.19:', type=('build', 'run'))
depends_on('r-promises', when='@0.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-emmeans/package.py b/var/spack/repos/builtin/packages/r-emmeans/package.py
index 8543001a23..745ae434a2 100644
--- a/var/spack/repos/builtin/packages/r-emmeans/package.py
+++ b/var/spack/repos/builtin/packages/r-emmeans/package.py
@@ -21,6 +21,7 @@ class REmmeans(RPackage):
homepage = "https://github.com/rvlenth/emmeans"
cran = "emmeans"
+ version('1.7.1-1', sha256='6b01eaad1ea0f96245db8563cc77929a3c3b96cd61c24ce1d452308d6e0250de')
version('1.7.0', sha256='d4b654896197dfda8354b33257380a66ee06117d6177b1ed7f1e42176525e9c5')
version('1.6.0', sha256='201bb7b008dde94231ed60bcc6a32749442faaab4baeea99ad28b97c951b3c1e')
diff --git a/var/spack/repos/builtin/packages/r-htmltools/package.py b/var/spack/repos/builtin/packages/r-htmltools/package.py
index ce3ac0dd20..2d3b82e8bd 100644
--- a/var/spack/repos/builtin/packages/r-htmltools/package.py
+++ b/var/spack/repos/builtin/packages/r-htmltools/package.py
@@ -14,6 +14,7 @@ class RHtmltools(RPackage):
homepage = "https://github.com/rstudio/htmltools"
cran = "htmltools"
+ version('0.5.2', sha256='7dc7d50436e5a82a5801f85bcd2f572a06a98b4027d71aa17b4854ec9b2767fb')
version('0.5.1.1', sha256='f0bfe72ffe330f3d6c9ead5857f3a4aef80e002e32558074a3e643f2ab67a4ba')
version('0.5.1', sha256='6ac82e4451f9558ceb541ea659a736b2ab3245827832b44d3661e7a4d91f6307')
version('0.3.6', sha256='44affb82f9c2fd76c9e2b58f9229adb003217932b68c3fdbf1327c8d74c868a2')
@@ -22,5 +23,7 @@ class RHtmltools(RPackage):
depends_on('r@2.14.1:', type=('build', 'run'))
depends_on('r-digest', type=('build', 'run'))
depends_on('r-base64enc', when='@0.5.1:', type=('build', 'run'))
+ depends_on('r-rlang@0.4.10:', when='@0.5.2:', type=('build', 'run'))
depends_on('r-rlang', when='@0.5.1:', type=('build', 'run'))
+ depends_on('r-fastmap', when='@0.5.2:', type=('build', 'run'))
depends_on('r-rcpp', when=' @:0.3.6', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-jquerylib/package.py b/var/spack/repos/builtin/packages/r-jquerylib/package.py
new file mode 100644
index 0000000000..e6c97d2d16
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-jquerylib/package.py
@@ -0,0 +1,16 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class RJquerylib(RPackage):
+ """Obtain 'jQuery' as an HTML Dependency Object."""
+
+ cran = "jquerylib"
+
+ version('0.1.4', sha256='f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411')
+
+ depends_on('r-htmltools', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-packrat/package.py b/var/spack/repos/builtin/packages/r-packrat/package.py
index 4a897ab431..1b22874f9b 100644
--- a/var/spack/repos/builtin/packages/r-packrat/package.py
+++ b/var/spack/repos/builtin/packages/r-packrat/package.py
@@ -11,9 +11,9 @@ class RPackrat(RPackage):
and reproducible way."""
homepage = "https://github.com/rstudio/packrat/"
- url = "https://cloud.r-project.org/src/contrib/packrat_0.4.7-1.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/packrat"
+ cran = "packrat"
+ version('0.7.0', sha256='e8bce1fd78f28f3a7bf56e65a2ae2c6802e69bf55466c24e1d1a4b8a5f83dcc2')
version('0.5.0', sha256='d6a09290fbe037a6c740921c5dcd70b500e5b36e4713eae4010adf0c456bc5f7')
version('0.4.9-3', sha256='87299938a751defc54eb00a029aecd3522d6349d900aaa8b3e1aa6bf31e98234')
version('0.4.8-1', sha256='a283caf4fda419e6571ae9ca6210a59002a030721feb8a50c0d0787fd6f672f3')
diff --git a/var/spack/repos/builtin/packages/r-prettydoc/package.py b/var/spack/repos/builtin/packages/r-prettydoc/package.py
index ade056fc5b..1769d30d3a 100644
--- a/var/spack/repos/builtin/packages/r-prettydoc/package.py
+++ b/var/spack/repos/builtin/packages/r-prettydoc/package.py
@@ -19,5 +19,5 @@ class RPrettydoc(RPackage):
version('0.4.1', sha256='1094a69b026238d149435472b4f41c75151c7370a1be6c6332147c88ad4c4829')
- depends_on('r-markdown@1.17:', type=('build', 'run'))
+ depends_on('r-rmarkdown@1.17:', type=('build', 'run'))
depends_on('pandoc@1.12.3:', type='build')
diff --git a/var/spack/repos/builtin/packages/r-r6/package.py b/var/spack/repos/builtin/packages/r-r6/package.py
index 8445c1a792..549f2f2c2a 100644
--- a/var/spack/repos/builtin/packages/r-r6/package.py
+++ b/var/spack/repos/builtin/packages/r-r6/package.py
@@ -17,9 +17,9 @@ class RR6(RPackage):
classes are defined in different packages."""
homepage = "https://github.com/wch/R6/"
- url = "https://cloud.r-project.org/src/contrib/R6_2.2.2.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/R6"
+ cran = "R6"
+ version('2.5.1', sha256='8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48')
version('2.5.0', sha256='aec1af9626ec532cb883b544bf9eff4cb2d89c343c7ce0fa31761ec5a7882e02')
version('2.4.0', sha256='70be110174fbf5f5304049b186a6f9c05b77bfaec6d8caf980fcef5da6e0abce')
version('2.2.2', sha256='087756f471884c3b3ead80215a7cc5636a78b8a956e91675acfe2896426eae8f')
diff --git a/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py b/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py
index 3482664fa2..a0d88b0b63 100644
--- a/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpparmadillo/package.py
@@ -22,9 +22,9 @@ class RRcpparmadillo(RPackage):
that"""
homepage = "https://cloud.r-project.org/package=RcppArmadillo"
- url = "https://cloud.r-project.org/src/contrib/RcppArmadillo_0.8.100.1.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/RcppArmadillo"
+ cran = "RcppArmadillo"
+ version('0.10.7.3.0', sha256='3710b767708e3b9408723eedb98391daa8651fda53a2c6b033273265512f6262')
version('0.10.1.2.2', sha256='38323703fcf2b61f46f2984aafdd3ddf17c3c993d1d27a8f0f4ba5012b99d069')
version('0.9.600.4.0', sha256='2057b7aa965a4c821dd734276d8e6a01cd59a1b52536b65cb815fa7e8c114f1e')
version('0.9.400.3.0', sha256='56936d501fe8e6f8796ae1a6badb9294d7dad98a0b557c3b3ce6bd4ecaad13b0')
diff --git a/var/spack/repos/builtin/packages/r-rio/package.py b/var/spack/repos/builtin/packages/r-rio/package.py
index 4c3fbe88e0..c3054a44a4 100644
--- a/var/spack/repos/builtin/packages/r-rio/package.py
+++ b/var/spack/repos/builtin/packages/r-rio/package.py
@@ -7,7 +7,9 @@ from spack import *
class RRio(RPackage):
- """Streamlined data import and export by making assumptions that the user
+ """A Swiss-Army Knife for Data I/O.
+
+ Streamlined data import and export by making assumptions that the user
is probably willing to make: 'import()' and 'export()' determine the data
structure from the file extension, reasonable defaults are used for data
import and export (e.g., 'stringsAsFactors=FALSE'), web-based import is
@@ -17,13 +19,14 @@ class RRio(RPackage):
provides a simple method for converting between file types."""
homepage = "https://github.com/leeper/rio"
- url = "https://cloud.r-project.org/src/contrib/rio_0.5.16.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/rio"
+ cran = "rio"
+ version('0.5.29', sha256='9fa63187e1814053e6ed2a164665b4924e08c3453adccb78f7211d403dcc5412')
version('0.5.16', sha256='d3eb8d5a11e0a3d26169bb9d08f834a51a6516a349854250629072d59c29d465')
depends_on('r@2.15.0:', type=('build', 'run'))
depends_on('r-foreign', type=('build', 'run'))
+ depends_on('r-haven@1.1.2:', when='@0.5.26:', type=('build', 'run'))
depends_on('r-haven@1.1.0:', type=('build', 'run'))
depends_on('r-curl@0.6:', type=('build', 'run'))
depends_on('r-data-table@1.9.8:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-rmarkdown/package.py b/var/spack/repos/builtin/packages/r-rmarkdown/package.py
index 7d27f56806..14160e2b31 100644
--- a/var/spack/repos/builtin/packages/r-rmarkdown/package.py
+++ b/var/spack/repos/builtin/packages/r-rmarkdown/package.py
@@ -15,6 +15,7 @@ class RRmarkdown(RPackage):
homepage = "https://rmarkdown.rstudio.com/"
cran = "rmarkdown"
+ version('2.11', sha256='9371255300e7ea4cd936978ad2ca3d205d8605e09f4913cb0d4725005a7a9775')
version('2.9', sha256='6ce5af8b9a7c282619f74d3999d27ec4de12d3f93cde8fd12cc4c19f02ea8668')
version('2.6', sha256='e6e799c472de11e079bc752cca4b4dbd6803650649457bb6ae836cb1edcdf6b0')
version('1.14', sha256='f636b1048c5be56e06aa0b2b4342ad5c8192734f1e9b27468fef62be672edc61')
@@ -34,6 +35,7 @@ class RRmarkdown(RPackage):
depends_on('r-xfun', when='@1.13:', type=('build', 'run'))
depends_on('r-xfun@0.15:', when='@2.6:', type=('build', 'run'))
depends_on('r-xfun@0.21:', when='@2.8:', type=('build', 'run'))
+ depends_on('r-jquerylib', when='@2.11:', type=('build', 'run'))
depends_on('r-stringr@1.2.0:', when='@1.6:', type=('build', 'run'))
depends_on('r-rprojroot', when='@1.3:1.7', type=('build', 'run'))
depends_on('r-mime', when='@1.8:1.14', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-rpostgresql/package.py b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
index 437748d353..a7fd42e594 100644
--- a/var/spack/repos/builtin/packages/r-rpostgresql/package.py
+++ b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
@@ -27,11 +27,3 @@ class RRpostgresql(RPackage):
depends_on('r@2.9.0:', type=('build', 'run'))
depends_on('r-dbi@0.3:', type=('build', 'run'))
depends_on('postgresql')
-
- depends_on('automake', type='build')
-
- patch_config_files = True
-
- @run_before('install')
- def patch_config_guess(self):
- AutotoolsPackage._do_patch_config_files(self)
diff --git a/var/spack/repos/builtin/packages/r-rsconnect/package.py b/var/spack/repos/builtin/packages/r-rsconnect/package.py
index e25a4593c5..115e91bd56 100644
--- a/var/spack/repos/builtin/packages/r-rsconnect/package.py
+++ b/var/spack/repos/builtin/packages/r-rsconnect/package.py
@@ -16,6 +16,7 @@ class RRsconnect(RPackage):
homepage = "https://github.com/rstudio/rsconnect"
cran = "rsconnect"
+ version('0.8.25', sha256='3c055277f745f2ca37a73e2f425249307cea4dc95ecc59fbe05ee8b6cf26d9cf')
version('0.8.17', sha256='64767a4d626395b7871375956a9f0455c3d64ff6e779633b0e554921d85da231')
depends_on('r@3.0.0:', type=('build', 'run'))
@@ -23,6 +24,7 @@ class RRsconnect(RPackage):
depends_on('r-digest', type=('build', 'run'))
depends_on('r-jsonlite', type=('build', 'run'))
depends_on('r-openssl', type=('build', 'run'))
+ depends_on('r-packrat@0.6:', when='@0.8.18:', type=('build', 'run'))
depends_on('r-packrat@0.5:', type=('build', 'run'))
depends_on('r-rstudioapi@0.5:', type=('build', 'run'))
depends_on('r-yaml@2.1.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-tictoc/package.py b/var/spack/repos/builtin/packages/r-tictoc/package.py
index 0b56b4d08a..b080c68383 100644
--- a/var/spack/repos/builtin/packages/r-tictoc/package.py
+++ b/var/spack/repos/builtin/packages/r-tictoc/package.py
@@ -7,8 +7,8 @@ from spack import *
class RTictoc(RPackage):
- """tictoc: Functions for timing R scripts, as well as implementations of
- Stack and List structures
+ """Functions for timing R scripts, as well as implementations of Stack and
+ List structures.
This package provides the timing functions 'tic' and 'toc'
that can be nested. One can record all timings while a
@@ -20,9 +20,10 @@ class RTictoc(RPackage):
'push', 'pop', 'first', 'last' and 'clear'."""
homepage = "https://collectivemedia.github.io/tictoc/"
- url = "https://cloud.r-project.org/src/contrib/tictoc_1.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/tictoc"
+ cran = "tictoc"
+ version('1.0.1', sha256='a09a1535c417ddf6637bbbda5fca6edab6c7f7b252a64e57e99d4d0748712705')
version('1.0', sha256='47da097c1822caa2d8e262381987cfa556ad901131eb96109752742526b2e2fe')
- depends_on('r@3.0.3:', type=('build', 'run'))
+ depends_on('r@3.0.3:', type=('build', 'run'), when='@1.0.1:')
+ depends_on('r@3.0.3:4.0', type=('build', 'run'), when='@1.0')
diff --git a/var/spack/repos/builtin/packages/r-tidyverse/package.py b/var/spack/repos/builtin/packages/r-tidyverse/package.py
index b09b4b19f4..268b6d6fe8 100644
--- a/var/spack/repos/builtin/packages/r-tidyverse/package.py
+++ b/var/spack/repos/builtin/packages/r-tidyverse/package.py
@@ -16,60 +16,89 @@ class RTidyverse(RPackage):
<https://tidyverse.org>."""
homepage = "https://tidyverse.tidyverse.org/"
- url = "https://cloud.r-project.org/src/contrib/tidyverse_1.2.1.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/tidyverse"
+ cran = "tidyverse"
+ version('1.3.1', sha256='83cf95109d4606236274f5a8ec2693855bf75d3a1b3bc1ab4426dcc275ed6632')
version('1.3.0', sha256='6d8acb81e994f9bef5e4dcf908bcea3786d108adcf982628235b6c8c80f6fe09')
version('1.2.1', sha256='ad67a27bb4e89417a15338fe1a40251a7b5dedba60e9b72637963d3de574c37b')
- depends_on('r+X', type=('build', 'run'))
+ depends_on('r@3.3:', when='@1.3.1:', type=('build', 'run'))
depends_on('r@3.2:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-broom@0.4.2:', type=('build', 'run'))
+ depends_on('r+X', type=('build', 'run'))
+
+ depends_on('r-broom@0.7.6:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-broom@0.5.2:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-cli@1.0.0:', type=('build', 'run'))
+ depends_on('r-broom@0.4.2:', type=('build', 'run'))
+ depends_on('r-cli@2.4.0:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-cli@1.1.0:', when='@1.3.0:', type=('build', 'run'))
+ depends_on('r-cli@1.0.0:', type=('build', 'run'))
+ depends_on('r-crayon@1.4.1:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-crayon@1.3.4:', type=('build', 'run'))
- depends_on('r-dbplyr@1.1.0:', type=('build', 'run'))
+ depends_on('r-dbplyr@2.1.1:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-dbplyr@1.4.2:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-dplyr@0.7.4:', type=('build', 'run'))
+ depends_on('r-dbplyr@1.1.0:', type=('build', 'run'))
+ depends_on('r-dplyr@1.0.5:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-dplyr@0.8.3:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-forcats@0.2.0:', type=('build', 'run'))
+ depends_on('r-dplyr@0.7.4:', type=('build', 'run'))
+ depends_on('r-dtplyr@1.1.0:', when='@1.3.1:', type=('build', 'run'))
+ depends_on('r-forcats@0.5.1:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-forcats@0.4.0:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-ggplot2@2.2.1:', type=('build', 'run'))
+ depends_on('r-forcats@0.2.0:', type=('build', 'run'))
+ depends_on('r-googledrive@1.0.1:', when='@1.3.1:', type=('build', 'run'))
+ depends_on('r-googlesheets4@0.3.0:', when='@1.3.1:', type=('build', 'run'))
+ depends_on('r-ggplot2@3.3.3:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-ggplot2@3.2.1:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-haven@1.1.0:', type=('build', 'run'))
+ depends_on('r-ggplot2@2.2.1:', type=('build', 'run'))
+ depends_on('r-haven@2.3.1:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-haven@2.2.0:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-hms@0.3:', type=('build', 'run'))
+ depends_on('r-haven@1.1.0:', type=('build', 'run'))
+ depends_on('r-hms@1.0.0:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-hms@0.5.2:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-httr@1.3.1:', type=('build', 'run'))
+ depends_on('r-hms@0.3:', type=('build', 'run'))
+ depends_on('r-httr@1.4.2:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-httr@1.4.1:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-jsonlite@1.5:', type=('build', 'run'))
+ depends_on('r-httr@1.3.1:', type=('build', 'run'))
+ depends_on('r-jsonlite@1.7.2:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-jsonlite@1.6:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-lubridate@1.7.1:', type=('build', 'run'))
+ depends_on('r-jsonlite@1.5:', type=('build', 'run'))
+ depends_on('r-lubridate@1.7.10:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-lubridate@1.7.4:', when='@1.3.0:', type=('build', 'run'))
+ depends_on('r-lubridate@1.7.1:', type=('build', 'run'))
+ depends_on('r-magrittr@2.0.1:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-magrittr@1.5:', type=('build', 'run'))
- depends_on('r-modelr@0.1.1:', type=('build', 'run'))
+ depends_on('r-modelr@0.1.8:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-modelr@0.1.5:', when='@1.3.0:', type=('build', 'run'))
+ depends_on('r-modelr@0.1.1:', type=('build', 'run'))
+ depends_on('r-pillar@1.6.0:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-pillar@1.4.2:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-purrr@0.2.4:', type=('build', 'run'))
+ depends_on('r-purrr@0.3.4:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-purrr@0.3.3:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-readr@1.1.1:', type=('build', 'run'))
+ depends_on('r-purrr@0.2.4:', type=('build', 'run'))
+ depends_on('r-readr@1.4.0:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-readr@1.3.1:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-readxl@1.0.0:', type=('build', 'run'))
+ depends_on('r-readr@1.1.1:', type=('build', 'run'))
depends_on('r-readxl@1.3.1:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-reprex@0.1.1:', type=('build', 'run'))
+ depends_on('r-readxl@1.0.0:', type=('build', 'run'))
+ depends_on('r-reprex@2.0.0:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-reprex@0.3.0:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-rlang@0.1.4:', type=('build', 'run'))
+ depends_on('r-reprex@0.1.1:', type=('build', 'run'))
+ depends_on('r-rlang@0.4.10:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-rlang@0.4.1:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-rstudioapi@0.7:', type=('build', 'run'))
+ depends_on('r-rlang@0.1.4:', type=('build', 'run'))
+ depends_on('r-rstudioapi@0.13:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-rstudioapi@0.10:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-rvest@0.3.2:', type=('build', 'run'))
+ depends_on('r-rstudioapi@0.7:', type=('build', 'run'))
+ depends_on('r-rvest@1.0.0:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-rvest@0.3.5:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-stringr@1.2.0:', type=('build', 'run'))
+ depends_on('r-rvest@0.3.2:', type=('build', 'run'))
depends_on('r-stringr@1.4.0:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-tibble@1.3.4:', type=('build', 'run'))
+ depends_on('r-stringr@1.2.0:', type=('build', 'run'))
+ depends_on('r-tibble@3.1.0:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-tibble@2.1.3:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-tidyr@0.7.2:', type=('build', 'run'))
+ depends_on('r-tibble@1.3.4:', type=('build', 'run'))
+ depends_on('r-tidyr@1.1.3:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-tidyr@1.0.0:', when='@1.3.0:', type=('build', 'run'))
- depends_on('r-xml2@1.1.1:', type=('build', 'run'))
+ depends_on('r-tidyr@0.7.2:', type=('build', 'run'))
+ depends_on('r-xml2@1.3.2:', when='@1.3.1:', type=('build', 'run'))
depends_on('r-xml2@1.2.2:', when='@1.3.0:', type=('build', 'run'))
+ depends_on('r-xml2@1.1.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-v8/package.py b/var/spack/repos/builtin/packages/r-v8/package.py
index c57a192f61..f1926109bb 100644
--- a/var/spack/repos/builtin/packages/r-v8/package.py
+++ b/var/spack/repos/builtin/packages/r-v8/package.py
@@ -10,16 +10,18 @@ class RV8(RPackage):
"""V8: Embedded JavaScript and WebAssembly Engine for R"""
homepage = "https://github.com/jeroen/v8"
- url = "https://cloud.r-project.org/src/contrib/V8_3.4.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/V8"
+ cran = "V8"
- version('3.4.0', sha256='f5c8a2a03cc1be9f504f47711a0fcd1b962745139c9fb2a10fbd79c4ae103fbd')
+ version('3.6.0', sha256='a3969898bf4a7c13d3130fae0d385cd048d46372ff4a412917b914b159261377')
+ version('3.4.0', sha256='f5c8a2a03cc1be9f504f47711a0fcd1b962745139c9fb2a10fbd79c4ae103fbd',
+ deprecated=True)
- depends_on('r-curl@1.0:', type=('build', 'run'))
- depends_on('r-jsonlite@1.0:', type=('build', 'run'))
depends_on('r-rcpp@0.12.12:', type=('build', 'run'))
+ depends_on('r-jsonlite@1.0:', type=('build', 'run'))
+ depends_on('r-curl@1.0:', type=('build', 'run'))
conflicts('@3.4.0', when='target=aarch64:')
+ conflicts('@3.4.0', when='%gcc@5:')
def setup_build_environment(self, env):
spec = self.spec
diff --git a/var/spack/repos/builtin/packages/r-viridislite/package.py b/var/spack/repos/builtin/packages/r-viridislite/package.py
index 352d17d971..6125075cfd 100644
--- a/var/spack/repos/builtin/packages/r-viridislite/package.py
+++ b/var/spack/repos/builtin/packages/r-viridislite/package.py
@@ -10,9 +10,9 @@ class RViridislite(RPackage):
"""viridisLite: Default Color Maps from 'matplotlib' (Lite Version)"""
homepage = "https://github.com/sjmgarnier/viridisLite"
- url = "https://cloud.r-project.org/src/contrib/viridisLite_0.2.0.tar.gz"
- list_url = "https://cloud.r-project.org/src/contrib/Archive/viridisLite"
+ cran = "viridisLite"
+ version('0.4.0', sha256='849955dc8ad9bc52bdc50ed4867fd92a510696fc8294e6971efa018437c83c6a')
version('0.3.0', sha256='780ea12e7c4024d5ba9029f3a107321c74b8d6d9165262f6e64b79e00aa0c2af')
version('0.2.0', sha256='2d4d909f21c51e720bd685f05041ba158294e0a4064e0946d0bd916709818694')
diff --git a/var/spack/repos/builtin/packages/r-vroom/package.py b/var/spack/repos/builtin/packages/r-vroom/package.py
index ad2645bdf5..9019157988 100644
--- a/var/spack/repos/builtin/packages/r-vroom/package.py
+++ b/var/spack/repos/builtin/packages/r-vroom/package.py
@@ -18,6 +18,7 @@ class RVroom(RPackage):
homepage = "https://github.com/r-lib/vroom"
cran = "vroom"
+ version('1.5.7', sha256='d087cb148f71c222fc89199d03df2502689149873414a6d89c2f006d3a109fde')
version('1.5.5', sha256='1d45688c08f162a3300eda532d9e87d144f4bc686769a521bf9a12e3d3b465fe')
depends_on('r@3.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/racket/package.py b/var/spack/repos/builtin/packages/racket/package.py
new file mode 100644
index 0000000000..0b5e9d9a5f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/racket/package.py
@@ -0,0 +1,67 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Racket(Package):
+ """The Racket programming language."""
+
+ homepage = "https://www.racket-lang.org"
+
+ maintainers = ['arjunguha', 'elfprince13']
+
+ version('8.3', '3b963cd29ae119e1acc2c6dc4781bd9f25027979589caaae3fdfc021aac2324b')
+
+ depends_on('libffi', type=('build', 'link', 'run'))
+ depends_on('patchutils')
+ depends_on('libtool', type=('build'))
+
+ phases = ['configure', 'build', 'install']
+
+ def url_for_version(self, version):
+ return "https://mirror.racket-lang.org/installers/{0}/racket-minimal-{0}-src-builtpkgs.tgz".format(version)
+
+ variant('cs', default=True, description='Build Racket CS (new ChezScheme VM)')
+ variant('bc', default=False, description='Build Racket BC (old MZScheme VM)')
+ variant('shared', default=True, description="Enable shared")
+ variant('jit', default=True, description="Just-in-Time Compilation")
+
+ parallel = False
+ extendable = True
+
+ def toggle(self, spec, variant):
+ toggle_text = ("enable" if spec.variants[variant].value else "disable")
+ return "--{0}-{1}".format(toggle_text, variant)
+
+ def configure(self, spec, prefix):
+ with working_dir('src'):
+ configure = Executable("./configure")
+ configure_args = [self.toggle(spec, 'cs'),
+ self.toggle(spec, 'bc'),
+ self.toggle(spec, 'jit')]
+ toggle_shared = self.toggle(spec, 'shared')
+ if sys.platform == 'darwin':
+ configure_args += ["--enable-macprefix"]
+ if "+xonx" in spec:
+ configure_args += ["--enable-xonx", toggle_shared]
+ else:
+ configure_args += [toggle_shared]
+ configure_args += ["--prefix={0}".format(prefix)]
+ configure(*configure_args)
+
+ def build(self, spec, prefix):
+ with working_dir('src'):
+ if spec.variants["bc"].value:
+ make("bc")
+ if spec.variants["cs"].value:
+ make("cs")
+
+ def install(self, spec, prefix):
+ with working_dir('src'):
+ if spec.variants["bc"].value:
+ make('install-bc')
+ if spec.variants["cs"].value:
+ make('install-cs')
diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py
index dc2a2440cb..fd76843ec8 100644
--- a/var/spack/repos/builtin/packages/raja/package.py
+++ b/var/spack/repos/builtin/packages/raja/package.py
@@ -58,6 +58,8 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
depends_on('camp@0.2.2', when='@0.14.0:')
depends_on('camp@0.1.0', when='@0.12.0:0.13.0')
+ depends_on('cmake@:3.20', when='+rocm', type='build')
+
with when('+rocm @0.12.0:'):
depends_on('camp+rocm')
for arch in ROCmPackage.amdgpu_targets:
@@ -126,10 +128,16 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
entries = []
entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec['blt'].prefix))
- entries.append(cmake_cache_path("camp_DIR", spec['camp'].prefix))
+ if 'camp' in self.spec:
+ entries.append(cmake_cache_path("camp_DIR", spec['camp'].prefix))
entries.append(cmake_cache_option("BUILD_SHARED_LIBS", '+shared' in spec))
entries.append(cmake_cache_option("ENABLE_EXAMPLES", '+examples' in spec))
- entries.append(cmake_cache_option("ENABLE_EXERCISES", '+exercises' in spec))
+ if spec.satisfies('@0.14.0:'):
+ entries.append(cmake_cache_option("RAJA_ENABLE_EXERCISES",
+ '+exercises' in spec))
+ else:
+ entries.append(cmake_cache_option("ENABLE_EXERCISES",
+ '+exercises' in spec))
# Work around spack adding -march=ppc64le to SPACK_TARGET_ARGS which
# is used by the spack compiler wrapper. This can go away when BLT
diff --git a/var/spack/repos/builtin/packages/random123/package.py b/var/spack/repos/builtin/packages/random123/package.py
index 7e9a898d23..6c527e0bc0 100644
--- a/var/spack/repos/builtin/packages/random123/package.py
+++ b/var/spack/repos/builtin/packages/random123/package.py
@@ -13,11 +13,15 @@ class Random123(Package):
conventional approach of using N iterations of a stateful
transformation."""
homepage = "https://www.deshawresearch.com/resources_random123.html"
- url = "https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.09.tar.gz"
+ url = "https://github.com/DEShawResearch/random123/archive/refs/tags/v1.14.0.tar.gz"
- version('1.13.2', sha256='74a1c6bb66b2684f03d3b1008642a2e9141909103cd09f428d2c60bcaa51cb40')
- version('1.10', sha256='4afdfba4b941e33e23b5de9b7907b7e3ac326cb4d34b5fa8225edd00b5fe053b')
- version('1.09', sha256='cf6abf623061bcf3d17e5e49bf3f3f0ae400ee89ae2e97c8cb8dcb918b1ebabe')
+ version('1.14.0', sha256='effafd8656b18030b2a5b995cd3650c51a7c45052e6e1c21e48b9fa7a59d926e')
+ version('1.13.2', sha256='74a1c6bb66b2684f03d3b1008642a2e9141909103cd09f428d2c60bcaa51cb40',
+ url='https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.13.2.tar.gz')
+ version('1.10', sha256='4afdfba4b941e33e23b5de9b7907b7e3ac326cb4d34b5fa8225edd00b5fe053b',
+ url='https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.10.tar.gz')
+ version('1.09', sha256='cf6abf623061bcf3d17e5e49bf3f3f0ae400ee89ae2e97c8cb8dcb918b1ebabe',
+ url='https://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.09.tar.gz')
patch('ibmxl.patch', when='@1.09')
patch('arm-gcc.patch', when='@1.09')
diff --git a/var/spack/repos/builtin/packages/rapidjson/arm.patch b/var/spack/repos/builtin/packages/rapidjson/arm.patch
index db14814048..db14814048 100755..100644
--- a/var/spack/repos/builtin/packages/rapidjson/arm.patch
+++ b/var/spack/repos/builtin/packages/rapidjson/arm.patch
diff --git a/var/spack/repos/builtin/packages/raxml/nox86.patch b/var/spack/repos/builtin/packages/raxml/nox86.patch
index 16ad6fa67a..16ad6fa67a 100755..100644
--- a/var/spack/repos/builtin/packages/raxml/nox86.patch
+++ b/var/spack/repos/builtin/packages/raxml/nox86.patch
diff --git a/var/spack/repos/builtin/packages/rclone/package.py b/var/spack/repos/builtin/packages/rclone/package.py
index acef5bd475..7d131e4631 100644
--- a/var/spack/repos/builtin/packages/rclone/package.py
+++ b/var/spack/repos/builtin/packages/rclone/package.py
@@ -11,10 +11,11 @@ class Rclone(Package):
to and from various cloud storage providers"""
homepage = "https://rclone.org"
- url = "https://github.com/ncw/rclone/releases/download/v1.56.2/rclone-v1.56.2.tar.gz"
+ url = "https://github.com/ncw/rclone/releases/download/v1.57.0/rclone-v1.57.0.tar.gz"
maintainers = ['alecbcs']
+ version('1.57.0', sha256='3a762c02c202a9142c2d5c1a3927563a556d1683abadd25d2f695e237e4ea693')
version('1.56.2', sha256='a8813d25c4640e52495fee83e525e76283c63f01d1cce8fbb58d8486b0c20c8a')
version('1.56.1', sha256='090b4b082caa554812f341ae26ea6758b40338836122595d6283c60c39eb5a97')
version('1.56.0', sha256='81d2eda23ebaad0a355aab6ff030712470a42505b94c01c9bb5a9ead9168cedb')
diff --git a/var/spack/repos/builtin/packages/reframe/package.py b/var/spack/repos/builtin/packages/reframe/package.py
index 18ed0de0be..150d5d5f13 100644
--- a/var/spack/repos/builtin/packages/reframe/package.py
+++ b/var/spack/repos/builtin/packages/reframe/package.py
@@ -24,6 +24,8 @@ class Reframe(Package):
maintainers = ['victorusu', 'vkarak']
version('master', branch='master')
+ version('3.9.2', sha256='2b60422615d5b52e5dca54ace0f53a712419bcce00a5515775e57e5f5f9d6e92')
+ version('3.9.1', sha256='8f7f4991d1c32cc23f8b10a7509166030548bfe84e4785d017d8d797e31b0498')
version('3.9.0', sha256='ccc36cb1db12148fe7658583e83c2717f5aae0d8c58f6b6ddd398e187c3edc3a')
version('3.8.3', sha256='50b05b0952954215ac00a8b2e8944c946f387043660184f2fbf75995d0579d83')
version('3.8.2', sha256='89116b320021193156f3d7f27057aeb900936502219e2aefa880bc0311052dbf')
diff --git a/var/spack/repos/builtin/packages/rhash/package.py b/var/spack/repos/builtin/packages/rhash/package.py
index eee6a50b03..641b3dc4f4 100644
--- a/var/spack/repos/builtin/packages/rhash/package.py
+++ b/var/spack/repos/builtin/packages/rhash/package.py
@@ -3,6 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os
+
class Rhash(MakefilePackage):
"""RHash is a console utility for computing and verifying hash sums of
@@ -13,11 +15,18 @@ class Rhash(MakefilePackage):
homepage = "https://sourceforge.net/projects/rhash/"
url = "https://github.com/rhash/RHash/archive/v1.3.5.tar.gz"
+ version('1.4.2', sha256='600d00f5f91ef04194d50903d3c79412099328c42f28ff43a0bdb777b00bec62')
version('1.3.5', sha256='98e0688acae29e68c298ffbcdbb0f838864105f9b2bd8857980664435b1f1f2e')
+ # configure: fix clang detection on macOS
+ # Patch accepted and merged upstream, remove on next release
+ patch('https://github.com/rhash/RHash/commit/4dc506066cf1727b021e6352535a8bb315c3f8dc.patch?full_index=1',
+ when='@1.4.2', sha256='3fbfe4603d2ec5228fd198fc87ff3ee281e1f68d252c1afceaa15cba76e9b6b4')
+
# For macOS build instructions, see:
# https://github.com/Homebrew/homebrew-core/blob/master/Formula/rhash.rb
+ @when('@:1.3.5')
def build(self, spec, prefix):
# Doesn't build shared libraries by default
make('PREFIX={0}'.format(prefix))
@@ -27,6 +36,11 @@ class Rhash(MakefilePackage):
else:
make('PREFIX={0}'.format(prefix), 'lib-shared')
+ @when('@1.3.6:')
+ def build(self, spec, prefix):
+ configure('--prefix=')
+ make()
+
def check(self):
# Makefile has both `test` and `check` targets:
#
@@ -36,12 +50,19 @@ class Rhash(MakefilePackage):
# Default implmentation is to run both `make test` and `make check`.
# `test` passes, but `check` fails, so only run `test`.
make('test')
- make('test-static-lib')
+ if self.spec.satisfies('@:1.3.5'):
+ make('test-static-lib')
+ else:
+ make('test-lib-static')
- if not self.spec.satisfies('platform=darwin'):
+ if not self.spec.satisfies('@:1.3.5 platform=darwin'):
make('test-shared')
- make('test-shared-lib')
+ if self.spec.satisfies('@:1.3.5'):
+ make('test-shared-lib')
+ else:
+ make('test-lib-shared')
+ @when('@:1.3.5')
def install(self, spec, prefix):
# Some things are installed to $(DESTDIR)$(PREFIX) while other things
# are installed to $DESTDIR/etc.
@@ -52,3 +73,25 @@ class Rhash(MakefilePackage):
install('librhash/*.dylib', prefix.lib)
else:
make('install-lib-shared', 'DESTDIR={0}'.format(prefix), 'PREFIX=')
+ os.symlink(join_path(prefix.lib, 'librhash.so.0'),
+ join_path(prefix.lib, 'librhash.so'))
+
+ @when('@1.3.6:')
+ def install(self, spec, prefix):
+ # Intermittent issues during installation, prefix.bin directory already exists
+ make('install', 'DESTDIR={0}'.format(prefix), parallel=False)
+ make('install-pkg-config', 'DESTDIR={0}'.format(prefix))
+ make('install-lib-so-link', 'DESTDIR={0}'.format(prefix))
+ make('install-lib-headers', 'DESTDIR={0}'.format(prefix))
+
+ @run_after('install')
+ def darwin_fix(self):
+ # The shared library is not installed correctly on Darwin; fix this
+ if self.spec.satisfies('@1.3.6: platform=darwin'):
+ # Fix RPATH for <prefix>/bin/rhash
+ old = '/lib/librhash.0.dylib'
+ new = self.prefix.lib.join('librhash.dylib')
+ install_name_tool = Executable('install_name_tool')
+ install_name_tool('-change', old, new, self.prefix.bin.rhash)
+ # Fix RPATH for <prefix>/lib/librhash.dylib
+ fix_darwin_install_name(self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py
index 2ca4014449..6a1df5cf3a 100644
--- a/var/spack/repos/builtin/packages/rivet/package.py
+++ b/var/spack/repos/builtin/packages/rivet/package.py
@@ -168,7 +168,7 @@ class Rivet(AutotoolsPackage):
if self.spec.variants['hepmc'].value == '2':
args += ['--with-hepmc=' + self.spec['hepmc'].prefix]
else:
- args += ['--with-hepmc3=' + self.spec['hepmc'].prefix]
+ args += ['--with-hepmc3=' + self.spec['hepmc3'].prefix]
if self.spec.satisfies('@:1'):
args += ['--with-boost-incpath=' + self.spec['boost'].includes]
diff --git a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py
index 32af84d329..baf58a7a3c 100644
--- a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py
+++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py
@@ -19,7 +19,8 @@ aomp = [
"808fca9bdefb109d5bcbbc9f5b59c564a6d422488869e986516f2a7233eda235",
"aa75455cf1d333419e5310117678e5789c5222f7cb05b05e3dfacef855c55d84",
"9e6ed2c7bdc3b4af069751b5d3e92913fd5ac318ae844f68bd78c5def990a8f7",
- "c368d39ba9c1bc8b0edbe66edaa3f2a4ff5649c2bd16f499ac19dfd1591dec5a"
+ "c368d39ba9c1bc8b0edbe66edaa3f2a4ff5649c2bd16f499ac19dfd1591dec5a",
+ "c2b1a61a15fdf8d50c7c7a1ad75512f059c53a7bd5afe85f69e984f1174aa74a"
]
devlib = [
@@ -27,7 +28,8 @@ devlib = [
"bca9291385d6bdc91a8b39a46f0fd816157d38abb1725ff5222e6a0daa0834cc",
"d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a",
"f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b",
- "34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f"
+ "34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f",
+ "055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2"
]
llvm = [
@@ -35,7 +37,8 @@ llvm = [
"8262aff88c1ff6c4deb4da5a4f8cda1bf90668950e2b911f93f73edaee53b370",
"aa1f80f429fded465e86bcfaef72255da1af1c5c52d58a4c979bc2f6c2da5a69",
"244e38d824fa7dfa8d0edf3c036b3c84e9c17a16791828e4b745a8d31eb374ae",
- "751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661"
+ "751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661",
+ "1567d349cd3bcd2c217b3ecec2f70abccd5e9248bd2c3c9f21d4cdb44897fc87"
]
flang = [
@@ -43,7 +46,8 @@ flang = [
"3990d39ff1c908b150f464f0653a123d94be30802f9cad6af18fbb560c4b412e",
"f3e19699ce4ac404f41ffe08ef4546e31e2e741d8deb403b5477659e054275d5",
"f41f661425534b5cfb20e2c0efd9d0800609dc3876ee9c3f76f026d36abbfa35",
- "d6c3f3aaa289251a433d99d1cffe432812093089ae876a6863295a15066c1eaf"
+ "d6c3f3aaa289251a433d99d1cffe432812093089ae876a6863295a15066c1eaf",
+ "13d3525078fd1c569f7c8ea7fce439b04f6b03814bbe88600c08f95c788e7802"
]
extras = [
@@ -51,10 +55,11 @@ extras = [
"5d98d34aff97416d8b5b9e16e7cf474580f8de8a73bd0e549c4440a3c5df4ef5",
"51cc8a7c5943e1d9bc657fc9b9797f45e3ce6a4e544d3d3a967c7cd0185a0510",
"91fdfadb94aa6afc1942124d0953ddc80c297fa75de1897fb42ac8e7dea51ab9",
- "31bbe70b51c259a54370d021ae63528a1740b5477a22412685afd14150fff6f4"
+ "31bbe70b51c259a54370d021ae63528a1740b5477a22412685afd14150fff6f4",
+ "ec6cc4a9c24f098496de3206714dafe9a714f06afacfe21d53a4e6344f9cb4c9"
]
-versions = ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']
+versions = ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0']
versions_dict = dict()
components = ['aomp', 'devlib', 'llvm', 'flang', 'extras']
component_hashes = [aomp, devlib, llvm, flang, extras]
@@ -70,9 +75,10 @@ class RocmOpenmpExtras(Package):
"""OpenMP support for ROCm LLVM."""
homepage = tools_url + "/aomp"
- url = tools_url + "/aomp/archive/rocm-4.2.0.tar.gz"
+ url = tools_url + "/aomp/archive/rocm-4.3.0.tar.gz"
maintainers = ['srekolam', 'arjun-raj-kuppala', 'estewart08']
+ version('4.3.0', sha256=versions_dict['4.3.0']['aomp'])
version('4.2.0', sha256=versions_dict['4.2.0']['aomp'])
version('4.1.0', sha256=versions_dict['4.1.0']['aomp'])
version('4.0.0', sha256=versions_dict['4.0.0']['aomp'])
@@ -88,13 +94,11 @@ class RocmOpenmpExtras(Package):
depends_on('elfutils', type=('build', 'link'))
depends_on('libffi', type=('build', 'link'))
- for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']:
+ for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0']:
depends_on('hsakmt-roct@' + ver, when='@' + ver)
depends_on('comgr@' + ver, when='@' + ver)
depends_on('hsa-rocr-dev@' + ver, when='@' + ver)
- # standalone rocm-device-libs
- depends_on('rocm-device-libs@' + ver, when='@' + ver)
- depends_on('llvm-amdgpu@{0} ~rocm-device-libs ~openmp'.format(ver),
+ depends_on('llvm-amdgpu@{0} ~openmp'.format(ver),
when='@' + ver)
# tag changed to 'rocm-' in 4.0.0
@@ -141,7 +145,7 @@ class RocmOpenmpExtras(Package):
when='@' + ver)
def setup_run_environment(self, env):
- devlibs_prefix = self.spec['rocm-device-libs'].prefix
+ devlibs_prefix = self.spec['llvm-amdgpu'].prefix
openmp_extras_prefix = self.spec['rocm-openmp-extras'].prefix
llvm_prefix = self.spec['llvm-amdgpu'].prefix
env.set('AOMP', '{0}'.format(llvm_prefix))
@@ -169,22 +173,22 @@ class RocmOpenmpExtras(Package):
def patch(self):
src = self.stage.source_path
- flang_warning = '-Wno-incompatible-pointer-types-discards-qualifiers)'
aomp_extras = '{0}/rocm-openmp-extras/aomp-extras/aomp-device-libs'
libomptarget = \
'{0}/rocm-openmp-extras/llvm-project/openmp/libomptarget'
flang = '{0}/rocm-openmp-extras/flang/'
+ # If not in a git repo the STRIP command will have an empty
+ # argument. This is fixed in later versions.
+ if self.spec.version == Version('4.3.0'):
+ filter_file('STRIP ${FLANG_SHA}', 'STRIP 0',
+ flang.format(src) + 'CMakeLists.txt', string=True)
+
if self.spec.version < Version('4.1.0'):
plugin = '/plugins/hsa/CMakeLists.txt'
else:
- # Spack thinks some warnings from the flang build are errors.
- # Disable those warnings.
- filter_file('PRIVATE -fPIC)',
- 'PRIVATE -fPIC PRIVATE ' + flang_warning,
- flang.format(src) + 'runtime/flang/CMakeLists.txt',
- string=True)
plugin = '/plugins/amdgpu/CMakeLists.txt'
+
filter_file(
'{ROCM_DIR}/amdgcn/bitcode', '{DEVICE_LIBS_DIR}',
aomp_extras.format(src) + '/aompextras/CMakeLists.txt',
@@ -257,7 +261,7 @@ class RocmOpenmpExtras(Package):
src = self.stage.source_path
gfx_list = "gfx700;gfx701;gfx801;gfx803;gfx900;gfx902;gfx906;gfx908"
openmp_extras_prefix = self.spec['rocm-openmp-extras'].prefix
- devlibs_prefix = self.spec['rocm-device-libs'].prefix
+ devlibs_prefix = self.spec['llvm-amdgpu'].prefix
devlibs_src = '{0}/rocm-openmp-extras/rocm-device-libs'.format(src)
hsa_prefix = self.spec['hsa-rocr-dev'].prefix
hsakmt_prefix = self.spec['hsakmt-roct'].prefix
@@ -268,22 +272,30 @@ class RocmOpenmpExtras(Package):
omp_lib_dir = '{0}/lib'.format(openmp_extras_prefix)
bin_dir = '{0}/bin'.format(llvm_prefix)
lib_dir = '{0}/lib'.format(llvm_prefix)
+ flang_warning = '-Wno-incompatible-pointer-types-discards-qualifiers'
+ libpgmath = '/rocm-openmp-extras/flang/runtime/libpgmath/lib/common'
+ elfutils_inc = spec['elfutils'].prefix.include
# flang1 and flang2 symlink needed for build of flang-runtime
# libdevice symlink to rocm-openmp-extras for runtime
# libdebug symlink to rocm-openmp-extras for runtime
- if not (os.path.islink((os.path.join(bin_dir, 'flang1')))):
- os.symlink(os.path.join(omp_bin_dir, 'flang1'),
- os.path.join(bin_dir, 'flang1'))
- if not (os.path.islink((os.path.join(bin_dir, 'flang2')))):
- os.symlink(os.path.join(omp_bin_dir, 'flang2'),
- os.path.join(bin_dir, 'flang2'))
- if not (os.path.islink((os.path.join(lib_dir, 'libdevice')))):
- os.symlink(os.path.join(omp_lib_dir, 'libdevice'),
- os.path.join(lib_dir, 'libdevice'))
- if not (os.path.islink((os.path.join(llvm_prefix, 'lib-debug')))):
- os.symlink(os.path.join(openmp_extras_prefix, 'lib-debug'),
- os.path.join(llvm_prefix, 'lib-debug'))
+ if (os.path.islink((os.path.join(bin_dir, 'flang1')))):
+ os.unlink(os.path.join(bin_dir, 'flang1'))
+ if (os.path.islink((os.path.join(bin_dir, 'flang2')))):
+ os.unlink(os.path.join(bin_dir, 'flang2'))
+ if (os.path.islink((os.path.join(lib_dir, 'libdevice')))):
+ os.unlink(os.path.join(lib_dir, 'libdevice'))
+ if (os.path.islink((os.path.join(llvm_prefix, 'lib-debug')))):
+ os.unlink(os.path.join(llvm_prefix, 'lib-debug'))
+
+ os.symlink(os.path.join(omp_bin_dir, 'flang1'),
+ os.path.join(bin_dir, 'flang1'))
+ os.symlink(os.path.join(omp_bin_dir, 'flang2'),
+ os.path.join(bin_dir, 'flang2'))
+ os.symlink(os.path.join(omp_lib_dir, 'libdevice'),
+ os.path.join(lib_dir, 'libdevice'))
+ os.symlink(os.path.join(openmp_extras_prefix, 'lib-debug'),
+ os.path.join(llvm_prefix, 'lib-debug'))
# Set cmake args
components = dict()
@@ -299,6 +311,11 @@ class RocmOpenmpExtras(Package):
]
# Shared cmake configuration for openmp, openmp-debug
+ # Due to hsa-rocr-dev using libelf instead of elfutils
+ # the build of openmp fails because the include path
+ # for libelf is placed before elfutils in SPACK_INCLUDE_DIRS.
+ # Passing the elfutils include path via cmake options is a
+ # workaround until hsa-rocr-dev switches to elfutils.
openmp_common_args = [
'-DROCM_DIR={0}'.format(hsa_prefix),
'-DDEVICE_LIBS_DIR={0}/amdgcn/bitcode'.format(devlibs_prefix),
@@ -316,7 +333,9 @@ class RocmOpenmpExtras(Package):
'-DOPENMP_ENABLE_LIBOMPTARGET=1',
'-DOPENMP_ENABLE_LIBOMPTARGET_HSA=1',
'-DLLVM_MAIN_INCLUDE_DIR={0}{1}'.format(src, llvm_inc),
- '-DLLVM_INSTALL_PREFIX={0}'.format(llvm_prefix)
+ '-DLLVM_INSTALL_PREFIX={0}'.format(llvm_prefix),
+ '-DCMAKE_C_FLAGS=-isystem{0}'.format(elfutils_inc),
+ '-DCMAKE_CXX_FLAGS=-isystem{0}'.format(elfutils_inc)
]
if self.spec.version < Version('4.1.0'):
@@ -349,6 +368,15 @@ class RocmOpenmpExtras(Package):
'-DCMAKE_Fortran_COMPILER={0}/flang'.format(bin_dir),
'-DLLVM_TARGETS_TO_BUILD=AMDGPU;x86'
]
+ if self.spec.version >= Version('4.2.0'):
+ # Spack thinks some warnings from the flang build are errors.
+ # Disable those warnings in C and CXX flags.
+ flang_common_args += [
+ '-DCMAKE_CXX_FLAGS={0}'.format(flang_warning) +
+ ' -I{0}{1}'.format(src, libpgmath),
+ '-DCMAKE_C_FLAGS={0}'.format(flang_warning) +
+ ' -I{0}{1}'.format(src, libpgmath)
+ ]
components['pgmath'] = [
'../rocm-openmp-extras/flang/runtime/libpgmath'
diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py
index 07ff61f007..ca4ce6ade6 100644
--- a/var/spack/repos/builtin/packages/rocm-tensile/package.py
+++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py
@@ -27,12 +27,15 @@ class RocmTensile(CMakePackage):
version('3.7.0', sha256='488a7f76ea42a7601d0557f53068ec4832a2c7c06bb1b511470a4e35599a5a4d')
version('3.5.0', sha256='71eb3eed6625b08a4cedb539dd9b596e3d4cc82a1a8063d37d94c0765b6f8257')
- tensile_architecture = ('all', 'gfx803', 'gfx900', 'gfx906', 'gfx908')
+ tensile_architecture = ('all', 'gfx906', 'gfx908', 'gfx000', 'gfx900',
+ 'gfx906:xnack-', 'gfx908:xnack-', 'gfx90a:xnack-',
+ 'gfx1010', 'gfx1011', 'gfx1012', 'gfx1030')
variant('build_type', default='Release', values=("Release", "Debug", "RelWithDebInfo"), description='CMake build type')
- variant('tensile_architecture', default='all', values=tensile_architecture, multi=False)
+ variant('tensile_architecture', default='all', values=tensile_architecture, multi=True)
variant('openmp', default=True, description='Enable OpenMP')
-
+ conflicts('tensile_architecture=gfx906', when='@4.0.1:')
+ conflicts('tensile_architecture=gfx908', when='@4.0.1:')
depends_on('cmake@3:', type='build')
# This is the default library format since 3.7.0
depends_on('msgpack-c@3:', when='@3.7:')
@@ -62,8 +65,20 @@ class RocmTensile(CMakePackage):
def setup_build_environment(self, env):
env.set('CXX', self.spec['hip'].hipcc)
- def cmake_args(self):
+ def get_gpulist_for_tensile_support(self):
arch = self.spec.variants['tensile_architecture'].value
+ if arch[0] == 'all':
+ if self.spec.satisfies('@:4.0.0'):
+ arch_value = self.tensile_architecture[1:4]
+ elif self.spec.satisfies('@4.1.0:4.2.0'):
+ arch_value = self.tensile_architecture[3:6]
+ elif self.spec.satisfies('@4.3.0:'):
+ arch_value = self.tensile_architecture[3:]
+ return arch_value
+ else:
+ return arch
+
+ def cmake_args(self):
args = [
self.define('amd_comgr_DIR', self.spec['comgr'].prefix),
self.define('Tensile_COMPILER', 'hipcc'),
@@ -80,10 +95,8 @@ class RocmTensile(CMakePackage):
if '@3.7.0:' in self.spec:
args.append(self.define('Tensile_LIBRARY_FORMAT', 'msgpack'))
- if self.spec.satisfies('@4.1.0:'):
- if arch == 'gfx906' or arch == 'gfx908':
- arch = arch + ':xnack-'
- args.append(self.define('Tensile_ARCHITECTURE', arch))
+ args.append(self.define('Tensile_ARCHITECTURE',
+ self.get_gpulist_for_tensile_support()))
if self.spec.satisfies('^cmake@3.21.0:3.21.2'):
args.append(self.define('__skip_rocmclang', 'ON'))
diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch
new file mode 100644
index 0000000000..6224329bab
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-validation-suite/004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch
@@ -0,0 +1,50 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ff77558..278a732 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -207,36 +207,7 @@ if ( NOT DEFINED CMAKE_PACKAGING_INSTALL_PREFIX )
+ endif ()
+
+ ################################################################################
+-# Download and unpack yaml-cpp at configure time
+-configure_file(CMakeYamlDownload.cmake yaml-download/CMakeLists.txt)
+-execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
+- RESULT_VARIABLE result
+- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download )
+-if(result)
+- message(FATAL_ERROR "CMake step for yaml-download failed: ${result}")
+-endif()
+-execute_process(COMMAND ${CMAKE_COMMAND} --build .
+- RESULT_VARIABLE result
+- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-download )
+-if(result)
+- message(FATAL_ERROR "Build step for yaml-download failed: ${result}")
+-endif()
+-execute_process(COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR}/yaml-src -B${CMAKE_BINARY_DIR}/yaml-build
+- RESULT_VARIABLE result
+- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src )
+-if(result)
+- message(FATAL_ERROR "Config step for yaml-src failed: ${result}")
+-endif()
+
+-add_custom_target(rvs_yaml_target
+- DEPENDS ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a
+-)
+-
+-add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/yaml-build/libyaml-cpp.a
+- COMMAND make -C ${CMAKE_BINARY_DIR}/yaml-build
+- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/yaml-src
+- COMMENT "Generating yaml-cpp targets"
+- VERBATIM)
+
+ ################################################################################
+ ## GOOGLE TEST
+@@ -446,7 +417,7 @@ if (RVS_BUILD_TESTS)
+ add_subdirectory(testif.so)
+ endif()
+
+-add_dependencies(rvshelper rvs_bin_folder rvs_doc rvs_yaml_target)
++add_dependencies(rvshelper rvs_bin_folder rvs_doc)
+
+
+ add_dependencies(pesm rvslib rvslibrt)
diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py
index 137b9aa1a5..833cce2fe5 100644
--- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py
+++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py
@@ -35,9 +35,11 @@ class RocmValidationSuite(CMakePackage):
patch('001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch')
patch('002-remove-force-setting-hip-inc-path.patch', when='@4.1.0:')
patch('003-cmake-change-to-remove-installs-and-sudo.patch', when='@4.1.0:')
+ patch('004-remove-git-download-yaml-cpp-use-yaml-cpp-recipe.patch', when='@4.3.0:')
depends_on('cmake@3.5:', type='build')
depends_on('zlib', type='link')
+ depends_on('yaml-cpp~shared')
def setup_build_environment(self, build_env):
spec = self.spec
@@ -55,5 +57,7 @@ class RocmValidationSuite(CMakePackage):
return [
self.define('HIP_INC_DIR', self.spec['hip'].prefix),
self.define('ROCM_SMI_DIR', self.spec['rocm-smi-lib'].prefix),
- self.define('ROCBLAS_DIR', self.spec['rocblas'].prefix)
+ self.define('ROCBLAS_DIR', self.spec['rocblas'].prefix),
+ self.define('YAML_INC_DIR', self.spec['yaml-cpp'].prefix.include),
+ self.define('YAML_LIB_DIR', self.spec['yaml-cpp'].libs.directories[0])
]
diff --git a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
index 53070ae524..558a4b63ea 100644
--- a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
+++ b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
@@ -37,6 +37,8 @@ class RocprofilerDev(CMakePackage):
depends_on('rocminfo@' + ver, when='@' + ver)
depends_on('roctracer-dev-api@' + ver, when='@' + ver)
+ depends_on('numactl', type='link', when='@4.3.1')
+
# See https://github.com/ROCm-Developer-Tools/rocprofiler/pull/50
patch('fix-includes.patch')
diff --git a/var/spack/repos/builtin/packages/rocsolver/link-clients-blas.patch b/var/spack/repos/builtin/packages/rocsolver/link-clients-blas.patch
new file mode 100644
index 0000000000..13dfd31976
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocsolver/link-clients-blas.patch
@@ -0,0 +1,22 @@
+diff -r -u a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt
+--- a/clients/benchmarks/CMakeLists.txt 2021-08-14 18:54:53.356456513 -0600
++++ b/clients/benchmarks/CMakeLists.txt 2021-08-14 18:55:25.125354419 -0600
+@@ -19,6 +19,7 @@
+ target_link_libraries( rocsolver-bench PRIVATE
+ cblas
+ lapack
++ blas
+ Threads::Threads
+ hip::device
+ rocsolver-common
+diff -r -u a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt
+--- a/clients/gtest/CMakeLists.txt 2021-08-14 18:54:53.356456513 -0600
++++ b/clients/gtest/CMakeLists.txt 2021-08-14 18:55:16.581112850 -0600
+@@ -89,6 +89,7 @@
+ target_link_libraries( rocsolver-test PRIVATE
+ cblas
+ lapack
++ blas
+ GTest::GTest
+ hip::device
+ rocsolver-common
diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py
index 26dbff2759..f5273f545a 100644
--- a/var/spack/repos/builtin/packages/rocsolver/package.py
+++ b/var/spack/repos/builtin/packages/rocsolver/package.py
@@ -42,6 +42,15 @@ class Rocsolver(CMakePackage):
depends_on('cmake@3.8:', type='build', when='@4.1.0:')
depends_on('cmake@3.5:', type='build')
+ depends_on('googletest@1.10.0:', type='test')
+ depends_on('netlib-lapack@3.7.1:', type='test')
+
+ patch('link-clients-blas.patch', when='@4.3.0:')
+
+ def check(self):
+ exe = join_path(self.build_directory, 'clients', 'staging', 'rocsolver-test')
+ self.run_test(exe, options=['--gtest_filter=checkin*'])
+
for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0',
'4.2.0', '4.3.0', '4.3.1']:
depends_on('hip@' + ver, when='@' + ver)
@@ -52,7 +61,7 @@ class Rocsolver(CMakePackage):
tgt = self.spec.variants['amdgpu_target'].value
args = [
self.define('BUILD_CLIENTS_SAMPLES', 'OFF'),
- self.define('BUILD_CLIENTS_TESTS', 'OFF'),
+ self.define('BUILD_CLIENTS_TESTS', self.run_tests),
self.define('BUILD_CLIENTS_BENCHMARKS', 'OFF')
]
if self.spec.satisfies('@4.1.0'):
diff --git a/var/spack/repos/builtin/packages/roms/package.py b/var/spack/repos/builtin/packages/roms/package.py
index 0492e9a492..9ef249a900 100644
--- a/var/spack/repos/builtin/packages/roms/package.py
+++ b/var/spack/repos/builtin/packages/roms/package.py
@@ -71,7 +71,8 @@ class Roms(MakefilePackage):
"""
Edit Linux-flang.mk makefile to support AOCC compiler
"""
- fflags = ['-fveclib=AMDLIBM', '-O3', '-ffast-math']
+ fflags = ['-fveclib=AMDLIBM', '-O3', '-ffast-math',
+ '-funroll-loops', '-Mstack_arrays', '-std=f2008']
make_aocc = join_path('Compilers',
'{0}-{1}.mk'.format(self.arch, lib))
diff --git a/var/spack/repos/builtin/packages/runc/package.py b/var/spack/repos/builtin/packages/runc/package.py
new file mode 100644
index 0000000000..8afe0eef9d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/runc/package.py
@@ -0,0 +1,24 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Runc(MakefilePackage):
+ """CLI tool for spawning containers on Linux according to the OCI specification"""
+
+ homepage = 'https://github.com/opencontainers/runc'
+ url = 'https://github.com/opencontainers/runc/releases/download/v1.0.2/runc.tar.xz'
+ maintainers = ['bernhardkaindl']
+
+ version('1.0.2', sha256='740acb49e33eaf4958b5109c85363c1d3900f242d4cab47fbdbefa6f8f3c6909')
+
+ depends_on('go', type='build')
+ depends_on('go-md2man', type='build')
+ depends_on('pkgconfig', type='build')
+ depends_on('libseccomp')
+
+ def install(self, spec, prefix):
+ make('install', 'PREFIX=' + prefix)
diff --git a/var/spack/repos/builtin/packages/salmon-tddft/cmakefix.patch b/var/spack/repos/builtin/packages/salmon-tddft/cmakefix.patch
index 65ff24bdb4..65ff24bdb4 100755..100644
--- a/var/spack/repos/builtin/packages/salmon-tddft/cmakefix.patch
+++ b/var/spack/repos/builtin/packages/salmon-tddft/cmakefix.patch
diff --git a/var/spack/repos/builtin/packages/salmon-tddft/fjmpi.patch b/var/spack/repos/builtin/packages/salmon-tddft/fjmpi.patch
index 3208d150e8..3208d150e8 100755..100644
--- a/var/spack/repos/builtin/packages/salmon-tddft/fjmpi.patch
+++ b/var/spack/repos/builtin/packages/salmon-tddft/fjmpi.patch
diff --git a/var/spack/repos/builtin/packages/salmon-tddft/package.py b/var/spack/repos/builtin/packages/salmon-tddft/package.py
index ea5e887bb2..ea5e887bb2 100755..100644
--- a/var/spack/repos/builtin/packages/salmon-tddft/package.py
+++ b/var/spack/repos/builtin/packages/salmon-tddft/package.py
diff --git a/var/spack/repos/builtin/packages/salmon-tddft/v2.0.libxc-5.0.patch b/var/spack/repos/builtin/packages/salmon-tddft/v2.0.libxc-5.0.patch
index 956eb93da4..956eb93da4 100755..100644
--- a/var/spack/repos/builtin/packages/salmon-tddft/v2.0.libxc-5.0.patch
+++ b/var/spack/repos/builtin/packages/salmon-tddft/v2.0.libxc-5.0.patch
diff --git a/var/spack/repos/builtin/packages/samtools/package.py b/var/spack/repos/builtin/packages/samtools/package.py
index 58bf1823f8..439475b393 100644
--- a/var/spack/repos/builtin/packages/samtools/package.py
+++ b/var/spack/repos/builtin/packages/samtools/package.py
@@ -14,6 +14,7 @@ class Samtools(Package):
homepage = "https://www.htslib.org"
url = "https://github.com/samtools/samtools/releases/download/1.13/samtools-1.13.tar.bz2"
+ version('1.14', sha256='9341dabaa98b0ea7d60fd47e42af25df43a7d3d64d8e654cdf852974546b7d74')
version('1.13', sha256='616ca2e051cc8009a1e9c01cfd8c7caf8b70916ddff66f3b76914079465f8c60')
version('1.12', sha256='6da3770563b1c545ca8bdf78cf535e6d1753d6383983c7929245d5dba2902dcb')
version('1.10', sha256='7b9ec5f05d61ec17bd9a82927e45d8ef37f813f79eb03fe06c88377f1bd03585')
@@ -34,6 +35,7 @@ class Samtools(Package):
depends_on('python', type='run')
# htslib became standalone @1.3.1, must use corresponding version
+ depends_on('htslib@1.14', when='@1.14')
depends_on('htslib@1.13', when='@1.13')
depends_on('htslib@1.12', when='@1.12')
depends_on('htslib@1.11', when='@1.11')
@@ -68,8 +70,11 @@ class Samtools(Package):
make('prefix={0}'.format(prefix), 'install')
# Install dev headers and libs for legacy apps depending on them
- mkdir(prefix.include)
- mkdir(prefix.lib)
- install('sam.h', prefix.include)
- install('bam.h', prefix.include)
- install('libbam.a', prefix.lib)
+ # per https://github.com/samtools/samtools/releases/tag/1.14
+ # these have been removed (bam.h still exists but paired down)
+ if spec.satisfies('@:1.13'):
+ mkdir(prefix.include)
+ mkdir(prefix.lib)
+ install('sam.h', prefix.include)
+ install('bam.h', prefix.include)
+ install('libbam.a', prefix.lib)
diff --git a/var/spack/repos/builtin/packages/scale/fj-own_compiler.patch b/var/spack/repos/builtin/packages/scale/fj-own_compiler.patch
new file mode 100644
index 0000000000..fb4aa01e85
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scale/fj-own_compiler.patch
@@ -0,0 +1,51 @@
+diff --git a/sysdep/Makedef.FUGAKU b/sysdep/Makedef.FUGAKU
+index 37d41388a..c08707165 100644
+--- a/sysdep/Makedef.FUGAKU
++++ b/sysdep/Makedef.FUGAKU
+@@ -7,8 +7,8 @@
+ ##### Fortran setting
+ #FFLAGS is set in Mkinclude. FFLAGS_DEBUG is used if SCALE_DEBUG=T
+
+-FC = mpifrtpx
+-SFC = frtpx
++FC = mpifrt
++SFC = frt
+ MODDIROPT = -M
+
+ FFLAGS_FAST = -Kfast,parallel,ocl,preex,array_private,noalias=s,mfunc=2 \
+@@ -34,9 +34,9 @@ FFLAGS_DEBUG = -O0 \
+ ##### C setting
+ #CFLAGS is set in Mkinclude. CFLAGS_DEBUG is used if SCALE_DEBUG=T
+
+-CC = mpifccpx
++CC = mpifcc
+
+-CFLAGS_FAST = -Kfast,parallel,ocl,preex,array_private,region_extension,restp=all -Ksimd
++CFLAGS_FAST = -Kfast,ocl,preex -Ksimd
+ CFLAGS_DEBUG = -O0
+
+
+diff --git a/sysdep/Makedef.FX100 b/sysdep/Makedef.FX100
+index 30077bd21..a26d29928 100644
+--- a/sysdep/Makedef.FX100
++++ b/sysdep/Makedef.FX100
+@@ -7,8 +7,8 @@
+ ##### Fortran setting
+ #FFLAGS is set in Mkinclude. FFLAGS_DEBUG is used if SCALE_DEBUG=T
+
+-FC = mpifrtpx
+-SFC = frtpx
++FC = mpifrt
++SFC = frt
+ MODDIROPT = -M
+
+ FFLAGS_FAST = -Kfast,parallel,ocl,preex,array_private,noalias=s,mfunc=2 \
+@@ -35,7 +35,7 @@ FFLAGS_DEBUG = -O0 \
+ ##### C setting
+ #CFLAGS is set in Mkinclude. CFLAGS_DEBUG is used if SCALE_DEBUG=T
+
+-CC = mpifccpx
++CC = mpifcc
+
+ CFLAGS_FAST = -Kfast,parallel,ocl,preex,array_private,region_extension,restp=all -Ksimd
+ CFLAGS_DEBUG = -O0
diff --git a/var/spack/repos/builtin/packages/scale/package.py b/var/spack/repos/builtin/packages/scale/package.py
new file mode 100644
index 0000000000..460089e123
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scale/package.py
@@ -0,0 +1,84 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+import os
+
+from spack import *
+
+
+class Scale(MakefilePackage):
+ """SCALE (Scalable Computing for Advanced Library and Environment) is
+ a basic library for weather and climate model of the earth and planets
+ aimed to be widely used in various models.
+ The SCALE library is developed with co-design by researchers of
+ computational science and computer science."""
+ homepage = "https://scale.riken.jp/"
+ url = "https://scale.riken.jp/archives/scale-5.4.4.tar.gz"
+
+ maintainers = ['t-yamaura']
+
+ version('5.4.4', sha256='7d0ec4069c15d8b9ec7166f32c9a2eda772d975a8e08e420e6b16891ceebb316', preferred=True)
+ version('5.3.6', sha256='3ab0d42cdb16eee568c65b880899e861e464e92088ceb525066c726f31d04848')
+ version('5.2.6', sha256='e63141d05810e3f41fc89c9eb15e2319d753832adabdac8f7c8dd7acc0f5f8ed')
+
+ depends_on('openmpi', type=('build', 'link', 'run'))
+ depends_on('netcdf-c')
+ depends_on('netcdf-fortran')
+ depends_on('parallel-netcdf')
+
+ patch('fj-own_compiler.patch', when='%fj')
+
+ parallel = False
+
+ def setup_build_environment(self, build_env):
+ build_env.set('PREFIX', self.prefix)
+
+ def build(self, spec, prefix):
+ scale_sys_str = ''
+ if self.spec.satisfies('platform=linux %gcc'):
+ scale_sys_str = 'Linux64-gnu-ompi'
+ elif self.spec.satisfies('platform=linux %intel'):
+ scale_sys_str = 'Linux64-intel-impi'
+ elif self.spec.satisfies('platform=linux %pgi'):
+ scale_sys_str = 'Linux64-pgi-ompi'
+ elif self.spec.satisfies('platform=linux target=arm %gcc'):
+ scale_sys_str = 'LinuxARM-gnu-ompi'
+ elif self.spec.satisfies('platform=linux target=a64fx %fj'):
+ scale_sys_str = 'FUGAKU'
+ elif self.spec.satisfies('platform=linux target=s64fx %fj'):
+ scale_sys_str = 'FX100'
+ elif self.spec.satisfies('platform=darwin %gcc'):
+ scale_sys_str = 'MacOSX-gnu-ompi'
+
+ if scale_sys_str == '':
+ raise InstallError('unsupported arch and compiler combination.')
+ env['SCALE_SYS'] = scale_sys_str
+
+ # set SCALE_NETCDF_INCLUDE
+ nc_config = which('nc-config')
+ nc_str = nc_config('--cflags', '--fflags', output=str)
+ try:
+ env['SCALE_NETCDF_INCLUDE'] = nc_str.replace('\n', ' ')
+ except TypeError: # for python3
+ env['SCALE_NETCDF_INCLUDE'] = nc_str.decode().replace('\n', ' ')
+
+ # set SCALE_NETCDF_LIBS
+ nc_config = which('nc-config')
+ nc_str = nc_config('--libs', '--flibs', output=str)
+ try:
+ env['SCALE_NETCDF_LIBS'] = nc_str.replace('\n', ' ')
+ except TypeError: # for python3
+ env['SCALE_NETCDF_LIBS'] = nc_str.decode().replace('\n', ' ')
+
+ make()
+
+ def install(self, spec, prefix):
+ make('install')
+
+ install_tree('bin', prefix.bin)
+ install_tree('lib', prefix.lib)
+ install_tree('doc', prefix.share.docs)
+ install_tree(os.path.join('scale-rm', 'test'),
+ os.path.join(prefix.share, 'test'))
diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py
index bc2c4d1592..cd389ce56c 100644
--- a/var/spack/repos/builtin/packages/seacas/package.py
+++ b/var/spack/repos/builtin/packages/seacas/package.py
@@ -96,6 +96,7 @@ class Seacas(CMakePackage):
with when('+metis'):
depends_on('metis+int64+real64')
depends_on('parmetis+int64', when='+mpi')
+ depends_on('libx11', when='+x11')
# The Faodel TPL is only supported in seacas@2021-04-05:
depends_on('faodel@1.2108.1:+mpi', when='+faodel +mpi')
@@ -126,6 +127,8 @@ class Seacas(CMakePackage):
'-DTPL_ENABLE_MPI:BOOL=ON',
'-DMPI_BASE_DIR:PATH=%s' % spec['mpi'].prefix,
])
+ else:
+ '-DTPL_ENABLE_MPI:BOOL=OFF'
options.extend([
'-DSEACASProj_ENABLE_TESTS:BOOL=ON',
diff --git a/var/spack/repos/builtin/packages/seal/package.py b/var/spack/repos/builtin/packages/seal/package.py
new file mode 100644
index 0000000000..3fa81bba0b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/seal/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Seal(CMakePackage):
+ """Microsoft SEAL is an easy-to-use open-source (MIT licensed)
+ homomorphic encryption library developed by the Cryptography and Privacy
+ Research Group at Microsoft. Microsoft SEAL is written in modern standard
+ C++ and is easy to compile and run in many different environments. For
+ more information about the Microsoft SEAL project, see sealcrypto.org."""
+
+ homepage = "https://github.com/microsoft/SEAL"
+ url = "https://github.com/microsoft/SEAL/archive/refs/tags/v3.7.1.tar.gz"
+
+ maintainers = ['wohlbier']
+
+ version('3.7.1', sha256='6737177bfb582cc1a2863ef1e96cc6c39b119257e7192981a3190eb79e0fcfd3')
+ version('3.7.0', sha256='06ea835d6c9cdbbc4edb72a8db4bd4b1115995f075774043b9f31938d0624543')
+ version('3.6.6', sha256='85a63188a5ccc8d61b0adbb92e84af9b7223fc494d33260fa17a121433790a0e')
+ version('3.6.5', sha256='77bfcb4a8b785206c419cdf7aff8c200250691518eeddc958f874d1f567b2872')
+ version('3.6.4', sha256='7392574fe3b757d5ced8cc973b23a7b69be0cd35b6e778b3c2447598e9ece5b3')
+ version('3.6.3', sha256='aeecdf79afba5f83d1828b3525760c04e52928614038e9a860773943d5d14558')
+ version('3.6.2', sha256='1e2a97deb1f5b543640fc37d7b4737cab2a9849f616c13ff40ad3be4cf29fb9c')
+ version('3.6.1', sha256='e399c0df7fb60ad450a0ccfdc81b99d19308d0fc1f730d4cad4748dfb2fdb516')
+ version('3.6.0', sha256='79c0e45bf301f4577a7633b14e8b26e37eefc89fd4f6a29d13f87e5f22a372ad')
+ version('3.5.9', sha256='23bf3bf7ae1dae5dae271244a5baa66fa01856c52e263fe8368c3a40f2399fc7')
diff --git a/var/spack/repos/builtin/packages/sensei/package.py b/var/spack/repos/builtin/packages/sensei/package.py
index d4ab68964a..1e47210cf7 100644
--- a/var/spack/repos/builtin/packages/sensei/package.py
+++ b/var/spack/repos/builtin/packages/sensei/package.py
@@ -30,7 +30,6 @@ class Sensei(CMakePackage):
version('1.0.0', sha256='5b8609352048e048e065a7b99f615a602f84b3329085e40274341488ef1b9522')
variant('shared', default=True, description='Enables shared libraries')
- variant('sencore', default=True, description='Enables the SENSEI core library')
variant('ascent', default=False, description='Build with ParaView-Catalyst support')
variant('catalyst', default=False, description='Build with ParaView-Catalyst support')
variant('libsim', default=False, description='Build with VisIt-Libsim support')
@@ -39,8 +38,7 @@ class Sensei(CMakePackage):
variant('hdf5', default=False, description='Enables HDF5 adaptors and endpoints')
variant('vtkm', default=False, description='Enable VTKm adaptors and endpoints')
variant('python', default=False, description='Enable Python bindings')
- variant('miniapps', default=True, description='Enable the parallel 3D and oscillators miniapps')
- variant('cxxstd', default='11', values=('11', '14', '17'), multi=False, description='Use the specified C++ standard when building.')
+ variant('miniapps', default=False, description='Enable the parallel 3D and oscillators miniapps')
# All SENSEI versions up to 2.1.1 support only Python 2, so in this case
# Paraview 6 cannot be used since it requires Python 3. Starting from
@@ -85,11 +83,8 @@ class Sensei(CMakePackage):
# -Ox flags are set by default in CMake based on the build type
args = [
self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
- self.define('CMAKE_C_STANDARD', 11),
self.define('SENSEI_USE_EXTERNAL_pugixml', True),
- self.define('CMAKE_POSITION_INDEPENDENT_CODE', True),
- self.define_from_variant('ENABLE_SENSEI', 'sencore'),
+ self.define('ENABLE_SENSEI', True),
self.define_from_variant('ENABLE_ASCENT', 'ascent'),
self.define_from_variant('ENABLE_VTKM', 'vtkm'),
self.define_from_variant('ENABLE_CATALYST', 'catalyst'),
diff --git a/var/spack/repos/builtin/packages/sfcio/package.py b/var/spack/repos/builtin/packages/sfcio/package.py
index ed9d65ebbe..78d9c612c0 100644
--- a/var/spack/repos/builtin/packages/sfcio/package.py
+++ b/var/spack/repos/builtin/packages/sfcio/package.py
@@ -18,3 +18,10 @@ class Sfcio(CMakePackage):
maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
version('1.4.1', sha256='d9f900cf18ec1a839b4128c069b1336317ffc682086283443354896746b89c59')
+
+ def setup_run_environment(self, env):
+ lib = find_libraries('libsfcio', root=self.prefix, shared=False, recursive=True)
+ # Only one library version, but still need to set _4 to make NCO happy
+ for suffix in ('4', ''):
+ env.set('SFCIO_LIB' + suffix, lib[0])
+ env.set('SFCIO_INC' + suffix, join_path(self.prefix, 'include'))
diff --git a/var/spack/repos/builtin/packages/sherpa/package.py b/var/spack/repos/builtin/packages/sherpa/package.py
new file mode 100644
index 0000000000..e3d5922739
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sherpa/package.py
@@ -0,0 +1,129 @@
+# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Sherpa(AutotoolsPackage):
+ """Sherpa is a Monte Carlo event generator for the Simulation of
+ High-Energy Reactions of PArticles in lepton-lepton, lepton-photon,
+ photon-photon, lepton-hadron and hadron-hadron collisions."""
+
+ homepage = "https://sherpa-team.gitlab.io"
+ url = "https://gitlab.com/sherpa-team/sherpa/-/archive/v2.2.11/sherpa-v2.2.11.tar.gz"
+ list_url = "https://gitlab.com/sherpa-team/sherpa/-/tags"
+ git = "https://gitlab.com/sherpa-team/sherpa.git"
+
+ tags = ['hep', 'eic']
+
+ maintainers = ['wdconinc', 'vvolkl']
+ version('2.2.12', sha256='4ba78098e45aaac0bc303d1b5abdc15809f30b407abf9457d99b55e63384c83d')
+ version('2.2.11', sha256='5e12761988b41429f1d104f84fdf352775d233cde7a165eb64e14dcc20c3e1bd')
+ version('2.2.10', sha256='ae23bc8fdcc9f8c26becc41692822233b62203cd72a7e0dab2ca19316aa0aad7')
+ version('2.2.9', sha256='ebc836d42269a0c4049d3fc439a983d19d12595d9a06db2d18765bd1e301923e')
+ version('2.2.8', sha256='ff198cbae5de445e6fe383151021ef24b1628dffc0da6bf3737753f6672a0091')
+ version('2.0.0', sha256='0e873b27bb1be46ca5ed451d1b8514ca84c10221057b11be5952180076e6f848')
+ version('1.3.1', sha256='31881207838d341358db64e3fdadfeee1ea2f6d1cb42f370014f622f579159ae')
+ version('1.3.0', sha256='08b13c65b66f2edde6996d2a06762a12a0682ffb64bca43654df47321e5039a0')
+ version('1.2.3', sha256='029727337a430d6675a1a12dce3ced0411041e79ddaf4ce3b9466035cf6c8804')
+ version('1.2.2', sha256='6e7b5ea80b99f1378519009e494030d6cf4c4491f91218d749eabb8ffaad9ac1')
+ version('1.2.1', sha256='838462f4a1e8768135363aa6b8532fd8f5e5789a269b858f8e3728ab37f6a1d1')
+ version('1.2.0', sha256='509508fd0ad72aaf55ab484da8b6bc0b31688c955adcda62a3e8f94689cebf99')
+ version('1.1.3', sha256='6335e5eb1fc304e9618496d3ddb198b3591e57b27db6e876af8fd649a8b98c93')
+ version('1.1.2', sha256='e1689cad6700dc013af0afb0d33729ac2b5e9841d2f325c85b10d773e7f8a80e')
+ version('1.1.1', sha256='b80e1d75934be79b73400d2c95d96e88651626ea29ddcb9d8fde9c1812039e29')
+ version('1.1.0', sha256='8052d137d668353dc710f8691b921e772820d39e20361f0d616ee2da1ac798f2')
+ version('1.0.9', sha256='fe28db91ea8264364395c7e5efeeae3e5c01ea1343e0db7fe13924c6f17fb963')
+ version('1.0.8', sha256='6e346bafd13b5b05ad566a73759da6d5e64d65c5036780cc4911d93277e891fa')
+ version('1.0.7', sha256='d1eeefd96c6822ea8eb926447ca91ec4a1c714e4746323e92b1e17764e51ff0b')
+ version('1.0.6', sha256='358d417ec3afde24618c222bc9b742bc5102d435622b3cd6f2e3f72d03656255')
+
+ _cxxstd_values = ('11', '14', '17')
+ variant('cxxstd', default='11', values=_cxxstd_values, multi=False,
+ description='Use the specified C++ standard when building')
+
+ variant('analysis', default=True, description='Enable analysis components')
+ variant('mpi', default=False, description='Enable MPI')
+ variant('python', default=False, description='Enable Python API')
+ variant('hepmc2', default=True, description='Enable HepMC (version 2.x) support')
+ variant('hepmc3', default=True, description='Enable HepMC (version 3.x) support')
+ variant('hepmc3root', default=False, description='Enable HepMC (version 3.1+) ROOT support')
+ variant('rivet', default=False, description='Enable Rivet support')
+ variant('fastjet', default=True, description='Enable FASTJET')
+ variant('openloops', default=False, description='Enable OpenLoops')
+ variant('recola', default=False, description='Enable Recola')
+ variant('lhole', default=False, description='Enable Les Houches One-Loop Generator interface')
+ variant('root', default=False, description='Enable ROOT support')
+ variant('lhapdf', default=True, description='Enable LHAPDF support')
+ variant('gzip', default=False, description='Enable gzip support')
+ variant('pythia', default=True, description='Enable fragmentation/decay interface to Pythia')
+
+ # Note that the delphes integration seems utterly broken: https://sherpa.hepforge.org/trac/ticket/305
+
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
+ depends_on('m4', type='build')
+ depends_on('texinfo', type='build')
+ depends_on('sqlite')
+
+ depends_on('mpi', when='+mpi')
+ depends_on('python', when='+python')
+ depends_on('swig', when='+python', type='build')
+ depends_on('hepmc', when='+hepmc2')
+ depends_on('hepmc3', when='+hepmc3')
+ depends_on('hepmc3 +rootio', when='+hepmc3root')
+ depends_on('rivet', when='+rivet')
+ depends_on('fastjet', when='+fastjet')
+ depends_on('openloops', when='+openloops')
+ depends_on('recola', when='+recola')
+ depends_on('root', when='+root')
+ depends_on('lhapdf', when='+lhapdf')
+ depends_on('gzip', when='+gzip')
+ depends_on('pythia6', when='+pythia')
+
+ for std in _cxxstd_values:
+ depends_on('root cxxstd=' + std, when='+root cxxstd=' + std)
+
+ def patch(self):
+ filter_file(r'#include <sys/sysctl.h>',
+ '#ifdef ARCH_DARWIN\n#include <sys/sysctl.h>\n#endif',
+ 'ATOOLS/Org/Run_Parameter.C')
+
+ def configure_args(self):
+ args = []
+ args.append('--enable-shared')
+ args.append('--enable-binreloc')
+ args.append('--enable-static')
+ args.append('--enable-hepevtsize=200000')
+ args.append('--with-sqlite3=' + self.spec['sqlite'].prefix)
+ args.extend(self.enable_or_disable('mpi'))
+ if self.spec.satisfies('+python'):
+ args.append('--enable-pyext')
+ args.extend(self.enable_or_disable('analysis'))
+ args.extend(self.enable_or_disable('lhole'))
+ args.extend(self.enable_or_disable('gzip'))
+ args.extend(self.enable_or_disable('pythia'))
+ if self.spec.satisfies('+hepmc2'):
+ args.append('--enable-hepmc2=' + self.spec['hepmc'].prefix)
+ if self.spec.satisfies('+hepmc3'):
+ args.append('--enable-hepmc3=' + self.spec['hepmc3'].prefix)
+ if self.spec.satisfies('+rivet'):
+ args.append('--enable-rivet=' + self.spec['rivet'].prefix)
+ if self.spec.satisfies('+fastjet'):
+ args.append('--enable-fastjet=' + self.spec['fastjet'].prefix)
+ if self.spec.satisfies('+openloops'):
+ args.append('--enable-openloops=' + self.spec['openloops'].prefix)
+ if self.spec.satisfies('+recola'):
+ args.append('--enable-recola=' + self.spec['recola'].prefix)
+ if self.spec.satisfies('+root'):
+ args.append('--enable-root=' + self.spec['root'].prefix)
+ if self.spec.satisfies('+lhapdf'):
+ args.append('--enable-lhapdf=' + self.spec['lhapdf'].prefix)
+ if self.spec.satisfies('+hztool'):
+ args.append('--enable-hztool=' + self.spec['hztool'].prefix)
+ if self.spec.satisfies('+cernlib'):
+ args.append('--enable-cernlib=' + self.spec['cernlib'].prefix)
+ return args
diff --git a/var/spack/repos/builtin/packages/sigio/package.py b/var/spack/repos/builtin/packages/sigio/package.py
index ba63a5a013..97fb108848 100644
--- a/var/spack/repos/builtin/packages/sigio/package.py
+++ b/var/spack/repos/builtin/packages/sigio/package.py
@@ -18,3 +18,10 @@ class Sigio(CMakePackage):
maintainers = ['t-brown', 'kgerheiser', 'Hang-Lei-NOAA', 'edwardhartnett']
version('2.3.2', sha256='333f3cf3a97f97103cbafcafc2ad89b24faa55b1332a98adc1637855e8a5b613')
+
+ def setup_run_environment(self, env):
+ lib = find_libraries('libsigio', root=self.prefix, shared=False, recursive=True)
+ # Only one library version, but still need to set _4 to make NCO happy
+ for suffix in ('4', ''):
+ env.set('SIGIO_LIB' + suffix, lib[0])
+ env.set('SIGIO_INC' + suffix, join_path(self.prefix, 'include'))
diff --git a/var/spack/repos/builtin/packages/silo/H5EPR_SEMI_COLON.patch b/var/spack/repos/builtin/packages/silo/H5EPR_SEMI_COLON.patch
new file mode 100644
index 0000000000..ae74145081
--- /dev/null
+++ b/var/spack/repos/builtin/packages/silo/H5EPR_SEMI_COLON.patch
@@ -0,0 +1,58 @@
+diff --git a/src/hdf5_drv/H5FDsilo.c b/src/hdf5_drv/H5FDsilo.c
+--- a/src/hdf5_drv/H5FDsilo.c
++++ b/src/hdf5_drv/H5FDsilo.c
+@@ -243,6 +243,12 @@
+ return tmp;
+ }
+
++#if HDF5_VERSION_GE(1,10,8)
++#define H5EPR_SEMI_COLON ;
++#else
++#define H5EPR_SEMI_COLON
++#endif
++
+
+ #ifdef H5_HAVE_SNPRINTF
+ #define H5E_PUSH_HELPER(Func,Cls,Maj,Min,Msg,Ret,Errno) \
+@@ -252,13 +258,13 @@
+ snprintf(msg, sizeof(msg), Msg "(errno=%d, \"%s\")", \
+ Errno, strerror(Errno)); \
+ ret_value = Ret; \
+- H5Epush_ret(Func, Cls, Maj, Min, msg, Ret) \
++ H5Epush_ret(Func, Cls, Maj, Min, msg, Ret) H5EPR_SEMI_COLON \
+ }
+ #else
+ #define H5E_PUSH_HELPER(Func,Cls,Maj,Min,Msg,Ret,Errno) \
+ { \
+ ret_value = Ret; \
+- H5Epush_ret(Func, Cls, Maj, Min, Msg, Ret) \
++ H5Epush_ret(Func, Cls, Maj, Min, Msg, Ret) H5EPR_SEMI_COLON \
+ }
+ #endif
+
+@@ -1355,7 +1368,7 @@
+ assert(sizeof(hsize_t)<=8);
+ memcpy(p, &file->block_size, sizeof(hsize_t));
+ if (H5Tconvert(H5T_NATIVE_HSIZE, H5T_STD_U64LE, 1, buf+8, NULL, H5P_DEFAULT)<0)
+- H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1)
++ H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1) H5EPR_SEMI_COLON
+
+ return 0;
+ }
+@@ -1383,14 +1396,14 @@
+
+ /* Make sure the name/version number is correct */
+ if (strcmp(name, "LLNLsilo"))
+- H5Epush_ret(func, H5E_ERR_CLS, H5E_FILE, H5E_BADVALUE, "invalid silo superblock", -1)
++ H5Epush_ret(func, H5E_ERR_CLS, H5E_FILE, H5E_BADVALUE, "invalid silo superblock", -1) H5EPR_SEMI_COLON
+
+ buf += 8;
+ /* Decode block size */
+ assert(sizeof(hsize_t)<=8);
+ memcpy(x, buf, 8);
+ if (H5Tconvert(H5T_STD_U64LE, H5T_NATIVE_HSIZE, 1, x, NULL, H5P_DEFAULT)<0)
+- H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1)
++ H5Epush_ret(func, H5E_ERR_CLS, H5E_DATATYPE, H5E_CANTCONVERT, "can't convert superblock info", -1) H5EPR_SEMI_COLON
+ ap = (hsize_t*)x;
+ /*file->block_size = *ap; ignore stored value for now */
+
diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py
index 3f082a6753..0828c1ed7e 100644
--- a/var/spack/repos/builtin/packages/silo/package.py
+++ b/var/spack/repos/builtin/packages/silo/package.py
@@ -44,7 +44,6 @@ class Silo(AutotoolsPackage):
depends_on('automake', type='build', when='+shared')
depends_on('libtool', type='build', when='+shared')
depends_on('mpi', when='+mpi')
- depends_on('hdf5@:1.10', when='@:4.10.2+hdf5')
depends_on('hdf5', when='+hdf5')
depends_on('qt+gui~framework@4.8:4.9', when='+silex')
depends_on('libx11', when='+silex')
@@ -55,7 +54,11 @@ class Silo(AutotoolsPackage):
patch('remove-mpiposix.patch', when='@4.8:4.10.2')
patch('H5FD_class_t-terminate.patch', when='@:4.10.2 ^hdf5@1.10.0:')
+ # H5EPR_SEMI_COLON.patch should be applied only to silo@4.11 when building
+ # with hdf5@1.10.8 or later 1.10 or with hdf5@1.12.1 or later 1.12
+ patch('H5EPR_SEMI_COLON.patch', when='@:4.11 ^hdf5@1.10.8:1.10,1.12.1:1.12')
+ conflicts('hdf5@1.10.8:', when="@:4.10.2")
conflicts('+hzip', when="@4.11-bsd")
conflicts('+fpzip', when="@4.11-bsd")
conflicts('+hzip', when="@4.10.2-bsd")
diff --git a/var/spack/repos/builtin/packages/simgrid/package.py b/var/spack/repos/builtin/packages/simgrid/package.py
index b440eaa5fa..66db5a99f6 100644
--- a/var/spack/repos/builtin/packages/simgrid/package.py
+++ b/var/spack/repos/builtin/packages/simgrid/package.py
@@ -14,6 +14,10 @@ class Simgrid(CMakePackage):
url = "https://github.com/simgrid/simgrid/releases/download/v3.27/simgrid-3.27.tar.gz"
git = 'https://framagit.org/simgrid/simgrid.git'
+ maintainers = ['viniciusvgp']
+
+ version('3.29', sha256='83e8afd653555eeb70dc5c0737b88036c7906778ecd3c95806c6bf5535da2ccf')
+ version('3.28', sha256='558276e7f8135ce520d98e1bafa029c6c0f5c2d0e221a3a5e42c378fe0c5ef2c')
version('3.27', sha256='51aeb9de0434066e5fec40e785f5ea9fa934afe7f6bfb4aa627246e765f1d6d7')
version('3.26', sha256='ac50da1eacc5a53b094a988a8ecde09962c29320f346b45e74dd32ab9d9f3e96')
version('3.25', sha256='0b5dcdde64f1246f3daa7673eb1b5bd87663c0a37a2c5dcd43f976885c6d0b46',
diff --git a/var/spack/repos/builtin/packages/singularity/package.py b/var/spack/repos/builtin/packages/singularity/package.py
index a53605b968..15ca4ec3f7 100644
--- a/var/spack/repos/builtin/packages/singularity/package.py
+++ b/var/spack/repos/builtin/packages/singularity/package.py
@@ -21,11 +21,12 @@ class Singularity(SingularityBase):
'''
homepage = "https://singularity.hpcng.org/"
git = "https://github.com/hpcng/singularity.git"
- url = "https://github.com/hpcng/singularity/releases/download/v3.8.3/singularity-3.8.3.tar.gz"
+ url = "https://github.com/hpcng/singularity/releases/download/v3.8.5/singularity-3.8.5.tar.gz"
maintainers = ['alalazo']
version('master', branch='master')
+ version('3.8.5', sha256='7fff78b5c07b5d4d08269bd267ac5e994390f933321e54efd6b7c86683153ce4')
version('3.8.3', sha256='2e22eb9ee1b73fdd51b8783149f0e4d83c0d2d8a0c1edf6034157d50eeefb835')
version('3.8.0', sha256='e9608b0e0a8c805218bbe795e9176484837b2f7fcb95e5469b853b3809a2412e')
version('3.7.4', sha256='c266369a8bf2747f44e0759858c3fc3b2325b975a8818b2668f0b97b124d0164')
diff --git a/var/spack/repos/builtin/packages/singularityce/package.py b/var/spack/repos/builtin/packages/singularityce/package.py
index 8b4fea32ff..750e15dbd5 100644
--- a/var/spack/repos/builtin/packages/singularityce/package.py
+++ b/var/spack/repos/builtin/packages/singularityce/package.py
@@ -16,7 +16,7 @@ class SingularityBase(MakefilePackage):
variant('network', default=True, description='install network plugins')
depends_on('pkgconfig', type='build')
- depends_on('go')
+ depends_on('go@1.16:')
depends_on('uuid')
depends_on('libgpg-error')
depends_on('libseccomp')
@@ -25,6 +25,8 @@ class SingularityBase(MakefilePackage):
depends_on('shadow', type='run', when='@3.3:')
depends_on('cryptsetup', type=('build', 'run'), when='@3.4:')
+ conflicts('platform=darwin', msg='singularity requires a Linux VM on Windows & Mac')
+
# Go has novel ideas about how projects should be organized.
# We'll point GOPATH at the stage dir, and move the unpacked src
# tree into the proper subdir in our overridden do_stage below.
@@ -160,10 +162,11 @@ class Singularityce(SingularityBase):
'''
homepage = "https://sylabs.io/singularity/"
- url = "https://github.com/sylabs/singularity/releases/download/v3.8.0/singularity-ce-3.8.0.tar.gz"
+ url = "https://github.com/sylabs/singularity/releases/download/v3.9.1/singularity-ce-3.9.1.tar.gz"
git = "https://github.com/sylabs/singularity.git"
maintainers = ['alalazo']
version('master', branch='master')
+ version('3.9.1', sha256='1ba3bb1719a420f48e9b0a6afdb5011f6c786d0f107ef272528c632fff9fd153')
version('3.8.0', sha256='5fa2c0e7ef2b814d8aa170826b833f91e5031a85d85cd1292a234e6c55da1be1')
diff --git a/var/spack/repos/builtin/packages/sirius/package.py b/var/spack/repos/builtin/packages/sirius/package.py
index 7574b01048..b5ce00d1f8 100644
--- a/var/spack/repos/builtin/packages/sirius/package.py
+++ b/var/spack/repos/builtin/packages/sirius/package.py
@@ -21,6 +21,7 @@ class Sirius(CMakePackage, CudaPackage):
version('develop', branch='develop')
version('master', branch='master')
+ version('7.3.0', sha256='69b5cf356adbe181be6c919032859c4e0160901ff42a885d7e7ea0f38cc772e2')
version('7.2.7', sha256='929bf7f131a4847624858b9c4295532c24b0c06f6dcef5453c0dfc33fb78eb03')
version('7.2.6', sha256='e751fd46cdc7c481ab23b0839d3f27fb00b75dc61dc22a650c92fe8e35336e3a')
version('7.2.5', sha256='794e03d4da91025f77542d3d593d87a8c74e980394f658a0210a4fd91c011f22')
diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py
index 97360e0b19..df705897d7 100644
--- a/var/spack/repos/builtin/packages/slepc/package.py
+++ b/var/spack/repos/builtin/packages/slepc/package.py
@@ -13,7 +13,7 @@ class Slepc(Package, CudaPackage, ROCmPackage):
"""Scalable Library for Eigenvalue Problem Computations."""
homepage = "https://slepc.upv.es"
- url = "https://slepc.upv.es/download/distrib/slepc-3.16.0.tar.gz"
+ url = "https://slepc.upv.es/download/distrib/slepc-3.16.1.tar.gz"
git = "https://gitlab.com/slepc/slepc.git"
maintainers = ['joseeroman', 'balay']
@@ -22,6 +22,7 @@ class Slepc(Package, CudaPackage, ROCmPackage):
test_requires_compiler = True
version('main', branch='main')
+ version('3.16.1', sha256='b1a8ad8db1ad88c60616e661ab48fc235d5a8b6965023cb6d691b9a2cfa94efb')
version('3.16.0', sha256='be7292b85430e52210eb389c4f434b67164e96d19498585e82d117e850d477f4')
version('3.15.2', sha256='15fd317c4dd07bb41a994ad4c27271a6675af5f2abe40b82a64a27eaae2e632a')
version('3.15.1', sha256='9c7c3a45f0d9df51decf357abe090ef05114c38a69b7836386a19a96fb203aea')
diff --git a/var/spack/repos/builtin/packages/slirp4netns/package.py b/var/spack/repos/builtin/packages/slirp4netns/package.py
new file mode 100644
index 0000000000..cf294f7390
--- /dev/null
+++ b/var/spack/repos/builtin/packages/slirp4netns/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Slirp4netns(AutotoolsPackage):
+ """User-mode networking for unprivileged network namespaces"""
+
+ homepage = 'https://github.com/rootless-containers/slirp4netns'
+ url = 'https://github.com/rootless-containers/slirp4netns/archive/v1.1.12.tar.gz'
+ maintainers = ['bernhardkaindl']
+
+ version('1.1.12', sha256='279dfe58a61b9d769f620b6c0552edd93daba75d7761f7c3742ec4d26aaa2962')
+
+ depends_on('autoconf', type='build', when='@1.1.12')
+ depends_on('automake', type='build', when='@1.1.12')
+ depends_on('libtool', type='build', when='@1.1.12')
+ depends_on('pkgconfig', type='build')
+ depends_on('glib')
+ depends_on('libcap')
+ depends_on('libseccomp')
+ depends_on('libslirp')
diff --git a/var/spack/repos/builtin/packages/soapdenovo2/package.py b/var/spack/repos/builtin/packages/soapdenovo2/package.py
index 82e0172ab0..1804f34281 100644
--- a/var/spack/repos/builtin/packages/soapdenovo2/package.py
+++ b/var/spack/repos/builtin/packages/soapdenovo2/package.py
@@ -19,6 +19,14 @@ class Soapdenovo2(MakefilePackage):
version('242', sha256='a0043ceb41bc17a1c3fd2b8abe4f9029a60ad3edceb2b15af3c2cfabd36aa11b')
version('240', sha256='cc9e9f216072c0bbcace5efdead947e1c3f41f09baec5508c7b90f933a090909')
+ def flag_handler(self, name, flags):
+ if self.spec.satisfies('%gcc@10:'):
+ if name == 'cflags' or name == 'CFLAGS':
+ flags.append('-fcommon')
+ if name == 'cxxflags' or name == 'CXXFLAGS':
+ flags.append('-fcommon')
+ return (flags, None, None)
+
def install(self, spec, prefix):
mkdirp(prefix.bin)
install('SOAPdenovo-63mer', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/sollve/package.py b/var/spack/repos/builtin/packages/sollve/package.py
index f617f636b6..8acfa7fb9a 100644
--- a/var/spack/repos/builtin/packages/sollve/package.py
+++ b/var/spack/repos/builtin/packages/sollve/package.py
@@ -133,7 +133,6 @@ class Sollve(CMakePackage):
revision=372427, destination='projects',
when='@1.0a2+internal_unwind', placement='libunwind')
- conflicts('+clang_extra', when='~clang')
conflicts('+lldb', when='~clang')
conflicts('%gcc@:5.0')
diff --git a/var/spack/repos/builtin/packages/sp/package.py b/var/spack/repos/builtin/packages/sp/package.py
index c374df97c9..fe90d5b01e 100644
--- a/var/spack/repos/builtin/packages/sp/package.py
+++ b/var/spack/repos/builtin/packages/sp/package.py
@@ -17,3 +17,10 @@ class Sp(CMakePackage):
maintainers = ['t-brown', 'kgerheiser', 'edwardhartnett', 'Hang-Lei-NOAA']
version('2.3.3', sha256='c0d465209e599de3c0193e65671e290e9f422f659f1da928505489a3edeab99f')
+
+ def setup_run_environment(self, env):
+ for suffix in ('4', '8', 'd'):
+ lib = find_libraries('libsp_' + suffix, root=self.prefix,
+ shared=False, recursive=True)
+ env.set('SP_LIB' + suffix, lib[0])
+ env.set('SP_INC' + suffix, 'include_' + suffix)
diff --git a/var/spack/repos/builtin/packages/spack/package.py b/var/spack/repos/builtin/packages/spack/package.py
index 9149b7ea65..2abe10af61 100644
--- a/var/spack/repos/builtin/packages/spack/package.py
+++ b/var/spack/repos/builtin/packages/spack/package.py
@@ -21,6 +21,7 @@ class Spack(Package):
maintainers = ['haampie']
version('develop', branch='develop')
+ version('0.17.0', sha256='93df99256a892ceefb153d48e2080c01d18e58e27773da2c2a469063d67cb582')
version('0.16.3', sha256='26636a2e2cc066184f12651ac6949f978fc041990dba73934960a4c9c1ea383d')
version('0.16.2', sha256='ed3e5d479732b0ba82489435b4e0f9088571604e789f7ab9bc5ce89030793350')
version('0.16.1', sha256='8d893036b24d9ee0feee41ac33dd66e4fc68d392918f346f8a7a36a69c567567')
@@ -29,7 +30,8 @@ class Spack(Package):
variant('development_tools', default=True, description='Build development dependencies')
# Python (with spack python -i ipython support)
- depends_on('python', type='run')
+ depends_on('python@2.6.0:2.7,3.5:', type='run')
+ depends_on('python@2.7.0:2.7,3.5:', type='run', when='@0.18.0:')
depends_on('py-ipython', type='run')
# Concretizer
@@ -68,11 +70,15 @@ class Spack(Package):
# See https://github.com/spack/spack/pull/24686
# and #25595, #25726, #25853, #25923, #25924 upstream in python/cpython
with when('@:0.16.2'):
- conflicts('python@3.10:')
- conflicts('python@3.9.6:3.9')
- conflicts('python@3.8.11:3.8')
- conflicts('python@3.7.11:3.7')
- conflicts('python@3.6.14:3.6')
+ conflicts('^python@3.10:')
+ conflicts('^python@3.9.6:3.9')
+ conflicts('^python@3.8.11:3.8')
+ conflicts('^python@3.7.11:3.7')
+ conflicts('^python@3.6.14:3.6')
+
+ # https://bugs.python.org/issue45235#msg406121
+ # To be fixed in 3.9.9, no other releases are affected
+ conflicts('^python@3.9.8', when='@:0.17.0')
# Development tools
with when('+development_tools'):
diff --git a/var/spack/repos/builtin/packages/star-ccm-plus/package.py b/var/spack/repos/builtin/packages/star-ccm-plus/package.py
index 8067199485..45c4e8a256 100644
--- a/var/spack/repos/builtin/packages/star-ccm-plus/package.py
+++ b/var/spack/repos/builtin/packages/star-ccm-plus/package.py
@@ -5,6 +5,7 @@
import glob
import os
+import re
from spack import *
@@ -16,6 +17,7 @@ class StarCcmPlus(Package):
url = "file://{0}/STAR-CCM+11.06.010_02_linux-x86_64.tar.gz".format(os.getcwd())
manual_download = True
+ version('16.06.008_01', sha256='64577ec0e9a98d971114e68c4eec05bb746e061dfbf77b8d8919583c796c9e4b')
version('11.06.010_02', 'd349c6ac8293d8e6e7a53533d695588f')
variant('doc', default=False, description='Install the documentation')
@@ -47,12 +49,29 @@ class StarCcmPlus(Package):
env['PS1'] = '>'
env['PROMPT_COMMAND'] = ''
- installer = Executable(glob.glob('*.bin')[0])
+ if '@:12' in spec:
+ file_pattern = '*.bin'
+ else:
+ file_pattern = '*.sh'
+
+ installer = Executable(join_path(self.stage.source_path,
+ glob.glob(file_pattern)[0]))
installer(
'-i', 'silent',
'-DINSTALLDIR={0}'.format(prefix),
'-DINSTALLFLEX=false',
'-DADDSYSTEMPATH=false',
+ '-DCOMPUTE_NODE=false',
'-DNODOC={0}'.format('false' if '+docs' in spec else 'true')
)
+
+ def setup_run_environment(self, env):
+ # using Version.up_to strips out the 0 padding
+ version = re.sub('_.*$', '', format(self.spec.version))
+ env.prepend_path('PATH', join_path(self.prefix, version,
+ 'STAR-View+{0}'.format(version),
+ 'bin'))
+ env.prepend_path('PATH', join_path(self.prefix, version,
+ 'STAR-CCM+{0}'.format(version),
+ 'star', 'bin'))
diff --git a/var/spack/repos/builtin/packages/structure/package.py b/var/spack/repos/builtin/packages/structure/package.py
index a5880171eb..5c8f1f8a9d 100644
--- a/var/spack/repos/builtin/packages/structure/package.py
+++ b/var/spack/repos/builtin/packages/structure/package.py
@@ -15,12 +15,14 @@ class Structure(MakefilePackage):
version('2.3.4', sha256='f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37')
- depends_on('jdk', type=('build', 'run'))
-
def url_for_version(self, version):
url = "http://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v{0}/structure_kernel_source.tar.gz"
return url.format(version)
+ @when('%gcc@10:')
+ def edit(self, spec, prefix):
+ filter_file(r'(CFLAGS =.*$)', '\\1 -fcommon', 'Makefile')
+
def install(self, spec, prefix):
mkdirp(prefix.bin)
install('structure', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/suite-sparse/package.py b/var/spack/repos/builtin/packages/suite-sparse/package.py
index 748a598078..7dbd8f3d0d 100644
--- a/var/spack/repos/builtin/packages/suite-sparse/package.py
+++ b/var/spack/repos/builtin/packages/suite-sparse/package.py
@@ -37,13 +37,14 @@ class SuiteSparse(Package):
variant('pic', default=True, description='Build position independent code (required to link with shared libraries)')
variant('cuda', default=False, description='Build with CUDA')
variant('openmp', default=False, description='Build with OpenMP')
+ variant('graphblas', default=False, description='Build with GraphBLAS (takes a long time to compile)')
depends_on('mpfr@4.0.0:', type=('build', 'link'), when='@5.8.0:')
depends_on('gmp', type=('build', 'link'), when='@5.8.0:')
depends_on('blas')
depends_on('lapack')
depends_on('m4', type='build', when='@5.0.0:')
- depends_on('cmake', when='@5.2.0:', type='build')
+ depends_on('cmake', when='+graphblas @5.2.0:', type='build')
depends_on('metis@5.1.0', when='@4.5.1:')
# in @4.5.1. TBB support in SPQR seems to be broken as TBB-related linkng
@@ -60,15 +61,51 @@ class SuiteSparse(Package):
# This patch adds '-lm' when linking libgraphblas and when using clang.
# Fixes 'libgraphblas.so.2.0.1: undefined reference to `__fpclassify''
- patch('graphblas_libm_dep.patch', when='@5.2.0:5.2%clang')
+ patch('graphblas_libm_dep.patch', when='+graphblas @5.2.0:5.2%clang')
# CUDA-11 dropped sm_30 code generation, remove hardcoded sm_30 from makefile
# open issue: https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/56
# Tested only with 5.9.0, previous versions probably work too
- patch('fix_cuda11.patch', when='@5.9.0:+cuda ^cuda@11:')
+ patch('fix_cuda11.patch', when='@5.9.0:5.10.0+cuda ^cuda@11:')
conflicts('%gcc@:4.8', when='@5.2.0:', msg='gcc version must be at least 4.9 for suite-sparse@5.2.0:')
+ # The @2021.x versions of tbb dropped the task_scheduler_init.h header and
+ # related stuff (which have long been deprecated). This appears to be
+ # rather problematic for suite-sparse (see e.g.
+ # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/master/SPQR/Source/spqr_parallel.cpp)
+ # Have Spack complain if +tbb and trying to use a 2021.x version of tbb
+ conflicts('+tbb', when='^intel-oneapi-tbb@2021:',
+ msg='suite-sparse needs task_scheduler_init.h dropped in '
+ 'recent tbb libs')
+ conflicts('+tbb', when='^intel-tbb@2021:',
+ msg='suite-sparse needs task_scheduler_init.h dropped in '
+ 'recent tbb libs')
+
+ def symbol_suffix_blas(self, spec, args):
+ """When using BLAS with a special symbol suffix we use defines to
+ replace blas symbols, e.g. dgemm_ becomes dgemm_64_ when
+ symbol_suffix=64_."""
+
+ # Currently only OpenBLAS does this.
+ if not spec.satisfies('^openblas'):
+ return
+
+ suffix = spec['openblas'].variants['symbol_suffix'].value
+ if suffix == 'none':
+ return
+
+ symbols = (
+ 'dtrsv_', 'dgemv_', 'dtrsm_', 'dgemm_', 'dsyrk_', 'dger_', 'dscal_',
+ 'dpotrf_', 'ztrsv_', 'zgemv_', 'ztrsm_', 'zgemm_', 'zherk_',
+ 'zgeru_', 'zscal_', 'zpotrf_',
+ 'dnrm2_', 'dlarf_', 'dlarfg_', 'dlarft_', 'dlarfb_', 'dznrm2_',
+ 'zlarf_', 'zlarfg_', 'zlarft_', 'zlarfb_'
+ )
+
+ for symbol in symbols:
+ args.append('CFLAGS+=-D{0}={1}{2}'.format(symbol, symbol, suffix))
+
def install(self, spec, prefix):
# The build system of SuiteSparse is quite old-fashioned.
# It's basically a plain Makefile which include an header
@@ -124,6 +161,9 @@ class SuiteSparse(Package):
spec.satisfies('^intel-parallel-studio+mkl+ilp64')):
make_args.append('UMFPACK_CONFIG=-DLONGBLAS="long long"')
+ # Handle symbol suffix of some BLAS'es (e.g. 64_ or _64 for ilp64)
+ self.symbol_suffix_blas(spec, make_args)
+
# SuiteSparse defaults to using '-fno-common -fexceptions' in
# CFLAGS, but not all compilers use the same flags for these
# optimizations
@@ -137,7 +177,7 @@ class SuiteSparse(Package):
make_args += ['CFLAGS+=-DBLAS_NO_UNDERSCORE']
# Intel TBB in SuiteSparseQR
- if 'tbb' in spec:
+ if '+tbb' in spec:
make_args += [
'SPQR_CONFIG=-DHAVE_TBB',
'TBB=%s' % spec['tbb'].libs.ld_flags,
@@ -151,14 +191,42 @@ class SuiteSparse(Package):
'CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=%s' % prefix +
' -DCMAKE_LIBRARY_PATH=%s' % prefix.lib]
- # In those SuiteSparse versions calling "make install" in one go is
- # not possible, mainly because of GraphBLAS. Thus compile first and
- # install in a second run.
- if '@5.4.0:' in self.spec:
- make('library', *make_args)
-
make_args.append('INSTALL=%s' % prefix)
- make('install', *make_args)
+
+ # Filter the targets we're interested in
+ targets = [
+ 'SuiteSparse_config',
+ 'AMD',
+ 'BTF',
+ 'CAMD',
+ 'CCOLAMD',
+ 'COLAMD',
+ 'CHOLMOD',
+ 'CXSparse',
+ 'LDL',
+ 'KLU',
+ 'UMFPACK',
+ 'RBio',
+ 'SPQR'
+ ]
+ if spec.satisfies('+cuda'):
+ targets.extend([
+ 'SuiteSparse_GPURuntime',
+ 'GPUQREngine'
+ ])
+ targets.extend([
+ 'SPQR'
+ ])
+ if spec.satisfies('+graphblas'):
+ targets.append('GraphBLAS')
+ if spec.satisfies('@5.8.0:'):
+ targets.append('SLIP_LU')
+
+ # Finally make and install
+ make('-C', 'SuiteSparse_config', 'library', 'config')
+ for target in targets:
+ make('-C', target, 'library', *make_args)
+ make('-C', target, 'install', *make_args)
@run_after('install')
def fix_darwin_install(self):
@@ -179,9 +247,5 @@ class SuiteSparse(Package):
'suitesparseconfig']
query_parameters = self.spec.last_query.extra_parameters
comps = all_comps if not query_parameters else query_parameters
- libs = find_libraries(['lib' + c for c in comps], root=self.prefix.lib,
+ return find_libraries(['lib' + c for c in comps], root=self.prefix.lib,
shared=True, recursive=False)
- if not libs:
- return None
- libs += find_system_libraries('librt')
- return libs
diff --git a/var/spack/repos/builtin/packages/sundials/package.py b/var/spack/repos/builtin/packages/sundials/package.py
index acb6f993a6..2529b30621 100644
--- a/var/spack/repos/builtin/packages/sundials/package.py
+++ b/var/spack/repos/builtin/packages/sundials/package.py
@@ -18,7 +18,7 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/llnl/sundials.git"
tags = ['radiuss', 'e4s']
- maintainers = ['cswoodward', 'gardner48', 'balos1']
+ maintainers = ['balos1', 'cswoodward', 'gardner48']
# ==========================================================================
# Versions
@@ -290,6 +290,7 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
if '+rocm' in spec:
args.extend([
+ '-DCMAKE_C_COMPILER=%s' % (spec['llvm-amdgpu'].prefix + '/bin/clang'),
'-DCMAKE_CXX_COMPILER=%s' % spec['hip'].hipcc,
'-DENABLE_HIP=ON',
'-DHIP_PATH=%s' % spec['hip'].prefix,
diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py
index 82aa8f134f..3570243a9a 100644
--- a/var/spack/repos/builtin/packages/superlu-dist/package.py
+++ b/var/spack/repos/builtin/packages/superlu-dist/package.py
@@ -6,7 +6,7 @@
from spack import *
-class SuperluDist(CMakePackage, CudaPackage):
+class SuperluDist(CMakePackage, CudaPackage, ROCmPackage):
"""A general purpose library for the direct solution of large, sparse,
nonsymmetric systems of linear equations on high performance machines."""
@@ -16,9 +16,10 @@ class SuperluDist(CMakePackage, CudaPackage):
tags = ['e4s']
- maintainers = ['xiaoye', 'gchavez2', 'balay', 'pghysels']
+ maintainers = ['xiaoye', 'gchavez2', 'balay', 'pghysels', 'liuyangzhuan']
version('develop', branch='master')
+ version('amd', branch='amd')
version('7.1.1', sha256='558053b3d4a56eb661c4f04d4fcab6604018ce5db97115394c161b56c9c278ff')
version('7.1.0', sha256='edbea877562be95fb22c7de1ff484f18685bec4baa8e4f703c414d3c035d4a66')
version('6.4.0', sha256='cb9c0b2ba4c28e5ed5817718ba19ae1dd63ccd30bc44c8b8252b54f5f04a44cc')
@@ -47,12 +48,16 @@ class SuperluDist(CMakePackage, CudaPackage):
depends_on('parmetis')
depends_on('metis@5:')
depends_on('cmake@3.18.1:', type='build', when='@7.1.0:')
+ depends_on('hipblas', when='+rocm')
+ depends_on('rocsolver', when='+rocm')
+ conflicts('+rocm', when='+cuda')
conflicts('+cuda', when='@:6.3')
conflicts('^cuda@11.5.0:', when='@7.1.0:')
patch('xl-611.patch', when='@:6.1.1 %xl')
patch('xl-611.patch', when='@:6.1.1 %xl_r')
+ patch('superlu-cray-ftn-case.patch', when='@7.1.1 %cce')
def cmake_args(self):
spec = self.spec
@@ -60,6 +65,7 @@ class SuperluDist(CMakePackage, CudaPackage):
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
'-DCMAKE_INSTALL_LIBDIR:STRING=%s' % self.prefix.lib,
+ '-DCMAKE_INSTALL_BINDIR:STRING=%s' % self.prefix.bin,
'-DTPL_BLAS_LIBRARIES=%s' % spec['blas'].libs.joined(";"),
'-DTPL_LAPACK_LIBRARIES=%s' % spec['lapack'].libs.joined(";"),
'-DUSE_XSDK_DEFAULTS=YES',
@@ -94,6 +100,15 @@ class SuperluDist(CMakePackage, CudaPackage):
args.append(
'-DCMAKE_CUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
+ if '+rocm' in spec and spec.satisfies('@amd'):
+ args.append('-DTPL_ENABLE_HIPLIB=TRUE')
+ args.append(
+ '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix))
+ rocm_archs = spec.variants['amdgpu_target'].value
+ if 'none' not in rocm_archs:
+ args.append('-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'.
+ format(",".join(rocm_archs)))
+
if '+shared' in spec:
args.append('-DBUILD_SHARED_LIBS:BOOL=ON')
else:
diff --git a/var/spack/repos/builtin/packages/superlu-dist/superlu-cray-ftn-case.patch b/var/spack/repos/builtin/packages/superlu-dist/superlu-cray-ftn-case.patch
new file mode 100644
index 0000000000..8f3963656e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/superlu-dist/superlu-cray-ftn-case.patch
@@ -0,0 +1,15 @@
+diff --git a/FORTRAN/CMakeLists.txt b/FORTRAN/CMakeLists.txt
+index bf402a9..6a039e1 100644
+--- a/FORTRAN/CMakeLists.txt
++++ b/FORTRAN/CMakeLists.txt
+@@ -3,8 +3,8 @@ include_directories(${SuperLU_DIST_SOURCE_DIR}/SRC)
+ include_directories(${SuperLU_DIST_BINARY_DIR}/FORTRAN)
+
+ set(headers
+- ${CMAKE_BINARY_DIR}/FORTRAN/superlu_mod.mod
+- ${CMAKE_BINARY_DIR}/FORTRAN/superlupara_mod.mod
++ ${CMAKE_BINARY_DIR}/FORTRAN/SUPERLU_MOD.mod
++ ${CMAKE_BINARY_DIR}/FORTRAN/SUPERLUPARA_MOD.mod
+ ${CMAKE_BINARY_DIR}/FORTRAN/superlu_dist_config.fh
+ )
+
diff --git a/var/spack/repos/builtin/packages/symengine/package.py b/var/spack/repos/builtin/packages/symengine/package.py
index 6163feee43..e6f11000ea 100644
--- a/var/spack/repos/builtin/packages/symengine/package.py
+++ b/var/spack/repos/builtin/packages/symengine/package.py
@@ -17,6 +17,7 @@ class Symengine(CMakePackage):
maintainers = ['HaoZeke']
version('master', branch='master')
+ version('0.8.1', sha256='41eb6ae6901c09e53d7f61f0758f9201e81fc534bfeecd4b2bd4b4e6f6768693')
version('0.7.0', sha256='8b865bb72b71539d9cd2488a0468c6c3ea90cc606062a7880c3ff5af6abd74b1')
version('0.6.0', sha256='4d2caa86c03eaaa8ed004084d02f87b5c51b6229f8ba70d161227e22d6302f0a')
version('0.5.0', sha256='5d02002f00d16a0928d1056e6ecb8f34fd59f3bfd8ed0009a55700334dbae29b')
diff --git a/var/spack/repos/builtin/packages/tangram/package.py b/var/spack/repos/builtin/packages/tangram/package.py
index 265cc11574..3c54c07328 100644
--- a/var/spack/repos/builtin/packages/tangram/package.py
+++ b/var/spack/repos/builtin/packages/tangram/package.py
@@ -22,7 +22,7 @@ class Tangram(CMakePackage):
version('1.0.1', sha256='8f2f8c01bb2d726b0f64e5a5bc3aa2bd8057ccaee7a29c68f1439d16e39aaa90')
version('master', branch='master', submodules=True)
- variant('mpi', default=True,
+ variant('mpi', default=False,
description='Enable interface reconstruction with MPI')
variant('thrust', default=False,
description='Enable on-node parallelism with NVidia Thrust')
@@ -46,15 +46,12 @@ class Tangram(CMakePackage):
depends_on('cmake@3.13:', type='build')
depends_on('mpi', when='+mpi')
+# Wonton depends array
+ wonton_depends = ['mpi', 'jali', 'openmp', 'thrust', 'kokkos', 'cuda']
- depends_on('wonton')
- depends_on('wonton+jali', when='+jali')
- depends_on('wonton~mpi', when='~mpi')
- depends_on('wonton+mpi', when='+mpi')
- depends_on('wonton+thrust', when='+thrust')
- depends_on('wonton+kokkos', when='+kokkos')
- depends_on('wonton+cuda', when='+cuda')
- depends_on('wonton+openmp', when='+openmp')
+ for _variant in wonton_depends:
+ depends_on('wonton+' + _variant, when='+' + _variant)
+ depends_on('wonton~' + _variant, when='~' + _variant)
def cmake_args(self):
options = []
@@ -87,3 +84,8 @@ class Tangram(CMakePackage):
options.append('-DENABLE_APP_TESTS=OFF')
return options
+
+ def check(self):
+ if self.run_tests:
+ with working_dir(self.build_directory):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index fc5fd0060c..fc94444437 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -28,6 +28,7 @@ class Tau(Package):
tags = ['e4s']
version('master', branch='master')
+ version('2.31', sha256='27e73c395dd2a42b91591ce4a76b88b1f67663ef13aa19ef4297c68f45d946c2')
version('2.30.2', sha256='43f84a15b71a226f8a64d966f0cb46022bcfbaefb341295ecc6fa80bb82bbfb4')
version('2.30.1', sha256='9c20ca1b4f4e80d885f24491cee598068871f0e9dd67906a5e47e4b4147d08fc')
version('2.30', sha256='e581c33e21488d69839a00d97fd4451ea579f47249b2750d5c36bea773041eaf')
@@ -102,7 +103,8 @@ class Tau(Package):
depends_on('elf', when='+elf')
# TAU requires the ELF header support, libiberty and demangle.
depends_on('binutils@:2.33.1+libiberty+headers+plugins', when='+binutils')
- depends_on('python@2.7:', when='+python')
+ # Build errors with Python 3.9
+ depends_on('python@2.7:3.8', when='+python')
depends_on('libunwind', when='+libunwind')
depends_on('mpi', when='+mpi', type=('build', 'run', 'link'))
depends_on('cuda', when='+cuda')
diff --git a/var/spack/repos/builtin/packages/thepeg/package.py b/var/spack/repos/builtin/packages/thepeg/package.py
index f228f8410f..a0e76d79c3 100644
--- a/var/spack/repos/builtin/packages/thepeg/package.py
+++ b/var/spack/repos/builtin/packages/thepeg/package.py
@@ -99,7 +99,7 @@ class Thepeg(AutotoolsPackage):
if self.spec.satisfies('@2.0.3:'):
args += ['--with-rivet=' + self.spec['rivet'].prefix]
- if self.spec.satisfies('@:2.1'):
+ if self.spec.satisfies('@2.1.1:'):
args += ['--with-boost=' + self.spec['boost'].prefix]
args += ['CFLAGS=-O2', 'CXXFLAGS=-O2', 'FFLAGS=-O2']
diff --git a/var/spack/repos/builtin/packages/tinygltf/package.py b/var/spack/repos/builtin/packages/tinygltf/package.py
new file mode 100644
index 0000000000..7c752db898
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tinygltf/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Tinygltf(CMakePackage):
+ """Header only C++11 tiny glTF 2.0 library."""
+
+ homepage = "https://github.com/syoyo/tinygltf"
+ url = "https://github.com/syoyo/tinygltf/archive/refs/tags/v2.5.0.tar.gz"
+
+ version('2.5.0', sha256='5d85bd556b60b1b69527189293cfa4902957d67fabb8582b6532f23a5ef27ec1')
+
+ depends_on('cmake@3.6:', type='build')
diff --git a/var/spack/repos/builtin/packages/tinyobjloader/package.py b/var/spack/repos/builtin/packages/tinyobjloader/package.py
new file mode 100644
index 0000000000..2ce32e29dc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tinyobjloader/package.py
@@ -0,0 +1,17 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Tinyobjloader(CMakePackage):
+ """Tiny but powerful single file wavefront obj loader."""
+
+ homepage = "https://github.com/tinyobjloader/tinyobjloader"
+ url = "https://github.com/tinyobjloader/tinyobjloader/archive/refs/tags/v1.0.6.tar.gz"
+
+ version('1.0.6', sha256='19ee82cd201761954dd833de551edb570e33b320d6027e0d91455faf7cd4c341')
+
+ depends_on('cmake@2.8.11:', type='build')
diff --git a/var/spack/repos/builtin/packages/tiptop/NR_perf_counter_open_aarch64.patch b/var/spack/repos/builtin/packages/tiptop/NR_perf_counter_open_aarch64.patch
index 7b5aa5a6bb..7b5aa5a6bb 100755..100644
--- a/var/spack/repos/builtin/packages/tiptop/NR_perf_counter_open_aarch64.patch
+++ b/var/spack/repos/builtin/packages/tiptop/NR_perf_counter_open_aarch64.patch
diff --git a/var/spack/repos/builtin/packages/tree-sitter/package.py b/var/spack/repos/builtin/packages/tree-sitter/package.py
new file mode 100644
index 0000000000..c75a0a28ca
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tree-sitter/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class TreeSitter(MakefilePackage):
+ """Tree-sitter is a parser generator tool and an incremental parsing library.
+ It can build a concrete syntax tree for a source file and
+ efficiently update the syntax tree as the source file is edited."""
+
+ homepage = "https://tree-sitter.github.io/tree-sitter/"
+ url = "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.1.tar.gz"
+
+ maintainers = ['albestro']
+
+ version('0.20.1', sha256='12a3f7206af3028dbe8a0de50d8ebd6d7010bf762db918acae76fc7585f1258d')
+
+ def edit(self, spec, prefix):
+ env['PREFIX'] = prefix
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index ae8cd1a43d..68276b65ca 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -295,6 +295,7 @@ class Trilinos(CMakePackage, CudaPackage):
depends_on('hypre~internal-superlu~int64', when='+hypre')
depends_on('kokkos-nvcc-wrapper', when='+wrapper')
depends_on('lapack')
+ # depends_on('perl', type=('build',)) # TriBITS finds but doesn't use...
depends_on('libx11', when='+x11')
depends_on('matio', when='+exodus')
depends_on('metis', when='+zoltan')
@@ -438,20 +439,18 @@ class Trilinos(CMakePackage, CudaPackage):
options.extend([
define('Trilinos_VERBOSE_CONFIGURE', False),
define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- define_from_variant("CMAKE_CXX_STANDARD", "cxxstd"),
- define_trilinos_enable('TESTS', False),
- define_trilinos_enable('EXAMPLES', False),
+ define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'),
+ define_trilinos_enable('ALL_OPTIONAL_PACKAGES', False),
+ define_trilinos_enable('ALL_PACKAGES', False),
define_trilinos_enable('CXX11', True),
define_trilinos_enable('DEBUG', 'debug'),
+ define_trilinos_enable('EXAMPLES', False),
+ define_trilinos_enable('SECONDARY_TESTED_CODE', True),
+ define_trilinos_enable('TESTS', False),
define_trilinos_enable('Fortran'),
define_trilinos_enable('OpenMP'),
define_trilinos_enable('EXPLICIT_INSTANTIATION',
'explicit_template_instantiation')
- # The following can cause problems on systems that don't have
- # static libraries available for things like dl and pthreads
- # for example when trying to build static libs
- # define_from_variant('TPL_FIND_SHARED_LIBS', 'shared')
- # define('Trilinos_LINK_SEARCH_START_STATIC', '+shared' not in spec)
])
# ################## Trilinos Packages #####################
@@ -563,7 +562,7 @@ class Trilinos(CMakePackage, CudaPackage):
depspec = spec[spack_name]
libs = depspec.libs
options.extend([
- define(trilinos_name + '_INCLUDE_DIRS', depspec.prefix.include),
+ define(trilinos_name + '_INCLUDE_DIRS', depspec.headers.directories),
define(trilinos_name + '_ROOT', depspec.prefix),
define(trilinos_name + '_LIBRARY_NAMES', libs.names),
define(trilinos_name + '_LIBRARY_DIRS', libs.directories),
@@ -631,10 +630,9 @@ class Trilinos(CMakePackage, CudaPackage):
spec['parmetis'].prefix.lib, spec['metis'].prefix.lib
]),
define('ParMETIS_LIBRARY_NAMES', ['parmetis', 'metis']),
- define('TPL_ParMETIS_INCLUDE_DIRS', [
- spec['parmetis'].prefix.include,
- spec['metis'].prefix.include
- ]),
+ define('TPL_ParMETIS_INCLUDE_DIRS',
+ spec['parmetis'].headers.directories +
+ spec['metis'].headers.directories),
])
if spec.satisfies('^superlu-dist@4.0:'):
diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py
index b5f51b4e38..129d4680fb 100644
--- a/var/spack/repos/builtin/packages/umpire/package.py
+++ b/var/spack/repos/builtin/packages/umpire/package.py
@@ -73,6 +73,7 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
depends_on('cmake@3.8:', type='build')
depends_on('cmake@3.9:', when='+cuda', type='build')
+ depends_on('cmake@:3.20', when='+rocm', type='build')
depends_on('blt@0.4.1:', type='build', when='@6.0.0:')
depends_on('blt@0.4.0:', type='build', when='@4.1.3:5.0.1')
@@ -104,9 +105,8 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
# https://github.com/LLNL/Umpire/issues/653
# This range looks weird, but it ensures the concretizer looks at it as a
- # range, not as a concrete version, so that it also matches compilers
- # specified as `gcc@10.3.0-identifier`. See #8957.
- conflicts('%gcc@10.3.0:10.3.0.0', when='+cuda')
+ # range, not as a concrete version, so that it also matches 10.3.* versions.
+ conflicts('%gcc@10.3.0:10.3', when='+cuda')
def _get_sys_type(self, spec):
sys_type = spec.architecture
@@ -192,6 +192,7 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
entries.append(cmake_cache_option(
"ENABLE_BENCHMARKS", 'tests=benchmarks' in spec))
entries.append(cmake_cache_option("ENABLE_EXAMPLES", '+examples' in spec))
+ entries.append(cmake_cache_option("ENABLE_DOCS", False))
entries.append(cmake_cache_option("BUILD_SHARED_LIBS", '+shared' in spec))
entries.append(cmake_cache_option("ENABLE_TESTS", 'tests=none' not in spec))
diff --git a/var/spack/repos/builtin/packages/utf8cpp/package.py b/var/spack/repos/builtin/packages/utf8cpp/package.py
new file mode 100644
index 0000000000..eb05c6ab62
--- /dev/null
+++ b/var/spack/repos/builtin/packages/utf8cpp/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Utf8cpp(Package):
+ """A simple, portable and lightweight generic library for handling UTF-8
+ encoded strings."""
+
+ homepage = "http://utfcpp.sourceforge.net/"
+
+ version('2.3.4', sha256='3373cebb25d88c662a2b960c4d585daf9ae7b396031ecd786e7bb31b15d010ef')
+
+ def url_for_version(self, version):
+ url = "https://sourceforge.net/projects/utfcpp/files/utf8cpp_2x/Release%20{0}/utf8_v{1}.zip"
+ return url.format(version, version.underscored)
+
+ def install(self, spec, prefix):
+ install_tree('doc', prefix.share.doc)
+ install_tree('source', prefix.include)
diff --git a/var/spack/repos/builtin/packages/utf8proc/package.py b/var/spack/repos/builtin/packages/utf8proc/package.py
index 1ec1f0425d..6a8c4a74a8 100644
--- a/var/spack/repos/builtin/packages/utf8proc/package.py
+++ b/var/spack/repos/builtin/packages/utf8proc/package.py
@@ -13,6 +13,9 @@ class Utf8proc(CMakePackage):
homepage = "https://juliastrings.github.io/utf8proc/"
url = "https://github.com/JuliaStrings/utf8proc/archive/v2.4.0.tar.gz"
+ version('2.6.1', sha256='4c06a9dc4017e8a2438ef80ee371d45868bda2237a98b26554de7a95406b283b')
+ version('2.6.0', sha256='b36ce1534b8035e7febd95c031215ed279ee9d31cf9b464e28b4c688133b22c5')
+ version('2.5.0', sha256='d4e8dfc898cfd062493cb7f42d95d70ccdd3a4cd4d90bec0c71b47cca688f1be')
version('2.4.0', sha256='b2e5d547c1d94762a6d03a7e05cea46092aab68636460ff8648f1295e2cdfbd7')
depends_on('cmake@2.8.12:', type='build')
diff --git a/var/spack/repos/builtin/packages/vecgeom/package.py b/var/spack/repos/builtin/packages/vecgeom/package.py
index a7d48585ea..73122defca 100644
--- a/var/spack/repos/builtin/packages/vecgeom/package.py
+++ b/var/spack/repos/builtin/packages/vecgeom/package.py
@@ -20,6 +20,7 @@ class Vecgeom(CMakePackage, CudaPackage):
maintainers = ['drbenmorgan', 'sethrj']
version('master', branch='master')
+ version('1.1.18', sha256='2780640233a36e0d3c767140417015be1893c1ad695ccc0bd3ee0767bc9fbed8')
version('1.1.17', sha256='2e95429b795311a6986320d785bedcd9dace9f8e7b7f6bd778d23a4ff23e0424')
version('1.1.16', sha256='2fa636993156d9d06750586e8a1ac1701ae2be62dea07964e2369698ae521d02')
version('1.1.15', sha256='0ee9897eb12d8d560dc0c9e56e8fdb78d0111f651a984df24e983da035bd1c70')
diff --git a/var/spack/repos/builtin/packages/vecmem/package.py b/var/spack/repos/builtin/packages/vecmem/package.py
new file mode 100644
index 0000000000..e0a920ffd3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vecmem/package.py
@@ -0,0 +1,48 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Vecmem(CMakePackage, CudaPackage):
+ """VecMem is a vectorised data model base and helper classes."""
+
+ homepage = "https://github.com/acts-project/vecmem"
+ url = "https://github.com/acts-project/vecmem/archive/refs/tags/v0.5.0.tar.gz"
+ list_url = "https://github.com/acts-project/vecmem/releases"
+
+ maintainers = ['wdconinc', 'HadrienG2']
+
+ version('0.8.0', sha256='a13f7178c940d6bf3386e7e8f5eb158e6435882533bffe888d3c9775eeb2f20e')
+ version('0.7.0', sha256='c00266bc80df8f568103f2874ce349fe8f74fb7e361901d562cce41ab7f9b85c')
+ version('0.6.0', sha256='e6c8262844a5ff7f03df7f849a1e7cf1a68214730ac54c35c14333522ff31723')
+ version('0.5.0', sha256='b9739e8fcdf27fa9ef509743cd8f8f62f871b53b0a63b93f24ea9865c2b00a3a')
+ version('0.4.0', sha256='51dfadc2b97f34530c642abdf86dcb6392e753dd68ef011bac89382dcf8aaad4')
+ version('0.3.0', sha256='4e7851ab46fee925800405c5ae18e99b62644d624d3544277a522a06fb812dbf')
+ version('0.2.0', sha256='33aea135989684e325cb097e455ff0f9d1a9e85ff32f671e3b3ed6cc036176ac')
+ version('0.1.0', sha256='19e24e3262aa113cd4242e7b94e2de34a4b362e78553730a358f64351c6a0a01')
+
+ variant('hip', default=False, description='Build the vecmem::hip library')
+ variant('sycl', default=False, description='Build the vecmem::sycl library')
+
+ depends_on('cmake@3.17:', type='build')
+ depends_on('hip', when='+hip')
+ depends_on('sycl', when='+sycl')
+
+ def cmake_args(self):
+ args = [
+ self.define_from_variant('VECMEM_BUILD_CUDA_LIBRARY', 'cuda'),
+ self.define_from_variant('VECMEM_BUILD_HIP_LIBRARY', 'hip'),
+ self.define_from_variant('VECMEM_BUILD_SYCL_LIBRARY', 'sycl'),
+ self.define('VECMEM_BUILD_TESTING', self.run_tests)
+ ]
+
+ if '+cuda' in self.spec:
+ cuda_arch_list = self.spec.variants['cuda_arch'].value
+ cuda_arch = cuda_arch_list[0]
+ if cuda_arch != 'none':
+ args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch))
+
+ return args
diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py
index 68276b9831..dafa6d43d1 100644
--- a/var/spack/repos/builtin/packages/visit/package.py
+++ b/var/spack/repos/builtin/packages/visit/package.py
@@ -56,7 +56,7 @@ class Visit(CMakePackage):
############################
homepage = "https://wci.llnl.gov/simulation/computer-codes/visit/"
git = "https://github.com/visit-dav/visit.git"
- url = "https://github.com/visit-dav/visit/releases/download/v3.1.1/visit3.1.1.tar.gz"
+ url = "https://github.com/visit-dav/visit/releases/download/v3.2.1/visit3.2.1.tar.gz"
tags = ['radiuss']
@@ -67,6 +67,7 @@ class Visit(CMakePackage):
executables = ['^visit$']
version('develop', branch='develop')
+ version('3.2.1', sha256='779d59564c63f31fcbfeff24b14ddd6ac941b3bb7d671d31765a770d193f02e8')
version('3.1.1', sha256='0b60ac52fd00aff3cf212a310e36e32e13ae3ca0ddd1ea3f54f75e4d9b6c6cf0')
version('3.0.1', sha256='a506d4d83b8973829e68787d8d721199523ce7ec73e7594e93333c214c2c12bd')
version('2.13.3', sha256='cf0b3d2e39e1cd102dd886d3ef6da892733445e362fc28f24d9682012cccf2e5')
@@ -82,7 +83,7 @@ class Visit(CMakePackage):
variant('hdf5', default=True, description='Enable HDF5 file format')
variant('silo', default=True, description='Enable Silo file format')
variant('python', default=True, description='Enable Python support')
- variant('mpi', default=True, description='Enable parallel engine')
+ variant('mpi', default=False, description='Enable parallel engine')
patch('spack-changes-3.1.patch', when="@3.1.0:,develop")
patch('spack-changes-3.0.1.patch', when="@3.0.1")
@@ -177,19 +178,47 @@ class Visit(CMakePackage):
#
# =====================================
- depends_on('cmake@3.0:', type='build')
+ depends_on('cmake@3.14.7', type='build')
# https://github.com/visit-dav/visit/issues/3498
- depends_on('vtk@8.1.0:8.1+opengl2~python', when='~python @3.0:3,develop')
- depends_on('vtk@8.1.0:8.1+opengl2+python', when='+python @3.0:3,develop')
+ # The vtk_compiler_visibility patch fixes a bug where
+ # VTKGenerateExportHeader.cmake fails to recognize gcc versions 10.0
+ # or greater.
+ # The vtk_rendering_opengl2_x11 patch adds include directories to
+ # Rendering/OpenGL2/CMakeLists.txt for systems that don't have the
+ # system X libraries and include files installed.
+ # The vtk_wrapping_python_x11 patch adds include directories to
+ # Wrapping/Python/CMakelists.txt for systems that don't have the
+ # system X libraries and include files installed.
+ depends_on('vtk@8.1.0+opengl2+osmesa~python',
+ patches=[patch('vtk_compiler_visibility.patch'),
+ patch('vtk_rendering_opengl2_x11.patch'),
+ patch('vtk_wrapping_python_x11.patch'),
+ ],
+ when='~python @3.2:,develop')
+ depends_on('vtk@8.1.0+opengl2+osmesa+python',
+ patches=[patch('vtk_compiler_visibility.patch'),
+ patch('vtk_rendering_opengl2_x11.patch'),
+ patch('vtk_wrapping_python_x11.patch'),
+ ],
+ when='+python @3.2:,develop')
depends_on('glu', when='platform=linux')
- depends_on('vtk@6.1.0~opengl2', when='@:2')
- depends_on('vtk+python', when='+python @3.0:,develop')
+ depends_on('vtk+python', when='+python @3.2:,develop')
depends_on('vtk~mpi', when='~mpi')
depends_on('vtk+qt', when='+gui')
- depends_on('qt+gui@4.8.6:4', when='+gui @:2')
- depends_on('qt+gui@5.10:', when='+gui @3.0:,develop')
+ # VisIt doesn't work with later versions of qt.
+ depends_on('qt+gui@5.14.2:', when='+gui @3.2:,develop')
depends_on('qwt', when='+gui')
- depends_on('python@2.6:2.8', when='+python')
+ # python@3.8 doesn't work with VisIt.
+ depends_on('python@3.7', when='+python')
+ # llvm@12.0.1, @11.1.0, @10.0.1 fail in build phase with gcc 6.1.0.
+ # llvm@9.0.1 fails in cmake phase with gcc 6.1.0.
+ # llvm@12.0.1, llvm@8.0.1 fail in build phase with gcc 11.2.0
+ depends_on('llvm@6:', when='^mesa')
+ depends_on('mesa+glx', when='^mesa')
+ depends_on('mesa-glu', when='^mesa')
+ # VisIt doesn't build with hdf5@1.12 and hdf5@1.10 produces files that
+ # are incompatible with hdf5@1.8.
+ depends_on('hdf5@1.8', when='+hdf5')
# VisIt uses Silo's 'ghost zone' data structures, which are only available
# in v4.10+ releases: https://wci.llnl.gov/simulation/computer-codes/silo/releases/release-notes-4.10
depends_on('silo@4.10:+shared', when='+silo')
@@ -200,13 +229,9 @@ class Visit(CMakePackage):
depends_on('mpi', when='+mpi')
depends_on('adios2', when='+adios2')
- conflicts('+adios2', when='@:2')
- conflicts('+hdf5', when='~gui @:2')
- conflicts('+silo', when='~gui @:2')
-
root_cmakelists_dir = 'src'
- @when('@3.0.0:3,develop')
+ @when('@3.0.0:,develop')
def patch(self):
# Some of VTK's targets don't create explicit libraries, so there is no
# 'vtktiff'. Instead, replace with the library variable defined from
@@ -235,6 +260,7 @@ class Visit(CMakePackage):
'-DVISIT_USE_GLEW=OFF',
'-DCMAKE_CXX_FLAGS=' + ' '.join(cxx_flags),
'-DCMAKE_C_FLAGS=' + ' '.join(cc_flags),
+ '-DVISIT_CONFIG_SITE=NONE',
]
# Provide the plugin compilation environment so as to extend VisIt
@@ -266,6 +292,12 @@ class Visit(CMakePackage):
args.append('-DVISIT_SERVER_COMPONENTS_ONLY=ON')
args.append('-DVISIT_ENGINE_ONLY=ON')
+ if '^mesa' in spec:
+ args.append(
+ '-DVISIT_LLVM_DIR:PATH={0}'.format(spec['llvm'].prefix))
+ args.append(
+ '-DVISIT_MESAGL_DIR:PATH={0}'.format(spec['mesa'].prefix))
+
if '+hdf5' in spec:
args.append(
'-DVISIT_HDF5_DIR:PATH={0}'.format(spec['hdf5'].prefix))
diff --git a/var/spack/repos/builtin/packages/visit/vtk_compiler_visibility.patch b/var/spack/repos/builtin/packages/visit/vtk_compiler_visibility.patch
new file mode 100644
index 0000000000..51c153440e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/visit/vtk_compiler_visibility.patch
@@ -0,0 +1,12 @@
+diff -u ./CMake/VTKGenerateExportHeader.cmake.orig ./CMake/VTKGenerateExportHeader.cmake
+--- ./CMake/VTKGenerateExportHeader.cmake.orig 2021-11-03 14:32:17.607243000 -0700
++++ ./CMake/VTKGenerateExportHeader.cmake 2021-11-03 14:35:54.896214000 -0700
+@@ -174,7 +174,7 @@
+ execute_process(COMMAND ${CMAKE_C_COMPILER} --version
+ OUTPUT_VARIABLE _gcc_version_info
+ ERROR_VARIABLE _gcc_version_info)
+- string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*"
++ string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]*"
+ _gcc_version "${_gcc_version_info}")
+ # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the
+ # patch level, handle this here:
diff --git a/var/spack/repos/builtin/packages/visit/vtk_rendering_opengl2_x11.patch b/var/spack/repos/builtin/packages/visit/vtk_rendering_opengl2_x11.patch
new file mode 100644
index 0000000000..dd5b2db86d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/visit/vtk_rendering_opengl2_x11.patch
@@ -0,0 +1,12 @@
+diff -u ./Rendering/OpenGL2/CMakeLists.txt.orig ./Rendering/OpenGL2/CMakeLists.txt
+--- ./Rendering/OpenGL2/CMakeLists.txt.orig 2021-11-03 14:33:11.582334000 -0700
++++ ./Rendering/OpenGL2/CMakeLists.txt 2021-11-03 14:36:50.263234000 -0700
+@@ -194,7 +194,7 @@
+ if(NOT X11_Xt_FOUND)
+ message(FATAL_ERROR "X11_Xt_LIB could not be found. Required for VTK X lib.")
+ endif()
+- include_directories(${X11_INCLUDE_DIR} ${X11_Xt_INCLUDE_PATH})
++ include_directories(${X11_INCLUDE_DIR} ${X11_SM_INCLUDE_PATH} ${X11_ICE_INCLUDE_PATH} ${X11_Xt_INCLUDE_PATH})
+ endif()
+
+ # setup factory overrides
diff --git a/var/spack/repos/builtin/packages/visit/vtk_wrapping_python_x11.patch b/var/spack/repos/builtin/packages/visit/vtk_wrapping_python_x11.patch
new file mode 100644
index 0000000000..93ca157281
--- /dev/null
+++ b/var/spack/repos/builtin/packages/visit/vtk_wrapping_python_x11.patch
@@ -0,0 +1,14 @@
+diff -u ./Wrapping/Python/CMakeLists.txt.orig ./Wrapping/Python/CMakeLists.txt
+--- ./Wrapping/Python/CMakeLists.txt.orig 2021-11-03 14:33:41.413950000 -0700
++++ ./Wrapping/Python/CMakeLists.txt 2021-11-03 14:37:03.634738000 -0700
+@@ -23,6 +23,10 @@
+
+ get_property(VTK_PYTHON_MODULES GLOBAL PROPERTY VTK_PYTHON_WRAPPED)
+
++include_directories(${X11_Xlib_INCLUDE_PATH})
++include_directories(${X11_X11_INCLUDE_PATH})
++include_directories(${X11_Xt_INCLUDE_PATH})
++
+ # Get the include directories for the module and all its dependencies.
+ macro(vtk_include_recurse module)
+ _vtk_module_config_recurse("${module}_PYTHON" ${module})
diff --git a/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py b/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py
index d544770e9c..a871a3c396 100644
--- a/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py
+++ b/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py
@@ -20,23 +20,21 @@ class VotcaCsgTutorials(CMakePackage):
git = "https://github.com/votca/csg-tutorials.git"
maintainers = ['junghans']
- version('master', branch='master')
- version('stable', branch='stable')
- version('2021.2', sha256='156c5ec55a288e3013d393e66a1d2f09ebf4f14056d50d081535004696e7f5ba')
- version('2021.1', sha256='5ea1e6ca370e6e7845f9195495f5fb8bbd72d601980e123ae7852f491f03949a')
- version('2021', sha256='2b85c69007bb7d773529020e55fd82fed65651ee21eedccca9a801ab248ece97')
- version('1.6.4', sha256='34ef40db6b178a7f513f8a6f43e7caff6ecb498d66d7bf8bc44900bc7aea31dc')
- version('1.6.3', sha256='709582b978d84f9de09ae6c3ba4ed28daec886d4e0431bc7d19c7246bd65f0b1')
- version('1.6.2', sha256='7c25e76391f3ffdd15f8a91aeed2d3ce7377591f128ed4ae34b36eca20e5af8f')
- version('1.6.1', sha256='d8428c4a03ce42d88317045ec555af3defa022fd9a61f05e07b57c5577288c8c')
- version('1.6', sha256='54946c647724f1beb95942d47ec7f4cf7a95a59ec7268522693d5ec723585daf')
- version('1.5.1', sha256='e35cea92df0e7d05ca7b449c1b5d84d887a3a23c7796abe3b84e4d6feec7faca')
- version('1.5', sha256='03b841fb94129cf59781a7a5e3b71936c414aa9dfa17a50d7bc856d46274580c')
- version('1.4.1', sha256='623724192c3a7d76b603a74a3326f181045f10f38b9f56dce754a90f1a74556e')
- version('1.4', sha256='27d50acd68a9d8557fef18ec2b0c62841ae91c22275ab9afbd65c35e4dd5f719')
+ version('stable', branch='stable', deprecated=True)
+ version('2021.2', sha256='156c5ec55a288e3013d393e66a1d2f09ebf4f14056d50d081535004696e7f5ba', deprecated=True)
+ version('2021.1', sha256='5ea1e6ca370e6e7845f9195495f5fb8bbd72d601980e123ae7852f491f03949a', deprecated=True)
+ version('2021', sha256='2b85c69007bb7d773529020e55fd82fed65651ee21eedccca9a801ab248ece97', deprecated=True)
+ version('1.6.4', sha256='34ef40db6b178a7f513f8a6f43e7caff6ecb498d66d7bf8bc44900bc7aea31dc', deprecated=True)
+ version('1.6.3', sha256='709582b978d84f9de09ae6c3ba4ed28daec886d4e0431bc7d19c7246bd65f0b1', deprecated=True)
+ version('1.6.2', sha256='7c25e76391f3ffdd15f8a91aeed2d3ce7377591f128ed4ae34b36eca20e5af8f', deprecated=True)
+ version('1.6.1', sha256='d8428c4a03ce42d88317045ec555af3defa022fd9a61f05e07b57c5577288c8c', deprecated=True)
+ version('1.6', sha256='54946c647724f1beb95942d47ec7f4cf7a95a59ec7268522693d5ec723585daf', deprecated=True)
+ version('1.5.1', sha256='e35cea92df0e7d05ca7b449c1b5d84d887a3a23c7796abe3b84e4d6feec7faca', deprecated=True)
+ version('1.5', sha256='03b841fb94129cf59781a7a5e3b71936c414aa9dfa17a50d7bc856d46274580c', deprecated=True)
+ version('1.4.1', sha256='623724192c3a7d76b603a74a3326f181045f10f38b9f56dce754a90f1a74556e', deprecated=True)
+ version('1.4', sha256='27d50acd68a9d8557fef18ec2b0c62841ae91c22275ab9afbd65c35e4dd5f719', deprecated=True)
for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
- "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "master",
- "stable"]:
+ "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "stable"]:
depends_on('votca-csg@%s' % v, when="@%s:%s.0" % (v, v))
depends_on("boost")
diff --git a/var/spack/repos/builtin/packages/votca-csg/package.py b/var/spack/repos/builtin/packages/votca-csg/package.py
index 986d064e87..83ce2cedb2 100644
--- a/var/spack/repos/builtin/packages/votca-csg/package.py
+++ b/var/spack/repos/builtin/packages/votca-csg/package.py
@@ -20,25 +20,23 @@ class VotcaCsg(CMakePackage):
git = "https://github.com/votca/csg.git"
maintainers = ['junghans']
- version('master', branch='master')
- version('stable', branch='stable')
- version('2021.2', sha256='4c58ea90cc1b7fe95f7bc00634faadba945316417e741192d715cea6aa83f4ac')
- version('2021.1', sha256='1e9cf90ddd7539e711e795292b721a4ee130a2089e659fa068a12960b77fff14')
- version('2021', sha256='d66c9b30ce2a56d630d5db281444447d398be643005ebea70d3735fb60357305')
- version('1.6.4', sha256='eae771b623f3c3edb09744030d053f10c75d64bad919df26c4f9bf3bfaa1cf86')
- version('1.6.3', sha256='35456b1f3116364b10ada37d99798294bd2d3df2e670cef3936251f88036ef88')
- version('1.6.2', sha256='96b244b282005259832ed6ec0dc22dafe132dcfc3d73dcd8e53b62f40befb545')
- version('1.6.1', sha256='ed12bcb1ccdf71f54e21cdcc9803add4b8ebdc6b8263cb5b0034f5db01e31dbb')
- version('1.6', sha256='8cf6a4ac3ef7347c720a44d8a676f8cbd1462e162f6113de39f27b89354465ea')
- version('1.5.1', sha256='7fca1261bd267bf38d2edd26259730fed3126c0c3fd91fb81940dbe17bb568fd')
- version('1.5', sha256='160387cdc51f87dd20ff2e2eed97086beee415d48f3c92f4199f6109068c8ff4')
- version('1.4.1', sha256='41dccaecadd0165c011bec36a113629e27745a5a133d1a042efe4356acdb5450')
- version('1.4', sha256='c13e7febd792de8c3d426203f089bd4d33b8067f9db5e8840e4579c88b61146e')
+ version('stable', branch='stable', deprecated=True)
+ version('2021.2', sha256='4c58ea90cc1b7fe95f7bc00634faadba945316417e741192d715cea6aa83f4ac', deprecated=True)
+ version('2021.1', sha256='1e9cf90ddd7539e711e795292b721a4ee130a2089e659fa068a12960b77fff14', deprecated=True)
+ version('2021', sha256='d66c9b30ce2a56d630d5db281444447d398be643005ebea70d3735fb60357305', deprecated=True)
+ version('1.6.4', sha256='eae771b623f3c3edb09744030d053f10c75d64bad919df26c4f9bf3bfaa1cf86', deprecated=True)
+ version('1.6.3', sha256='35456b1f3116364b10ada37d99798294bd2d3df2e670cef3936251f88036ef88', deprecated=True)
+ version('1.6.2', sha256='96b244b282005259832ed6ec0dc22dafe132dcfc3d73dcd8e53b62f40befb545', deprecated=True)
+ version('1.6.1', sha256='ed12bcb1ccdf71f54e21cdcc9803add4b8ebdc6b8263cb5b0034f5db01e31dbb', deprecated=True)
+ version('1.6', sha256='8cf6a4ac3ef7347c720a44d8a676f8cbd1462e162f6113de39f27b89354465ea', deprecated=True)
+ version('1.5.1', sha256='7fca1261bd267bf38d2edd26259730fed3126c0c3fd91fb81940dbe17bb568fd', deprecated=True)
+ version('1.5', sha256='160387cdc51f87dd20ff2e2eed97086beee415d48f3c92f4199f6109068c8ff4', deprecated=True)
+ version('1.4.1', sha256='41dccaecadd0165c011bec36a113629e27745a5a133d1a042efe4356acdb5450', deprecated=True)
+ version('1.4', sha256='c13e7febd792de8c3d426203f089bd4d33b8067f9db5e8840e4579c88b61146e', deprecated=True)
depends_on("cmake@2.8:", type='build')
for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
- "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "master",
- "stable"]:
+ "1.6.3", "1.6.4", "2021", "2021.1", "2021.2", "stable"]:
depends_on('votca-tools@%s' % v, when="@%s:%s.0" % (v, v))
depends_on("boost")
depends_on("gromacs~mpi@5.1:2019")
diff --git a/var/spack/repos/builtin/packages/votca-csgapps/package.py b/var/spack/repos/builtin/packages/votca-csgapps/package.py
index 8b90e7ba8a..c2978d9e62 100644
--- a/var/spack/repos/builtin/packages/votca-csgapps/package.py
+++ b/var/spack/repos/builtin/packages/votca-csgapps/package.py
@@ -20,15 +20,15 @@ class VotcaCsgapps(CMakePackage):
git = "https://github.com/votca/csgapps.git"
maintainers = ['junghans']
- version('1.6.4', sha256='ef3d6fbc7f2ff2f29af7d170a5351ae3c37f52ca4c2b1697b1d2e30c26ff4eb1')
- version('1.6.3', sha256='fdb6a94eabdfe1bfae6002da16e364086d036c2dc24700a941b73d5bb1afc422')
- version('1.6.2', sha256='f7db0bda27d4419c570f44dc60d04b1fd7b4cdcf10db6301005fca70111fcfe3')
- version('1.6.1', sha256='03c7cef2a76e73cf953b2b5ea2cdca765ec1a2627d0a9d8869d46166e63d197c')
- version('1.6', sha256='084bbc5b179bb7eb8f6671d2d5fa13e69e68946570c9120a7e4b10aff1866e2e')
- version('1.5.1', sha256='b4946711e88a1745688b6cce5aad872e6e2ea200fededf38d77a864883e3750e')
- version('1.5', sha256='18b40ce6222509bc70aa9d56b8c538cd5903edf7294d6f95530668e555206d5b')
- version('1.4.1', sha256='095d9ee4cd49d2fd79c10e0e84e6890b755e54dec6a5cd580a2b4241ba230a2b')
- version('1.4', sha256='4ea8348c2f7de3cc488f48fbd8652e69b52515441952766c06ff67ed1aaf69a0')
+ version('1.6.4', sha256='ef3d6fbc7f2ff2f29af7d170a5351ae3c37f52ca4c2b1697b1d2e30c26ff4eb1', deprecated=True)
+ version('1.6.3', sha256='fdb6a94eabdfe1bfae6002da16e364086d036c2dc24700a941b73d5bb1afc422', deprecated=True)
+ version('1.6.2', sha256='f7db0bda27d4419c570f44dc60d04b1fd7b4cdcf10db6301005fca70111fcfe3', deprecated=True)
+ version('1.6.1', sha256='03c7cef2a76e73cf953b2b5ea2cdca765ec1a2627d0a9d8869d46166e63d197c', deprecated=True)
+ version('1.6', sha256='084bbc5b179bb7eb8f6671d2d5fa13e69e68946570c9120a7e4b10aff1866e2e', deprecated=True)
+ version('1.5.1', sha256='b4946711e88a1745688b6cce5aad872e6e2ea200fededf38d77a864883e3750e', deprecated=True)
+ version('1.5', sha256='18b40ce6222509bc70aa9d56b8c538cd5903edf7294d6f95530668e555206d5b', deprecated=True)
+ version('1.4.1', sha256='095d9ee4cd49d2fd79c10e0e84e6890b755e54dec6a5cd580a2b4241ba230a2b', deprecated=True)
+ version('1.4', sha256='4ea8348c2f7de3cc488f48fbd8652e69b52515441952766c06ff67ed1aaf69a0', deprecated=True)
for v in ["1.4", "1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
"1.6.3", "1.6.4"]:
diff --git a/var/spack/repos/builtin/packages/votca-ctp/package.py b/var/spack/repos/builtin/packages/votca-ctp/package.py
index 74c2819810..d3c7db41a7 100644
--- a/var/spack/repos/builtin/packages/votca-ctp/package.py
+++ b/var/spack/repos/builtin/packages/votca-ctp/package.py
@@ -19,9 +19,8 @@ class VotcaCtp(CMakePackage):
url = "https://github.com/votca/ctp/tarball/v1.5"
git = "https://github.com/votca/ctp.git"
- version('master', branch='master')
- version('1.5.1', sha256='ef957c2f6b09335d0d27ecb7e1b80b55e76a100247bc0d0b3cfef7718d2a1126')
- version('1.5', sha256='31eb6bcc9339e575116f0c91fe7a4ce7d4189f31f0640329c993fea911401d65')
+ version('1.5.1', sha256='ef957c2f6b09335d0d27ecb7e1b80b55e76a100247bc0d0b3cfef7718d2a1126', deprecated=True)
+ version('1.5', sha256='31eb6bcc9339e575116f0c91fe7a4ce7d4189f31f0640329c993fea911401d65', deprecated=True)
depends_on("cmake@2.8:", type='build')
depends_on('votca-tools@1.5.1')
diff --git a/var/spack/repos/builtin/packages/votca-tools/package.py b/var/spack/repos/builtin/packages/votca-tools/package.py
index 0c72242b0c..a253b9857d 100644
--- a/var/spack/repos/builtin/packages/votca-tools/package.py
+++ b/var/spack/repos/builtin/packages/votca-tools/package.py
@@ -20,20 +20,19 @@ class VotcaTools(CMakePackage):
git = "https://github.com/votca/tools.git"
maintainers = ['junghans']
- version('master', branch='master')
- version('stable', branch='stable')
- version('2021.2', sha256='2cd3175b65924803aff90dce49f60e1dda9015988a453d60358e51f0dbb4292d')
- version('2021.1', sha256='c2fdf5ab72fc75580fb3623182fa88dd0eed856388bdc862aff42148bb0a16e7')
- version('2021', sha256='b84f68ba4a8bfae7b06b61e1e078dcbfb3b340c516da3be39ef545152da00ccd')
- version('1.6.4', sha256='aa79ef4617a80ba3ca063932d5ee0d5767c0285b4b613abd373ad3c986ab9f4c')
- version('1.6.3', sha256='b4ba63861f4342070d81309992f76c4cc798dffeab894bff64799881e75b3cc2')
- version('1.6.2', sha256='1b31e0dd7550b80b963e6714d671f3516d68ebc1e75068a5d827a6e8b4f1759a')
- version('1.6.1', sha256='3e8f51d484cb3fdfbeb851aab387807ba4c40aecef8317c90182da68ad282dcc')
- version('1.6', sha256='cfd0fedc80fecd009f743b5df47777508d76bf3ef294a508a9f11fbb42efe9a5')
- version('1.5.1', sha256='4be4fe25a2910e24e1720cd9022d214001d38196033ade8f9d6e618b4f47d5c4')
- version('1.5', sha256='a82a6596c24ff06e79eab17ca02f4405745ceeeb66369693a59023ad0b62cf22')
- version('1.4.1', sha256='b6b87f6bec8db641a1d8660422ca44919252a69494b32ba6c8c9ac986bae9a65')
- version('1.4', sha256='41638122e7e59852af61d391b4ab8c308fd2e16652f768077e13a99d206ec5d3')
+ version('stable', branch='stable', deprecated=True)
+ version('2021.2', sha256='2cd3175b65924803aff90dce49f60e1dda9015988a453d60358e51f0dbb4292d', deprecated=True)
+ version('2021.1', sha256='c2fdf5ab72fc75580fb3623182fa88dd0eed856388bdc862aff42148bb0a16e7', deprecated=True)
+ version('2021', sha256='b84f68ba4a8bfae7b06b61e1e078dcbfb3b340c516da3be39ef545152da00ccd', deprecated=True)
+ version('1.6.4', sha256='aa79ef4617a80ba3ca063932d5ee0d5767c0285b4b613abd373ad3c986ab9f4c', deprecated=True)
+ version('1.6.3', sha256='b4ba63861f4342070d81309992f76c4cc798dffeab894bff64799881e75b3cc2', deprecated=True)
+ version('1.6.2', sha256='1b31e0dd7550b80b963e6714d671f3516d68ebc1e75068a5d827a6e8b4f1759a', deprecated=True)
+ version('1.6.1', sha256='3e8f51d484cb3fdfbeb851aab387807ba4c40aecef8317c90182da68ad282dcc', deprecated=True)
+ version('1.6', sha256='cfd0fedc80fecd009f743b5df47777508d76bf3ef294a508a9f11fbb42efe9a5', deprecated=True)
+ version('1.5.1', sha256='4be4fe25a2910e24e1720cd9022d214001d38196033ade8f9d6e618b4f47d5c4', deprecated=True)
+ version('1.5', sha256='a82a6596c24ff06e79eab17ca02f4405745ceeeb66369693a59023ad0b62cf22', deprecated=True)
+ version('1.4.1', sha256='b6b87f6bec8db641a1d8660422ca44919252a69494b32ba6c8c9ac986bae9a65', deprecated=True)
+ version('1.4', sha256='41638122e7e59852af61d391b4ab8c308fd2e16652f768077e13a99d206ec5d3', deprecated=True)
# https://github.com/votca/tools/pull/229, fix mkl in exported target
patch("https://github.com/votca/tools/pull/229.patch", sha256="250d0b679e5d3104e3c8d6adf99751b71386c7ed4cbdae1c75408717ef3f401f", when="@1.6:1.6.0+mkl")
diff --git a/var/spack/repos/builtin/packages/votca-xtp/package.py b/var/spack/repos/builtin/packages/votca-xtp/package.py
index c9b24f784f..141afdb44c 100644
--- a/var/spack/repos/builtin/packages/votca-xtp/package.py
+++ b/var/spack/repos/builtin/packages/votca-xtp/package.py
@@ -20,24 +20,23 @@ class VotcaXtp(CMakePackage):
git = "https://github.com/votca/xtp.git"
maintainers = ['junghans']
- version('master', branch='master')
- version('stable', branch='stable')
- version('2021.2', sha256='a13180cc05a24c441326a2b209e4d1cc6b176f1b8d7aec1aea46b627e230ff8c')
- version('2021.1', sha256='8ce112fc40676690369133188848dfeb3875d57351286cad4c312057a4dd767b')
- version('2021', sha256='43bb5a52fec675738f4b5896f0833a1c1090bd7e74f97769697495abf4652e40')
- version('1.6.4', sha256='699a835954556cf6b2f20dac7942c1761c6dd6c6c3fbdde62c8bfcfd71ee075b')
- version('1.6.3', sha256='757b9a6a470b3c356f638d62269c5b72b8ace374f006658aef8bb6afd1ad1413')
- version('1.6.2', sha256='b51a28cddceca6998b981ad61466617ad624d577ce424c0653d92a680f460061')
- version('1.6.1', sha256='886af50bc12457bbafb06dc927b7fd4cadc3db1b4615b24a08953f6b358debef')
- version('1.6', sha256='695c2d9d3f924103481529f992e3723bdce10b8edfc294421a849cdf51dbbb6e')
- version('1.5.1', sha256='17a7722e5a32d236e4f1f6f88b680da4ba5f52bcf65bca3687c6a1c731d10881')
- version('1.5', sha256='b40b6d19e13f0650e84b8beebe86ce5c09071624f18d66df826f9d8584b4d3c8')
- version('1.4.1', sha256='4b53d371d6cf648c9e9e9bd1f104d349cafeaf10a02866e3f1d05c574b595a21')
+ version('stable', branch='stable', deprecated=True)
+ version('2021.2', sha256='a13180cc05a24c441326a2b209e4d1cc6b176f1b8d7aec1aea46b627e230ff8c', deprecated=True)
+ version('2021.1', sha256='8ce112fc40676690369133188848dfeb3875d57351286cad4c312057a4dd767b', deprecated=True)
+ version('2021', sha256='43bb5a52fec675738f4b5896f0833a1c1090bd7e74f97769697495abf4652e40', deprecated=True)
+ version('1.6.4', sha256='699a835954556cf6b2f20dac7942c1761c6dd6c6c3fbdde62c8bfcfd71ee075b', deprecated=True)
+ version('1.6.3', sha256='757b9a6a470b3c356f638d62269c5b72b8ace374f006658aef8bb6afd1ad1413', deprecated=True)
+ version('1.6.2', sha256='b51a28cddceca6998b981ad61466617ad624d577ce424c0653d92a680f460061', deprecated=True)
+ version('1.6.1', sha256='886af50bc12457bbafb06dc927b7fd4cadc3db1b4615b24a08953f6b358debef', deprecated=True)
+ version('1.6', sha256='695c2d9d3f924103481529f992e3723bdce10b8edfc294421a849cdf51dbbb6e', deprecated=True)
+ version('1.5.1', sha256='17a7722e5a32d236e4f1f6f88b680da4ba5f52bcf65bca3687c6a1c731d10881', deprecated=True)
+ version('1.5', sha256='b40b6d19e13f0650e84b8beebe86ce5c09071624f18d66df826f9d8584b4d3c8', deprecated=True)
+ version('1.4.1', sha256='4b53d371d6cf648c9e9e9bd1f104d349cafeaf10a02866e3f1d05c574b595a21', deprecated=True)
depends_on("cmake@2.8:", type='build')
for v in ["1.4.1", "1.5", "1.5.1", "1.6", "1.6.1", "1.6.2",
"1.6.3", "1.6.4", "2021", "2021.1", "2021.2",
- "master", "stable"]:
+ "stable"]:
depends_on('votca-tools@%s' % v, when="@%s:%s.0" % (v, v))
depends_on('votca-csg@%s' % v, when="@%s:%s.0" % (v, v))
depends_on("libxc", when='@stable,1.5:')
diff --git a/var/spack/repos/builtin/packages/votca/package.py b/var/spack/repos/builtin/packages/votca/package.py
new file mode 100644
index 0000000000..647a5ed13a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/votca/package.py
@@ -0,0 +1,64 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class Votca(CMakePackage):
+ """VOTCA is a software package which focuses on the analysis of molecular
+ dynamics data, the development of systematic coarse-graining techniques
+ as well as methods used for simulating microscopic charge (and exciton)
+ transport in disordered semiconductors.
+ """
+ homepage = "https://www.votca.org"
+ url = "https://github.com/votca/votca/tarball/v2022-rc.1"
+ git = "https://github.com/votca/xtp.git"
+ maintainers = ['junghans']
+
+ version('master', branch='master')
+ version('stable', branch='stable')
+ version('2022-rc.2', sha256='eefde51470ec1437d0127fb02c2745f33e434deff53cdaee97691c36ce447fb1')
+ version('2022-rc.1', sha256='d53ca9fde364a97d91bf3bed15223536ffa598b2dec7bccd459accae265391b1')
+
+ variant('mkl', default=False, description='Build with MKL support')
+ variant('new-gmx', default=False, description='Build against gromacs>2019 - no tabulated kernels')
+ conflicts('votca-tools')
+ conflicts('votca-csg')
+ conflicts('votca-xtp')
+
+ depends_on("cmake@3.13:", type='build')
+ depends_on("expat")
+ depends_on("fftw-api@3")
+ depends_on("eigen@3.3:")
+ depends_on("boost")
+ depends_on('mkl', when='+mkl')
+ depends_on("libxc")
+ depends_on("hdf5+cxx~mpi")
+ depends_on("libint@2.6.0:")
+ depends_on("libecpint")
+ depends_on("py-h5py")
+ depends_on("py-lxml")
+ depends_on("gromacs~mpi@5.1:")
+ depends_on("gromacs~mpi@5.1:2019", when="~new-gmx")
+ depends_on('lammps', type='test')
+ depends_on('py-espresso', type='test')
+ depends_on('py-pytest', type='test')
+
+ def cmake_args(self):
+ args = [
+ '-DINSTALL_RC_FILES=OFF',
+ '-DBUILD_XTP=ON',
+ '-DBUILD_CSGAPPS=ON',
+ ]
+
+ if '~mkl' in self.spec:
+ args.append('-DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON')
+
+ if self.run_tests:
+ args.append('-DENABLE_TESTING=ON')
+ args.append('-DENABLE_REGRESSION_TESTING=ON')
+
+ return args
diff --git a/var/spack/repos/builtin/packages/vtk-h/package.py b/var/spack/repos/builtin/packages/vtk-h/package.py
index 278a6cb373..e876810637 100644
--- a/var/spack/repos/builtin/packages/vtk-h/package.py
+++ b/var/spack/repos/builtin/packages/vtk-h/package.py
@@ -76,8 +76,9 @@ class VtkH(Package, CudaPackage):
depends_on("vtk-m~tbb+openmp", when="+openmp")
depends_on("vtk-m~tbb~openmp", when="~openmp")
- depends_on("vtk-m+cuda~tbb+openmp", when="+cuda+openmp")
- depends_on("vtk-m+cuda~tbb~openmp", when="+cuda~openmp")
+ for _arch in CudaPackage.cuda_arch_values:
+ depends_on("vtk-m+cuda~tbb+openmp cuda_arch={0}".format(_arch), when="+cuda+openmp cuda_arch={0}".format(_arch))
+ depends_on("vtk-m+cuda~tbb~openmp cuda_arch={0}".format(_arch), when="+cuda~openmp cuda_arch={0}".format(_arch))
depends_on("vtk-m~tbb+openmp~shared", when="+openmp~shared")
depends_on("vtk-m~tbb~openmp~shared", when="~openmp~shared")
diff --git a/var/spack/repos/builtin/packages/vtk-m/package.py b/var/spack/repos/builtin/packages/vtk-m/package.py
index 5eb7a68cdb..ca914fd662 100644
--- a/var/spack/repos/builtin/packages/vtk-m/package.py
+++ b/var/spack/repos/builtin/packages/vtk-m/package.py
@@ -89,6 +89,9 @@ class VtkM(CMakePackage, CudaPackage):
conflicts("+hip", when="+cuda")
+ conflicts("+cuda", when="cuda_arch=none",
+ msg="vtk-m +cuda requires that cuda_arch be set")
+
def cmake_args(self):
spec = self.spec
options = []
diff --git a/var/spack/repos/builtin/packages/vtk/internal_findHDF5.patch b/var/spack/repos/builtin/packages/vtk/internal_findHDF5.patch
new file mode 100644
index 0000000000..82775aefbe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vtk/internal_findHDF5.patch
@@ -0,0 +1,16 @@
+diff -ru a/CMake/FindHDF5.cmake b/CMake/FindHDF5.cmake
+--- a/CMake/FindHDF5.cmake 2019-01-30 11:15:13.000000000 -0600
++++ b/CMake/FindHDF5.cmake 2021-11-15 18:01:39.314264619 -0600
+@@ -3,11 +3,7 @@
+ # (BUG #0014363).
+
+ # include the default FindHDF5.cmake.
+-if(CMAKE_VERSION VERSION_LESS 3.6.1)
+- include(${CMAKE_CURRENT_LIST_DIR}/NewCMake/FindHDF5.cmake)
+-else()
+- include(${CMAKE_ROOT}/Modules/FindHDF5.cmake)
+-endif()
++include(${CMAKE_CURRENT_LIST_DIR}/NewCMake/FindHDF5.cmake)
+
+ if(HDF5_FOUND AND (HDF5_IS_PARALLEL OR HDF5_ENABLE_PARALLEL))
+ include(vtkMPI)
diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py
index 49de4e28b3..07c4fc2ad9 100644
--- a/var/spack/repos/builtin/packages/vtk/package.py
+++ b/var/spack/repos/builtin/packages/vtk/package.py
@@ -21,7 +21,8 @@ class Vtk(CMakePackage):
maintainers = ['chuckatkins', 'danlipsa']
- version('9.0.3', sha256='bc3eb9625b2b8dbfecb6052a2ab091fc91405de4333b0ec68f3323815154ed8a')
+ version('9.1.0', sha256='8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96')
+ version('9.0.3', sha256='bc3eb9625b2b8dbfecb6052a2ab091fc91405de4333b0ec68f3323815154ed8a', preferred=True)
version('9.0.1', sha256='1b39a5e191c282861e7af4101eaa8585969a2de05f5646c9199a161213a622c7')
version('9.0.0', sha256='15def4e6f84d72f82386617fe595ec124dda3cbd13ea19a0dcd91583197d8715')
version('8.2.0', sha256='34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb')
@@ -73,6 +74,9 @@ class Vtk(CMakePackage):
# Broken downstream FindMPI
patch('vtkm-findmpi-downstream.patch', when='@9.0.0')
+ # use internal FindHDF5
+ patch('internal_findHDF5.patch', when='@:8')
+
# The use of the OpenGL2 backend requires at least OpenGL Core Profile
# version 3.2 or higher.
depends_on('gl@3.2:', when='+opengl2')
@@ -115,6 +119,18 @@ class Vtk(CMakePackage):
depends_on('eigen', when='@8.2.0:')
depends_on('double-conversion', when='@8.2.0:')
depends_on('sqlite', when='@8.2.0:')
+ depends_on('pugixml', when='@9:')
+ depends_on('libogg')
+ depends_on('libtheora')
+ depends_on('utf8cpp', when='@9:')
+ depends_on('gl2ps', when='@8.1:')
+ depends_on('gl2ps@1.4.1:', when='@9:')
+ depends_on('proj@4', when='@8.2')
+ depends_on('proj@4:7', when='@9:')
+ depends_on('cgns@4.1.1:+mpi', when='@9.1: +mpi')
+ depends_on('cgns@4.1.1:~mpi', when='@9.1: ~mpi')
+ depends_on('seacas@2021-05-12:+mpi', when='@9.1: +mpi')
+ depends_on('seacas@2021-05-12:~mpi', when='@9.1: ~mpi')
# For finding Fujitsu-MPI wrapper commands
patch('find_fujitsu_mpi.patch', when='@:8.2.0%fj')
@@ -147,38 +163,45 @@ class Vtk(CMakePackage):
# (solves #26314)
'-DCMAKE_INSTALL_LIBDIR:PATH=lib',
- # In general, we disable use of VTK "ThirdParty" libs, preferring
- # spack-built versions whenever possible
- '-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON',
-
- # However, in a few cases we can't do without them yet
- '-DVTK_USE_SYSTEM_GL2PS:BOOL=OFF',
- '-DVTK_USE_SYSTEM_LIBHARU=OFF',
-
- '-DNETCDF_DIR={0}'.format(spec['netcdf-c'].prefix),
- '-DNETCDF_C_ROOT={0}'.format(spec['netcdf-c'].prefix),
- '-DNETCDF_CXX_ROOT={0}'.format(spec['netcdf-cxx'].prefix),
-
# Allow downstream codes (e.g. VisIt) to override VTK's classes
'-DVTK_ALL_NEW_OBJECT_FACTORY:BOOL=ON',
-
- # Disable wrappers for other languages.
- '-DVTK_WRAP_JAVA=OFF',
- '-DVTK_WRAP_TCL=OFF',
]
- # Some variable names have changed
- if spec.satisfies('@8.2.0:'):
+ # Disable wrappers for other languages.
+ cmake_args.append('-DVTK_WRAP_JAVA=OFF')
+ if spec.satisfies('@:8.1'):
+ cmake_args.append('-DVTK_WRAP_TCL=OFF')
+
+ # In general, we disable use of VTK "ThirdParty" libs, preferring
+ # spack-built versions whenever possible but there are exceptions.
+ if spec.satisfies('@:8'):
cmake_args.extend([
- '-DVTK_USE_SYSTEM_OGG:BOOL=OFF',
- '-DVTK_USE_SYSTEM_THEORA:BOOL=OFF',
- '-DVTK_USE_SYSTEM_LIBPROJ:BOOL=OFF',
- '-DVTK_USE_SYSTEM_PUGIXML:BOOL=OFF',
+ '-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON',
+ '-DVTK_USE_SYSTEM_LIBHARU=OFF',
])
+ if spec.satisfies('@:8.0'):
+ cmake_args.append('-DVTK_USE_SYSTEM_GL2PS=OFF')
else:
cmake_args.extend([
- '-DVTK_USE_SYSTEM_OGGTHEORA:BOOL=OFF',
+ '-DVTK_USE_EXTERNAL:BOOL=ON',
+ '-DVTK_MODULE_USE_EXTERNAL_VTK_libharu:BOOL=OFF',
+ '-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl:BOOL=OFF',
+ '-DHDF5_ROOT={0}'.format(spec['hdf5'].prefix),
+ ])
+ if spec.satisfies('@9.1:'):
+ cmake_args.extend([
+ '-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF',
+ # uses an unreleased version of fmt
+ '-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF',
+ ])
+
+ # Some variable names have changed
+ if spec.satisfies('@8.2.0'):
+ cmake_args.append('-DVTK_USE_SYSTEM_PUGIXML:BOOL=OFF')
+ elif spec.satisfies('@:8.1'):
+ cmake_args.extend([
'-DVTK_USE_SYSTEM_LIBPROJ4:BOOL=OFF',
+ '-DNETCDF_CXX_ROOT={0}'.format(spec['netcdf-cxx'].prefix),
])
if '+mpi' in spec:
@@ -191,17 +214,22 @@ class Vtk(CMakePackage):
cmake_args.extend([
'-DVTK_USE_MPI=ON'
])
+ else:
+ '-DVTK_USE_MPI=OFF'
if '+ffmpeg' in spec:
- cmake_args.extend(['-DModule_vtkIOFFMPEG:BOOL=ON'])
+ if spec.satisfies('@:8'):
+ cmake_args.append('-DModule_vtkIOFFMPEG:BOOL=ON')
+ else:
+ cmake_args.append('-DVTK_MODULE_ENABLE_VTK_IOFFMPEG:STRING=YES')
# Enable/Disable wrappers for Python.
if '+python' in spec:
- cmake_args.extend([
- '-DVTK_WRAP_PYTHON=ON',
- '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path),
- ])
- if '+mpi' in spec:
+ cmake_args.append('-DVTK_WRAP_PYTHON=ON')
+ if spec.satisfies('@:8'):
+ cmake_args.append(
+ '-DPYTHON_EXECUTABLE={0}'.format(spec['python'].command.path))
+ if '+mpi' in spec and spec.satisfies('@:8'):
cmake_args.append('-DVTK_USE_SYSTEM_MPI4PY:BOOL=ON')
if spec.satisfies('@9.0.0: ^python@3:'):
cmake_args.append('-DVTK_PYTHON_VERSION=3')
@@ -218,14 +246,16 @@ class Vtk(CMakePackage):
qt_bin = spec['qt'].prefix.bin
qmake_exe = os.path.join(qt_bin, 'qmake')
- cmake_args.extend([
- # Enable Qt support here.
- '-DVTK_QT_VERSION:STRING={0}'.format(qt_ver),
- '-DQT_QMAKE_EXECUTABLE:PATH={0}'.format(qmake_exe),
- '-DVTK_Group_Qt:BOOL=ON',
- ])
# https://github.com/martijnkoopman/Qt-VTK-viewer/blob/master/doc/Build-VTK.md
- if spec.satisfies('@9.0.0:'):
+ # The content of the above link changes over time with versions.
+ # Older commits have information on VTK-8.
+ if spec.satisfies('@:8'):
+ cmake_args.extend([
+ '-DVTK_QT_VERSION:STRING={0}'.format(qt_ver),
+ '-DQT_QMAKE_EXECUTABLE:PATH={0}'.format(qmake_exe),
+ '-DVTK_Group_Qt:BOOL=ON',
+ ])
+ else:
cmake_args.extend([
'-DVTK_GROUP_ENABLE_Qt:STRING=YES',
'-DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES',
@@ -235,37 +265,54 @@ class Vtk(CMakePackage):
# VTK to build with qt~webkit versions (see the documentation for
# more info: http://www.vtk.org/Wiki/VTK/Tutorials/QtSetup).
if '~webkit' in spec['qt']:
- cmake_args.extend([
- '-DVTK_Group_Qt:BOOL=OFF',
- '-DModule_vtkGUISupportQt:BOOL=ON',
- '-DModule_vtkGUISupportQtOpenGL:BOOL=ON',
- ])
+ if spec.satisfies('@:8'):
+ cmake_args.extend([
+ '-DVTK_Group_Qt:BOOL=OFF',
+ '-DModule_vtkGUISupportQt:BOOL=ON',
+ '-DModule_vtkGUISupportQtOpenGL:BOOL=ON',
+ ])
+ else:
+ cmake_args.extend([
+ '-DVTK_GROUP_ENABLE_Qt:STRING=NO',
+ '-DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES',
+ ])
if '+xdmf' in spec:
if spec.satisfies('^cmake@3.12:'):
# This policy exists only for CMake >= 3.12
cmake_args.extend(["-DCMAKE_POLICY_DEFAULT_CMP0074=NEW"])
- cmake_args.extend([
- # Enable XDMF Support here
- "-DModule_vtkIOXdmf2:BOOL=ON",
- "-DModule_vtkIOXdmf3:BOOL=ON",
- "-DBOOST_ROOT={0}".format(spec['boost'].prefix),
- "-DBOOST_LIBRARY_DIR={0}".format(spec['boost'].prefix.lib),
- "-DBOOST_INCLUDE_DIR={0}".format(spec['boost'].prefix.include),
- "-DBOOST_NO_SYSTEM_PATHS:BOOL=ON",
- # This is needed because VTK has multiple FindBoost
- # and they stick to system boost if there's a system boost
- # installed with CMake
- "-DBoost_NO_BOOST_CMAKE:BOOL=ON",
- "-DHDF5_ROOT={0}".format(spec['hdf5'].prefix),
- # The xdmf project does not export any CMake file...
- "-DVTK_USE_SYSTEM_XDMF3:BOOL=OFF",
- "-DVTK_USE_SYSTEM_XDMF2:BOOL=OFF"
- ])
+ if spec.satisfies('@:8'):
+ cmake_args.extend([
+ # Enable XDMF Support here
+ "-DModule_vtkIOXdmf2:BOOL=ON",
+ "-DModule_vtkIOXdmf3:BOOL=ON",
+ "-DBOOST_ROOT={0}".format(spec['boost'].prefix),
+ "-DBOOST_LIBRARY_DIR={0}".format(spec['boost'].prefix.lib),
+ "-DBOOST_INCLUDE_DIR={0}".format(spec['boost'].prefix.include),
+ "-DBOOST_NO_SYSTEM_PATHS:BOOL=ON",
+ # This is needed because VTK has multiple FindBoost
+ # and they stick to system boost if there's a system boost
+ # installed with CMake
+ "-DBoost_NO_BOOST_CMAKE:BOOL=ON",
+ # The xdmf project does not export any CMake file...
+ "-DVTK_USE_SYSTEM_XDMF3:BOOL=OFF",
+ "-DVTK_USE_SYSTEM_XDMF2:BOOL=OFF"
+ ])
+ else:
+ cmake_args.extend([
+ '-DVTK_MODULE_ENABLE_VTK_xdmf2:STRING=YES',
+ '-DVTK_MODULE_ENABLE_VTK_xdmf3:STRING=YES',
+ '-DVTK_MODULE_ENABLE_VTK_IOXdmf2:STRING=YES',
+ '-DVTK_MODULE_ENABLE_VTK_IOXdmf3:STRING=YES',
+ ])
if '+mpi' in spec:
- cmake_args.extend(["-DModule_vtkIOParallelXdmf3:BOOL=ON"])
+ if spec.satisfies('@:8'):
+ cmake_args.append("-DModule_vtkIOParallelXdmf3:BOOL=ON")
+ else:
+ cmake_args.append(
+ '-DVTK_MODULE_ENABLE_VTK_IOParallelXdmf3:STRING=YES')
cmake_args.append('-DVTK_RENDERING_BACKEND:STRING=' + opengl_ver)
diff --git a/var/spack/repos/builtin/packages/vvtest/package.py b/var/spack/repos/builtin/packages/vvtest/package.py
index 3b98602f23..3b98602f23 100755..100644
--- a/var/spack/repos/builtin/packages/vvtest/package.py
+++ b/var/spack/repos/builtin/packages/vvtest/package.py
diff --git a/var/spack/repos/builtin/packages/w3emc/package.py b/var/spack/repos/builtin/packages/w3emc/package.py
index 152d26e634..488d0e9ed3 100644
--- a/var/spack/repos/builtin/packages/w3emc/package.py
+++ b/var/spack/repos/builtin/packages/w3emc/package.py
@@ -28,3 +28,10 @@ class W3emc(CMakePackage):
depends_on('nemsio', when='@2.7.3')
depends_on('sigio', when='@2.7.3')
depends_on('netcdf-fortran', when='@2.7.3')
+
+ def setup_run_environment(self, env):
+ for suffix in ('4', '8', 'd'):
+ lib = find_libraries('libw3emc_' + suffix, root=self.prefix,
+ shared=False, recursive=True)
+ env.set('W3EMC_LIB' + suffix, lib[0])
+ env.set('W3EMC_INC' + suffix, join_path(self.prefix, 'include_' + suffix))
diff --git a/var/spack/repos/builtin/packages/warpx/2626.patch b/var/spack/repos/builtin/packages/warpx/2626.patch
new file mode 100644
index 0000000000..699744b89d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/warpx/2626.patch
@@ -0,0 +1,34 @@
+From 9785e706229622626133c4b03c7abd004f62023f Mon Sep 17 00:00:00 2001
+From: Axel Huebl <axel.huebl@plasma.ninja>
+Date: Sat, 4 Dec 2021 15:28:13 -0800
+Subject: [PATCH] Fix: Installed Symlink LIB
+
+The latest patch to these routines broke our library alias in installs.
+
+By default, this variable is relative and needs the prefix appended.
+In some cases, e.g., if externally set, it can already be absolute. In that
+case, we skip adding the prefix.
+---
+ CMakeLists.txt | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 04092ba962..a549546ab9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -343,9 +343,14 @@ if(WarpX_LIB)
+ else()
+ set(mod_ext "so")
+ endif()
++ if(IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
++ set(ABS_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
++ else()
++ set(ABS_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
++ endif()
+ install(CODE "file(CREATE_LINK
+ $<TARGET_FILE_NAME:shared>
+- ${CMAKE_INSTALL_LIBDIR}/libwarpx.${lib_suffix}.${mod_ext}
++ ${ABS_INSTALL_LIB_DIR}/libwarpx.${lib_suffix}.${mod_ext}
+ COPY_ON_ERROR SYMBOLIC)")
+ endif()
+
diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py
index 8306115128..2e67026e07 100644
--- a/var/spack/repos/builtin/packages/warpx/package.py
+++ b/var/spack/repos/builtin/packages/warpx/package.py
@@ -17,7 +17,7 @@ class Warpx(CMakePackage):
"""
homepage = "https://ecp-warpx.github.io"
- url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/21.07.tar.gz"
+ url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/21.12.tar.gz"
git = "https://github.com/ECP-WarpX/WarpX.git"
maintainers = ['ax3l', 'dpgrote', 'MaxThevenet', 'RemiLehe']
@@ -25,6 +25,8 @@ class Warpx(CMakePackage):
# NOTE: if you update the versions here, also see py-warpx
version('develop', branch='development')
+ # 22.01+ requires C++17 or newer
+ version('21.12', sha256='847c98aac20c73d94c823378803c82be9a14139f1c14ea483757229b452ce4c1')
version('21.11', sha256='ce60377771c732033a77351cd3500b24b5d14b54a5adc7a622767b9251c10d0b')
version('21.10', sha256='d372c573f0360094d5982d64eceeb0149d6620eb75e8fdbfdc6777f3328fb454')
version('21.09', sha256='861a65f11846541c803564db133c8678b9e8779e69902ef1637b21399d257eab')
@@ -33,6 +35,7 @@ class Warpx(CMakePackage):
version('21.06', sha256='a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30')
version('21.05', sha256='f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc')
version('21.04', sha256='51d2d8b4542eada96216e8b128c0545c4b7527addc2038efebe586c32c4020a0')
+ # 20.01+ requires C++14 or newer
variant('app', default=True,
description='Build the WarpX executable application')
@@ -45,7 +48,7 @@ class Warpx(CMakePackage):
description='On-node, accelerated computing backend')
variant('dims',
default='3',
- values=('2', '3', 'rz'),
+ values=('1', '2', '3', 'rz'),
multi=False,
description='Number of spatial dimensions')
variant('eb', default=False,
@@ -104,12 +107,19 @@ class Warpx(CMakePackage):
depends_on('rocprim')
depends_on('rocrand')
+ conflicts('dims=1', when='@:21.12',
+ msg='WarpX 1D support starts in 22.01+')
conflicts('~qed +qedtablegen',
msg='WarpX PICSAR QED table generation needs +qed')
conflicts('compute=sycl', when='+psatd',
msg='WarpX spectral solvers are not yet tested with SYCL '
'(use "warpx ~psatd")')
+ # The symbolic aliases for our +lib target were missing in the install
+ # location
+ # https://github.com/ECP-WarpX/WarpX/pull/2626
+ patch('2626.patch', when='@21.12')
+
def cmake_args(self):
spec = self.spec
@@ -135,11 +145,14 @@ class Warpx(CMakePackage):
self.define_from_variant('WarpX_QED_TABLE_GEN', 'qedtablegen'),
]
+ with when('+openpmd'):
+ args.append('-DWarpX_openpmd_internal=OFF')
+
return args
@property
def libs(self):
- libsuffix = {'2': '2d', '3': '3d', 'rz': 'rz'}
+ libsuffix = {'1': '1d', '2': '2d', '3': '3d', 'rz': 'rz'}
dims = self.spec.variants['dims'].value
return find_libraries(
['libwarpx.' + libsuffix[dims]], root=self.prefix, recursive=True,
@@ -155,7 +168,8 @@ class Warpx(CMakePackage):
self.install_test_root if post_install else self.stage.source_path,
self.examples_src_dir)
dims = self.spec.variants['dims'].value
- inputs_nD = {'2': 'inputs_2d', '3': 'inputs_3d', 'rz': 'inputs_2d_rz'}
+ inputs_nD = {'1': 'inputs_1d', '2': 'inputs_2d', '3': 'inputs_3d',
+ 'rz': 'inputs_2d_rz'}
inputs = join_path(examples_dir, inputs_nD[dims])
cli_args = [inputs, "max_step=50", "diag1.intervals=10"]
diff --git a/var/spack/repos/builtin/packages/whizard/package.py b/var/spack/repos/builtin/packages/whizard/package.py
index 883a18c983..f4ef68b674 100644
--- a/var/spack/repos/builtin/packages/whizard/package.py
+++ b/var/spack/repos/builtin/packages/whizard/package.py
@@ -58,6 +58,7 @@ class Whizard(AutotoolsPackage):
variant('latex', default=False,
description="data visualization with latex")
+ depends_on('libtirpc')
depends_on('ocaml@4.02.3:', type='build', when="@3:")
depends_on('ocaml@4.02.3:~force-safe-string', type='build', when="@:2")
depends_on('hepmc', when="hepmc=2")
diff --git a/var/spack/repos/builtin/packages/wi4mpi/package.py b/var/spack/repos/builtin/packages/wi4mpi/package.py
new file mode 100644
index 0000000000..93d81cdaeb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/wi4mpi/package.py
@@ -0,0 +1,55 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Wi4mpi(CMakePackage):
+ """WI4MPI: Wrapper Interface For MPI performing a light translation between MPI
+ constants and MPI objects from an MPI implementation to another one"""
+
+ homepage = "https://github.com/cea-hpc/wi4mpi"
+ url = "https://github.com/cea-hpc/wi4mpi/archive/v3.4.1.tar.gz"
+ maintainers = ['adrien-cotte', 'marcjoos-cea']
+
+ version('3.4.1', sha256='92bf6738216426069bc07bff19cd7c933e33e397a941ff9f89a639380fab3737')
+ version('3.3.0', sha256='fb7fb3b591144e90b3d688cf844c2246eb185f54e1da6baef857e035ef730d96')
+ version('3.2.2', sha256='23ac69740577d66a68ddd5360670f0a344e3c47a5d146033c63a67e54e56c66f')
+ version('3.2.1', sha256='0d928cb930b6cb1ae648eca241db59812ee0e5c041faf2f57728bbb6ee4e36df')
+ version('3.2.0', sha256='3322f6823dbec1d58a1fcf163b2bcdd7b9cd75dc6c7f78865fc6cb0a91bf6f94')
+ variant('build_type', default='Release',
+ description='The build type to build',
+ values=('Debug', 'Release', 'RelWithDebInfo'))
+
+ depends_on('mpi')
+
+ def cmake_args(self):
+ if '%gcc' in self.spec:
+ compiler = "GNU"
+ elif '%intel' in self.spec:
+ compiler = "INTEL"
+ elif '%clang' in self.spec:
+ compiler = "LLVM"
+ elif '%pgi' in self.spec:
+ compiler = "PGI"
+ else:
+ tty.error("Could not determine compiler used")
+ wi4mpi_build_type = 'RELEASE'
+ if self.spec.variants["build_type"].value == "RelWithDebInfo":
+ wi4mpi_build_type = 'NORMAL'
+ elif self.spec.variants["build_type"].value == "Debug":
+ wi4mpi_build_type = 'DEBUG'
+ args = [
+ self.define('WI4MPI_REALEASE', wi4mpi_build_type),
+ self.define('WI4MPI_COMPILER', compiler)
+ ]
+ return args
+
+ def setup_run_environment(self, env):
+ env.set('WI4MPI_ROOT', self.prefix)
+ env.set('WI4MPI_VERSION', self.version)
+ env.set('WI4MPI_CC', self.compiler.cc)
+ env.set('WI4MPI_CXX', self.compiler.cxx)
+ env.set('WI4MPI_FC', self.compiler.fc)
diff --git a/var/spack/repos/builtin/packages/wiredtiger/package.py b/var/spack/repos/builtin/packages/wiredtiger/package.py
new file mode 100644
index 0000000000..a613d9dc46
--- /dev/null
+++ b/var/spack/repos/builtin/packages/wiredtiger/package.py
@@ -0,0 +1,39 @@
+# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Wiredtiger(AutotoolsPackage):
+ """WiredTiger is an high performance, scalable, production quality,
+ NoSQL, Open Source extensible platform for data management."""
+
+ homepage = "https://source.wiredtiger.com/"
+ url = "https://github.com/wiredtiger/wiredtiger/releases/download/10.0.0/wiredtiger-10.0.0.tar.bz2"
+
+ version('10.0.0', sha256='4830107ac744c0459ef99697652aa3e655c2122005a469a49d221e692fb834a5')
+
+ depends_on('python@3:', type=('build', 'run'), when='+python')
+ depends_on('swig', type=('build', 'run'), when='+python')
+ depends_on('lz4', when='+lz4')
+ depends_on('snappy', when='+snappy')
+ depends_on('zlib', when='+zlib')
+ depends_on('zstd', when='+zstd')
+ depends_on('rsync', type='build')
+
+ variant('python', default=False, description='Compile Python API')
+ variant('lz4', default=False, description='Build the lz4 compressor extension')
+ variant('snappy', default=False, description='Build the snappy compressor extension')
+ variant('zlib', default=False, description='Build the zlib compressor extension')
+ variant('zstd', default=False, description='Build the zstd compressor extension')
+
+ def configure_args(self):
+ args = []
+ args += self.enable_or_disable('python')
+ args += self.enable_or_disable('lz4')
+ args += self.enable_or_disable('snappy')
+ args += self.enable_or_disable('zlib')
+ args += self.enable_or_disable('zstd')
+ return args
diff --git a/var/spack/repos/builtin/packages/wonton/package.py b/var/spack/repos/builtin/packages/wonton/package.py
index 9dd5492488..29503a9a10 100644
--- a/var/spack/repos/builtin/packages/wonton/package.py
+++ b/var/spack/repos/builtin/packages/wonton/package.py
@@ -33,7 +33,7 @@ class Wonton(CMakePackage):
variant('kokkos', default=False, description='Enable on-node or device parallelism with Kokkos')
variant('openmp', default=False, description="Enable on-node parallelism using OpenMP")
variant('cuda', default=False, description="Enable GPU parallelism using CUDA")
-
+ variant('flecsi', default=False, description="Enable FlecSI")
# wrappers to external mesh/state libraries
variant('jali', default=False, description='Enable Jali mesh wrappers')
@@ -47,6 +47,7 @@ class Wonton(CMakePackage):
depends_on('netlib-lapack +lapacke', when='+lapacke')
depends_on('mpi', when='+mpi')
+ depends_on('flecsi', when='+flecsi')
depends_on('jali +mstk', when='+jali')
depends_on('mpi', when='+jali')
@@ -113,10 +114,8 @@ class Wonton(CMakePackage):
else:
options.append('-DWONTON_ENABLE_Jali=OFF')
- if '+flecsi' in self.spec:
- options.append('-DWONTON_ENABLE_FleCSI=ON')
- else:
- options.append('-DWONTON_ENABLE_FleCSI=OFF')
+ # BROKEN DEPENDENCY!!!!!!
+ options.append(self.define_from_variant('WONTON_ENABLE_FleCSI', 'flecsi'))
# Unit test variant
if self.run_tests:
@@ -127,3 +126,8 @@ class Wonton(CMakePackage):
options.append('-DENABLE_APP_TESTS=OFF')
return options
+
+ def check(self):
+ if self.run_tests:
+ with working_dir(self.build_directory):
+ make("test")
diff --git a/var/spack/repos/builtin/packages/xrootd/no-systemd.patch b/var/spack/repos/builtin/packages/xrootd/no-systemd.patch
new file mode 100644
index 0000000000..44099f0b02
--- /dev/null
+++ b/var/spack/repos/builtin/packages/xrootd/no-systemd.patch
@@ -0,0 +1,17 @@
+--- a/cmake/XRootDFindLibs.cmake 2021-07-29 12:22:48.000000000 +0000
++++ b/cmake/XRootDFindLibs.cmake 2021-10-25 18:26:07.308918231 +0000
+@@ -26,10 +26,10 @@
+ add_definitions( -DHAVE_XML2 )
+ endif()
+
+-find_package( Systemd )
+-if( SYSTEMD_FOUND )
+- add_definitions( -DHAVE_SYSTEMD )
+-endif()
++#find_package( Systemd )
++#if( SYSTEMD_FOUND )
++# add_definitions( -DHAVE_SYSTEMD )
++#endif()
+
+ find_package( CURL )
+
diff --git a/var/spack/repos/builtin/packages/xrootd/package.py b/var/spack/repos/builtin/packages/xrootd/package.py
index 3b75fb86db..73ce5d99c0 100644
--- a/var/spack/repos/builtin/packages/xrootd/package.py
+++ b/var/spack/repos/builtin/packages/xrootd/package.py
@@ -14,6 +14,7 @@ class Xrootd(CMakePackage):
url = "http://xrootd.org/download/v5.3.1/xrootd-5.3.1.tar.gz"
list_url = 'https://xrootd.slac.stanford.edu/dload.html'
+ version('5.3.2', sha256='e8371fb9e86769bece74b9b9d67cb695023cd6a20a1199386fddd9ed840b0875')
version('5.3.1', sha256='7ea3a112ae9d8915eb3a06616141e5a0ee366ce9a5e4d92407b846b37704ee98')
version('5.1.0', sha256='c639536f1bdc5b6b365e807f3337ed2d41012cd3df608d40e91ed05f1c568b6d')
version('5.0.3', sha256='be40a1897d6c1f153d3e23c39fe96e45063bfafc3cc073db88a1a9531db79ac5')
@@ -50,6 +51,9 @@ class Xrootd(CMakePackage):
variant('readline', default=True,
description='Use readline')
+ variant('krb5', default=False,
+ description='Build with KRB5 support')
+
variant('cxxstd',
default='11',
values=('98', '11', '14', '17'),
@@ -67,10 +71,16 @@ class Xrootd(CMakePackage):
depends_on('readline', when='+readline')
depends_on('xz')
depends_on('zlib')
+ depends_on('curl')
+ depends_on('krb5', when='+krb5')
+ depends_on('json-c')
extends('python', when='+python')
patch('python-support.patch', level=1, when='@:4.8+python')
+ # do not use systemd
+ patch('no-systemd.patch')
+
def patch(self):
"""Remove hardcoded -std=c++0x flag
"""
@@ -86,6 +96,8 @@ class Xrootd(CMakePackage):
format('ON' if '+python' in spec else 'OFF'),
'-DENABLE_READLINE:BOOL={0}'.
format('ON' if '+readline' in spec else 'OFF'),
+ '-DENABLE_KRB5:BOOL={0}'.
+ format('ON' if '+krb5' in spec else 'OFF'),
'-DENABLE_CEPH:BOOL=OFF'
]
# see https://github.com/spack/spack/pull/11581
diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py
index 0ee4c05161..b6f496867e 100644
--- a/var/spack/repos/builtin/packages/xsdk/package.py
+++ b/var/spack/repos/builtin/packages/xsdk/package.py
@@ -5,28 +5,92 @@
import sys
+from copy import deepcopy
from spack import *
-class Xsdk(BundlePackage):
+def xsdk_depends_on_accl(accl_name, accl_var, *args, **kwargs):
+ if accl_name == 'cuda':
+ accl_arch_name = 'cuda_arch'
+ accl_arch_values = list(deepcopy(CudaPackage.cuda_arch_values))
+ elif accl_name == 'rocm':
+ accl_arch_name = 'amdgpu_target'
+ accl_arch_values = list(deepcopy(ROCmPackage.amdgpu_targets))
+ # require ~cuda when xsdk~cuda (and '?cuda' not used)
+ usedep = 1
+ args_new = list(deepcopy(args))
+ if not isinstance(accl_var, list):
+ accl_var = [accl_var]
+ for idx, var in enumerate(accl_var):
+ # skip variants starting with '?' so that
+ # that that they are left unspecified by xsdk
+ if not var.startswith('?'):
+ args_new[0] += ' ~%s' % var
+ else:
+ accl_var[idx] = var.replace('?', '')
+ # if '?cuda' skip adding '~cuda' dep
+ if var == '?' + accl_name:
+ usedep = 0
+ kwargs_new = deepcopy(kwargs)
+ if 'when' in kwargs_new:
+ kwargs_new['when'] += ' ~' + accl_name
+ else:
+ kwargs_new['when'] = '~' + accl_name
+ if usedep:
+ depends_on(*args_new, **kwargs_new)
+
+ # require +cuda when xsdk+cuda, and match the arch
+ for arch in accl_arch_values:
+ args_new = list(deepcopy(args))
+ kwargs_new = deepcopy(kwargs)
+ args_new[0] += '+%s %s=%s' % ('+'.join(accl_var), accl_arch_name, str(arch))
+ if 'when' in kwargs_new:
+ kwargs_new['when'] += ' +%s %s=%s' % (accl_name, accl_arch_name, str(arch))
+ else:
+ kwargs_new['when'] = '+%s %s=%s' % (accl_name, accl_arch_name, str(arch))
+ depends_on(*args_new, **kwargs_new)
+
+
+def xsdk_depends_on(spec, cuda_var='', rocm_var='', **kwargs):
+ """
+ Wrapper for depends_on which can handle propagating cuda and rocm
+ variants.
+
+ Currently, it propagates +cuda_var when xsdk+cuda and rocm_var
+ when xsdk+rocm. When xsdk~[cuda|rocm], then ~[cuda|rocm]_var is
+ selected unless the variant string is prefixed with a '?'
+ (see the tasmanian use below). When '?' prefix is used, then
+ the variant is left unspecified.
+
+ [cuda|rocm]_var can be an array of variant strings or just a single
+ variant string. The spack '+' and '~' symbols should not appear
+ in the strings.
+ """
+ if bool(cuda_var):
+ xsdk_depends_on_accl('cuda', cuda_var, spec, **kwargs)
+ if bool(rocm_var):
+ xsdk_depends_on_accl('rocm', rocm_var, spec, **kwargs)
+ if not bool(cuda_var) and not bool(rocm_var):
+ depends_on(spec, **kwargs)
+
+
+class Xsdk(BundlePackage, CudaPackage, ROCmPackage):
"""Xsdk is a suite of Department of Energy (DOE) packages for numerical
simulation. This is a Spack bundle package that installs the xSDK
packages
"""
homepage = "https://xsdk.info"
-
- maintainers = ['balay', 'luszczek']
+ maintainers = ['balay', 'luszczek', 'balos1']
version('develop')
+ version('0.7.0')
version('0.6.0')
- version('0.5.0')
+ version('0.5.0', deprecated=True)
version('0.4.0', deprecated=True)
version('0.3.0', deprecated=True)
- variant('debug', default=False, description='Compile in debug mode')
- variant('cuda', default=False, description='Enable CUDA dependent packages')
variant('trilinos', default=True, description='Enable trilinos package build')
variant('datatransferkit', default=True, description='Enable datatransferkit package build')
variant('omega-h', default=True, description='Enable omega-h package build')
@@ -43,133 +107,196 @@ class Xsdk(BundlePackage):
variant('slate', default=True, description='Enable slate package build')
variant('arborx', default=True, description='Enable ArborX build')
- depends_on('hypre@develop+superlu-dist+shared', when='@develop')
- depends_on('hypre@2.20.0+superlu-dist+shared', when='@0.6.0')
- depends_on('hypre@2.18.2+superlu-dist+shared', when='@0.5.0')
- depends_on('hypre@2.15.1~internal-superlu', when='@0.4.0')
- depends_on('hypre@2.12.1~internal-superlu', when='@0.3.0')
-
- depends_on('mfem@develop+mpi+superlu-dist+petsc+sundials+examples+miniapps', when='@develop')
- depends_on('mfem@4.2.0+mpi+superlu-dist+petsc+sundials+examples+miniapps', when='@0.6.0')
- depends_on('mfem@4.0.1-xsdk+mpi~superlu-dist+petsc+sundials+examples+miniapps', when='@0.5.0')
- depends_on('mfem@3.4.0+mpi+superlu-dist+petsc+sundials+examples+miniapps', when='@0.4.0')
- depends_on('mfem@3.3.2+mpi+superlu-dist+petsc+sundials+examples+miniapps', when='@0.3.0')
-
- depends_on('superlu-dist@develop', when='@develop')
- depends_on('superlu-dist@6.4.0', when='@0.6.0')
- depends_on('superlu-dist@6.1.1', when='@0.5.0')
- depends_on('superlu-dist@6.1.0', when='@0.4.0')
- depends_on('superlu-dist@5.2.2', when='@0.3.0')
-
- depends_on('trilinos@develop+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards+stratimikos gotype=int cxxstd=14',
- when='@develop +trilinos')
- depends_on('trilinos@13.0.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards gotype=int',
- when='@0.6.0 +trilinos')
- depends_on('trilinos@12.18.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus+dtk+intrepid2+shards',
- when='@0.5.0 +trilinos')
- depends_on('trilinos@12.14.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus+dtk+intrepid2+shards',
- when='@0.4.0 +trilinos')
- depends_on('trilinos@12.12.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2~exodus',
- when='@0.3.0 +trilinos')
-
- depends_on('datatransferkit@master', when='@develop +trilinos +datatransferkit')
- depends_on('datatransferkit@3.1-rc2', when='@0.6.0 +trilinos +datatransferkit')
-
- depends_on('petsc +trilinos', when='+trilinos')
- depends_on('petsc +cuda', when='+cuda @0.6.0:')
- depends_on('petsc +batch', when='platform=cray @0.5.0:')
- depends_on('petsc@main+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@develop')
- depends_on('petsc@3.14.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.6.0')
- depends_on('petsc@3.12.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.5.0')
- depends_on('petsc@3.10.3+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.4.0')
- depends_on('petsc@3.8.2+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
- when='@0.3.0')
-
- depends_on('dealii +trilinos~adol-c', when='+trilinos +dealii')
- depends_on('dealii ~trilinos', when='~trilinos +dealii')
- depends_on('dealii@master~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine~nanoflann', when='@develop +dealii')
- depends_on('dealii@9.2.0~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx', when='@0.6.0 +dealii')
- depends_on('dealii@9.1.1~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5~netcdf+metis~sundials~ginkgo~symengine', when='@0.5.0 +dealii')
- depends_on('dealii@9.0.1~assimp~python~doc~gmsh+petsc~slepc+mpi~int64+hdf5~netcdf+metis~ginkgo~symengine', when='@0.4.0 +dealii')
-
- depends_on('pflotran@develop', when='@develop')
- depends_on('pflotran@xsdk-0.6.0', when='@0.6.0')
- depends_on('pflotran@xsdk-0.5.0', when='@0.5.0')
- depends_on('pflotran@xsdk-0.4.0', when='@0.4.0')
- depends_on('pflotran@xsdk-0.3.0', when='@0.3.0')
-
- depends_on('alquimia@develop', when='@develop +alquimia')
- depends_on('alquimia@xsdk-0.6.0', when='@0.6.0 +alquimia')
- depends_on('alquimia@xsdk-0.5.0', when='@0.5.0 +alquimia ')
- depends_on('alquimia@xsdk-0.4.0', when='@0.4.0 +alquimia')
- depends_on('alquimia@xsdk-0.3.0', when='@0.3.0 +alquimia')
-
- depends_on('sundials +cuda', when='+cuda @0.6.0:')
- depends_on('sundials +trilinos', when='+trilinos @0.6.0:')
- depends_on('sundials@develop~int64+hypre+petsc+superlu-dist', when='@develop')
- depends_on('sundials@5.5.0~int64+hypre+petsc+superlu-dist', when='@0.6.0')
- depends_on('sundials@5.0.0~int64+hypre+petsc+superlu-dist', when='@0.5.0')
- depends_on('sundials@3.2.1~int64+hypre', when='@0.4.0')
- depends_on('sundials@3.1.0~int64+hypre', when='@0.3.0')
-
- depends_on('plasma@20.9.20:', when='@develop %gcc@6.0:')
- depends_on('plasma@20.9.20:', when='@0.6.0 %gcc@6.0:')
- depends_on('plasma@19.8.1:', when='@0.5.0 %gcc@6.0:')
- depends_on('plasma@18.11.1:', when='@0.4.0 %gcc@6.0:')
-
- depends_on('magma@2.5.4', when='@develop +cuda')
- depends_on('magma@2.5.4', when='@0.6.0 +cuda')
- depends_on('magma@2.5.1', when='@0.5.0 +cuda')
- depends_on('magma@2.4.0', when='@0.4.0 +cuda')
- depends_on('magma@2.2.0', when='@0.3.0 +cuda')
-
- depends_on('amrex@develop', when='@develop %intel')
- depends_on('amrex@develop', when='@develop %gcc')
- depends_on('amrex@20.10', when='@0.6.0 %intel')
- depends_on('amrex@20.10', when='@0.6.0 %gcc')
- depends_on('amrex@19.08', when='@0.5.0 %intel')
- depends_on('amrex@19.08', when='@0.5.0 %gcc')
- depends_on('amrex@18.10.1', when='@0.4.0 %intel')
- depends_on('amrex@18.10.1', when='@0.4.0 %gcc')
-
- depends_on('slepc@main', when='@develop')
- depends_on('slepc@3.14.0', when='@0.6.0')
- depends_on('slepc@3.12.0', when='@0.5.0')
- depends_on('slepc@3.10.1', when='@0.4.0')
-
- depends_on('omega-h +trilinos', when='+trilinos +omega-h')
- depends_on('omega-h ~trilinos', when='~trilinos +omega-h')
- depends_on('omega-h@main', when='@develop +omega-h')
- depends_on('omega-h@9.32.5', when='@0.6.0 +omega-h')
- depends_on('omega-h@9.29.0', when='@0.5.0 +omega-h')
- depends_on('omega-h@9.19.1', when='@0.4.0 +omega-h')
-
- depends_on('strumpack ~cuda', when='~cuda @0.6.0: +strumpack')
- depends_on('strumpack@master~slate~openmp', when='@develop +strumpack')
- depends_on('strumpack@5.0.0~slate~openmp', when='@0.6.0 +strumpack')
- depends_on('strumpack@3.3.0~slate~openmp', when='@0.5.0 +strumpack')
- depends_on('strumpack@3.1.1~slate~openmp', when='@0.4.0 +strumpack')
-
- depends_on('pumi@master', when='@develop')
- depends_on('pumi@2.2.5', when='@0.6.0')
- depends_on('pumi@2.2.1', when='@0.5.0')
- depends_on('pumi@2.2.0', when='@0.4.0')
+ xsdk_depends_on('hypre@develop+superlu-dist+shared', when='@develop',
+ cuda_var='cuda')
+ xsdk_depends_on('hypre@2.23.0+superlu-dist+shared', when='@0.7.0',
+ cuda_var='cuda')
+ xsdk_depends_on('hypre@2.20.0+superlu-dist+shared', when='@0.6.0')
+ xsdk_depends_on('hypre@2.18.2+superlu-dist+shared', when='@0.5.0')
+ xsdk_depends_on('hypre@2.15.1~internal-superlu', when='@0.4.0')
+ xsdk_depends_on('hypre@2.12.1~internal-superlu', when='@0.3.0')
+
+ xsdk_depends_on('mfem@develop+mpi+superlu-dist+petsc+sundials+examples+miniapps',
+ when='@develop', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('mfem@4.3.0+mpi+superlu-dist+petsc+sundials+examples+miniapps',
+ when='@0.7.0', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('mfem@4.2.0+mpi+superlu-dist+petsc+sundials+examples+miniapps',
+ when='@0.6.0', cuda_var='cuda')
+ xsdk_depends_on('mfem@4.0.1-xsdk+mpi~superlu-dist+petsc+sundials+examples+miniapps',
+ when='@0.5.0')
+ xsdk_depends_on('mfem@3.4.0+mpi+superlu-dist+petsc+sundials+examples+miniapps',
+ when='@0.4.0')
+ xsdk_depends_on('mfem@3.3.2+mpi+superlu-dist+petsc+sundials+examples+miniapps',
+ when='@0.3.0')
+
+ xsdk_depends_on('superlu-dist@develop', when='@develop')
+ xsdk_depends_on('superlu-dist@7.1.1', when='@0.7.0')
+ xsdk_depends_on('superlu-dist@6.4.0', when='@0.6.0')
+ xsdk_depends_on('superlu-dist@6.1.1', when='@0.5.0')
+ xsdk_depends_on('superlu-dist@6.1.0', when='@0.4.0')
+ xsdk_depends_on('superlu-dist@5.2.2', when='@0.3.0')
+ xsdk_depends_on('trilinos@develop+hypre+superlu-dist+hdf5~mumps+boost' +
+ '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
+ '~exodus~dtk+intrepid2+shards+stratimikos gotype=int' +
+ ' cxxstd=14', when='@develop +trilinos')
+ xsdk_depends_on('trilinos@13.2.0+hypre+superlu-dist+hdf5~mumps+boost' +
+ '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
+ '~exodus~dtk+intrepid2+shards+stratimikos gotype=int' +
+ ' cxxstd=14', when='@0.7.0 +trilinos')
+ xsdk_depends_on('trilinos@13.0.1+hypre+superlu-dist+hdf5~mumps+boost' +
+ '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
+ '~exodus~dtk+intrepid2+shards gotype=int' +
+ ' cxxstd=11', when='@0.6.0 +trilinos')
+ xsdk_depends_on('trilinos@12.18.1+hypre+superlu-dist+hdf5~mumps+boost' +
+ '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
+ '~exodus+dtk+intrepid2+shards', when='@0.5.0 +trilinos')
+ xsdk_depends_on('trilinos@12.14.1+hypre+superlu-dist+hdf5~mumps+boost' +
+ '~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2' +
+ '~exodus+dtk+intrepid2+shards', when='@0.4.0 +trilinos')
+ xsdk_depends_on('trilinos@12.12.1+hypre+superlu-dist+hdf5~mumps+boost' +
+ '~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2'
+ '~exodus', when='@0.3.0 +trilinos')
+
+ xsdk_depends_on('datatransferkit@master',
+ when='@develop +trilinos +datatransferkit')
+ dtk7ver = '3.1-rc2' if sys.platform == 'darwin' else '3.1-rc3'
+ xsdk_depends_on('datatransferkit@' + dtk7ver,
+ when='@0.7.0 +trilinos +datatransferkit')
+ xsdk_depends_on('datatransferkit@3.1-rc2',
+ when='@0.6.0 +trilinos +datatransferkit')
+
+ xsdk_depends_on('petsc +trilinos', when='+trilinos @:0.6.0')
+ xsdk_depends_on('petsc +batch', when='platform=cray @0.5.0:')
+ xsdk_depends_on('petsc@main+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
+ when='@develop', cuda_var='cuda')
+ xsdk_depends_on('petsc@3.16.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
+ when='@0.7.0', cuda_var='cuda')
+ xsdk_depends_on('petsc@3.14.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
+ when='@0.6.0', cuda_var='cuda')
+ xsdk_depends_on('petsc@3.12.1+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
+ when='@0.5.0')
+ xsdk_depends_on('petsc@3.10.3+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
+ when='@0.4.0')
+ xsdk_depends_on('petsc@3.8.2+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64',
+ when='@0.3.0')
+
+ xsdk_depends_on('dealii +trilinos~adol-c', when='+trilinos +dealii')
+ xsdk_depends_on('dealii ~trilinos', when='~trilinos +dealii')
+ xsdk_depends_on('dealii@master~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
+ '~netcdf+metis~sundials~ginkgo~symengine~nanoflann~simplex~arborx',
+ when='@develop +dealii')
+ xsdk_depends_on('dealii@9.3.2~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
+ '~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx',
+ when='@0.7.0 +dealii')
+ xsdk_depends_on('dealii@9.2.0~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
+ '~netcdf+metis~sundials~ginkgo~symengine~simplex~arborx',
+ when='@0.6.0 +dealii')
+ xsdk_depends_on('dealii@9.1.1~assimp~python~doc~gmsh+petsc+slepc+mpi~int64+hdf5' +
+ '~netcdf+metis~sundials~ginkgo~symengine',
+ when='@0.5.0 +dealii')
+ xsdk_depends_on('dealii@9.0.1~assimp~python~doc~gmsh+petsc~slepc+mpi~int64+hdf5' +
+ '~netcdf+metis~ginkgo~symengine',
+ when='@0.4.0 +dealii')
+
+ xsdk_depends_on('pflotran@develop', when='@develop')
+ xsdk_depends_on('pflotran@3.0.2', when='@0.7.0')
+ xsdk_depends_on('pflotran@xsdk-0.6.0', when='@0.6.0')
+ xsdk_depends_on('pflotran@xsdk-0.5.0', when='@0.5.0')
+ xsdk_depends_on('pflotran@xsdk-0.4.0', when='@0.4.0')
+ xsdk_depends_on('pflotran@xsdk-0.3.0', when='@0.3.0')
+
+ xsdk_depends_on('alquimia@develop', when='@develop +alquimia')
+ xsdk_depends_on('alquimia@1.0.9', when='@0.7.0 +alquimia')
+ xsdk_depends_on('alquimia@xsdk-0.6.0', when='@0.6.0 +alquimia')
+ xsdk_depends_on('alquimia@xsdk-0.5.0', when='@0.5.0 +alquimia ')
+ xsdk_depends_on('alquimia@xsdk-0.4.0', when='@0.4.0 +alquimia')
+ xsdk_depends_on('alquimia@xsdk-0.3.0', when='@0.3.0 +alquimia')
+
+ xsdk_depends_on('sundials +trilinos', when='+trilinos @0.6.0:')
+ xsdk_depends_on('sundials@develop~int64+hypre+petsc+superlu-dist',
+ when='@develop', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('sundials@5.8.0~int64+hypre+petsc+superlu-dist',
+ when='@0.7.0', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('sundials@5.5.0~int64+hypre+petsc+superlu-dist',
+ when='@0.6.0', cuda_var='cuda')
+ xsdk_depends_on('sundials@5.0.0~int64+hypre+petsc+superlu-dist', when='@0.5.0')
+ xsdk_depends_on('sundials@3.2.1~int64+hypre', when='@0.4.0')
+ xsdk_depends_on('sundials@3.1.0~int64+hypre', when='@0.3.0')
+
+ xsdk_depends_on('plasma@develop:', when='@develop %gcc@6.0:')
+ xsdk_depends_on('plasma@21.8.29:', when='@0.7.0 %gcc@6.0:')
+ xsdk_depends_on('plasma@20.9.20:', when='@0.6.0 %gcc@6.0:')
+ xsdk_depends_on('plasma@19.8.1:', when='@0.5.0 %gcc@6.0:')
+ xsdk_depends_on('plasma@18.11.1:', when='@0.4.0 %gcc@6.0:')
+
+ xsdk_depends_on('magma@master', when='@develop', cuda_var='?cuda', rocm_var='?rocm')
+ xsdk_depends_on('magma@2.6.1', when='@0.7.0', cuda_var='?cuda', rocm_var='?rocm')
+ xsdk_depends_on('magma@2.5.4', when='@0.6.0', cuda_var='?cuda')
+ xsdk_depends_on('magma@2.5.1', when='@0.5.0', cuda_var='?cuda')
+ xsdk_depends_on('magma@2.4.0', when='@0.4.0', cuda_var='?cuda')
+ xsdk_depends_on('magma@2.2.0', when='@0.3.0', cuda_var='?cuda')
+
+ xsdk_depends_on('amrex@develop+sundials',
+ when='@develop %intel', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('amrex@develop+sundials',
+ when='@develop %gcc', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('amrex@develop+sundials',
+ when='@develop %cce', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('amrex@21.10+sundials',
+ when='@0.7.0 %intel', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('amrex@21.10+sundials',
+ when='@0.7.0 %gcc', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('amrex@21.10+sundials',
+ when='@0.7.0 %cce', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('amrex@20.10', when='@0.6.0 %intel')
+ xsdk_depends_on('amrex@20.10', when='@0.6.0 %gcc')
+ xsdk_depends_on('amrex@19.08', when='@0.5.0 %intel')
+ xsdk_depends_on('amrex@19.08', when='@0.5.0 %gcc')
+ xsdk_depends_on('amrex@18.10.1', when='@0.4.0 %intel')
+ xsdk_depends_on('amrex@18.10.1', when='@0.4.0 %gcc')
+
+ xsdk_depends_on('slepc@main', when='@develop')
+ xsdk_depends_on('slepc@3.16.0', when='@0.7.0')
+ xsdk_depends_on('slepc@3.14.0', when='@0.6.0')
+ xsdk_depends_on('slepc@3.12.0', when='@0.5.0')
+ xsdk_depends_on('slepc@3.10.1', when='@0.4.0')
+
+ xsdk_depends_on('omega-h +trilinos', when='+trilinos +omega-h')
+ xsdk_depends_on('omega-h ~trilinos', when='~trilinos +omega-h')
+ xsdk_depends_on('omega-h@main', when='@develop +omega-h')
+ xsdk_depends_on('omega-h@9.34.1', when='@0.7.0 +omega-h')
+ xsdk_depends_on('omega-h@9.32.5', when='@0.6.0 +omega-h')
+ xsdk_depends_on('omega-h@9.29.0', when='@0.5.0 +omega-h')
+ xsdk_depends_on('omega-h@9.19.1', when='@0.4.0 +omega-h')
+
+ xsdk_depends_on('strumpack ~cuda', when='~cuda @0.6.0: +strumpack')
+ xsdk_depends_on('strumpack@master~slate~openmp', when='@develop +strumpack')
+ xsdk_depends_on('strumpack@6.1.0~slate~openmp', when='@0.7.0 +strumpack')
+ xsdk_depends_on('strumpack@5.0.0~slate~openmp', when='@0.6.0 +strumpack')
+ xsdk_depends_on('strumpack@3.3.0~slate~openmp', when='@0.5.0 +strumpack')
+ xsdk_depends_on('strumpack@3.1.1~slate~openmp', when='@0.4.0 +strumpack')
+
+ xsdk_depends_on('pumi@master', when='@develop')
+ xsdk_depends_on('pumi@2.2.6', when='@0.7.0')
+ xsdk_depends_on('pumi@2.2.5', when='@0.6.0')
+ xsdk_depends_on('pumi@2.2.1', when='@0.5.0')
+ xsdk_depends_on('pumi@2.2.0', when='@0.4.0')
tasmanian_openmp = '~openmp' if sys.platform == 'darwin' else '+openmp'
- depends_on('tasmanian@develop+xsdkflags+blas' + tasmanian_openmp, when='@develop')
- depends_on('tasmanian@develop+xsdkflags+blas+cuda+magma' + tasmanian_openmp, when='@develop +cuda')
- depends_on('tasmanian@7.3+xsdkflags+mpi+blas' + tasmanian_openmp, when='@0.6.0')
- depends_on('tasmanian@7.3+xsdkflags+mpi+blas+cuda+magma' + tasmanian_openmp, when='@0.6.0 +cuda')
- depends_on('tasmanian@7.0+xsdkflags+mpi+blas' + tasmanian_openmp, when='@0.5.0')
- depends_on('tasmanian@7.0+xsdkflags+mpi+blas+cuda+magma' + tasmanian_openmp, when='@0.5.0 +cuda')
- depends_on('tasmanian@6.0+xsdkflags+blas~openmp', when='@0.4.0')
- depends_on('tasmanian@6.0+xsdkflags+blas+cuda+magma~openmp', when='@0.4.0 +cuda')
-
- depends_on('arborx@1.0', when='@develop +arborx')
+ xsdk_depends_on('tasmanian@develop+xsdkflags+blas' + tasmanian_openmp,
+ when='@develop',
+ cuda_var=['cuda', '?magma'], rocm_var=['rocm', '?magma'])
+ xsdk_depends_on('tasmanian@7.7+xsdkflags+mpi+blas' + tasmanian_openmp,
+ when='@0.7.0', cuda_var=['cuda', '?magma'])
+ xsdk_depends_on('tasmanian@7.3+xsdkflags+mpi+blas' + tasmanian_openmp,
+ when='@0.6.0', cuda_var=['cuda', '?magma'])
+ xsdk_depends_on('tasmanian@7.0+xsdkflags+mpi+blas' + tasmanian_openmp,
+ when='@0.5.0', cuda_var=['cuda', '?magma'])
+ xsdk_depends_on('tasmanian@6.0+xsdkflags+blas~openmp', when='@0.4.0',
+ cuda_var=['cuda', '?magma'])
+
+ xsdk_depends_on('arborx@master', when='@develop +arborx')
+ xsdk_depends_on('arborx@1.1', when='@0.7.0 +arborx')
# the Fortran 2003 bindings of phist require python@3:, but this
# creates a conflict with other packages like petsc@main. Actually
@@ -177,45 +304,54 @@ class Xsdk(BundlePackage):
# This will be fixed once the new concretizer becomes available
# (says @adamjstewart)
- depends_on('phist kernel_lib=tpetra', when='+trilinos +phist')
- depends_on('phist kernel_lib=petsc', when='~trilinos +phist')
- depends_on('phist@develop ~fortran ~scamac ~openmp ~host ~int64', when='@develop +phist')
- depends_on('phist@1.9.3 ~fortran ~scamac ~openmp ~host ~int64', when='@0.6.0 +phist')
- depends_on('phist@1.8.0 ~fortran ~scamac ~openmp ~host ~int64', when='@0.5.0 +phist')
- depends_on('phist@1.7.5 ~fortran ~scamac ~openmp ~host ~int64', when='@0.4.0 +phist')
-
- depends_on('ginkgo@develop ~openmp', when='@develop +ginkgo')
- depends_on('ginkgo@develop ~openmp+cuda', when='@develop +ginkgo +cuda')
- depends_on('ginkgo@1.3.0 ~openmp', when='@0.6.0 +ginkgo')
- depends_on('ginkgo@1.3.0 ~openmp+cuda', when='@0.6.0 +cuda +ginkgo')
- depends_on('ginkgo@1.1.0 ~openmp', when='@0.5.0 +ginkgo')
- depends_on('ginkgo@1.1.0 ~openmp+cuda', when='@0.5.0 +cuda +ginkgo')
-
- depends_on('py-libensemble@develop+petsc4py', type='run', when='@develop +libensemble')
- depends_on('py-petsc4py@main', type='run', when='@develop +libensemble')
- depends_on('py-libensemble@0.7.1+petsc4py', type='run', when='@0.6.0 +libensemble')
- depends_on('py-petsc4py@3.14.0', type='run', when='@0.6.0 +libensemble')
- depends_on('py-libensemble@0.5.2+petsc4py', type='run', when='@0.5.0 +libensemble')
- depends_on('py-petsc4py@3.12.0', type='run', when='@0.5.0 +libensemble')
-
- depends_on('precice ~petsc', when='platform=cray +precice')
- depends_on('precice@develop', when='@develop +precice')
- depends_on('precice@2.1.1', when='@0.6.0 +precice')
- depends_on('precice@1.6.1', when='@0.5.0 +precice')
-
- depends_on('butterflypack@master', when='@develop +butterflypack')
- depends_on('butterflypack@1.2.1', when='@0.6.0 +butterflypack')
- depends_on('butterflypack@1.1.0', when='@0.5.0 +butterflypack')
-
- depends_on('heffte +fftw+cuda+magma', when='+cuda +heffte')
- depends_on('openmpi +cuda', when='+cuda +heffte')
- depends_on('heffte@develop+fftw', when='@develop +heffte')
- depends_on('heffte@2.0.0+fftw', when='@0.6.0 +heffte')
-
- depends_on('slate@master ~cuda', when='@develop ~cuda +slate %gcc@6.0:')
- depends_on('slate@master +cuda', when='@develop +cuda +slate %gcc@6.0:')
- depends_on('slate@2020.10.00 ~cuda', when='@0.6.0 ~cuda +slate %gcc@6.0:')
- depends_on('slate@2020.10.00 +cuda', when='@0.6.0 +cuda +slate %gcc@6.0:')
-
- # How do we propagate debug flag to all depends on packages ?
- # If I just do spack install xsdk+debug will that propogate it down?
+ xsdk_depends_on('phist kernel_lib=tpetra', when='+trilinos +phist')
+ xsdk_depends_on('phist kernel_lib=petsc', when='~trilinos +phist')
+ xsdk_depends_on('phist@develop ~fortran ~scamac ~openmp ~host ~int64',
+ when='@develop +phist')
+ xsdk_depends_on('phist@1.9.5 ~fortran ~scamac ~openmp ~host ~int64',
+ when='@0.7.0 +phist')
+ xsdk_depends_on('phist@1.9.3 ~fortran ~scamac ~openmp ~host ~int64',
+ when='@0.6.0 +phist')
+ xsdk_depends_on('phist@1.8.0 ~fortran ~scamac ~openmp ~host ~int64',
+ when='@0.5.0 +phist')
+ xsdk_depends_on('phist@1.7.5 ~fortran ~scamac ~openmp ~host ~int64',
+ when='@0.4.0 +phist')
+
+ xsdk_depends_on('ginkgo@develop ~openmp', when='@develop +ginkgo',
+ cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('ginkgo@1.4.0 ~openmp',
+ when='@0.7.0 +ginkgo', cuda_var='cuda', rocm_var='rocm')
+ xsdk_depends_on('ginkgo@1.3.0 ~openmp',
+ when='@0.6.0 +ginkgo', cuda_var='cuda')
+ xsdk_depends_on('ginkgo@1.1.0 ~openmp', when='@0.5.0 +ginkgo')
+
+ xsdk_depends_on('py-libensemble@develop+petsc4py', when='@develop +libensemble')
+ xsdk_depends_on('py-petsc4py@main', when='@develop +libensemble')
+ xsdk_depends_on('py-libensemble@0.8.0+petsc4py', when='@0.7.0 +libensemble')
+ xsdk_depends_on('py-petsc4py@3.16.1', when='@0.7.0 +libensemble')
+ xsdk_depends_on('py-libensemble@0.7.1+petsc4py', when='@0.6.0 +libensemble')
+ xsdk_depends_on('py-petsc4py@3.14.0', when='@0.6.0 +libensemble')
+ xsdk_depends_on('py-libensemble@0.5.2+petsc4py', when='@0.5.0 +libensemble')
+ xsdk_depends_on('py-petsc4py@3.12.0', when='@0.5.0 +libensemble')
+
+ xsdk_depends_on('precice ~petsc', when='platform=cray +precice')
+ xsdk_depends_on('precice@develop', when='@develop +precice')
+ xsdk_depends_on('precice@2.3.0', when='@0.7.0 +precice')
+ xsdk_depends_on('precice@2.1.1', when='@0.6.0 +precice')
+ xsdk_depends_on('precice@1.6.1', when='@0.5.0 +precice')
+
+ xsdk_depends_on('butterflypack@master', when='@develop +butterflypack')
+ xsdk_depends_on('butterflypack@2.0.0', when='@0.7.0 +butterflypack')
+ xsdk_depends_on('butterflypack@1.2.1', when='@0.6.0 +butterflypack')
+ xsdk_depends_on('butterflypack@1.1.0', when='@0.5.0 +butterflypack')
+
+ xsdk_depends_on('heffte@develop+fftw', when='@develop +heffte',
+ cuda_var=['cuda', '?magma'], rocm_var=['rocm', '?magma'])
+ xsdk_depends_on('heffte@2.2.0+fftw', when='@0.7.0 +heffte',
+ cuda_var=['cuda', '?magma'], rocm_var=['rocm', '?magma'])
+ xsdk_depends_on('heffte@2.0.0+fftw', when='@0.6.0 +heffte',
+ cuda_var=['cuda', '?magma'])
+
+ xsdk_depends_on('slate@master', when='@develop +slate %gcc@6.0:', cuda_var='cuda')
+ xsdk_depends_on('slate@2021.05.02', when='@0.7.0 +slate %gcc@6.0:', cuda_var='cuda')
+ xsdk_depends_on('slate@2020.10.00', when='@0.6.0 +slate %gcc@6.0:', cuda_var='cuda')