summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin.mock/packages/corge/package.py54
-rw-r--r--var/spack/repos/builtin.mock/packages/find-externals1/package.py9
-rw-r--r--var/spack/repos/builtin.mock/packages/garply/package.py33
-rw-r--r--var/spack/repos/builtin.mock/packages/quux/package.py46
-rw-r--r--var/spack/repos/builtin/packages/abinit/package.py19
-rw-r--r--var/spack/repos/builtin/packages/abseil-cpp/package.py3
-rw-r--r--var/spack/repos/builtin/packages/abyss/fix_BloomFilter.hpp.patch11
-rw-r--r--var/spack/repos/builtin/packages/abyss/package.py17
-rw-r--r--var/spack/repos/builtin/packages/acl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/activeharmony/fix_logical_bug_in_slave_list_parsing.patch29
-rw-r--r--var/spack/repos/builtin/packages/activeharmony/package.py27
-rw-r--r--var/spack/repos/builtin/packages/acts/package.py22
-rw-r--r--var/spack/repos/builtin/packages/advancecomp/package.py1
-rw-r--r--var/spack/repos/builtin/packages/aegean/package.py3
-rw-r--r--var/spack/repos/builtin/packages/alluxio/package.py17
-rw-r--r--var/spack/repos/builtin/packages/aluminum/package.py27
-rw-r--r--var/spack/repos/builtin/packages/amber/package.py43
-rw-r--r--var/spack/repos/builtin/packages/amdblis/package.py1
-rw-r--r--var/spack/repos/builtin/packages/amrex/package.py33
-rw-r--r--var/spack/repos/builtin/packages/amrvis/package.py15
-rw-r--r--var/spack/repos/builtin/packages/apcomp/package.py182
-rw-r--r--var/spack/repos/builtin/packages/aperture-photometry/package.py1
-rw-r--r--var/spack/repos/builtin/packages/apex/package.py4
-rw-r--r--var/spack/repos/builtin/packages/apple-libunwind/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ascent/package.py85
-rw-r--r--var/spack/repos/builtin/packages/aspect/package.py5
-rw-r--r--var/spack/repos/builtin/packages/atf/package.py23
-rw-r--r--var/spack/repos/builtin/packages/atmi/0001-Remove-relative-link-paths-to-external-libraries.patch29
-rw-r--r--var/spack/repos/builtin/packages/atmi/package.py42
-rw-r--r--var/spack/repos/builtin/packages/automake/package.py24
-rw-r--r--var/spack/repos/builtin/packages/aws-parallelcluster/package.py4
-rw-r--r--var/spack/repos/builtin/packages/axom/package.py28
-rw-r--r--var/spack/repos/builtin/packages/babelflow/package.py31
-rw-r--r--var/spack/repos/builtin/packages/bazel/package.py12
-rw-r--r--var/spack/repos/builtin/packages/bbcp/package.py7
-rw-r--r--var/spack/repos/builtin/packages/bcache/package.py1
-rw-r--r--var/spack/repos/builtin/packages/berkeley-db/package.py34
-rw-r--r--var/spack/repos/builtin/packages/bison/package.py13
-rw-r--r--var/spack/repos/builtin/packages/blaspp/package.py12
-rw-r--r--var/spack/repos/builtin/packages/blat/package.py1
-rw-r--r--var/spack/repos/builtin/packages/blaze/package.py1
-rw-r--r--var/spack/repos/builtin/packages/bliss/package.py1
-rw-r--r--var/spack/repos/builtin/packages/blktrace/package.py7
-rw-r--r--var/spack/repos/builtin/packages/boost/package.py2
-rw-r--r--var/spack/repos/builtin/packages/bowtie/fix_narrowing_err_1.3.0.patch11
-rw-r--r--var/spack/repos/builtin/packages/bowtie/package.py4
-rw-r--r--var/spack/repos/builtin/packages/bowtie2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/brltty/package.py1
-rw-r--r--var/spack/repos/builtin/packages/brpc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/bwa/bwa_for_aarch64.patch13
-rw-r--r--var/spack/repos/builtin/packages/bwa/package.py15
-rw-r--r--var/spack/repos/builtin/packages/caliper/package.py20
-rw-r--r--var/spack/repos/builtin/packages/camx/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cantera/package.py2
-rw-r--r--var/spack/repos/builtin/packages/canu/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cardioid/package.py4
-rw-r--r--var/spack/repos/builtin/packages/cassandra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/cctools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/chai/package.py61
-rw-r--r--var/spack/repos/builtin/packages/changa/fix_configure_path.patch13
-rw-r--r--var/spack/repos/builtin/packages/changa/package.py46
-rw-r--r--var/spack/repos/builtin/packages/charliecloud/package.py18
-rw-r--r--var/spack/repos/builtin/packages/charmpp/package.py8
-rw-r--r--var/spack/repos/builtin/packages/clamav/package.py1
-rw-r--r--var/spack/repos/builtin/packages/claw/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cmake/intel-cxx-bootstrap.patch11
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py36
-rw-r--r--var/spack/repos/builtin/packages/comgr/package.py34
-rw-r--r--var/spack/repos/builtin/packages/conduit/package.py13
-rw-r--r--var/spack/repos/builtin/packages/couchdb/package.py41
-rw-r--r--var/spack/repos/builtin/packages/cp2k/package.py57
-rw-r--r--var/spack/repos/builtin/packages/cpio/package.py8
-rw-r--r--var/spack/repos/builtin/packages/cppcheck/package.py1
-rw-r--r--var/spack/repos/builtin/packages/cpprestsdk/package.py11
-rw-r--r--var/spack/repos/builtin/packages/csa-c/package.py19
-rw-r--r--var/spack/repos/builtin/packages/cub/package.py6
-rw-r--r--var/spack/repos/builtin/packages/cuda/package.py16
-rw-r--r--var/spack/repos/builtin/packages/cudnn/package.py16
-rw-r--r--var/spack/repos/builtin/packages/curl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/darshan-runtime/package.py17
-rw-r--r--var/spack/repos/builtin/packages/dcmtk/package.py10
-rw-r--r--var/spack/repos/builtin/packages/dd4hep/package.py5
-rw-r--r--var/spack/repos/builtin/packages/delphes/package.py17
-rw-r--r--var/spack/repos/builtin/packages/dftbplus/package.py147
-rw-r--r--var/spack/repos/builtin/packages/dftd3-lib/package.py38
-rw-r--r--var/spack/repos/builtin/packages/dihydrogen/package.py39
-rw-r--r--var/spack/repos/builtin/packages/dire/package.py39
-rw-r--r--var/spack/repos/builtin/packages/dray/package.py318
-rw-r--r--var/spack/repos/builtin/packages/dyninst/package.py9
-rw-r--r--var/spack/repos/builtin/packages/eagle/package.py7
-rw-r--r--var/spack/repos/builtin/packages/elfutils/package.py1
-rw-r--r--var/spack/repos/builtin/packages/elmerfem/package.py33
-rw-r--r--var/spack/repos/builtin/packages/elpa/package.py30
-rw-r--r--var/spack/repos/builtin/packages/elsi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/energyplus/package.py19
-rw-r--r--var/spack/repos/builtin/packages/environment-modules/package.py3
-rw-r--r--var/spack/repos/builtin/packages/eospac/frt.patch63
-rw-r--r--var/spack/repos/builtin/packages/eospac/package.py18
-rw-r--r--var/spack/repos/builtin/packages/erfa/package.py12
-rw-r--r--var/spack/repos/builtin/packages/erlang/package.py1
-rw-r--r--var/spack/repos/builtin/packages/esmf/package.py2
-rw-r--r--var/spack/repos/builtin/packages/espanso/package.py32
-rw-r--r--var/spack/repos/builtin/packages/examl/package.py50
-rw-r--r--var/spack/repos/builtin/packages/express/package.py1
-rw-r--r--var/spack/repos/builtin/packages/eztrace/package.py20
-rw-r--r--var/spack/repos/builtin/packages/fenics-dolfinx/package.py53
-rw-r--r--var/spack/repos/builtin/packages/ferret/package.py206
-rw-r--r--var/spack/repos/builtin/packages/fftw/intel-configure.patch54
-rw-r--r--var/spack/repos/builtin/packages/fftw/package.py1
-rw-r--r--var/spack/repos/builtin/packages/findbugs/package.py26
-rw-r--r--var/spack/repos/builtin/packages/flang/package.py5
-rw-r--r--var/spack/repos/builtin/packages/flatbuffers/package.py1
-rw-r--r--var/spack/repos/builtin/packages/flatcc/package.py3
-rw-r--r--var/spack/repos/builtin/packages/flecsph/package.py27
-rw-r--r--var/spack/repos/builtin/packages/frontistr/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gaudi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gcc/package.py111
-rw-r--r--var/spack/repos/builtin/packages/gdal/package.py3
-rw-r--r--var/spack/repos/builtin/packages/gdb/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gdk-pixbuf/package.py11
-rw-r--r--var/spack/repos/builtin/packages/geant4-vmc/package.py34
-rw-r--r--var/spack/repos/builtin/packages/ginkgo/CAS-HIP-NVCC-1.2.0.patch10
-rw-r--r--var/spack/repos/builtin/packages/ginkgo/package.py4
-rw-r--r--var/spack/repos/builtin/packages/giraph/package.py34
-rw-r--r--var/spack/repos/builtin/packages/git/package.py6
-rw-r--r--var/spack/repos/builtin/packages/glew/package.py2
-rw-r--r--var/spack/repos/builtin/packages/global/package.py1
-rw-r--r--var/spack/repos/builtin/packages/glusterfs/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gmt/package.py7
-rw-r--r--var/spack/repos/builtin/packages/gmt/regexp.patch11
-rw-r--r--var/spack/repos/builtin/packages/gnuplot/package.py1
-rw-r--r--var/spack/repos/builtin/packages/gnutls/package.py1
-rw-r--r--var/spack/repos/builtin/packages/go/package.py6
-rw-r--r--var/spack/repos/builtin/packages/gotcha/arm.patch19
-rw-r--r--var/spack/repos/builtin/packages/gotcha/package.py5
-rw-r--r--var/spack/repos/builtin/packages/gpdb/package.py13
-rw-r--r--var/spack/repos/builtin/packages/gpi-2/package.py79
-rw-r--r--var/spack/repos/builtin/packages/grads/package.py65
-rw-r--r--var/spack/repos/builtin/packages/grads/udpt2
-rw-r--r--var/spack/repos/builtin/packages/gromacs/package.py44
-rw-r--r--var/spack/repos/builtin/packages/grpc/package.py12
-rw-r--r--var/spack/repos/builtin/packages/gunrock/package.py100
-rw-r--r--var/spack/repos/builtin/packages/harfbuzz/package.py12
-rw-r--r--var/spack/repos/builtin/packages/hazelcast/package.py29
-rw-r--r--var/spack/repos/builtin/packages/hbase/package.py21
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py3
-rw-r--r--var/spack/repos/builtin/packages/hdfview/fix_build.patch12
-rw-r--r--var/spack/repos/builtin/packages/hdfview/package.py49
-rw-r--r--var/spack/repos/builtin/packages/heputils/package.py36
-rw-r--r--var/spack/repos/builtin/packages/herwigpp/herwig++-2.7.1.patch66
-rw-r--r--var/spack/repos/builtin/packages/herwigpp/package.py52
-rw-r--r--var/spack/repos/builtin/packages/hibench/package.py35
-rw-r--r--var/spack/repos/builtin/packages/hip/0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch27
-rw-r--r--var/spack/repos/builtin/packages/hip/0002-Fix-detection-of-HIP_CLANG_ROOT.patch28
-rw-r--r--var/spack/repos/builtin/packages/hip/package.py83
-rw-r--r--var/spack/repos/builtin/packages/hipsycl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/hisat2/package.py9
-rw-r--r--var/spack/repos/builtin/packages/hpcg/package.py78
-rw-r--r--var/spack/repos/builtin/packages/hpctoolkit/package.py24
-rw-r--r--var/spack/repos/builtin/packages/hpcviewer/package.py6
-rw-r--r--var/spack/repos/builtin/packages/hpx/package.py108
-rw-r--r--var/spack/repos/builtin/packages/hsa-rocr-dev/0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch28
-rw-r--r--var/spack/repos/builtin/packages/hsa-rocr-dev/package.py33
-rw-r--r--var/spack/repos/builtin/packages/hsakmt-roct/package.py33
-rw-r--r--var/spack/repos/builtin/packages/hydrogen/package.py7
-rw-r--r--var/spack/repos/builtin/packages/hypre/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch39
-rw-r--r--var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch25
-rw-r--r--var/spack/repos/builtin/packages/ibm-databroker/package.py46
-rw-r--r--var/spack/repos/builtin/packages/ibm-java/package.py2
-rw-r--r--var/spack/repos/builtin/packages/icu4c/package.py19
-rw-r--r--var/spack/repos/builtin/packages/idl/package.py41
-rw-r--r--var/spack/repos/builtin/packages/imagemagick/package.py1
-rw-r--r--var/spack/repos/builtin/packages/intel-daal/package.py2
-rw-r--r--var/spack/repos/builtin/packages/intel-ipp/package.py2
-rw-r--r--var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py1
-rw-r--r--var/spack/repos/builtin/packages/intel-mpi/package.py2
-rw-r--r--var/spack/repos/builtin/packages/intel-parallel-studio/package.py3
-rw-r--r--var/spack/repos/builtin/packages/intel-pin/package.py2
-rw-r--r--var/spack/repos/builtin/packages/intel-tbb/package.py1
-rw-r--r--var/spack/repos/builtin/packages/intel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/iq-tree/package.py8
-rw-r--r--var/spack/repos/builtin/packages/isaac-server/package.py2
-rw-r--r--var/spack/repos/builtin/packages/isescan/package.py71
-rw-r--r--var/spack/repos/builtin/packages/jali/package.py3
-rw-r--r--var/spack/repos/builtin/packages/jmol/package.py16
-rw-r--r--var/spack/repos/builtin/packages/jube/package.py2
-rw-r--r--var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3-v2.00.patch30
-rw-r--r--var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3.patch101
-rw-r--r--var/spack/repos/builtin/packages/kahip/package.py9
-rw-r--r--var/spack/repos/builtin/packages/kallisto/package.py1
-rw-r--r--var/spack/repos/builtin/packages/kassiopeia/package.py65
-rw-r--r--var/spack/repos/builtin/packages/keepalived/package.py2
-rw-r--r--var/spack/repos/builtin/packages/kibana/package.py2
-rw-r--r--var/spack/repos/builtin/packages/knem/package.py20
-rw-r--r--var/spack/repos/builtin/packages/kokkos/package.py5
-rw-r--r--var/spack/repos/builtin/packages/krb5/package.py19
-rw-r--r--var/spack/repos/builtin/packages/lammps/package.py9
-rw-r--r--var/spack/repos/builtin/packages/latte/package.py3
-rw-r--r--var/spack/repos/builtin/packages/lbann/package.py38
-rw-r--r--var/spack/repos/builtin/packages/lcals/package.py19
-rw-r--r--var/spack/repos/builtin/packages/lcio/package.py74
-rw-r--r--var/spack/repos/builtin/packages/legion/package.py5
-rw-r--r--var/spack/repos/builtin/packages/lhapdf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/lhapdf5/package.py46
-rw-r--r--var/spack/repos/builtin/packages/libcroco/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libelf/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libgd/package.py9
-rw-r--r--var/spack/repos/builtin/packages/libglvnd/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libhugetlbfs/package.py19
-rw-r--r--var/spack/repos/builtin/packages/libimagequant/package.py25
-rw-r--r--var/spack/repos/builtin/packages/libint/package.py23
-rw-r--r--var/spack/repos/builtin/packages/libmodbus/package.py26
-rw-r--r--var/spack/repos/builtin/packages/libmonitor/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libpciaccess/package.py1
-rw-r--r--var/spack/repos/builtin/packages/librsb/package.py3
-rw-r--r--var/spack/repos/builtin/packages/libtirpc/package.py5
-rw-r--r--var/spack/repos/builtin/packages/libtool/package.py11
-rw-r--r--var/spack/repos/builtin/packages/libtree/package.py6
-rw-r--r--var/spack/repos/builtin/packages/libunwind/package.py10
-rw-r--r--var/spack/repos/builtin/packages/libxc/0001-Bugfix-avoid-implicit-pointer-cast-to-make-libxc-com.patch26
-rw-r--r--var/spack/repos/builtin/packages/libxc/0002-Mark-xc_erfcx-a-GPU_FUNCTION.patch33
-rw-r--r--var/spack/repos/builtin/packages/libxc/package.py33
-rw-r--r--var/spack/repos/builtin/packages/libxscrnsaver/package.py2
-rw-r--r--var/spack/repos/builtin/packages/libyogrt/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ligra/package.py44
-rw-r--r--var/spack/repos/builtin/packages/likwid/package.py16
-rw-r--r--var/spack/repos/builtin/packages/llvm-amdgpu/fix-system-zlib-ncurses.patch60
-rw-r--r--var/spack/repos/builtin/packages/llvm-amdgpu/package.py45
-rw-r--r--var/spack/repos/builtin/packages/llvm-flang/package.py5
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py115
-rw-r--r--var/spack/repos/builtin/packages/lmbench/fix_results_path_for_aarch64.patch13
-rw-r--r--var/spack/repos/builtin/packages/lmbench/package.py2
-rw-r--r--var/spack/repos/builtin/packages/lmod/package.py4
-rw-r--r--var/spack/repos/builtin/packages/looptools/package.py25
-rw-r--r--var/spack/repos/builtin/packages/ltrace/package.py5
-rw-r--r--var/spack/repos/builtin/packages/lustre/package.py30
-rw-r--r--var/spack/repos/builtin/packages/m4/package.py3
-rw-r--r--var/spack/repos/builtin/packages/magics/package.py19
-rw-r--r--var/spack/repos/builtin/packages/magma/package.py3
-rw-r--r--var/spack/repos/builtin/packages/mapnik/package.py5
-rw-r--r--var/spack/repos/builtin/packages/mariadb/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mbedtls/package.py5
-rw-r--r--var/spack/repos/builtin/packages/mcutils/package.py34
-rw-r--r--var/spack/repos/builtin/packages/mesa/multiple-symbols_hash.patch22
-rw-r--r--var/spack/repos/builtin/packages/mesa/package.py3
-rw-r--r--var/spack/repos/builtin/packages/meson/package.py1
-rw-r--r--var/spack/repos/builtin/packages/mfem/package.py6
-rw-r--r--var/spack/repos/builtin/packages/minio/package.py29
-rw-r--r--var/spack/repos/builtin/packages/mongodb-async-driver/package.py24
-rw-r--r--var/spack/repos/builtin/packages/mozjs/Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch20
-rw-r--r--var/spack/repos/builtin/packages/mozjs/fix-811665.patch153
-rw-r--r--var/spack/repos/builtin/packages/mozjs/package.py16
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py16
-rw-r--r--var/spack/repos/builtin/packages/mpifileutils/package.py7
-rw-r--r--var/spack/repos/builtin/packages/mumax/package.py62
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py13
-rw-r--r--var/spack/repos/builtin/packages/nag/package.py2
-rw-r--r--var/spack/repos/builtin/packages/namd/package.py3
-rw-r--r--var/spack/repos/builtin/packages/nccl/package.py3
-rw-r--r--var/spack/repos/builtin/packages/ncl/package.py4
-rw-r--r--var/spack/repos/builtin/packages/nco/package.py6
-rw-r--r--var/spack/repos/builtin/packages/ncview/package.py1
-rw-r--r--var/spack/repos/builtin/packages/netlib-scalapack/gcc10-compatibility.patch33
-rw-r--r--var/spack/repos/builtin/packages/netlib-scalapack/package.py2
-rw-r--r--var/spack/repos/builtin/packages/neuron/package.py13
-rw-r--r--var/spack/repos/builtin/packages/nlcglib/package.py64
-rw-r--r--var/spack/repos/builtin/packages/nn-c/package.py33
-rw-r--r--var/spack/repos/builtin/packages/node-js/package.py6
-rw-r--r--var/spack/repos/builtin/packages/nwchem/package.py33
-rw-r--r--var/spack/repos/builtin/packages/octopus/package.py29
-rw-r--r--var/spack/repos/builtin/packages/onednn/package.py5
-rw-r--r--var/spack/repos/builtin/packages/open-iscsi/package.py4
-rw-r--r--var/spack/repos/builtin/packages/openblas/openblas_fujitsu2.patch13
-rw-r--r--var/spack/repos/builtin/packages/openblas/package.py1
-rw-r--r--var/spack/repos/builtin/packages/opencascade/package.py10
-rw-r--r--var/spack/repos/builtin/packages/openfoam-org/package.py12
-rw-r--r--var/spack/repos/builtin/packages/openfoam/package.py31
-rw-r--r--var/spack/repos/builtin/packages/openfst/package.py3
-rw-r--r--var/spack/repos/builtin/packages/openloops/package.py124
-rw-r--r--var/spack/repos/builtin/packages/openloops/sft1.coll26
-rw-r--r--var/spack/repos/builtin/packages/openloops/sft2.coll76
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py18
-rw-r--r--var/spack/repos/builtin/packages/openslide/package.py3
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py15
-rw-r--r--var/spack/repos/builtin/packages/parallelmergetree/package.py34
-rw-r--r--var/spack/repos/builtin/packages/paraview/package.py20
-rw-r--r--var/spack/repos/builtin/packages/pbbam/package.py5
-rw-r--r--var/spack/repos/builtin/packages/perl/package.py38
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py121
-rw-r--r--var/spack/repos/builtin/packages/pgi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/plumed/package.py4
-rw-r--r--var/spack/repos/builtin/packages/podio/package.py11
-rw-r--r--var/spack/repos/builtin/packages/poppler/package.py1
-rw-r--r--var/spack/repos/builtin/packages/precice/package.py2
-rw-r--r--var/spack/repos/builtin/packages/profugusmc/package.py24
-rw-r--r--var/spack/repos/builtin/packages/prometheus/package.py34
-rw-r--r--var/spack/repos/builtin/packages/protobuf/package.py7
-rw-r--r--var/spack/repos/builtin/packages/psi4/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-aiohttp/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-argcomplete/package.py8
-rw-r--r--var/spack/repos/builtin/packages/py-astropy-healpix/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-astropy/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-async-timeout/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-batch/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-core/package.py39
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cli/package.py102
-rw-r--r--var/spack/repos/builtin/packages/py-azure-core/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-azure-cosmos/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-azure-datalake-store/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-graphrbac/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-keyvault/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-azure-loganalytics/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-azure-storage-common/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-automl-core/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-core/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-dataprep/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py27
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-pipeline/package.py13
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-sdk/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-telemetry/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train-core/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-azureml-train/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-boto/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-chainmap/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-cmake/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-colorspacious/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-commonmark/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-cython/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-fabric/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-dijitso/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-ffcx/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-fiat/package.py34
-rw-r--r--var/spack/repos/builtin/packages/py-fenics-ufl/package.py30
-rw-r--r--var/spack/repos/builtin/packages/py-fisher/package.py21
-rw-r--r--var/spack/repos/builtin/packages/py-fortran-language-server/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-gensim/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-googledrivedownloader/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-gpy/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-gql/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-graphql-core/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-hieroglyph/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-idna-ssl/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-inference-schema/package.py33
-rw-r--r--var/spack/repos/builtin/packages/py-invoke/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-javaproperties/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-jsmin/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-jsondiff/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-jsonschema/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-keras-preprocessing/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-knack/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-lockfile/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-maestrowf/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py25
-rw-r--r--var/spack/repos/builtin/packages/py-mixedhtseq/package.py39
-rw-r--r--var/spack/repos/builtin/packages/py-msal/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-multidict/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-netket/package.py38
-rw-r--r--var/spack/repos/builtin/packages/py-numpy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-opt-einsum/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-pandas/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-paramiko/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-pillow/package.py61
-rw-r--r--var/spack/repos/builtin/packages/py-pip/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-protobuf/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-pyarrow/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-pygments-pytest/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-pyinstrument/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pynacl/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-pysam/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-pyscf/package.py43
-rw-r--r--var/spack/repos/builtin/packages/py-python-docs-theme/package.py19
-rw-r--r--var/spack/repos/builtin/packages/py-python-json-logger/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-python-swiftclient/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-rasterio/package.py15
-rw-r--r--var/spack/repos/builtin/packages/py-rdflib/package.py26
-rw-r--r--var/spack/repos/builtin/packages/py-recommonmark/package.py24
-rw-r--r--var/spack/repos/builtin/packages/py-requests/package.py10
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-learn/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-scipy/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-shroud/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-smart-open/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py18
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-gallery/package.py23
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py12
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py20
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py22
-rw-r--r--var/spack/repos/builtin/packages/py-sphinxcontrib-trio/sphinxcontrib-trio.patch10
-rw-r--r--var/spack/repos/builtin/packages/py-sshtunnel/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-tensorflow/package.py9
-rw-r--r--var/spack/repos/builtin/packages/py-torch-geometric/package.py39
-rw-r--r--var/spack/repos/builtin/packages/py-torch/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-torch/rocm.patch98
-rw-r--r--var/spack/repos/builtin/packages/py-torchvision/package.py35
-rw-r--r--var/spack/repos/builtin/packages/py-uvw/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-vsts/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-websocket-client/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-websockets/package.py17
-rw-r--r--var/spack/repos/builtin/packages/py-wheel/package.py11
-rw-r--r--var/spack/repos/builtin/packages/py-yarl/package.py28
-rw-r--r--var/spack/repos/builtin/packages/py-yolk3k/package.py22
-rw-r--r--var/spack/repos/builtin/packages/pythia8/package.py3
-rw-r--r--var/spack/repos/builtin/packages/python/fj-rpath-2.3.patch12
-rw-r--r--var/spack/repos/builtin/packages/python/fj-rpath-3.1.patch13
-rw-r--r--var/spack/repos/builtin/packages/python/package.py15
-rw-r--r--var/spack/repos/builtin/packages/q-e-sirius/package.py317
-rw-r--r--var/spack/repos/builtin/packages/qhull/package.py13
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py4
-rw-r--r--var/spack/repos/builtin/packages/quicksilver/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-adegraphics/package.py29
-rw-r--r--var/spack/repos/builtin/packages/r-adephylo/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-adespatial/package.py32
-rw-r--r--var/spack/repos/builtin/packages/r-biocgenerics/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-bsseq/package.py55
-rw-r--r--var/spack/repos/builtin/packages/r-countrycode/package.py19
-rw-r--r--var/spack/repos/builtin/packages/r-data-table/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-devtools/package.py39
-rw-r--r--var/spack/repos/builtin/packages/r-dorng/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-dss/package.py30
-rw-r--r--var/spack/repos/builtin/packages/r-glue/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-gsodr/package.py24
-rw-r--r--var/spack/repos/builtin/packages/r-hh/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-iranges/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-phylobase/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-rcppparallel/asclang.patch12
-rw-r--r--var/spack/repos/builtin/packages/r-rcppparallel/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rncl/package.py26
-rw-r--r--var/spack/repos/builtin/packages/r-rnexml/package.py35
-rw-r--r--var/spack/repos/builtin/packages/r-s4vectors/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-summarizedexperiment/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-usethis/package.py7
-rw-r--r--var/spack/repos/builtin/packages/raja/package.py21
-rw-r--r--var/spack/repos/builtin/packages/random123/package.py9
-rw-r--r--var/spack/repos/builtin/packages/random123/v1132-xl161.patch13
-rw-r--r--var/spack/repos/builtin/packages/reditools/REDItoolDenovo.py.patch11
-rw-r--r--var/spack/repos/builtin/packages/reditools/interpreter.patch41
-rw-r--r--var/spack/repos/builtin/packages/reditools/package.py32
-rw-r--r--var/spack/repos/builtin/packages/reditools/python2to3.patch926
-rw-r--r--var/spack/repos/builtin/packages/reditools/setup.py.patch11
-rw-r--r--var/spack/repos/builtin/packages/rivet/gsl.m460
-rw-r--r--var/spack/repos/builtin/packages/rivet/package.py170
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-1.8.2.patch44
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-1.9.0.patch30
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.2.0.patch11
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.2.1.patch11
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.4.0.patch12
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.4.2.patch39
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.4.3.patch39
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.5.1.patch39
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.5.2.patch10
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.5.3.patch43
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.5.4.patch42
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.6.0.patch90
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.6.1.patch24
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.6.2.patch97
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-2.7.0.patch97
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-3.0.0.patch70
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-3.0.1.patch11
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-3.1.0.patch11
-rw-r--r--var/spack/repos/builtin/packages/rivet/rivet-3.1.1.patch11
-rw-r--r--var/spack/repos/builtin/packages/rocclr/opengl.patch49
-rw-r--r--var/spack/repos/builtin/packages/rocclr/package.py53
-rw-r--r--var/spack/repos/builtin/packages/rocfft/package.py45
-rw-r--r--var/spack/repos/builtin/packages/rocgdb/package.py57
-rw-r--r--var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py27
-rw-r--r--var/spack/repos/builtin/packages/rocm-cmake/package.py26
-rw-r--r--var/spack/repos/builtin/packages/rocm-dbgapi/package.py29
-rw-r--r--var/spack/repos/builtin/packages/rocm-debug-agent/package.py36
-rw-r--r--var/spack/repos/builtin/packages/rocm-device-libs/package.py33
-rw-r--r--var/spack/repos/builtin/packages/rocm-opencl/package.py53
-rw-r--r--var/spack/repos/builtin/packages/rocm-smi-lib/package.py30
-rw-r--r--var/spack/repos/builtin/packages/rocm-smi/package.py34
-rw-r--r--var/spack/repos/builtin/packages/rocminfo/package.py26
-rw-r--r--var/spack/repos/builtin/packages/rocprofiler-dev/package.py43
-rw-r--r--var/spack/repos/builtin/packages/roctracer-dev/package.py44
-rw-r--r--var/spack/repos/builtin/packages/root/package.py23
-rw-r--r--var/spack/repos/builtin/packages/rsync/package.py5
-rw-r--r--var/spack/repos/builtin/packages/rust/package.py14
-rw-r--r--var/spack/repos/builtin/packages/saws/package.py3
-rw-r--r--var/spack/repos/builtin/packages/scons/fjcompiler.patch179
-rw-r--r--var/spack/repos/builtin/packages/scons/package.py2
-rw-r--r--var/spack/repos/builtin/packages/scorec-core/package.py8
-rw-r--r--var/spack/repos/builtin/packages/scorep/package.py8
-rw-r--r--var/spack/repos/builtin/packages/scotch/package.py3
-rw-r--r--var/spack/repos/builtin/packages/scr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/screen/package.py1
-rw-r--r--var/spack/repos/builtin/packages/sdsl-lite/package.py6
-rw-r--r--var/spack/repos/builtin/packages/shapeit4/package.py55
-rw-r--r--var/spack/repos/builtin/packages/shapelib/package.py18
-rw-r--r--var/spack/repos/builtin/packages/singularity/package.py3
-rw-r--r--var/spack/repos/builtin/packages/sirius/package.py22
-rw-r--r--var/spack/repos/builtin/packages/slate/package.py9
-rw-r--r--var/spack/repos/builtin/packages/slider/package.py39
-rw-r--r--var/spack/repos/builtin/packages/smartdenovo/inline-limit.patch24
-rw-r--r--var/spack/repos/builtin/packages/smartdenovo/package.py4
-rw-r--r--var/spack/repos/builtin/packages/snappy/package.py3
-rw-r--r--var/spack/repos/builtin/packages/solr/package.py28
-rw-r--r--var/spack/repos/builtin/packages/spades/package.py1
-rw-r--r--var/spack/repos/builtin/packages/spfft/package.py9
-rw-r--r--var/spack/repos/builtin/packages/spla/package.py47
-rw-r--r--var/spack/repos/builtin/packages/sprng/package.py132
-rw-r--r--var/spack/repos/builtin/packages/squashfs/package.py32
-rw-r--r--var/spack/repos/builtin/packages/stacks/package.py1
-rw-r--r--var/spack/repos/builtin/packages/static-analysis-suite/package.py (renamed from var/spack/repos/builtin/packages/sas/package.py)2
-rw-r--r--var/spack/repos/builtin/packages/storm/package.py12
-rw-r--r--var/spack/repos/builtin/packages/stow/package.py1
-rw-r--r--var/spack/repos/builtin/packages/subread/package.py2
-rw-r--r--var/spack/repos/builtin/packages/subversion/package.py7
-rw-r--r--var/spack/repos/builtin/packages/tau/package.py4
-rw-r--r--var/spack/repos/builtin/packages/tensorflow-serving-client/package.py3
-rw-r--r--var/spack/repos/builtin/packages/texlive/package.py12
-rw-r--r--var/spack/repos/builtin/packages/thepeg/package.py103
-rw-r--r--var/spack/repos/builtin/packages/thepeg/thepeg-1.8.3.patch24
-rw-r--r--var/spack/repos/builtin/packages/thepeg/thepeg-1.9.0.patch34
-rw-r--r--var/spack/repos/builtin/packages/thepeg/thepeg-1.9.2.patch83
-rw-r--r--var/spack/repos/builtin/packages/thepeg/thepeg-2.1.1.patch14
-rwxr-xr-xvar/spack/repos/builtin/packages/tiptop/NR_perf_counter_open_aarch64.patch13
-rw-r--r--var/spack/repos/builtin/packages/tiptop/package.py21
-rw-r--r--var/spack/repos/builtin/packages/tmux/package.py1
-rw-r--r--var/spack/repos/builtin/packages/totalview/package.py108
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py2
-rw-r--r--var/spack/repos/builtin/packages/typhon/package.py4
-rw-r--r--var/spack/repos/builtin/packages/ucx/package.py66
-rw-r--r--var/spack/repos/builtin/packages/umpire/camp_target_umpire_3.0.0.patch18
-rw-r--r--var/spack/repos/builtin/packages/umpire/package.py17
-rw-r--r--var/spack/repos/builtin/packages/unifyfs/package.py4
-rw-r--r--var/spack/repos/builtin/packages/vasp/package.py138
-rw-r--r--var/spack/repos/builtin/packages/vbfnlo/package.py43
-rw-r--r--var/spack/repos/builtin/packages/vgm/package.py49
-rw-r--r--var/spack/repos/builtin/packages/vim/package.py5
-rw-r--r--var/spack/repos/builtin/packages/visit/package.py6
-rw-r--r--var/spack/repos/builtin/packages/votca-tools/package.py2
-rw-r--r--var/spack/repos/builtin/packages/vtk-h/package.py44
-rw-r--r--var/spack/repos/builtin/packages/vtk-h/vtkm_lagrange_cuda_fix.patch16
-rw-r--r--var/spack/repos/builtin/packages/vtk-m/disable_flying_edges.patch14
-rw-r--r--var/spack/repos/builtin/packages/vtk-m/package.py12
-rw-r--r--var/spack/repos/builtin/packages/vtk-m/vtkmdiy_fpic.patch12
-rw-r--r--var/spack/repos/builtin/packages/vtk/package.py15
-rw-r--r--var/spack/repos/builtin/packages/wannier90/package.py135
-rw-r--r--var/spack/repos/builtin/packages/wcslib/package.py3
-rw-r--r--var/spack/repos/builtin/packages/weechat/package.py53
-rw-r--r--var/spack/repos/builtin/packages/whizard/package.py40
-rw-r--r--var/spack/repos/builtin/packages/wonton/package.py127
-rw-r--r--var/spack/repos/builtin/packages/xbraid/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xcfun/package.py2
-rw-r--r--var/spack/repos/builtin/packages/xdotool/package.py35
-rw-r--r--var/spack/repos/builtin/packages/xxhash/package.py1
-rw-r--r--var/spack/repos/builtin/packages/ycsb/package.py35
-rw-r--r--var/spack/repos/builtin/packages/yoda/package.py84
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.5.5.patch50
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.5.9.patch50
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.6.1.patch72
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.6.2.patch22
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.6.3.patch50
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.6.4.patch11
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.6.5.patch23
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.6.6.patch11
-rw-r--r--var/spack/repos/builtin/packages/yoda/yoda-1.6.7.patch11
-rw-r--r--var/spack/repos/builtin/packages/yorick/package.py8
-rw-r--r--var/spack/repos/builtin/packages/zipkin/package.py28
-rw-r--r--var/spack/repos/builtin/packages/zlib/package.py5
-rw-r--r--var/spack/repos/builtin/packages/zsh/package.py13
644 files changed, 15008 insertions, 1105 deletions
diff --git a/var/spack/repos/builtin.mock/packages/corge/package.py b/var/spack/repos/builtin.mock/packages/corge/package.py
index 48f9ac8e6e..3bd8b34e47 100644
--- a/var/spack/repos/builtin.mock/packages/corge/package.py
+++ b/var/spack/repos/builtin.mock/packages/corge/package.py
@@ -6,6 +6,7 @@
from spack import *
import os
+import sys
class Corge(Package):
@@ -101,7 +102,6 @@ main(int argc, char* argv[])
return 0;
}
'''
- mkdirp(prefix.lib64)
mkdirp('%s/corge' % prefix.include)
mkdirp('%s/corge' % self.stage.source_path)
with open('%s/corge_version.h' % self.stage.source_path, 'w') as f:
@@ -113,6 +113,8 @@ main(int argc, char* argv[])
with open('%s/corge/corgegator.cc' % self.stage.source_path, 'w') as f:
f.write(corgegator_cc)
gpp = which('/usr/bin/g++')
+ if sys.platform == 'darwin':
+ gpp = which('/usr/bin/clang++')
gpp('-Dcorge_EXPORTS',
'-I%s' % self.stage.source_path,
'-I%s' % spec['quux'].prefix.include,
@@ -127,22 +129,42 @@ main(int argc, char* argv[])
'-O2', '-g', '-DNDEBUG', '-fPIC',
'-o', 'corgegator.cc.o',
'-c', 'corge/corgegator.cc')
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
- '-Wl,-soname,libcorge.so', '-o', 'libcorge.so', 'corge.cc.o',
- '-Wl,-rpath,%s:%s::::' %
- (spec['quux'].prefix.lib64, spec['garply'].prefix.lib64),
- '%s/libquux.so' % spec['quux'].prefix.lib64,
- '%s/libgarply.so' % spec['garply'].prefix.lib64)
- gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
- 'corgegator.cc.o', '-o', 'corgegator',
- '-Wl,-rpath,%s:%s:%s:::' % (prefix.lib64,
- spec['quux'].prefix.lib64,
- spec['garply'].prefix.lib64),
- 'libcorge.so',
- '%s/libquux.so' % spec['quux'].prefix.lib64,
- '%s/libgarply.so' % spec['garply'].prefix.lib64)
+ if sys.platform == 'darwin':
+ gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-dynamiclib',
+ '-install_name', '@rpath/libcorge.dylib',
+ '-o', 'libcorge.dylib', 'corge.cc.o',
+ '-Wl,-rpath,%s' % spec['quux'].prefix.lib64,
+ '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
+ '%s/libquux.dylib' % spec['quux'].prefix.lib64,
+ '%s/libgarply.dylib' % spec['garply'].prefix.lib64)
+ gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
+ 'corgegator.cc.o', '-o', 'corgegator',
+ '-Wl,-rpath,%s' % prefix.lib64,
+ '-Wl,-rpath,%s' % spec['quux'].prefix.lib64,
+ '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
+ 'libcorge.dylib',
+ '%s/libquux.dylib' % spec['quux'].prefix.lib64,
+ '%s/libgarply.dylib' % spec['garply'].prefix.lib64)
+ mkdirp(prefix.lib64)
+ copy('libcorge.dylib', '%s/libcorge.dylib' % prefix.lib64)
+ else:
+ gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
+ '-Wl,-soname,libcorge.so', '-o', 'libcorge.so', 'corge.cc.o',
+ '-Wl,-rpath,%s:%s::::' %
+ (spec['quux'].prefix.lib64, spec['garply'].prefix.lib64),
+ '%s/libquux.so' % spec['quux'].prefix.lib64,
+ '%s/libgarply.so' % spec['garply'].prefix.lib64)
+ gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
+ 'corgegator.cc.o', '-o', 'corgegator',
+ '-Wl,-rpath,%s' % prefix.lib64,
+ '-Wl,-rpath,%s' % spec['quux'].prefix.lib64,
+ '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
+ 'libcorge.so',
+ '%s/libquux.so' % spec['quux'].prefix.lib64,
+ '%s/libgarply.so' % spec['garply'].prefix.lib64)
+ mkdirp(prefix.lib64)
+ copy('libcorge.so', '%s/libcorge.so' % prefix.lib64)
copy('corgegator', '%s/corgegator' % prefix.lib64)
- copy('libcorge.so', '%s/libcorge.so' % prefix.lib64)
copy('%s/corge/corge.h' % self.stage.source_path,
'%s/corge/corge.h' % prefix.include)
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin.mock/packages/find-externals1/package.py b/var/spack/repos/builtin.mock/packages/find-externals1/package.py
index 25e26dcced..9f5f94aaab 100644
--- a/var/spack/repos/builtin.mock/packages/find-externals1/package.py
+++ b/var/spack/repos/builtin.mock/packages/find-externals1/package.py
@@ -2,12 +2,11 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-from spack import *
-
import os
import re
+import spack.package
+
class FindExternals1(AutotoolsPackage):
executables = ['find-externals1-exe']
@@ -31,4 +30,6 @@ class FindExternals1(AutotoolsPackage):
match = re.search(r'find-externals1.*version\s+(\S+)', output)
if match:
version_str = match.group(1)
- return Spec('find-externals1@{0}'.format(version_str))
+ return Spec.from_detection(
+ 'find-externals1@{0}'.format(version_str)
+ )
diff --git a/var/spack/repos/builtin.mock/packages/garply/package.py b/var/spack/repos/builtin.mock/packages/garply/package.py
index 8fa0778287..289e172c91 100644
--- a/var/spack/repos/builtin.mock/packages/garply/package.py
+++ b/var/spack/repos/builtin.mock/packages/garply/package.py
@@ -6,6 +6,7 @@
from spack import *
import os
+import sys
class Garply(Package):
@@ -73,7 +74,6 @@ main()
garply_version_h = '''const int garply_version_major = %s;
const int garply_version_minor = %s;
'''
- mkdirp(prefix.lib64)
mkdirp('%s/garply' % prefix.include)
mkdirp('%s/garply' % self.stage.source_path)
with open('%s/garply_version.h' % self.stage.source_path, 'w') as f:
@@ -86,6 +86,8 @@ const int garply_version_minor = %s;
self.stage.source_path, 'w') as f:
f.write(garplinator_cc)
gpp = which('/usr/bin/g++')
+ if sys.platform == 'darwin':
+ gpp = which('/usr/bin/clang++')
gpp('-Dgarply_EXPORTS',
'-I%s' % self.stage.source_path,
'-O2', '-g', '-DNDEBUG', '-fPIC',
@@ -96,13 +98,28 @@ const int garply_version_minor = %s;
'-O2', '-g', '-DNDEBUG', '-fPIC',
'-o', 'garplinator.cc.o',
'-c', '%s/garply/garplinator.cc' % self.stage.source_path)
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
- '-Wl,-soname,libgarply.so', '-o', 'libgarply.so', 'garply.cc.o')
- gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
- 'garplinator.cc.o', '-o', 'garplinator',
- '-Wl,-rpath,%s' % prefix.lib64,
- 'libgarply.so')
- copy('libgarply.so', '%s/libgarply.so' % prefix.lib64)
+ if sys.platform == 'darwin':
+ gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-dynamiclib',
+ '-Wl,-headerpad_max_install_names', '-o', 'libgarply.dylib',
+ '-install_name', '@rpath/libgarply.dylib',
+ 'garply.cc.o')
+ gpp('-O2', '-g', '-DNDEBUG', '-Wl,-search_paths_first',
+ '-Wl,-headerpad_max_install_names',
+ 'garplinator.cc.o', '-o', 'garplinator',
+ '-Wl,-rpath,%s' % prefix.lib64,
+ 'libgarply.dylib')
+ mkdirp(prefix.lib64)
+ copy('libgarply.dylib', '%s/libgarply.dylib' % prefix.lib64)
+ else:
+ gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
+ '-Wl,-soname,libgarply.so',
+ '-o', 'libgarply.so', 'garply.cc.o')
+ gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
+ 'garplinator.cc.o', '-o', 'garplinator',
+ '-Wl,-rpath,%s' % prefix.lib64,
+ 'libgarply.so')
+ mkdirp(prefix.lib64)
+ copy('libgarply.so', '%s/libgarply.so' % prefix.lib64)
copy('garplinator', '%s/garplinator' % prefix.lib64)
copy('%s/garply/garply.h' % self.stage.source_path,
'%s/garply/garply.h' % prefix.include)
diff --git a/var/spack/repos/builtin.mock/packages/quux/package.py b/var/spack/repos/builtin.mock/packages/quux/package.py
index 6db243f154..80508d3b55 100644
--- a/var/spack/repos/builtin.mock/packages/quux/package.py
+++ b/var/spack/repos/builtin.mock/packages/quux/package.py
@@ -6,6 +6,7 @@
from spack import *
import os
+import sys
class Quux(Package):
@@ -87,7 +88,6 @@ main()
quux_version_h = '''const int quux_version_major = %s;
const int quux_version_minor = %s;
'''
- mkdirp(prefix.lib64)
mkdirp('%s/quux' % prefix.include)
with open('%s/quux_version.h' % self.stage.source_path, 'w') as f:
f.write(quux_version_h % (self.version[0], self.version[1:]))
@@ -98,6 +98,8 @@ const int quux_version_minor = %s;
with open('%s/quux/quuxifier.cc' % self.stage.source_path, 'w') as f:
f.write(quuxifier_cc)
gpp = which('/usr/bin/g++')
+ if sys.platform == 'darwin':
+ gpp = which('/usr/bin/clang++')
gpp('-Dquux_EXPORTS',
'-I%s' % self.stage.source_path,
'-I%s' % spec['garply'].prefix.include,
@@ -110,18 +112,36 @@ const int quux_version_minor = %s;
'-O2', '-g', '-DNDEBUG', '-fPIC',
'-o', 'quuxifier.cc.o',
'-c', 'quux/quuxifier.cc')
- gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
- '-Wl,-soname,libquux.so', '-o', 'libquux.so', 'quux.cc.o',
- '-Wl,-rpath,%s:%s::::' % (prefix.lib64,
- spec['garply'].prefix.lib64),
- '%s/libgarply.so' % spec['garply'].prefix.lib64)
- gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
- 'quuxifier.cc.o', '-o', 'quuxifier',
- '-Wl,-rpath,%s:%s::::' % (prefix.lib64,
- spec['garply'].prefix.lib64),
- 'libquux.so',
- '%s/libgarply.so' % spec['garply'].prefix.lib64)
- copy('libquux.so', '%s/libquux.so' % prefix.lib64)
+ if sys.platform == 'darwin':
+ gpp('-fPIC', '-O2', '-g', '-DNDEBUG',
+ '-dynamiclib', '-Wl,-headerpad_max_install_names',
+ '-o', 'libquux.dylib',
+ '-install_name', '@rpath/libcorge.dylib',
+ 'quux.cc.o', '-Wl,-rpath,%s' % prefix.lib64,
+ '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
+ '%s/libgarply.dylib' % spec['garply'].prefix.lib64)
+ gpp('-O2', '-g', '-DNDEBUG',
+ 'quuxifier.cc.o', '-o', 'quuxifier',
+ '-Wl,-rpath,%s' % prefix.lib64,
+ '-Wl,-rpath,%s' % spec['garply'].prefix.lib64,
+ 'libquux.dylib',
+ '%s/libgarply.dylib' % spec['garply'].prefix.lib64)
+ mkdirp(prefix.lib64)
+ copy('libquux.dylib', '%s/libquux.dylib' % prefix.lib64)
+ else:
+ gpp('-fPIC', '-O2', '-g', '-DNDEBUG', '-shared',
+ '-Wl,-soname,libquux.so', '-o', 'libquux.so', 'quux.cc.o',
+ '-Wl,-rpath,%s:%s::::' % (prefix.lib64,
+ spec['garply'].prefix.lib64),
+ '%s/libgarply.so' % spec['garply'].prefix.lib64)
+ gpp('-O2', '-g', '-DNDEBUG', '-rdynamic',
+ 'quuxifier.cc.o', '-o', 'quuxifier',
+ '-Wl,-rpath,%s:%s::::' % (prefix.lib64,
+ spec['garply'].prefix.lib64),
+ 'libquux.so',
+ '%s/libgarply.so' % spec['garply'].prefix.lib64)
+ mkdirp(prefix.lib64)
+ copy('libquux.so', '%s/libquux.so' % prefix.lib64)
copy('quuxifier', '%s/quuxifier' % prefix.lib64)
copy('%s/quux/quux.h' % self.stage.source_path,
'%s/quux/quux.h' % prefix.include)
diff --git a/var/spack/repos/builtin/packages/abinit/package.py b/var/spack/repos/builtin/packages/abinit/package.py
index 6f07ffee81..4378c28213 100644
--- a/var/spack/repos/builtin/packages/abinit/package.py
+++ b/var/spack/repos/builtin/packages/abinit/package.py
@@ -56,6 +56,9 @@ class Abinit(AutotoolsPackage):
variant('hdf5', default=False,
description='Enables HDF5+Netcdf4 with MPI. WARNING: experimental')
+ variant('wannier90', default=False,
+ description='Enables the Wannier90 library')
+
# Add dependencies
# currently one cannot forward options to virtual packages, see #1712.
# depends_on('blas', when='~openmp')
@@ -84,6 +87,8 @@ class Abinit(AutotoolsPackage):
# Cannot ask for +scalapack if it does not depend on MPI
conflicts('+scalapack', when='~mpi')
+ depends_on("wannier90+shared", when='+wannier90')
+
# Elpa is a substitute for scalapack and needs mpi
# conflicts('+elpa', when='~mpi')
# conflicts('+elpa', when='+scalapack')
@@ -95,12 +100,25 @@ class Abinit(AutotoolsPackage):
options = []
oapp = options.append
+ if '+wannier90' in spec:
+ oapp('--with-wannier90-libs=-L{0}'
+ .format(spec['wannier90'].prefix.lib + ' -lwannier -lm'))
+ oapp('--with-wannier90-incs=-I{0}'
+ .format(spec['wannier90'].prefix.modules))
+ oapp('--with-wannier90-bins={0}'
+ .format(spec['wannier90'].prefix.bin))
+ oapp('--enable-connectors')
+ oapp('--with-dft-flavor=wannier90')
+
if '+mpi' in spec:
# MPI version:
# let the configure script auto-detect MPI support from mpi_prefix
oapp('--with-mpi-prefix={0}'.format(spec['mpi'].prefix))
oapp('--enable-mpi=yes')
oapp('--enable-mpi-io=yes')
+ oapp('MPIFC={0}/mpifc'.format(spec['mpi'].prefix.bin))
+ if '~wannier90' in spec:
+ oapp('--with-dft-flavor=atompaw+libxc')
# Activate OpenMP in Abinit Fortran code.
if '+openmp' in spec:
@@ -129,7 +147,6 @@ class Abinit(AutotoolsPackage):
'--with-fft-incs=-I%s' % spec['fftw'].prefix.include,
'--with-fft-libs=-L%s %s' % (spec['fftw'].prefix.lib, fftlibs),
])
- oapp('--with-dft-flavor=atompaw+libxc')
# LibXC library
libxc = spec['libxc:fortran']
diff --git a/var/spack/repos/builtin/packages/abseil-cpp/package.py b/var/spack/repos/builtin/packages/abseil-cpp/package.py
index c40b2353bf..24ac21fd63 100644
--- a/var/spack/repos/builtin/packages/abseil-cpp/package.py
+++ b/var/spack/repos/builtin/packages/abseil-cpp/package.py
@@ -10,10 +10,11 @@ class AbseilCpp(CMakePackage):
"""Abseil Common Libraries (C++) """
homepage = "https://abseil.io/"
- url = "https://github.com/abseil/abseil-cpp/archive/20180600.tar.gz"
+ url = "https://github.com/abseil/abseil-cpp/archive/20200225.2.tar.gz"
maintainers = ['jcftang']
+ version('20200225.2', sha256='f41868f7a938605c92936230081175d1eae87f6ea2c248f41077c8f88316f111')
version('20200225.1', sha256='0db0d26f43ba6806a8a3338da3e646bb581f0ca5359b3a201d8fb8e4752fd5f8')
version('20190808', sha256='8100085dada279bf3ee00cd064d43b5f55e5d913be0dfe2906f06f8f28d5b37e')
version('20181200', sha256='e2b53bfb685f5d4130b84c4f3050c81bf48c497614dc85d91dbd3ed9129bce6d')
diff --git a/var/spack/repos/builtin/packages/abyss/fix_BloomFilter.hpp.patch b/var/spack/repos/builtin/packages/abyss/fix_BloomFilter.hpp.patch
new file mode 100644
index 0000000000..b648cb6122
--- /dev/null
+++ b/var/spack/repos/builtin/packages/abyss/fix_BloomFilter.hpp.patch
@@ -0,0 +1,11 @@
+--- spack-src/lib/bloomfilter/BloomFilter.hpp.org 2018-10-17 07:04:45.000000000 +0900
++++ spack-src/lib/bloomfilter/BloomFilter.hpp 2020-07-16 15:41:03.607766127 +0900
+@@ -230,7 +230,7 @@
+
+ void writeHeader(std::ostream& out) const {
+ FileHeader header;
+- strncpy(header.magic, "BlOOMFXX", 8);
++ memcpy(header.magic, "BlOOMFXX", 8);
+ char magic[9];
+ strncpy(magic, header.magic, 8);
+ magic[8] = '\0';
diff --git a/var/spack/repos/builtin/packages/abyss/package.py b/var/spack/repos/builtin/packages/abyss/package.py
index 339441392d..c7eddfd835 100644
--- a/var/spack/repos/builtin/packages/abyss/package.py
+++ b/var/spack/repos/builtin/packages/abyss/package.py
@@ -3,9 +3,19 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import numbers
from spack import *
+def is_multiple_32(x):
+ """multiple of 32 """
+ try:
+ return isinstance(int(x), numbers.Integral) and \
+ not isinstance(x, bool) and int(x) % 32 == 0
+ except ValueError:
+ return False
+
+
class Abyss(AutotoolsPackage):
"""ABySS is a de novo, parallel, paired-end sequence assembler
that is designed for short reads. The single-processor version
@@ -18,9 +28,8 @@ class Abyss(AutotoolsPackage):
version('2.0.2', sha256='d87b76edeac3a6fb48f24a1d63f243d8278a324c9a5eb29027b640f7089422df')
version('1.5.2', sha256='8a52387f963afb7b63db4c9b81c053ed83956ea0a3981edcad554a895adf84b1')
- variant('maxk', values=int, default=0,
- description='''set the maximum k-mer length.
- This value must be a multiple of 32''')
+ variant('maxk', default=128, values=is_multiple_32,
+ description='set the maximum k-mer length.')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
@@ -48,3 +57,5 @@ class Abyss(AutotoolsPackage):
if self.spec['mpi'].name == 'mpich':
args.append('--enable-mpich')
return args
+
+ patch('fix_BloomFilter.hpp.patch', when='@2.0.0:2.1.4')
diff --git a/var/spack/repos/builtin/packages/acl/package.py b/var/spack/repos/builtin/packages/acl/package.py
index ea9bf4172f..17f916d297 100644
--- a/var/spack/repos/builtin/packages/acl/package.py
+++ b/var/spack/repos/builtin/packages/acl/package.py
@@ -24,6 +24,10 @@ class Acl(AutotoolsPackage):
depends_on('automake', type='build')
depends_on('libtool', type='build')
depends_on('attr')
+ depends_on('gettext')
+
+ def setup_build_environment(self, env):
+ env.append_flags('LDFLAGS', '-lintl')
def autoreconf(self, spec, prefix):
bash = which('bash')
diff --git a/var/spack/repos/builtin/packages/activeharmony/fix_logical_bug_in_slave_list_parsing.patch b/var/spack/repos/builtin/packages/activeharmony/fix_logical_bug_in_slave_list_parsing.patch
new file mode 100644
index 0000000000..08141143d9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/activeharmony/fix_logical_bug_in_slave_list_parsing.patch
@@ -0,0 +1,29 @@
+diff --git a/code-server/code_generator.cxx b/code-server/code_generator.cxx
+index df25400..1c213f7 100644
+--- a/code-server/code_generator.cxx
++++ b/code-server/code_generator.cxx
+@@ -574,13 +574,13 @@ int parse_slave_list(const char* hostlist)
+ }
+
+ // Skip leading whitespace.
+- while (head < tail && (head == '\0' || isspace(*head))) {
++ while (head < tail && (*head == '\0' || isspace(*head))) {
+ ++head;
+ }
+ host_ptr = head;
+
+ // Find host boundary whitespace.
+- while (head < tail && (head != '\0' && !isspace(*head))) {
++ while (head < tail && (*head != '\0' && !isspace(*head))) {
+ ++head;
+ }
+ host = string(host_ptr, head++);
+@@ -596,7 +596,7 @@ int parse_slave_list(const char* hostlist)
+ }
+
+ // Skip trailing whitespace.
+- while (head < tail && (head == '\0' || isspace(*head))) {
++ while (head < tail && (*head == '\0' || isspace(*head))) {
+ ++head;
+ }
+
diff --git a/var/spack/repos/builtin/packages/activeharmony/package.py b/var/spack/repos/builtin/packages/activeharmony/package.py
index 179a5a68cc..45a55e5600 100644
--- a/var/spack/repos/builtin/packages/activeharmony/package.py
+++ b/var/spack/repos/builtin/packages/activeharmony/package.py
@@ -6,14 +6,33 @@
from spack import *
-class Activeharmony(Package):
+class Activeharmony(MakefilePackage):
"""Active Harmony: a framework for auto-tuning (the automated search for
- values to improve the performance of a target application)."""
+ values to improve the performance of a target application)."""
+
homepage = "http://www.dyninst.org/harmony"
url = "http://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz"
- version('4.5', sha256='31d9990c8dd36724d336707d260aa4d976e11eaa899c4c7cc11f80a56cdac684')
+ version('4.6.0', sha256='9ce5009cfd8e2f4cf5f3536e1fea9993414fc25920fc90d0a2cb56f044787dbb')
+ version('4.5', sha256='31d9990c8dd36724d336707d260aa4d976e11eaa899c4c7cc11f80a56cdac684')
+
+ patch('fix_logical_bug_in_slave_list_parsing.patch', sha256='3e000616f84de80b262efcae7559d65eed0efcd53e915580dab63b0ffbbb8bf2', when='@4.6.0')
+
+ cflags = ['-O3', '-fPIC']
+ def setup_build_environment(self, spack_env):
+ spack_env.set('CFLAGS', ' '.join(self.cflags))
+
+ @when('@:4.5')
def install(self, spec, prefix):
- make("CFLAGS=-O3")
make("install", 'PREFIX=%s' % prefix)
+
+ @when('@4.6.0:')
+ def install(self, spec, prefix):
+ make("install")
+ install_tree("./bin", prefix.bin)
+ install("./src/harmony.cfg", prefix.bin)
+ install_tree("./lib", prefix.lib)
+ install_tree("./libexec", prefix.libexec)
+ install_tree("./include", prefix.include)
+ install_tree("./doc", prefix.doc)
diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py
index 849c326b18..3c792e1829 100644
--- a/var/spack/repos/builtin/packages/acts/package.py
+++ b/var/spack/repos/builtin/packages/acts/package.py
@@ -6,7 +6,7 @@
from spack import *
-class Acts(CMakePackage):
+class Acts(CMakePackage, CudaPackage):
"""
A Common Tracking Software (Acts)
@@ -35,6 +35,14 @@ class Acts(CMakePackage):
# Supported Acts versions
version('master', branch='master')
+ version('0.29.0', commit='33aa3e701728112e8908223c4a7fd521907c8ea4')
+ version('0.28.0', commit='55626b7401eeb93fc562e79bcf385f0ad0ac48bf')
+ version('0.27.1', commit='8ba3010a532137bc0ab6cf83a38b483cef646a01')
+ version('0.27.0', commit='f7b1a1c27d5a95d08bb67236ad0e117fcd1c679f')
+ version('0.26.0', commit='cf542b108b31fcc349fc18fb0466f889e4e42aa6')
+ version('0.25.2', commit='76bf1f3e4be51d4d27126b473a2caa8d8a72b320')
+ version('0.25.1', commit='6e8a1ea6d2c7385a78e3e190efb2a8a0c1fa957f')
+ version('0.25.0', commit='0aca171951a214299e8ff573682b1c5ecec63d42')
version('0.24.0', commit='ef4699c8500bfea59a5fe88bed67fde2f00f0adf')
version('0.23.0', commit='dc443dd7e663bc4d7fb3c1e3f1f75aaf57ffd4e4')
version('0.22.1', commit='ca1b8b1645db6b552f44c48d2ff34c8c29618f3a')
@@ -90,10 +98,11 @@ class Acts(CMakePackage):
# Build dependencies
depends_on('boost @1.62:1.69.99 +program_options +test', when='@:0.10.3')
- depends_on('boost @1.69: +filesystem +program_options +test', when='@0.10.4:')
+ depends_on('boost @1.69: +filesystem +program_options +test', when='@0.10.4:0.25')
+ depends_on('boost @1.69: +program_options +test', when='@0.26:')
depends_on('cmake @3.11:', type='build')
- depends_on('dd4hep @1.10: +xercesc', when='+dd4hep')
- depends_on('dd4hep @1.10: +geant4 +xercesc', when='+dd4hep +geant4')
+ depends_on('dd4hep @1.10:', when='+dd4hep')
+ depends_on('dd4hep @1.10: +geant4', when='+dd4hep +geant4')
depends_on('eigen @3.2.9:', type='build')
depends_on('geant4', when='+geant4')
depends_on('hepmc3@3.1:', when='+hepmc3')
@@ -141,6 +150,7 @@ class Acts(CMakePackage):
args = [
cmake_variant("BENCHMARKS", "benchmarks"),
+ cmake_variant("CUDA_PLUGIN", "cuda"),
cmake_variant("DD4HEP_PLUGIN", "dd4hep"),
cmake_variant("DIGITIZATION_PLUGIN", "digitization"),
cmake_variant("EXAMPLES", "examples"),
@@ -157,6 +167,10 @@ class Acts(CMakePackage):
cmake_variant("TGEO_PLUGIN", "tgeo")
]
+ 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))
diff --git a/var/spack/repos/builtin/packages/advancecomp/package.py b/var/spack/repos/builtin/packages/advancecomp/package.py
index b429ceda91..149ff1bdb2 100644
--- a/var/spack/repos/builtin/packages/advancecomp/package.py
+++ b/var/spack/repos/builtin/packages/advancecomp/package.py
@@ -22,3 +22,4 @@ class Advancecomp(AutotoolsPackage):
depends_on('automake', type='build')
depends_on('libtool', type='build')
depends_on('m4', type='build')
+ depends_on('zlib', type='link')
diff --git a/var/spack/repos/builtin/packages/aegean/package.py b/var/spack/repos/builtin/packages/aegean/package.py
index 9198280e9a..eea46740a0 100644
--- a/var/spack/repos/builtin/packages/aegean/package.py
+++ b/var/spack/repos/builtin/packages/aegean/package.py
@@ -21,4 +21,7 @@ class Aegean(MakefilePackage):
def edit(self, spec, prefix):
makefile = FileFilter('Makefile')
+ if spec.target.family == 'aarch64':
+ makefile.filter('-m64', '')
+
makefile.filter('/usr/local', prefix)
diff --git a/var/spack/repos/builtin/packages/alluxio/package.py b/var/spack/repos/builtin/packages/alluxio/package.py
index d608af7a05..a0c9be78b0 100644
--- a/var/spack/repos/builtin/packages/alluxio/package.py
+++ b/var/spack/repos/builtin/packages/alluxio/package.py
@@ -7,17 +7,20 @@ from spack import *
class Alluxio(Package):
- """
- Alluxio (formerly known as Tachyon) is a virtual distributed storage
+ """Alluxio (formerly known as Tachyon) is a virtual distributed storage
system. It bridges the gap between computation frameworks and storage
systems, enabling computation applications to connect to numerous
- storage systems through a common interface.
- """
+ storage systems through a common interface."""
- homepage = "https://github.com/Alluxio/alluxio"
- url = "https://github.com/Alluxio/alluxio/archive/v2.1.0.tar.gz"
+ homepage = "https://www.alluxio.io"
+ url = "https://downloads.alluxio.io/downloads/files/2.2.1/alluxio-2.2.1-bin.tar.gz"
+ list_url = "https://downloads.alluxio.io/downloads/files"
+ list_depth = 1
- version('2.1.0', sha256='c8b5b7848488e0ac10b093eea02ef05fa822250669d184291cc51b2f8aac253e')
+ version('2.2.1', sha256='0c6b0afcc4013437afb8113e1dfda9777561512269ea349c7fbf353dc0efd28a')
+ version('2.2.0', sha256='635847ea1a0f8ad04c99518620de035d4962fbfa9e5920bb0911ccf8e5ea82fc')
+
+ depends_on('java@8', type='run')
def install(self, spec, prefix):
install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py
index c5d6a45ed8..ee060b8368 100644
--- a/var/spack/repos/builtin/packages/aluminum/package.py
+++ b/var/spack/repos/builtin/packages/aluminum/package.py
@@ -7,7 +7,7 @@ import os
from spack import *
-class Aluminum(CMakePackage):
+class Aluminum(CMakePackage, CudaPackage):
"""Aluminum provides a generic interface to high-performance
communication libraries, with a focus on allreduce
algorithms. Blocking and non-blocking algorithms and GPU-aware
@@ -20,6 +20,8 @@ class Aluminum(CMakePackage):
git = "https://github.com/LLNL/Aluminum.git"
version('master', branch='master')
+ version('0.5.0', sha256='dc365a5849eaba925355a8efb27005c5f22bcd1dca94aaed8d0d29c265c064c1')
+ version('0.4.0', sha256='4d6fab5481cc7c994b32fb23a37e9ee44041a9f91acf78f981a97cb8ef57bb7d')
version('0.3.3', sha256='26e7f263f53c6c6ee0fe216e981a558dfdd7ec997d0dd2a24285a609a6c68f3b')
version('0.3.2', sha256='09b6d1bcc02ac54ba269b1123eee7be20f0104b93596956c014b794ba96b037f')
version('0.2.1-1', sha256='066b750e9d1134871709a3e2414b96b166e0e24773efc7d512df2f1d96ee8eef')
@@ -27,12 +29,13 @@ class Aluminum(CMakePackage):
version('0.2', sha256='fc8f06c6d8faab17a2aedd408d3fe924043bf857da1094d5553f35c4d2af893b')
version('0.1', sha256='3880b736866e439dd94e6a61eeeb5bb2abccebbac82b82d52033bc6c94950bdb')
- variant('gpu', default=False, description='Builds with support for GPUs via CUDA and cuDNN')
variant('nccl', default=False, description='Builds with support for NCCL communication lib')
- variant('mpi_cuda', default=False, description='Builds with support for MPI-CUDA enabled library')
+ variant('ht', default=False, description='Builds with support for host-enabled MPI'
+ ' communication of accelerator data')
+ variant('cuda_rma', default=False, description='Builds with support for CUDA intra-node '
+ ' Put/Get and IPC RMA functionality')
- depends_on('cmake@3.9.0:', type='build')
- depends_on('cuda', when='+gpu')
+ depends_on('cmake@3.16.0:', type='build')
depends_on('mpi')
depends_on('nccl', when='+nccl')
depends_on('hwloc')
@@ -43,10 +46,20 @@ class Aluminum(CMakePackage):
def cmake_args(self):
spec = self.spec
args = [
- '-DALUMINUM_ENABLE_CUDA:BOOL=%s' % ('+gpu' in spec),
- '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+mpi_cuda' in spec),
+ '-DALUMINUM_ENABLE_CUDA:BOOL=%s' % ('+cuda' in spec),
'-DALUMINUM_ENABLE_NCCL:BOOL=%s' % ('+nccl' in spec)]
+ if '@0.5:':
+ args.extend([
+ '-DALUMINUM_ENABLE_HOST_TRANSFER:BOOL=%s' % ('+ht' in spec),
+ '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' %
+ ('+cuda_rma' in spec),
+ '-DALUMINUM_ENABLE_MPI_CUDA_RMA:BOOL=%s' %
+ ('+cuda_rma' in spec)])
+ else:
+ args.extend([
+ '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+ht' in spec)])
+
# Add support for OS X to find OpenMP (LLVM installed via brew)
if self.spec.satisfies('%clang platform=darwin'):
clang = self.compiler.cc
diff --git a/var/spack/repos/builtin/packages/amber/package.py b/var/spack/repos/builtin/packages/amber/package.py
index 481377047c..9b772e0a6a 100644
--- a/var/spack/repos/builtin/packages/amber/package.py
+++ b/var/spack/repos/builtin/packages/amber/package.py
@@ -9,28 +9,41 @@ import shutil
class Amber(Package, CudaPackage):
- """Amber is a suite of biomolecular simulation programs.
-
- Note: A manual download is required for Amber.
- Spack will search your current directory for the download file.
- Alternatively, add this file to a mirror so that Spack can find it.
+ """Amber is a suite of biomolecular simulation programs together
+ with Amber tools.
+
+ Note: The version number is composed of the Amber version (major)
+ and the tools version (minor). A manual download is required for
+ both Amber and Amber tools.
+ Spack will search your current directory for the download files.
+ Alternatively, add the files to a mirror so that Spack can find them.
For instructions on how to set up a mirror, see
http://spack.readthedocs.io/en/latest/mirrors.html"""
homepage = "http://ambermd.org/"
- url = "file://{0}/Amber18.tar.bz2".format(os.getcwd())
+ url = "file://{0}/Amber18.tar.bz2".format(os.getcwd())
maintainers = ['hseara']
- version('18', sha256='2060897c0b11576082d523fb63a51ba701bc7519ff7be3d299d5ec56e8e6e277')
- version('16', sha256='3b7ef281fd3c46282a51b6a6deed9ed174a1f6d468002649d84bfc8a2577ae5d')
+ def url_for_version(self, version):
+ url = "file://{0}/Amber{1}.tar.bz2".format(
+ os.getcwd(), version.up_to(1))
+ return url
+
+ version(
+ '18.20', sha256='2060897c0b11576082d523fb63a51ba701bc7519ff7be3d299d5ec56e8e6e277')
+ version(
+ '18.19', sha256='2060897c0b11576082d523fb63a51ba701bc7519ff7be3d299d5ec56e8e6e277')
+ version(
+ '16.16', sha256='3b7ef281fd3c46282a51b6a6deed9ed174a1f6d468002649d84bfc8a2577ae5d')
resources = [
# [version amber, version ambertools , sha256sum]
+ ('18', '20', 'b1e1f8f277c54e88abc9f590e788bbb2f7a49bcff5e8d8a6eacfaf332a4890f9'),
('18', '19', '0c86937904854b64e4831e047851f504ec45b42e593db4ded92c1bee5973e699'),
('16', '16', '7b876afe566e9dd7eb6a5aa952a955649044360f15c1f5d4d91ba7f41f3105fa'),
]
for ver, ambertools_ver, checksum in resources:
- resource(when='@{0}'.format(ver),
+ resource(when='@{0}.{1}'.format(ver, ambertools_ver),
name='AmberTools',
url='file://{0}/AmberTools{1}.tar.bz2'.format(os.getcwd(),
ambertools_ver),
@@ -100,10 +113,14 @@ class Amber(Package, CudaPackage):
depends_on('cuda@7.5.18', when='@:16+cuda')
# conflicts
- conflicts('+x11', when='platform=cray', msg='x11 amber applications not available for cray')
- conflicts('+openmp', when='%clang', msg='OpenMP optimizations not available for the clang compiler')
- conflicts('+openmp', when='%apple-clang', msg='OpenMP optimizations not available for the Apple clang compiler')
- conflicts('+openmp', when='%pgi', msg='OpenMP optimizations not available for the pgi compiler')
+ conflicts('+x11', when='platform=cray',
+ msg='x11 amber applications not available for cray')
+ conflicts('+openmp', when='%clang',
+ msg='OpenMP not available for the clang compiler')
+ conflicts('+openmp', when='%apple-clang',
+ msg='OpenMP not available for the Apple clang compiler')
+ conflicts('+openmp', when='%pgi',
+ msg='OpenMP not available for the pgi compiler')
def setup_build_environment(self, env):
amber_src = self.stage.source_path
diff --git a/var/spack/repos/builtin/packages/amdblis/package.py b/var/spack/repos/builtin/packages/amdblis/package.py
index 706e7f6bd2..82d1f18938 100644
--- a/var/spack/repos/builtin/packages/amdblis/package.py
+++ b/var/spack/repos/builtin/packages/amdblis/package.py
@@ -20,4 +20,5 @@ class Amdblis(BlisBase):
url = "https://github.com/amd/blis/archive/2.1.tar.gz"
git = "https://github.com/amd/blis.git"
+ version('2.2', sha256='e1feb60ac919cf6d233c43c424f6a8a11eab2c62c2c6e3f2652c15ee9063c0c9')
version('2.1', sha256='3b1d611d46f0f13b3c0917e27012e0f789b23dbefdddcf877b20327552d72fb3')
diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py
index f6cb778f4b..d8e2ea6b1c 100644
--- a/var/spack/repos/builtin/packages/amrex/package.py
+++ b/var/spack/repos/builtin/packages/amrex/package.py
@@ -18,6 +18,8 @@ class Amrex(CMakePackage):
maintainers = ['mic84', 'asalmgren']
version('develop', branch='development')
+ version('20.08', sha256='a202430cd8dbef2de29b20fe9b5881cc58ee762326556ec3c0ad9c3f85ddfc2f')
+ version('20.07', sha256='c386f566f4c57ee56b5630f79ce2c6117d5a612a4aab69b7b26e48d577251165')
version('20.06', sha256='be2f2a5107111fcb8b3928b76024b370c7cb01a9e5dd79484cf7fcf59d0b4858')
version('20.05', sha256='97d753bb75e845a0a959ec1a044a48e6adb86dd008b5e29ce7a01d49ed276338')
version('20.04', sha256='a7ece54d5d89cc00fd555551902a0d4d0fb50db15d2600f441353eed0dddd83b')
@@ -57,6 +59,12 @@ class Amrex(CMakePackage):
values=('Debug', 'Release'))
variant('sundials', default=False,
description='Build AMReX with SUNDIALS support')
+ variant('hdf5', default=False,
+ description='Enable HDF5-based I/O')
+ variant('hypre', default=False,
+ description='Enable Hypre interfaces')
+ variant('petsc', default=False,
+ description='Enable PETSc interfaces')
# Build dependencies
depends_on('mpi', when='+mpi')
@@ -68,6 +76,24 @@ class Amrex(CMakePackage):
conflicts('%apple-clang')
conflicts('%clang')
+ # Check options compatibility
+ conflicts('+sundials', when='~fortran',
+ msg='AMReX SUNDIALS support needs AMReX Fortran API (+fortran)')
+ conflicts('+hdf5', when='@:20.06',
+ msg='AMReX HDF5 support needs AMReX newer than version 20.06')
+ conflicts('+hypre', when='@:20.06',
+ msg='AMReX Hypre support needs AMReX newer than version 20.06')
+ conflicts('+hypre', when='~fortran',
+ msg='AMReX Hypre support needs AMReX Fortran API (+fortran)')
+ conflicts('+hypre', when='~linear_solvers',
+ msg='AMReX Hypre support needs variant +linear_solvers')
+ conflicts('+petsc', when='@:20.06',
+ msg='AMReX PETSc support needs AMReX newer than version 20.06')
+ conflicts('+petsc', when='~fortran',
+ msg='AMReX PETSc support needs AMReX Fortran API (+fortran)')
+ conflicts('+petsc', when='~linear_solvers',
+ msg='AMReX PETSc support needs variant +linear_solvers')
+
def url_for_version(self, version):
if version >= Version('20.05'):
url = "https://github.com/AMReX-Codes/amrex/releases/download/{0}/amrex-{0}.tar.gz"
@@ -89,11 +115,16 @@ class Amrex(CMakePackage):
self.spec.variants['precision'].value.upper(),
'-DENABLE_EB:BOOL=%s' % self.cmake_is_on('+eb'),
'-DXSDK_ENABLE_Fortran:BOOL=%s' % self.cmake_is_on('+fortran'),
+ '-DENABLE_FORTRAN_INTERFACES:BOOL=%s'
+ % self.cmake_is_on('+fortran'),
'-DENABLE_LINEAR_SOLVERS:BOOL=%s' %
self.cmake_is_on('+linear_solvers'),
'-DENABLE_AMRDATA:BOOL=%s' % self.cmake_is_on('+amrdata'),
'-DENABLE_PARTICLES:BOOL=%s' % self.cmake_is_on('+particles'),
- '-DENABLE_SUNDIALS:BOOL=%s' % self.cmake_is_on('+sundials')
+ '-DENABLE_SUNDIALS:BOOL=%s' % self.cmake_is_on('+sundials'),
+ '-DENABLE_HDF5:BOOL=%s' % self.cmake_is_on('+hdf5'),
+ '-DENABLE_HYPRE:BOOL=%s' % self.cmake_is_on('+hypre'),
+ '-DENABLE_PETSC:BOOL=%s' % self.cmake_is_on('+petsc'),
]
if self.spec.satisfies('%fj'):
args.append('-DCMAKE_Fortran_MODDIR_FLAG=-M')
diff --git a/var/spack/repos/builtin/packages/amrvis/package.py b/var/spack/repos/builtin/packages/amrvis/package.py
index 51c5787d4b..0db77c9649 100644
--- a/var/spack/repos/builtin/packages/amrvis/package.py
+++ b/var/spack/repos/builtin/packages/amrvis/package.py
@@ -16,7 +16,7 @@ class Amrvis(MakefilePackage):
homepage = "https://github.com/AMReX-Codes/Amrvis"
git = "https://github.com/AMReX-Codes/Amrvis.git"
- version('master', tag='master')
+ version('main', tag='main')
variant(
'dims',
@@ -69,10 +69,21 @@ class Amrvis(MakefilePackage):
# Need to clone AMReX into Amrvis because Amrvis uses AMReX's source
resource(name='amrex',
git='https://github.com/AMReX-Codes/amrex.git',
- tag='master',
+ tag='development',
placement='amrex')
def edit(self, spec, prefix):
+ # libquadmath is only available x86_64 and powerle
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85440
+ if self.spec.target.family not in ['x86_64', 'ppc64le']:
+ comps = join_path('amrex', 'Tools', 'GNUMake', 'comps')
+ maks = [
+ join_path(comps, 'gnu.mak'),
+ join_path(comps, 'llvm.mak'),
+ ]
+ for mak in maks:
+ filter_file('-lquadmath', '', mak)
+
# Set all available makefile options to values we want
makefile = FileFilter('GNUmakefile')
makefile.filter(
diff --git a/var/spack/repos/builtin/packages/apcomp/package.py b/var/spack/repos/builtin/packages/apcomp/package.py
new file mode 100644
index 0000000000..3e66038030
--- /dev/null
+++ b/var/spack/repos/builtin/packages/apcomp/package.py
@@ -0,0 +1,182 @@
+# 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 *
+import os
+import socket
+import llnl.util.tty as tty
+
+
+def cmake_cache_entry(name, value, vtype=None):
+ """
+ Helper that creates CMake cache entry strings used in
+ 'host-config' files.
+ """
+ if vtype is None:
+ if value == "ON" or value == "OFF":
+ vtype = "BOOL"
+ else:
+ vtype = "PATH"
+ return 'set({0} "{1}" CACHE {2} "")\n\n'.format(name, value, vtype)
+
+
+class Apcomp(Package):
+ """A multi use-case image compositor"""
+
+ homepage = 'https://github.com/Alpine-DAV/ap_compositor'
+ git = 'https://github.com/Alpine-DAV/ap_compositor.git'
+ url = "https://github.com/Alpine-DAV/ap_compositor/releases/download/v0.0.1/apcomp-v0.0.1.tar.gz"
+
+ maintainers = ['mclarsen', 'cyrush']
+
+ version('master', branch='master', submodules='True')
+ version('0.0.1', sha256="cbf85fe58d5d5bc2f468d081386cc8b79861046b3bb7e966edfa3f8e95b998b2")
+
+ variant('openmp', default=True, description='Build with openmp support')
+ variant('mpi', default=True, description='Build with MPI support')
+ variant('shared', default=True, description='Build Shared Library')
+
+ depends_on('cmake@3.9:', type='build')
+ depends_on("mpi", when="+mpi")
+
+ root_cmakelists_dir = 'src'
+
+ def install(self, spec, prefix):
+ """
+ Build and install APComp
+ """
+ with working_dir('spack-build', create=True):
+ host_cfg_fname = self.create_host_config(spec,
+ prefix)
+ cmake_args = []
+ # if we have a static build, we need to avoid any of
+ # spack's default cmake settings related to rpaths
+ # (see: https://github.com/LLNL/spack/issues/2658)
+ if "+shared" in spec:
+ cmake_args.extend(std_cmake_args)
+ else:
+ for arg in std_cmake_args:
+ if arg.count("RPATH") == 0:
+ cmake_args.append(arg)
+ cmake_args.extend(["-C", host_cfg_fname, "../src"])
+ print("Configuring APComp...")
+ cmake(*cmake_args)
+ print("Building APComp...")
+ make()
+ print("Installing APComp...")
+ make("install")
+ # install copy of host config for provenance
+ install(host_cfg_fname, prefix)
+
+ def create_host_config(self, spec, prefix):
+ """
+ This method creates a 'host-config' file that specifies
+ all of the options used to configure and build apcomp.
+ """
+
+ #######################
+ # Compiler Info
+ #######################
+ c_compiler = env["SPACK_CC"]
+ cpp_compiler = env["SPACK_CXX"]
+
+ #######################################################################
+ # We directly fetch the names of the actual compilers to create a
+ # 'host config' file that works outside of the spack install env.
+ #######################################################################
+
+ sys_type = spec.architecture
+ # if on llnl systems, we can use the SYS_TYPE
+ if "SYS_TYPE" in env:
+ sys_type = env["SYS_TYPE"]
+
+ ##############################################
+ # Find and record what CMake is used
+ ##############################################
+
+ if "+cmake" in spec:
+ cmake_exe = spec['cmake'].command.path
+ else:
+ cmake_exe = which("cmake")
+ if cmake_exe is None:
+ msg = 'failed to find CMake (and cmake variant is off)'
+ raise RuntimeError(msg)
+ cmake_exe = cmake_exe.path
+
+ host_cfg_fname = "%s-%s-%s-apcomp.cmake" % (socket.gethostname(),
+ sys_type,
+ spec.compiler)
+
+ cfg = open(host_cfg_fname, "w")
+ cfg.write("##################################\n")
+ cfg.write("# spack generated host-config\n")
+ cfg.write("##################################\n")
+ cfg.write("# {0}-{1}\n".format(sys_type, spec.compiler))
+ cfg.write("##################################\n\n")
+
+ # Include path to cmake for reference
+ cfg.write("# cmake from spack \n")
+ cfg.write("# cmake executable path: %s\n\n" % cmake_exe)
+
+ #######################
+ # Compiler Settings
+ #######################
+ cfg.write("#######\n")
+ cfg.write("# using %s compiler spec\n" % spec.compiler)
+ cfg.write("#######\n\n")
+ cfg.write("# c compiler used by spack\n")
+ cfg.write(cmake_cache_entry("CMAKE_C_COMPILER", c_compiler))
+ cfg.write("# cpp compiler used by spack\n")
+ cfg.write(cmake_cache_entry("CMAKE_CXX_COMPILER", cpp_compiler))
+
+ # shared vs static libs
+ if "+shared" in spec:
+ cfg.write(cmake_cache_entry("BUILD_SHARED_LIBS", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("BUILD_SHARED_LIBS", "OFF"))
+
+ if "+openmp" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_OPENMP", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_OPENMP", "OFF"))
+
+ if "+mpi" in spec:
+ mpicc_path = spec['mpi'].mpicc
+ mpicxx_path = spec['mpi'].mpicxx
+ mpifc_path = spec['mpi'].mpifc
+ # if we are using compiler wrappers on cray systems
+ # use those for mpi wrappers, b/c spec['mpi'].mpicxx
+ # etc make return the spack compiler wrappers
+ # which can trip up mpi detection in CMake 3.14
+ if cpp_compiler == "CC":
+ mpicc_path = "cc"
+ mpicxx_path = "CC"
+ mpifc_path = "ftn"
+ cfg.write(cmake_cache_entry("ENABLE_MPI", "ON"))
+ cfg.write(cmake_cache_entry("MPI_C_COMPILER", mpicc_path))
+ cfg.write(cmake_cache_entry("MPI_CXX_COMPILER", mpicxx_path))
+ cfg.write(cmake_cache_entry("MPI_Fortran_COMPILER", mpifc_path))
+ mpiexe_bin = join_path(spec['mpi'].prefix.bin, 'mpiexec')
+ if os.path.isfile(mpiexe_bin):
+ # starting with cmake 3.10, FindMPI expects MPIEXEC_EXECUTABLE
+ # vs the older versions which expect MPIEXEC
+ if self.spec["cmake"].satisfies('@3.10:'):
+ cfg.write(cmake_cache_entry("MPIEXEC_EXECUTABLE",
+ mpiexe_bin))
+ else:
+ cfg.write(cmake_cache_entry("MPIEXEC",
+ mpiexe_bin))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
+
+ cfg.write("##################################\n")
+ cfg.write("# end spack generated host-config\n")
+ cfg.write("##################################\n")
+ cfg.close()
+
+ host_cfg_fname = os.path.abspath(host_cfg_fname)
+ tty.info("spack generated conduit host-config file: " + host_cfg_fname)
+ return host_cfg_fname
diff --git a/var/spack/repos/builtin/packages/aperture-photometry/package.py b/var/spack/repos/builtin/packages/aperture-photometry/package.py
index 3de6e1d8d7..db2532ed92 100644
--- a/var/spack/repos/builtin/packages/aperture-photometry/package.py
+++ b/var/spack/repos/builtin/packages/aperture-photometry/package.py
@@ -13,6 +13,7 @@ class AperturePhotometry(Package):
homepage = "http://www.aperturephotometry.org/aptool/"
url = "http://www.aperturephotometry.org/aptool/wp-content/plugins/download-monitor/download.php?id=1"
+ version('2.8.4', '28ae136c708a3ebcb83632230e119a03ca1a65499006ab69dc76e21b4921f465', extension='tar.gz')
version('2.8.2', 'cb29eb39a630dc5d17c02fb824c69571fe1870a910a6acf9115c5f76fd89dd7e', extension='tar.gz')
depends_on('java')
diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py
index edf8ef7fc2..dfc9c55c50 100644
--- a/var/spack/repos/builtin/packages/apex/package.py
+++ b/var/spack/repos/builtin/packages/apex/package.py
@@ -12,9 +12,9 @@ class Apex(CMakePackage):
homepage = "http://github.com/khuck/xpress-apex"
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
- version('0.1', sha256='bb0be37f8f8133fe492998515bcf66a4df452c28a995d317228fbed9b18e6a92')
+ version('0.1', sha256='efd10f38a61ebdb9f8adee9dc84acaee22d065b2e6eea1888872a7bfca0f4495')
- depends_on("binutils+libiberty")
+ depends_on("binutils+libiberty@:2.33.1")
depends_on("boost@1.54:")
depends_on('cmake@2.8.12:', type='build')
depends_on("activeharmony@4.5:")
diff --git a/var/spack/repos/builtin/packages/apple-libunwind/package.py b/var/spack/repos/builtin/packages/apple-libunwind/package.py
index 9d1db5cca8..680560a99d 100644
--- a/var/spack/repos/builtin/packages/apple-libunwind/package.py
+++ b/var/spack/repos/builtin/packages/apple-libunwind/package.py
@@ -19,7 +19,6 @@ class AppleLibunwind(Package):
# Darwin must be expressed by listing a conflict with every
# platform that isn't Darwin/macOS
conflicts('platform=linux')
- conflicts('platform=bgq')
conflicts('platform=cray')
# Override the fetcher method to throw a useful error message;
diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py
index 3b45c69694..158f76f298 100644
--- a/var/spack/repos/builtin/packages/ascent/package.py
+++ b/var/spack/repos/builtin/packages/ascent/package.py
@@ -35,22 +35,21 @@ class Ascent(Package, CudaPackage):
homepage = "https://github.com/Alpine-DAV/ascent"
git = "https://github.com/Alpine-DAV/ascent.git"
- url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.0/ascent-v0.5.0-src-with-blt.tar.gz"
+ url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.1/ascent-v0.5.1-src-with-blt.tar.gz"
maintainers = ['cyrush']
version('develop',
branch='develop',
- submodules=True)
-
- version('0.5.0', sha256='2837b7371db3ac1bcc31a479d7cf0eb62a503cacadfa4187061502b3c4a89fa0')
+ submodules=True,
+ preferred=True)
###########################################################################
# package variants
###########################################################################
variant("shared", default=True, description="Build Ascent as shared libs")
- variant("test", default=True, description='Enable Ascent unit tests')
+ variant('test', default=True, description='Enable Ascent unit tests')
variant("mpi", default=True, description="Build Ascent MPI Support")
variant("serial", default=True, description="build serial (non-mpi) libraries")
@@ -68,11 +67,15 @@ class Ascent(Package, CudaPackage):
variant("cuda", default=False, description="Build cuda support")
variant("mfem", default=False, description="Build MFEM filter support")
variant("adios", default=False, description="Build Adios filter support")
+ variant("dray", default=False, description="Build with Devil Ray support")
# variants for dev-tools (docs, etc)
- variant("doc", default=False, description="Build Conduit's documentation")
+ variant("doc", default=False, description="Build Ascent's documentation")
- ###########################################################################
+ # variant for BabelFlow runtime
+ variant("babelflow", default=False, description="Build with BabelFlow")
+
+ ##########################################################################
# package dependencies
###########################################################################
@@ -102,29 +105,54 @@ class Ascent(Package, CudaPackage):
depends_on("mpi", when="+mpi")
depends_on("py-mpi4py", when="+mpi+python+shared")
+ #######################
+ # BabelFlow
+ #######################
+ depends_on('babelflow@develop', when='+babelflow+mpi')
+ depends_on('parallelmergetree@develop', when='+babelflow+mpi')
+
#############################
# TPLs for Runtime Features
#############################
- depends_on("vtk-h@0.5.0", when="+vtkh")
- depends_on("vtk-h@0.5.0~openmp", when="+vtkh~openmp")
- depends_on("vtk-h@0.5.0+cuda+openmp", when="+vtkh+cuda+openmp")
- depends_on("vtk-h@0.5.0+cuda~openmp", when="+vtkh+cuda~openmp")
+ depends_on("vtk-h", when="+vtkh")
+ depends_on("vtk-h~openmp", when="+vtkh~openmp")
+ depends_on("vtk-h+cuda+openmp", when="+vtkh+cuda+openmp")
+ depends_on("vtk-h+cuda~openmp", when="+vtkh+cuda~openmp")
- depends_on("vtk-h@0.5.0~shared", when="~shared+vtkh")
- depends_on("vtk-h@0.5.0~shared~openmp", when="~shared+vtkh~openmp")
- depends_on("vtk-h@0.5.0~shared+cuda", when="~shared+vtkh+cuda")
- depends_on("vtk-h@0.5.0~shared+cuda~openmp", when="~shared+vtkh+cuda~openmp")
+ depends_on("vtk-h~shared", when="~shared+vtkh")
+ depends_on("vtk-h~shared~openmp", when="~shared+vtkh~openmp")
+ depends_on("vtk-h~shared+cuda", when="~shared+vtkh+cuda")
+ depends_on("vtk-h~shared+cuda~openmp", when="~shared+vtkh+cuda~openmp")
# mfem
- depends_on("mfem+threadsafe+shared+mpi+conduit", when="+shared+mfem+mpi")
- depends_on("mfem+threadsafe~shared+mpi+conduit", when="~shared+mfem+mpi")
+ depends_on("mfem~threadsafe~openmp+shared+mpi+conduit", when="+shared+mfem+mpi")
+ depends_on("mfem~threadsafe~openmp~shared+mpi+conduit", when="~shared+mfem+mpi")
- depends_on("mfem+threadsafe+shared~mpi+conduit", when="+shared+mfem~mpi")
- depends_on("mfem+threadsafe~shared~mpi+conduit", when="~shared+mfem~mpi")
+ depends_on("mfem~threadsafe~openmp+shared~mpi+conduit", when="+shared+mfem~mpi")
+ depends_on("mfem~threadsafe~openmp~shared~mpi+conduit", when="~shared+mfem~mpi")
depends_on("adios", when="+adios")
+ # devil ray variants with mpi
+ # we have to specify both because mfem makes us
+ depends_on("dray@develop+mpi~test~utils+shared+cuda", when="+dray+mpi+cuda+shared")
+ depends_on("dray@develop+mpi~test~utils+shared+openmp", when="+dray+mpi+openmp+shared")
+ depends_on("dray@develop+mpi~test~utils+shared~openmp~cuda", when="+dray+mpi~openmp~cuda+shared")
+
+ depends_on("dray@develop+mpi~test~utils~shared+cuda", when="+dray+mpi+cuda~shared")
+ depends_on("dray@develop+mpi~test~utils~shared+openmp", when="+dray+mpi+openmp~shared")
+ depends_on("dray@develop+mpi~test~utils~shared~openmp~cuda", when="+dray+mpi~openmp~cuda~shared")
+
+ # devil ray variants without mpi
+ depends_on("dray@develop~mpi~test~utils+shared+cuda", when="+dray~mpi+cuda+shared")
+ depends_on("dray@develop~mpi~test~utils+shared+openmp", when="+dray~mpi+openmp+shared")
+ depends_on("dray@develop~mpi~test~utils+shared~openmp~cuda", when="+dray~mpi~openmp~cuda+shared")
+
+ depends_on("dray@develop~mpi~test~utils~shared+cuda", when="+dray~mpi+cuda~shared")
+ depends_on("dray@develop~mpi~test~utils~shared+openmp", when="+dray~mpi+openmp~shared")
+ depends_on("dray@develop~mpi~test~utils~shared~openmp~cuda", when="+dray~mpi~openmp~cuda~shared")
+
#######################
# Documentation related
#######################
@@ -398,6 +426,16 @@ class Ascent(Package, CudaPackage):
else:
cfg.write(cmake_cache_entry("MPIEXEC",
mpiexe_bin))
+
+ ###################################
+ # BABELFLOW (also depends on mpi)
+ ###################################
+ if "+babelflow" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_BABELFLOW", "ON"))
+ cfg.write(cmake_cache_entry("BabelFlow_DIR",
+ spec['babelflow'].prefix))
+ cfg.write(cmake_cache_entry("PMT_DIR",
+ spec['parallelmergetree'].prefix))
else:
cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
@@ -450,6 +488,15 @@ class Ascent(Package, CudaPackage):
cfg.write("# mfem not built by spack \n")
#######################
+ # Devil Ray
+ #######################
+ if "+dray" in spec:
+ cfg.write("# devil ray from spack \n")
+ cfg.write(cmake_cache_entry("DRAY_DIR", spec['dray'].prefix))
+ else:
+ cfg.write("# devil ray not built by spack \n")
+
+ #######################
# Adios
#######################
diff --git a/var/spack/repos/builtin/packages/aspect/package.py b/var/spack/repos/builtin/packages/aspect/package.py
index e3e613d406..08e2b59abd 100644
--- a/var/spack/repos/builtin/packages/aspect/package.py
+++ b/var/spack/repos/builtin/packages/aspect/package.py
@@ -7,7 +7,7 @@ from spack import *
class Aspect(CMakePackage):
- """Parallel, extendible finite element code to simulate convection in the
+ """Parallel and extensible Finite Element code to simulate convection in the
Earth's mantle and elsewhere."""
homepage = "https://aspect.geodynamics.org"
@@ -17,6 +17,7 @@ class Aspect(CMakePackage):
maintainers = ['tjhei']
version('develop', branch='master')
+ version('2.2.0', sha256='6dc31c4b991c8a96495ba0e9a3c92e57f9305ba94b8dbed3c8c5cfbab91ec5c1')
version('2.1.0', sha256='bd574d60ed9df1f4b98e68cd526a074d0527c0792763187c9851912327d861a3')
version('2.0.1', sha256='0bf5600c42afce9d39c1d285b0654ecfdeb0f30e9f3421651c95f54ca01ac165')
version('2.0.0', sha256='d485c07f54248e824bdfa35f3eec8971b65e8b7114552ffa2c771bc0dede8cc0')
@@ -26,9 +27,11 @@ class Aspect(CMakePackage):
values=('Debug', 'Release'))
variant('gui', default=False, description='Enable the deal.II parameter GUI')
variant('fpe', default=False, description='Enable floating point exception checks')
+ variant('opendap', default=False, description='Enable OPeNDAP support for remote file access')
depends_on('dealii+p4est+trilinos+mpi')
depends_on('dealii-parameter-gui', when='+gui')
+ depends_on('libdap4', when='+opendap')
def cmake_args(self):
return [
diff --git a/var/spack/repos/builtin/packages/atf/package.py b/var/spack/repos/builtin/packages/atf/package.py
new file mode 100644
index 0000000000..25fc399fbf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/atf/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)
+
+from spack import *
+
+
+class Atf(AutotoolsPackage):
+ """ATF, or Automated Testing Framework, is a collection of libraries
+ to write test programs in C, C++ and POSIX shell."""
+
+ homepage = "https://github.com/jmmv/atf"
+ url = "https://github.com/jmmv/atf/archive/atf-0.21.tar.gz"
+
+ version('0.21', sha256='da6b02d6e7242f768a7aaa7b7e52378680456e4bd9a913b6636187079c98f3cd')
+ version('0.20', sha256='3677cf957d7f574835b8bdd385984ba928d5695b3ff28f958e4227f810483ab7')
+ version('0.19', sha256='f9b1d76dad7c34ae61a75638edc517fc05b10fa4c8f97b1d13d739bffee79b16')
+
+ depends_on('m4', type='build')
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
diff --git a/var/spack/repos/builtin/packages/atmi/0001-Remove-relative-link-paths-to-external-libraries.patch b/var/spack/repos/builtin/packages/atmi/0001-Remove-relative-link-paths-to-external-libraries.patch
new file mode 100644
index 0000000000..193cfab620
--- /dev/null
+++ b/var/spack/repos/builtin/packages/atmi/0001-Remove-relative-link-paths-to-external-libraries.patch
@@ -0,0 +1,29 @@
+From 7445b29108ea2f0b3f28f947a1ca627575173292 Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <harmenstoppels@gmail.com>
+Date: Fri, 7 Aug 2020 13:24:00 +0200
+Subject: [PATCH] Remove relative link paths to external libraries
+
+---
+ src/runtime/core/CMakeLists.txt | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/src/runtime/core/CMakeLists.txt b/src/runtime/core/CMakeLists.txt
+index 29abffb..f2cd4b4 100644
+--- a/src/runtime/core/CMakeLists.txt
++++ b/src/runtime/core/CMakeLists.txt
+@@ -109,12 +109,6 @@ target_link_libraries(
+ ${amd_comgr_LIBRARIES}
+ ${LIBELF_LIBRARIES}
+ ${ROCM_LIBRARIES}
+- -L${ROCM_LIBRARIES_DIR}/../hsa/lib
+- -L${ROCM_LIBRARIES_DIR}
+- -Wl,--enable-new-dtags
+- -Wl,-rpath,\$ORIGIN
+- -Wl,-rpath,\$ORIGIN/../../hsa/lib
+- -Wl,-rpath,\$ORIGIN/../../lib
+ )
+
+ # set output dir for .h files
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/atmi/package.py b/var/spack/repos/builtin/packages/atmi/package.py
new file mode 100644
index 0000000000..c6063b3fde
--- /dev/null
+++ b/var/spack/repos/builtin/packages/atmi/package.py
@@ -0,0 +1,42 @@
+# 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 Atmi(CMakePackage):
+ """Asynchronous Task and Memory Interface, or ATMI, is a runtime framework
+ and programming model for heterogeneous CPU-GPU systems. It provides a
+ consistent, declarative API to create task graphs on CPUs and GPUs
+ (integrated and discrete)."""
+
+ homepage = "https://github.com/RadeonOpenCompute/atmi"
+ url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='3fb57d2e583fab82bd0582d0c2bccff059ca91122c18ac49a7770a8bb041a37b')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+ depends_on('cmake@3:', type='build')
+ depends_on('libelf@0.8:', type='link', when='@3.5:')
+
+ for ver in ['3.5.0']:
+ depends_on('comgr@' + ver, type='link', when='@' + ver)
+ depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
+
+ root_cmakelists_dir = 'src'
+
+ patch('0001-Remove-relative-link-paths-to-external-libraries.patch')
+
+ def cmake_args(self):
+ return [
+ '-DROCM_VERSION={0}'.format(self.spec.version)
+ ]
+
+ @run_after('install')
+ def install_stub(self):
+ install('include/atmi_interop_hsa.h', self.prefix.include)
diff --git a/var/spack/repos/builtin/packages/automake/package.py b/var/spack/repos/builtin/packages/automake/package.py
index 0e9d22cb37..aa14dc290e 100644
--- a/var/spack/repos/builtin/packages/automake/package.py
+++ b/var/spack/repos/builtin/packages/automake/package.py
@@ -2,10 +2,6 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-from spack import *
-
-import os
import re
@@ -28,23 +24,13 @@ class Automake(AutotoolsPackage, GNUMirrorPackage):
build_directory = 'spack-build'
- executables = ['automake']
+ executables = ['^automake$']
@classmethod
- def determine_spec_details(cls, prefix, exes_in_prefix):
- exe_to_path = dict(
- (os.path.basename(p), p) for p in exes_in_prefix
- )
- if 'automake' not in exe_to_path:
- return None
-
- exe = spack.util.executable.Executable(exe_to_path['automake'])
- output = exe('--version', output=str)
- if output:
- match = re.search(r'GNU automake\)\s+(\S+)', output)
- if match:
- version_str = match.group(1)
- return Spec('automake@{0}'.format(version_str))
+ def determine_version(cls, exe):
+ output = Executable(exe)('--version', output=str)
+ match = re.search(r'GNU automake\)\s+(\S+)', output)
+ return match.group(1) if match else None
def patch(self):
# The full perl shebang might be too long
diff --git a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
index b9d6524737..8d936a8a3b 100644
--- a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
+++ b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py
@@ -12,7 +12,7 @@ class AwsParallelcluster(PythonPackage):
tool to deploy and manage HPC clusters in the AWS cloud."""
homepage = "https://github.com/aws/aws-parallelcluster"
- url = "https://pypi.io/packages/source/a/aws-parallelcluster/aws-parallelcluster-2.7.0.tar.gz"
+ url = "https://pypi.io/packages/source/a/aws-parallelcluster/aws-parallelcluster-2.8.1.tar.gz"
maintainers = [
'sean-smith', 'demartinofra', 'enrico-usai', 'lukeseawalker', 'rexcsn',
@@ -23,6 +23,8 @@ class AwsParallelcluster(PythonPackage):
'pcluster.config', 'pcluster.networking'
]
+ version('2.8.1', sha256='c183dc3f053bc2445db724e561cea7f633dd5e7d467a7b3f9b2f2f703f7d5d49')
+ version('2.8.0', sha256='4e67539d49fe987884a3ed7198dc13bc8a3a1778f0b3656dfe0ae899138678f2')
version('2.7.0', sha256='7c34995acfcc256a6996541d330575fc711e1fd5735bf3d734d4e96c1dc8df60')
version('2.6.1', sha256='2ce9015d90b5d4dc88b46a44cb8a82e8fb0bb2b4cca30335fc5759202ec1b343')
version('2.6.0', sha256='aaed6962cf5027206834ac24b3d312da91e0f96ae8607f555e12cb124b869f0c')
diff --git a/var/spack/repos/builtin/packages/axom/package.py b/var/spack/repos/builtin/packages/axom/package.py
index add0619a3e..2bb6500cf1 100644
--- a/var/spack/repos/builtin/packages/axom/package.py
+++ b/var/spack/repos/builtin/packages/axom/package.py
@@ -51,7 +51,7 @@ class Axom(CMakePackage, CudaPackage):
homepage = "https://github.com/LLNL/axom"
git = "https://github.com/LLNL/axom.git"
- version('master', branch='master', submodules=True)
+ version('main', branch='main', submodules=True)
version('develop', branch='develop', submodules=True)
version('0.3.3', tag='v0.3.3', submodules="True")
version('0.3.2', tag='v0.3.2', submodules="True")
@@ -65,6 +65,8 @@ class Axom(CMakePackage, CudaPackage):
# -----------------------------------------------------------------------
# Variants
# -----------------------------------------------------------------------
+ variant('shared', default=True,
+ description='Enable build of shared libraries')
variant('debug', default=False,
description='Build debug instead of optimized version')
@@ -96,12 +98,10 @@ class Axom(CMakePackage, CudaPackage):
depends_on("mpi", when="+mpi")
# Libraries
- depends_on("conduit~shared+python", when="+python")
- depends_on("conduit~shared~python", when="~python")
- depends_on("conduit~shared+python+hdf5", when="+hdf5+python")
- depends_on("conduit~shared+python~hdf5", when="~hdf5+python")
- depends_on("conduit~shared~python+hdf5", when="+hdf5~python")
- depends_on("conduit~shared~python~hdf5", when="~hdf5~python")
+ depends_on("conduit+python", when="+python")
+ depends_on("conduit~python", when="~python")
+ depends_on("conduit+hdf5", when="+hdf5")
+ depends_on("conduit~hdf5", when="~hdf5")
# HDF5 needs to be the same as Conduit's
depends_on("hdf5@1.8.19:1.8.999~mpi~cxx~shared~fortran", when="+hdf5")
@@ -124,7 +124,7 @@ class Axom(CMakePackage, CudaPackage):
depends_on('umpire cuda_arch={0}'.format(sm_),
when='+umpire cuda_arch={0}'.format(sm_))
- depends_on("mfem~mpi~hypre~metis~zlib", when="+mfem")
+ depends_on("mfem~mpi~metis~zlib", when="+mfem")
depends_on("python", when="+python")
@@ -471,6 +471,11 @@ class Axom(CMakePackage, CudaPackage):
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
cfg.write(cmake_cache_entry("BLT_EXE_LINKER_FLAGS",
linker_flags, description))
+ if "+shared" in spec:
+ linker_flags = "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath," \
+ + libdir
+ cfg.write(cmake_cache_entry("CMAKE_SHARED_LINKER_FLAGS",
+ linker_flags, description))
if "+cuda" in spec:
cfg.write("#------------------{0}\n".format("-" * 60))
@@ -530,10 +535,17 @@ class Axom(CMakePackage, CudaPackage):
options = []
options.extend(['-C', host_config_path])
+
if self.run_tests is False:
options.append('-DENABLE_TESTS=OFF')
else:
options.append('-DENABLE_TESTS=ON')
+
+ if "+shared" in spec:
+ options.append('-DBUILD_SHARED_LIBS=ON')
+ else:
+ options.append('-DBUILD_SHARED_LIBS=OFF')
+
return options
@run_after('install')
diff --git a/var/spack/repos/builtin/packages/babelflow/package.py b/var/spack/repos/builtin/packages/babelflow/package.py
new file mode 100644
index 0000000000..568f8bf7c8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/babelflow/package.py
@@ -0,0 +1,31 @@
+# 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 Babelflow(CMakePackage):
+ """BabelFlow is an Embedded Domain Specific Language to describe
+ algorithms using a task graph abstraction which allows them to be
+ executed on top of one of several available runtime systems."""
+
+ homepage = "https://github.com/sci-visus/BabelFlow"
+ git = 'https://github.com/sci-visus/BabelFlow.git'
+
+ maintainers = ['spetruzza']
+
+ version('develop',
+ branch='ascent',
+ submodules=True)
+
+ depends_on('mpi')
+
+ variant("shared", default=True, description="Build Babelflow as shared libs")
+
+ def cmake_args(self):
+ args = [
+ '-DBUILD_SHARED_LIBS:BOOL={0}'.format(
+ 'ON' if '+shared' in spec else 'OFF')]
+ return args
diff --git a/var/spack/repos/builtin/packages/bazel/package.py b/var/spack/repos/builtin/packages/bazel/package.py
index 27f2da0597..b64bdc1ac1 100644
--- a/var/spack/repos/builtin/packages/bazel/package.py
+++ b/var/spack/repos/builtin/packages/bazel/package.py
@@ -3,9 +3,6 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
-import platform
-
class Bazel(Package):
"""Bazel is an open-source build and test tool similar to Make, Maven, and
@@ -96,14 +93,7 @@ class Bazel(Package):
variant('nodepfail', default=True, description='Disable failing dependency checks due to injected absolute paths - required for most builds using bazel with spack')
- # https://docs.bazel.build/versions/master/install-compile-source.html#bootstrap-bazel
- # Until https://github.com/spack/spack/issues/14058 is fixed, use jdk to build bazel
- # Strict dependency on java@8 as per
- # https://docs.bazel.build/versions/master/install-compile-source.html#bootstrap-unix-prereq
- if platform.machine() == 'aarch64':
- depends_on('java@8:8.999', type=('build', 'run'))
- else:
- depends_on('jdk@1.8.0:1.8.999', type=('build', 'run'))
+ depends_on('java', type=('build', 'run'))
depends_on('python', type=('build', 'run'))
depends_on('zip', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/bbcp/package.py b/var/spack/repos/builtin/packages/bbcp/package.py
index 70c453825f..0ea5d88a89 100644
--- a/var/spack/repos/builtin/packages/bbcp/package.py
+++ b/var/spack/repos/builtin/packages/bbcp/package.py
@@ -9,13 +9,14 @@ from spack import *
class Bbcp(Package):
"""Securely and quickly copy data from source to target"""
- homepage = "http://www.slac.stanford.edu/~abh/bbcp/"
- git = "http://www.slac.stanford.edu/~abh/bbcp/bbcp.git"
+ homepage = "https://www.slac.stanford.edu/~abh/bbcp/"
+ git = "https://www.slac.stanford.edu/~abh/bbcp/bbcp.git"
- version('git', branch='master')
+ version('master', branch='master')
depends_on('zlib')
depends_on('openssl')
+ depends_on('libnsl')
def install(self, spec, prefix):
cd("src")
diff --git a/var/spack/repos/builtin/packages/bcache/package.py b/var/spack/repos/builtin/packages/bcache/package.py
index 63c42de333..c35493185a 100644
--- a/var/spack/repos/builtin/packages/bcache/package.py
+++ b/var/spack/repos/builtin/packages/bcache/package.py
@@ -22,6 +22,7 @@ class Bcache(MakefilePackage):
depends_on('libuuid')
depends_on('util-linux')
depends_on('gettext')
+ depends_on('pkgconfig', type='build')
def setup_build_environment(self, env):
env.append_flags('LDFLAGS', '-lintl')
diff --git a/var/spack/repos/builtin/packages/berkeley-db/package.py b/var/spack/repos/builtin/packages/berkeley-db/package.py
index fc2fe3c4a9..52c4206d25 100644
--- a/var/spack/repos/builtin/packages/berkeley-db/package.py
+++ b/var/spack/repos/builtin/packages/berkeley-db/package.py
@@ -9,26 +9,34 @@ from spack import *
class BerkeleyDb(AutotoolsPackage):
"""Oracle Berkeley DB"""
- homepage = "http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html"
- url = "http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz"
+ homepage = "https://www.oracle.com/database/technologies/related/berkeleydb.html"
+ url = "http://download.oracle.com/berkeley-db/db-18.1.40.tar.gz"
+ version("18.1.40", sha256="0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8")
+ version('18.1.32', sha256='fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654')
version('6.2.32', sha256='a9c5e2b004a5777aa03510cfe5cd766a4a3b777713406b02809c17c8e0e7a8fb')
version('6.1.29', sha256='b3c18180e4160d97dd197ba1d37c19f6ea2ec91d31bbfaf8972d99ba097af17d')
version('6.0.35', sha256='24421affa8ae436fe427ae4f5f2d1634da83d3d55a5ad6354a98eeedb825de55')
version('5.3.28', sha256='e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628')
configure_directory = 'dist'
- build_directory = 'spack-build'
+ build_directory = 'build_unix'
-# TODO: Gentoo's website removed the BerkeleyDB archives.
-# Please update the function bellow with a valid mirror.
-# Right now this package will fetch from the Oracle website,
-# and versions 5.3.28 and 6.0.35 will fail to download.
-#
-# def url_for_version(self, version):
-# # newer version need oracle login, so get them from gentoo mirror
-# url_fmt = 'http://distfiles.gentoo.org/distfiles/db-{0}.tar.gz'
-# return url_fmt.format(version)
+ def patch(self):
+ # some of the docs are missing in 18.1.40
+ if self.spec.satisfies("@18.1.40"):
+ filter_file(r'bdb-sql', '', 'dist/Makefile.in')
+ filter_file(r'gsg_db_server', '', 'dist/Makefile.in')
def configure_args(self):
- return ['--disable-static', '--enable-cxx', '--enable-stl']
+ return [
+ '--disable-static',
+ '--enable-cxx',
+ '--enable-dbm',
+ '--enable-stl',
+ # compat with system berkeley-db on darwin
+ "--enable-compat185",
+ # SSL support requires OpenSSL, but OpenSSL depends on Perl, which
+ # depends on Berkey DB, creating a circular dependency
+ '--with-repmgr-ssl=no',
+ ]
diff --git a/var/spack/repos/builtin/packages/bison/package.py b/var/spack/repos/builtin/packages/bison/package.py
index 0a51dd583e..6fe36efed9 100644
--- a/var/spack/repos/builtin/packages/bison/package.py
+++ b/var/spack/repos/builtin/packages/bison/package.py
@@ -14,8 +14,17 @@ class Bison(AutotoolsPackage, GNUMirrorPackage):
generalized LR (GLR) parser employing LALR(1) parser tables."""
homepage = "https://www.gnu.org/software/bison/"
- gnu_mirror_path = "bison/bison-3.4.2.tar.gz"
-
+ gnu_mirror_path = "bison/bison-3.6.4.tar.gz"
+
+ version('3.6.4', sha256='8183de64b5383f3634942c7b151bf2577f74273b2731574cdda8a8f3a0ab13e9')
+ version('3.6.3', sha256='4b4c4943931e811f1073006ce3d8ee022a02b11b501e9cbf4def3613b24a3e63')
+ version('3.6.2', sha256='e28ed3aad934de2d1df68be209ac0b454f7b6d3c3d6d01126e5cd2cbadba089a')
+ version('3.6.1', sha256='1120f8bfe2cc13e5e1e3f671dc41b1a535ca5a75a70d5b349c19da9d4389f74d')
+ version('3.6', sha256='f630645e330bde5847266cc5c8194f0135ced75cced150358d9abe572b95f81c')
+ version('3.5.3', sha256='34e201d963156618a0ea5bc87220f660a1e08403dd3c7c7903d4f38db3f40039')
+ version('3.5.2', sha256='b4dbb6dd080f4db7f344f16506502973ca2b15f15c7dbbd1c1c278a456d094fa')
+ version('3.5.1', sha256='4cef2322d96751be1c0d04f3e57adbb30e7fea83af9c00f98efa6e7509296f25')
+ version('3.5', sha256='0b36200b9868ee289b78cefd1199496b02b76899bbb7e84ff1c0733a991313d1')
version('3.4.2', sha256='ff3922af377d514eca302a6662d470e857bd1a591e96a2050500df5a9d59facf')
version('3.4.1', sha256='7007fc89c216fbfaff5525359b02a7e5b612694df5168c74673f67055f015095')
version('3.3.2', sha256='0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1')
diff --git a/var/spack/repos/builtin/packages/blaspp/package.py b/var/spack/repos/builtin/packages/blaspp/package.py
index bcc5e80292..ddacfa22aa 100644
--- a/var/spack/repos/builtin/packages/blaspp/package.py
+++ b/var/spack/repos/builtin/packages/blaspp/package.py
@@ -6,7 +6,7 @@
from spack import *
-class Blaspp(CMakePackage):
+class Blaspp(CMakePackage, CudaPackage):
"""C++ API for the Basic Linear Algebra Subroutines. Developed by the
Innovative Computing Laboratory at the University of Tennessee,
Knoxville."""
@@ -62,6 +62,16 @@ class Blaspp(CMakePackage):
else:
args.append('-DBLAS_LIBRARY_THREADING="sequential"')
+ # `blaspp` has an implicit CUDA detection mechanism. This disables it
+ # in cases where it may backfire. One such case is when `cuda` is
+ # external and marked with `buildable=false`. `blaspp`'s CMake CUDA
+ # detection mechanism finds CUDA but doesn't set certain paths properly
+ # which leads to a build issues [1].
+ #
+ # [1]: https://bitbucket.org/icl/blaspp/issues/6/compile-error-due-to-implicit-cuda
+ if '~cuda' in spec:
+ args.append('-DCMAKE_CUDA_COMPILER=')
+
# Missing:
#
# - acml : BLAS_LIBRARY="AMD ACML"
diff --git a/var/spack/repos/builtin/packages/blat/package.py b/var/spack/repos/builtin/packages/blat/package.py
index 34c9f0da6b..831329eafb 100644
--- a/var/spack/repos/builtin/packages/blat/package.py
+++ b/var/spack/repos/builtin/packages/blat/package.py
@@ -21,5 +21,6 @@ class Blat(Package):
env.set('MACHTYPE', 'x86_64')
def install(self, spec, prefix):
+ filter_file('CC=.*', 'CC={0}'.format(spack_cc), 'inc/common.mk')
mkdirp(prefix.bin)
make("BINDIR=%s" % prefix.bin)
diff --git a/var/spack/repos/builtin/packages/blaze/package.py b/var/spack/repos/builtin/packages/blaze/package.py
index 8801b9b1d6..b8a733f49d 100644
--- a/var/spack/repos/builtin/packages/blaze/package.py
+++ b/var/spack/repos/builtin/packages/blaze/package.py
@@ -21,6 +21,7 @@ class Blaze(CMakePackage):
# Blaze requires at least cmake 3.8.0 for C++14 features.
depends_on('cmake@3.8.0:', type='build')
+ depends_on('blas')
version('master', branch='master')
version('3.5', sha256='f50d4a57796b8012d3e6d416667d9abe6f4d95994eb9deb86cd4491381dec624')
diff --git a/var/spack/repos/builtin/packages/bliss/package.py b/var/spack/repos/builtin/packages/bliss/package.py
index 7878f16cb0..b42e9cac9c 100644
--- a/var/spack/repos/builtin/packages/bliss/package.py
+++ b/var/spack/repos/builtin/packages/bliss/package.py
@@ -24,6 +24,7 @@ class Bliss(Package):
patch("Makefile.spack.patch")
def install(self, spec, prefix):
+ filter_file('__DATE__', ' __DATE__ ', 'bliss.cc')
# The Makefile isn't portable; use our own instead
makeargs = ["-f", "Makefile.spack",
"PREFIX=%s" % prefix, "GMP_PREFIX=%s" % spec["gmp"].prefix]
diff --git a/var/spack/repos/builtin/packages/blktrace/package.py b/var/spack/repos/builtin/packages/blktrace/package.py
index d088439139..bf0b1eae05 100644
--- a/var/spack/repos/builtin/packages/blktrace/package.py
+++ b/var/spack/repos/builtin/packages/blktrace/package.py
@@ -27,5 +27,12 @@ class Blktrace(MakefilePackage):
depends_on('libaio')
+ def edit(self, spec, prefix):
+ makefiles = ['Makefile', 'btreplay/Makefile',
+ 'btt/Makefile', 'iowatcher/Makefile']
+ for m in makefiles:
+ makefile = FileFilter(m)
+ makefile.filter('CC.*=.*', 'CC = {0}'.format(spack_cc))
+
def install(self, spec, prefix):
install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index d0d8691c33..5c88a86c02 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -183,7 +183,7 @@ class Boost(Package):
conflicts('+numpy', when='~python')
# boost-python in 1.72.0 broken with cxxstd=98
- conflicts('cxxstd=98', when='+mpi+python @1.72.0:')
+ conflicts('cxxstd=98', when='+mpi+python @1.72.0')
# Container's Extended Allocators were not added until 1.56.0
conflicts('+container', when='@:1.55.99')
diff --git a/var/spack/repos/builtin/packages/bowtie/fix_narrowing_err_1.3.0.patch b/var/spack/repos/builtin/packages/bowtie/fix_narrowing_err_1.3.0.patch
new file mode 100644
index 0000000000..0da7fe0de3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bowtie/fix_narrowing_err_1.3.0.patch
@@ -0,0 +1,11 @@
+--- a/alphabet.cpp 2020-07-28 15:02:56.137635525 -0400
++++ b/alphabet.cpp 2020-07-28 15:05:32.385589360 -0400
+@@ -274,7 +274,7 @@
+ const char *iupacs = "!ACMGRSVTWYHKDBN!acmgrsvtwyhkdbn";
+
+ signed char mask2iupac[16] = {
+- -1,
++ static_cast<char>(-1),
+ 'A', // 0001
+ 'C', // 0010
+ 'M', // 0011
diff --git a/var/spack/repos/builtin/packages/bowtie/package.py b/var/spack/repos/builtin/packages/bowtie/package.py
index ce7f8b03a0..737ae8c893 100644
--- a/var/spack/repos/builtin/packages/bowtie/package.py
+++ b/var/spack/repos/builtin/packages/bowtie/package.py
@@ -13,6 +13,7 @@ class Bowtie(MakefilePackage):
homepage = "https://sourceforge.net/projects/bowtie-bio/"
url = "https://github.com/BenLangmead/bowtie/archive/v1.2.0.tar.gz"
+ version('1.3.0', sha256='d7c2d982a67884909f284a0ff150b56b20127cd7a1ced461c3c4c03e6a6374c5')
version('1.2.3', sha256='86402114caeacbb3a3030509cb59f0b7e96361c7b3ee2dd50e2cd68200898823')
# The bowtie project git tagged and GitHub released a v1.2.2,
# discovered/fixed a bug, git tagged a v1.2.2_p1 and moved the
@@ -50,7 +51,8 @@ class Bowtie(MakefilePackage):
patch('for_aarch64.patch', when='target=aarch64:')
# measures for narrowing error
- patch('fix_narrowing_err.patch')
+ patch('fix_narrowing_err.patch', when='@:1.2.3')
+ patch('fix_narrowing_err_1.3.0.patch', when='@1.3.0:')
def edit(self, spec, prefix):
makefile = FileFilter('Makefile')
diff --git a/var/spack/repos/builtin/packages/bowtie2/package.py b/var/spack/repos/builtin/packages/bowtie2/package.py
index 8100b9dfed..a5752dda48 100644
--- a/var/spack/repos/builtin/packages/bowtie2/package.py
+++ b/var/spack/repos/builtin/packages/bowtie2/package.py
@@ -14,6 +14,7 @@ class Bowtie2(Package):
homepage = "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml"
url = "http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.3.1/bowtie2-2.3.1-source.zip"
+ version('2.4.1', sha256='566d6fb01a361883747103d797308ee4bdb70f6db7d27bfc72a520587815df22')
version('2.3.5.1', sha256='335c8dafb1487a4a9228ef922fbce4fffba3ce8bc211e2d7085aac092155a53f')
version('2.3.5', sha256='2b6b2c46fbb5565ba6206b47d07ece8754b295714522149d92acebefef08347b')
version('2.3.4.1', sha256='a1efef603b91ecc11cfdb822087ae00ecf2dd922e03c85eea1ed7f8230c119dc')
diff --git a/var/spack/repos/builtin/packages/brltty/package.py b/var/spack/repos/builtin/packages/brltty/package.py
index 25757b259f..d31d7ae3bf 100644
--- a/var/spack/repos/builtin/packages/brltty/package.py
+++ b/var/spack/repos/builtin/packages/brltty/package.py
@@ -24,6 +24,7 @@ class Brltty(AutotoolsPackage):
depends_on('libtool', type='build')
depends_on('m4', type='build')
depends_on('expat')
+ depends_on('alsa-lib', type='link')
def autoreconf(self, spec, prefix):
bash = which('bash')
diff --git a/var/spack/repos/builtin/packages/brpc/package.py b/var/spack/repos/builtin/packages/brpc/package.py
index ba1417babf..d5481d300b 100644
--- a/var/spack/repos/builtin/packages/brpc/package.py
+++ b/var/spack/repos/builtin/packages/brpc/package.py
@@ -22,5 +22,6 @@ class Brpc(CMakePackage):
depends_on('gflags')
depends_on('protobuf')
depends_on('leveldb')
+ depends_on('openssl')
patch('narrow.patch', sha256='d7393029443853ddda6c09e3d2185ac2f60920a36a8b685eb83b6b80c1535539', when='@:0.9.7')
diff --git a/var/spack/repos/builtin/packages/bwa/bwa_for_aarch64.patch b/var/spack/repos/builtin/packages/bwa/bwa_for_aarch64.patch
new file mode 100644
index 0000000000..2bebcb5023
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bwa/bwa_for_aarch64.patch
@@ -0,0 +1,13 @@
+diff --git a/ksw.c b/ksw.c
+index 9793e5e..2eecef4 100644
+--- a/ksw.c
++++ b/ksw.c
+@@ -26,7 +26,7 @@
+ #include <stdlib.h>
+ #include <stdint.h>
+ #include <assert.h>
+-#include <emmintrin.h>
++#include <SSE2NEON.h>
+ #include "ksw.h"
+
+ #ifdef USE_MALLOC_WRAPPERS
diff --git a/var/spack/repos/builtin/packages/bwa/package.py b/var/spack/repos/builtin/packages/bwa/package.py
index 8447f7848f..5f2d3ff178 100644
--- a/var/spack/repos/builtin/packages/bwa/package.py
+++ b/var/spack/repos/builtin/packages/bwa/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
+import platform
class Bwa(Package):
@@ -19,10 +20,20 @@ class Bwa(Package):
url='https://github.com/lh3/bwa/archive/0.7.12.tar.gz')
depends_on('zlib')
+ depends_on('sse2neon', when='target=aarch64:')
+
+ patch('bwa_for_aarch64.patch', sha256='b77213b16cf8760f01e32f9a0b2cd8988cf7bac48a11267100f703cbd55c4bfd', when='target=aarch64:')
def install(self, spec, prefix):
- filter_file(r'^INCLUDES=',
- "INCLUDES=-I%s" % spec['zlib'].prefix.include, 'Makefile')
+ zlib_inc_path = spec['zlib'].prefix.include
+ if platform.machine() == 'aarch64':
+ sse2neon_inc_path = spec['sse2neon'].prefix.include
+ filter_file(r'^INCLUDES=', "INCLUDES=-I%s -I%s" %
+ (zlib_inc_path, sse2neon_inc_path),
+ 'Makefile')
+ else:
+ filter_file(r'^INCLUDES=', "INCLUDES=-I%s" %
+ zlib_inc_path, 'Makefile')
filter_file(r'^LIBS=', "LIBS=-L%s " % spec['zlib'].prefix.lib,
'Makefile')
make()
diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py
index fb12a78704..3aca96fbe8 100644
--- a/var/spack/repos/builtin/packages/caliper/package.py
+++ b/var/spack/repos/builtin/packages/caliper/package.py
@@ -19,6 +19,7 @@ class Caliper(CMakePackage):
git = "https://github.com/LLNL/Caliper.git"
version('master')
+ version('2.4.0', tag='v2.4.0')
version('2.3.0', tag='v2.3.0')
version('2.2.0', tag='v2.2.0')
version('2.1.1', tag='v2.1.1')
@@ -45,22 +46,21 @@ class Caliper(CMakePackage):
description='Enable PAPI service')
variant('libpfm', default=is_linux,
description='Enable libpfm (perf_events) service')
- # gotcha doesn't work on Mac
- variant('gotcha', default=sys.platform != 'darwin',
+ # Gotcha is Linux-only
+ variant('gotcha', default=is_linux,
description='Enable GOTCHA support')
variant('sampler', default=is_linux,
description='Enable sampling support on Linux')
variant('sosflow', default=False,
description='Enable SOSflow support')
- depends_on('adiak@0.1:', when='@2.2: +adiak')
-
- depends_on('gotcha@1.0.2:1.0.99', when='+gotcha')
+ depends_on('adiak@0.1:0.99', when='@2.2: +adiak')
depends_on('dyninst@9.3.0:9.99', when='@:1.99 +dyninst')
depends_on('dyninst@10.0:10.99', when='@2: +dyninst')
- depends_on('papi@5.3:5.99', when='+papi')
+ depends_on('papi@5.3:5.99', when='@:2.2 +papi')
+ depends_on('papi@5.3:6.99', when='@2.3: +papi')
depends_on('libpfm4@4.8:4.99', when='+libpfm')
@@ -69,11 +69,11 @@ class Caliper(CMakePackage):
depends_on('sosflow@spack', when='@1.0:1.99+sosflow')
- depends_on('cmake', type='build')
- depends_on('python@3:', type='build')
+ depends_on('cmake', type='build')
+ depends_on('python', type='build')
# sosflow support not yet in 2.0
- conflicts('+sosflow', '@2.0.0:2.3.99')
+ conflicts('+sosflow', '@2.0.0:2.4.99')
conflicts('+adiak', '@:2.1.99')
def cmake_args(self):
@@ -96,8 +96,6 @@ class Caliper(CMakePackage):
'-DWITH_MPI=%s' % ('On' if '+mpi' in spec else 'Off')
]
- if '+gotcha' in spec:
- args.append('-DUSE_EXTERNAL_GOTCHA=True')
if '+papi' in spec:
args.append('-DPAPI_PREFIX=%s' % spec['papi'].prefix)
if '+libpfm' in spec:
diff --git a/var/spack/repos/builtin/packages/camx/package.py b/var/spack/repos/builtin/packages/camx/package.py
index b65ffeaf38..473c60ca05 100644
--- a/var/spack/repos/builtin/packages/camx/package.py
+++ b/var/spack/repos/builtin/packages/camx/package.py
@@ -60,6 +60,10 @@ class Camx(MakefilePackage):
def edit(self, spec, prefix):
makefile = FileFilter('Makefile')
+ if spec.target.family == 'aarch64':
+ makefile.filter('-mcmodel=medium', '-mcmodel=large')
+ makefile = FileFilter('./MPI/util/Makefile')
+ makefile.filter('-mcmodel=medium', '-mcmodel=large')
# Support Intel MPI.
if spec['mpi'].name == 'intel-mpi':
diff --git a/var/spack/repos/builtin/packages/cantera/package.py b/var/spack/repos/builtin/packages/cantera/package.py
index 4b38ccc7b3..773cc6d8cf 100644
--- a/var/spack/repos/builtin/packages/cantera/package.py
+++ b/var/spack/repos/builtin/packages/cantera/package.py
@@ -30,7 +30,7 @@ class Cantera(SConsPackage):
depends_on('googletest+gmock', when='@2.3.0:')
depends_on('eigen', when='@2.3.0:')
depends_on('boost')
- depends_on('sundials@:3.1.2', when='+sundials') # must be compiled with -fPIC
+ depends_on('sundials@:3.1.2+lapack', when='+sundials') # must be compiled with -fPIC
depends_on('blas')
depends_on('lapack')
diff --git a/var/spack/repos/builtin/packages/canu/package.py b/var/spack/repos/builtin/packages/canu/package.py
index 2ab5cd0084..09faac1e76 100644
--- a/var/spack/repos/builtin/packages/canu/package.py
+++ b/var/spack/repos/builtin/packages/canu/package.py
@@ -19,8 +19,10 @@ class Canu(MakefilePackage):
version('1.5', sha256='06e2c6d7b9f6d325b3b468e9c1a5de65e4689aed41154f2cee5ccd2cef0d5cf6')
depends_on('gnuplot', type='run')
- depends_on('jdk', type='run')
+ depends_on('java', type='run')
depends_on('perl', type='run')
+ # build fail when using boost@1.71.0:1.73.0 by canu@1.8:2.0
+ depends_on('boost@:1.70.0')
build_directory = 'src'
build_targets = ['clean']
diff --git a/var/spack/repos/builtin/packages/cardioid/package.py b/var/spack/repos/builtin/packages/cardioid/package.py
index c95035b5bf..6395620d6e 100644
--- a/var/spack/repos/builtin/packages/cardioid/package.py
+++ b/var/spack/repos/builtin/packages/cardioid/package.py
@@ -25,8 +25,8 @@ class Cardioid(CMakePackage):
depends_on('lapack')
depends_on('mpi')
depends_on('cuda', when="+cuda")
- depends_on('mfem+hypre+superlu-dist+lapack', when="+mfem~cuda")
- depends_on('mfem+hypre+superlu-dist+lapack^hypre+cuda', when="+mfem+cuda")
+ depends_on('mfem+mpi+superlu-dist+lapack', when="+mfem~cuda")
+ depends_on('mfem+mpi+superlu-dist+lapack^hypre+cuda', when="+mfem+cuda")
depends_on('cmake@3.1:', type='build')
depends_on('perl', type='build')
diff --git a/var/spack/repos/builtin/packages/cassandra/package.py b/var/spack/repos/builtin/packages/cassandra/package.py
index d6c4781cb4..f80b3c173b 100644
--- a/var/spack/repos/builtin/packages/cassandra/package.py
+++ b/var/spack/repos/builtin/packages/cassandra/package.py
@@ -17,7 +17,7 @@ class Cassandra(Package):
version('4.0-alpha2', sha256='6a8e99d8bc51efd500981c85c6aa547387b2fdbedecd692308f4632dbc1de3ba')
version('4.0-alpha1', sha256='2fdf5e3d6c03a29d24a09cd52bb17575e5faccdc4c75a07edd63a9bf4f740105')
- version('3.11.6', sha256='ce34edebd1b6bb35216ae97bd06d3efc338c05b273b78267556a99f85d30e45b', preferred=True)
+ version('3.11.6', sha256='a739ad036d58f95b5526c481b20773cfcc9ccf3c9dc0b50943d9f2306b56e824', preferred=True)
version('3.11.5', sha256='0ee3da12a2be86d7e03203fcc56c3589ddb38347b9cd031495a2b7fcf639fea6')
depends_on('java', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/cctools/package.py b/var/spack/repos/builtin/packages/cctools/package.py
index ade997bbb8..b92bc65187 100644
--- a/var/spack/repos/builtin/packages/cctools/package.py
+++ b/var/spack/repos/builtin/packages/cctools/package.py
@@ -45,6 +45,10 @@ class Cctools(AutotoolsPackage):
f = 'dttools/src/memfdexe.c'
kwargs = {'ignore_absent': False, 'backup': True, 'string': True}
filter_file(before, after, f, **kwargs)
+ if self.spec.satisfies('%fj'):
+ makefiles = ['chirp/src/Makefile', 'grow/src/Makefile']
+ for m in makefiles:
+ filter_file('-fstack-protector-all', '', m)
def configure_args(self):
args = []
diff --git a/var/spack/repos/builtin/packages/chai/package.py b/var/spack/repos/builtin/packages/chai/package.py
new file mode 100644
index 0000000000..66296f5ddf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/chai/package.py
@@ -0,0 +1,61 @@
+# Copyright 2013-2019 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 Chai(CMakePackage, CudaPackage):
+ """
+ Copy-hiding array interface for data migration between memory spaces
+ """
+
+ homepage = "https://github.com/LLNL/CHAI"
+ git = "https://github.com/LLNL/CHAI.git"
+
+ version('develop', branch='develop', submodules='True')
+ version('master', branch='main', submodules='True')
+ version('2.1.1', tag='v2.1.1', submodules='True')
+ version('2.1.0', tag='v2.1.0', submodules='True')
+ version('2.0.0', tag='v2.0.0', submodules='True')
+ version('1.2.0', tag='v1.2.0', submodules='True')
+ version('1.1.0', tag='v1.1.0', submodules='True')
+ version('1.0', tag='v1.0', submodules='True')
+
+ variant('shared', default=True, description='Build Shared Libs')
+ variant('raja', default=False, description='Build plugin for RAJA')
+
+ depends_on('cmake@3.8:', type='build')
+ depends_on('umpire')
+ depends_on('raja', when="+raja")
+
+ depends_on('cmake@3.9:', type='build', when="+cuda")
+ depends_on('umpire+cuda', when="+cuda")
+ depends_on('raja+cuda', when="+raja+cuda")
+
+ def cmake_args(self):
+ spec = self.spec
+
+ options = []
+
+ if '+cuda' in spec:
+ options.extend([
+ '-DENABLE_CUDA=ON',
+ '-DCUDA_TOOLKIT_ROOT_DIR=%s' % (spec['cuda'].prefix)])
+
+ if not spec.satisfies('cuda_arch=none'):
+ cuda_arch = spec.variants['cuda_arch'].value
+ options.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch[0]))
+ flag = '-arch sm_{0}'.format(cuda_arch[0])
+ options.append('-DCMAKE_CUDA_FLAGS:STRING={0}'.format(flag))
+ else:
+ options.append('-DENABLE_CUDA=OFF')
+
+ options.append('-Dumpire_DIR:PATH='
+ + spec['umpire'].prefix.share.umpire.cmake)
+
+ options.append('-DENABLE_TESTS={0}'.format(
+ 'ON' if self.run_tests else 'OFF'))
+
+ return options
diff --git a/var/spack/repos/builtin/packages/changa/fix_configure_path.patch b/var/spack/repos/builtin/packages/changa/fix_configure_path.patch
new file mode 100644
index 0000000000..f986927209
--- /dev/null
+++ b/var/spack/repos/builtin/packages/changa/fix_configure_path.patch
@@ -0,0 +1,13 @@
+diff --git a/configure b/configure
+index 04f1a59..602c6cc 100755
+--- a/configure
++++ b/configure
+@@ -2434,7 +2434,7 @@ if test $($CHARMC -V | awk '{print $3}') -lt $MINIMUM_CHARM_VERSION; then
+ fi
+
+ CHARM_PATH=${CHARMC%/bin/charmc}
+-CONV_CONFIG=${CHARM_PATH}/tmp/conv-config.sh
++CONV_CONFIG=${CHARM_PATH}/include/conv-config.sh
+ CHARMINC=${CHARM_PATH}/include
+
+ . ${CONV_CONFIG}
diff --git a/var/spack/repos/builtin/packages/changa/package.py b/var/spack/repos/builtin/packages/changa/package.py
new file mode 100644
index 0000000000..a6adb48c38
--- /dev/null
+++ b/var/spack/repos/builtin/packages/changa/package.py
@@ -0,0 +1,46 @@
+# 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 Changa(AutotoolsPackage):
+ """ChaNGa (Charm N-body GrAvity solver) is a code to perform collisionless
+ N-body simulations. It can perform cosmological simulations with periodic
+ boundary conditions in comoving coordinates or simulations of isolated
+ stellar systems. It also can include hydrodynamics using the Smooth
+ Particle Hydrodynamics (SPH) technique. It uses a Barnes-Hut tree to
+ calculate gravity, with hexadecapole expansion of nodes and
+ Ewald summation for periodic forces. Timestepping is done with a leapfrog
+ integrator with individual timesteps for each particle."""
+
+ homepage = "http://faculty.washington.edu/trq/hpcc/tools/changa.html"
+ url = "https://github.com/N-BodyShop/changa/archive/v3.4.tar.gz"
+ git = "https://github.com/N-BodyShop/changa.git"
+
+ version('master', branch='master')
+ version('3.4', sha256='c2bceb6ac00025dfd704bb6960bc17c6df7c746872185845d1e75f47e6ce2a94')
+ patch("fix_configure_path.patch")
+
+ resource(
+ name="utility",
+ url="https://github.com/N-BodyShop/utility/archive/v3.4.tar.gz",
+ sha256="19f9f09023ce9d642e848a36948788fb29cd7deb8e9346cdaac4c945f1416667",
+ placement="utility"
+ )
+
+ depends_on("charmpp build-target=ChaNGa")
+
+ def configure_args(self):
+ args = []
+ args.append("STRUCT_DIR={0}/utility/structures"
+ .format(self.stage.source_path))
+ return args
+
+ def install(self, spec, prefix):
+ with working_dir(self.build_directory):
+ mkdirp(prefix.bin)
+ install('ChaNGa', prefix.bin)
+ install('charmrun', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/charliecloud/package.py b/var/spack/repos/builtin/packages/charliecloud/package.py
index 119e014176..17e76b21a4 100644
--- a/var/spack/repos/builtin/packages/charliecloud/package.py
+++ b/var/spack/repos/builtin/packages/charliecloud/package.py
@@ -15,6 +15,7 @@ class Charliecloud(AutotoolsPackage):
git = "https://github.com/hpc/charliecloud.git"
version('master', branch='master')
+ version('0.17', sha256='9ccb34243e17cbb9c65e44fba66293ed65c39db0422c7d9bd6d1c314c3896723')
version('0.16', sha256='6cdc21d414b6173090ac0a4c2c62a2a038c81659a75ae8f837b332bb7e6e9090')
version('0.15', sha256='2163420d43c934151c4f44a188313bdb7f79e576d5a86ba64b9ea45f784b9921')
version('0.14', sha256='4ae23c2d6442949e16902f9d5604dbd1d6059aeb5dd461b11fc5c74d49dcb194')
@@ -25,7 +26,7 @@ class Charliecloud(AutotoolsPackage):
depends_on('automake', type='build')
depends_on('libtool', type='build')
- # Use skopeo and umoci for older ch-grow version dependencies.
+ # Use skopeo and umoci for older (unsupported) ch-grow versions.
depends_on('skopeo', type='run', when='@0.10:0.13')
depends_on('umoci', type='run', when='@0.10:0.13')
depends_on('python+libxml2', type='run', when='@0.10:0.13')
@@ -51,9 +52,22 @@ class Charliecloud(AutotoolsPackage):
def configure_args(self):
args = []
+ py_path = self.spec['python'].command.path
+
+ if (self.spec.satisfies('@0.13')):
+ args.append('--with-python-shebang={0}'.format(py_path))
+ else:
+ args.append('--with-python={0}'.format(py_path))
if '+docs' in self.spec:
- args.append('--enable-html')
+ sphinx_bin = '{0}'.format(self.spec['py-sphinx'].prefix.bin)
+ if (self.spec.satisfies('@0.13')):
+ # 0.13 fails when we try to build it with html.
+ args.append('--disable-html')
+ else:
+ args.append('--enable-html')
+ args.append('--with-sphinx-build={0}'.format(sphinx_bin.join(
+ 'sphinx-build')))
else:
args.append('--disable-html')
diff --git a/var/spack/repos/builtin/packages/charmpp/package.py b/var/spack/repos/builtin/packages/charmpp/package.py
index a6c60ef11d..3afeb6cadb 100644
--- a/var/spack/repos/builtin/packages/charmpp/package.py
+++ b/var/spack/repos/builtin/packages/charmpp/package.py
@@ -23,6 +23,7 @@ class Charmpp(Package):
version("develop", branch="master")
+ version('6.10.2', sha256='7abb4cace8aebdfbb8006eac03eb766897c009cfb919da0d0a33f74c3b4e6deb')
version('6.10.1', sha256='ab96198105daabbb8c8bdf370f87b0523521ce502c656cb6cd5b89f69a2c70a8')
version('6.10.0', sha256='7c526a78aa0c202b7f0418b345138e7dc40496f0bb7b9e301e0381980450b25c')
version("6.9.0", sha256="85ed660e46eeb7a6fc6b32deab08226f647c244241948f6b592ebcd2b6050cbd")
@@ -52,7 +53,7 @@ class Charmpp(Package):
"build-target",
default="LIBS",
# AMPI also builds charm++, LIBS also builds AMPI and charm++
- values=("charm++", "AMPI", "LIBS"),
+ values=("charm++", "AMPI", "LIBS", "ChaNGa"),
description="Specify the target to build"
)
@@ -168,9 +169,6 @@ class Charmpp(Package):
("win", "x86_64", "netlrts"): "netlrts-win-x86_64",
("cnl", "x86_64", "gni"): "gni-crayxc",
("cnl", "x86_64", "mpi"): "mpi-crayxc",
- ("cnk", "x86_64", "mpi"): "mpi-bluegeneq",
- ("cnk", "x86_64", "pami"): "pami-bluegeneq",
- ("cnk", "x86_64", "pamilrts"): "pamilrts-bluegeneq",
}
if (plat, mach, comm) not in versions:
raise InstallError(
@@ -217,7 +215,7 @@ class Charmpp(Package):
present on the system")
target = spec.variants["build-target"].value
- builddir = prefix + "/" + str(self.charmarch)
+ builddir = prefix
# We assume that Spack's compiler wrappers make this work. If
# not, then we need to query the compiler vendor from Spack
diff --git a/var/spack/repos/builtin/packages/clamav/package.py b/var/spack/repos/builtin/packages/clamav/package.py
index 567fd38555..cb67e39c1b 100644
--- a/var/spack/repos/builtin/packages/clamav/package.py
+++ b/var/spack/repos/builtin/packages/clamav/package.py
@@ -22,6 +22,7 @@ class Clamav(AutotoolsPackage):
depends_on('yara')
depends_on('zlib')
depends_on('bzip2')
+ depends_on('curl', type='link')
def configure_args(self):
spec = self.spec
diff --git a/var/spack/repos/builtin/packages/claw/package.py b/var/spack/repos/builtin/packages/claw/package.py
index b15f5324e7..0c43205a82 100644
--- a/var/spack/repos/builtin/packages/claw/package.py
+++ b/var/spack/repos/builtin/packages/claw/package.py
@@ -15,6 +15,7 @@ class Claw(CMakePackage):
git = 'https://github.com/claw-project/claw-compiler.git'
maintainers = ['clementval']
+ version('2.0.2', commit='8c012d58484d8caf79a4fe45597dc74b4367421c', submodules=True)
version('2.0.1', commit='f5acc929df74ce66a328aa4eda9cc9664f699b91', submodules=True)
version('2.0', commit='53e705b8bfce40a5c5636e8194a7622e337cf4f5', submodules=True)
version('1.2.3', commit='eaf5e5fb39150090e51bec1763170ce5c5355198', submodules=True)
diff --git a/var/spack/repos/builtin/packages/cmake/intel-cxx-bootstrap.patch b/var/spack/repos/builtin/packages/cmake/intel-cxx-bootstrap.patch
new file mode 100644
index 0000000000..d5475b2e54
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cmake/intel-cxx-bootstrap.patch
@@ -0,0 +1,11 @@
+--- a/bootstrap 2020-07-24 11:02:56.488414260 +0200
++++ b/bootstrap 2020-07-24 11:03:20.763775094 +0200
+@@ -1179,7 +1179,7 @@
+ }
+ #endif
+
+-#if (__cplusplus >= 201703L || defined(__INTEL_COMPILER) && defined(__cpp_if_constexpr))
++#if (__cplusplus >= 201703L || defined(__INTEL_COMPILER) && defined(__cpp_deduction_guides))
+ #include <optional>
+ template <typename T,
+ typename std::invoke_result<decltype(&T::get), T>::type = nullptr>
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index 20ade16950..b687f75870 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -2,26 +2,26 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-from spack import *
-
import re
-import os
class Cmake(Package):
"""A cross-platform, open-source build system. CMake is a family of
- tools designed to build, test and package software."""
+ tools designed to build, test and package software.
+ """
homepage = 'https://www.cmake.org'
- url = 'https://github.com/Kitware/CMake/releases/download/v3.15.5/cmake-3.15.5.tar.gz'
+ url = 'https://github.com/Kitware/CMake/releases/download/v3.15.5/cmake-3.15.5.tar.gz'
maintainers = ['chuckatkins']
- executables = ['cmake']
+ executables = ['^cmake$']
+ version('3.18.1', sha256='c0e3338bd37e67155b9d1e9526fec326b5c541f74857771b7ffed0c46ad62508')
+ version('3.18.0', sha256='83b4ffcb9482a73961521d2bafe4a16df0168f03f56e6624c419c461e5317e29')
version('3.17.3', sha256='0bd60d512275dc9f6ef2a2865426a184642ceb3761794e6b65bff233b91d8c40')
version('3.17.1', sha256='3aa9114485da39cbd9665a0bfe986894a282d5f0882b1dea960a739496620727')
version('3.17.0', sha256='b74c05b55115eacc4fa2b77a814981dbda05cdc95a53e279fe16b7b272f00847')
version('3.16.5', sha256='5f760b50b8ecc9c0c37135fae5fbf00a2fef617059aa9d61c1bb91653e5a8bfc')
+ version('3.16.3', sha256='e54f16df9b53dac30fd626415833a6e75b0e47915393843da1825b096ee60668')
version('3.16.2', sha256='8c09786ec60ca2be354c29829072c38113de9184f29928eb9da8446a5f2ce6a9')
version('3.16.1', sha256='a275b3168fa8626eca4465da7bb159ff07c8c6cb0fb7179be59e12cbdfa725fd')
version('3.16.0', sha256='6da56556c63cab6e9a3e1656e8763ed4a841ac9859fefb63cbe79472e67e8c5f')
@@ -135,6 +135,10 @@ class Cmake(Package):
# https://gitlab.kitware.com/cmake/cmake/issues/16226
patch('intel-c-gnu11.patch', when='@3.6.0:3.6.1')
+ # Cannot build with Intel again, should be fixed in 3.17.4 and 3.18.1
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/21013
+ patch('intel-cxx-bootstrap.patch', when='@3.17.0:3.17.3,3.18.0')
+
# https://gitlab.kitware.com/cmake/cmake/issues/18232
patch('nag-response-files.patch', when='@3.7:3.12')
@@ -157,20 +161,10 @@ class Cmake(Package):
phases = ['bootstrap', 'build', 'install']
@classmethod
- def determine_spec_details(cls, prefix, exes_in_prefix):
- exe_to_path = dict(
- (os.path.basename(p), p) for p in exes_in_prefix
- )
- if 'cmake' not in exe_to_path:
- return None
-
- cmake = spack.util.executable.Executable(exe_to_path['cmake'])
- output = cmake('--version', output=str)
- if output:
- match = re.search(r'cmake.*version\s+(\S+)', output)
- if match:
- version_str = match.group(1)
- return Spec('cmake@{0}'.format(version_str))
+ def determine_version(cls, exe):
+ output = Executable(exe)('--version', output=str)
+ match = re.search(r'cmake.*version\s+(\S+)', output)
+ return match.group(1) if match else None
def flag_handler(self, name, flags):
if name == 'cxxflags' and self.compiler.name == 'fj':
diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py
new file mode 100644
index 0000000000..04af80ada6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/comgr/package.py
@@ -0,0 +1,34 @@
+# 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 Comgr(CMakePackage):
+ """This provides various Lightning Compiler related services. It currently
+ contains one library, the Code Object Manager (Comgr)"""
+
+ homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+ url = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='25c963b46a82d76d55b2302e0e18aac8175362656a465549999ad13d07b689b9')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ depends_on('cmake@3:', type='build')
+
+ for ver in ['3.5.0']:
+ depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver)
+ depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver)
+ depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)
+
+ depends_on('zlib', type='link')
+ depends_on('z3', type='link')
+ depends_on('ncurses', type='link')
+
+ root_cmakelists_dir = 'lib/comgr'
diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py
index 0e2ae11f58..8aae3db8b2 100644
--- a/var/spack/repos/builtin/packages/conduit/package.py
+++ b/var/spack/repos/builtin/packages/conduit/package.py
@@ -85,7 +85,7 @@ class Conduit(Package):
# CMake
#######################
# cmake 3.8.2 or newer
- depends_on("cmake@3.8.2:", type='build')
+ depends_on("cmake@3.8.2:3.17.9999", type='build')
#######################
# Python
@@ -408,7 +408,7 @@ class Conduit(Package):
cfg.write(cmake_cache_entry("CMAKE_Fortran_COMPILER_ID",
"XL"))
- if 'xl@coral' in os.getenv('SPACK_COMPILER_SPEC', ""):
+ if (f_compiler is not None) and ("xlf" in f_compiler):
# Fix missing std linker flag in xlc compiler
flags = "-WF,-C! -qxlf2003=polymorphic"
cfg.write(cmake_cache_entry("BLT_FORTRAN_FLAGS",
@@ -416,10 +416,15 @@ class Conduit(Package):
# Grab lib directory for the current fortran compiler
libdir = os.path.join(os.path.dirname(
os.path.dirname(f_compiler)), "lib")
- flags = "${BLT_EXE_LINKER_FLAGS} -lstdc++ "
- flags += "-Wl,-rpath,{0} -Wl,-rpath,{0}64".format(libdir)
+ rpaths = "-Wl,-rpath,{0} -Wl,-rpath,{0}64".format(libdir)
+
+ flags = "${BLT_EXE_LINKER_FLAGS} -lstdc++ " + rpaths
cfg.write(cmake_cache_entry("BLT_EXE_LINKER_FLAGS",
flags))
+ if "+shared" in spec:
+ flags = "${CMAKE_SHARED_LINKER_FLAGS} " + rpaths
+ cfg.write(cmake_cache_entry(
+ "CMAKE_SHARED_LINKER_FLAGS", flags))
#######################
# Python
diff --git a/var/spack/repos/builtin/packages/couchdb/package.py b/var/spack/repos/builtin/packages/couchdb/package.py
new file mode 100644
index 0000000000..c151b963f4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/couchdb/package.py
@@ -0,0 +1,41 @@
+# 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 Couchdb(AutotoolsPackage):
+ """A CouchDB server hosts named databases, which store documents. Each document
+ is uniquely named in the database, and CouchDB provides a RESTful HTTP API
+ for reading and updating (add, edit, delete) database documents."""
+
+ homepage = "https://couchdb.apache.org/"
+ url = "http://archive.apache.org/dist/couchdb/source/3.1.0/apache-couchdb-3.1.0.tar.gz"
+
+ version('3.1.0', sha256='4867c796a1ff6f0794b7bd3863089ea6397bd5c47544f9b97db8cdacff90f8ed')
+ version('3.0.1', sha256='08d61d5c779957d074d5097f28a2dfc9eb518af3c479d5318135ff31212cc522')
+ version('3.0.0', sha256='d109bb1a70fe746c04a9bf79a2bb1096cb949c750c29dbd196e9c2efd4167fd9')
+
+ depends_on('icu4c')
+ depends_on('openssl')
+ depends_on('curl')
+ depends_on('node-js@6:')
+ depends_on('mozjs@1.8.5')
+ depends_on('gmake', type='build')
+ depends_on('help2man', type='build')
+ depends_on('python', type=('build', 'run'))
+ depends_on('erlang@:22.99', type=('build', 'run'))
+
+ def setup_build_environment(self, env):
+ env.set('CPATH', self.spec['mozjs'].prefix.include.js)
+
+ def configure_args(self):
+ args = ['--disable-docs']
+ return args
+
+ def install(self, spec, prefix):
+ make('release')
+ with working_dir('rel/couchdb/'):
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py
index 18c721220a..1ea4d44640 100644
--- a/var/spack/repos/builtin/packages/cp2k/package.py
+++ b/var/spack/repos/builtin/packages/cp2k/package.py
@@ -34,6 +34,8 @@ class Cp2k(MakefilePackage, CudaPackage):
variant('smm', default='libxsmm', values=('libxsmm', 'libsmm', 'blas'),
description='Library for small matrix multiplications')
variant('plumed', default=False, description='Enable PLUMED support')
+ variant('libint', default=True,
+ description='Use libint, required for HFX (and possibly others)')
variant('libxc', default=True,
description='Support additional functionals via libxc')
variant('pexsi', default=False,
@@ -82,14 +84,15 @@ class Cp2k(MakefilePackage, CudaPackage):
# use pkg-config (support added in libxsmm-1.10) to link to libxsmm
depends_on('pkgconfig', type='build', when='smm=libxsmm')
# ... and in CP2K 7.0+ for linking to libint2
- depends_on('pkgconfig', type='build', when='@7.0:')
+ depends_on('pkgconfig', type='build', when='+libint@7.0:')
+ depends_on('pkgconfig', type='build', when='+libxc@7.0:')
# libint & libxc are always statically linked
- depends_on('libint@1.1.4:1.2', when='@3.0:6.9', type='build')
+ depends_on('libint@1.1.4:1.2', when='+libint@3.0:6.9', type='build')
for lmax in HFX_LMAX_RANGE:
# libint2 can be linked dynamically again
depends_on('libint@2.6.0:+fortran tune=cp2k-lmax-{0}'.format(lmax),
- when='@7.0: lmax={0}'.format(lmax))
+ when='+libint@7.0: lmax={0}'.format(lmax))
depends_on('libxc@2.2.2:', when='+libxc@:5.5999', type='build')
depends_on('libxc@4.0.3:', when='+libxc@6.0:6.9', type='build')
@@ -145,6 +148,10 @@ class Cp2k(MakefilePackage, CudaPackage):
conflicts('%clang')
conflicts('%nag')
+ # please set variants: smm=blas by configuring packages.yaml or install
+ # cp2k with option smm=blas on aarch64
+ conflicts('smm=libxsmm', when='target=aarch64:', msg='libxsmm is not available on arm')
+
@property
def makefile_architecture(self):
return '{0.architecture}-{0.compiler.name}'.format(self.spec)
@@ -218,17 +225,10 @@ class Cp2k(MakefilePackage, CudaPackage):
dflags = ['-DNDEBUG']
cppflags = [
- '-D__LIBINT',
'-D__FFTW3',
'-I{0}'.format(fftw_header_dir),
]
- if '@:6.9' in spec:
- cppflags += [
- '-D__LIBINT_MAX_AM=6',
- '-D__LIBDERIV_MAX_AM1=5',
- ]
-
if '^mpi@3:' in spec:
cppflags.append('-D__MPI_VERSION=3')
elif '^mpi@2:' in spec:
@@ -287,19 +287,6 @@ class Cp2k(MakefilePackage, CudaPackage):
if 'superlu-dist@4.3' in spec:
ldflags.insert(0, '-Wl,--allow-multiple-definition')
- if '@:6.9' in spec:
- # libint-1.x.y has to be linked statically to work around
- # inconsistencies in its Fortran interface definition
- # (short-int vs int) which otherwise causes segfaults at runtime
- # due to wrong offsets into the shared library symbols.
- libs.extend([
- os.path.join(spec['libint'].libs.directories[0], 'libderiv.a'),
- os.path.join(spec['libint'].libs.directories[0], 'libint.a'),
- ])
- else:
- fcflags += pkgconf('--cflags', 'libint2', output=str).split()
- libs += pkgconf('--libs', 'libint2', output=str).split()
-
if '+plumed' in self.spec:
dflags.extend(['-D__PLUMED2'])
cppflags.extend(['-D__PLUMED2'])
@@ -363,6 +350,30 @@ class Cp2k(MakefilePackage, CudaPackage):
)
libs.append(wannier)
+ if '+libint' in spec:
+ cppflags += ['-D__LIBINT']
+
+ if '@:6.9' in spec:
+ cppflags += [
+ '-D__LIBINT_MAX_AM=6',
+ '-D__LIBDERIV_MAX_AM1=5',
+ ]
+
+ # libint-1.x.y has to be linked statically to work around
+ # inconsistencies in its Fortran interface definition
+ # (short-int vs int) which otherwise causes segfaults at
+ # runtime due to wrong offsets into the shared library
+ # symbols.
+ libs.extend([
+ os.path.join(
+ spec['libint'].libs.directories[0], 'libderiv.a'),
+ os.path.join(
+ spec['libint'].libs.directories[0], 'libint.a'),
+ ])
+ else:
+ fcflags += pkgconf('--cflags', 'libint2', output=str).split()
+ libs += pkgconf('--libs', 'libint2', output=str).split()
+
if '+libxc' in spec:
cppflags += ['-D__LIBXC']
diff --git a/var/spack/repos/builtin/packages/cpio/package.py b/var/spack/repos/builtin/packages/cpio/package.py
index ecaf2531ea..d5238cff1c 100644
--- a/var/spack/repos/builtin/packages/cpio/package.py
+++ b/var/spack/repos/builtin/packages/cpio/package.py
@@ -20,6 +20,12 @@ class Cpio(AutotoolsPackage, GNUMirrorPackage):
build_directory = 'spack-build'
def flag_handler(self, name, flags):
- if self.spec.satisfies('%intel') and name == 'cflags':
+ spec = self.spec
+
+ if '%intel' in spec and name == 'cflags':
flags.append('-no-gcc')
+
+ if '%clang' in spec and name == 'cflags':
+ flags.append('--rtlib=compiler-rt')
+
return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/cppcheck/package.py b/var/spack/repos/builtin/packages/cppcheck/package.py
index fc943e9517..7d00ca4969 100644
--- a/var/spack/repos/builtin/packages/cppcheck/package.py
+++ b/var/spack/repos/builtin/packages/cppcheck/package.py
@@ -11,6 +11,7 @@ class Cppcheck(MakefilePackage):
homepage = "http://cppcheck.sourceforge.net/"
url = "https://downloads.sourceforge.net/project/cppcheck/cppcheck/1.78/cppcheck-1.78.tar.bz2"
+ version('2.1', sha256='ab26eeef039e5b58aac01efb8cb664f2cc16bf9879c61bc93cd00c95be89a5f7')
version('1.87', sha256='e3b0a46747822471df275417d4b74b56ecac88367433e7428f39288a32c581ca')
version('1.81', sha256='bb694f37ae0b5fed48c6cdc2fb5e528daf32cefc64e16b1a520c5411323cf27e')
version('1.78', sha256='e42696f7d6321b98cb479ad9728d051effe543b26aca8102428f60b9850786b1')
diff --git a/var/spack/repos/builtin/packages/cpprestsdk/package.py b/var/spack/repos/builtin/packages/cpprestsdk/package.py
index 3bfbf52c29..70425ed7db 100644
--- a/var/spack/repos/builtin/packages/cpprestsdk/package.py
+++ b/var/spack/repos/builtin/packages/cpprestsdk/package.py
@@ -15,13 +15,22 @@ class Cpprestsdk(CMakePackage):
homepage = "https://github.com/Microsoft/cpprestsdk"
url = "https://github.com/Microsoft/cpprestsdk/archive/v2.9.1.tar.gz"
+ version('2.10.16', git='https://github.com/Microsoft/cpprestsdk', branch='v2.10.16', submodules=True)
version('2.9.1', sha256='537358760acd782f4d2ed3a85d92247b4fc423aff9c85347dc31dbb0ab9bab16')
depends_on('boost@:1.69.0')
+ depends_on('openssl')
# Ref: https://github.com/microsoft/cpprestsdk/commit/f9f518e4ad84577eb684ad8235181e4495299af4
# Ref: https://github.com/Microsoft/cpprestsdk/commit/6b2e0480018530b616f61d5cdc786c92ba148bb7
# Ref: https://github.com/microsoft/cpprestsdk/commit/70c1b14f39f5d47984fdd8a31fc357ebb5a37851
- patch('Release.patch')
+ patch('Release.patch', when='@2.9.1')
root_cmakelists_dir = 'Release'
+
+ def cmake_args(self):
+ args = [
+ '-DWERROR:BOOL=Off'
+ ]
+
+ return args
diff --git a/var/spack/repos/builtin/packages/csa-c/package.py b/var/spack/repos/builtin/packages/csa-c/package.py
new file mode 100644
index 0000000000..9bc09f49fd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/csa-c/package.py
@@ -0,0 +1,19 @@
+# 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 CsaC(AutotoolsPackage):
+ """csa: Cubic Spline Approximation. csa is a C code for
+ cubic spline approximation of 2D scattered data. It provides
+ a C library and a command line utility csabathy."""
+
+ homepage = "https://github.com/sakov/csa-c"
+ git = "https://github.com/sakov/csa-c.git"
+
+ version('master', branch='master')
+
+ configure_directory = 'csa'
diff --git a/var/spack/repos/builtin/packages/cub/package.py b/var/spack/repos/builtin/packages/cub/package.py
index 5c1764e345..dba0d2e980 100644
--- a/var/spack/repos/builtin/packages/cub/package.py
+++ b/var/spack/repos/builtin/packages/cub/package.py
@@ -11,9 +11,13 @@ class Cub(Package):
and other utilities for CUDA kernel programming."""
homepage = "https://nvlabs.github.com/cub"
- url = "https://github.com/NVlabs/cub/archive/v1.7.1.zip"
+ url = "https://github.com/NVlabs/cub/archive/1.7.1.zip"
git = "https://github.com/NVlabs/cub.git"
+ version('1.9.10', sha256='063fea7c9bf87677a5fc5889e3fcd51582b77a2b3af9fa599d846a9c98ce9407')
+ version('1.9.9', sha256='162514b3cc264ac89d91898b58450190b8192e2af1142cf8ccac2d59aa160dda')
+ version('1.9.8-1', sha256='f61d05367bd8fe8bfb0eafa20f7b14d27deb8b25a398c53d8a97a01a2399431b')
+ version('1.9.8', sha256='694845bdca04fcc67d52c14d1fe6d9b627f41e6bfec0e0987d846a4e93a136f4')
version('1.8.0', sha256='6bfa06ab52a650ae7ee6963143a0bbc667d6504822cbd9670369b598f18c58c3')
version('1.7.5', sha256='8f8e0b101324a9839003ff1154c8439137cd38b2039f403a92e76d5c52cee23f')
version('1.7.4', sha256='20a1a39fd97e5da7f40f5f2e7fd73fd2ea59f9dc4bb8a6c5f228aa543e727e31')
diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py
index 6d1332c9ad..785f7c3c0c 100644
--- a/var/spack/repos/builtin/packages/cuda/package.py
+++ b/var/spack/repos/builtin/packages/cuda/package.py
@@ -7,6 +7,7 @@ from spack import *
from glob import glob
from llnl.util.filesystem import LibraryList
import os
+import re
import platform
import llnl.util.tty as tty
@@ -22,6 +23,9 @@ import llnl.util.tty as tty
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
+ '11.0.2': {
+ 'Linux-x86_64': ('48247ada0e3f106051029ae8f70fbd0c238040f58b0880e55026374a959a69c1', 'http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run'),
+ 'Linux-ppc64le': ('db06d0f3fbf6f7aa1f106fc921ad1c86162210a26e8cb65b171c5240a3bf75da', 'http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux_ppc64le.run')},
'10.2.89': {
'Linux-x86_64': ('560d07fdcf4a46717f2242948cd4f92c5f9b6fc7eae10dd996614da913d5ca11', 'http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run'),
'Linux-ppc64le': ('5227774fcb8b10bd2d8714f0a716a75d7a2df240a9f2a49beb76710b1c0fc619', 'http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux_ppc64le.run')},
@@ -57,6 +61,8 @@ class Cuda(Package):
homepage = "https://developer.nvidia.com/cuda-zone"
+ executables = ['^nvcc$']
+
for ver, packages in _versions.items():
key = "{0}-{1}".format(platform.system(), platform.machine())
pkg = packages.get(key)
@@ -76,6 +82,13 @@ class Cuda(Package):
depends_on('libxml2', when='@10.1.243:')
+ @classmethod
+ def determine_version(cls, exe):
+ output = Executable(exe)('--version', output=str, error=str)
+ match = re.search(r'Cuda compilation tools, release .*?, V(\S+)',
+ output)
+ return match.group(1) if match else None
+
def setup_build_environment(self, env):
if self.spec.satisfies('@10.1.243:'):
libxml2_home = self.spec['libxml2'].prefix
@@ -136,6 +149,7 @@ class Cuda(Package):
# CUDA 10.0 provides Compatability libraries for running newer versions
# of CUDA with older drivers. These do not work with newer drivers.
for lib in libs:
- if 'compat' not in lib.split(os.sep):
+ parts = lib.split(os.sep)
+ if 'compat' not in parts and 'stubs' not in parts:
filtered_libs.append(lib)
return LibraryList(filtered_libs)
diff --git a/var/spack/repos/builtin/packages/cudnn/package.py b/var/spack/repos/builtin/packages/cudnn/package.py
index f0e8904e34..0d0e49d9e5 100644
--- a/var/spack/repos/builtin/packages/cudnn/package.py
+++ b/var/spack/repos/builtin/packages/cudnn/package.py
@@ -22,6 +22,20 @@ class Cudnn(Package):
maintainers = ['adamjstewart']
+ # cuDNN 8.0.2
+ version('8.0.2.39-11.0-linux-x64',
+ sha256='672f46288b8edd98f8d156a4f1ff518201ca6de0cff67915ceaa37f6d6d86345')
+ version('8.0.2.39-11.0-linux-ppc64le',
+ sha256='b7c1ce5b1191eb007ba3455ea5f497fdce293a646545d8a6ed93e9bb06d7f057')
+ version('8.0.2.39-10.2-linux-x64',
+ sha256='c9cbe5c211360f3cfbc0fb104f0e9096b37e53f89392525679f049276b2f701f')
+ version('8.0.2.39-10.2-linux-ppc64le',
+ sha256='c32325ff84a8123491f2e58b3694885a9a672005bc21764b38874688c0e43262')
+ version('8.0.2.39-10.1-linux-x64',
+ sha256='82148a68bd6bdaab93af5e05bb1842b8ccb3ab7de7bed41f609a7616c102213d')
+ version('8.0.2.39-10.1-linux-ppc64le',
+ sha256='8196ec4f031356317baeccefbc4f61c8fccb2cf0bdef0a6431438918ddf68fb9')
+
# cuDNN 8.0
version('8.0.0.180-11.0-linux-x64',
sha256='9e75ea70280a77de815e0bdc85d08b67e081bc99a708b574092142344d2ba07e')
@@ -36,6 +50,8 @@ class Cudnn(Package):
version('7.6.5.32-10.2-linux-x64',
sha256='600267f2caaed2fd58eb214ba669d8ea35f396a7d19b94822e6b36f9f7088c20',
preferred=True)
+ version('7.6.5.32-10.2-linux-ppc64le',
+ sha256='7dc08b6ab9331bfd12207d4802c61db1ad7cace7395b67a6e7b16efa0335668b')
version('7.6.5.32-10.1-linux-x64',
sha256='7eaec8039a2c30ab0bc758d303588767693def6bf49b22485a2c00bf2e136cb3')
version('7.6.5.32-10.1-osx-x64',
diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py
index e0e964893f..abb09d78e1 100644
--- a/var/spack/repos/builtin/packages/curl/package.py
+++ b/var/spack/repos/builtin/packages/curl/package.py
@@ -15,6 +15,7 @@ class Curl(AutotoolsPackage):
# URL must remain http:// so Spack can bootstrap curl
url = "http://curl.haxx.se/download/curl-7.60.0.tar.bz2"
+ version('7.71.0', sha256='600f00ac2481a89548a4141ddf983fd9386165e1960bac91d0a1c81dca5dd341')
version('7.68.0', sha256='207f54917dd6a2dc733065ccf18d61bb5bebeaceb5df49cd9445483e8623eeb9')
version('7.63.0', sha256='9bab7ed4ecff77020a312d84cc5fb7eb02d58419d218f267477a724a17fd8dd8')
version('7.60.0', sha256='897dfb2204bd99be328279f88f55b7c61592216b0542fcbe995c60aa92871e9b')
@@ -51,6 +52,7 @@ class Curl(AutotoolsPackage):
conflicts('platform=linux', when='+darwinssl')
depends_on('openssl', when='~darwinssl')
+ depends_on('libidn2')
depends_on('zlib')
depends_on('nghttp2', when='+nghttp2')
depends_on('libssh2', when='+libssh2')
@@ -61,6 +63,8 @@ class Curl(AutotoolsPackage):
spec = self.spec
args = ['--with-zlib={0}'.format(spec['zlib'].prefix)]
+ args.append('--with-libidn2={0}'.format(spec['libidn2'].prefix))
+
if spec.satisfies('+darwinssl'):
args.append('--with-darwinssl')
else:
diff --git a/var/spack/repos/builtin/packages/darshan-runtime/package.py b/var/spack/repos/builtin/packages/darshan-runtime/package.py
index c58bc9edd5..1c81045e69 100644
--- a/var/spack/repos/builtin/packages/darshan-runtime/package.py
+++ b/var/spack/repos/builtin/packages/darshan-runtime/package.py
@@ -29,12 +29,13 @@ class DarshanRuntime(Package):
version('3.1.0', sha256='b847047c76759054577823fbe21075cfabb478cdafad341d480274fb1cef861c')
version('3.0.0', sha256='95232710f5631bbf665964c0650df729c48104494e887442596128d189da43e0')
- depends_on('mpi')
+ depends_on('mpi', when='+mpi')
depends_on('zlib')
variant('slurm', default=False, description='Use Slurm Job ID')
variant('cobalt', default=False, description='Use Coblat Job Id')
variant('pbs', default=False, description='Use PBS Job Id')
+ variant('mpi', default=True, description='Compile with MPI support')
def install(self, spec, prefix):
@@ -47,11 +48,15 @@ class DarshanRuntime(Package):
job_id = 'PBS_JOBID'
# TODO: BG-Q and other platform configure options
- options = ['CC=%s' % spec['mpi'].mpicc,
- '--with-mem-align=8',
- '--with-log-path-by-env=DARSHAN_LOG_DIR_PATH',
- '--with-jobid-env=%s' % job_id,
- '--with-zlib=%s' % spec['zlib'].prefix]
+ options = []
+ if '+mpi' in spec:
+ options = ['CC=%s' % spec['mpi'].mpicc]
+ else:
+ options = ['--without-mpi']
+ options.extend(['--with-mem-align=8',
+ '--with-log-path-by-env=DARSHAN_LOG_DIR_PATH',
+ '--with-jobid-env=%s' % job_id,
+ '--with-zlib=%s' % spec['zlib'].prefix])
with working_dir('spack-build', create=True):
configure = Executable('../darshan-runtime/configure')
diff --git a/var/spack/repos/builtin/packages/dcmtk/package.py b/var/spack/repos/builtin/packages/dcmtk/package.py
index 2bf3db66d1..7b5fab7f64 100644
--- a/var/spack/repos/builtin/packages/dcmtk/package.py
+++ b/var/spack/repos/builtin/packages/dcmtk/package.py
@@ -37,6 +37,16 @@ class Dcmtk(CMakePackage):
variant('cxx11', default=False, description="Enable c++11 features")
variant('stl', default=True, description="Use native STL implementation")
+ def patch(self):
+ # Backport 3.6.4
+ if self.spec.satisfies('@:3.6.3 %fj'):
+ filter_file(
+ 'OFintegral_constant<size_t,-1>',
+ 'OFintegral_constant<size_t,~OFstatic_cast(size_t,0)>',
+ 'ofstd/include/dcmtk/ofstd/variadic/helpers.h',
+ string=True
+ )
+
def cmake_args(self):
args = ["-DDCMTK_WITH_OPENSSL={0}".format(
'ON' if '+ssl' in self.spec else 'OFF')]
diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py
index 76de6090c5..112536afab 100644
--- a/var/spack/repos/builtin/packages/dd4hep/package.py
+++ b/var/spack/repos/builtin/packages/dd4hep/package.py
@@ -22,6 +22,8 @@ class Dd4hep(CMakePackage):
maintainers = ['vvolkl', 'drbenmorgan']
version('master', branch='master')
+ version('1.13.1', sha256='83fa70cd74ce93b2f52f098388dff58d179f05ace5b50aea3f408bb8abf7cb73')
+ version('1.13.0', sha256='0b1f9d902ebe21a9178c1e41204c066b29f68c8836fd1d03a9ce979811ddb295')
version('1.12.1', sha256='85e8c775ec03c499ce10911e228342e757c81ce9ef2a9195cb253b85175a2e93')
version('1.12.0', sha256='133a1fb8ce0466d2482f3ebb03e60b3bebb9b2d3e33d14ba15c8fbb91706b398')
version('1.11.2', sha256='96a53dd26cb8df11c6dae54669fbc9cc3c90dd47c67e07b24be9a1341c95abc4')
@@ -37,6 +39,7 @@ class Dd4hep(CMakePackage):
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")
depends_on('cmake @3.12:', type='build')
depends_on('boost @1.49:')
@@ -45,6 +48,7 @@ class Dd4hep(CMakePackage):
depends_on('xerces-c', when='+xercesc')
depends_on('geant4@10.2.2:', when='+geant4')
depends_on('assimp', when='+assimp')
+ depends_on('hepmc3', when="+hepmc3")
def cmake_args(self):
spec = self.spec
@@ -57,6 +61,7 @@ class Dd4hep(CMakePackage):
"-DDD4HEP_USE_XERCESC={0}".format(spec.satisfies('+xercesc')),
"-DDD4HEP_USE_GEANT4={0}".format(spec.satisfies('+geant4')),
"-DDD4HEP_LOAD_ASSIMP={0}".format(spec.satisfies('+assimp')),
+ "-DDD4HEP_USE_HEPMC3={0}".format(spec.satisfies('+hepmc3')),
"-DBUILD_TESTING={0}".format(self.run_tests),
"-DBOOST_ROOT={0}".format(spec['boost'].prefix),
"-DBoost_NO_BOOST_CMAKE=ON",
diff --git a/var/spack/repos/builtin/packages/delphes/package.py b/var/spack/repos/builtin/packages/delphes/package.py
index b3b511a00f..5c37df8684 100644
--- a/var/spack/repos/builtin/packages/delphes/package.py
+++ b/var/spack/repos/builtin/packages/delphes/package.py
@@ -18,7 +18,8 @@ class Delphes(CMakePackage):
maintainers = ['drbenmorgan', 'vvolkl', 'selvaggi']
version('master', branch='master')
- version('3.4.2', sha256='d46a7c5474de650befdb89377115feee31f1743107ceb3d8da699be9d48c097b')
+ version('3.4.3pre04', tag='3.4.3pre04')
+ version('3.4.2', sha256='d46a7c5474de650befdb89377115feee31f1743107ceb3d8da699be9d48c097b', preferred=True)
version('3.4.1', sha256='4b5a2aeac326643f45b6d45c39ba2302e323eeb86d8cb58843c6e73949b1208a')
version('3.4.0', sha256='c0f9500663a0c3a5c1eddcee598a67b5bcfc9318303195c6cacc0590b4023fa1')
version('3.3.3', sha256='404de818a6b7852b01187ccf598d8ac19d308b9361f128751ef003cde248ff00')
@@ -38,13 +39,8 @@ class Delphes(CMakePackage):
version('3.0.6', sha256='9e225731d57d2a76d35886841f8eff121bb3a45560b16077bd8c351151581d88')
version('3.0.5', sha256='ab64ec6d2476fbfa40562e7edb510a8ab4c4fe5be77a4353ebf315c2af181a80')
- depends_on('cmake', type='build')
- depends_on('root cxxstd=14', when='cxxstd=14')
- depends_on('root cxxstd=17', when='cxxstd=17')
-
- variant('build_type', default='Release',
- description='The build type to build',
- values=('Debug', 'Release'))
+ variant('pythia8', default=True,
+ description="build with pythia8")
variant('cxxstd',
default='17',
@@ -52,6 +48,11 @@ class Delphes(CMakePackage):
multi=False,
description='Use the specified C++ standard when building.')
+ depends_on('cmake', type='build')
+ depends_on('root cxxstd=14', when='cxxstd=14')
+ depends_on('root cxxstd=17', when='cxxstd=17')
+ depends_on('pythia8', when="+pythia8")
+
def cmake_args(self):
args = []
# C++ Standard
diff --git a/var/spack/repos/builtin/packages/dftbplus/package.py b/var/spack/repos/builtin/packages/dftbplus/package.py
new file mode 100644
index 0000000000..a8b313988e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dftbplus/package.py
@@ -0,0 +1,147 @@
+# 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 *
+import os
+
+
+class Dftbplus(MakefilePackage):
+ """DFTB+ is an implementation of the
+ Density Functional based Tight Binding (DFTB) method,
+ containing many extensions to the original method."""
+
+ homepage = "https://www.dftbplus.org"
+ url = "https://github.com/dftbplus/dftbplus/archive/19.1.tar.gz"
+
+ version('19.1', sha256='4d07f5c6102f06999d8cfdb1d17f5b59f9f2b804697f14b3bc562e3ea094b8a8')
+
+ resource(name='slakos',
+ url='https://github.com/dftbplus/testparams/archive/dftbplus-18.2.tar.gz',
+ sha256='bd191b3d240c1a81a8754a365e53a78b581fc92eb074dd5beb8b56a669a8d3d1',
+ destination='external/slakos',
+ when='@18.2:')
+
+ variant('mpi', default=True,
+ description="Build an MPI-paralelised version of the code.")
+
+ variant('gpu', default=False,
+ description="Use the MAGMA library "
+ "for GPU accelerated computation")
+
+ variant('elsi', default=False,
+ description="Use the ELSI library for large scale systems. "
+ "Only has any effect if you build with '+mpi'")
+
+ variant('sockets', default=False,
+ description="Whether the socket library "
+ "(external control) should be linked")
+
+ variant('arpack', default=False,
+ description="Use ARPACK for excited state DFTB functionality")
+
+ variant('transport', default=False,
+ description="Whether transport via libNEGF should be included. "
+ "Only affects parallel build. "
+ "(serial version is built without libNEGF/transport)")
+
+ variant('dftd3', default=False,
+ description="Use DftD3 dispersion library "
+ "(if you need this dispersion model)")
+
+ depends_on('lapack')
+ depends_on('blas')
+ depends_on('scalapack', when="+mpi")
+ depends_on('mpi', when="+mpi")
+ depends_on('elsi', when="+elsi")
+ depends_on('magma', when="+gpu")
+ depends_on('arpack-ng', when="+arpack")
+ depends_on('dftd3-lib@0.9.2', when="+dftd3")
+
+ def edit(self, spec, prefix):
+ """
+ First, change the ROOT variable, because, for some reason,
+ the Makefile and the spack install script run in different directories
+
+ Then, if using GCC, rename the file 'sys/make.x86_64-linux-gnu'
+ to make.arch.
+
+ After that, edit the make.arch to point to the dependencies
+
+ And the last thing we do here is to set the installdir
+ """
+ dircwd = os.getcwd()
+ makefile = FileFilter("makefile")
+ makefile.filter("ROOT := .*", "ROOT := {0}".format(dircwd))
+
+ archmake = join_path(".", "sys", "make.x86_64-linux-gnu")
+ copy(archmake, join_path(dircwd, "make.arch"))
+
+ march = FileFilter(join_path(dircwd, 'make.arch'))
+
+ mconfig = FileFilter(join_path(dircwd, 'make.config'))
+
+ mconfig.filter('INSTALLDIR := .*', 'INSTALLDIR := {0}'.format(prefix))
+
+ if '+gpu' in self.spec:
+ march.filter('MAGMADIR = .*',
+ 'MAGMADIR = {0}'.format(spec['magma'].prefix))
+
+ mconfig.filter('WITH_GPU := .*', 'WITH_GPU := 1')
+
+ if '+mpi' in self.spec:
+ march.filter('SCALAPACKDIR = .*',
+ 'SCALAPACKDIR = {0}'.format(spec['scalapack'].prefix))
+
+ march.filter('LIB_LAPACK = -l.*',
+ 'LIB_LAPACK = {0}'.format(spec['blas'].libs.ld_flags))
+
+ march.filter('mpifort', '{0}'.format(spec['mpi'].mpifc))
+
+ mconfig.filter('WITH_MPI := .*', 'WITH_MPI := 1')
+
+ if '+elsi' in self.spec:
+ mconfig.filter('WITH_ELSI := .*', 'WITH_ELSI := 1')
+
+ has_pexsi = '+enable_pexsi' in spec['elsi']
+
+ mconfig.filter('WITH_PEXSI := .*', 'WITH_PEXSI := {0}'.format(
+ '1' if has_pexsi is True else '0'
+ ))
+
+ march.filter("ELSIINCDIR .*", "ELSIINCDIR = {0}".format(
+ spec['elsi'].prefix.include
+ ))
+
+ march.filter("ELSIDIR .*",
+ "ELSIDIR = {0}".format(spec['elsi'].prefix))
+
+ else:
+ march.filter('LIB_LAPACK += -l.*', 'LIB_LAPACK += {0}'.format(
+ spec['blas'].libs.ld_flags))
+
+ if '+sockets' in self.spec:
+ mconfig.filter('WITH_SOCKETS := .*', 'WITH_SOCKETS := 1')
+
+ if '+transport' in self.spec:
+ mconfig.filter('WITH_TRANSPORT := .*', 'WITH_TRANSPORT := 1')
+
+ if '+arpack' in self.spec:
+ march.filter('ARPACK_LIBS = .*', 'ARPACK_LIBS = {0}'.format(
+ spec['arpack-ng'].libs.ld_flags
+ ))
+
+ mconfig.filter('WITH_ARPACK := .*', 'WITH_ARPACK := 1')
+
+ if '+dftd3' in self.spec:
+ march.filter('COMPILE_DFTD3 = .*', 'COMPILE_DFTD3 = 0')
+ march.filter('DFTD3_INCS = .*', 'DFTD3_INCS = -I{0}'.format(
+ spec['dftd3-lib'].prefix.include
+ ))
+
+ march.filter('DFTD3_LIBS = .*',
+ 'DFTD3_LIBS = -L{0} -ldftd3'.format(
+ spec['dftd3-lib'].prefix))
+
+ mconfig.filter('WITH_DFTD3 := .*', 'WITH_DFTD3 := 1')
diff --git a/var/spack/repos/builtin/packages/dftd3-lib/package.py b/var/spack/repos/builtin/packages/dftd3-lib/package.py
new file mode 100644
index 0000000000..793a312342
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dftd3-lib/package.py
@@ -0,0 +1,38 @@
+# 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 Dftd3Lib(MakefilePackage):
+ """A dispersion correction for density functionals,
+ Hartree-Fock and semi-empirical quantum chemical methods"""
+
+ homepage = "https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3/dft-d3"
+ url = "https://github.com/dftbplus/dftd3-lib/archive/0.9.2.tar.gz"
+
+ version('0.9.2', sha256='4178f3cf2f3e7e982a7084ec66bac92b4fdf164537d9fc0ada840a11b784f0e0')
+
+ # This fixes a concurrency bug, where make would try to start compiling
+ # the dftd3 target before the lib target ended.
+ # Since the library is small, disabling causes not much harm
+ parallel = False
+
+ def edit(self, spec, prefix):
+ makefile = FileFilter('make.arch')
+ makefile.filter("FC = gfortran", "")
+ makefile.filter("LN = gfortran", "LN = $(FC)")
+
+ def install(self, spec, prefix):
+ mkdir(prefix.lib)
+ mkdir(prefix.bin)
+ mkdir(prefix.include)
+ install("lib/libdftd3.a", prefix.lib)
+ install("prg/dftd3", prefix.bin)
+ install("lib/dftd3_api.mod", prefix.include)
+ install("lib/dftd3_common.mod", prefix.include)
+ install("lib/dftd3_core.mod", prefix.include)
+ install("lib/dftd3_pars.mod", prefix.include)
+ install("lib/dftd3_sizes.mod", prefix.include)
diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py
index 6de0cfb516..92d19950a2 100644
--- a/var/spack/repos/builtin/packages/dihydrogen/package.py
+++ b/var/spack/repos/builtin/packages/dihydrogen/package.py
@@ -14,6 +14,7 @@ class Dihydrogen(CMakePackage, CudaPackage):
needs of the distributed machine learning effort, LBANN."""
homepage = "https://github.com/LLNL/DiHydrogen.git"
+ url = "https://github.com/LLNL/DiHydrogen.git"
git = "https://github.com/LLNL/DiHydrogen.git"
maintainers = ['bvanessen']
@@ -36,12 +37,23 @@ class Dihydrogen(CMakePackage, CudaPackage):
description='Enable ROCm/HIP language features.')
variant('shared', default=True,
description='Enables the build of shared libraries')
+ variant('docs', default=False,
+ description='Builds with support for building documentation')
+
+ # Variants related to BLAS
+ variant('openmp_blas', default=False,
+ description='Use OpenMP for threading in the BLAS library')
+ variant('int64_blas', default=False,
+ description='Use 64bit integers for BLAS.')
+ variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl'),
+ description='Enable the use of OpenBlas/MKL/Accelerate/ESSL')
# Override the default set of CUDA architectures with the relevant
# subset from lib/spack/spack/build_systems/cuda.py
cuda_arch_values = [
'60', '61', '62',
'70', '72', '75',
+ '80'
]
variant('cuda_arch',
description='CUDA architecture',
@@ -51,12 +63,32 @@ class Dihydrogen(CMakePackage, CudaPackage):
depends_on('catch2', type='test')
depends_on('aluminum', when='+al ~cuda')
- depends_on('aluminum +gpu +nccl +mpi_cuda', when='+al +cuda')
+ depends_on('aluminum +cuda +nccl +ht +cuda_rma', when='+al +cuda')
depends_on('cuda', when=('+cuda' or '+legacy'))
depends_on('cudnn', when=('+cuda' or '+legacy'))
depends_on('cub', when=('+cuda' or '+legacy'))
+ # Note that #1712 forces us to enumerate the different blas variants
+ depends_on('openblas', when='blas=openblas ~openmp_blas ~int64_blas')
+ depends_on('openblas +ilp64', when='blas=openblas ~openmp_blas +int64_blas')
+ depends_on('openblas threads=openmp', when='blas=openblas +openmp_blas ~int64_blas')
+ depends_on('openblas threads=openmp +lip64', when='blas=openblas +openmp_blas +int64_blas')
+
+ depends_on('intel-mkl', when="blas=mkl ~openmp_blas ~int64_blas")
+ depends_on('intel-mkl +ilp64', when="blas=mkl ~openmp_blas +int64_blas")
+ depends_on('intel-mkl threads=openmp', when='blas=mkl +openmp_blas ~int64_blas')
+ depends_on('intel-mkl@2017.1 +openmp +ilp64', when='blas=mkl +openmp_blas +int64_blas')
+
+ depends_on('veclibfort', when='blas=accelerate')
+ conflicts('blas=accelerate +openmp_blas')
+
+ depends_on('essl -cuda', when='blas=essl -openmp_blas ~int64_blas')
+ depends_on('essl -cuda +ilp64', when='blas=essl -openmp_blas +int64_blas')
+ depends_on('essl threads=openmp', when='blas=essl +openmp_blas ~int64_blas')
+ depends_on('essl threads=openmp +ilp64', when='blas=essl +openmp_blas +int64_blas')
+ depends_on('netlib-lapack +external-blas', when='blas=essl')
+
# Legacy builds require cuda
conflicts('~cuda', when='+legacy')
@@ -64,7 +96,10 @@ class Dihydrogen(CMakePackage, CudaPackage):
generator = 'Ninja'
depends_on('ninja', type='build')
- depends_on('cmake@3.14.0:', type='build')
+ depends_on('cmake@3.16.0:', type='build')
+
+ depends_on('py-breathe', type='build', when='+docs')
+ depends_on('doxygen', type='build', when='+docs')
illegal_cuda_arch_values = [
'10', '11', '12', '13',
diff --git a/var/spack/repos/builtin/packages/dire/package.py b/var/spack/repos/builtin/packages/dire/package.py
new file mode 100644
index 0000000000..9b0fde818c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dire/package.py
@@ -0,0 +1,39 @@
+# 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 Dire(Package):
+ """DIRE (short for dipole resummation) a C++ program for all-order
+ radiative corrections to scattering processes in high-energy particle
+ collisions."""
+
+ homepage = "http://dire.gitlab.io/"
+ url = "http://dire.gitlab.io/Downloads/DIRE-2.004.tar.gz"
+ git = "http://gitlab.com/dire/direforpythia"
+ list_url = "http://dire.gitlab.io/Downloads.html"
+
+ maintainer = ['mdiefent']
+
+ version('2.004', sha256='8cc1213b58fec744fdaa50834560a14b141de99efb2c3e3d3d47f3d6d84b179f')
+
+ depends_on('zlib')
+ depends_on('boost')
+ depends_on('lhapdf')
+ depends_on('hepmc')
+ depends_on('pythia8@8226:')
+
+ def install(self, spec, prefix):
+ configure_args = ['--prefix={0}'.format(prefix)]
+ configure_args.append(
+ '--with-pythia8={0}'.format(spec['pythia8'].prefix))
+ configure(*configure_args)
+ make()
+ # Open bug: https://gitlab.com/wdconinc/direforpythia/-/merge_requests/1
+ filter_file('-Wl,-rpath ',
+ self.compiler.cc_rpath_arg,
+ 'bin/dire-config')
+ make('install')
diff --git a/var/spack/repos/builtin/packages/dray/package.py b/var/spack/repos/builtin/packages/dray/package.py
new file mode 100644
index 0000000000..9dbf66afd9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/dray/package.py
@@ -0,0 +1,318 @@
+# 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 *
+
+import os
+import socket
+
+import llnl.util.tty as tty
+
+
+def cmake_cache_entry(name, value, vtype=None):
+ """
+ Helper that creates CMake cache entry strings used in
+ 'host-config' files.
+ """
+ if vtype is None:
+ if value == "ON" or value == "OFF":
+ vtype = "BOOL"
+ else:
+ vtype = "PATH"
+ return 'set({0} "{1}" CACHE {2} "")\n\n'.format(name, value, vtype)
+
+
+class Dray(Package, CudaPackage):
+ """High-Order Mesh Ray Tracer."""
+
+ homepage = "https://github.com/LLNL/devil_ray"
+ git = "https://github.com/LLNL/devil_ray.git"
+ url = "https://github.com/LLNL/devil_ray/releases/download/v0.1.2/dray-v0.1.2.tar.gz"
+
+ maintainers = ['mclarsen', 'cyrush']
+
+ version('develop', branch='develop', submodules='True')
+ version('0.1.2', sha256='46937f20124b28dc78a634e8e063a3e7a3bbfd9f424ce2680b08417010c376da')
+ version('0.1.1', sha256='e5daa49ee3367c087f5028dc5a08655298beb318014c6f3f65ef4a08fcbe346c')
+ version('0.1.0', sha256='8b341138e1069361351e0a94478608c5af479cca76e2f97d556229aed45c0169')
+
+ variant('cuda', default=False, description='Build with CUDA backend')
+ variant('openmp', default=True, description='Build OpenMP backend')
+ variant("shared", default=True, description="Build as shared libs")
+ variant("test", default=True, description='Build unit tests')
+ variant("utils", default=True, description='Build utilities')
+ variant("logging", default=False, description='Enable logging')
+ variant("stats", default=False, description='Enable stats')
+ variant("mpi", default=True, description='Enable MPI compiler')
+
+ depends_on('cuda', when='+cuda')
+ depends_on('mpi', when='+mpi')
+
+ depends_on('cmake@3.9:', type='build')
+ depends_on('cmake@3.14:', when='+cuda', type='build')
+
+ depends_on("conduit~shared", when="~shared")
+ depends_on("conduit+shared", when="+shared")
+
+ depends_on("apcomp~shared+openmp+mpi", when="~shared+openmp+mpi")
+ depends_on("apcomp+shared+openmp+mpi", when="+shared+openmp+mpi")
+ depends_on("apcomp~shared~openmp+mpi", when="~shared~openmp+mpi")
+ depends_on("apcomp+shared~openmp+mpi", when="+shared~openmp+mpi")
+ depends_on("apcomp~shared+openmp~mpi", when="~shared+openmp~mpi")
+ depends_on("apcomp+shared+openmp~mpi", when="+shared+openmp~mpi")
+ depends_on("apcomp~shared~openmp~mpi", when="~shared~openmp~mpi")
+ depends_on("apcomp+shared~openmp~mpi", when="+shared~openmp~mpi")
+
+ depends_on("raja@0.9.0+cuda~openmp+shared", when="+cuda~openmp+shared")
+ depends_on("raja@0.9.0+cuda+openmp+shared", when="+cuda+openmp+shared")
+ depends_on("raja@0.9.0+cuda~openmp~shared", when="+cuda~openmp~shared")
+ depends_on("raja@0.9.0+cuda+openmp~shared", when="+cuda+openmp~shared")
+
+ depends_on("raja@0.9.0~cuda~openmp+shared", when="~cuda~openmp+shared")
+ depends_on("raja@0.9.0~cuda+openmp+shared", when="~cuda+openmp+shared")
+ depends_on("raja@0.9.0~cuda~openmp~shared", when="~cuda~openmp~shared")
+ depends_on("raja@0.9.0~cuda+openmp~shared", when="~cuda+openmp~shared")
+
+ depends_on("umpire@1.0.0+cuda+shared", when="+cuda+shared")
+ depends_on("umpire@1.0.0+cuda~shared", when="+cuda~shared")
+ depends_on("umpire@1.0.0~cuda+shared", when="~cuda+shared")
+ depends_on("umpire@1.0.0~cuda~shared", when="~cuda~shared")
+
+ depends_on("mfem+shared+conduit~threadsafe", when="+shared")
+ depends_on("mfem~shared+conduit~threadsafe", when="~shared")
+
+ def setup_build_environment(self, env):
+ env.set('CTEST_OUTPUT_ON_FAILURE', '1')
+
+ def install(self, spec, prefix):
+ """
+ Build and install Devil Ray.
+ """
+ with working_dir('spack-build', create=True):
+ host_cfg_fname = self.create_host_config(spec,
+ prefix)
+ cmake_args = []
+ # if we have a static build, we need to avoid any of
+ # spack's default cmake settings related to rpaths
+ # (see: https://github.com/LLNL/spack/issues/2658)
+ if "+shared" in spec:
+ cmake_args.extend(std_cmake_args)
+ else:
+ for arg in std_cmake_args:
+ if arg.count("RPATH") == 0:
+ cmake_args.append(arg)
+ cmake_args.extend(["-C", host_cfg_fname, "../src"])
+ print("Configuring Devil Ray...")
+ cmake(*cmake_args)
+ print("Building Devil Ray...")
+ make()
+ # run unit tests if requested
+ if "+test" in spec and self.run_tests:
+ print("Running Devil Ray Unit Tests...")
+ make("test")
+ print("Installing Devil Ray...")
+ make("install")
+ # install copy of host config for provenance
+ install(host_cfg_fname, prefix)
+
+ def create_host_config(self, spec, prefix):
+ """
+ This method creates a 'host-config' file that specifies
+ all of the options used to configure and build ascent.
+
+ For more details about 'host-config' files see:
+ http://ascent.readthedocs.io/en/latest/BuildingAscent.html
+ """
+
+ #######################
+ # Compiler Info
+ #######################
+ c_compiler = env["SPACK_CC"]
+ cpp_compiler = env["SPACK_CXX"]
+
+ #######################################################################
+ # By directly fetching the names of the actual compilers we appear
+ # to doing something evil here, but this is necessary to create a
+ # 'host config' file that works outside of the spack install env.
+ #######################################################################
+
+ sys_type = spec.architecture
+ # if on llnl systems, we can use the SYS_TYPE
+ if "SYS_TYPE" in env:
+ sys_type = env["SYS_TYPE"]
+
+ ##############################################
+ # Find and record what CMake is used
+ ##############################################
+
+ if "+cmake" in spec:
+ cmake_exe = spec['cmake'].command.path
+ else:
+ cmake_exe = which("cmake")
+ if cmake_exe is None:
+ msg = 'failed to find CMake (and cmake variant is off)'
+ raise RuntimeError(msg)
+ cmake_exe = cmake_exe.path
+
+ host_cfg_fname = "%s-%s-%s-devil_ray.cmake" % (socket.gethostname(),
+ sys_type,
+ spec.compiler)
+
+ cfg = open(host_cfg_fname, "w")
+ cfg.write("##################################\n")
+ cfg.write("# spack generated host-config\n")
+ cfg.write("##################################\n")
+ cfg.write("# {0}-{1}\n".format(sys_type, spec.compiler))
+ cfg.write("##################################\n\n")
+
+ # Include path to cmake for reference
+ cfg.write("# cmake from spack \n")
+ cfg.write("# cmake executable path: %s\n\n" % cmake_exe)
+
+ #######################
+ # Compiler Settings
+ #######################
+ cfg.write("#######\n")
+ cfg.write("# using %s compiler spec\n" % spec.compiler)
+ cfg.write("#######\n\n")
+
+ if "+mpi" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_MPI", "ON"))
+ mpicc_path = spec['mpi'].mpicc
+ mpicxx_path = spec['mpi'].mpicxx
+ # if we are using compiler wrappers on cray systems
+ # use those for mpi wrappers, b/c spec['mpi'].mpicxx
+ # etc make return the spack compiler wrappers
+ # which can trip up mpi detection in CMake 3.14
+ if cpp_compiler == "CC":
+ mpicc_path = "cc"
+ mpicxx_path = "CC"
+
+ cfg.write(cmake_cache_entry("CMAKE_C_COMPILER", mpicc_path))
+ cfg.write(cmake_cache_entry("CMAKE_CXX_COMPILER", mpicxx_path))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_MPI", "OFF"))
+ cfg.write("# c compiler used by spack\n")
+ cfg.write(cmake_cache_entry("CMAKE_C_COMPILER", c_compiler))
+ cfg.write("# cpp compiler used by spack\n")
+ cfg.write(cmake_cache_entry("CMAKE_CXX_COMPILER", cpp_compiler))
+
+ #######################
+ # Backends
+ #######################
+
+ cfg.write("# CUDA Support\n")
+
+ if "+cuda" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_CUDA", "ON"))
+ if 'cuda_arch' in spec.variants:
+ cuda_value = spec.variants['cuda_arch'].value
+ cuda_arch = cuda_value[0]
+ cfg.write(cmake_cache_entry('CUDA_ARCH',
+ 'sm_{0}'.format(cuda_arch)))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_CUDA", "OFF"))
+
+ if "+openmp" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_OPENMP", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_OPENMP", "OFF"))
+
+ # shared vs static libs
+ if "+shared" in spec:
+ cfg.write(cmake_cache_entry("BUILD_SHARED_LIBS", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("BUILD_SHARED_LIBS", "OFF"))
+
+ #######################
+ # Unit Tests
+ #######################
+ if "+test" in spec:
+ cfg.write(cmake_cache_entry("DRAY_ENABLE_TESTS", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("DRAY_ENABLE_TESTS", "OFF"))
+
+ #######################
+ # Utilities
+ #######################
+ if "+utils" in spec:
+ cfg.write(cmake_cache_entry("DRAY_ENABLE_UTILS", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("DRAY_ENABLE_UTILS", "OFF"))
+
+ #######################
+ # Logging
+ #######################
+ if "+logging" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_LOGGING", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_LOGGING", "OFF"))
+
+ #######################
+ # Logging
+ #######################
+ if "+stats" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_STATS", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_STATS", "OFF"))
+
+ #######################################################################
+ # Core Dependencies
+ #######################################################################
+
+ cfg.write("# conduit from spack \n")
+ cfg.write(cmake_cache_entry("CONDUIT_DIR", spec['conduit'].prefix))
+
+ cfg.write("# mfem from spack \n")
+ cfg.write(cmake_cache_entry("MFEM_DIR", spec['mfem'].prefix))
+
+ cfg.write("# raja from spack \n")
+ cfg.write(cmake_cache_entry("RAJA_DIR", spec['raja'].prefix))
+
+ cfg.write("# umpire from spack \n")
+ cfg.write(cmake_cache_entry("UMPIRE_DIR", spec['umpire'].prefix))
+
+ cfg.write("# apcompositor from spack \n")
+ cfg.write(cmake_cache_entry("APCOMP_DIR", spec['apcomp'].prefix))
+
+ cfg.write("##################################\n")
+ cfg.write("# end spack generated host-config\n")
+ cfg.write("##################################\n")
+ cfg.close()
+
+ host_cfg_fname = os.path.abspath(host_cfg_fname)
+ tty.info("spack generated conduit host-config file: " + host_cfg_fname)
+ return host_cfg_fname
+
+ def cmake_args(self):
+ spec = self.spec
+
+ options = []
+
+ if '+openmp' in spec:
+ options.extend([
+ '-DENABLE_OPENMP=On'])
+
+ if '+cuda' in spec:
+ options.extend([
+ '-DENABLE_CUDA=On',
+ '-DCUDA_TOOLKIT_ROOT_DIR=%s' % (spec['cuda'].prefix)])
+ if 'cuda_arch' in spec.variants:
+ cuda_value = spec.variants['cuda_arch'].value
+ cuda_arch = cuda_value[0]
+ options.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch))
+ else:
+ options.extend(['-DENABLE_CUDA=OFF'])
+
+ options.extend(['-DRAJA_DIR=%s' % (spec['raja'].prefix)])
+ options.extend(['-DMFEM_DIR=%s' % (spec['mfem'].prefix)])
+ options.extend(['-DUMPIRE_DIR=%s' % (spec['umpire'].prefix)])
+ options.extend(['-DCONDUIT_DIR=%s' % (spec['conduit'].prefix)])
+ options.extend(['-DDRAY_ENABLE_TESTS=OFF'])
+ options.extend(['-DENABLE_LOGGING=OFF'])
+ options.extend(['-DENABLE_STATS=OFF'])
+ options.extend(['../src'])
+
+ return options
diff --git a/var/spack/repos/builtin/packages/dyninst/package.py b/var/spack/repos/builtin/packages/dyninst/package.py
index 6f43c1eb7b..b6d1fa540f 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -13,8 +13,10 @@ class Dyninst(CMakePackage):
homepage = "https://dyninst.org"
git = "https://github.com/dyninst/dyninst.git"
+ maintainers = ['hainest']
- version('develop', branch='master')
+ version('master', branch='master')
+ version('10.2.0', tag='v10.2.0')
version('10.1.0', tag='v10.1.0')
version('10.0.0', tag='v10.0.0')
version('9.3.2', tag='v9.3.2')
@@ -89,6 +91,11 @@ class Dyninst(CMakePackage):
else:
args.append('-DENABLE_STATIC_LIBS=NO')
+ # Make sure Dyninst doesn't try to build its own dependencies
+ # outside of Spack
+ if spec.satisfies('@10.2.0:'):
+ args.append('-DSTERILE_BUILD=ON')
+
return args
# Old style cmake args, up through 10.0.
diff --git a/var/spack/repos/builtin/packages/eagle/package.py b/var/spack/repos/builtin/packages/eagle/package.py
index 81e0be6f90..0509f32cd4 100644
--- a/var/spack/repos/builtin/packages/eagle/package.py
+++ b/var/spack/repos/builtin/packages/eagle/package.py
@@ -33,6 +33,13 @@ class Eagle(MakefilePackage):
# add htslib link to ldflags
filter_file('-lcurl', '-lcurl -lhts', 'Makefile', string=True)
+ # use spack C compiler
+ filter_file('CC=.*', 'CC={0}'.format(spack_cc), 'Makefile')
+
+ # remove march=native %fj
+ if self.spec.satisfies('%fj'):
+ filter_file('-march=native', '', 'Makefile', string=True)
+
def install(self, spec, prefix):
mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/elfutils/package.py b/var/spack/repos/builtin/packages/elfutils/package.py
index cd6b961227..00647d2d4e 100644
--- a/var/spack/repos/builtin/packages/elfutils/package.py
+++ b/var/spack/repos/builtin/packages/elfutils/package.py
@@ -21,6 +21,7 @@ class Elfutils(AutotoolsPackage, SourcewarePackage):
list_url = "https://sourceware.org/elfutils/ftp"
list_depth = 1
+ version('0.180', sha256='b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d')
version('0.179', sha256='25a545566cbacaa37ae6222e58f1c48ea4570f53ba991886e2f5ce96e22a23a2')
version('0.178', sha256='31e7a00e96d4e9c4bda452e1f2cdac4daf8abd24f5e154dee232131899f3a0f2')
version('0.177', sha256='fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e')
diff --git a/var/spack/repos/builtin/packages/elmerfem/package.py b/var/spack/repos/builtin/packages/elmerfem/package.py
index 464611eaf4..24433a58f8 100644
--- a/var/spack/repos/builtin/packages/elmerfem/package.py
+++ b/var/spack/repos/builtin/packages/elmerfem/package.py
@@ -13,32 +13,47 @@ class Elmerfem(CMakePackage):
homepage = "https://www.csc.fi/web/elmer"
url = "https://github.com/ElmerCSC/elmerfem/archive/release-8.4.tar.gz"
+ git = "https://github.com/ElmerCSC/elmerfem.git"
+ version('ice', branch='elmerice')
+ version('devel', branch='devel')
version('8.4', sha256='cc3ce807d76798361592cc14952cdc3db1ad8f9bac038017514033ce9badc5b3')
- version('devel', git='https://github.com/ElmerCSC/elmerfem.git', branch='devel')
+ variant('mpi', default=True, description='Enable MPI support.')
variant('openmp', default=True, description='Enable OpenMP support.')
variant('mumps', default=False, description='Enable MUMPS support.')
variant('hypre', default=False, description='Enable Hypre support.')
variant('trilinos', default=False, description='Enable Trilinos support.')
variant('zoltan', default=False, description='Enable Zoltan support.')
variant('lua', default=False, description='Enable Lua support.')
+ variant('scatt2d', default=False, description='Build Scattered2DDataInterpolator solver.')
depends_on('mpi')
depends_on('netcdf-fortran')
depends_on('blas')
depends_on('lapack')
+ depends_on('scalapack', when='+mpi')
depends_on('mumps', when='+mumps')
depends_on('hypre', when='+hypre')
depends_on('trilinos~hypre~zoltan~zoltan2', when='+trilinos')
depends_on('zoltan+fortran', when='+zoltan')
depends_on('lua@5.1.5', when='+lua')
+ depends_on('nn-c', when='+scatt2d')
+ depends_on('csa-c', when='+scatt2d')
def cmake_args(self):
spec = self.spec
- args = ['-DWITH_ElmerIce=ON', '-DWITH_CONTRIB=ON', '-DWITH_MPI=ON']
+ args = ['-DWITH_ElmerIce=ON', '-DWITH_CONTRIB=ON']
+
+ if '+mpi' in spec:
+ args.append('-DWITH_MPI=ON')
+ else:
+ args.append('-DWITH_MPI=OFF')
+
+ if self.spec.satisfies('^intel-mkl'):
+ args.append('-DWITH_MKL:BOOL=TRUE')
if '+openmp' in spec:
args.append('-DWITH_OpenMP=ON')
@@ -82,7 +97,21 @@ class Elmerfem(CMakePackage):
else:
args.append('-DWITH_Zoltan=OFF')
+ if '+scatt2d' in spec:
+ args.extend([
+ '-DWITH_ScatteredDataInterpolator=ON',
+ '-DNN_LIBRARY='
+ + join_path(self.spec['nn-c'].prefix, 'lib', 'libnn.a'),
+ '-DNN_INCLUDE_DIR='
+ + join_path(self.spec['nn-c'].prefix, 'include'),
+ '-DCSA_LIBRARY='
+ + join_path(self.spec['csa-c'].prefix, 'lib', 'libcsa.so'),
+ '-DCSA_INCLUDE_DIR='
+ + join_path(self.spec['csa-c'].prefix, 'include')
+ ])
+
return args
def setup_run_environment(self, env):
env.set('ELMER_HOME', self.prefix)
+ env.set('ELMER_Fortran_COMPILER', self.compiler.fc)
diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py
index 3aad567fe5..66054e434f 100644
--- a/var/spack/repos/builtin/packages/elpa/package.py
+++ b/var/spack/repos/builtin/packages/elpa/package.py
@@ -8,15 +8,16 @@ import os
from spack import *
-class Elpa(AutotoolsPackage):
+class Elpa(AutotoolsPackage, CudaPackage):
"""Eigenvalue solvers for Petaflop-Applications (ELPA)"""
homepage = 'http://elpa.mpcdf.mpg.de/'
url = 'http://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz'
+ version('2020.05.001', sha256='66ff1cf332ce1c82075dc7b5587ae72511d2bcb3a45322c94af6b01996439ce5')
+ version('2019.11.001', sha256='10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357')
version('2019.05.002', sha256='d2eab5e5d74f53601220b00d18185670da8c00c13e1c1559ecfb0cd7cb2c4e8d')
- version('2018.11.001',
- sha256='cc27fe8ba46ce6e6faa8aea02c8c9983052f8e73a00cfea38abf7613cb1e1b16')
+ version('2018.11.001', sha256='cc27fe8ba46ce6e6faa8aea02c8c9983052f8e73a00cfea38abf7613cb1e1b16')
version('2018.05.001.rc1', sha256='598c01da20600a4514ea4d503b93e977ac0367e797cab7a7c1b0e0e3e86490db')
version('2017.11.001', sha256='59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820')
version('2017.05.003', sha256='bccd49ce35a323bd734b17642aed8f2588fea4cc78ee8133d88554753bc3bf1b')
@@ -33,6 +34,7 @@ class Elpa(AutotoolsPackage):
depends_on('blas')
depends_on('lapack')
depends_on('scalapack')
+ depends_on('libtool', type='build')
def url_for_version(self, version):
t = 'http://elpa.mpcdf.mpg.de/html/Releases/{0}/elpa-{0}.tar.gz'
@@ -61,14 +63,14 @@ class Elpa(AutotoolsPackage):
return hlist
build_directory = 'spack-build'
+ parallel = False
def configure_args(self):
spec = self.spec
options = []
- # TODO: add --enable-gpu, --disable-sse-assembly, --enable-sparc64
- # and --enable-neon-arch64
- simd_features = ['vsx', 'sse', 'avx', 'avx2', 'avx512', 'bgp', 'bgq']
+ # TODO: --disable-sse-assembly, --enable-sparc64, --enable-neon-arch64
+ simd_features = ['vsx', 'sse', 'avx', 'avx2', 'avx512']
for feature in simd_features:
msg = '--enable-{0}' if feature in spec.target else '--disable-{0}'
@@ -84,6 +86,20 @@ class Elpa(AutotoolsPackage):
'CFLAGS=-O2'
])
+ if '+cuda' in spec:
+ prefix = spec['cuda'].prefix
+ options.append('--enable-gpu')
+ options.append('--with-cuda-path={0}'.format(prefix))
+ options.append('--with-cuda-sdk-path={0}'.format(prefix))
+
+ cuda_arch = spec.variants['cuda_arch'].value[0]
+
+ if cuda_arch != 'none':
+ options.append('--with-GPU-compute-capability=sm_{0}'.
+ format(cuda_arch))
+ else:
+ options.append('--disable-gpu')
+
if '+openmp' in spec:
options.append('--enable-openmp')
else:
@@ -98,4 +114,6 @@ class Elpa(AutotoolsPackage):
'SCALAPACK_LDFLAGS={0}'.format(spec['scalapack'].libs.joined())
])
+ options.append('--disable-silent-rules')
+
return options
diff --git a/var/spack/repos/builtin/packages/elsi/package.py b/var/spack/repos/builtin/packages/elsi/package.py
index db5d4714f6..578bc73c91 100644
--- a/var/spack/repos/builtin/packages/elsi/package.py
+++ b/var/spack/repos/builtin/packages/elsi/package.py
@@ -25,7 +25,7 @@ class Elsi(CMakePackage):
)
variant(
'elpa2_kernel', default="none", description="ELPA2 Kernel",
- values=('BGQ', 'AVX', 'AVX2', 'AVX512'), multi=False
+ values=('AVX', 'AVX2', 'AVX512'), multi=False
)
variant(
'enable_pexsi', default=False, description='Enable PEXSI support'
diff --git a/var/spack/repos/builtin/packages/energyplus/package.py b/var/spack/repos/builtin/packages/energyplus/package.py
index ca534999f9..d781f24452 100644
--- a/var/spack/repos/builtin/packages/energyplus/package.py
+++ b/var/spack/repos/builtin/packages/energyplus/package.py
@@ -17,6 +17,8 @@ class Energyplus(Package):
homepage = "https://energyplus.net"
# versions require explicit URLs as they contain hashes
+ version('9.3.0', sha256='c939dc4f867224e110485a8e0712ce4cfb1e06f8462bc630b54f83a18c93876c',
+ url="https://github.com/NREL/EnergyPlus/releases/download/v9.3.0/EnergyPlus-9.3.0-baff08990c-Linux-x86_64.tar.gz")
version('8.9.0', sha256='13a5192b25815eb37b3ffd019ce3b99fd9f854935f8cc4362814f41c56e9ca98',
url="https://github.com/NREL/EnergyPlus/releases/download/v8.9.0-WithIDDFixes/EnergyPlus-8.9.0-eba93e8e1b-Linux-x86_64.tar.gz")
@@ -25,13 +27,14 @@ class Energyplus(Package):
# and then symlink the appropriate targets
# there is only one folder with a semi-predictable name so we glob it
- install_tree(glob.glob('EnergyPlus*')[0],
- join_path(prefix.lib, 'energyplus'))
+ source_dir = '.'
+
+ if spec.satisfies('@:8.9.9'):
+ source_dir = glob.glob('EnergyPlus*')[0]
+
+ install_tree(source_dir, prefix.lib.enregyplus)
mkdirp(prefix.bin)
- os.symlink(join_path(prefix.lib, 'energyplus/energyplus'),
- join_path(prefix.bin, 'energyplus'))
- os.symlink(join_path(prefix.lib, 'energyplus/EPMacro'),
- join_path(prefix.bin, 'EPMacro'))
- os.symlink(join_path(prefix.lib, 'energyplus/ExpandObjects'),
- join_path(prefix.bin, 'ExpandObjects'))
+ for b in ['energyplus', 'EPMacro', 'ExpandObjects']:
+ os.symlink(join_path(prefix.lib.energyplus, b),
+ join_path(prefix.bin, b))
diff --git a/var/spack/repos/builtin/packages/environment-modules/package.py b/var/spack/repos/builtin/packages/environment-modules/package.py
index 3a756a0d8c..d2d1853304 100644
--- a/var/spack/repos/builtin/packages/environment-modules/package.py
+++ b/var/spack/repos/builtin/packages/environment-modules/package.py
@@ -12,10 +12,11 @@ class EnvironmentModules(Package):
"""
homepage = 'https://cea-hpc.github.io/modules/'
- url = 'https://github.com/cea-hpc/modules/releases/download/v4.5.1/modules-4.5.1.tar.gz'
+ url = 'https://github.com/cea-hpc/modules/releases/download/v4.5.2/modules-4.5.2.tar.gz'
maintainers = ['xdelaruelle']
+ version('4.5.2', sha256='74ccc9ab0fea0064ff3f4c5841435cef13cc6d9869b3c2b25e5ca4efa64a69a1')
version('4.5.1', sha256='7d4bcc8559e7fbbc52e526fc86a15b161ff4422aa49eee37897ee7a48eb64ac2')
version('4.5.0', sha256='5f46336f612553af5553d99347f387f733de0aaa0d80d4572e67615289382ec8')
version('4.4.1', sha256='3c20cfb2ff8a4d74ac6d566e7b5fa9dd220d96d17e6d8a4ae29b1ec0107ee407')
diff --git a/var/spack/repos/builtin/packages/eospac/frt.patch b/var/spack/repos/builtin/packages/eospac/frt.patch
new file mode 100644
index 0000000000..f5f04a3a45
--- /dev/null
+++ b/var/spack/repos/builtin/packages/eospac/frt.patch
@@ -0,0 +1,63 @@
+diff -u -r -N a/Source/config/Makefile.-linux-gnu.detect b/Source/config/Makefile.-linux-gnu.detect
+--- a/Source/config/Makefile.-linux-gnu.detect 2020-08-07 14:05:03.000000000 +0900
++++ b/Source/config/Makefile.-linux-gnu.detect 2020-08-07 14:09:43.000000000 +0900
+@@ -18,7 +18,7 @@
+ ##################################################################
+ # Compiler suite configurations based upon F90 ###
+ ##################################################################
+-F90_List = gfortran pgfortran pgf90 lf95 f90 ifort g95 ftn pathf90 flang
++F90_List = gfortran pgfortran pgf90 lf95 f90 ifort g95 ftn pathf90 flang frt
+
+ # Default: use the first F90 compiler found from F90_List
+ F90_Found_List = $(call memoize,create_F90_Found_List_once,$(F90_List))
+diff -u -r -N a/Source/config/Makefile.-linux-gnu.hashes b/Source/config/Makefile.-linux-gnu.hashes
+--- a/Source/config/Makefile.-linux-gnu.hashes 2020-08-07 14:05:03.000000000 +0900
++++ b/Source/config/Makefile.-linux-gnu.hashes 2020-08-07 14:24:53.000000000 +0900
+@@ -33,6 +33,7 @@
+ $(call set,_CC,gfortran, gcc ) # gfortran
+ $(call set,_CC,ftn, cc gcc ) # Cray Computing Environment (cce)
+ $(call set,_CC,flang, clang gcc ) # flang/clang
++$(call set,_CC,frt, fcc gcc ) # Fujitsu
+
+ $(call set,_CXX,pgfortran, pgCC pgc++ g++ ) # PGI
+ $(call set,_CXX,pgf90, pgCC pgc++ g++ ) # PGI
+@@ -44,6 +45,7 @@
+ $(call set,_CXX,gfortran, g++ ) # gfortran
+ $(call set,_CXX,ftn, CC g++ ) # Cray Computing Environment (cce)
+ $(call set,_CXX,flang, clang++ g++ ) # flang/clang++
++$(call set,_CXX,frt, FCC g++ ) # Fujitsu
+
+ $(call set,_F77,pgfortran, pgfortran pgf77 pgf90 ) # PGI
+ $(call set,_F77,pgf90, pgfortran pgf77 pgf90 ) # PGI
+@@ -55,6 +57,7 @@
+ $(call set,_F77,gfortran, $(F90) ) # gfortran
+ $(call set,_F77,ftn, $(F90) ) # Cray Computing Environment (cce)
+ $(call set,_F77,flang, flang ) # flang
++$(call set,_F77,frt, frt ) # Fujitsu
+
+ ##################################################################
+ ### Define CC, CXX and F77 according to $(F90_Key). ###
+@@ -101,6 +104,7 @@
+ $(call set,_COMP_FLAGS,ppu-gfortran, -I"$(INCDIR)" ) # ppu-gfortran
+ $(call set,_COMP_FLAGS,ftn, -e m -I"$(INCDIR)" -hfp0 ) # Cray Computing Environment (cce)
+ $(call set,_COMP_FLAGS,flang, -I"$(INCDIR)" ) # flang
++$(call set,_COMP_FLAGS,frt, -I"$(INCDIR)" ) # Fujitsu
+
+ # define define_module_subdir script options
+ $(call set,_DEFINE_MODULE_SUBDIR_FLAGS,f90,) # Absoft f90
+@@ -113,6 +117,7 @@
+ $(call set,_DEFINE_MODULE_SUBDIR_FLAGS,gfortran,) # gfortran
+ $(call set,_DEFINE_MODULE_SUBDIR_FLAGS,ftn,) # Cray Computing Environment (cce)
+ $(call set,_DEFINE_MODULE_SUBDIR_FLAGS,flang,) # flang
++$(call set,_DEFINE_MODULE_SUBDIR_FLAGS,frt,) # Fujitsu
+
+ # define define_module_subdir script patterns
+ $(call set,_DEFINE_MODULE_SUBDIR_PATTS,f90,absoft) # Absoft f90
+@@ -125,6 +130,7 @@
+ $(call set,_DEFINE_MODULE_SUBDIR_PATTS,gfortran,gcc) # gfortran
+ $(call set,_DEFINE_MODULE_SUBDIR_PATTS,ftn,cce) # Cray Computing Environment (cce)
+ $(call set,_DEFINE_MODULE_SUBDIR_PATTS,flang,flang) # flang
++$(call set,_DEFINE_MODULE_SUBDIR_PATTS,frt,frt) # Fujitsu
+
+ # define optional modules for cross-compiling
+ X_Compile_Module_List = craype-haswell craype-mic-knl
diff --git a/var/spack/repos/builtin/packages/eospac/package.py b/var/spack/repos/builtin/packages/eospac/package.py
index 0d9221e7df..eece080dc9 100644
--- a/var/spack/repos/builtin/packages/eospac/package.py
+++ b/var/spack/repos/builtin/packages/eospac/package.py
@@ -30,20 +30,26 @@ class Eospac(Package):
# This patch allows the use of spack's compile wrapper 'flang'
patch('flang.patch', when='@:6.4.0beta.2%clang')
+ patch('frt.patch', when='%fj')
def install(self, spec, prefix):
with working_dir('Source'):
+ compilerArgs = []
+ compilerArgs.append('CC={0}'.format(spack_cc))
+ compilerArgs.append('CXX={0}'.format(spack_cxx))
+ compilerArgs.append('F77={0}'.format(spack_f77))
+ compilerArgs.append('F90={0}'.format(spack_fc))
+ # Eospac depends on fcommon behavior
+ # but gcc@10 flipped to default fno-common
+ if "%gcc@10:" in spec:
+ compilerArgs.append('CFLAGS=-fcommon')
make('install',
- 'CC={0}'.format(spack_cc),
- 'CXX={0}'.format(spack_cxx),
- 'F77={0}'.format(spack_f77),
- 'F90={0}'.format(spack_fc),
'prefix={0}'.format(prefix),
'INSTALLED_LIBRARY_DIR={0}'.format(prefix.lib),
'INSTALLED_INCLUDE_DIR={0}'.format(prefix.include),
'INSTALLED_EXAMPLE_DIR={0}'.format(prefix.example),
- 'INSTALLED_BIN_DIR={0}'.format(prefix.bin))
-
+ 'INSTALLED_BIN_DIR={0}'.format(prefix.bin),
+ *compilerArgs)
# fix conflict with linux's getopt for 6.4.0beta.2
if spec.satisfies('@6.4.0beta.2'):
with working_dir(prefix.bin):
diff --git a/var/spack/repos/builtin/packages/erfa/package.py b/var/spack/repos/builtin/packages/erfa/package.py
index dd2e838c18..b500089352 100644
--- a/var/spack/repos/builtin/packages/erfa/package.py
+++ b/var/spack/repos/builtin/packages/erfa/package.py
@@ -7,15 +7,11 @@ from spack import *
class Erfa(AutotoolsPackage):
- """ERFA(Essential Routines for Fundamental Astronomy)
+ """ERFA (Essential Routines for Fundamental Astronomy)
is a C library containing key algorithms for astronomy."""
homepage = "https://github.com/liberfa/erfa"
- url = "https://github.com/liberfa/erfa/archive/v1.4.0.tar.gz"
+ url = "https://github.com/liberfa/erfa/releases/download/v1.7.0/erfa-1.7.0.tar.gz"
- version('1.4.0', sha256='90113f18a1a05a3d26970a95b70a71ec52d71156b967ffd6c26dd1626d92e946')
-
- depends_on('m4', type='build')
- depends_on('autoconf', type='build')
- depends_on('automake', type='build')
- depends_on('libtool', type='build')
+ version('1.7.0', sha256='f0787e30e848750c0cbfc14827de6fc7f69a2d5ef0fc653504e74b8967a764e0')
+ version('1.4.0', sha256='035b7f0ad05c1191b8588191ba4b19ba0f31afa57ad561d33bd5417d9f23e460')
diff --git a/var/spack/repos/builtin/packages/erlang/package.py b/var/spack/repos/builtin/packages/erlang/package.py
index f1fc027ae0..02d097fbd3 100644
--- a/var/spack/repos/builtin/packages/erlang/package.py
+++ b/var/spack/repos/builtin/packages/erlang/package.py
@@ -27,3 +27,4 @@ class Erlang(AutotoolsPackage):
depends_on('automake', type='build')
depends_on('m4', type='build')
depends_on('libtool', type='build')
+ depends_on('ncurses', type='link')
diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py
index b533851228..3055b4446e 100644
--- a/var/spack/repos/builtin/packages/esmf/package.py
+++ b/var/spack/repos/builtin/packages/esmf/package.py
@@ -169,7 +169,7 @@ class Esmf(MakefilePackage):
os.environ['ESMF_CXXLINKLIBS'] = '-lmpifort'
elif '^openmpi' in spec:
os.environ['ESMF_COMM'] = 'openmpi'
- elif '^intel-parallel-studio+mpi' in spec:
+ elif '^intel-parallel-studio+mpi' in spec or '^intel-mpi' in spec:
os.environ['ESMF_COMM'] = 'intelmpi'
else:
# Force use of the single-processor MPI-bypass library.
diff --git a/var/spack/repos/builtin/packages/espanso/package.py b/var/spack/repos/builtin/packages/espanso/package.py
new file mode 100644
index 0000000000..b820a14be8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/espanso/package.py
@@ -0,0 +1,32 @@
+# 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 Espanso(Package):
+ """Cross-platform Text Expander written in Rust"""
+
+ homepage = "https://github.com/federico-terzi/espanso"
+ url = "https://github.com/federico-terzi/espanso/releases/download/v0.6.3/espanso-linux.tar.gz"
+
+ maintainers = ['zicklag']
+
+ version('0.6.3', sha256='eb9f9563ed0924d1494f0b406b6d3df9d7df00e81affaf15023d1c82dd8ac561')
+ version('0.6.2', sha256='db2e53c8e0a17575f69739e53dd6a486dd0e912abbc7ac7c33d98567bd1f0e18')
+ version('0.6.1', sha256='0917d4a990bfc5ced368ce9fbc3aa4bc4dac4d39ddea88359dc628fee16daf87')
+ version('0.6.0', sha256='97689b734235224dde2fb4723bee24324a53355a6b549fb9d024a0c8ddb3cd98')
+ version('0.5.5', sha256='94687a3049a43ed4c2ed3814afb4e32e09dec8ec396e54a7b012de936f0260e9')
+ version('0.5.4', sha256='87e4c4a8a7bfb95a3ee987e34af3a37ca4d962bec3f863ef74be7fc8cdd1a9dd')
+ version('0.5.3', sha256='1db21f74385b1eb94ac6d27def550d02dce8da34bce1f8f4a0c4eb9bfd80d135')
+ version('0.5.2', sha256='69c8d3460ae497a2224cbf290c334c9151fc756053f65cbaf9ce8e9284ad50fd')
+ version('0.5.1', sha256='e68d90256f9eb26b57085b5170e238752bfbfcf3d50ccaa5693974460cb19deb')
+ version('0.5.0', sha256='f85c098a20b1022d8a6b751e3a56431caa01c796ce88ab95aae8950a1233da55')
+
+ depends_on('xclip')
+ depends_on('xdotool')
+
+ def install(self, spec, prefix):
+ mkdir(prefix.bin)
+ install('espanso', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/examl/package.py b/var/spack/repos/builtin/packages/examl/package.py
new file mode 100644
index 0000000000..d5f115b9be
--- /dev/null
+++ b/var/spack/repos/builtin/packages/examl/package.py
@@ -0,0 +1,50 @@
+# 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 Examl(MakefilePackage):
+ """
+ Exascale Maximum Likelihood (ExaML) code for phylogenetic inference
+ using MPI. This code implements the popular RAxML search algorithm
+ for maximum likelihood based inference of phylogenetic trees.
+ """
+
+ homepage = "https://github.com/stamatak/ExaML"
+ url = "https://github.com/stamatak/ExaML/archive/v3.0.22.tar.gz"
+
+ maintainers = ['robqiao']
+
+ version('3.0.22', sha256='802e673b0c2ea83fdbe6b060048d83f22b6978933a04be64fb9b4334fe318ca3')
+ version('3.0.21', sha256='6c7e6c5d7bf4ab5cfbac5cc0d577885272a803c142e06b531693a6a589102e2e')
+ version('3.0.20', sha256='023681248bbc7f19821b509948d79301e46bbf275aa90bf12e9f4879639a023b')
+ version('3.0.19', sha256='3814230bf7578b8396731dc87ce665d0b1a671d8effd571f924c5b7936ae1c9e')
+ version('3.0.18', sha256='1bacb5124d943d921e7beae52b7062626d0ce3cf2f83e3aa3acf6ea26cf9cd87')
+ version('3.0.17', sha256='90a859e0b8fff697722352253e748f03c57b78ec5fbc1ae72f7e702d299dac67')
+ version('3.0.16', sha256='abc922994332d40892e30f077e4644db08cd59662da8e2a9197d1bd8bcb9aa5f')
+ version('3.0.15', sha256='da5e66a63d6fa34b640535c359d8daf67f23bd2fcc958ac604551082567906b0')
+ version('3.0.14', sha256='698b538996946ae23a2d6fa1e230c210832e59080da33679ff7d6b342a9e6180')
+ version('3.0.13', sha256='893aecb5545798235a17975aa07268693d3526d0aee0ed59a2d6e791248791ed')
+
+ variant('mpi', default=True, description='Enable MPI parallel support')
+
+ depends_on('mpi', when='+mpi')
+
+ def build(self, spec, prefix):
+ #####################
+ # Build Directories #
+ #####################
+ with working_dir('examl'):
+ make('-f', 'Makefile.SSE3.gcc')
+ with working_dir('parser'):
+ make('-f', 'Makefile.SSE3.gcc')
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install("examl/examl", prefix.bin)
+ install("parser/parse-examl", prefix.bin)
+ install_tree("manual", prefix.manual)
+ install_tree("testData", prefix.testData)
diff --git a/var/spack/repos/builtin/packages/express/package.py b/var/spack/repos/builtin/packages/express/package.py
index d434a866c1..d54dec85c7 100644
--- a/var/spack/repos/builtin/packages/express/package.py
+++ b/var/spack/repos/builtin/packages/express/package.py
@@ -27,6 +27,7 @@ class Express(CMakePackage):
# patch from the debian package repo:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811859
patch('gcc-6.patch', when='%gcc@6.0.0:')
+ patch('gcc-6.patch', when='%fj')
def patch(self):
with working_dir('src'):
diff --git a/var/spack/repos/builtin/packages/eztrace/package.py b/var/spack/repos/builtin/packages/eztrace/package.py
index ddf9808f7b..f73087de99 100644
--- a/var/spack/repos/builtin/packages/eztrace/package.py
+++ b/var/spack/repos/builtin/packages/eztrace/package.py
@@ -21,6 +21,26 @@ class Eztrace(AutotoolsPackage):
# Does not work on Darwin due to MAP_POPULATE
conflicts('platform=darwin')
+ def patch(self):
+ filter_file(
+ '"DEFAULT_OUTFILE"',
+ '" DEFAULT_OUTFILE "',
+ 'extlib/gtg/extlib/otf/tools/otfshrink/otfshrink.cpp',
+ string=True
+ )
+
+ def setup_build_environment(self, env):
+ if self.spec.satisfies('%fj'):
+ env.set('LDFLAGS', '--linkfortran')
+
def configure_args(self):
args = ["--with-mpi={0}".format(self.spec["mpi"].prefix)]
return args
+
+ @run_before('build')
+ def fix_libtool(self):
+ if self.spec.satisfies('%fj'):
+ libtools = ['extlib/gtg/libtool',
+ 'extlib/opari2/build-frontend/libtool']
+ for f in libtools:
+ filter_file('wl=""', 'wl="-Wl,"', f, string=True)
diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
new file mode 100644
index 0000000000..30f37b304a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py
@@ -0,0 +1,53 @@
+# Copyright 2013-2019 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 FenicsDolfinx(CMakePackage):
+ """Next generation FEniCS problem solving environment"""
+
+ homepage = "https://github.com/FEniCS/dolfinx"
+ git = "https://github.com/FEniCS/dolfinx.git"
+ maintainers = ["js947", "chrisrichardson"]
+
+ version("master", branch="master")
+
+ variant("kahip", default=False, description="kahip support")
+ variant("parmetis", default=False, description="parmetis support")
+ variant("slepc", default=False, description="slepc support")
+
+ depends_on("cmake@3.9:", type="build")
+ depends_on("pkgconfig", type="build")
+ depends_on("mpi")
+ depends_on("hdf5+hl+fortran")
+ depends_on("boost")
+ depends_on("eigen@3.3.7:")
+ depends_on("petsc+mpi+shared+hypre+metis")
+ depends_on("scotch+mpi")
+
+ depends_on("kahip", when="+kahip")
+ depends_on("parmetis", when="+parmetis")
+ depends_on("slepc", when="+slepc")
+
+ depends_on("py-fenics-ffcx", type=["build", "run"])
+
+ conflicts('%gcc@:6', msg='C++17 support required')
+
+ root_cmakelists_dir = "cpp"
+
+ def cmake_args(self):
+ args = [
+ "-DDOLFINX_SKIP_BUILD_TESTS=True",
+ "-DDOLFINX_ENABLE_KAHIP=%s" % (
+ 'ON' if "+kahip" in self.spec else 'OFF'),
+ "-DDOLFINX_ENABLE_PARMETIS=%s" % (
+ 'ON' if "+parmetis" in self.spec else 'OFF'),
+ "-DDOLFINX_ENABLE_SLEPC=%s" % (
+ 'ON' if "+slepc" in self.spec else 'OFF'),
+ "-DPython3_ROOT_DIR=%s" % self.spec['python'].home,
+ "-DPython3_FIND_STRATEGY=LOCATION",
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/ferret/package.py b/var/spack/repos/builtin/packages/ferret/package.py
index 1ad1978240..5878403e26 100644
--- a/var/spack/repos/builtin/packages/ferret/package.py
+++ b/var/spack/repos/builtin/packages/ferret/package.py
@@ -13,10 +13,18 @@ class Ferret(Package):
designed to meet the needs of oceanographers and meteorologists
analyzing large and complex gridded data sets."""
homepage = "http://ferret.pmel.noaa.gov/Ferret/home"
- url = "ftp://ftp.pmel.noaa.gov/ferret/pub/source/fer_source.v696.tar.gz"
+ url = "https://github.com/NOAA-PMEL/Ferret/archive/v7.6.0.tar.gz"
- version('7.2', sha256='21c339b1bafa6939fc869428d906451f130f7e77e828c532ab9488d51cf43095')
- version('6.96', sha256='7eb87156aa586cfe838ab83f08b2102598f9ab62062d540a5da8c9123816331a')
+ maintainers = ['RemiLacroix-IDRIS']
+
+ version('7.6.0', sha256='69832d740bd44c9eadd198a5de4d96c4c01ae90ae28c2c3414c1bb9f43e475d1')
+ version('7.5.0', sha256='2a038c547e6e80e6bd0645a374c3247360cf8c94ea56f6f3444b533257eb16db')
+ version('7.4', sha256='5167bb9e6ef441ae9cf90da555203d2155e3fcf929e7b8dddb237de0d58c5e5f')
+ version('7.3', sha256='ae80a732c34156b5287a23696cf4ae4faf4de1dd705ff43cbb4168b05c6faaf4')
+ version('7.2', sha256='21c339b1bafa6939fc869428d906451f130f7e77e828c532ab9488d51cf43095')
+ version('6.96', sha256='7eb87156aa586cfe838ab83f08b2102598f9ab62062d540a5da8c9123816331a')
+
+ variant('datasets', default=False, description="Install Ferret standard datasets")
depends_on("hdf5+hl")
depends_on("netcdf-c")
@@ -24,53 +32,128 @@ class Ferret(Package):
depends_on("readline")
depends_on("zlib")
depends_on("libx11")
+ depends_on("curl")
+
+ # Make Java dependency optional with older versions of Ferret
+ patch('https://github.com/NOAA-PMEL/Ferret/commit/c7eb70a0b17045c8ca7207d586bfea77a5340668.patch',
+ sha256='5bd581db4578c013faed375844b206fbe71f93fe9ce60f8f9f41d64abc6a5972',
+ level=1, working_dir='FERRET', when='@:6.99')
+
+ resource(name='datasets',
+ url='https://github.com/NOAA-PMEL/FerretDatasets/archive/v7.6.tar.gz',
+ sha256='b2fef758ec1817c1c19e6225857ca3a82c727d209ed7fd4697d45c5533bb2c72',
+ placement='fer_dsets', when='+datasets')
def url_for_version(self, version):
- return "ftp://ftp.pmel.noaa.gov/ferret/pub/source/fer_source.v{0}.tar.gz".format(
- version.joined)
+ if version <= Version('7.2'):
+ return 'ftp://ftp.pmel.noaa.gov/ferret/pub/source/fer_source.v{0}.tar.gz'.format(
+ version.joined)
+ else:
+ return 'https://github.com/NOAA-PMEL/Ferret/archive/v{0}.tar.gz'.format(version)
def patch(self):
- hdf5_prefix = self.spec['hdf5'].prefix
- netcdff_prefix = self.spec['netcdf-fortran'].prefix
- readline_prefix = self.spec['readline'].prefix
- libz_prefix = self.spec['zlib'].prefix
-
- filter_file(r'^BUILDTYPE.+',
- 'BUILDTYPE = x86_64-linux',
- 'FERRET/site_specific.mk')
- filter_file(r'^INSTALL_FER_DIR.+',
- 'INSTALL_FER_DIR = %s' % self.spec.prefix,
- 'FERRET/site_specific.mk')
- filter_file(r'^HDF5_DIR.+',
- 'HDF5_DIR = %s' % hdf5_prefix,
- 'FERRET/site_specific.mk')
- filter_file(r'^NETCDF4_DIR.+',
- 'NETCDF4_DIR = %s' % netcdff_prefix,
- 'FERRET/site_specific.mk')
- filter_file(r'^READLINE_DIR.+',
- 'READLINE_DIR = %s' % readline_prefix,
- 'FERRET/site_specific.mk')
- filter_file(r'^LIBZ_DIR.+',
- 'LIBZ_DIR = %s' % libz_prefix,
- 'FERRET/site_specific.mk')
- filter_file(r'^JAVA_HOME.+',
- ' ',
- 'FERRET/site_specific.mk')
- filter_file(r'-lm',
- '-lgfortran -lm',
- 'FERRET/platform_specific.mk.x86_64-linux')
- filter_file(r'\$\(NETCDF4_DIR\)/lib64/libnetcdff.a',
- "-L%s -lnetcdff" % self.spec['netcdf-fortran'].prefix.lib,
- 'FERRET/platform_specific.mk.x86_64-linux')
- filter_file(r'\$\(NETCDF4_DIR\)/lib64/libnetcdf.a',
- "-L%s -lnetcdf" % self.spec['netcdf-c'].prefix.lib,
- 'FERRET/platform_specific.mk.x86_64-linux')
- filter_file(r'\$\(HDF5_DIR\)/lib64/libhdf5_hl.a',
- "-L%s -lhdf5_hl" % self.spec['hdf5'].prefix.lib,
- 'FERRET/platform_specific.mk.x86_64-linux')
- filter_file(r'\$\(HDF5_DIR\)/lib64/libhdf5.a',
- "-L%s -lhdf5" % self.spec['hdf5'].prefix.lib,
- 'FERRET/platform_specific.mk.x86_64-linux')
+ spec = self.spec
+ hdf5_prefix = spec['hdf5'].prefix
+ netcdff_prefix = spec['netcdf-fortran'].prefix
+ readline_prefix = spec['readline'].prefix
+ libz_prefix = spec['zlib'].prefix
+
+ work_dir = 'FERRET' if '@:7.2' in spec else '.'
+ with working_dir(work_dir, create=False):
+ if '@7.3:' in spec:
+ copy('site_specific.mk.in', 'site_specific.mk')
+ copy('external_functions/ef_utility/site_specific.mk.in',
+ 'external_functions/ef_utility/site_specific.mk')
+
+ filter_file(r'^DIR_PREFIX.+',
+ 'DIR_PREFIX = %s' % self.stage.source_path,
+ 'site_specific.mk')
+ # Setting this to blank not to force
+ # using the static version of readline
+ filter_file(r'^(READLINE_(LIB)?DIR).+',
+ '\\1 = ',
+ 'site_specific.mk')
+ else:
+ filter_file(r'^LIBZ_DIR.+',
+ 'LIBZ_DIR = %s' % libz_prefix,
+ 'site_specific.mk')
+ filter_file(r'^JAVA_HOME.+',
+ ' ',
+ 'site_specific.mk')
+ filter_file(r'^READLINE_DIR.+',
+ 'READLINE_DIR = %s' % readline_prefix,
+ 'site_specific.mk')
+
+ filter_file(r'^BUILDTYPE.+',
+ 'BUILDTYPE = x86_64-linux',
+ 'site_specific.mk')
+ filter_file(r'^INSTALL_FER_DIR.+',
+ 'INSTALL_FER_DIR = %s' % spec.prefix,
+ 'site_specific.mk')
+ filter_file(r'^(HDF5_(LIB)?DIR).+',
+ '\\1 = %s' % hdf5_prefix,
+ 'site_specific.mk')
+ filter_file(r'^(NETCDF4?_(LIB)?DIR).+',
+ '\\1 = %s' % netcdff_prefix,
+ 'site_specific.mk')
+
+ if '@:7.3' in spec:
+ # Don't force using the static version of libz
+ filter_file(r'\$\(LIBZ_DIR\)/lib64/libz.a',
+ '-lz',
+ 'platform_specific.mk.x86_64-linux')
+
+ # Don't force using the static version of libgfortran
+ filter_file(r'-Wl,-Bstatic -lgfortran -Wl,-Bdynamic',
+ '-lgfortran',
+ 'platform_specific.mk.x86_64-linux')
+
+ # This prevents the rpaths to be properly set
+ # by Spack's compiler wrappers
+ filter_file(r'-v --verbose',
+ '',
+ 'platform_specific.mk.x86_64-linux')
+
+ filter_file(r'^[ \t]*LD[ \t]*=.+',
+ 'LD = %s' % spack_cc,
+ 'platform_specific.mk.x86_64-linux')
+ else:
+ # Don't force using the static version of libgfortran
+ filter_file(r'-static-libgfortran',
+ '',
+ 'platform_specific.mk.x86_64-linux')
+
+ if '@:7.4' in spec:
+ compilers_spec_file = 'platform_specific.mk.x86_64-linux'
+ else:
+ compilers_spec_file = 'site_specific.mk'
+
+ # Make sure Ferret uses Spack's compiler wrappers
+ filter_file(r'^[ \t]*CC[ \t]*=.+',
+ 'CC = %s' % spack_cc,
+ compilers_spec_file)
+ filter_file(r'^[ \t]*CXX[ \t]*=.+',
+ 'CXX = %s' % spack_cxx,
+ compilers_spec_file)
+ filter_file(r'^[ \t]*FC[ \t]*=.+',
+ 'FC = %s' % spack_fc,
+ compilers_spec_file)
+ filter_file(r'^[ \t]*F77[ \t]*=.+',
+ 'F77 = %s' % spack_f77,
+ compilers_spec_file)
+
+ filter_file(r'\$\(NETCDF4?_(LIB)?DIR\).*/libnetcdff.a',
+ "-L%s -lnetcdff" % spec['netcdf-fortran'].prefix.lib,
+ 'platform_specific.mk.x86_64-linux')
+ filter_file(r'\$\(NETCDF4?_(LIB)?DIR\).*/libnetcdf.a',
+ "-L%s -lnetcdf" % spec['netcdf-c'].prefix.lib,
+ 'platform_specific.mk.x86_64-linux')
+ filter_file(r'\$\(HDF5_(LIB)?DIR\).*/libhdf5_hl.a',
+ "-L%s -lhdf5_hl" % spec['hdf5'].prefix.lib,
+ 'platform_specific.mk.x86_64-linux')
+ filter_file(r'\$\(HDF5_(LIB)?DIR\).*/libhdf5.a',
+ "-L%s -lhdf5" % spec['hdf5'].prefix.lib,
+ 'platform_specific.mk.x86_64-linux')
def install(self, spec, prefix):
if 'LDFLAGS' in env and env['LDFLAGS']:
@@ -78,8 +161,37 @@ class Ferret(Package):
else:
env['LDFLAGS'] = '-lquadmath'
- with working_dir('FERRET', create=False):
+ work_dir = 'FERRET' if '@:7.2' in self.spec else '.'
+ with working_dir(work_dir, create=False):
os.environ['LD_X11'] = '-L%s -lX11' % spec['libx11'].prefix.lib
os.environ['HOSTTYPE'] = 'x86_64-linux'
make(parallel=False)
make("install")
+
+ if '+datasets' in self.spec:
+ mkdir(self.prefix.fer_dsets)
+ install_tree('fer_dsets', self.prefix.fer_dsets)
+
+ def setup_run_environment(self, env):
+ env.set('FER_DIR', self.prefix)
+ env.set('FER_GO', ' '.join(['.', self.prefix.go, self.prefix.examples,
+ self.prefix.contrib]))
+ env.set('FER_EXTERNAL_FUNCTIONS', self.prefix.ext_func.libs)
+ env.set('FER_PALETTE', ' '.join(['.', self.prefix.ppl]))
+ env.set('FER_FONTS', self.prefix.ppl.fonts)
+
+ fer_data = ['.']
+ fer_descr = ['.']
+ fer_grids = ['.']
+
+ if '+datasets' in self.spec:
+ env.set('FER_DSETS', self.prefix.fer_dsets)
+
+ fer_data.append(self.prefix.fer_dsets.data)
+ fer_descr.append(self.prefix.fer_dsets.descr)
+ fer_grids.append(self.prefix.fer_dsets.grids)
+
+ fer_data.extend([self.prefix.go, self.prefix.examples])
+ env.set('FER_DATA', ' '.join(fer_data))
+ env.set('FER_DESCR', ' '.join(fer_descr))
+ env.set('FER_GRIDS', ' '.join(fer_grids))
diff --git a/var/spack/repos/builtin/packages/fftw/intel-configure.patch b/var/spack/repos/builtin/packages/fftw/intel-configure.patch
new file mode 100644
index 0000000000..21b95c0efe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/fftw/intel-configure.patch
@@ -0,0 +1,54 @@
+--- configure 2020-08-07 15:58:51.343052000 +0200
++++ configure 2020-08-07 16:03:16.202984102 +0200
+@@ -14858,51 +14858,6 @@
+
+
+ case "${ax_cv_c_compiler_vendor}" in
+- intel) # Stop icc from defining __GNUC__, except on MacOS where this fails
+- case "${host_os}" in
+- *darwin*) ;; # icc -no-gcc fails to compile some system headers
+- *)
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -no-gcc" >&5
+-$as_echo_n "checking whether C compiler accepts -no-gcc... " >&6; }
+-if ${ax_cv_c_flags__no_gcc+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+-
+- ax_save_FLAGS=$CFLAGS
+- CFLAGS="-no-gcc"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"; then :
+- ax_cv_c_flags__no_gcc=yes
+-else
+- ax_cv_c_flags__no_gcc=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+- CFLAGS=$ax_save_FLAGS
+-fi
+-
+-eval ax_check_compiler_flags=$ax_cv_c_flags__no_gcc
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_check_compiler_flags" >&5
+-$as_echo "$ax_check_compiler_flags" >&6; }
+-if test "x$ax_check_compiler_flags" = xyes; then
+- CC="$CC -no-gcc"
+-else
+- :
+-fi
+-
+- ;;
+- esac
+- ;;
+-
+ hp) # must (sometimes) manually increase cpp limits to handle fftw3.h
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wp,-H128000" >&5
+ $as_echo_n "checking whether C compiler accepts -Wp,-H128000... " >&6; }
diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py
index b644677fd1..c9544add21 100644
--- a/var/spack/repos/builtin/packages/fftw/package.py
+++ b/var/spack/repos/builtin/packages/fftw/package.py
@@ -33,6 +33,7 @@ class Fftw(AutotoolsPackage):
patch('pfft-3.3.5.patch', when="@3.3.5:+pfft_patches", level=0)
patch('pfft-3.3.4.patch', when="@3.3.4+pfft_patches", level=0)
patch('pgi-3.3.6-pl2.patch', when="@3.3.6-pl2%pgi", level=0)
+ patch('intel-configure.patch', when="@3:3.3.8%intel", level=0)
variant(
'precision', values=any_combination_of(
diff --git a/var/spack/repos/builtin/packages/findbugs/package.py b/var/spack/repos/builtin/packages/findbugs/package.py
new file mode 100644
index 0000000000..e81b3247dd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/findbugs/package.py
@@ -0,0 +1,26 @@
+# 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 Findbugs(Package):
+ """a program which uses static analysis to look for bugs in Java code.
+ It is free software, distributed under the terms of the Lesser GNU
+ Public License."""
+
+ homepage = "https://findbugs.sourceforge.net/"
+ url = "https://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-3.0.1.tar.gz"
+ list_url = "https://sourceforge.net/projects/findbugs/files/findbugs"
+ list_depth = 1
+
+ version('3.0.1', sha256='e80e0da0c213a27504ef3188ef25f107651700ffc66433eac6a7454bbe336419')
+ version('3.0.0', sha256='31c75797ead68dbb334fd57bf16f4b7b99c9e266447171453e06fdf673335f33')
+ version('2.0.3', sha256='59ba2a64d786ae5b3fa46e9f9c7bb3ea91c24d43d383c8ef594217f6f51e499f')
+
+ depends_on('java', type=('run'))
+
+ def install(self, spec, prefix):
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/flang/package.py b/var/spack/repos/builtin/packages/flang/package.py
index f0f49ae506..4fd754eab3 100644
--- a/var/spack/repos/builtin/packages/flang/package.py
+++ b/var/spack/repos/builtin/packages/flang/package.py
@@ -71,6 +71,11 @@ class Flang(CMakePackage, CudaPackage):
spec['python'].command.path)
]
+ # Make sure llvm-flang can find GCC's libstdc++
+ if self.compiler.name == "gcc":
+ gcc_prefix = ancestor(self.compiler.cc, 2)
+ options.append('-DGCC_INSTALL_PREFIX=' + gcc_prefix)
+
if '+cuda' in spec:
options.append('-DFLANG_OPENMP_GPU_NVIDIA=ON')
else:
diff --git a/var/spack/repos/builtin/packages/flatbuffers/package.py b/var/spack/repos/builtin/packages/flatbuffers/package.py
index 72ad2e599c..c0a0ef4ee2 100644
--- a/var/spack/repos/builtin/packages/flatbuffers/package.py
+++ b/var/spack/repos/builtin/packages/flatbuffers/package.py
@@ -13,6 +13,7 @@ class Flatbuffers(CMakePackage):
homepage = "http://google.github.io/flatbuffers/"
url = "https://github.com/google/flatbuffers/archive/v1.9.0.tar.gz"
+ version('1.12.0', sha256='62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45')
version('1.11.0', sha256='3f4a286642094f45b1b77228656fbd7ea123964f19502f9ecfd29933fd23a50b')
version('1.10.0', sha256='3714e3db8c51e43028e10ad7adffb9a36fc4aa5b1a363c2d0c4303dd1be59a7c')
version('1.9.0', sha256='5ca5491e4260cacae30f1a5786d109230db3f3a6e5a0eb45d0d0608293d247e3')
diff --git a/var/spack/repos/builtin/packages/flatcc/package.py b/var/spack/repos/builtin/packages/flatcc/package.py
index ce3fc222fc..a9d3617c9b 100644
--- a/var/spack/repos/builtin/packages/flatcc/package.py
+++ b/var/spack/repos/builtin/packages/flatcc/package.py
@@ -37,6 +37,9 @@ class Flatcc(CMakePackage):
spec = self.spec
args = []
+ # allow flatcc to be built with more compilers
+ args.append('-DFLATCC_ALLOW_WERROR=OFF')
+
if '+shared' in spec:
args.append('-DBUILD_SHARED_LIBS=ON')
args.append('-DFLATCC_INSTALL=ON')
diff --git a/var/spack/repos/builtin/packages/flecsph/package.py b/var/spack/repos/builtin/packages/flecsph/package.py
index fee1e36c64..0ab3623c14 100644
--- a/var/spack/repos/builtin/packages/flecsph/package.py
+++ b/var/spack/repos/builtin/packages/flecsph/package.py
@@ -17,19 +17,28 @@ class Flecsph(CMakePackage):
homepage = "http://flecsi.lanl.com"
git = "https://github.com/laristra/flecsph.git"
- version('develop', branch='master', submodules=True)
+ version('master', branch='master', submodules=True, preferred=True)
- depends_on('cmake@3.1:', type='build')
- depends_on('boost@1.59.0: cxxstd=11 +program_options')
+ variant('test', default=True, description='Adding tests')
+
+ depends_on('cmake@3.15:', type='build')
+ depends_on('boost@1.70.0: cxxstd=17 +program_options')
depends_on('mpi')
- depends_on('hdf5@1.10.5 +mpi')
- depends_on('flecsi backend=mpi')
+ depends_on('hdf5+hl@1.8:')
+ depends_on('flecsi@1 +cinch backend=mpi')
depends_on('gsl')
+ depends_on('googletest', when='+test')
+ depends_on("pkgconfig", type='build')
+
+ def setup_run_environment(self, env):
+ env.set('HDF5_ROOT', self.spec['hdf5'].prefix)
def cmake_args(self):
options = ['-DCMAKE_BUILD_TYPE=debug']
- options.append('-DENABLE_MPI=ON')
- options.append('-DENABLE_OPENMP=ON')
- options.append('-DENABLE_CLOG=ON')
- options.append('-DCXX_CONFORMANCE_STANDARD=c++17')
+ options.append('-DENABLE_UNIT_TESTS=ON')
+ options.append('-DENABLE_DEBUG=OFF')
+ options.append('-DLOG_STRIP_LEVEL=1')
+ options.append('-DENABLE_UNIT_TESTS=ON')
+ options.append('-DENABLE_DEBUG_TREE=OFF')
+ # add option to build the tests
return options
diff --git a/var/spack/repos/builtin/packages/frontistr/package.py b/var/spack/repos/builtin/packages/frontistr/package.py
index ebdfa0a3e3..e59da46324 100644
--- a/var/spack/repos/builtin/packages/frontistr/package.py
+++ b/var/spack/repos/builtin/packages/frontistr/package.py
@@ -15,6 +15,7 @@ class Frontistr(CMakePackage):
git = "https://gitlab.com/FrontISTR-Commons/FrontISTR.git"
maintainers = ['hiroshi.okuda', 'kgoto', 'morita', 'inagaki', 'michioga']
+ version('5.1', tag='v5.1')
version('5.0', tag='v5.0')
version('master', tag='master')
diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py
index 0c44036dc6..cea1b046da 100644
--- a/var/spack/repos/builtin/packages/gaudi/package.py
+++ b/var/spack/repos/builtin/packages/gaudi/package.py
@@ -16,6 +16,7 @@ class Gaudi(CMakePackage):
version('master', branch='master')
# major cmake config overhaul already in use by some
version('develop', git='https://gitlab.cern.ch/clemenci/Gaudi.git', branch='cmake-modernisation')
+ version('34.0', sha256='28fc4abb5a6b08da5a6b1300451c7e8487f918b055939877219d454abf7668ae')
version('33.2', sha256='26aaf9c4ff237a60ec79af9bd18ad249fc91c16e297ba77e28e4a256123db6e5')
version('33.1', sha256='7eb6b2af64aeb965228d4b6ea66c7f9f57f832f93d5b8ad55c9105235af5b042')
version('33.0', sha256='76a967c41f579acc432593d498875dd4dc1f8afd5061e692741a355a9cf233c8')
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py
index 3072402dab..dc7b13742d 100644
--- a/var/spack/repos/builtin/packages/gcc/package.py
+++ b/var/spack/repos/builtin/packages/gcc/package.py
@@ -2,16 +2,17 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-from spack import *
-from spack.operating_systems.mac_os import macos_version, macos_sdk_path
-from llnl.util import tty
-
import glob
import itertools
import os
+import re
import sys
+import llnl.util.tty as tty
+import spack.util.executable
+
+from spack.operating_systems.mac_os import macos_version, macos_sdk_path
+
class Gcc(AutotoolsPackage, GNUMirrorPackage):
"""The GNU Compiler Collection includes front ends for C, C++, Objective-C,
@@ -27,6 +28,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
version('master', branch='master')
+ version('10.2.0', sha256='b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c')
version('10.1.0', sha256='b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2')
version('9.3.0', sha256='71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1')
@@ -268,6 +270,105 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
build_directory = 'spack-build'
+ @property
+ def executables(self):
+ names = [r'gcc', r'[^\w]?g\+\+', r'gfortran']
+ suffixes = [r'', r'-mp-\d+\.\d', r'-\d+\.\d', r'-\d+', r'\d\d']
+ return [r''.join(x) for x in itertools.product(names, suffixes)]
+
+ @classmethod
+ def filter_detected_exes(cls, prefix, exes_in_prefix):
+ result = []
+ for exe in exes_in_prefix:
+ # clang++ matches g++ -> clan[g++]
+ if any(x in exe for x in ('clang', 'ranlib')):
+ continue
+ # Filter out links in favor of real executables
+ if os.path.islink(exe):
+ continue
+ result.append(exe)
+ return result
+
+ @classmethod
+ def determine_version(cls, exe):
+ version_regex = re.compile(r'([\d\.]+)')
+ for vargs in ('-dumpfullversion', '-dumpversion'):
+ try:
+ output = spack.compiler.get_compiler_version_output(exe, vargs)
+ match = version_regex.search(output)
+ if match:
+ return match.group(1)
+ except spack.util.executable.ProcessError:
+ pass
+ except Exception as e:
+ tty.debug(e)
+
+ return None
+
+ @classmethod
+ def determine_variants(cls, exes, version_str):
+ languages, compilers = set(), {}
+ for exe in exes:
+ basename = os.path.basename(exe)
+ if 'gcc' in basename:
+ languages.add('c')
+ compilers['c'] = exe
+ elif 'g++' in basename:
+ languages.add('c++')
+ compilers['cxx'] = exe
+ elif 'gfortran' in basename:
+ languages.add('fortran')
+ compilers['fortran'] = exe
+ variant_str = 'languages={0}'.format(','.join(languages))
+ return variant_str, {'compilers': compilers}
+
+ @classmethod
+ def validate_detected_spec(cls, spec, extra_attributes):
+ # For GCC 'compilers' is a mandatory attribute
+ msg = ('the extra attribute "compilers" must be set for '
+ 'the detected spec "{0}"'.format(spec))
+ assert 'compilers' in extra_attributes, msg
+
+ compilers = extra_attributes['compilers']
+ for constraint, key in {
+ 'languages=c': 'c',
+ 'languages=c++': 'cxx',
+ 'languages=fortran': 'fortran'
+ }.items():
+ if spec.satisfies(constraint, strict=True):
+ msg = '{0} not in {1}'
+ assert key in compilers, msg.format(key, spec)
+
+ @property
+ def cc(self):
+ msg = "cannot retrieve C compiler [spec is not concrete]"
+ assert self.spec.concrete, msg
+ if self.spec.external:
+ return self.spec.extra_attributes['compilers'].get('c', None)
+ return self.spec.prefix.bin.gcc if 'languages=c' in self.spec else None
+
+ @property
+ def cxx(self):
+ msg = "cannot retrieve C++ compiler [spec is not concrete]"
+ assert self.spec.concrete, msg
+ if self.spec.external:
+ return self.spec.extra_attributes['compilers'].get('cxx', None)
+ result = None
+ if 'languages=c++' in self.spec:
+ result = os.path.join(self.spec.prefix.bin, 'g++')
+ return result
+
+ @property
+ def fortran(self):
+ msg = "cannot retrieve Fortran compiler [spec is not concrete]"
+ assert self.spec.concrete, msg
+ if self.spec.external:
+ return self.spec.extra_attributes['compilers'].get('fortran', None)
+ result = None
+ if 'languages=fortran' in self.spec:
+ result = self.spec.prefix.bin.gfortran
+ return result
+
def url_for_version(self, version):
# This function will be called when trying to fetch from url, before
# mirrors are tried. It takes care of modifying the suffix of gnu
diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py
index b3678bed32..e5a727b66d 100644
--- a/var/spack/repos/builtin/packages/gdal/package.py
+++ b/var/spack/repos/builtin/packages/gdal/package.py
@@ -18,7 +18,7 @@ class Gdal(AutotoolsPackage):
"""
homepage = "https://www.gdal.org/"
- url = "https://download.osgeo.org/gdal/3.1.1/gdal-3.1.1.tar.xz"
+ url = "https://download.osgeo.org/gdal/3.1.2/gdal-3.1.2.tar.xz"
list_url = "https://download.osgeo.org/gdal/"
list_depth = 1
@@ -29,6 +29,7 @@ class Gdal(AutotoolsPackage):
'osgeo.gdal_array', 'osgeo.gdalconst'
]
+ version('3.1.2', sha256='767c8d0dfa20ba3283de05d23a1d1c03a7e805d0ce2936beaff0bb7d11450641')
version('3.1.1', sha256='97154a606339a6c1d87c80fb354d7456fe49828b2ef9a3bc9ed91771a03d2a04')
version('3.1.0', sha256='e754a22242ccbec731aacdb2333b567d4c95b9b02d3ba1ea12f70508d244fcda')
version('3.0.4', sha256='5569a4daa1abcbba47a9d535172fc335194d9214fdb96cd0f139bb57329ae277')
diff --git a/var/spack/repos/builtin/packages/gdb/package.py b/var/spack/repos/builtin/packages/gdb/package.py
index e6aef7d671..bef6540a30 100644
--- a/var/spack/repos/builtin/packages/gdb/package.py
+++ b/var/spack/repos/builtin/packages/gdb/package.py
@@ -15,6 +15,7 @@ class Gdb(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/gdb"
gnu_mirror_path = "gdb/gdb-7.10.tar.gz"
+ version('9.2', sha256='38ef247d41ba7cc3f6f93a612a78bab9484de9accecbe3b0150a3c0391a3faf0')
version('9.1', sha256='fcda54d4f35bc53fb24b50009a71ca98410d71ff2620942e3c829a7f5d614252')
version('8.3.1', sha256='26ce655216cd03f4611518a7a1c31d80ec8e884c16715e9ba8b436822e51434b')
version('8.3', sha256='b2266ec592440d0eec18ee1790f8558b3b8a2845b76cc83a872e39b501ce8a28')
diff --git a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
index 04fd4d6030..585bd2de81 100644
--- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
+++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py
@@ -14,13 +14,17 @@ class GdkPixbuf(Package):
preparation for the change to GTK+ 3."""
homepage = "https://developer.gnome.org/gdk-pixbuf/"
- url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.38/gdk-pixbuf-2.38.0.tar.xz"
+ url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.40/gdk-pixbuf-2.40.0.tar.xz"
list_url = "https://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/"
list_depth = 1
+ version('2.40.0', sha256='1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6')
+ version('2.38.2', sha256='73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781')
version('2.38.0', sha256='dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47')
version('2.31.2', sha256='9e467ed09894c802499fb2399cd9a89ed21c81700ce8f27f970a833efb1e47aa')
+ variant('x11', default=False, description="Enable X11 support")
+
depends_on('meson@0.46.0:', type='build', when='@2.37.92:')
depends_on('meson@0.45.0:', type='build', when='@2.37.0:')
depends_on('ninja', type='build', when='@2.37.0:')
@@ -37,6 +41,7 @@ class GdkPixbuf(Package):
depends_on('zlib')
depends_on('libtiff')
depends_on('gobject-introspection')
+ depends_on('libx11', when='+x11')
# Replace the docbook stylesheet URL with the one that our
# docbook-xsl package uses/recognizes.
@@ -54,7 +59,9 @@ class GdkPixbuf(Package):
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
- meson('..', *std_meson_args)
+ meson_args = std_meson_args
+ meson_args += ['-Dx11={0}'.format('+x11' in spec)]
+ meson('..', *meson_args)
ninja('-v')
if self.run_tests:
ninja('test')
diff --git a/var/spack/repos/builtin/packages/geant4-vmc/package.py b/var/spack/repos/builtin/packages/geant4-vmc/package.py
new file mode 100644
index 0000000000..8a5adc7c43
--- /dev/null
+++ b/var/spack/repos/builtin/packages/geant4-vmc/package.py
@@ -0,0 +1,34 @@
+# 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 Geant4Vmc(CMakePackage):
+ """Geant4 VMC implements the Virtual Monte Carlo (VMC) for Geant4."""
+
+ homepage = "http://github.com/vmc-project/geant4_vmc"
+ url = "http://github.com/vmc-project/geant4_vmc/archive/v5-1-p1.tar.gz"
+ git = "http://github.com/vmc-project/geant4_vmc.git"
+
+ maintainer = ['wdconinc']
+
+ version('master', branch='master')
+ version('5-2', sha256='5bd0e4a4f938048b35724f06075952ecfbc8a97ffc979630cfe2788323845b13')
+ version('5-1-p1', sha256='2e3e4705134ea464e993156f71d478cb7d3817f5b6026bf8d9a37d32ec97590b')
+ version('5-1', sha256='ede71f360397dc4d045ec0968acf23b564fa81059c94eb40942b552eea8b5e00')
+ version('5-0-p5', sha256='296340042b0bbfab0dec8f7f15a3b15cfab3fdb34aff97f80c1d52c2a25200cb')
+ version('5-0-p4', sha256='0c13848b5cf5951e3d5d2d5abcc4082c75ea37c83bb92a15b82ecae03045fe1e')
+ version('5-0-p3', sha256='91df73e992bf9ae7e1b6b3c3deb12cd6661c7dd5153fa233eb28b8d8e1164ccb')
+ version('5-0-p2', sha256='34578c5468173615de3fc077e85be3bf68f4aff4b4f37523ab67304dbc153d5f')
+ version('5-0-p1', sha256='b66cbf86a96b6efe1643753a7606b1c4ebb9d45cca9f6b8e933762920f32831f')
+ version('5-0', sha256='9a3820ea4b68b5a0697c340bbbc0972b9c8e4205ceecdd87258a9bdfd249cd8b')
+ version('4-0-p3', sha256='ec6699aa0deca903f143c593affec09832c33be736d9cddfa8d6f5cdfc3bc288')
+ version('4-0-p2', sha256='cdd73c499cd296f13b6c0d37e161e7d94343f85617b2a7577ded8312248f9b9b')
+ version('3-6-p6', sha256='e62a62ff7075ff9afb2ffe420610374f62136094a447bbbc5f739a2238ddb0f0')
+
+ depends_on('cmake@3.3:', type='build')
+ depends_on('geant4')
+ depends_on('vmc')
diff --git a/var/spack/repos/builtin/packages/ginkgo/CAS-HIP-NVCC-1.2.0.patch b/var/spack/repos/builtin/packages/ginkgo/CAS-HIP-NVCC-1.2.0.patch
new file mode 100644
index 0000000000..d562b0315b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ginkgo/CAS-HIP-NVCC-1.2.0.patch
@@ -0,0 +1,10 @@
+diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
+index 884e50bf6..40618311a 100644
+--- a/third_party/CMakeLists.txt
++++ b/third_party/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-if(GINKGO_BUILD_CUDA)
++if(GINKGO_BUILD_CUDA OR (GINKGO_BUILD_HIP AND GINKGO_HIP_PLATFORM STREQUAL "nvcc"))
+ enable_language(CUDA)
+ if (GINKGO_USE_EXTERNAL_CAS)
+ include(CudaArchitectureSelector RESULT_VARIABLE GINKGO_CAS_FILE)
diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py
index 8440be2516..d0ee354256 100644
--- a/var/spack/repos/builtin/packages/ginkgo/package.py
+++ b/var/spack/repos/builtin/packages/ginkgo/package.py
@@ -18,6 +18,8 @@ class Ginkgo(CMakePackage, CudaPackage):
version('develop', branch='develop')
version('master', branch='master')
+ version('1.2.0', commit='b4be2be961fd5db45c3d02b5e004d73550722e31') # v1.2.0
+ version('1.1.1', commit='08d2c5200d3c78015ac8a4fd488bafe1e4240cf5') # v1.1.1
version('1.1.0', commit='b9bec8225442b3eb2a85a870efa112ab767a17fb') # v1.1.0
version('1.0.0', commit='45244641e0c2b19ba33aecd25153c0bddbcbe1a0') # v1.0.0
@@ -44,6 +46,8 @@ class Ginkgo(CMakePackage, CudaPackage):
'ON' if '+full_optimizations' in spec else 'OFF'),
'-DGINKGO_DEVEL_TOOLS=%s' % (
'ON' if '+develtools' in spec else 'OFF'),
+ # Drop HIP support for now
+ '-DGINKGO_BUILD_HIP=OFF',
# As we are not exposing benchmarks, examples, tests nor doc
# as part of the installation, disable building them altogether.
'-DGINKGO_BUILD_BENCHMARKS=OFF',
diff --git a/var/spack/repos/builtin/packages/giraph/package.py b/var/spack/repos/builtin/packages/giraph/package.py
new file mode 100644
index 0000000000..1e33b76736
--- /dev/null
+++ b/var/spack/repos/builtin/packages/giraph/package.py
@@ -0,0 +1,34 @@
+# 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 Giraph(Package):
+ """Apache Giraph is an iterative graph processing system built
+ for high scalability."""
+
+ homepage = "https://giraph.apache.org/"
+ url = "https://downloads.apache.org/giraph/giraph-1.0.0/giraph-dist-1.0.0-src.tar.gz"
+ list_url = "https://downloads.apache.org/giraph/"
+ list_depth = 1
+
+ version('1.2.0', sha256='6206f4ad220ea42aa0c4abecce343e36026cf9c6e0a2853f1eb08543da452ad1')
+ version('1.1.0', sha256='181d94b8198c0f312d4611e24b0056b5181c8358a7ec89b0393661736cd19a4c')
+
+ depends_on('maven', type='build')
+ depends_on('java@8', type=('build', 'run'))
+
+ def install(self, spec, prefix):
+ mvn = which('mvn')
+ mvn('clean', 'package', '-DskipTests')
+ giraph_path = join_path(self.stage.source_path,
+ 'giraph-dist', 'target',
+ 'giraph-{0}-for-hadoop-1.2.1-bin'
+ .format(spec.version),
+ 'giraph-{0}-for-hadoop-1.2.1'
+ .format(spec.version))
+ with working_dir(giraph_path):
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py
index 1094e3373d..8ecedd8c89 100644
--- a/var/spack/repos/builtin/packages/git/package.py
+++ b/var/spack/repos/builtin/packages/git/package.py
@@ -24,6 +24,11 @@ class Git(AutotoolsPackage):
# You can find the source here: https://mirrors.edge.kernel.org/pub/software/scm/git/sha256sums.asc
releases = [
{
+ 'version': '2.28.0',
+ 'sha256': 'f914c60a874d466c1e18467c864a910dd4ea22281ba6d4d58077cb0c3f115170',
+ 'sha256_manpages': '3cfca28a88d5b8112ea42322b797a500a14d0acddea391aed0462aff1ab11bf7'
+ },
+ {
'version': '2.27.0',
'sha256': '77ded85cbe42b1ffdc2578b460a1ef5d23bcbc6683eabcafbb0d394dffe2e787',
'sha256_manpages': '414e4b17133e54d846f6bfa2479f9757c50e16c013eb76167a492ae5409b8947'
@@ -193,6 +198,7 @@ class Git(AutotoolsPackage):
depends_on('pcre2', when='@2.14:')
depends_on('perl')
depends_on('zlib')
+ depends_on('openssh', type='run')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
diff --git a/var/spack/repos/builtin/packages/glew/package.py b/var/spack/repos/builtin/packages/glew/package.py
index a5ca6f65da..1b701a21c0 100644
--- a/var/spack/repos/builtin/packages/glew/package.py
+++ b/var/spack/repos/builtin/packages/glew/package.py
@@ -16,6 +16,8 @@ class Glew(Package):
depends_on("cmake", type='build')
depends_on("gl")
+ depends_on('libsm')
+ depends_on('libice')
def install(self, spec, prefix):
options = []
diff --git a/var/spack/repos/builtin/packages/global/package.py b/var/spack/repos/builtin/packages/global/package.py
index 7a252e7add..5ad3d72520 100644
--- a/var/spack/repos/builtin/packages/global/package.py
+++ b/var/spack/repos/builtin/packages/global/package.py
@@ -13,6 +13,7 @@ class Global(Package):
homepage = "http://www.gnu.org/software/global"
url = "http://tamacom.com/global/global-6.5.tar.gz"
+ version('6.6.4', sha256='987e8cb956c53f8ebe4453b778a8fde2037b982613aba7f3e8e74bcd05312594')
version('6.5', sha256='4afd12db1aa600277b39113cc2d61dc59bd6c6b4ee8033da8bb6dd0c39a4c6a9')
depends_on('exuberant-ctags', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/glusterfs/package.py b/var/spack/repos/builtin/packages/glusterfs/package.py
index 89024cf977..95c482da2f 100644
--- a/var/spack/repos/builtin/packages/glusterfs/package.py
+++ b/var/spack/repos/builtin/packages/glusterfs/package.py
@@ -34,6 +34,7 @@ class Glusterfs(AutotoolsPackage):
depends_on('libuuid')
depends_on('libtirpc')
depends_on('userspace-rcu')
+ depends_on('pkgconfig', type='build')
def url_for_version(self, version):
url = 'https://download.gluster.org/pub/gluster/glusterfs/{0}/{1}/glusterfs-{1}.tar.gz'
diff --git a/var/spack/repos/builtin/packages/gmt/package.py b/var/spack/repos/builtin/packages/gmt/package.py
index 003c0d24be..02400cb66e 100644
--- a/var/spack/repos/builtin/packages/gmt/package.py
+++ b/var/spack/repos/builtin/packages/gmt/package.py
@@ -15,12 +15,13 @@ class Gmt(Package):
"""
homepage = "https://www.generic-mapping-tools.org/"
- url = "https://github.com/GenericMappingTools/gmt/archive/6.0.0.tar.gz"
+ url = "https://github.com/GenericMappingTools/gmt/archive/6.1.0.tar.gz"
git = "https://github.com/GenericMappingTools/gmt.git"
maintainers = ['adamjstewart']
version('master', branch='master')
+ version('6.1.0', sha256='f76ad7f444d407dfd7e5762644eec3a719c6aeb06d877bf746fe51abd79b1a9e')
version('6.0.0', sha256='7a733e670f01d99f8fc0da51a4337320d764c06a68746621f83ccf2e3453bcb7')
version('5.4.4', sha256='b593dfb101e6507c467619f3d2190a9f78b09d49fe2c27799750b8c4c0cd2da0')
version('4.5.9', sha256='9b13be96ccf4bbd38c14359c05dfa7eeeb4b5f06d6f4be9c33d6c3ea276afc86',
@@ -41,7 +42,7 @@ class Gmt(Package):
# https://github.com/GenericMappingTools/gmt/blob/master/MAINTENANCE.md
# Required dependencies
- depends_on('cmake@2.8.7:', type='build', when='@5:')
+ depends_on('cmake@2.8.12:', type='build', when='@5:')
depends_on('netcdf-c@4:')
depends_on('curl', when='@5.4:')
@@ -59,6 +60,8 @@ class Gmt(Package):
depends_on('graphicsmagick', type='test')
+ # https://github.com/GenericMappingTools/gmt/pull/3603
+ patch('regexp.patch', when='@6.1.0')
patch('type.patch', when='@4.5.9')
@when('@5:')
diff --git a/var/spack/repos/builtin/packages/gmt/regexp.patch b/var/spack/repos/builtin/packages/gmt/regexp.patch
new file mode 100644
index 0000000000..00011591a9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gmt/regexp.patch
@@ -0,0 +1,11 @@
+--- a/src/gmt_regexp.c 2020-07-04 15:13:40.000000000 -0500
++++ b/src/gmt_regexp.c 2020-07-05 18:35:02.000000000 -0500
+@@ -217,7 +217,7 @@
+ /* this is when errors have been encountered */
+ regerror(status, &re, err_msg, MAX_ERR_LENGTH);
+ GMT_Report (GMT->parent, GMT_MSG_ERROR, "gmtlib_regexp_match: POSIX ERE matching error: %s\n", err_msg); /* Report error. */
+- return (-GMT_RUNTIME_ERROR;)
++ return (-GMT_RUNTIME_ERROR);
+ }
+ return (0); /* No match */
+
diff --git a/var/spack/repos/builtin/packages/gnuplot/package.py b/var/spack/repos/builtin/packages/gnuplot/package.py
index 59e527fcde..0f1689b6cf 100644
--- a/var/spack/repos/builtin/packages/gnuplot/package.py
+++ b/var/spack/repos/builtin/packages/gnuplot/package.py
@@ -63,6 +63,7 @@ class Gnuplot(AutotoolsPackage):
depends_on('cairo@1.2:', when='+cairo')
depends_on('wxwidgets', when='+wx')
depends_on('pango@1.10:', when='+wx')
+ depends_on('libsm', when='+wx')
depends_on('pango@1.10:', when='+cairo')
depends_on('libx11', when='+X')
depends_on('qt@5.7:+opengl', when='+qt')
diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py
index aa9c863499..4d56fab7fe 100644
--- a/var/spack/repos/builtin/packages/gnutls/package.py
+++ b/var/spack/repos/builtin/packages/gnutls/package.py
@@ -17,6 +17,7 @@ class Gnutls(AutotoolsPackage):
homepage = "http://www.gnutls.org"
url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz"
+ version('3.6.14', sha256='5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63')
version('3.6.8', sha256='aa81944e5635de981171772857e72be231a7e0f559ae0292d2737de475383e83')
version('3.6.7.1', sha256='881b26409ecd8ea4c514fd3fbdb6fae5fab422ca7b71116260e263940a4bbbad')
version('3.5.19', sha256='1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44')
diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py
index d0f515e94c..1d7982f866 100644
--- a/var/spack/repos/builtin/packages/go/package.py
+++ b/var/spack/repos/builtin/packages/go/package.py
@@ -4,9 +4,9 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
+import platform
import llnl.util.tty as tty
from spack import *
-import platform
# - vanilla CentOS 7, and possibly other systems, fail a test:
# TestCloneNEWUSERAndRemapRootDisableSetgroups
@@ -36,11 +36,15 @@ class Go(Package):
extendable = True
+ version('1.14.6', sha256='73fc9d781815d411928eccb92bf20d5b4264797be69410eac854babe44c94c09')
+ version('1.14.5', sha256='ca4c080c90735e56152ac52cd77ae57fe573d1debb1a58e03da9cc362440315c')
version('1.14.4', sha256='7011af3bbc2ac108d1b82ea8abb87b2e63f78844f0259be20cde4d42c5c40584')
version('1.14.3', sha256='93023778d4d1797b7bc6a53e86c3a9b150c923953225f8a48a2d5fabc971af56')
version('1.14.2', sha256='98de84e69726a66da7b4e58eac41b99cbe274d7e8906eeb8a5b7eb0aadee7f7c')
version('1.14.1', sha256='2ad2572115b0d1b4cb4c138e6b3a31cee6294cb48af75ee86bec3dca04507676')
version('1.14', sha256='6d643e46ad565058c7a39dac01144172ef9bd476521f42148be59249e4b74389')
+ version('1.13.14', sha256='197333e97290e9ea8796f738d61019dcba1c377c2f3961fd6a114918ecc7ab06')
+ version('1.13.13', sha256='ab7e44461e734ce1fd5f4f82c74c6d236e947194d868514d48a2b1ea73d25137')
version('1.13.12', sha256='17ba2c4de4d78793a21cc659d9907f4356cd9c8de8b7d0899cdedcef712eba34')
version('1.13.11', sha256='89ed1abce25ad003521c125d6583c93c1280de200ad221f961085200a6c00679')
version('1.13.10', sha256='eb9ccc8bf59ed068e7eff73e154e4f5ee7eec0a47a610fb864e3332a2fdc8b8c')
diff --git a/var/spack/repos/builtin/packages/gotcha/arm.patch b/var/spack/repos/builtin/packages/gotcha/arm.patch
deleted file mode 100644
index 0790c257b5..0000000000
--- a/var/spack/repos/builtin/packages/gotcha/arm.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 6f494384b0f00513d950b94a60c14ad1c20eb353
-Author: David Poliakoff <david.poliakoff@gmail.com>
-Date: Thu Sep 20 10:59:54 2018 -0700
-
- Pushed fix to help build on ARM systems
-
-diff --git a/src/libc_wrappers.c b/src/libc_wrappers.c
-index 504e31a..5937e5a 100644
---- a/src/libc_wrappers.c
-+++ b/src/libc_wrappers.c
-@@ -358,7 +358,7 @@ int gotcha_open(const char *pathname, int flags, ...)
- }
- va_end(args);
-
-- result = syscall(SYS_open, pathname, flags, mode);
-+ result = syscall(SYS_openat, AT_FDCWD, pathname, flags, mode);
- if (result >= 0)
- return (int) result;
-
diff --git a/var/spack/repos/builtin/packages/gotcha/package.py b/var/spack/repos/builtin/packages/gotcha/package.py
index f0cb3a7233..7c78f6c300 100644
--- a/var/spack/repos/builtin/packages/gotcha/package.py
+++ b/var/spack/repos/builtin/packages/gotcha/package.py
@@ -20,7 +20,10 @@ class Gotcha(CMakePackage):
version('0.0.2', tag='0.0.2')
variant('test', default=False, description='Build tests for Gotcha')
- patch('arm.patch', when='@1.0.2')
+ patch(
+ 'https://github.com/LLNL/GOTCHA/commit/e82b4a1ecb634075d8f5334b796c888c86da0427.patch',
+ sha256='9f7814fd3c3362c156bc617c755e7e50c2f9125ed4540e36f60e4d93884f1ce6',
+ when='@0.0.2:1.0.2')
def configure_args(self):
spec = self.spec
diff --git a/var/spack/repos/builtin/packages/gpdb/package.py b/var/spack/repos/builtin/packages/gpdb/package.py
index 07ced439bd..98683b271c 100644
--- a/var/spack/repos/builtin/packages/gpdb/package.py
+++ b/var/spack/repos/builtin/packages/gpdb/package.py
@@ -27,6 +27,7 @@ class Gpdb(AutotoolsPackage):
version('5.23.0', sha256='b06a797eb941362d5473b84d5def349b5ce12ce87ab116bea7c74ad193738ae9')
depends_on('zstd')
+ depends_on('py-setuptools@:44.99.99')
depends_on('apr')
depends_on('libevent')
depends_on('curl')
@@ -35,7 +36,17 @@ class Gpdb(AutotoolsPackage):
depends_on('libxml2')
depends_on('flex')
depends_on('readline')
+ depends_on('py-subprocess32', type=('build', 'run'))
+ depends_on('python@:2.8.0', type=('build', 'run'))
+ depends_on('py-lockfile', type=('build', 'run'))
+ depends_on('py-psutil', type=('build', 'run'))
+ depends_on('py-utils@:1.0.0', type=('build', 'run'))
def configure_args(self):
- args = ['--disable-orca']
+ args = ['--with-python', '--disable-orca', '--enable-depend',
+ '--with-libxml']
return args
+
+ def setup_run_environment(self, env):
+ env.append_path('GPHOME', self.prefix)
+ env.append_path('PYTHONPATH', self.prefix.lib.python)
diff --git a/var/spack/repos/builtin/packages/gpi-2/package.py b/var/spack/repos/builtin/packages/gpi-2/package.py
new file mode 100644
index 0000000000..299fba0a1a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/gpi-2/package.py
@@ -0,0 +1,79 @@
+# 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 Gpi2(AutotoolsPackage):
+ """GPI-2 is an API for the development of scalable, asynchronous and fault
+ tolerant parallel applications. It implements the GASPI specification
+ (www.gaspi.de)"""
+
+ homepage = "http://www.gpi-site.com"
+ url = "https://github.com/cc-hpc-itwm/GPI-2/archive/v1.4.0.tar.gz"
+ git = "https://github.com/cc-hpc-itwm/GPI-2.git"
+ maintainers = ['robert-mijakovic']
+
+ version('develop', branch='next')
+ version('master', branch='master')
+ version('1.4.0', sha256='3b8ffb45346b2fe56aaa7ba15a515e62f9dff45a28e6a014248e20094bbe50a1')
+
+ variant('mpi', default=False, description='Enable MPI support')
+ variant('fortran', default=True, description='Enable Fortran modules')
+ variant(
+ 'fabrics',
+ values=disjoint_sets(
+ ('auto',), ('verbs',), ('ethernet',),
+ ).with_non_feature_values('auto', 'none'),
+ description="List of fabrics that are enabled; "
+ "'auto' lets gpi-2 determine",
+ )
+
+ variant(
+ 'schedulers',
+ values=disjoint_sets(
+ ('auto',), ('loadleveler',), ('pbs',), ('slurm',)
+ ).with_non_feature_values('auto', 'none'),
+ description="List of schedulers for which support is enabled; "
+ "'auto' lets gpi-2 determine",
+ )
+
+ depends_on('autoconf', type='build') # autogen.sh - autoreconf
+ depends_on('automake', type='build') # autogen.sh - automake
+ depends_on('libtool', type='build')
+ depends_on('m4', type='build')
+ depends_on('mpi', when='+mpi')
+
+ depends_on('rdma-core', when='fabrics=verbs')
+
+ depends_on('slurm', when='schedulers=slurm')
+
+ def with_or_without_verbs(self, activated):
+ opt = 'infiniband'
+ # If the option has not been activated return
+ # --without-infiniband
+ if not activated:
+ return '--without-{0}'.format(opt)
+ return '--with-{0}={1}'.format(opt, self.spec['rdma-core'].prefix)
+
+ def autoreconf(self, spec, prefix):
+ bash = which('bash')
+ bash('./autogen.sh')
+
+ def configure_args(self):
+ spec = self.spec
+ config_args = []
+ config_args.extend(self.with_or_without('mpi'))
+ config_args.extend(self.with_or_without('fortran'))
+
+ # Fabrics
+ if 'fabrics=auto' not in spec:
+ config_args.extend(self.with_or_without('fabrics'))
+ # Schedulers
+ if 'schedulers=auto' not in spec:
+ config_args.extend(self.with_or_without('schedulers'))
+
+ return config_args
diff --git a/var/spack/repos/builtin/packages/grads/package.py b/var/spack/repos/builtin/packages/grads/package.py
new file mode 100644
index 0000000000..889ad5c7e3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/grads/package.py
@@ -0,0 +1,65 @@
+# 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 Grads(AutotoolsPackage):
+ """The Grid Analysis and Display System (GrADS) is an interactive
+ desktop tool that is used for easy access, manipulation, and visualization
+ of earth science data. GrADS has two data models for handling gridded and
+ station data. GrADS supports many data file formats, including
+ binary (stream or sequential), GRIB (version 1 and 2), NetCDF,
+ HDF (version 4 and 5), and BUFR (for station data)."""
+
+ homepage = "http://cola.gmu.edu/grads/grads.php"
+ url = "ftp://cola.gmu.edu/grads/2.2/grads-2.2.1-src.tar.gz"
+
+ version('2.2.1', sha256='695e2066d7d131720d598bac0beb61ac3ae5578240a5437401dc0ffbbe516206')
+
+ variant('geotiff', default=True, description="Enable GeoTIFF support")
+ variant('shapefile', default=True, description="Enable Shapefile support")
+
+ """
+ # FIXME: Fails with undeclared functions (tdefi, tdef, ...) in gauser.c
+ variant('hdf5', default=False, description="Enable HDF5 support")
+ variant('hdf4', default=False, description="Enable HDF4 support")
+ variant('netcdf', default=False, description="Enable NetCDF support")
+ depends_on('hdf5', when='+hdf5')
+ depends_on('hdf', when='+hdf4')
+ depends_on('netcdf-c', when='+netcdf')
+ """
+
+ depends_on('libgeotiff', when='+geotiff')
+ depends_on('shapelib', when='+shapefile')
+ depends_on('udunits')
+ depends_on('libgd')
+ depends_on('libxmu')
+ depends_on('cairo +X +pdf +fc +ft')
+ depends_on('readline')
+ depends_on('pkgconfig', type='build')
+
+ def setup_build_environment(self, env):
+ env.set('SUPPLIBS', '/')
+
+ def setup_run_environment(self, env):
+ env.set('GADDIR', self.prefix.data)
+
+ @run_after('install')
+ def copy_data(self):
+ with working_dir(self.build_directory):
+ install_tree('data', self.prefix.data)
+ with working_dir(self.package_dir):
+ install('udpt', self.prefix.data)
+ filter_file(
+ r'({lib})',
+ self.prefix.lib,
+ self.prefix.data.udpt
+ )
+
+ def configure_args(self):
+ args = []
+ args.extend(self.with_or_without('geotiff'))
+ return args
diff --git a/var/spack/repos/builtin/packages/grads/udpt b/var/spack/repos/builtin/packages/grads/udpt
new file mode 100644
index 0000000000..5bfc99ba33
--- /dev/null
+++ b/var/spack/repos/builtin/packages/grads/udpt
@@ -0,0 +1,2 @@
+gxdisplay Cairo {lib}/libgxdCairo.so
+gxprint Cairo {lib}/libgxpCairo.so
diff --git a/var/spack/repos/builtin/packages/gromacs/package.py b/var/spack/repos/builtin/packages/gromacs/package.py
index 31b5d701fe..8042e38864 100644
--- a/var/spack/repos/builtin/packages/gromacs/package.py
+++ b/var/spack/repos/builtin/packages/gromacs/package.py
@@ -24,6 +24,7 @@ class Gromacs(CMakePackage):
maintainers = ['junghans', 'marvinbernhardt']
version('master', branch='master')
+ version('2020.3', sha256='903183691132db14e55b011305db4b6f4901cc4912d2c56c131edfef18cc92a9')
version('2020.2', sha256='7465e4cd616359d84489d919ec9e4b1aaf51f0a4296e693c249e83411b7bd2f3')
version('2020.1', sha256='e1666558831a3951c02b81000842223698016922806a8ce152e8f616e29899cf')
version('2020', sha256='477e56142b3dcd9cb61b8f67b24a55760b04d1655e8684f979a75a5eec40ba01')
@@ -58,23 +59,37 @@ class Gromacs(CMakePackage):
description='Produces a double precision version of the executables')
variant('plumed', default=False, description='Enable PLUMED support')
variant('cuda', default=False, description='Enable CUDA 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('rdtscp', default=True, description='Enable RDTSCP instruction usage')
+ variant('rdtscp', default=True,
+ description='Enable RDTSCP instruction usage')
variant('mdrun_only', default=False,
description='Enables the build of a cut-down version'
' of libgromacs and/or the mdrun program')
- variant('openmp', default=True, description='Enables OpenMP at configure time')
- variant('double_precision', default=False, description='Enables a double-precision configuration')
- variant('hwloc', default=True, description='Use the hwloc portable hardware locality library')
+ variant('openmp', default=True,
+ description='Enables OpenMP at configure time')
+ variant('double_precision', default=False,
+ description='GMX_RELAXED_DOUBLE_PRECISION for Fujitsu PRIMEHPC')
+ variant('hwloc', default=True,
+ description='Use the hwloc portable hardware locality library')
depends_on('mpi', when='+mpi')
+ # define matching plumed versions
+ depends_on('plumed@2.6.0:2.6.9+mpi', when='@2020.2+plumed+mpi')
+ depends_on('plumed@2.6.0:2.6.9~mpi', when='@2020.2+plumed~mpi')
+ depends_on('plumed@2.6.0:2.6.9+mpi', when='@2019.6+plumed+mpi')
+ depends_on('plumed@2.6.0:2.6.9~mpi', when='@2019.6+plumed~mpi')
+ depends_on('plumed@2.5.0:2.5.9+mpi', when='@2019.4+plumed+mpi')
+ depends_on('plumed@2.5.0:2.5.9~mpi', when='@2019.4+plumed~mpi')
+ depends_on('plumed@2.5.0:2.5.9+mpi', when='@2018.6+plumed+mpi')
+ depends_on('plumed@2.5.0:2.5.9~mpi', when='@2018.6+plumed~mpi')
depends_on('plumed+mpi', when='+plumed+mpi')
depends_on('plumed~mpi', when='+plumed~mpi')
- depends_on('fftw+mpi', when='+mpi')
- depends_on('fftw~mpi', when='~mpi')
+ depends_on('fftw-api@3', when='~cuda')
+ depends_on('mkl', when='fft=mkl')
depends_on('cmake@2.8.8:3.99.99', type='build')
depends_on('cmake@3.4.3:3.99.99', type='build', when='@2018:')
depends_on('cmake@3.13.0:3.99.99', type='build', when='@master')
@@ -104,6 +119,9 @@ class Gromacs(CMakePackage):
if '+double' in self.spec:
options.append('-DGMX_DOUBLE:BOOL=ON')
+ if '+nosuffix' in self.spec:
+ options.append('-DGMX_DEFAULT_SUFFIX:BOOL=OFF')
+
if '~shared' in self.spec:
options.append('-DBUILD_SHARED_LIBS:BOOL=OFF')
@@ -174,4 +192,18 @@ class Gromacs(CMakePackage):
else:
options.append('-DGMX_RELAXED_DOUBLE_PRECISION:BOOL=OFF')
+ if '^mkl' in self.spec:
+ # fftw-api@3 is provided by intel-mkl or intel-parllel-studio
+ # we use the mkl interface of gromacs
+ options.append('-DGMX_FFT_LIBRARY=mkl')
+ options.append('-DMKL_INCLUDE_DIR={0}'.
+ format(self.spec['mkl'].headers.directories[0]))
+ # The 'blas' property provides a minimal set of libraries
+ # that is sufficient for fft. Using full mkl fails the cmake test
+ options.append('-DMKL_LIBRARIES={0}'.
+ format(self.spec['blas'].libs.joined(';')))
+ else:
+ # we rely on the fftw-api@3
+ options.append('-DGMX_FFT_LIBRARY=fftw3')
+
return options
diff --git a/var/spack/repos/builtin/packages/grpc/package.py b/var/spack/repos/builtin/packages/grpc/package.py
index a7eff3e07f..010cffb6f3 100644
--- a/var/spack/repos/builtin/packages/grpc/package.py
+++ b/var/spack/repos/builtin/packages/grpc/package.py
@@ -11,8 +11,14 @@ class Grpc(CMakePackage):
maintainers = ['nazavode']
homepage = "https://grpc.io"
- url = "https://github.com/grpc/grpc/archive/v1.27.0.tar.gz"
-
+ url = "https://github.com/grpc/grpc/archive/v1.30.0.tar.gz"
+
+ version('1.30.0', sha256='419dba362eaf8f1d36849ceee17c3e2ff8ff12ac666b42d3ff02a164ebe090e9')
+ version('1.29.1', sha256='0343e6dbde66e9a31c691f2f61e98d79f3584e03a11511fad3f10e3667832a45')
+ version('1.29.0', sha256='c0a6b40a222e51bea5c53090e9e65de46aee2d84c7fa7638f09cb68c3331b983')
+ version('1.28.2', sha256='4bec3edf82556b539f7e9f3d3801cba540e272af87293a3f4178504239bd111e')
+ version('1.28.1', sha256='4cbce7f708917b6e58b631c24c59fe720acc8fef5f959df9a58cdf9558d0a79b')
+ version('1.28.0', sha256='d6277f77e0bb922d3f6f56c0f93292bb4cfabfc3c92b31ee5ccea0e100303612')
version('1.27.0', sha256='3ccc4e5ae8c1ce844456e39cc11f1c991a7da74396faabe83d779836ef449bce')
version('1.26.0', sha256='2fcb7f1ab160d6fd3aaade64520be3e5446fc4c6fa7ba6581afdc4e26094bd81')
version('1.25.0', sha256='ffbe61269160ea745e487f79b0fd06b6edd3d50c6d9123f053b5634737cf2f69')
@@ -29,7 +35,7 @@ class Grpc(CMakePackage):
depends_on('openssl')
depends_on('zlib')
depends_on('c-ares')
- depends_on('abseil-cpp', when='@1.27.0:')
+ depends_on('abseil-cpp', when='@1.27:')
def cmake_args(self):
args = [
diff --git a/var/spack/repos/builtin/packages/gunrock/package.py b/var/spack/repos/builtin/packages/gunrock/package.py
index f47c1bf635..391b31b723 100644
--- a/var/spack/repos/builtin/packages/gunrock/package.py
+++ b/var/spack/repos/builtin/packages/gunrock/package.py
@@ -12,7 +12,10 @@ class Gunrock(CMakePackage, CudaPackage):
homepage = "https://gunrock.github.io/docs/"
git = "https://github.com/gunrock/gunrock.git"
- version('master', submodules=True)
+ # tagged versions are broken. See
+ # https://github.com/gunrock/gunrock/issues/777
+ # Hence, prefer master version.
+ version('master', submodules=True, preferred=True)
version('1.1', submodules=True, tag='v1.1')
version('1.0', submodules=True, tag='v1.0')
version('0.5.1', submodules=True, tag='v0.5.1')
@@ -23,9 +26,100 @@ class Gunrock(CMakePackage, CudaPackage):
version('0.2', submodules=True, tag='v0.2')
version('0.1', submodules=True, tag='v0.1')
- depends_on('cuda')
+ variant('cuda', default=True, description="Build with Cuda support")
+
+ variant('lib', default=True, description='Build main gunrock library')
+ variant('shared_libs', default=True, description='Turn off to build for static libraries')
+ variant('tests', default=True, description='Build functional tests / examples')
+ variant('mgpu_tests', default=False, description='Builds Gunrock applications and enables the ctest framework for single GPU implementations')
+ variant('cuda_verbose_ptxas', default=False, description='Enable verbose output from the PTXAS assembler')
+ variant('google_tests', default=False, description='Build unit tests using googletest')
+ variant('code_coverage', default=False, description="run code coverage on Gunrock's source code")
+ # apps
+ msg = 'select either all or individual applications'
+ variant(
+ "applications",
+ values=disjoint_sets(
+ ('all',), ('bc', 'bfs', 'cc', 'pr', 'sssp', 'dobfs', 'hits',
+ 'salsa', 'mst', 'wtf', 'topk')
+ ).allow_empty_set().with_default('all').with_error(msg),
+ description="Application to be built"
+ )
+
+ variant('boost', default=True, description='Build with Boost')
+ variant('metis', default=False, description='Build with Metis support')
+
+ depends_on('googletest', when='+google_tests')
+ depends_on('lcov', when='+code_coverage')
+ depends_on('boost@1.58.0:', when='+boost')
+ depends_on('metis', when='+metis')
+
+ conflicts('cuda_arch=none', when='+cuda',
+ msg='Must specify CUDA compute capabilities of your GPU. \
+See "spack info gunrock"')
+
+ def cmake_args(self):
+ spec = self.spec
+ args = []
+ args.extend([
+ '-DGUNROCK_BUILD_LIB={0}'.format(
+ 'ON' if '+lib' in spec else 'OFF'),
+ '-DGUNROCK_BUILD_SHARED_LIBS={0}'.format(
+ 'ON' if '+shared_libs' in spec else 'OFF'),
+ '-DGUNROCK_BUILD_TESTS={0}'.format(
+ 'ON' if '+tests' in spec else 'OFF'),
+ '-DGUNROCK_MGPU_TESTS={0}'.format(
+ 'ON' if '+mgpu_tests' in spec else 'OFF'),
+ '-DCUDA_VERBOSE_PTXAS={0}'.format(
+ 'ON' if '+cuda_verbose_ptxas' in spec else 'OFF'),
+ '-DGUNROCK_GOOGLE_TESTS={0}'.format(
+ 'ON' if '+google_tests' in spec else 'OFF'),
+ '-DGUNROCK_CODE_COVERAGE={0}'.format(
+ 'ON' if '+code_coverage' in spec else 'OFF'),
+ ])
+
+ # turn off auto detect, which undoes custom cuda arch options
+ args.append('-DCUDA_AUTODETECT_GENCODE=OFF')
+
+ cuda_arch_list = self.spec.variants['cuda_arch'].value
+ if cuda_arch_list[0] != 'none':
+ for carch in cuda_arch_list:
+ args.append('-DGUNROCK_GENCODE_SM' + carch + '=ON')
+
+ app_list = self.spec.variants['applications'].value
+ if app_list[0] != 'none':
+ args.extend([
+ '-DGUNROCK_BUILD_APPLICATIONS={0}'.format(
+ 'ON' if spec.satisfies('applications=all') else 'OFF'),
+ '-DGUNROCK_APP_BC={0}'.format(
+ 'ON' if spec.satisfies('applications=bc') else 'OFF'),
+ '-DGUNROCK_APP_BFS={0}'.format(
+ 'ON' if spec.satisfies('applications=bfs') else 'OFF'),
+ '-DGUNROCK_APP_CC={0}'.format(
+ 'ON' if spec.satisfies('applications=cc') else 'OFF'),
+ '-DGUNROCK_APP_PR={0}'.format(
+ 'ON' if spec.satisfies('applications=pr') else 'OFF'),
+ '-DGUNROCK_APP_SSSP={0}'.format(
+ 'ON' if spec.satisfies('applications=sssp') else 'OFF'),
+ '-DGUNROCK_APP_DOBFS={0}'.format(
+ 'ON' if spec.satisfies('applications=dobfs') else 'OFF'),
+ '-DGUNROCK_APP_HITS={0}'.format(
+ 'ON' if spec.satisfies('applications=hits') else 'OFF'),
+ '-DGUNROCK_APP_SALSA={0}'.format(
+ 'ON' if spec.satisfies('applications=salsa') else 'OFF'),
+ '-DGUNROCK_APP_MST={0}'.format(
+ 'ON' if spec.satisfies('applications=mst') else 'OFF'),
+ '-DGUNROCK_APP_WTF={0}'.format(
+ 'ON' if spec.satisfies('applications=wtf') else 'OFF'),
+ '-DGUNROCK_APP_TOPK={0}'.format(
+ 'ON' if spec.satisfies('applications=topk') else 'OFF'),
+ ])
+
+ return args
def install(self, spec, prefix):
with working_dir(self.build_directory):
- install_tree('bin', prefix.bin)
install_tree('lib', prefix.lib)
+ # bin dir is created only if tests/examples are built
+ if '+tests' in spec:
+ install_tree('bin', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py
index 4ab6005dbf..2a303bc97e 100644
--- a/var/spack/repos/builtin/packages/harfbuzz/package.py
+++ b/var/spack/repos/builtin/packages/harfbuzz/package.py
@@ -8,9 +8,11 @@ from spack import *
class Harfbuzz(AutotoolsPackage):
"""The Harfbuzz package contains an OpenType text shaping engine."""
- homepage = "http://www.freedesktop.org/wiki/Software/HarfBuzz/"
+ homepage = "https://github.com/harfbuzz/harfbuzz"
url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.37.tar.bz2"
+ git = "https://github.com/harfbuzz/harfbuzz.git"
+ version('2.6.8', sha256='6648a571a27f186e47094121f0095e1b809e918b3037c630c7f38ffad86e3035')
version('2.3.1', sha256='f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468')
version('2.1.3', sha256='613264460bb6814c3894e3953225c5357402915853a652d40b4230ce5faf0bee')
version('1.9.0', sha256='11eca62bf0ac549b8d6be55f4e130946399939cdfe7a562fdaee711190248b00')
@@ -30,6 +32,14 @@ class Harfbuzz(AutotoolsPackage):
conflicts('%intel', when='@2.3.1:',
msg='harfbuzz-2.3.1 does not build with the Intel compiler')
+ def url_for_version(self, version):
+ if version > Version('2.3.1'):
+ url = "https://github.com/harfbuzz/harfbuzz/releases/download/{0}/harfbuzz-{0}.tar.xz"
+ else:
+ url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-{0}.tar.bz2"
+
+ return url.format(version)
+
def configure_args(self):
args = []
# disable building of gtk-doc files following #9771
diff --git a/var/spack/repos/builtin/packages/hazelcast/package.py b/var/spack/repos/builtin/packages/hazelcast/package.py
new file mode 100644
index 0000000000..c903b29c0c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hazelcast/package.py
@@ -0,0 +1,29 @@
+# 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 Hazelcast(Package):
+ """Hazelcast is an open-source distributed in-memory data
+ store and computation platform. It provides a wide variety
+ of distributed data structures and concurrency primitives."""
+
+ homepage = "http://www.hazelcast.com/"
+ url = "https://github.com/hazelcast/hazelcast/archive/v3.12.8.tar.gz"
+
+ version('4.0.2', sha256='4f01682583ae6603365ac7a24c568d7598cc3c1cbd736e5c6ed98bd75e39ffa3')
+ version('4.0.1', sha256='c9c7d5cbcf70c5e1eb72890df2b4104639f7543f11c6ac5d3e80cd2d4a0d2181')
+ version('3.12.8', sha256='65d0e131fc993f9517e8ce9ae5af9515f1b8038304abaaf9da535bdef1d71726')
+ version('3.12.7', sha256='0747de968082bc50202f825b4010be28a3885b3dbcee4b83cbe21b2f8b26a7e0')
+ version('3.11.7', sha256='c9f636b8813027d4cc24459bd27740549f89b4f11f62a868079bcb5b41d9b2bb')
+
+ depends_on('maven', type='build')
+ depends_on('java', type=('build', 'run'))
+
+ def install(self, spec, prefix):
+ mvn = which('mvn')
+ mvn('package', '-DskipTests')
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/hbase/package.py b/var/spack/repos/builtin/packages/hbase/package.py
index d34fe2f9f1..1e87f8a297 100644
--- a/var/spack/repos/builtin/packages/hbase/package.py
+++ b/var/spack/repos/builtin/packages/hbase/package.py
@@ -7,21 +7,24 @@ from spack import *
class Hbase(Package):
- """
- Apache HBase is an open-source, distributed, versioned, column-oriented
+ """Apache HBase is an open-source, distributed, versioned, column-oriented
store modeled after Google' Bigtable: A Distributed Storage System for
Structured Data by Chang et al. Just as Bigtable leverages the distributed
data storage provided by the Google File System, HBase provides
- Bigtable-like capabilities on top of Apache Hadoop.
- """
+ Bigtable-like capabilities on top of Apache Hadoop."""
- homepage = "https://github.com/apache/hbase"
- url = "https://github.com/apache/hbase/archive/rel/2.2.2.tar.gz"
+ homepage = "https://archive.apache.org/"
+ url = "https://archive.apache.org/dist/hbase/2.2.4/hbase-2.2.4-bin.tar.gz"
+ list_url = "https://archive.apache.org/dist/hbase"
+ list_depth = 1
- version('2.2.2', sha256='e9a58946e9adff1cac23a0b261ecf32da32f8d2ced0706af1d04e8a67d582926')
- version('2.1.8', sha256='121cea4c554879c8401f676c8eb49e39bd35d41c358e919379ad4a318844c8de')
+ version('2.2.5', sha256='25d08f8f038d9de5beb43dfb0392e8a8b34eae7e0f2670d6c2c172abc3855194')
+ version('2.2.4', sha256='ec91b628352931e22a091a206be93061b6bf5364044a28fb9e82f0023aca3ca4')
+ version('2.2.3', sha256='ea8fa72aa6220e038e30bd7c439d181b10bd7225383f7f2d224ebb5f5397310a')
+ version('2.2.2', sha256='97dcca3a031925a379a0ee6bbfb6007533fb4fdb982c23345e5fc04d6c52bebc')
+ version('2.1.8', sha256='d8296e8405b1c39c73f0dd03fc6b4d2af754035724168fd56e8f2a0ff175ad90')
- depends_on('java@7:', type='run')
+ depends_on('java@8', type='run')
def install(self, spec, prefix):
install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index c81ffb74dc..ba02bda8e0 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -57,6 +57,7 @@ class Hdf5(AutotoolsPackage):
variant('hl', default=False, description='Enable the high-level library')
variant('cxx', default=False, description='Enable C++ support')
variant('fortran', default=False, description='Enable Fortran support')
+ variant('java', default=False, description='Enable Java support')
variant('threadsafe', default=False,
description='Enable thread-safe capabilities')
@@ -78,6 +79,7 @@ class Hdf5(AutotoolsPackage):
depends_on('m4', type='build', when='@develop')
depends_on('mpi', when='+mpi')
+ depends_on('java', when='+java')
# numactl does not currently build on darwin
if sys.platform != 'darwin':
depends_on('numactl', when='+mpi+fortran')
@@ -237,6 +239,7 @@ class Hdf5(AutotoolsPackage):
extra_args += self.enable_or_disable('cxx')
extra_args += self.enable_or_disable('hl')
extra_args += self.enable_or_disable('fortran')
+ extra_args += self.enable_or_disable('java')
api = self.spec.variants['api'].value
if api != 'none':
diff --git a/var/spack/repos/builtin/packages/hdfview/fix_build.patch b/var/spack/repos/builtin/packages/hdfview/fix_build.patch
new file mode 100644
index 0000000000..d4e3ce7480
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hdfview/fix_build.patch
@@ -0,0 +1,12 @@
+diff --git a/build.xml b/build_fixed.xml
+index f0f2c3f..c486cbb 100644
+--- a/build.xml
++++ b/build_fixed.xml
+@@ -943,7 +943,6 @@
+ <!-- Generate list of needed Java modules by using `jdeps` on all JAR files in the release directory -->
+ <apply executable="@{java.bindir}/jdeps" output="${build.dir}/jdeps.pre" append="true" >
+ <arg value="--print-module-deps" />
+- <arg value="--ignore-missing-deps" />
+ <fileset dir="${release.dir}/lib" includes="**/*.jar" />
+ </apply>
+
diff --git a/var/spack/repos/builtin/packages/hdfview/package.py b/var/spack/repos/builtin/packages/hdfview/package.py
new file mode 100644
index 0000000000..fd21cb9dca
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hdfview/package.py
@@ -0,0 +1,49 @@
+# 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 *
+import os
+
+
+class Hdfview(Package):
+ """HDFView is a visual tool written in Java for browsing
+ and editing HDF (HDF5 and HDF4) files."""
+
+ homepage = "https://www.hdfgroup.org/downloads/hdfview/"
+ url = "https://s3.amazonaws.com/hdf-wordpress-1/wp-content/uploads/manual/HDFView/hdfview-3.0.tar.gz"
+
+ version('3.1.1', sha256='1cfd127ebb4c3b0ab1cfe54649a410fc7a1c2d73f45564697d3729f4aa6b0ba3',
+ url='https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfview-3.1.1/src/hdfview-3.1.1.tar.gz')
+ version('3.0', sha256='e2a16d3842d8947f3d4f154ee9f48a106c7f445914a9e626a53976d678a0e934')
+
+ # unknown flag: --ignore-missing-deps
+ patch('fix_build.patch', when='@3.1.1')
+
+ depends_on('ant', type='build')
+ depends_on('hdf5 +java')
+ depends_on('hdf +java -external-xdr +shared')
+
+ def install(self, spec, prefix):
+ env['HDF5LIBS'] = spec['hdf5'].prefix
+ env['HDFLIBS'] = spec['hdf'].prefix
+
+ ant = which('ant')
+ ant('-Dbuild.debug=false', 'deploy')
+
+ dir_version = os.listdir('build/HDF_Group/HDFView/')[0]
+ path = 'build/HDF_Group/HDFView/{0}/'.format(dir_version)
+ hdfview = '{0}/{1}'.format(path, 'hdfview.sh')
+
+ filter_file(
+ r'\$dir',
+ prefix,
+ hdfview
+ )
+
+ mkdirp(prefix.bin)
+ install(hdfview, prefix.bin.hdfview)
+ chmod = which('chmod')
+ chmod('+x', self.prefix.bin.hdfview)
+ install_tree(path, prefix)
diff --git a/var/spack/repos/builtin/packages/heputils/package.py b/var/spack/repos/builtin/packages/heputils/package.py
new file mode 100644
index 0000000000..e856d7b5d0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/heputils/package.py
@@ -0,0 +1,36 @@
+# 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 Heputils(MakefilePackage):
+ """Generic tools for high energy physics, e.g. vectors, event records,
+ math and other util functions."""
+
+ homepage = "https://bitbucket.org/andybuckley/heputils/src/default/"
+ url = "https://bitbucket.org/andybuckley/heputils/get/heputils-1.3.2.tar.gz"
+
+ version('1.3.2', sha256='be43586979ab1a81a55348d795c2f63a5da19fc6367d5f66f354217c76c809c0')
+ version('1.3.1', sha256='7f33ef44364a3d3a39cc65005fb6aa9dfd06bd1b18b41151c0e5e3d28d6ba15b')
+ version('1.3.0', sha256='1ec9d9d71d409ce6b2e668e4927b1090ddf2ee9acf25457f767925cf89b24852')
+ version('1.2.1', sha256='99f0b27cddffb98977d37418d53f3386e5defda547aeb4c4fda00ab6fcf2cc31')
+ version('1.2.0', sha256='0f9f96bd7589f9aec8f1271524b8622291216fe2294ffed772b84d010759eaef')
+ version('1.1.0', sha256='671374641cdb6dc093327b69da2d2854df805b6eb8e90f0efefb0788ee4a2edd')
+ version('1.0.8', sha256='9b9a45ebff1367cd2ab1ec4ee8c0e124a9b7ed66c75d8961412163ade1962d91')
+ version('1.0.7', sha256='481a26755d4e2836563d1f8fcdad663bfa7e21b9878c01bd8a73a67876726b81')
+ version('1.0.6', sha256='1ecd8597ef7921a63606b21136900a05a818c9342da7994a42aae768ecca507f')
+ version('1.0.5', sha256='efff3d7d6973822f1dced903017f86661e2d054ff3f0d4fe926de2347160e329')
+ version('1.0.4', sha256='aeca00c1012bce469c6fe6393edbf4f33043ab671c97a8283a21861caee8b1b4')
+ version('1.0.3', sha256='8e7ebe0ad5e87a97cbbff7097092ed8afe5a2d1ecae0f4d4f9a7bf694e221d40')
+ version('1.0.2', sha256='83ba7876d884406463cc8ae42214038b7d6c40ead77a1532d64bc96887173f75')
+ version('1.0.1', sha256='4bfccc4f4380becb776343e546deb2474deeae79f053ba8ca22287827b8bd4b1')
+ version('1.0.0', sha256='4f71c2bee6736ed87d0151e62546d2fc9ff639db58172c26dcf033e5bb1ea04c')
+
+ def build(self, spec, prefix):
+ return
+
+ def install(self, spec, prefix):
+ make('install', 'PREFIX={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/herwigpp/herwig++-2.7.1.patch b/var/spack/repos/builtin/packages/herwigpp/herwig++-2.7.1.patch
new file mode 100644
index 0000000000..1690f362ad
--- /dev/null
+++ b/var/spack/repos/builtin/packages/herwigpp/herwig++-2.7.1.patch
@@ -0,0 +1,66 @@
+--- Utilities/Histogram.h.orig 2018-11-07 14:46:18.967689784 +0100
++++ Utilities/Histogram.h 2018-11-07 14:46:32.755601195 +0100
+@@ -111,7 +111,7 @@
+ * Function to add a weighted point to the histogram
+ */
+ void addWeighted(double input, double weight) {
+- if(isnan(input)) return;
++ if(std::isnan(input)) return;
+ unsigned int ibin;
+ for(ibin=1; ibin<_bins.size(); ++ibin) {
+ if(input<_bins[ibin].limit)
+--- Contrib/AlpGen/BasicLesHouchesFileReader.cc.orig 2018-11-07 15:38:46.819306762 +0100
++++ Contrib/AlpGen/BasicLesHouchesFileReader.cc 2018-11-07 15:39:04.927190111 +0100
+@@ -383,9 +383,9 @@
+ >> hepeup.PUP[i][3] >> hepeup.PUP[i][4]
+ >> hepeup.VTIMUP[i] >> hepeup.SPINUP[i] ) )
+ return false;
+- if(isnan(hepeup.PUP[i][0])||isnan(hepeup.PUP[i][1])||
+- isnan(hepeup.PUP[i][2])||isnan(hepeup.PUP[i][3])||
+- isnan(hepeup.PUP[i][4]))
++ if(std::isnan(hepeup.PUP[i][0])||std::isnan(hepeup.PUP[i][1])||
++ std::isnan(hepeup.PUP[i][2])||std::isnan(hepeup.PUP[i][3])||
++ std::isnan(hepeup.PUP[i][4]))
+ throw Exception()
+ << "nan's as momenta in Les Houches file "
+ << Exception::eventerror;
+--- DipoleShower/Base/DipoleChain.cc.orig 2018-12-14 16:51:47.597597788 +0100
++++ DipoleShower/Base/DipoleChain.cc 2018-12-14 16:52:09.450796951 +0100
+@@ -15,6 +15,7 @@
+ #include "Herwig++/DipoleShower/Utility/DipolePartonSplitter.h"
+
+ #include <boost/utility.hpp>
++#include <boost/next_prior.hpp>
+
+ using namespace Herwig;
+
+--- Exsample2/exsample/config.h.orig 2018-12-14 16:56:31.729186139 +0100
++++ Exsample2/exsample/config.h 2018-12-14 16:56:55.969406851 +0100
+@@ -25,6 +25,7 @@
+ #include <limits>
+
+ #include <boost/utility.hpp>
++#include <boost/next_prior.hpp>
+ #include <boost/scoped_array.hpp>
+ #include <boost/scoped_ptr.hpp>
+
+--- DipoleShower/Base/DipoleEventRecord.cc.orig 2018-12-14 16:58:33.878298134 +0100
++++ DipoleShower/Base/DipoleEventRecord.cc 2018-12-14 16:58:47.983426512 +0100
+@@ -19,6 +19,7 @@
+ #include "ThePEG/PDF/PartonExtractor.h"
+
+ #include <boost/utility.hpp>
++#include <boost/next_prior.hpp>
+
+ #include <algorithm>
+
+--- ./Exsample2/BinnedStatistics.h.orig 2018-12-14 17:11:37.396421246 +0100
++++ ./Exsample2/BinnedStatistics.h 2018-12-14 17:12:00.762633435 +0100
+@@ -16,6 +16,7 @@
+ #include "ThePEG/Repository/UseRandom.h"
+
+ #include <boost/utility.hpp>
++#include <boost/next_prior.hpp>
+
+ namespace Herwig {
+
diff --git a/var/spack/repos/builtin/packages/herwigpp/package.py b/var/spack/repos/builtin/packages/herwigpp/package.py
new file mode 100644
index 0000000000..c3cdf7791d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/herwigpp/package.py
@@ -0,0 +1,52 @@
+# 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 Herwigpp(AutotoolsPackage):
+ """Herwig is a multi-purpose particle physics event generator.
+ This package provides old Herwig++ 2 generator"""
+
+ homepage = "https://herwig.hepforge.org/"
+ url = "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources/MCGeneratorsTarFiles/Herwig++-2.7.1.tar.bz2"
+
+ version('2.7.1', '80a189376bb65f5ec4e64f42e76c00ea9102d8224010563a424fc11e619a6ad6')
+ patch('herwig++-2.7.1.patch', when='@2.7.1', level=0)
+
+ depends_on('gsl')
+ depends_on('boost')
+ depends_on('fastjet')
+ depends_on('thepeg@1.9.2', when='@2.7.1')
+
+ def configure_args(self):
+ args = ['--with-gsl=' + self.spec['gsl'].prefix,
+ '--with-thepeg=' + self.spec['thepeg'].prefix,
+ '--with-fastjet=' + self.spec['fastjet'].prefix,
+ '--with-boost=' + self.spec['boost'].prefix]
+ return args
+
+ def build(self, spec, prefix):
+ make()
+ with working_dir('Contrib'):
+ make()
+
+ with working_dir('Contrib/AlpGen'):
+ make('BasicLesHouchesFileReader.so',
+ "HERWIGINCLUDE=-I{0}/include".format(self.stage.source_path))
+ make('AlpGenHandler.so',
+ "HERWIGINCLUDE=-I{0}/include".format(self.stage.source_path))
+
+ def install(self, spec, prefix):
+ make('install')
+ install(
+ join_path(self.stage.source_path,
+ 'Contrib', 'AlpGen', 'AlpGenHandler.so'),
+ join_path(prefix.lib, 'Herwig++', 'AlpGenHandler.so'))
+
+ install(
+ join_path(self.stage.source_path,
+ 'Contrib', 'AlpGen', 'BasicLesHouchesFileReader.so'),
+ join_path(prefix.lib, 'Herwig++', 'BasicLesHouchesFileReader.so'))
diff --git a/var/spack/repos/builtin/packages/hibench/package.py b/var/spack/repos/builtin/packages/hibench/package.py
new file mode 100644
index 0000000000..c36cc27659
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hibench/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)
+
+from spack import *
+
+
+class Hibench(Package):
+ """HiBench is a big data benchmark suite that helps evaluate different big
+ data frameworks in terms of speed, throughput and system resource
+ utilizations. It contains a set of Hadoop,Spark and streaming workloads,
+ including Sort, WordCount, TeraSort, Repartition, Sleep, SQL,PageRank,
+ Nutch indexing, Bayes, Kmeans, NWeight and enhanced DFSIO, etc."""
+
+ homepage = "https://github.com/Intel-bigdata/HiBench"
+ url = "https://github.com/Intel-bigdata/HiBench/archive/HiBench-7.1.tar.gz"
+
+ version('7.1', sha256='96572a837d747fb6347f2b906fd5f7fb97a62095435326ccfee5e75777a5c210')
+ version('7.0', sha256='89b01f3ad90b758f24afd5ea2bee997c3d700ce9244b8a2b544acc462ab0e847')
+ version('6.0', sha256='179f5415903f4029bd0ea1101a3d4c67faf88ca46a993d8179582299ad730f79')
+ version('5.0', sha256='32d6a7bc1010d90b2f22906896a03cd1980e617beb07b01716e3d04de5760ed4')
+ version('4.1', sha256='07551763aa30f04d32870c323524b5fc0fc2e968d7081d8916575bdeb4fd1381')
+ version('4.0', sha256='de58ed5e9647ffe28c2a905a8830b661bbd09db334eb5b3472c8186553407e0e')
+ version('3.0.0', sha256='869771e73593caac3a9b2fb14a10041a485d248074ba38cca812c934897db63d')
+ version('2.2.1', sha256='f8531cbaff8d93bfd1c0742fec5dbb375bfeeb9ec1b39b4e857120e933a2c9ec')
+ version('2.2', sha256='5f68e22339cdd141b846d8b1d7134b2b8ff5fbd5e847e406214dc845f5d005cf')
+
+ depends_on('maven', type='build')
+ depends_on('java@8', type=('build', 'run'))
+
+ def install(self, spec, prefix):
+ mvn = which('mvn')
+ mvn('package', '-DskipTests')
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/hip/0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch b/var/spack/repos/builtin/packages/hip/0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch
new file mode 100644
index 0000000000..53f2bea672
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hip/0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch
@@ -0,0 +1,27 @@
+From cf5f9124a629e0594c71daa6ea12ee823bf6a9fb Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <harmenstoppels@gmail.com>
+Date: Fri, 7 Aug 2020 23:09:43 +0200
+Subject: [PATCH] Make it possible to specify the package folder of
+ rocm_agent_enumerator from the command line
+
+---
+ bin/hipcc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bin/hipcc b/bin/hipcc
+index 8c0a4796..48192ed1 100755
+--- a/bin/hipcc
++++ b/bin/hipcc
+@@ -684,7 +684,8 @@ if($HIP_PLATFORM eq "hcc" or $HIP_PLATFORM eq "clang"){
+ $targetsStr = $ENV{HCC_AMDGPU_TARGET};
+ } else {
+ # Else try using rocm_agent_enumerator
+- $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator";
++ $ROCMINFO_PATH = $ENV{'ROCMINFO_PATH'} // $ROCM_PATH;
++ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator";
+ $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`;
+ $targetsStr =~ s/\n/,/g;
+ }
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/hip/0002-Fix-detection-of-HIP_CLANG_ROOT.patch b/var/spack/repos/builtin/packages/hip/0002-Fix-detection-of-HIP_CLANG_ROOT.patch
new file mode 100644
index 0000000000..61ad05873a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hip/0002-Fix-detection-of-HIP_CLANG_ROOT.patch
@@ -0,0 +1,28 @@
+From 4f324ddc12f358de47ea0ef1872c61b1dc4c46e2 Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <harmenstoppels@gmail.com>
+Date: Mon, 10 Aug 2020 15:00:06 +0200
+Subject: [PATCH] Fix detection of HIP_CLANG_ROOT
+
+---
+ hip-config.cmake.in | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/hip-config.cmake.in b/hip-config.cmake.in
+index 859e2fa0..4baafbde 100644
+--- a/hip-config.cmake.in
++++ b/hip-config.cmake.in
+@@ -58,8 +58,9 @@ if(HIP_COMPILER STREQUAL "clang")
+ execute_process(COMMAND ${HIP_CXX_COMPILER} --version
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ OUTPUT_VARIABLE HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT)
+- if(HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir:[\t\r\n][\t\r\n]*([^\t\r\n])")
+- set(HIP_CLANG_ROOT ${CMAKE_MATCH_1})
++ if(HIP_CLANG_CXX_COMPILER_VERSION_OUTPUT MATCHES "InstalledDir: ([^\t\r\n]+)")
++ # InstalledDir points to the bin/ directory, so the root is the parent dir
++ get_filename_component(HIP_CLANG_ROOT ${CMAKE_MATCH_1} DIRECTORY)
+ else()
+ set(HIP_CLANG_ROOT /opt/rocm/llvm)
+ endif()
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py
new file mode 100644
index 0000000000..80eb95c5f5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hip/package.py
@@ -0,0 +1,83 @@
+# 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 Hip(CMakePackage):
+ """HIP is a C++ Runtime API and Kernel Language that allows developers to
+ create portable applications for AMD and NVIDIA GPUs from
+ single source code."""
+
+ homepage = "https://github.com/ROCm-Developer-Tools/HIP"
+ url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='ae8384362986b392288181bcfbe5e3a0ec91af4320c189bd83c844ed384161b3')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('perl@5.10:', type=('build', 'run'))
+
+ depends_on('rocclr@3.5.0', when='@3.5.0')
+ depends_on('hsakmt-roct@3.5.0', type='build', when='@3.5.0')
+ depends_on('hsa-rocr-dev@3.5.0', type='link', when='@3.5.0')
+ depends_on('comgr@3.5.0', type='build', when='@3.5.0')
+ depends_on('llvm-amdgpu@3.5.0', type='build', when='@3.5.0')
+ depends_on('rocm-device-libs', type='build')
+ depends_on('rocminfo@3.5.0', type='build', when='@3.5.0')
+
+ # Note: the ROCm ecosystem expects `lib/` and `bin/` folders with symlinks
+ # in the parent directory of the package, which is incompatible with spack.
+ # In hipcc the ROCM_PATH variable is used to point to the parent directory
+ # of the package. With the following patch we should never hit code that
+ # uses the ROCM_PATH variable again; just to be sure we set it to an empty
+ # string.
+ patch('0001-Make-it-possible-to-specify-the-package-folder-of-ro.patch', when='@3.5.0')
+
+ # See https://github.com/ROCm-Developer-Tools/HIP/pull/2141
+ patch('0002-Fix-detection-of-HIP_CLANG_ROOT.patch', when='@3.5.0')
+
+ def setup_dependent_build_environment(self, env, dependent_spec):
+ env.set('ROCM_PATH', '')
+ env.set('HIP_COMPILER', 'clang')
+ env.set('HIP_PLATFORM', 'hcc')
+ env.set('HIP_CLANG_PATH', self.spec['llvm-amdgpu'].prefix.bin)
+ env.set('HSA_PATH', self.spec['hsa-rocr-dev'].prefix)
+ env.set('ROCMINFO_PATH', self.spec['rocminfo'].prefix)
+ env.set('DEVICE_LIB_PATH', self.spec['rocm-device-libs'].prefix.lib)
+
+ def setup_dependent_package(self, module, dependent_spec):
+ self.spec.hipcc = join_path(self.prefix.bin, 'hipcc')
+
+ def patch(self):
+ filter_file(
+ 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/../include"',
+ 'INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"',
+ 'hip-config.cmake.in', string=True)
+
+ @run_before('install')
+ def filter_sbang(self):
+ perl = self.spec['perl'].command
+ kwargs = {'ignore_absent': False, 'backup': False, 'string': False}
+
+ with working_dir('bin'):
+ match = '^#!/usr/bin/perl'
+ substitute = "#!{perl}".format(perl=perl)
+ files = [
+ 'hipify-perl', 'hipcc', 'extractkernel',
+ 'hipconfig', 'hipify-cmakefile'
+ ]
+ filter_file(match, substitute, *files, **kwargs)
+
+ def cmake_args(self):
+ args = [
+ '-DHIP_COMPILER=clang',
+ '-DHIP_PLATFORM=rocclr',
+ '-DHSA_PATH={0}'.format(self.spec['hsa-rocr-dev'].prefix),
+ '-DLIBROCclr_STATIC_DIR={0}/lib'.format(self.spec['rocclr'].prefix)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/hipsycl/package.py b/var/spack/repos/builtin/packages/hipsycl/package.py
index 18ea5895fc..02c59bc791 100644
--- a/var/spack/repos/builtin/packages/hipsycl/package.py
+++ b/var/spack/repos/builtin/packages/hipsycl/package.py
@@ -21,7 +21,7 @@ class Hipsycl(CMakePackage):
provides("sycl")
- version("master", branch="master", submodules=True)
+ version("stable", branch="stable", submodules=True)
version(
"0.8.0",
commit="2daf8407e49dd32ebd1c266e8e944e390d28b22a",
diff --git a/var/spack/repos/builtin/packages/hisat2/package.py b/var/spack/repos/builtin/packages/hisat2/package.py
index 93b54e9ed5..ab03df4ce5 100644
--- a/var/spack/repos/builtin/packages/hisat2/package.py
+++ b/var/spack/repos/builtin/packages/hisat2/package.py
@@ -14,13 +14,18 @@ class Hisat2(MakefilePackage):
exome sequencing data) against the general human population (as well as
against a single reference genome)."""
- homepage = "http://ccb.jhu.edu/software/hisat2"
+ homepage = "https://daehwankimlab.github.io/hisat2/"
url = "ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-source.zip"
+ version('2.2.0', sha256='0dd55168853b82c1b085f79ed793dd029db163773f52272d7eb51b3b5e4a4cdd',
+ url='https://cloud.biohpc.swmed.edu/index.php/s/hisat2-220-source/download',
+ extension='zip')
version('2.1.0', sha256='89a276eed1fc07414b1601947bc9466bdeb50e8f148ad42074186fe39a1ee781')
def install(self, spec, prefix):
- install_tree('doc', prefix.doc)
+ if spec.satisfies('@:2.1.0'):
+ install_tree('doc', prefix.doc)
+
install_tree('example', prefix.example)
install_tree('hisatgenotype_modules', prefix.hisatgenotype_modules)
install_tree('hisatgenotype_scripts', prefix.hisatgenotype_scripts)
diff --git a/var/spack/repos/builtin/packages/hpcg/package.py b/var/spack/repos/builtin/packages/hpcg/package.py
new file mode 100644
index 0000000000..4de150cda2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hpcg/package.py
@@ -0,0 +1,78 @@
+# 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 *
+import os
+import platform
+
+
+class Hpcg(AutotoolsPackage):
+ """HPCG is a software package that performs a fixed number of multigrid
+ preconditioned (using a symmetric Gauss-Seidel smoother) conjugate gradient
+ (PCG) iterations using double precision (64 bit) floating point values."""
+
+ homepage = "https://www.hpcg-benchmark.org"
+ url = "http://www.hpcg-benchmark.org/downloads/hpcg-3.1.tar.gz"
+ git = "https://github.com/hpcg-benchmark/hpcg.git"
+
+ version('develop', branch='master')
+ version('3.1', sha256='33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4')
+
+ variant('openmp', default=True, description='Enable OpenMP support')
+
+ patch('https://github.com/hpcg-benchmark/hpcg/commit/e9e0b7e6cae23e1f30dd983c2ce2d3bd34d56f75.patch', sha256='23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', when='%gcc@9:')
+
+ depends_on('mpi@1.1:')
+
+ arch = '{0}-{1}'.format(platform.system(), platform.processor())
+ build_targets = ['arch={0}'.format(arch)]
+
+ def configure(self, spec, prefix):
+ CXXFLAGS = '-O3 -ffast-math '
+ CXXFLAGS += '-ftree-vectorize -ftree-vectorizer-verbose=0 '
+ if '+openmp' in self.spec:
+ CXXFLAGS += self.compiler.openmp_flag
+ config = [
+ # Shell
+ 'SHELL = /bin/sh',
+ 'CD = cd',
+ 'CP = cp',
+ 'LN_S = ln -fs',
+ 'MKDIR = mkdir -p',
+ 'RM = /bin/rm -f',
+ 'TOUCH = touch',
+ # Platform identifier
+ 'ARCH = {0}'.format(self.arch),
+ # HPCG Directory Structure / HPCG library
+ 'TOPdir = {0}'.format(os.getcwd()),
+ 'SRCdir = $(TOPdir)/src',
+ 'INCdir = $(TOPdir)/src',
+ 'BINdir = $(TOPdir)/bin',
+ # Message Passing library (MPI)
+ 'MPinc = -I{0}'.format(spec['mpi'].prefix.include),
+ 'MPlib = -L{0}'.format(spec['mpi'].prefix.lib),
+ # HPCG includes / libraries / specifics
+ 'HPCG_INCLUDES = -I$(INCdir) -I$(INCdir)/$(arch) $(MPinc)',
+ 'HPCG_LIBS =',
+ 'HPCG_OPTS =',
+ 'HPCG_DEFS = $(HPCG_OPTS) $(HPCG_INCLUDES)',
+ # Compilers / linkers - Optimization flags
+ 'CXX = {0}'.format(spec['mpi'].mpicxx),
+ 'CXXFLAGS = $(HPCG_DEFS) {0}'.format(CXXFLAGS),
+ 'LINKER = $(CXX)',
+ 'LINKFLAGS = $(CXXFLAGS)',
+ 'ARCHIVER = ar',
+ 'ARFLAGS = r',
+ 'RANLIB = echo',
+ ]
+
+ # Write configuration options to include file
+ with open('setup/Make.{0}'.format(self.arch), 'w') as makefile:
+ for var in config:
+ makefile.write('{0}\n'.format(var))
+
+ def install(self, spec, prefix):
+ # Manual installation
+ install_tree('bin', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py
index 9de2184d92..89a7a4b641 100644
--- a/var/spack/repos/builtin/packages/hpctoolkit/package.py
+++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py
@@ -20,6 +20,8 @@ class Hpctoolkit(AutotoolsPackage):
version('develop', branch='develop')
version('master', branch='master')
+ version('2020.08.03', commit='d9d13c705d81e5de38e624254cf0875cce6add9a')
+ version('2020.07.21', commit='4e56c780cffc53875aca67d6472a2fb3678970eb')
version('2020.06.12', commit='ac6ae1156e77d35596fea743ed8ae768f7222f19')
version('2020.03.01', commit='94ede4e6fa1e05e6f080be8dc388240ea027f769')
version('2019.12.28', commit='b4e1877ff96069fd8ed0fdf0e36283a5b4b62240')
@@ -36,10 +38,6 @@ class Hpctoolkit(AutotoolsPackage):
description='Build for Cray compute nodes, including '
'hpcprof-mpi.')
- variant('bgq', default=False,
- description='Build for Blue Gene compute nodes, including '
- 'hpcprof-mpi (up to 2019.12.28 only).')
-
variant('mpi', default=False,
description='Build hpcprof-mpi, the MPI version of hpcprof.')
@@ -71,8 +69,7 @@ class Hpctoolkit(AutotoolsPackage):
depends_on('gotcha@1.0.3:')
depends_on('intel-tbb+shared')
depends_on('libdwarf')
- depends_on('libmonitor+hpctoolkit+bgq', when='+bgq')
- depends_on('libmonitor+hpctoolkit~bgq', when='~bgq')
+ depends_on('libmonitor+hpctoolkit')
depends_on('libunwind@1.4: +xz')
depends_on('mbedtls+pic')
depends_on('xerces-c transcoder=iconv')
@@ -94,9 +91,6 @@ class Hpctoolkit(AutotoolsPackage):
conflicts('+cuda', when='@2018.0.0:2019.99.99',
msg='cuda requires 2020.03.01 or later')
- conflicts('+bgq', when='@2020.03.01:',
- msg='blue gene requires 2019.12.28 or earlier')
-
flag_handler = AutotoolsPackage.build_system_flags
def configure_args(self):
@@ -120,11 +114,7 @@ class Hpctoolkit(AutotoolsPackage):
]
if '+cuda' in spec:
- cupti_path = join_path(spec['cuda'].prefix, 'extras', 'CUPTI')
- args.extend([
- '--with-cuda=%s' % spec['cuda'].prefix,
- '--with-cupti=%s' % cupti_path,
- ])
+ args.append('--with-cuda=%s' % spec['cuda'].prefix)
if spec.target.family == 'x86_64':
args.append('--with-xed=%s' % spec['intel-xed'].prefix)
@@ -140,12 +130,6 @@ class Hpctoolkit(AutotoolsPackage):
'--enable-mpi-search=cray',
'--enable-all-static',
])
- elif '+bgq' in spec:
- args.extend([
- '--enable-mpi-search=bgq',
- '--enable-all-static',
- '--enable-bgq',
- ])
elif '+mpi' in spec:
args.append('MPICXX=%s' % spec['mpi'].mpicxx)
diff --git a/var/spack/repos/builtin/packages/hpcviewer/package.py b/var/spack/repos/builtin/packages/hpcviewer/package.py
index f14f55d787..0de66bbf83 100644
--- a/var/spack/repos/builtin/packages/hpcviewer/package.py
+++ b/var/spack/repos/builtin/packages/hpcviewer/package.py
@@ -37,6 +37,9 @@ class Hpcviewer(Package):
maintainers = ['mwkrentel']
viewer_sha = {
+ ('2020.07', 'x86_64'): '19951662626c7c9817c4a75269c85810352dc48ae9a62dfb6ce4a5b502de2118',
+ ('2020.07', 'ppc64'): '3f5d9358ef8ff9ba4f6dcaa4d7132f41ba55f0c132d9fd1e2f6da18341648a4e',
+ ('2020.07', 'ppc64le'): 'e236a8578dc247279d1021aa35bac47e2d4864b906efcef76c0610ee0086b353',
('2020.05', 'x86_64'): '27f99c94a69abd005303fb58360b0d1b3eb7d223cab81c38ae6ccdd83ec15106',
('2020.05', 'ppc64'): '469bce07a75476c132d3791ca49e38db015917c9c36b4810e477bc1c54a13d68',
('2020.05', 'ppc64le'): 'fc4491bf6d9eaf2b7f2d39b722c978597a881ece557fb05a4cf27caabb9e0b99',
@@ -70,6 +73,9 @@ class Hpcviewer(Package):
}
trace_sha = {
+ ('2020.07', 'x86_64'): '52aea55b1d40b9453c106ac5a83020a08839b9be1e71dbd1a9f471e5f3a55d43',
+ ('2020.07', 'ppc64'): '3d9222310a18618704015aecbcab7f7c5a2cedbd5ecd8ace1bfc7e98d11b8d36',
+ ('2020.07', 'ppc64le'): '2f0a8b95033a5816d468b87c8c139f08a307714e2e27a1cb4a35e1c5a8083cca',
('2020.05', 'x86_64'): 'a0b925099a00c10fcb38e937068e50937175fd46dc086121525e546a63a7fd83',
('2020.05', 'ppc64'): '40526f62f36e5b6438021c2b557256638d41a6b8f4e101534b5230ac644a9b85',
('2020.05', 'ppc64le'): 'c16e83b59362adcebecd4231374916a2b3a3c016f75a45b24e8398f777a24f89',
diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py
index 028019864c..56d2ee0461 100644
--- a/var/spack/repos/builtin/packages/hpx/package.py
+++ b/var/spack/repos/builtin/packages/hpx/package.py
@@ -5,6 +5,7 @@
from spack import *
+import sys
class Hpx(CMakePackage, CudaPackage):
@@ -48,6 +49,14 @@ class Hpx(CMakePackage, CudaPackage):
description="Support for networking through parcelports",
)
+ default_generic_coroutines = True
+ if sys.platform.startswith('linux') or sys.platform == 'win32':
+ default_generic_coroutines = False
+ variant(
+ "generic_coroutines", default=default_generic_coroutines,
+ description='Use Boost.Context as the underlying coroutines'
+ ' context switch implementation.')
+
variant('tools', default=False, description='Build HPX tools')
variant('examples', default=False, description='Build examples')
@@ -69,6 +78,15 @@ class Hpx(CMakePackage, CudaPackage):
# https://github.com/STEllAR-GROUP/hpx/issues/4728#issuecomment-640685308
depends_on('boost@:1.72.0', when='@:1.4')
+ # COROUTINES
+ # ~generic_coroutines conflict is not fully implemented
+ # for additional information see:
+ # https://github.com/spack/spack/pull/17654
+ # https://github.com/STEllAR-GROUP/hpx/issues/4829
+ depends_on('boost+context', when='+generic_coroutines')
+ _msg_generic_coroutines = 'This platform requires +generic_coroutines'
+ conflicts('~generic_coroutines', when='platform=darwin', msg=_msg_generic_coroutines)
+
# CXX Standard
depends_on('boost cxxstd=11', when='cxxstd=11')
depends_on('boost cxxstd=14', when='cxxstd=14')
@@ -92,79 +110,51 @@ class Hpx(CMakePackage, CudaPackage):
# Patches APEX
patch('git_external.patch', when='@1.3.0 instrumentation=apex')
- def cxx_standard(self):
- value = self.spec.variants['cxxstd'].value
- return '-DHPX_WITH_CXX{0}=ON'.format(value)
-
def instrumentation_args(self):
for value in self.variants['instrumentation'].values:
if value == 'none':
continue
condition = 'instrumentation={0}'.format(value)
- yield '-DHPX_WITH_{0}={1}'.format(
- str(value).upper(), 'ON' if condition in self.spec else 'OFF'
- )
+ yield self.define(
+ 'HPX_WITH_{0}'.format(value.upper()), condition in self.spec)
def cmake_args(self):
spec, args = self.spec, []
- # CXX Standard
- args.append(self.cxx_standard())
+ args += [
+ self.define(
+ 'HPX_WITH_CXX{0}'.format(spec.variants['cxxstd'].value), True),
+
+ self.define_from_variant('HPX_WITH_MALLOC', 'malloc'),
+ self.define_from_variant('HPX_WITH_CUDA', 'cuda'),
+ self.define_from_variant('HPX_WITH_TOOLS', 'tools'),
+ self.define_from_variant('HPX_WITH_EXAMPLES', 'examples'),
+ self.define('HPX_WITH_TESTS', self.run_tests),
+
+ self.define('HPX_WITH_NETWORKING', 'networking=none' not in spec),
+ self.define('HPX_WITH_PARCELPORT_TCP', 'networking=tcp' in spec),
+ self.define('HPX_WITH_PARCELPORT_MPI', 'networking=mpi' in spec),
+
+ self.define_from_variant(
+ 'HPX_WITH_MAX_CPU_COUNT', 'max_cpu_count'),
+ self.define_from_variant(
+ 'HPX_WITH_GENERIC_CONTEXT_COROUTINES', 'generic_coroutines'),
- # Malloc
- selected_malloc = spec.variants['malloc'].value
- args.append('-DHPX_WITH_MALLOC={0}'.format(selected_malloc))
+ self.define('BOOST_ROOT', spec['boost'].prefix),
+ self.define('HWLOC_ROOT', spec['hwloc'].prefix),
+ self.define('HPX_WITH_BOOST_ALL_DYNAMIC_LINK', True),
+ self.define('BUILD_SHARED_LIBS', True),
+ self.define('HPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE', False),
+ ]
# Instrumentation
- args.extend(self.instrumentation_args())
+ args += self.instrumentation_args()
if 'instrumentation=apex' in spec:
- args += ['-DAPEX_WITH_OTF2=ON'
- '-DOTF2_ROOT={0}'.format(spec['otf2'].prefix)]
-
- # Networking
- args.append('-DHPX_WITH_NETWORKING={0}'.format(
- 'OFF' if 'networking=none' in spec else 'ON'
- ))
- args.append('-DHPX_WITH_PARCELPORT_TCP={0}'.format(
- 'ON' if 'networking=tcp' in spec else 'OFF'
- ))
- args.append('-DHPX_WITH_PARCELPORT_MPI={0}'.format(
- 'ON' if 'networking=mpi' in spec else 'OFF'
- ))
-
- # Cuda support
- args.append('-DHPX_WITH_CUDA={0}'.format(
- 'ON' if '+cuda' in spec else 'OFF'
- ))
-
- # Tests
- args.append('-DHPX_WITH_TESTS={0}'.format(
- 'ON' if self.run_tests else 'OFF'
- ))
-
- # Tools
- args.append('-DHPX_WITH_TOOLS={0}'.format(
- 'ON' if '+tools' in spec else 'OFF'
- ))
-
- # MAX_CPU_COUNT
- args.append('-DHPX_WITH_MAX_CPU_COUNT={0}'.format(
- spec.variants['max_cpu_count'].value
- ))
-
- # Examples
- args.append('-DHPX_WITH_EXAMPLES={0}'.format(
- 'ON' if '+examples' in spec else 'OFF'
- ))
-
- args.extend([
- '-DBOOST_ROOT={0}'.format(spec['boost'].prefix),
- '-DHWLOC_ROOT={0}'.format(spec['hwloc'].prefix),
- '-DHPX_WITH_BOOST_ALL_DYNAMIC_LINK=ON',
- '-DBUILD_SHARED_LIBS=ON',
- '-DHPX_DATASTRUCTURES_WITH_ADAPT_STD_TUPLE=OFF'
- ])
+ args += [
+ self.define('APEX_WITH_OTF2', True),
+ self.define('OTF2_ROOT', spec['otf2'].prefix),
+ ]
return args
diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch b/var/spack/repos/builtin/packages/hsa-rocr-dev/0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch
new file mode 100644
index 0000000000..6b73f81635
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch
@@ -0,0 +1,28 @@
+From 905b812fffdf109f767e1dc079ac1d32d5cf5838 Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <harmenstoppels@gmail.com>
+Date: Wed, 5 Aug 2020 17:44:05 +0200
+Subject: [PATCH] Do not set an explicit rpath by default, since package
+ managers cannot override them
+
+---
+ src/CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 7174044..10c6fcc 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -114,7 +114,9 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/libamdhsacode )
+ add_definitions ( -DROCR_BUILD_ID=${PACKAGE_VERSION_STRING} )
+
+ ## Set RUNPATH - ../../lib covers use of the legacy symlink in /hsa/lib/
+-set(CMAKE_INSTALL_RPATH "$ORIGIN;$ORIGIN/../../lib;$ORIGIN/../../lib64;$ORIGIN/../lib64")
++if (NOT CMAKE_INSTALL_RPATH)
++ set(CMAKE_INSTALL_RPATH "$ORIGIN;$ORIGIN/../../lib;$ORIGIN/../../lib64;$ORIGIN/../lib64")
++endif ()
+
+ ## ------------------------- Linux Compiler and Linker options -------------------------
+ set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -fexceptions -fno-rtti -fvisibility=hidden -Wno-error=sign-compare -Wno-sign-compare -Wno-write-strings -Wno-conversion-null -fno-math-errno -fno-threadsafe-statics -fmerge-all-constants -fms-extensions -Wno-error=comment -Wno-comment -Wno-error=pointer-arith -Wno-pointer-arith -Wno-error=unused-variable -Wno-error=unused-function" )
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py
new file mode 100644
index 0000000000..af355f241d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py
@@ -0,0 +1,33 @@
+# 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 HsaRocrDev(CMakePackage):
+ """This repository includes the user mode API nterfaces and libraries
+ necessary for host applications to launch computer kernels to available
+ HSA ROCm kernel agents.AMD Heterogeneous System Architecture HSA -
+ Linux HSA Runtime for Boltzmann (ROCm) platforms."""
+
+ homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime"
+ url = "https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='52c12eec3e3404c0749c70f156229786ee0c3e6d3c979aed9bbaea500fa1f3b8')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ for ver in ['3.5.0']:
+ depends_on('hsakmt-roct@' + ver, type=('link', 'run'), when='@' + ver)
+ depends_on('libelf@0.8:', type='link', when="@" + ver)
+
+ depends_on('cmake@3:', type="build")
+
+ patch('0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch', when='@3.5.0')
+
+ root_cmakelists_dir = 'src'
diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py
new file mode 100644
index 0000000000..89ffe616a0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py
@@ -0,0 +1,33 @@
+# 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 HsakmtRoct(CMakePackage):
+ """This is a thunk python recipe to build and install Thunk Interface.
+ Thunk Interface is a user-mode API interfaces used to interact
+ with the ROCk driver."""
+
+ homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
+ url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='d9f458c16cb62c3c611328fd2f2ba3615da81e45f3b526e45ff43ab4a67ee4aa')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('numactl')
+
+ install_targets = ['install', 'install-dev']
+
+ def cmake_args(self):
+ args = [
+ '-DBUILD_SHARED_LIBS="on"',
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py
index 9d12235d72..8d0bc9398d 100644
--- a/var/spack/repos/builtin/packages/hydrogen/package.py
+++ b/var/spack/repos/builtin/packages/hydrogen/package.py
@@ -7,7 +7,7 @@ import os
from spack import *
-class Hydrogen(CMakePackage):
+class Hydrogen(CMakePackage, CudaPackage):
"""Hydrogen: Distributed-memory dense and sparse-direct linear algebra
and optimization library. Based on the Elemental library."""
@@ -18,6 +18,7 @@ class Hydrogen(CMakePackage):
maintainers = ['bvanessen']
version('develop', branch='hydrogen')
+ version('1.4.0', sha256='c13374ff4a6c4d1076e47ba8c8d91a7082588b9958d1ed89cffb12f1d2e1452e')
version('1.3.4', sha256='7979f6656f698f0bbad6798b39d4b569835b3013ff548d98089fce7c283c6741')
version('1.3.3', sha256='a51a1cfd40ac74d10923dfce35c2c04a3082477683f6b35e7b558ea9f4bb6d51')
version('1.3.2', sha256='50bc5e87955f8130003d04dfd9dcad63107e92b82704f8107baf95b0ccf98ed6')
@@ -62,6 +63,8 @@ class Hydrogen(CMakePackage):
variant('half', default=True,
description='Builds with support for FP16 precision data types')
+ depends_on('cmake@3.16.0:', type='build')
+
# Note that #1712 forces us to enumerate the different blas variants
depends_on('openblas', when='blas=openblas ~openmp_blas ~int64_blas')
depends_on('openblas +ilp64', when='blas=openblas ~openmp_blas +int64_blas')
@@ -83,7 +86,7 @@ class Hydrogen(CMakePackage):
depends_on('netlib-lapack +external-blas', when='blas=essl')
depends_on('aluminum', when='+al ~cuda')
- depends_on('aluminum +gpu +nccl', when='+al +cuda')
+ depends_on('aluminum +cuda +nccl +ht +cuda_rma', when='+al +cuda')
# Note that this forces us to use OpenBLAS until #1712 is fixed
depends_on('lapack', when='blas=openblas ~openmp_blas')
diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py
index cf0ffb1896..b66a9abb86 100644
--- a/var/spack/repos/builtin/packages/hypre/package.py
+++ b/var/spack/repos/builtin/packages/hypre/package.py
@@ -20,6 +20,7 @@ class Hypre(Package):
maintainers = ['ulrikeyang', 'osborn9', 'balay']
version('develop', branch='master')
+ version('2.19.0', sha256='466b19d8a86c69989a237f6f03f20d35c0c63a818776d2cd071b0a084cffeba5')
version('2.18.2', sha256='28007b5b584eaf9397f933032d8367788707a2d356d78e47b99e551ab10cc76a')
version('2.18.1', sha256='220f9c4ad024e815add8dad8950eaa2d8f4f231104788cf2a3c5d9da8f94ba6e')
version('2.18.0', sha256='62591ac69f9cc9728bd6d952b65bcadd2dfe52b521081612609804a413f49b07')
diff --git a/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch
new file mode 100644
index 0000000000..d2922d2710
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.6.1.patch
@@ -0,0 +1,39 @@
+From f89161c15d3c84cd9b661740aaf803cc9acbb1a2 Mon Sep 17 00:00:00 2001
+From: Harsh Bhatia <bhatia4@llnl.gov>
+Date: Thu, 16 Jul 2020 14:57:37 -0700
+Subject: [PATCH] small fixes
+
+---
+ bindings/python/CMakeLists.txt | 2 +-
+ bindings/python/setup.py.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt
+index 6a203ce..7e61668 100644
+--- a/bindings/python/CMakeLists.txt
++++ b/bindings/python/CMakeLists.txt
+@@ -45,7 +45,7 @@ if (PYTHON)
+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+ DEPENDS ${DEPS})
+
+- set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install")
++ set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install --prefix ${CMAKE_INSTALL_PREFIX}")
+
+ add_custom_target(pydbr ALL DEPENDS ${OUTPUT})
+ FILE(COPY examples DESTINATION .)
+diff --git a/bindings/python/setup.py.in b/bindings/python/setup.py.in
+index 0d61f1d..3501c78 100644
+--- a/bindings/python/setup.py.in
++++ b/bindings/python/setup.py.in
+@@ -17,7 +17,7 @@ from setuptools import setup, find_packages
+ import os, sys
+
+ setup(name='PyDBR',
+- version='0.5.1',
++ version='0.6.1',
+ description='Python wrapper to the Data Broker C API',
+ author='Claudia Misale',
+ author_email='c.misale@ibm.com',
+--
+1.8.3.1
+
diff --git a/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch
new file mode 100644
index 0000000000..9ec35ae2de
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ibm-databroker/fixes_in_v0.7.0.patch
@@ -0,0 +1,25 @@
+From e4367787e3ae712217a231c9d4866e89005f053c Mon Sep 17 00:00:00 2001
+From: Harsh Bhatia <bhatia4@llnl.gov>
+Date: Fri, 17 Jul 2020 09:01:50 -0700
+Subject: [PATCH] fix 0.7.0
+
+---
+ bindings/python/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt
+index 6a203ce..7e61668 100644
+--- a/bindings/python/CMakeLists.txt
++++ b/bindings/python/CMakeLists.txt
+@@ -45,7 +45,7 @@ if (PYTHON)
+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+ DEPENDS ${DEPS})
+
+- set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install")
++ set( INSTALL_CMD "${PYTHON} ${CMAKE_CURRENT_BINARY_DIR}/${SETUP_PY} install --prefix ${CMAKE_INSTALL_PREFIX}")
+
+ add_custom_target(pydbr ALL DEPENDS ${OUTPUT})
+ FILE(COPY examples DESTINATION .)
+--
+1.8.3.1
+
diff --git a/var/spack/repos/builtin/packages/ibm-databroker/package.py b/var/spack/repos/builtin/packages/ibm-databroker/package.py
new file mode 100644
index 0000000000..898179253c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ibm-databroker/package.py
@@ -0,0 +1,46 @@
+# Copyright 2013-2019 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 IbmDatabroker(CMakePackage, PythonPackage):
+ """The Data Broker (DBR) is a distributed, in-memory container of key-value
+ stores enabling applications in a workflow to exchange data through one or
+ more shared namespaces. Thanks to a small set of primitives, applications
+ in a workflow deployed in a (possibly) shared nothing distributed cluster,
+ can easily share and exchange data and messages with applications."""
+
+ homepage = "https://github.com/IBM/data-broker"
+ git = "https://github.com/IBM/data-broker"
+ url = 'https://github.com/IBM/data-broker/archive/0.6.1.tar.gz'
+
+ # IBM dev team should take over
+ maintainers = ['bhatiaharsh']
+
+ version('master', branch='master')
+ version('0.7.0', sha256='5460fa1c5c05ad25c759b2ee4cecee92980d4dde5bc7c5f6da9242806cf22bb8')
+ version('0.6.1', sha256='2c7d6c6a269d4ae97aad4d770533e742f367da84758130c283733f25df83e535')
+ version('0.6.0', sha256='5856209d965c923548ebb69119344f1fc596d4c0631121b230448cc91bac4290')
+
+ variant('python', default=False, description='Build Python bindings')
+
+ depends_on('cmake@2.8:', type='build')
+ depends_on('redis@5.0.2:', type='run')
+ depends_on('libevent@2.1.8', type=('build', 'run'))
+
+ extends('python@3.7:', when='+python')
+ depends_on('py-setuptools', when='+python')
+
+ patch('fixes_in_v0.6.1.patch', when='@0.6.1')
+ patch('fixes_in_v0.7.0.patch', when='@0.7.0')
+
+ def cmake_args(self):
+ args = []
+ args.append('-DDEFAULT_BE=redis')
+ if '+python' in self.spec:
+ args.append('-DPYDBR=1')
+ return args
diff --git a/var/spack/repos/builtin/packages/ibm-java/package.py b/var/spack/repos/builtin/packages/ibm-java/package.py
index 72739240d5..952fa16a7b 100644
--- a/var/spack/repos/builtin/packages/ibm-java/package.py
+++ b/var/spack/repos/builtin/packages/ibm-java/package.py
@@ -22,6 +22,8 @@ class IbmJava(Package):
# not be available for download.
version_list = [
+ ('8.0.6.11', 'ppc64', '6fd17a6b9a34bb66e0db37f6402dc1b7612d54084c94b859f4a42f445fd174d4'),
+ ('8.0.6.11', 'ppc64le', 'd69ff7519e32e89db88a9a4d4d88d1881524073ac940f35d3860db2c6647be2e'),
('8.0.6.10', 'ppc64', 'ff5151ead88f891624eefe33d80d56c325ca0aa4b93bd96c135cad326993eda2'),
('8.0.6.10', 'ppc64le', 'ea99ab28dd300b08940882d178247e99aafe5a998b1621cf288dfb247394e067'),
('8.0.6.7', 'ppc64', 'a1accb461a039af4587ea86511e317fea1d423e7f781459a17ed3947afed2982'),
diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py
index 29307a4522..0663ae6edf 100644
--- a/var/spack/repos/builtin/packages/icu4c/package.py
+++ b/var/spack/repos/builtin/packages/icu4c/package.py
@@ -14,10 +14,15 @@ class Icu4c(AutotoolsPackage):
homepage = "http://site.icu-project.org/"
url = "https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz"
+ version('67.1', sha256='94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc')
+ version('66.1', sha256='52a3f2209ab95559c1cf0a14f24338001f389615bf00e2585ef3dbc43ecf0a2e')
version('65.1', sha256='53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948')
version('64.1', sha256='92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6')
+ version('60.3', sha256='476287b17db6e0b7da230dce4b58e8e5669b1510847f82cab3647920f1374390')
version('60.1', sha256='f8f5a6c8fbf32c015a467972bdb1477dc5f5d5dfea908b6ed218715eeb5ee225')
+ version('58.3', sha256='2680f3c547cd26cba1d7ebd819cd336ff92cf444a270e195fd3b10bfdf22276c')
version('58.2', sha256='2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c')
+ version('57.2', sha256='623f04b921827a041f42d52495a6f8eee6565a9b7557051ac68e099123ff28dc')
version('57.1', sha256='ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581')
variant('cxxstd',
@@ -30,16 +35,18 @@ class Icu4c(AutotoolsPackage):
conflicts('%intel@:16', when='@60.1:',
msg="Intel compilers have immature C++11 and multibyte support")
+ conflicts('%gcc@:4', when='@67.1:',
+ msg="Older GCC compilers have immature C++11 support")
+
+ patch('https://github.com/unicode-org/icu/commit/ddfc30860354cbcb78c2c0bcf800be5ab44a9e4f.patch',
+ sha256='dfc501d78ddfabafe09dc1a7aa70f96b799164b18f6a57d616a9d48aaf989333',
+ level=2, when='@58.0:59.99')
configure_directory = 'source'
def url_for_version(self, version):
- if version >= Version('65'):
- url = "https://github.com/unicode-org/icu/releases/download/release-{0}/icu4c-{1}-src.tgz"
- return url.format(version.dashed, version.underscored)
- else:
- url = "http://download.icu-project.org/files/icu4c/{0}/icu4c-{1}-src.tgz"
- return url.format(version.dotted, version.underscored)
+ url = "https://github.com/unicode-org/icu/releases/download/release-{0}/icu4c-{1}-src.tgz"
+ return url.format(version.dashed, version.underscored)
def flag_handler(self, name, flags):
if name == 'cxxflags':
diff --git a/var/spack/repos/builtin/packages/idl/package.py b/var/spack/repos/builtin/packages/idl/package.py
new file mode 100644
index 0000000000..21804ed11a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/idl/package.py
@@ -0,0 +1,41 @@
+# 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 *
+import os
+
+
+class Idl(Package):
+ """IDL Software: Interactive Data Visulation.
+
+ Note: IDL is a licensed software. You will also need an existing
+ downloaded tarball of IDL in your current directory or in a
+ spack mirror in order to install."""
+
+ homepage = "https://www.harrisgeospatial.com/Software-Technology/IDL"
+ manual_download = True
+ url = "file://{0}/idl8.7-linux.tar.gz".format(os.getcwd())
+
+ maintainers = ['francinelapid']
+
+ license_required = True
+
+ def install(self, spec, prefix):
+
+ # replace default install dir to self.prefix by editing answer file
+ filter_file('/usr/local/harris', prefix, 'silent/idl_answer_file')
+
+ # execute install script
+ install_script = Executable('./install.sh')
+ install_script('-s', input='silent/idl_answer_file')
+
+ def setup_run_environment(self, env):
+
+ # set necessary environment variables
+ env.prepend_path('EXELIS_DIR', self.prefix)
+ env.prepend_path('IDL_DIR', self.prefix.idl)
+
+ # add bin to path
+ env.prepend_path('PATH', self.prefix.idl.bin)
diff --git a/var/spack/repos/builtin/packages/imagemagick/package.py b/var/spack/repos/builtin/packages/imagemagick/package.py
index bf13380928..63543ca552 100644
--- a/var/spack/repos/builtin/packages/imagemagick/package.py
+++ b/var/spack/repos/builtin/packages/imagemagick/package.py
@@ -27,6 +27,7 @@ class Imagemagick(AutotoolsPackage):
depends_on('libtiff')
depends_on('ghostscript')
depends_on('ghostscript-fonts')
+ depends_on('libsm')
def configure_args(self):
spec = self.spec
diff --git a/var/spack/repos/builtin/packages/intel-daal/package.py b/var/spack/repos/builtin/packages/intel-daal/package.py
index 8ac099e65d..67eccff1fa 100644
--- a/var/spack/repos/builtin/packages/intel-daal/package.py
+++ b/var/spack/repos/builtin/packages/intel-daal/package.py
@@ -11,6 +11,8 @@ class IntelDaal(IntelPackage):
homepage = "https://software.intel.com/en-us/daal"
+ version('2020.2.254', sha256='08528bc150dad312ff2ae88ce12d6078ed8ba2f378f4bf3daf0fbbb9657dce1e',
+ url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16822/l_daal_2020.2.254.tgz')
version('2020.1.217', sha256='3f84dea0ce1038ac1b9c25b3e2c02e9fac440fa36cc8adfce69edfc06fe0edda',
url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16536/l_daal_2020.1.217.tgz')
version('2020.0.166', sha256='695166c9ab32ac5d3006d6d35162db3c98734210507144e315ed7c3b7dbca9c1',
diff --git a/var/spack/repos/builtin/packages/intel-ipp/package.py b/var/spack/repos/builtin/packages/intel-ipp/package.py
index 04df142bf5..8201779bce 100644
--- a/var/spack/repos/builtin/packages/intel-ipp/package.py
+++ b/var/spack/repos/builtin/packages/intel-ipp/package.py
@@ -11,6 +11,8 @@ class IntelIpp(IntelPackage):
homepage = "https://software.intel.com/en-us/intel-ipp"
+ version('2020.2.254', sha256='18266ad1eec9b5b17e76da24f1aa9a9147300e5bd345e6bdad58d7187392fa77',
+ url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16846/l_ipp_2020.2.254.tgz')
version('2020.1.217', sha256='0bf8ac7e635e7e602cf201063a1a7dea3779b093104563fdb15e6b7ecf2f00a7',
url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16534/l_ipp_2020.1.217.tgz')
version('2020.0.166', sha256='6844007892ba524e828f245355cee44e8149f4c233abbbea16f7bb55a7d6ecff',
diff --git a/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py b/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py
index a619d0d8cb..32ef76d2d9 100644
--- a/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py
+++ b/var/spack/repos/builtin/packages/intel-mpi-benchmarks/package.py
@@ -19,6 +19,7 @@ class IntelMpiBenchmarks(MakefilePackage):
maintainers = ['carsonwoods']
+ version('2019.6', sha256='1cd0bab9e947228fced4666d907f77c51336291533919896a923cff5fcad62e9')
version('2019.5', sha256='61f8e872a3c3076af53007a68e4da3a8d66be2ba7a051dc21e626a4e2d26e651')
version('2019.4', sha256='aeb336be10275c1a2f579b491b6631122876b461ac7148b1d0764f13b7552690')
version('2019.3', sha256='4f256d11bfed9ca6166548486d61a062e67be61f13dd9f30690232720e185f31')
diff --git a/var/spack/repos/builtin/packages/intel-mpi/package.py b/var/spack/repos/builtin/packages/intel-mpi/package.py
index 65e7d6d4ce..532b7ab864 100644
--- a/var/spack/repos/builtin/packages/intel-mpi/package.py
+++ b/var/spack/repos/builtin/packages/intel-mpi/package.py
@@ -11,6 +11,8 @@ class IntelMpi(IntelPackage):
homepage = "https://software.intel.com/en-us/intel-mpi-library"
+ version('2019.8.254', sha256='fa163b4b79bd1b7509980c3e7ad81b354fc281a92f9cf2469bf4d323899567c0',
+ url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16814/l_mpi_2019.8.254.tgz')
version('2019.7.217', sha256='90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07',
url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16546/l_mpi_2019.7.217.tgz')
version('2019.6.166', sha256='119be69f1117c93a9e5e9b8b4643918e55d2a55a78ad9567f77d16cdaf18cd6e',
diff --git a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
index 31b77d355a..3010fdb4d3 100644
--- a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
+++ b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py
@@ -20,6 +20,7 @@ class IntelParallelStudio(IntelPackage):
# in the 'intel' package.
# Cluster Edition (top tier; all components included)
+ version('cluster.2020.2', sha256='4795c44374e8988b91da20ac8f13022d7d773461def4a26ca210a8694f69f133', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16744/parallel_studio_xe_2020_update2_cluster_edition.tgz')
version('cluster.2020.1', sha256='fd11d8de72b2bd60474f8bce7b463e4cbb2255969b9eaf24f689575aa2a2abab', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16526/parallel_studio_xe_2020_update1_cluster_edition.tgz')
version('cluster.2020.0', sha256='573b1d20707d68ce85b70934cfad15b5ad9cc14124a261c17ddd7717ba842c64', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16225/parallel_studio_xe_2020_cluster_edition.tgz')
#
@@ -59,6 +60,7 @@ class IntelParallelStudio(IntelPackage):
# NB: Pre-2018 download packages for Professional are the same as for
# Cluster; differences manifest only in the tokens present in the license
# file delivered as part of the purchase.
+ version('professional.2020.2', sha256='96f9bca551a43e09d9648e8cba357739a759423adb671d1aa5973b7a930370c5', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16756/parallel_studio_xe_2020_update2_professional_edition.tgz')
version('professional.2020.1', sha256='5b547be92ecf50cb338b3038a565f5609135b27aa98a8b7964879eb2331eb29a', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16527/parallel_studio_xe_2020_update1_professional_edition.tgz')
version('professional.2020.0', sha256='e88cad18d28da50ed9cb87b12adccf13efd91bf94731dc33290481306c6f15ac', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16226/parallel_studio_xe_2020_professional_edition.tgz')
#
@@ -94,6 +96,7 @@ class IntelParallelStudio(IntelPackage):
version('professional.2015.1', sha256='84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4992/parallel_studio_xe_2015_update1.tgz')
# Composer Edition (basic tier; excluded: MPI/..., Advisor/Inspector/Vtune)
+ version('composer.2020.2', sha256='42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz')
version('composer.2020.1', sha256='26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz')
version('composer.2020.0', sha256='9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz')
#
diff --git a/var/spack/repos/builtin/packages/intel-pin/package.py b/var/spack/repos/builtin/packages/intel-pin/package.py
index 4378d8e7dd..f9cf6ea111 100644
--- a/var/spack/repos/builtin/packages/intel-pin/package.py
+++ b/var/spack/repos/builtin/packages/intel-pin/package.py
@@ -15,6 +15,8 @@ class IntelPin(Package):
homepage = "http://www.pintool.org"
maintainers = ['matthiasdiener']
+ version('3.15', sha256='51ab5a381ff477335050b20943133965c5c515d074ad6afb801a898dae8af642', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.15-98253-gb56e429b1-gcc-linux.tar.gz')
+ version('3.14', sha256='6c3b477c88673e0285fcd866a37a4fa47537d461a8bf48416ae3e9667eb7529b', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.14-98223-gb010a12c6-gcc-linux.tar.gz')
version('3.13', sha256='04a36e91f3f85119c3496f364a8806c82bb675f7536a8ab45344c9890b5e2714', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.13-98189-g60a6ef199-gcc-linux.tar.gz')
version('3.11', sha256='aa5abca475a6e106a75e6ed4ba518fb75a57549a59f00681e6bd6e3f221bd23a', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.11-97998-g7ecce2dac-gcc-linux.tar.gz')
version('3.10', sha256='7c8f14c3a0654bab662b58aba460403138fa44517bd40052501e8e0075b2702a', url='https://software.intel.com/sites/landingpage/pintool/downloads/pin-3.10-97971-gc5e41af74-gcc-linux.tar.gz')
diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py
index 4c652f6fce..65973d1dd4 100644
--- a/var/spack/repos/builtin/packages/intel-tbb/package.py
+++ b/var/spack/repos/builtin/packages/intel-tbb/package.py
@@ -23,6 +23,7 @@ class IntelTbb(Package):
# Note: when adding new versions, please check and update the
# patches, filters and url_for_version() below as needed.
+ version('2020.3', sha256='ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3')
version('2020.2', sha256='4804320e1e6cbe3a5421997b52199e3c1a3829b2ecb6489641da4b8e32faf500')
version('2020.1', sha256='7c96a150ed22bc3c6628bc3fef9ed475c00887b26d37bca61518d76a56510971')
version('2020.0', sha256='57714f2d2cf33935db33cee93af57eb3ecd5a7bef40c1fb7ca4a41d79684b118')
diff --git a/var/spack/repos/builtin/packages/intel/package.py b/var/spack/repos/builtin/packages/intel/package.py
index 2808f6e885..7d9363e98f 100644
--- a/var/spack/repos/builtin/packages/intel/package.py
+++ b/var/spack/repos/builtin/packages/intel/package.py
@@ -13,8 +13,10 @@ class Intel(IntelPackage):
# Same as in ../intel-parallel-studio/package.py, Composer Edition,
# but the version numbering in Spack differs.
+ version('20.0.2', sha256='42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz')
version('20.0.1', sha256='26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz')
version('20.0.0', sha256='9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz')
+ version('19.1.2', sha256='42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz')
version('19.1.1', sha256='26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz')
version('19.1.0', sha256='9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz')
version('19.0.5', sha256='e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c', url='http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz')
diff --git a/var/spack/repos/builtin/packages/iq-tree/package.py b/var/spack/repos/builtin/packages/iq-tree/package.py
index 9058a66f10..010ccdcae0 100644
--- a/var/spack/repos/builtin/packages/iq-tree/package.py
+++ b/var/spack/repos/builtin/packages/iq-tree/package.py
@@ -14,10 +14,12 @@ class IqTree(CMakePackage):
git = "https://github.com/Cibiv/IQ-TREE.git"
url = "https://github.com/Cibiv/IQ-TREE/archive/v1.6.12.tar.gz"
+ version('2.0.6', tag='v2.0.6', submodules=True)
version('1.6.12', sha256='9614092de7a157de82c9cc402b19cc8bfa0cb0ffc93b91817875c2b4bb46a284')
variant('openmp', default=True, description='Enable OpenMP support.')
variant('mpi', default=False, description='Enable MPI support.')
+ variant('lsd2', default=True, description='Axctivate Least Squares Dating.')
maintainers = ['ilbiondo']
@@ -30,13 +32,13 @@ class IqTree(CMakePackage):
def cmake_args(self):
- # Note that one has to specify "single" to get a single
- # threaded build. Otherwise OpenMP is assumed
-
spec = self.spec
args = []
iqflags = []
+ if '+lsd2' in spec:
+ args.append('-DUSE_LSD2=ON')
+
if '+openmp' in spec:
iqflags.append('omp')
diff --git a/var/spack/repos/builtin/packages/isaac-server/package.py b/var/spack/repos/builtin/packages/isaac-server/package.py
index af693a339c..da78398d1e 100644
--- a/var/spack/repos/builtin/packages/isaac-server/package.py
+++ b/var/spack/repos/builtin/packages/isaac-server/package.py
@@ -29,7 +29,7 @@ class IsaacServer(CMakePackage):
depends_on('cmake@3.3:', type='build')
depends_on('jpeg', type='link')
- depends_on('jansson', type='link')
+ depends_on('jansson@:2.9', type='link')
depends_on('boost@1.56.0:', type='link')
depends_on('libwebsockets@2.1.1:', type='link')
# depends_on('gstreamer@1.0', when='+gstreamer')
diff --git a/var/spack/repos/builtin/packages/isescan/package.py b/var/spack/repos/builtin/packages/isescan/package.py
new file mode 100644
index 0000000000..1d4b607046
--- /dev/null
+++ b/var/spack/repos/builtin/packages/isescan/package.py
@@ -0,0 +1,71 @@
+# 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 Isescan(Package):
+ """A python pipeline to identify IS (Insertion Sequence) elements in
+ genome and metagenome"""
+
+ homepage = "https://github.com/xiezhq/ISEScan"
+ url = "https://github.com/xiezhq/ISEScan/archive/v1.7.2.1.tar.gz"
+
+ version('1.7.2.1', sha256='b971a3e86a8cddaa4bcd520ba9e75425bbe93190466f81a3791ae0cb4baf5e5d')
+
+ depends_on('python@3.3.3:', type='run')
+ depends_on('py-numpy@1.8.0:', type='run')
+ depends_on('py-scipy@0.13.1:', type='run')
+ depends_on('py-biopython@1.62:', type='run')
+ 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('hmmer@3.1b2:', type='run')
+
+ def setup_run_environment(self, env):
+ env.prepend_path('PATH', self.prefix)
+ env.prepend_path('LD_LIBRARY_PATH',
+ join_path(self.prefix, 'ssw201507'))
+
+ def install(self, spec, prefix):
+ # build bundled SSW library
+ with working_dir('ssw201507'):
+ Executable(spack_cc)(
+ '-O3', '-pipe', self.compiler.cc_pic_flag, '-shared',
+ '-rdynamic', '-o', 'libssw.' + dso_suffix, 'ssw.c', 'ssw.h',
+ )
+
+ # set paths to required programs
+ blast_pfx = self.spec['blast-plus'].prefix.bin
+ blastn_path = blast_pfx.blastn
+ blastp_path = blast_pfx.blastp
+ makeblastdb_path = blast_pfx.makeblastdb
+
+ hmmer_pfx = self.spec['hmmer'].prefix.bin
+ phmmer_path = hmmer_pfx.phmmer
+ hmmsearch_path = hmmer_pfx.hmmsearch
+
+ fgs_pfx = self.spec['fraggenescan'].prefix.bin
+ fgs_path = join_path(fgs_pfx, 'run_FragGeneScan.pl')
+
+ constants = FileFilter('constants.py')
+
+ constants.filter('/apps/inst/FragGeneScan1.30/run_FragGeneScan.pl',
+ fgs_path, string=True)
+ constants.filter('/apps/inst/hmmer-3.3/bin/phmmer',
+ phmmer_path, string=True)
+ constants.filter('/apps/inst/hmmer-3.3/bin/hmmsearch',
+ hmmsearch_path, string=True)
+ constants.filter('/apps/inst/ncbi-blast-2.10.0+/bin/blastn',
+ blastn_path, string=True)
+ constants.filter('/apps/inst/ncbi-blast-2.10.0+/bin/blastp',
+ blastp_path, string=True)
+ constants.filter('/apps/inst/ncbi-blast-2.10.0+/bin/makeblastdb',
+ makeblastdb_path, string=True)
+
+ # install the whole tree
+ install_tree('.', prefix)
+ set_executable(join_path(prefix, 'isescan.py'))
diff --git a/var/spack/repos/builtin/packages/jali/package.py b/var/spack/repos/builtin/packages/jali/package.py
index e75dc7fb92..7c36ed7fdd 100644
--- a/var/spack/repos/builtin/packages/jali/package.py
+++ b/var/spack/repos/builtin/packages/jali/package.py
@@ -13,11 +13,12 @@ class Jali(CMakePackage):
homepage = "https://github.com/lanl/jali"
git = "https://github.com/lanl/jali"
- url = "https://github.com/lanl/jali/archive/1.1.4.tar.gz"
+ url = "https://github.com/lanl/jali/archive/1.1.5.tar.gz"
maintainers = ['raovgarimella']
version('master', branch='master')
+ version('1.1.5', sha256='4f18f3e8b50f20a89918e99596a7226c215944d84df642bc1fb2d6c31464b95b')
version('1.1.4', sha256='135ab02be1487fcdfb039613cbed630bce336d581a66468c66209db0a9d8a104')
version('1.1.1', sha256='c96c000b3893ea7f15bbc886524476dd466ae145e77deedc27e412fcc3541207')
version('1.1.0', sha256='783dfcd6a9284af83bb380ed257fa8b0757dc2f7f9196d935eb974fb6523c644')
diff --git a/var/spack/repos/builtin/packages/jmol/package.py b/var/spack/repos/builtin/packages/jmol/package.py
index 6bbe7e28cd..9da452f396 100644
--- a/var/spack/repos/builtin/packages/jmol/package.py
+++ b/var/spack/repos/builtin/packages/jmol/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
+import os.path
class Jmol(Package):
@@ -11,15 +12,26 @@ class Jmol(Package):
with features for chemicals, crystals, materials and biomolecules."""
homepage = "http://jmol.sourceforge.net/"
- url = "https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.8/Jmol%2014.8.0/Jmol-14.8.0-binary.tar.gz"
+ url = "https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.8/Jmol%2014.8.0/Jmol-14.8.0-binary.tar.gz"
+ version('14.31.0', sha256='eee0703773607c8bd6d51751d0d062c3e10ce44c11e1d7828e4ea3d5f710e892')
version('14.8.0', sha256='8ec45e8d289aa0762194ca71848edc7d736121ddc72276031a253a3651e6d588')
+ def url_for_version(self, version):
+ url = 'https://sourceforge.net/projects/jmol/files/Jmol/Version%20{0}/Jmol%20{1}/Jmol-{1}-binary.tar.gz'
+ return url.format(version.up_to(2), version)
+
depends_on('java', type='run')
def install(self, spec, prefix):
- install_tree('jmol-{0}'.format(self.version), prefix)
+ if os.path.exists('jmol-{0}'.format(self.version)):
+ # tar ball contains subdir with different versions
+ install_tree('jmol-{0}'.format(self.version), prefix)
+ else:
+ # no subdirs - tarball was unpacked in spack-src
+ install_tree('./', prefix)
def setup_run_environment(self, env):
env.prepend_path('PATH', self.prefix)
env.set('JMOL_HOME', self.prefix)
+ env.prepend_path('PATH', self.spec['java'].prefix.bin)
diff --git a/var/spack/repos/builtin/packages/jube/package.py b/var/spack/repos/builtin/packages/jube/package.py
index dae9fc2932..aff47bc55e 100644
--- a/var/spack/repos/builtin/packages/jube/package.py
+++ b/var/spack/repos/builtin/packages/jube/package.py
@@ -14,6 +14,8 @@ class Jube(PythonPackage):
homepage = "https://www.fz-juelich.de/jsc/jube/"
url = "https://apps.fz-juelich.de/jsc/jube/jube2/download.php?version=2.2.2"
+ version('2.4.0', sha256='87c02555f3d1a8ecaff139cf8e7a7167cabd1049c8cc77f1bd8f4484e210d524', extension='tar.gz')
+ version('2.3.0', sha256='6051d45af2ff35031ccc460185fbfa61f7f36ea14f17a0d51a9e62cd7af3709a', extension="tar.gz")
version('2.2.2', sha256='135bc03cf07c4624ef2cf581ba5ec52eb44ca1dac15cffb83637e86170980477', extension="tar.gz")
version('2.2.1', sha256='68751bf2e17766650ccddb7a5321dd1ac8b34ffa3585db392befbe9ff180ddd9', extension="tar.gz")
version('2.2.0', sha256='bc825884fc8506d0fb7b3b5cbb5ad4c7e82b1fe1d7ec861ca33699adfc8100f1', extension="tar.gz")
diff --git a/var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3-v2.00.patch b/var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3-v2.00.patch
new file mode 100644
index 0000000000..8a75032e19
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3-v2.00.patch
@@ -0,0 +1,30 @@
+diff -Naur spack-src/SConstruct spack-src.patched/SConstruct
+--- spack-src/SConstruct 2017-07-25 08:41:27.000000000 -0400
++++ spack-src.patched/SConstruct 2020-07-21 13:26:11.212509775 -0400
+@@ -55,11 +55,11 @@
+
+ env = Environment(options=opts, ENV=os.environ)
+ if not env['variant'] in ['optimized','optimized_output','debug']:
+- print 'Illegal value for variant: %s' % env['variant']
++ print('Illegal value for variant: %s' % env['variant'])
+ sys.exit(1)
+
+ if not env['program'] in ['kaffpa', 'kaffpaE', 'partition_to_vertex_separator','improve_vertex_separator','library','graphchecker','label_propagation','evaluator','node_separator']:
+- print 'Illegal value for program: %s' % env['program']
++ print('Illegal value for program: %s' % env['program'])
+ sys.exit(1)
+
+ # Special configuration for 64 bit machines.
+@@ -104,10 +104,10 @@
+
+ #by D. Luxen
+ #if not conf.CheckLibWithHeader('argtable2', 'argtable2.h', 'CXX'):
+- #print "argtable library not found. Exiting"
++ #print("argtable library not found. Exiting")
+ #Exit(-1)
+ #if not conf.CheckCXXHeader('mpi.h'):
+- #print "openmpi header not found. Exiting"
++ #print("openmpi header not found. Exiting")
+ #Exit(-1)
+ #
+ #
diff --git a/var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3.patch b/var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3.patch
new file mode 100644
index 0000000000..2cd61650af
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kahip/fix-sconstruct-for-py3.patch
@@ -0,0 +1,101 @@
+diff -Naur spack-src/interface/SConstruct spack-src.patched/interface/SConstruct
+--- spack-src/interface/SConstruct 2017-07-25 08:41:27.000000000 -0400
++++ spack-src.patched/interface/SConstruct 2020-07-21 13:25:41.586597330 -0400
+@@ -33,7 +33,7 @@
+
+ env = Environment(options=opts, ENV=os.environ)
+ if not env['variant'] in ['debug', 'optimized', 'pdebug', 'profilingoptimized']:
+- print 'Illegal value for variant: %s' % env['variant']
++ print('Illegal value for variant: %s' % env['variant'])
+ sys.exit(1)
+
+ # Special configuration for 64 bit machines.
+diff -Naur spack-src/misc/example_library_call/SConstruct spack-src.patched/misc/example_library_call/SConstruct
+--- spack-src/misc/example_library_call/SConstruct 2017-07-25 08:41:27.000000000 -0400
++++ spack-src.patched/misc/example_library_call/SConstruct 2020-07-21 12:06:05.543455286 -0400
+@@ -53,11 +53,11 @@
+
+ env = Environment(options=opts, ENV=os.environ)
+ if not env['variant'] in ['optimized','optimized_output','debug']:
+- print 'Illegal value for variant: %s' % env['variant']
++ print('Illegal value for variant: %s' % env['variant'])
+ sys.exit(1)
+
+ if not env['program'] in ['interfacetest']:
+- print 'Illegal value for program: %s' % env['program']
++ print('Illegal value for program: %s' % env['program'])
+ sys.exit(1)
+
+ # Special configuration for 64 bit machines.
+diff -Naur spack-src/parallel/modified_kahip/interface/SConstruct spack-src.patched/parallel/modified_kahip/interface/SConstruct
+--- spack-src/parallel/modified_kahip/interface/SConstruct 2017-07-25 08:41:27.000000000 -0400
++++ spack-src.patched/parallel/modified_kahip/interface/SConstruct 2020-07-21 12:06:36.461407930 -0400
+@@ -33,7 +33,7 @@
+
+ env = Environment(options=opts, ENV=os.environ)
+ if not env['variant'] in ['debug', 'optimized', 'pdebug', 'profilingoptimized']:
+- print 'Illegal value for variant: %s' % env['variant']
++ print('Illegal value for variant: %s' % env['variant'])
+ sys.exit(1)
+
+ # Special configuration for 64 bit machines.
+diff -Naur spack-src/parallel/modified_kahip/SConstruct spack-src.patched/parallel/modified_kahip/SConstruct
+--- spack-src/parallel/modified_kahip/SConstruct 2017-07-25 08:41:27.000000000 -0400
++++ spack-src.patched/parallel/modified_kahip/SConstruct 2020-07-21 13:23:37.148764755 -0400
+@@ -55,11 +55,11 @@
+
+ env = Environment(options=opts, ENV=os.environ)
+ if not env['variant'] in ['optimized','optimized_output','debug']:
+- print 'Illegal value for variant: %s' % env['variant']
++ print('Illegal value for variant: %s' % env['variant'])
+ sys.exit(1)
+
+ if not env['program'] in ['kaffpa', 'kaffpaE', 'partition_to_vertex_separator','library','graphchecker','label_propagation','interfacetest']:
+- print 'Illegal value for program: %s' % env['program']
++ print('Illegal value for program: %s' % env['program'])
+ sys.exit(1)
+
+ # Special configuration for 64 bit machines.
+@@ -98,10 +98,10 @@
+
+ #by D. Luxen
+ #if not conf.CheckLibWithHeader('argtable2', 'argtable2.h', 'CXX'):
+- #print "argtable library not found. Exiting"
++ #print("argtable library not found. Exiting")
+ #Exit(-1)
+ #if not conf.CheckCXXHeader('mpi.h'):
+- #print "openmpi header not found. Exiting"
++ #print("openmpi header not found. Exiting")
+ #Exit(-1)
+ #
+ #
+diff -Naur spack-src/parallel/parallel_src/SConstruct spack-src.patched/parallel/parallel_src/SConstruct
+--- spack-src/parallel/parallel_src/SConstruct 2017-07-25 08:41:27.000000000 -0400
++++ spack-src.patched/parallel/parallel_src/SConstruct 2020-07-21 13:25:13.102720046 -0400
+@@ -55,11 +55,11 @@
+
+ env = Environment(options=opts, ENV=os.environ)
+ if not env['variant'] in ['optimized','optimized_nooutput','debug']:
+- print 'Illegal value for variant: %s' % env['variant']
++ print('Illegal value for variant: %s' % env['variant'])
+ sys.exit(1)
+
+ if not env['program'] in ['parhip','edge_list_to_metis_graph','friendster_list_to_metis_graph','parallel_label_compress_reps','yahoo_to_metis','parmetis_driver','graph2binary','graph2binary_external','readbgf','toolbox']:
+- print 'Illegal value for program: %s' % env['program']
++ print('Illegal value for program: %s' % env['program'])
+ sys.exit(1)
+
+ # Special configuration for 64 bit machines.
+@@ -104,10 +104,10 @@
+
+ #by D. Luxen
+ #if not conf.CheckLibWithHeader('argtable2', 'argtable2.h', 'CXX'):
+- #print "argtable library not found. Exiting"
++ #print("argtable library not found. Exiting")
+ #Exit(-1)
+ #if not conf.CheckCXXHeader('mpi.h'):
+- #print "openmpi header not found. Exiting"
++ #print("openmpi header not found. Exiting")
+ #Exit(-1)
+ #
+ #
diff --git a/var/spack/repos/builtin/packages/kahip/package.py b/var/spack/repos/builtin/packages/kahip/package.py
index e2ca1aeaa1..3a31455c75 100644
--- a/var/spack/repos/builtin/packages/kahip/package.py
+++ b/var/spack/repos/builtin/packages/kahip/package.py
@@ -35,6 +35,15 @@ class Kahip(SConsPackage):
conflicts('%apple-clang')
conflicts('%clang')
+ # Fix SConstruct files to be python3 friendly (convert print from a
+ # statement to a function)
+ # Split into 2 patch files:
+ # *) first file patches Sconstruct files present in all versions (from
+ # 2.00 to 2.11)
+ # *) second is for files only present in 2.00
+ patch('fix-sconstruct-for-py3.patch', when='@2: ^python@3:')
+ patch('fix-sconstruct-for-py3-v2.00.patch', when='@2.00 ^python@3:')
+
def patch(self):
"""Internal compile.sh scripts hardcode number of cores to build with.
Filter these out so Spack can control it."""
diff --git a/var/spack/repos/builtin/packages/kallisto/package.py b/var/spack/repos/builtin/packages/kallisto/package.py
index d33bd970a2..25e5fcb9a0 100644
--- a/var/spack/repos/builtin/packages/kallisto/package.py
+++ b/var/spack/repos/builtin/packages/kallisto/package.py
@@ -18,7 +18,6 @@ class Kallisto(CMakePackage):
depends_on('zlib')
depends_on('hdf5')
- depends_on('mpich')
# htslib isn't built in time to be used....
parallel = False
diff --git a/var/spack/repos/builtin/packages/kassiopeia/package.py b/var/spack/repos/builtin/packages/kassiopeia/package.py
new file mode 100644
index 0000000000..90d085acb8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kassiopeia/package.py
@@ -0,0 +1,65 @@
+# 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 Kassiopeia(CMakePackage):
+ """Simulation of electric and magnetic fields and particle tracking."""
+
+ homepage = "https://katrin-experiment.github.io/Kassiopeia/"
+ url = "https://github.com/KATRIN-Experiment/Kassiopeia/archive/v3.6.1.tar.gz"
+ git = "https://github.com/KATRIN-Experiment/Kassiopeia.git"
+
+ maintainers = ['wdconinc']
+
+ version('3.7.5', sha256='8f28d08c7ef51e64221e0a4705f3cee3a5d738b8cdde5ce9fa58a3a0dd14ae05')
+ version('3.7.4', sha256='c1514163a084530930be10dbe487fb1950ccbc9662a4a190bdecffbd84a71fd4')
+ version('3.7.3', sha256='a8753585b9fa0903e1f5f821c4ced3cddd72792ad7e6075a7e25318f81ad9eaa')
+ version('3.7.2', sha256='bdfdf8c26fa5ad19e8b9c6eb600dfbd3c8218cd695ce067f10633b63bd192f92')
+ version('3.7.1', sha256='b22ae2fe5c2271bdf6aaf65d9ecf57ff0d6a88d28ad26d176e1129f0e58faea4')
+ version('3.7.0', sha256='32a3e98c77d1b97fe9862cf1d8c6ba8e6c82fb9295a6a217c7ce77cbec751046')
+ version('3.6.1', sha256='30193d5384ad81b8570fdcd1bb35b15cc365ab84712819ac0d989c6f5cf6f790')
+ version('3.5.0', sha256='b704d77bd182b2806dc8323f642d3197ce21dba3d456430f594b19a7596bda22')
+ version('3.4.0', sha256='4e2bca61011e670186d49048aea080a06c3c95dacf4b79e7549c36960b4557f4')
+
+ variant("root", default=False,
+ description="Include support for writing ROOT files")
+ variant("vtk", default=False,
+ description="Include visualization support through VTK")
+ variant("mpi", default=False,
+ description="Include MPI support for field calculations")
+ variant("tbb", default=False,
+ description="Include Intel TBB support for field calculations")
+ variant("opencl", default=False,
+ description="Include OpenCL support for field calculations")
+
+ depends_on('cmake@3.13:', type='build')
+ depends_on('zlib')
+ depends_on('root@6.0.0:', when='+root')
+ depends_on('vtk@6.1:', when='+vtk')
+ depends_on('mpi', when='+mpi')
+ depends_on('tbb', when='+tbb')
+ depends_on('opencl', when='+opencl')
+
+ def cmake_args(self):
+ args = []
+ if self.spec.satisfies('+vtk'):
+ args.append('-DKASPER_USE_VTK=ON')
+ else:
+ args.append('-DKASPER_USE_VTK=OFF')
+ if self.spec.satisfies('+tbb'):
+ args.append('-DKASPER_USE_TBB=ON')
+ else:
+ args.append('-DKASPER_USE_TBB=OFF')
+ if self.spec.satisfies('+mpi'):
+ args.append('-DKEMField_USE_MPI=ON')
+ else:
+ args.append('-DKEMField_USE_MPI=OFF')
+ if self.spec.satisfies('+opencl'):
+ args.append('-DKEMField_USE_OPENCL=ON')
+ else:
+ args.append('-DKEMField_USE_OPENCL=OFF')
+ return args
diff --git a/var/spack/repos/builtin/packages/keepalived/package.py b/var/spack/repos/builtin/packages/keepalived/package.py
index bb6cf01337..2b1e9f7b07 100644
--- a/var/spack/repos/builtin/packages/keepalived/package.py
+++ b/var/spack/repos/builtin/packages/keepalived/package.py
@@ -25,4 +25,4 @@ class Keepalived(AutotoolsPackage):
version('2.0.12', sha256='fd50e433d784cfd948de5726752cf89ab7001f587fe10a5110c6c7cbda4b7b5e')
version('2.0.11', sha256='a298b0c02a20959cfc365b62c14f45abd50d5e0595b2869f5bce10ec2392fa48')
- depends_on('openssl', type='build')
+ depends_on('openssl')
diff --git a/var/spack/repos/builtin/packages/kibana/package.py b/var/spack/repos/builtin/packages/kibana/package.py
index 6bf2562394..f0e6f53988 100644
--- a/var/spack/repos/builtin/packages/kibana/package.py
+++ b/var/spack/repos/builtin/packages/kibana/package.py
@@ -15,7 +15,7 @@ class Kibana(Package):
version('6.4.0', sha256='df2056105a08c206a1adf9caed09a152a53429a0f1efc1ba3ccd616092d78aee')
- depends_on('jdk', type='run')
+ depends_on('java', type='run')
def install(self, spec, prefix):
install_tree('.', join_path(prefix, '.'))
diff --git a/var/spack/repos/builtin/packages/knem/package.py b/var/spack/repos/builtin/packages/knem/package.py
index 473a178319..def620ab4f 100644
--- a/var/spack/repos/builtin/packages/knem/package.py
+++ b/var/spack/repos/builtin/packages/knem/package.py
@@ -11,18 +11,26 @@ class Knem(AutotoolsPackage):
communication for large messages."""
homepage = "http://knem.gforge.inria.fr"
- url = "http://gforge.inria.fr/frs/download.php/37186/knem-1.1.3.tar.gz"
- list_url = "http://knem.gforge.inria.fr/download"
+ url = "https://gitlab.inria.fr/knem/knem/uploads/4a43e3eb860cda2bbd5bf5c7c04a24b6/knem-1.1.4.tar.gz"
+ list_url = "https://knem.gitlabpages.inria.fr/download"
+ git = "https://gitlab.inria.fr/knem/knem.git"
maintainers = ['skosukhin']
- version('1.1.3', sha256='50d3c4a20c140108b8ce47aaafd0ade0927d6f507e1b5cc690dd6bddeef30f60')
+ version('master', branch='master')
+ version('1.1.4', sha256='9f0e360579ae7655e07d6644583fd325515e9ff2b42ef5decb5421a003510937',
+ url="https://gitlab.inria.fr/knem/knem/uploads/4a43e3eb860cda2bbd5bf5c7c04a24b6/knem-1.1.4.tar.gz")
+ version('1.1.3', sha256='50d3c4a20c140108b8ce47aaafd0ade0927d6f507e1b5cc690dd6bddeef30f60',
+ url="https://gitlab.inria.fr/knem/knem/uploads/59375c38537e6ff2d94209f190c54aa6/knem-1.1.3.tar.gz")
variant('hwloc', default=True,
description='Enable hwloc in the user-space tools')
- depends_on('hwloc', when='+hwloc')
+ depends_on('hwloc', when='+hwloc')
depends_on('pkgconfig', type='build', when='+hwloc')
+ depends_on('autoconf', type='build', when='@master')
+ depends_on('automake', type='build', when='@master')
+ depends_on('m4', type='build', when='@master')
# The support for hwloc was added in 0.9.1:
conflicts('+hwloc', when='@:0.9.0')
@@ -44,3 +52,7 @@ class Knem(AutotoolsPackage):
def configure_args(self):
return self.enable_or_disable('hwloc')
+
+ @when('@master')
+ def autoreconf(self, spec, prefix):
+ Executable('./autogen.sh')()
diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py
index b5277e40a8..cf949befbd 100644
--- a/var/spack/repos/builtin/packages/kokkos/package.py
+++ b/var/spack/repos/builtin/packages/kokkos/package.py
@@ -172,6 +172,8 @@ class Kokkos(CMakePackage, CudaPackage):
conflicts("+wrapper", when="~cuda")
variant("std", default="11", values=["11", "14", "17", "20"], multi=False)
+ variant("pic", default=False, description="Build position independent code")
+
# nvcc does not currently work with C++17 or C++20
conflicts("+cuda", when="std=17")
conflicts("+cuda", when="std=20")
@@ -208,6 +210,9 @@ class Kokkos(CMakePackage, CudaPackage):
if isdiy:
options.append("-DSpack_WORKAROUND=On")
+ if "+pic" in spec:
+ options.append("-DCMAKE_POSITION_INDEPENDENT_CODE=ON")
+
spack_microarches = []
if "+cuda" in spec:
# this is a list
diff --git a/var/spack/repos/builtin/packages/krb5/package.py b/var/spack/repos/builtin/packages/krb5/package.py
index 24cf72f6d7..93367a3461 100644
--- a/var/spack/repos/builtin/packages/krb5/package.py
+++ b/var/spack/repos/builtin/packages/krb5/package.py
@@ -9,11 +9,24 @@ from spack import *
class Krb5(AutotoolsPackage):
"""Network authentication protocol"""
- homepage = "https://kerberos.org"
- url = "https://kerberos.org/dist/krb5/1.16/krb5-1.16.1.tar.gz"
-
+ homepage = "https://kerberos.org"
+ url = "https://kerberos.org/dist/krb5/1.16/krb5-1.16.1.tar.gz"
+ list_url = "https://kerberos.org/dist/krb5/"
+ list_depth = 1
+
+ version('1.18.2', sha256='c6e4c9ec1a98141c3f5d66ddf1a135549050c9fab4e9a4620ee9b22085873ae0')
+ version('1.18.1', sha256='02a4e700f10936f937cd1a4c303cab8687a11abecc6107bd4b706b9329cd5400')
+ version('1.18', sha256='73913934d711dcf9d5f5605803578edb44b9a11786df3c1b2711f4e1752f2c88')
+ version('1.17.1', sha256='3706d7ec2eaa773e0e32d3a87bf742ebaecae7d064e190443a3acddfd8afb181')
+ version('1.17', sha256='5a6e2284a53de5702d3dc2be3b9339c963f9b5397d3fbbc53beb249380a781f5')
+ version('1.16.3', sha256='e40499df7c6dbef0cf9b11870a0e167cde827737d8b2c06a9436334f08ab9b0d')
+ version('1.16.2', sha256='9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027')
version('1.16.1', sha256='214ffe394e3ad0c730564074ec44f1da119159d94281bbec541dc29168d21117')
+ def url_for_version(self, version):
+ url = 'https://kerberos.org/dist/krb5/{0}/krb5-{1}.tar.gz'
+ return url.format(version.up_to(2), version)
+
depends_on('bison', type='build')
depends_on('openssl')
diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py
index 928a7fddab..550bf51de1 100644
--- a/var/spack/repos/builtin/packages/lammps/package.py
+++ b/var/spack/repos/builtin/packages/lammps/package.py
@@ -21,6 +21,8 @@ class Lammps(CMakePackage, CudaPackage):
tags = ['ecp', 'ecp-apps']
version('master', branch='master')
+ version('20200721', sha256='845bfeddb7b667799a1a5dbc166b397d714c3d2720316604a979d3465b4190a9')
+ version('20200630', sha256='413cbfabcc1541a339c7a4ab5693fbeb768f46bb1250640ba94686c6e90922fc')
version('20200505', sha256='c49d77fd602d28ebd8cf10f7359b9fc4d14668c72039028ed7792453d416de73')
version('20200303', sha256='9aa56dfb8673a06e6c88588505ec1dfc01dd94f9d60e719ed0c605e48cc06c58')
version('20200227', sha256='1aabcf38bc72285797c710b648e906151a912c36b634a9c88ac383aacf85516e')
@@ -92,11 +94,12 @@ class Lammps(CMakePackage, CudaPackage):
depends_on('netcdf-c+mpi', when='+user-netcdf')
depends_on('blas', when='+user-atc')
depends_on('lapack', when='+user-atc')
- depends_on('latte@1.0.1', when='@:20180222+latte')
- depends_on('latte@1.1.1:', when='@20180316:20180628+latte')
depends_on('opencl', when='+opencl')
- depends_on('latte@1.2.1:', when='@20180629:+latte')
+ depends_on('latte@1.0.1', when='@:20180222+latte')
+ depends_on('latte@1.1.1:', when='@20180316:20180628+latte')
+ depends_on('latte@1.2.1:', when='@20180629:20200505+latte')
+ depends_on('latte@1.2.2:', when='@20200602:+latte')
depends_on('blas', when='+latte')
depends_on('lapack', when='+latte')
depends_on('python', when='+python')
diff --git a/var/spack/repos/builtin/packages/latte/package.py b/var/spack/repos/builtin/packages/latte/package.py
index 87d10fa152..d67f98397e 100644
--- a/var/spack/repos/builtin/packages/latte/package.py
+++ b/var/spack/repos/builtin/packages/latte/package.py
@@ -16,7 +16,8 @@ class Latte(CMakePackage):
tags = ['ecp', 'ecp-apps']
- version('develop', branch='master')
+ version('master', branch='master')
+ version('1.2.2', sha256='ab1346939dbd70ffd89c5e5bf8d24946cb3655dc25b203bec7fc59c6c63e4c79')
version('1.2.1', sha256='a21dda5ebdcefa56e9ff7296d74ef03f89c200d2e110a02af7a84612668bf702')
variant('mpi', default=True,
diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py
index bc0da109ec..8eacb2fb71 100644
--- a/var/spack/repos/builtin/packages/lbann/package.py
+++ b/var/spack/repos/builtin/packages/lbann/package.py
@@ -8,7 +8,7 @@ import sys
from spack import *
-class Lbann(CMakePackage):
+class Lbann(CMakePackage, CudaPackage):
"""LBANN: Livermore Big Artificial Neural Network Toolkit. A distributed
memory, HPC-optimized, model and data parallel training toolkit for deep
neural networks."""
@@ -20,7 +20,8 @@ class Lbann(CMakePackage):
maintainers = ['bvanessen']
version('develop', branch='develop')
- version('0.99', branch='develop')
+ version('0.100', sha256='d1bab4fb6f1b80ae83a7286cc536a32830890f6e5b0c3107a17c2600d0796912')
+ version('0.99', sha256='3358d44f1bc894321ce07d733afdf6cb7de39c33e3852d73c9f31f530175b7cd')
version('0.98.1', sha256='9a2da8f41cd8bf17d1845edf9de6d60f781204ebd37bffba96d8872036c10c66')
version('0.98', sha256='8d64b9ac0f1d60db553efa4e657f5ea87e790afe65336117267e9c7ae6f68239')
version('0.97.1', sha256='2f2756126ac8bb993202cf532d72c4d4044e877f4d52de9fdf70d0babd500ce4')
@@ -32,7 +33,6 @@ class Lbann(CMakePackage):
version('0.92', sha256='9187c5bcbc562c2828fe619d53884ab80afb1bcd627a817edb935b80affe7b84')
version('0.91', sha256='b69f470829f434f266119a33695592f74802cff4b76b37022db00ab32de322f5')
- variant('gpu', default=False, description='Builds with support for GPUs via CUDA and cuDNN')
variant('nccl', default=False, description='Builds with support for NCCL communication lib')
variant('opencv', default=True, description='Builds with support for image processing routines with OpenCV')
variant('seq_init', default=False, description='Force serial initialization of weight matrices.')
@@ -52,6 +52,8 @@ class Lbann(CMakePackage):
conflicts('@:0.90,0.99:', when='~conduit')
+ depends_on('cmake@3.16.0:', type='build')
+
# It seems that there is a need for one statement per version bounds
depends_on('hydrogen +openmp_blas +shared +int64', when='@:0.90,0.95: ~al')
depends_on('hydrogen +openmp_blas +shared +int64 +al', when='@:0.90,0.95: +al')
@@ -77,12 +79,11 @@ class Lbann(CMakePackage):
when='build_type=Debug @0.91:0.94')
depends_on('aluminum', when='@:0.90,0.95: +al ~gpu')
- depends_on('aluminum +gpu +mpi_cuda', when='@:0.90,0.95: +al +gpu ~nccl')
- depends_on('aluminum +gpu +nccl +mpi_cuda', when='@:0.90,0.95: +al +gpu +nccl')
+ depends_on('aluminum +cuda +ht', when='@:0.90,0.95: +al +cuda ~nccl')
+ depends_on('aluminum +cuda +nccl +ht', when='@:0.90,0.95: +al +cuda +nccl')
- depends_on('cuda', when='+gpu')
- depends_on('cudnn', when='+gpu')
- depends_on('cub', when='@0.94:0.98.2 +gpu')
+ depends_on('cudnn', when='+cuda')
+ depends_on('cub', when='@0.94:0.98.2 +cuda')
depends_on('mpi')
depends_on('hwloc')
@@ -98,7 +99,7 @@ class Lbann(CMakePackage):
'~videostab ~videoio ~vtk', when='+opencv')
depends_on('cnpy')
- depends_on('nccl', when='@0.94:0.98.2 +gpu +nccl')
+ depends_on('nccl', when='@0.94:0.98.2 +cuda +nccl')
depends_on('conduit@0.4.0: +hdf5', when='@0.94:0.99 +conduit')
depends_on('conduit@0.4.0: +hdf5', when='@:0.90,0.99:')
@@ -118,6 +119,7 @@ class Lbann(CMakePackage):
depends_on('py-protobuf+cpp@3.6.1:', type=('build', 'run'), when='@:0.90,0.99:')
depends_on('py-breathe', type='build', when='+docs')
+ depends_on('doxygen', type='build', when='+docs')
depends_on('py-m2r', type='build', when='+docs')
depends_on('cereal')
@@ -135,7 +137,6 @@ class Lbann(CMakePackage):
cppflags.append('-DLBANN_SET_EL_RNG -ldl')
return [
- '-DCMAKE_INSTALL_MESSAGE=LAZY',
'-DCMAKE_CXX_FLAGS=%s' % ' '.join(cppflags),
'-DLBANN_VERSION=spack',
'-DCNPY_DIR={0}'.format(spec['cnpy'].prefix),
@@ -148,12 +149,12 @@ class Lbann(CMakePackage):
spec = self.spec
args = self.common_config_args
args.extend([
- '-DLBANN_WITH_TOPO_AWARE:BOOL=%s' % ('+gpu +nccl' in spec),
+ '-DLBANN_WITH_TOPO_AWARE:BOOL=%s' % ('+cuda +nccl' in spec),
'-DLBANN_WITH_ALUMINUM:BOOL=%s' % ('+al' in spec),
'-DLBANN_WITH_CONDUIT:BOOL=%s' % ('+conduit' in spec),
- '-DLBANN_WITH_CUDA:BOOL=%s' % ('+gpu' in spec),
- '-DLBANN_WITH_CUDNN:BOOL=%s' % ('+gpu' in spec),
- '-DLBANN_WITH_SOFTMAX_CUDA:BOOL=%s' % ('+gpu' in spec),
+ '-DLBANN_WITH_CUDA:BOOL=%s' % ('+cuda' in spec),
+ '-DLBANN_WITH_CUDNN:BOOL=%s' % ('+cuda' in spec),
+ '-DLBANN_WITH_SOFTMAX_CUDA:BOOL=%s' % ('+cuda' in spec),
'-DLBANN_SEQUENTIAL_INITIALIZATION:BOOL=%s' %
('+seq_init' in spec),
'-DLBANN_WITH_TBINF=OFF',
@@ -174,7 +175,8 @@ class Lbann(CMakePackage):
spec['elemental'].prefix)])
if spec.satisfies('@0.94:0.98.2'):
- args.extend(['-DLBANN_WITH_NCCL:BOOL=%s' % ('+gpu +nccl' in spec)])
+ args.extend(['-DLBANN_WITH_NCCL:BOOL=%s' %
+ ('+cuda +nccl' in spec)])
if '+vtune' in spec:
args.extend(['-DVTUNE_DIR={0}'.format(spec['vtune'].prefix)])
@@ -203,7 +205,7 @@ class Lbann(CMakePackage):
args.extend(['-DOpenCV_DIR:STRING={0}'.format(
spec['opencv'].prefix)])
- if '+gpu' in spec:
+ if '+cuda' in spec:
args.extend([
'-DCUDA_TOOLKIT_ROOT_DIR={0}'.format(
spec['cuda'].prefix)])
@@ -225,8 +227,8 @@ class Lbann(CMakePackage):
spec = self.spec
args = self.common_config_args
args.extend([
- '-DWITH_CUDA:BOOL=%s' % ('+gpu' in spec),
- '-DWITH_CUDNN:BOOL=%s' % ('+gpu' in spec),
+ '-DWITH_CUDA:BOOL=%s' % ('+cuda' in spec),
+ '-DWITH_CUDNN:BOOL=%s' % ('+cuda' in spec),
'-DELEMENTAL_USE_CUBLAS:BOOL=%s' % (
'+cublas' in spec['elemental']),
'-DWITH_TBINF=OFF',
diff --git a/var/spack/repos/builtin/packages/lcals/package.py b/var/spack/repos/builtin/packages/lcals/package.py
index ebf5411d00..9305c3dcb3 100644
--- a/var/spack/repos/builtin/packages/lcals/package.py
+++ b/var/spack/repos/builtin/packages/lcals/package.py
@@ -46,7 +46,7 @@ class Lcals(MakefilePackage):
arch = 'MIC'
elif arch == 'x86_64' or arch == 'x86_32':
arch = 'x86'
- elif arch != 'bgq':
+ else:
raise InstallError('unknown architecture.')
if self.compiler.name == 'intel':
@@ -72,24 +72,7 @@ class Lcals(MakefilePackage):
cxxflags += '-DLCALS_PLATFORM_X86_AVX -DLCALS_COMPILER_GNU '
cxx_compile += '-Ofast -mavx -finline-functions'
' -finline-limit=10000 -std=c++11'
- elif arch == 'bgq':
- cxxflags += '-DLCALS_PLATFORM_BGQ -DLCALS_COMPILER_GNU '
- cxx_compile += '-O3 -finline-functions -finline-limit=10000'
- ' -std=c++0x'
cxxflags += self.compiler.openmp_flag
- elif self.compiler.name == 'xl' and arch == 'bgp':
- if self.compiler.version == Version('9') and arch == 'bgp':
- cxxflags += '-DLCALS_PLATFORM_BGP -DLCALS_COMPILER_XLC9 '
- cxx_compile += 'O3 -qarch=450d -qtune=450 -qalias=allp -qhot'
- ' -qsmp=omp '
- elif self.compiler.version == Version('12') and arch == 'bgq':
- cxxflags += '-DLCALS_PLATFORM_BGQ -DLCALS_COMPILER_XLC12 '
- cxx_compile += '-O3 -qarch=qp -qhot=novector -qsimd=auto'
- ' -qlanglvl=extended0x -qnostrict -qinline=10000 -qsmp=omp '
- elif self.compiler.name == 'clang':
- if arch == 'bgq':
- cxxflags += '-DLCALS_PLATFORM_BGQ -DLCALS_COMPILER_CLANG '
- cxx_compile += '-O3 -finline-functions -ffast-math -std=c++0x'
targets.append('LCALS_ARCH=')
cxx_compile += ' ' + cxxflags
diff --git a/var/spack/repos/builtin/packages/lcio/package.py b/var/spack/repos/builtin/packages/lcio/package.py
new file mode 100644
index 0000000000..4319774b15
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lcio/package.py
@@ -0,0 +1,74 @@
+# 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 Lcio(CMakePackage):
+ """HEP Library for Linear Collider Input/Output"""
+
+ homepage = "http://lcio.desy.de"
+ git = "https://github.com/iLCSoft/LCIO.git"
+ url = "https://github.com/iLCSoft/LCIO/archive/v02-13-03.tar.gz"
+
+ maintainers = ['gaede', 'vvolkl']
+
+ version('master', branch='master')
+ version('2.14.2', sha256='e64f4bf932edf6d6cdaf0162e5104f8fbf3e5fd9737c7a080c48859009621919')
+ version('2.13.3', sha256='35aaa7989be33574a7c44ea7e6d7780ab26ef8bd4aa29d495f3831a3cd269304')
+ version('2.13.2', sha256='9f153ba13e56ee16795378f9192678d40df1faca51d00aaa8fb80547bfecb8d8')
+
+ variant('cxxstd',
+ default='17',
+ values=('11', '14', '17'),
+ multi=False,
+ description='Use the specified C++ standard when building.')
+ variant("jar", default=False,
+ description="Turn on to build/install lcio.jar")
+ variant("rootdict", default=True,
+ description="Turn on to build/install ROOT dictionary.")
+ variant("examples", default=False,
+ description="Turn on to build LCIO examples")
+
+ depends_on('root@6.04:', when="+rootdict")
+ depends_on('openjdk', when="+jar")
+ # build error with +termlib, to be investigated
+ depends_on('ncurses~termlib', when="+examples")
+ depends_on('delphes', when="+examples")
+ depends_on('readline', when="+examples")
+
+ def cmake_args(self):
+ args = [
+ self.define('CMAKE_CXX_STANDARD',
+ self.spec.variants['cxxstd'].value),
+ self.define('BUILD_TESTING', self.run_tests),
+ self.define_from_variant("BUILD_LCIO_EXAMPLES", 'examples'),
+ self.define_from_variant("BUILD_ROOTDICT", 'rootdict'),
+ self.define_from_variant("INSTALL_JAR", 'jar'),
+ ]
+ return args
+
+ def url_for_version(self, version):
+ base_url = self.url.rsplit('/', 1)[0]
+ major = str(version[0]).zfill(2)
+ minor = str(version[1]).zfill(2)
+ # handle the different cases for the patch version:
+ # first case, no patch version is given in spack, i.e 0.1
+ if len(version) == 2:
+ url = base_url + "/v%s-%s.tar.gz" % (major, minor)
+ # a patch version is specified in spack, i.e. 0.1.x ...
+ elif len(version) == 3:
+ patch = str(version[2]).zfill(2)
+ # ... but it is zero, and not part of the ilc release url
+ if version[2] == 0:
+ url = base_url + "/v%s-%s.tar.gz" % (major, minor)
+ # ... if it is non-zero, it is part of the release url
+ else:
+ url = base_url + "/v%s-%s-%s.tar.gz" % (major, minor, patch)
+ else:
+ print('Error - Wrong version format provided')
+ return
+ return url
diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py
index cac38dd030..f98e48e187 100644
--- a/var/spack/repos/builtin/packages/legion/package.py
+++ b/var/spack/repos/builtin/packages/legion/package.py
@@ -47,6 +47,8 @@ class Legion(CMakePackage):
description='Build on top of ibv conduit for InfiniBand support')
variant('shared', default=True, description='Build shared libraries')
variant('hdf5', default=True, description='Enable HDF5 support')
+ variant('spy', default=False,
+ description='Enable detailed logging for Legion Spy')
variant('build_type', default='Release',
values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'),
description='The build type to build', multi=False)
@@ -87,4 +89,7 @@ class Legion(CMakePackage):
else:
options.append('-DLegion_USE_HDF5=OFF')
+ if '+spy' in self.spec:
+ options.append('-DLegion_SPY=ON')
+
return options
diff --git a/var/spack/repos/builtin/packages/lhapdf/package.py b/var/spack/repos/builtin/packages/lhapdf/package.py
index 10a69aba75..13adae4818 100644
--- a/var/spack/repos/builtin/packages/lhapdf/package.py
+++ b/var/spack/repos/builtin/packages/lhapdf/package.py
@@ -13,6 +13,7 @@ class Lhapdf(AutotoolsPackage):
homepage = "https://lhapdf.hepforge.org/"
url = "https://lhapdf.hepforge.org/downloads/?f=LHAPDF-6.2.3.tar.gz"
+ version('6.3.0', sha256='ed4d8772b7e6be26d1a7682a13c87338d67821847aa1640d78d67d2cef8b9b5d')
version('6.2.3', sha256='d6e63addc56c57b6286dc43ffc56d901516f4779a93a0f1547e14b32cfd82dd1')
depends_on('autoconf', type='build')
diff --git a/var/spack/repos/builtin/packages/lhapdf5/package.py b/var/spack/repos/builtin/packages/lhapdf5/package.py
new file mode 100644
index 0000000000..6506f9da76
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lhapdf5/package.py
@@ -0,0 +1,46 @@
+# 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 Lhapdf5(AutotoolsPackage):
+ """LHAPDF is a general purpose Fortran 77/90 interpolator,
+ used for evaluating PDFs from discretised data files."""
+
+ homepage = "http://lhapdf.hepforge.org/lhapdf5/"
+ url = "http://lhapdf.hepforge.org/downloads?f=old/lhapdf-5.9.1.tar.gz"
+
+ version('5.9.1', sha256='86b9b046d7f25627ce2aab6847ef1c5534972f4bae18de98225080cf5086919c')
+ version('5.9.0', sha256='64b9018ce6102ae7b6a92c990ca6afa841fb992d87b1abf5756c3d04c4d46b9c')
+ version('5.8.9', sha256='b90a83512fc5f51e4cd419f1e79ad6e6fcd0e19636bb07464e41f47ee0509d3c')
+ version('5.8.8', sha256='fe4c7148b1858c3c534c5e80ea1a8766b4407d19c44c40578da54e390af228f8')
+ version('5.8.7', sha256='4c6effdcc74c8b60aaa18bf60e224de3c5f3c2e5b0efc08d38338f01bec7db47')
+ version('5.8.6', sha256='689800b2ad6d822e2da0435f9303457feaa9102bff8ef9dbfd708e13afceeef2')
+ version('5.8.5', sha256='f37d87c70a65a770bb2d013c4d1d9aa5d90c0f52b9430d56bab578fd221e8e41')
+ version('5.8.4', sha256='75a3b44bd4509bec47806fb5ad4baaa6334a2aa8f51cf2f7195d4f08bd353ca2')
+ version('5.8.3', sha256='e9b5e72bab65adef9ef78a5e0ee526a6ee673bed142f5e3617c0a27029b84275')
+ version('5.8.2', sha256='c54b4153b43453426510fd8aa322de66a80a33137ad251124345309615f6a3a6')
+ version('5.8.1', sha256='e113818541e976be69a9524007c2db19059da9af7abfebf7c53d86eafa2109c9')
+ version('5.8.0', sha256='8381ea5f785dde95772a2b6d5890f1cb72012e223e6861823fd81b09eedaa7a3')
+ version('5.7.1', sha256='40529629351598317fbf7b5905661e51b23778019d50451eee78d7b1118e2559')
+
+ variant('python2', default=False,
+ description="Enable Python2 extension")
+
+ depends_on('python@2.3:2.7.99', when='+python2')
+
+ def setup_build_environment(self, env):
+ env.append_flags('FFLAGS', '-std=legacy')
+ if self.spec.satisfies('+python2'):
+ env.append_flags(
+ 'PYTHON',
+ join_path(self.spec['python'].prefix.bin, 'python'))
+
+ def configure_args(self):
+ args = []
+ if self.spec.satisfies('-python2'):
+ args.append('--disable-pyext')
+ return args
diff --git a/var/spack/repos/builtin/packages/libcroco/package.py b/var/spack/repos/builtin/packages/libcroco/package.py
index ef89961555..254d7973b7 100644
--- a/var/spack/repos/builtin/packages/libcroco/package.py
+++ b/var/spack/repos/builtin/packages/libcroco/package.py
@@ -16,3 +16,4 @@ class Libcroco(AutotoolsPackage):
depends_on('glib')
depends_on('libxml2')
+ depends_on('pkgconfig', type='build')
diff --git a/var/spack/repos/builtin/packages/libelf/package.py b/var/spack/repos/builtin/packages/libelf/package.py
index 9054753c48..2f59c61dfa 100644
--- a/var/spack/repos/builtin/packages/libelf/package.py
+++ b/var/spack/repos/builtin/packages/libelf/package.py
@@ -19,7 +19,11 @@ class Libelf(AutotoolsPackage):
# homepage = "http://www.mr511.de/software/english.html"
homepage = "https://directory.fsf.org/wiki/Libelf"
- url = "https://fossies.org/linux/misc/old/libelf-0.8.13.tar.gz"
+
+ urls = [
+ 'https://fossies.org/linux/misc/old/libelf-0.8.13.tar.gz',
+ 'https://ftp.osuosl.org/pub/blfs/conglomeration/libelf/libelf-0.8.13.tar.gz'
+ ]
version('0.8.13', sha256='591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d')
diff --git a/var/spack/repos/builtin/packages/libgd/package.py b/var/spack/repos/builtin/packages/libgd/package.py
index d4907ae3e1..697ccd22a4 100644
--- a/var/spack/repos/builtin/packages/libgd/package.py
+++ b/var/spack/repos/builtin/packages/libgd/package.py
@@ -36,3 +36,12 @@ class Libgd(AutotoolsPackage):
depends_on('jpeg')
depends_on('libtiff')
depends_on('fontconfig')
+
+ def patch(self):
+ p = self.spec['jpeg'].libs.search_flags
+ filter_file(
+ 'LIBJPEG_LIBS " -ljpeg"',
+ 'LIBJPEG_LIBS "{0} -ljpeg"'.format(p),
+ 'configure',
+ string=True
+ )
diff --git a/var/spack/repos/builtin/packages/libglvnd/package.py b/var/spack/repos/builtin/packages/libglvnd/package.py
index 84f5440f27..5834c7b9b6 100644
--- a/var/spack/repos/builtin/packages/libglvnd/package.py
+++ b/var/spack/repos/builtin/packages/libglvnd/package.py
@@ -26,7 +26,6 @@ class Libglvnd(AutotoolsPackage):
version('1.1.1', sha256='71918ed1261e4eece18c0b74b50dc62c0237b8d526e83277ef078554544720b9')
conflicts('platform=darwin', msg='libglvnd is linux specific')
- conflicts('platform=bgq', msg='libglvnd is linux specific')
depends_on('libxext')
depends_on('libx11')
diff --git a/var/spack/repos/builtin/packages/libhugetlbfs/package.py b/var/spack/repos/builtin/packages/libhugetlbfs/package.py
new file mode 100644
index 0000000000..9a9ac380aa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libhugetlbfs/package.py
@@ -0,0 +1,19 @@
+# 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 Libhugetlbfs(MakefilePackage):
+ """libhugetlbfs is a library which provides easy access
+ to huge pages of memory."""
+
+ homepage = "https://github.com/libhugetlbfs/libhugetlbfs"
+ url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/2.22/libhugetlbfs-2.22.tar.gz"
+
+ version('2.22', sha256='94dca9ea2c527cd77bf28904094fe4708865a85122d416bfccc8f4b73b9a6785')
+
+ def install(self, spec, prefix):
+ make('install', "PREFIX=%s" % prefix)
diff --git a/var/spack/repos/builtin/packages/libimagequant/package.py b/var/spack/repos/builtin/packages/libimagequant/package.py
new file mode 100644
index 0000000000..1e8f7752e3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libimagequant/package.py
@@ -0,0 +1,25 @@
+# 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)
+
+
+class Libimagequant(Package):
+ """Small, portable C library for high-quality conversion of RGBA images to
+ 8-bit indexed-color (palette) images."""
+
+ homepage = "https://pngquant.org/lib/"
+ url = "https://github.com/ImageOptim/libimagequant/archive/2.12.6.tar.gz"
+
+ version('2.12.6', sha256='b34964512c0dbe550c5f1b394c246c42a988cd73b71a76c5838aa2b4a96e43a0')
+
+ phases = ['configure', 'build', 'install']
+
+ def configure(self, spec, prefix):
+ configure('--prefix=' + prefix)
+
+ def build(self, spec, prefix):
+ make()
+
+ def install(self, spec, prefix):
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libint/package.py b/var/spack/repos/builtin/packages/libint/package.py
index 27fdc3b41d..38cd2f677c 100644
--- a/var/spack/repos/builtin/packages/libint/package.py
+++ b/var/spack/repos/builtin/packages/libint/package.py
@@ -13,6 +13,10 @@ TUNE_VARIANTS = (
'cp2k-lmax-5',
'cp2k-lmax-6',
'cp2k-lmax-7',
+ 'molgw-lmax-4',
+ 'molgw-lmax-5',
+ 'molgw-lmax-6',
+ 'molgw-lmax-7',
)
@@ -136,6 +140,25 @@ class Libint(AutotoolsPackage):
'--enable-generic-code',
'--disable-unrolling',
]
+ if tune_value.startswith('molgw'):
+ lmax = int(tune_value.split('-lmax-')[1])
+ config_args += [
+ '--enable-1body=1',
+ '--enable-eri=0',
+ '--enable-eri2=0',
+ '--enable-eri3=0',
+ '--with-multipole-max-order=0',
+ '--with-max-am={0}'.format(lmax),
+ '--with-eri-max-am={0}'.format(lmax),
+ '--with-eri2-max-am={0}'.format(lmax),
+ '--with-eri3-max-am={0}'.format(lmax),
+ '--with-opt-am=2',
+ '--enable-contracted-ints',
+ # keep code-size at an acceptable limit,
+ # cf. https://github.com/evaleev/libint/wiki#program-specific-notes:
+ '--enable-generic-code',
+ '--disable-unrolling',
+ ]
return config_args
diff --git a/var/spack/repos/builtin/packages/libmodbus/package.py b/var/spack/repos/builtin/packages/libmodbus/package.py
new file mode 100644
index 0000000000..bb58528993
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libmodbus/package.py
@@ -0,0 +1,26 @@
+# 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 Libmodbus(AutotoolsPackage):
+ """libmodbus is a free software library to send/receive data
+ according to the Modbus protocol.This library is written in C
+ and supports RTU (serial) and TCP (Ethernet) communications."""
+
+ homepage = "https://libmodbus.org/"
+ url = "https://libmodbus.org/releases/libmodbus-3.0.8.tar.gz"
+
+ version('3.1.6', sha256='d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16')
+ version('3.1.5', sha256='f7a9538f23a8786b1ee62a4b75879b5c0e194e728350de1b741ce7d595970f06')
+ version('3.1.4', sha256='c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637')
+ version('3.1.3', sha256='9e02d79d715522e03b61c313c7278fcf80860816718587819318b8ad9c3fd0ce')
+ version('3.1.2', sha256='661e14f9dc904f3f1b034464ddaa5fd4b8472f8f5d1ea10a1148af85591b7ee9')
+ version('3.1.1', sha256='76d93aff749d6029f81dcf1fb3fd6abe10c9b48d376f3a03a4f41c5197c95c99')
+ version('3.0.8', sha256='022f0691d920b8aee3ee49d7af0f69b7ef80fc3c849a8e0281d5bc27db7a24ea')
+ version('3.0.7', sha256='6c26850cd5dedcf5dad40977ac7f2ee990a3667f6959a1e05e22959bdf537961')
+ version('3.0.6', sha256='046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6')
+ version('3.0.5', sha256='19aad5d55fa315602d6e836a858a3802f1608f9d824afba05fa12a58a1b1e656')
diff --git a/var/spack/repos/builtin/packages/libmonitor/package.py b/var/spack/repos/builtin/packages/libmonitor/package.py
index 5a199ee333..e396d0c80b 100644
--- a/var/spack/repos/builtin/packages/libmonitor/package.py
+++ b/var/spack/repos/builtin/packages/libmonitor/package.py
@@ -24,9 +24,6 @@ class Libmonitor(AutotoolsPackage):
variant('hpctoolkit', default=False,
description='Configure for HPCToolkit')
- variant('bgq', default=False,
- description='Configure for Blue Gene/Q')
-
# Configure for Krell and OpenSpeedshop.
variant('krellpatch', default=False,
description="Build with openspeedshop based patch.")
@@ -58,21 +55,4 @@ class Libmonitor(AutotoolsPackage):
if '+hpctoolkit' in self.spec:
args.append('--enable-client-signals=%s' % self.signals)
- # TODO: Spack has trouble finding cross-compilers; the +bgq variant
- # manually specifies the appropriate compiler to build for BGQ (by
- # setting that here, Spack's choice of CC is overridden).
- # If the user manually defines an entry in compilers.yaml, the bgq
- # variant should not be required if the user specifies the bgq
- # architecture for the libmonitor package. See #8860
- # TODO: users want to build this for the backend and dependents for the
- # frontend. Spack ought to make that easy by finding the appropriate
- # compiler for each if the root and libmonitor are designated to build
- # on the frontend and backend, respectively. As of now though, there
- # is an issue with compiler concretization such that spack will attempt
- # to assign the compiler chosen for libmonitor to the root (unless the
- # user specifies the compiler for each in addition to the arch).
- # See #8859
- if '+bgq' in self.spec:
- args.append('CC=powerpc64-bgq-linux-gcc')
-
return args
diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py
index 4f1337db76..b79e5e9ee7 100644
--- a/var/spack/repos/builtin/packages/libpciaccess/package.py
+++ b/var/spack/repos/builtin/packages/libpciaccess/package.py
@@ -12,6 +12,7 @@ class Libpciaccess(AutotoolsPackage, XorgPackage):
homepage = "http://cgit.freedesktop.org/xorg/lib/libpciaccess/"
xorg_mirror_path = "lib/libpciaccess-0.13.5.tar.gz"
+ version('0.16', sha256='84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27')
version('0.13.5', sha256='fe26ec788732b4ef60b550f2d3fa51c605d27f646e18ecec878f061807a3526e')
version('0.13.4', sha256='74d92bda448e6fdb64fee4e0091255f48d625d07146a121653022ed3a0ca1f2f')
diff --git a/var/spack/repos/builtin/packages/librsb/package.py b/var/spack/repos/builtin/packages/librsb/package.py
index 2a292b9479..58f74af62f 100644
--- a/var/spack/repos/builtin/packages/librsb/package.py
+++ b/var/spack/repos/builtin/packages/librsb/package.py
@@ -11,9 +11,10 @@ class Librsb(AutotoolsPackage):
library for the Recursive Sparse Blocks format"""
homepage = "http://librsb.sourceforge.net/"
- url = "http://download.sourceforge.net/librsb/librsb-1.2.0.8.tar.gz"
+ url = "http://download.sourceforge.net/librsb/librsb-1.2.0.9.tar.gz"
list_url = "https://sourceforge.net/projects/librsb/files/"
+ version('1.2.0.9', 'f421f5d572461601120933e3c1cfee2ca69e6ecc92cbb11baa4e86bdedd3d9fa')
version('1.2.0.8', '8bebd19a1866d80ade13eabfdd0f07ae7e8a485c0b975b5d15f531ac204d80cb')
depends_on('zlib')
diff --git a/var/spack/repos/builtin/packages/libtirpc/package.py b/var/spack/repos/builtin/packages/libtirpc/package.py
index f38e8fa8d6..4b6647a50f 100644
--- a/var/spack/repos/builtin/packages/libtirpc/package.py
+++ b/var/spack/repos/builtin/packages/libtirpc/package.py
@@ -16,11 +16,10 @@ class Libtirpc(AutotoolsPackage):
version('1.2.6', sha256='4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc')
version('1.1.4', sha256='2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d')
+ depends_on('krb5')
+
provides('rpc')
# FIXME: build error on macOS
# auth_none.c:81:9: error: unknown type name 'mutex_t'
conflicts('platform=darwin', msg='Does not build on macOS')
-
- def configure_args(self):
- return ['--disable-gssapi']
diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py
index decc4b114e..60a922c881 100644
--- a/var/spack/repos/builtin/packages/libtool/package.py
+++ b/var/spack/repos/builtin/packages/libtool/package.py
@@ -3,7 +3,8 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+import os
+import re
class Libtool(AutotoolsPackage, GNUMirrorPackage):
@@ -30,6 +31,14 @@ class Libtool(AutotoolsPackage, GNUMirrorPackage):
build_directory = 'spack-build'
+ executables = ['^g?libtool(ize)?$']
+
+ @classmethod
+ def determine_version(cls, exe):
+ output = Executable(exe)('--version', output=str, error=os.devnull)
+ match = re.search(r'\(GNU libtool\)\s+(\S+)', output)
+ return match.group(1) if match else None
+
@when('@2.4.2,develop')
def autoreconf(self, spec, prefix):
Executable('./bootstrap')()
diff --git a/var/spack/repos/builtin/packages/libtree/package.py b/var/spack/repos/builtin/packages/libtree/package.py
index 10ca8db31d..e44a4a8661 100644
--- a/var/spack/repos/builtin/packages/libtree/package.py
+++ b/var/spack/repos/builtin/packages/libtree/package.py
@@ -15,9 +15,9 @@ class Libtree(CMakePackage):
maintainers = ['haampie']
- version('1.2.0', sha256='4316a52aed7c8d2f7d2736c935bbda952204be92e56948110a143283764c427c')
- version('1.1.4', sha256='cfafb24c8f5e0d356c82777c338d58730ca6f3cb76dfe8a6857ee3ad65bf8be7')
- version('1.1.3', sha256='7baf5aaecd3a076bf1e7a1aa86979e7b841ab3f678ca8ac0e2a22bbbccf0dd06')
+ version('1.2.0', sha256='3e74655f22b1dcc19e8a1b9e7796b8ad44bc37f29e9a99134119e8521e28be97')
+ version('1.1.4', sha256='38648f67c8fa72c3a4a3af2bb254b5fd6989c0f1362387ab298176db5cbbcc4e')
+ version('1.1.3', sha256='4c681d7b67ef3d62f95450fb7eb84e33ff10a3b9db1f7e195b965b2c3c58226b')
version('1.1.2', sha256='31641c6bf6c2980ffa7b4c57392460434f97ba66fe51fe6346867430b33a0374')
version('1.1.1', sha256='3e8543145a40a94e9e2ce9fed003d2bf68294e1fce9607028a286bc132e17dc4')
version('1.1.0', sha256='6cf36fb9a4c8c3af01855527d4931110732bb2d1c19be9334c689f1fd1c78536')
diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py
index dcabc86ec5..69f34f7504 100644
--- a/var/spack/repos/builtin/packages/libunwind/package.py
+++ b/var/spack/repos/builtin/packages/libunwind/package.py
@@ -25,6 +25,9 @@ class Libunwind(AutotoolsPackage):
version('1.2.1', sha256='3f3ecb90e28cbe53fba7a4a27ccce7aad188d3210bb1964a923a731a27a75acb')
version('1.1', sha256='9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a')
+ variant('pic', default=False,
+ description='Compile with position independent code.')
+
variant('xz', default=False,
description='Support xz (lzma) compressed symbol tables.')
@@ -48,12 +51,15 @@ class Libunwind(AutotoolsPackage):
provides('unwind')
def flag_handler(self, name, flags):
- wrapper_flags = None
+ wrapper_flags = []
if name == 'cflags':
# https://github.com/libunwind/libunwind/pull/166
if self.spec.satisfies('@:1.4 %gcc@10:'):
- wrapper_flags = ['-fcommon']
+ wrapper_flags.append('-fcommon')
+
+ if '+pic' in self.spec:
+ wrapper_flags.append(self.compiler.cc_pic_flag)
return (wrapper_flags, None, flags)
diff --git a/var/spack/repos/builtin/packages/libxc/0001-Bugfix-avoid-implicit-pointer-cast-to-make-libxc-com.patch b/var/spack/repos/builtin/packages/libxc/0001-Bugfix-avoid-implicit-pointer-cast-to-make-libxc-com.patch
new file mode 100644
index 0000000000..366f680168
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libxc/0001-Bugfix-avoid-implicit-pointer-cast-to-make-libxc-com.patch
@@ -0,0 +1,26 @@
+From 205a08a30ee0d057d173f9eaa6fc6414f6960c22 Mon Sep 17 00:00:00 2001
+From: Xavier Andrade <xavier@tddft.org>
+Date: Wed, 27 May 2020 15:42:32 -0700
+Subject: [PATCH] Bugfix: avoid implicit pointer cast to make libxc compile
+ with a C++ compiler.
+
+---
+ src/functionals.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/functionals.c b/src/functionals.c
+index 3f668292..293f7f9b 100644
+--- a/src/functionals.c
++++ b/src/functionals.c
+@@ -324,7 +324,7 @@ xc_func_set_ext_params_name(xc_func_type *p, const char *name, double par)
+
+ assert(p != NULL && p->info->ext_params.n > 0);
+
+- ext_params = libxc_malloc(p->info->ext_params.n*sizeof(double));
++ ext_params = (double *) libxc_malloc(p->info->ext_params.n*sizeof(double));
+ for(ii=0; ii<p->info->ext_params.n; ii++){
+ if(strcmp(p->info->ext_params.names[ii], name) == 0)
+ ext_params[ii] = par;
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/libxc/0002-Mark-xc_erfcx-a-GPU_FUNCTION.patch b/var/spack/repos/builtin/packages/libxc/0002-Mark-xc_erfcx-a-GPU_FUNCTION.patch
new file mode 100644
index 0000000000..a4e4f104a3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libxc/0002-Mark-xc_erfcx-a-GPU_FUNCTION.patch
@@ -0,0 +1,33 @@
+From 11b90a0a477925f19dfeb7e1f672058f25d83387 Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <harmenstoppels@gmail.com>
+Date: Fri, 31 Jul 2020 13:54:39 +0200
+Subject: [PATCH] Mark xc_erfcx a GPU_FUNCTION
+
+---
+ src/faddeeva.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/faddeeva.c b/src/faddeeva.c
+index ceec4736..03484713 100644
+--- a/src/faddeeva.c
++++ b/src/faddeeva.c
+@@ -29,6 +29,8 @@
+
+ #include "config.h"
+
++#include "util.h"
++
+ #include <math.h>
+
+ /* erfcx(x) = exp(x^2) erfc(x) function, for real x, written by
+@@ -477,6 +479,7 @@ return 0.97771701335885035464e0 + (0.22000938572830479551e-1 + (0.27951610702682
+ return 1.0;
+ }
+
++GPU_FUNCTION
+ double xc_erfcx(double x)
+ {
+ if (x >= 0) {
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py
index 6803488e48..61597ebaa0 100644
--- a/var/spack/repos/builtin/packages/libxc/package.py
+++ b/var/spack/repos/builtin/packages/libxc/package.py
@@ -6,19 +6,29 @@
from spack import *
-class Libxc(AutotoolsPackage):
+class Libxc(AutotoolsPackage, CudaPackage):
"""Libxc is a library of exchange-correlation functionals for
density-functional theory."""
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.0.0', sha256='1cdc57930f7b57da4eb9b2c55a50ba1c2c385936ddaf5582fee830994461a892')
+ version('4.3.4', sha256='a8ee37ddc5079339854bd313272856c9d41a27802472ee9ae44b58ee9a298337')
version('4.3.2', sha256='bc159aea2537521998c7fb1199789e1be71e04c4b7758d58282622e347603a6f')
version('4.2.3', sha256='02e49e9ba7d21d18df17e9e57eae861e6ce05e65e966e1e832475aa09e344256')
version('3.0.0', sha256='5542b99042c09b2925f2e3700d769cda4fb411b476d446c833ea28c6bfa8792a')
version('2.2.2', sha256='6ca1d0bb5fdc341d59960707bc67f23ad54de8a6018e19e02eee2b16ea7cc642')
version('2.2.1', sha256='ade61c1fa4ed238edd56408fd8ee6c2e305a3d5753e160017e2a71817c98fd00')
+ variant('shared', default=True, description='Build shared libraries')
+
+ conflicts('+shared +cuda', msg='Only ~shared supported with +cuda')
+ conflicts('+cuda', when='@:4', msg='CUDA support only in libxc 5.0.0 and above')
+
+ patch('0001-Bugfix-avoid-implicit-pointer-cast-to-make-libxc-com.patch', when='@5.0.0')
+ patch('0002-Mark-xc_erfcx-a-GPU_FUNCTION.patch', when='@5.0.0')
+
@property
def libs(self):
"""Libxc can be queried for the following parameters:
@@ -35,7 +45,8 @@ class Libxc(AutotoolsPackage):
# Libxc installs both shared and static libraries.
# If a client ask for static explicitly then return
# the static libraries
- shared = ('static' not in query_parameters)
+ shared = (self.spec.variants['shared'].value and
+ 'static' not in query_parameters)
# Libxc has a fortran90 interface: give clients the
# possibility to query for it
@@ -81,8 +92,24 @@ class Libxc(AutotoolsPackage):
env.append_flags('CFLAGS', optflags)
env.append_flags('FCFLAGS', optflags)
+ if '+cuda' in self.spec:
+ nvcc = self.spec['cuda'].prefix.bin.nvcc
+ env.set('CCLD', '{0} -ccbin {1}'.format(nvcc, spack_cc))
+ env.set('CC', '{0} -x cu -ccbin {1}'.format(nvcc, spack_cc))
+
+ cuda_arch = self.spec.variants['cuda_arch'].value[0]
+
+ if cuda_arch != 'none':
+ env.append_flags('CFLAGS', '-arch=sm_{0}'.format(cuda_arch))
+
def configure_args(self):
- args = ['--enable-shared']
+ spec = self.spec
+
+ args = [
+ '--enable-shared' if '+shared' in spec else '--disable-shared',
+ '--enable-cuda' if '+cuda' in spec else '--disable-cuda'
+ ]
+
return args
def check(self):
diff --git a/var/spack/repos/builtin/packages/libxscrnsaver/package.py b/var/spack/repos/builtin/packages/libxscrnsaver/package.py
index f00dad3f91..077e74e9a7 100644
--- a/var/spack/repos/builtin/packages/libxscrnsaver/package.py
+++ b/var/spack/repos/builtin/packages/libxscrnsaver/package.py
@@ -18,6 +18,6 @@ class Libxscrnsaver(AutotoolsPackage, XorgPackage):
depends_on('libxext')
depends_on('xextproto', type='build')
- depends_on('scrnsaverproto@1.2:', type='build')
+ depends_on('scrnsaverproto@1.2:')
depends_on('pkgconfig', type='build')
depends_on('util-macros', type='build')
diff --git a/var/spack/repos/builtin/packages/libyogrt/package.py b/var/spack/repos/builtin/packages/libyogrt/package.py
index 3590193516..a1ed17b3f1 100644
--- a/var/spack/repos/builtin/packages/libyogrt/package.py
+++ b/var/spack/repos/builtin/packages/libyogrt/package.py
@@ -38,6 +38,9 @@ class Libyogrt(AutotoolsPackage):
conflicts('scheduler=lsf', when='@:1.22')
+ variant('static', default='False',
+ description="build static library")
+
def url_for_version(self, version):
if version < Version(1.21):
return "https://github.com/LLNL/libyogrt/archive/%s.tar.gz" % version
@@ -51,4 +54,7 @@ class Libyogrt(AutotoolsPackage):
if sched != "system":
args.append('--with-%s=%s' % (sched, self.spec[sched].prefix))
+ if '+static' in self.spec:
+ args.append('--enable-static=yes')
+
return args
diff --git a/var/spack/repos/builtin/packages/ligra/package.py b/var/spack/repos/builtin/packages/ligra/package.py
new file mode 100644
index 0000000000..8df4bbabae
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ligra/package.py
@@ -0,0 +1,44 @@
+# 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 Ligra(MakefilePackage):
+ """A Lightweight Graph Processing Framework for Shared Memory"""
+
+ homepage = "http://jshun.github.io/ligra/"
+ url = "https://github.com/jshun/ligra/archive/v.1.5.tar.gz"
+
+ version('1.5', sha256='74113a5a3c19a0e319a5b9ebefc8a67c5d18d4d2a9670363092a966f4163f6b7')
+ version('1.4', sha256='bb70a1428c71cf2f7e1512cdedcd8330c754f5a2c8309ab9d9666591cff6a4e1')
+ version('1.3', sha256='df848038734bb9724d6c9bd95595c91eb6b07027642be93bff161f020ff257e4')
+ version('1.2', sha256='ec8778b0762772fc78437243ccaee72066d67a310bc352d6665dd2de520c04cc')
+ version('1.1', sha256='a7311b96fabc286a8f1250d8a6e2d1b1e4545c720fa6bb4acf7ed31211fcc99a')
+ version('1.0', sha256='fb39ae0a3eddb26f37b8cc0a543648575a50bcc488cecd4a5f1beaaf2458736c')
+
+ variant('openmp', default=True, description="Build with OpenMP")
+ variant('mkl', default=False, description="Build with Intel MKL")
+ # TODO: Add cilk variant when spack has a cilk plus package created.
+
+ depends_on('mkl', when='+mkl')
+
+ def setup_build_environment(self, env):
+ if '+openmp' in self.spec:
+ env.set('OPENMP', '1')
+ # when +mkl, MKLROOT will be defined by intel-mkl package,
+ # triggering a build with mkl support
+
+ def setup_run_environment(self, env):
+ env.prepend_path('PATH', self.prefix.apps)
+ env.prepend_path('PATH', self.prefix.utils)
+
+ def build(self, spec, prefix):
+ make('-C', 'apps')
+ make('-C', 'utils')
+
+ def install(self, spec, prefix):
+ install_tree('.', prefix)
+ install_tree('ligra', prefix.include)
diff --git a/var/spack/repos/builtin/packages/likwid/package.py b/var/spack/repos/builtin/packages/likwid/package.py
index a104b67003..0bbf69a89b 100644
--- a/var/spack/repos/builtin/packages/likwid/package.py
+++ b/var/spack/repos/builtin/packages/likwid/package.py
@@ -32,6 +32,8 @@ class Likwid(Package):
patch('https://github.com/RRZE-HPC/likwid/commit/e0332ace8fe8ca7dcd4b4477a25e37944f173a5c.patch', sha256='c3b8f939a46b425665577ce764d4fba080a23cab5999c53db71655fd54d7e0b1', when='@5.0.1')
patch('https://github.com/RRZE-HPC/likwid/commit/d2d0ef333b5e0997d7c80fc6ac1a473b5e47d084.patch', sha256='636cbf40669261fdb36379d67253be2b731cfa7b6d610d232767d72fbdf08bc0', when='@4.3.4')
+ variant('fortran', default=True, description='with fortran interface')
+
# NOTE: There is no way to use an externally provided hwloc with Likwid.
# The reason is that the internal hwloc is patched to contain extra
# functionality and functions are prefixed with "likwid_".
@@ -96,6 +98,20 @@ class Likwid(Package):
'BUILDDAEMON = false',
'config.mk')
+ if '+fortran' in self.spec:
+ filter_file('^FORTRAN_INTERFACE .*',
+ 'FORTRAN_INTERFACE = true',
+ 'config.mk')
+ if self.compiler.name == 'gcc':
+ filter_file('ifort', 'gfortran',
+ join_path('make', 'include_GCC.mk'))
+ filter_file('-module', '-I', join_path('make',
+ 'include_GCC.mk'))
+ else:
+ filter_file('^FORTRAN_INTERFACE .*',
+ 'FORTRAN_INTERFACE = false',
+ 'config.mk')
+
if spec.satisfies('^lua'):
filter_file('^#LUA_INCLUDE_DIR.*',
'LUA_INCLUDE_DIR = {0}'.format(
diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/fix-system-zlib-ncurses.patch b/var/spack/repos/builtin/packages/llvm-amdgpu/fix-system-zlib-ncurses.patch
new file mode 100644
index 0000000000..64d429a7e9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm-amdgpu/fix-system-zlib-ncurses.patch
@@ -0,0 +1,60 @@
+From 0f5e8e4368199ab993470dc4e7df5d91b806c557 Mon Sep 17 00:00:00 2001
+From: Harmen Stoppels <harmenstoppels@gmail.com>
+Date: Tue, 11 Aug 2020 15:06:24 +0200
+Subject: [PATCH] Use find_library for zlib and ncurses
+
+find_library makes it easier to use a non-system version of zlib and
+ncurses, since it respects *_ROOT and CMAKE_PREFIX_PATH.
+---
+ llvm/cmake/config-ix.cmake | 28 ++++++++++------------------
+ 1 file changed, 10 insertions(+), 18 deletions(-)
+
+diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake
+index 612ce5bdbcb..e748e5ef8c1 100644
+--- a/llvm/cmake/config-ix.cmake
++++ b/llvm/cmake/config-ix.cmake
+@@ -120,15 +120,11 @@ endif()
+ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
+ set(HAVE_LIBZ 0)
+ if(LLVM_ENABLE_ZLIB)
+- foreach(library z zlib_static zlib)
+- string(TOUPPER ${library} library_suffix)
+- check_library_exists(${library} compress2 "" HAVE_LIBZ_${library_suffix})
+- if(HAVE_LIBZ_${library_suffix})
+- set(HAVE_LIBZ 1)
+- set(ZLIB_LIBRARIES "${library}")
+- break()
+- endif()
+- endforeach()
++ find_library(FIND_ZLIB NAMES z zlib_static zlib)
++ if(FIND_ZLIB)
++ set(HAVE_LIBZ 1)
++ set(ZLIB_LIBRARIES "${FIND_ZLIB}")
++ endif()
+ endif()
+
+ # Don't look for these libraries on Windows.
+@@ -141,15 +137,11 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
+ endif()
+ if(LLVM_ENABLE_TERMINFO)
+ set(HAVE_TERMINFO 0)
+- foreach(library terminfo tinfo curses ncurses ncursesw)
+- string(TOUPPER ${library} library_suffix)
+- check_library_exists(${library} setupterm "" HAVE_TERMINFO_${library_suffix})
+- if(HAVE_TERMINFO_${library_suffix})
+- set(HAVE_TERMINFO 1)
+- set(TERMINFO_LIBS "${library}")
+- break()
+- endif()
+- endforeach()
++ find_library(FIND_TERMINFO NAMES terminfo tinfo curses ncurses ncursesw)
++ if(FIND_TERMINFO)
++ set(HAVE_TERMINFO 1)
++ set(TERMINFO_LIBS "${FIND_TERMINFO}")
++ endif()
+ else()
+ set(HAVE_TERMINFO 0)
+ endif()
+--
+2.25.1
+
diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
new file mode 100644
index 0000000000..acd384441e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py
@@ -0,0 +1,45 @@
+# 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 LlvmAmdgpu(CMakePackage):
+ """Toolkit for the construction of highly optimized compilers,
+ optimizers, and run-time environments."""
+
+ homepage = "https://github.com/RadeonOpenCompute/llvm-project"
+ url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='4878fa85473b24d88edcc89938441edc85d2e8a785e567b7bd7ce274ecc2fd9c')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('python', type='build')
+ depends_on('z3', type='link')
+ depends_on('zlib', type='link')
+ depends_on('ncurses+termlib', type='link')
+
+ patch('fix-system-zlib-ncurses.patch')
+
+ root_cmakelists_dir = 'llvm'
+
+ install_targets = ['clang-tidy', 'install']
+
+ def cmake_args(self):
+ args = [
+ '-DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;compiler-rt',
+ '-DLLVM_ENABLE_ASSERTIONS=1'
+ ]
+
+ if self.compiler.name == "gcc":
+ gcc_prefix = ancestor(self.compiler.cc, 2)
+ args.append("-DGCC_INSTALL_PREFIX=" + gcc_prefix)
+
+ return args
diff --git a/var/spack/repos/builtin/packages/llvm-flang/package.py b/var/spack/repos/builtin/packages/llvm-flang/package.py
index 99948fd76f..d5b9370169 100644
--- a/var/spack/repos/builtin/packages/llvm-flang/package.py
+++ b/var/spack/repos/builtin/packages/llvm-flang/package.py
@@ -195,6 +195,11 @@ class LlvmFlang(CMakePackage, CudaPackage):
args.append('-DLIBOMP_FORTRAN_MODULES=ON')
args.append('-DLIBOMP_ENABLE_SHARED=TRUE')
+ # Make sure llvm-flang can find GCC's libstdc++
+ if self.compiler.name == "gcc":
+ gcc_prefix = ancestor(self.compiler.cc, 2)
+ args.append('-DGCC_INSTALL_PREFIX=' + gcc_prefix)
+
# used by libomptarget for NVidia gpu
if '+cuda' in spec:
args.append('-DOPENMP_ENABLE_LIBOMPTARGET=ON')
diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py
index 53ce3e12c2..95ffcc51fd 100644
--- a/var/spack/repos/builtin/packages/llvm/package.py
+++ b/var/spack/repos/builtin/packages/llvm/package.py
@@ -2,10 +2,13 @@
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-from spack import *
+import os.path
+import re
import sys
+import llnl.util.tty as tty
+import spack.util.executable
+
class Llvm(CMakePackage, CudaPackage):
"""The LLVM Project is a collection of modular and reusable compiler and
@@ -25,6 +28,7 @@ class Llvm(CMakePackage, CudaPackage):
# fmt: off
version('master', branch='master')
+ version('10.0.1', sha256='c7ccb735c37b4ec470f66a6c35fbae4f029c0f88038f6977180b1a8ddc255637')
version('10.0.0', sha256='b81c96d2f8f40dc61b14a167513d87c0d813aae0251e06e11ae8a4384ca15451')
version('9.0.1', sha256='be7b034641a5fda51ffca7f5d840b1a768737779f75f7c4fd18fe2d37820289a')
version('9.0.0', sha256='7807fac25330e24e9955ca46cd855dd34bbc9cc4fdba8322366206654d1036f2')
@@ -135,9 +139,6 @@ class Llvm(CMakePackage, CudaPackage):
depends_on("python", when="@5:+python")
depends_on("z3", when="@9:")
- # CUDA dependency
- depends_on("cuda", when="+cuda")
-
# openmp dependencies
depends_on("perl-data-dumper", type=("build"))
depends_on("hwloc")
@@ -159,7 +160,6 @@ class Llvm(CMakePackage, CudaPackage):
depends_on("gmp", when="@:3.6.999 +polly")
depends_on("isl", when="@:3.6.999 +polly")
- conflicts("+clang_extra", when="~clang")
conflicts("+lldb", when="~clang")
conflicts("+libcxx", when="~clang")
conflicts("+internal_unwind", when="~clang")
@@ -180,7 +180,6 @@ class Llvm(CMakePackage, CudaPackage):
# code signing is only necessary on macOS",
conflicts('+code_signing', when='platform=linux')
- conflicts('+code_signing', when='platform=bgq')
conflicts('+code_signing', when='platform=cray')
conflicts(
@@ -208,6 +207,108 @@ class Llvm(CMakePackage, CudaPackage):
# https://bugs.llvm.org/show_bug.cgi?id=39696
patch("thread-p9.patch", when="@develop+libcxx")
+ # The functions and attributes below implement external package
+ # detection for LLVM. See:
+ #
+ # https://spack.readthedocs.io/en/latest/packaging_guide.html#making-a-package-discoverable-with-spack-external-find
+ executables = ['clang', 'ld.lld', 'lldb']
+
+ @classmethod
+ def filter_detected_exes(cls, prefix, exes_in_prefix):
+ result = []
+ for exe in exes_in_prefix:
+ # Executables like lldb-vscode-X are daemon listening
+ # on some port and would hang Spack during detection.
+ # clang-cl and clang-cpp are dev tools that we don't
+ # need to test
+ if any(x in exe for x in ('vscode', 'cpp', '-cl', '-gpu')):
+ continue
+ result.append(exe)
+ return result
+
+ @classmethod
+ def determine_version(cls, exe):
+ version_regex = re.compile(
+ # Normal clang compiler versions are left as-is
+ r'clang version ([^ )]+)-svn[~.\w\d-]*|'
+ # Don't include hyphenated patch numbers in the version
+ # (see https://github.com/spack/spack/pull/14365 for details)
+ r'clang version ([^ )]+?)-[~.\w\d-]*|'
+ r'clang version ([^ )]+)|'
+ # LLDB
+ r'lldb version ([^ )\n]+)|'
+ # LLD
+ r'LLD ([^ )\n]+) \(compatible with GNU linkers\)'
+ )
+ try:
+ compiler = Executable(exe)
+ output = compiler('--version', output=str, error=str)
+ if 'Apple' in output:
+ return None
+ match = version_regex.search(output)
+ if match:
+ return match.group(match.lastindex)
+ except spack.util.executable.ProcessError:
+ pass
+ except Exception as e:
+ tty.debug(e)
+
+ return None
+
+ @classmethod
+ def determine_variants(cls, exes, version_str):
+ variants, compilers = ['+clang'], {}
+ lld_found, lldb_found = False, False
+ for exe in exes:
+ if 'clang++' in exe:
+ compilers['cxx'] = exe
+ elif 'clang' in exe:
+ compilers['c'] = exe
+ elif 'ld.lld' in exe:
+ lld_found = True
+ compilers['ld'] = exe
+ elif 'lldb' in exe:
+ lldb_found = True
+ compilers['lldb'] = exe
+
+ variants.append('+lld' if lld_found else '~lld')
+ variants.append('+lldb' if lldb_found else '~lldb')
+
+ return ''.join(variants), {'compilers': compilers}
+
+ @classmethod
+ def validate_detected_spec(cls, spec, extra_attributes):
+ # For LLVM 'compilers' is a mandatory attribute
+ msg = ('the extra attribute "compilers" must be set for '
+ 'the detected spec "{0}"'.format(spec))
+ assert 'compilers' in extra_attributes, msg
+ compilers = extra_attributes['compilers']
+ for key in ('c', 'cxx'):
+ msg = '{0} compiler not found for {1}'
+ assert key in compilers, msg.format(key, spec)
+
+ @property
+ def cc(self):
+ msg = "cannot retrieve C compiler [spec is not concrete]"
+ assert self.spec.concrete, msg
+ if self.spec.external:
+ return self.spec.extra_attributes['compilers'].get('c', None)
+ result = None
+ if '+clang' in self.spec:
+ result = os.path.join(self.spec.prefix.bin, 'clang')
+ return result
+
+ @property
+ def cxx(self):
+ msg = "cannot retrieve C++ compiler [spec is not concrete]"
+ assert self.spec.concrete, msg
+ if self.spec.external:
+ return self.spec.extra_attributes['compilers'].get('cxx', None)
+ result = None
+ if '+clang' in self.spec:
+ result = os.path.join(self.spec.prefix.bin, 'clang++')
+ return result
+
@run_before('cmake')
def codesign_check(self):
if self.spec.satisfies("+code_signing"):
diff --git a/var/spack/repos/builtin/packages/lmbench/fix_results_path_for_aarch64.patch b/var/spack/repos/builtin/packages/lmbench/fix_results_path_for_aarch64.patch
new file mode 100644
index 0000000000..dc0f7026a0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lmbench/fix_results_path_for_aarch64.patch
@@ -0,0 +1,13 @@
+diff --git a/scripts/results b/scripts/results
+index cd07c15..282ed19 100755
+--- a/scripts/results
++++ b/scripts/results
+@@ -27,7 +27,7 @@ cd ../bin/$OS
+ PATH=.:${PATH}; export PATH
+ export SYNC_MAX
+ export OUTPUT
+-lmbench $CONFIG 2>../${RESULTS}
++lmbench $CONFIG 2>${RESULTS}
+
+ if [ X$MAIL = Xyes ]
+ then echo Mailing results
diff --git a/var/spack/repos/builtin/packages/lmbench/package.py b/var/spack/repos/builtin/packages/lmbench/package.py
index e38ca29e24..e0b5fe3620 100644
--- a/var/spack/repos/builtin/packages/lmbench/package.py
+++ b/var/spack/repos/builtin/packages/lmbench/package.py
@@ -19,6 +19,8 @@ class Lmbench(MakefilePackage):
depends_on('libtirpc')
+ patch('fix_results_path_for_aarch64.patch', sha256='2af57abc9058c56b6dd0697bb01a98902230bef92b117017e318faba148eef60', when='target=aarch64:')
+
def setup_build_environment(self, env):
env.prepend_path('CPATH', self.spec['libtirpc'].prefix.include.tirpc)
env.append_flags('LDFLAGS', '-ltirpc')
diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py
index 2f12d47587..f211405179 100644
--- a/var/spack/repos/builtin/packages/lmod/package.py
+++ b/var/spack/repos/builtin/packages/lmod/package.py
@@ -46,8 +46,8 @@ class Lmod(AutotoolsPackage):
depends_on('lua-luafilesystem', type=('build', 'run'))
depends_on('tcl', type=('build', 'link', 'run'))
- variant('auto_swap', default=False, description='Enable auto swapping conflicting modules')
- variant('redirect', default=True, description='Enables redirect instead of pager')
+ variant('auto_swap', default=True, description='Auto swapping of compilers, etc.')
+ variant('redirect', default=False, description='Redirect messages to stdout (instead of stderr)')
patch('fix_tclsh_paths.patch', when='@:6.4.3')
patch('0001-fix-problem-with-MODULESHOME-and-issue-271.patch', when='@7.3.28:7.4.10')
diff --git a/var/spack/repos/builtin/packages/looptools/package.py b/var/spack/repos/builtin/packages/looptools/package.py
new file mode 100644
index 0000000000..7d31173dcf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/looptools/package.py
@@ -0,0 +1,25 @@
+# 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 Looptools(AutotoolsPackage):
+ """LoopTools is a package for evaluation of scalar and tensor one-loop
+ integrals based on the FF package by G.J. van Oldenborgh. It
+ features an easy Fortran, C++, and Mathematica interface to the
+ scalar one-loop functions of FF and in addition provides
+ the 2-, 3-, and 4-point tensor coefficient functions. """
+
+ homepage = "http://www.feynarts.de/looptools/"
+ url = "http://www.feynarts.de/looptools/LoopTools-2.15.tar.gz"
+
+ version('2.15', sha256='a065ffdc4fe6882aa3bb926134ba8ec875d6c0a633c3d4aa5f70db26542713f2')
+ version('2.8', sha256='2395518d0eac9b0883a2c249b9a5ba80df443929c520c45e60f5a4284166eb42')
+
+ def configure_args(self):
+ args = ["FFLAGS=" + self.compiler.f77_pic_flag,
+ "CFLAGS=" + self.compiler.cc_pic_flag]
+ return args
diff --git a/var/spack/repos/builtin/packages/ltrace/package.py b/var/spack/repos/builtin/packages/ltrace/package.py
index 01f0e4fd86..9e0b72804f 100644
--- a/var/spack/repos/builtin/packages/ltrace/package.py
+++ b/var/spack/repos/builtin/packages/ltrace/package.py
@@ -17,3 +17,8 @@ class Ltrace(AutotoolsPackage):
version('0.7.3', sha256='0e6f8c077471b544c06def7192d983861ad2f8688dd5504beae62f0c5f5b9503')
conflicts('platform=darwin', msg='ltrace runs only on Linux.')
+
+ def configure_args(self):
+ # Disable -Werror since some functions used by ltrace
+ # have been deprecated in recent version of glibc
+ return ['--disable-werror']
diff --git a/var/spack/repos/builtin/packages/lustre/package.py b/var/spack/repos/builtin/packages/lustre/package.py
new file mode 100644
index 0000000000..2ce6a1ad55
--- /dev/null
+++ b/var/spack/repos/builtin/packages/lustre/package.py
@@ -0,0 +1,30 @@
+# 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 Lustre(Package):
+ """Lustre is a type of parallel distributed file system,
+ generally used for large-scale cluster computing."""
+
+ homepage = 'http://lustre.org/'
+ has_code = False
+
+ version('2.12')
+
+ # Lustre is filesystem and needs to be installed on system.
+ # To have it as external package in SPACK, follow below:
+ # config file packages.yaml needs to be adjusted:
+ # lustre:
+ # version: [2.12]
+ # paths:
+ # lustre@2.12: /usr (Usual Lustre library path)
+ # buildable: False
+
+ def install(self, spec, prefix):
+ raise InstallError(
+ self.spec.format('{name} is not installable, you need to specify '
+ 'it as an external package in packages.yaml'))
diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py
index 7b649656d0..daf89aed16 100644
--- a/var/spack/repos/builtin/packages/m4/package.py
+++ b/var/spack/repos/builtin/packages/m4/package.py
@@ -36,6 +36,9 @@ class M4(AutotoolsPackage, GNUMirrorPackage):
spec = self.spec
args = ['--enable-c++']
+ if spec.satisfies('%cce@9:'):
+ args.append('LDFLAGS=-rtlib=compiler-rt')
+
if spec.satisfies('%clang') and not spec.satisfies('platform=darwin'):
args.append('LDFLAGS=-rtlib=compiler-rt')
diff --git a/var/spack/repos/builtin/packages/magics/package.py b/var/spack/repos/builtin/packages/magics/package.py
index c9c331eeb5..902ac0db13 100644
--- a/var/spack/repos/builtin/packages/magics/package.py
+++ b/var/spack/repos/builtin/packages/magics/package.py
@@ -19,7 +19,12 @@ class Magics(CMakePackage):
# The policy on which minor releases remain available and which get deleted
# after a newer version becomes available is unclear.
- version('4.2.4', sha256='920c7dbb1aaabe65a31c6c18010829210f8b2f8d614b6c405dc5a4530e346f07')
+ version('4.4.0', sha256='544058cd334f3e28a16d00ea7811e13cdf282f9c1ebec2ad7868171d925abd24')
+ version('4.3.3', sha256='27d3de71cf41f3d557fd85dabaea2baaab34c4c6422a5b5b15071a6a53387601')
+ version('4.3.1', sha256='b1995e2f5bf24943715446d1302cc5d7de4cacfe4cee7c3cfd1037ac183cd181')
+ version('4.3.0', sha256='f6c0d32c243913e53320dd94ce8e1e6a64bd9a44af77d5ac32c062bc18355b8a')
+ version('4.2.6', sha256='9b34a375d9125ab6e8a715b970da2e479f96370bac6a5bb8a015a079ed9e027c')
+ version('4.2.4', sha256='920c7dbb1aaabe65a31c6c18010829210f8b2f8d614b6c405dc5a4530e346f07')
version('4.1.0', sha256='da626c31f53716990754dd72ab7b2f3902a8ad924b23ef3309bd14900d170541')
version('2.34.3', sha256='38487562e83c0470f94d9c7fb9418cbadf92f1e643033237baba2abdc77e6238')
version('2.34.1', sha256='8df27f8f262ebc32a61f8696df15a7b4a6e4203b2a8e53fe7aa13caa1c4e3fa4')
@@ -59,7 +64,10 @@ class Magics(CMakePackage):
depends_on('perl-xml-parser', type='build')
# Non-optional dependencies
- depends_on('proj@:5')
+ # change of proj4 api starting from version 4.3.0
+ # https://github.com/OSGeo/PROJ/wiki/proj.h-adoption-status
+ depends_on('proj@:5', when='@:4.2.6')
+ depends_on('proj@6:', when='@4.3:')
depends_on('boost')
depends_on('expat')
@@ -79,6 +87,10 @@ class Magics(CMakePackage):
depends_on('eccodes', when='grib=eccodes')
depends_on('grib-api', when='grib=grib-api')
+ # Even if netcdf is disabled and -DENABLE_NETCDF=OFF is set, building
+ # magics still requires legacy netcdf-cxx
+ depends_on('netcdf-cxx', when='@4.1.0:4.3.1')
+
# Optional dependencies
depends_on('netcdf-cxx', when='+netcdf')
depends_on('pango', when='+cairo')
@@ -129,7 +141,8 @@ class Magics(CMakePackage):
if self.spec.satisfies('@2.29.1:'):
args.append('-DENABLE_ECCODES=OFF')
- if '+netcdf' in self.spec:
+ # magics@4.2.4:4.3.1 cannot be built without netcdf
+ if '+netcdf' in self.spec or self.spec.satisfies('@4.1.0:4.3.1'):
args.append('-DENABLE_NETCDF=ON')
else:
args.append('-DENABLE_NETCDF=OFF')
diff --git a/var/spack/repos/builtin/packages/magma/package.py b/var/spack/repos/builtin/packages/magma/package.py
index 16b7c777c1..ec2324290a 100644
--- a/var/spack/repos/builtin/packages/magma/package.py
+++ b/var/spack/repos/builtin/packages/magma/package.py
@@ -36,6 +36,9 @@ class Magma(CMakePackage, CudaPackage):
depends_on('blas')
depends_on('lapack')
depends_on('cuda@8:', when='@2.5.1:') # See PR #14471
+ depends_on('cuda@:10.99999') # incompatible with CUDA 11
+ # The previous line would ideally include "when='@:2.5.3'", but this
+ # doesn't work due to a problem with the concretizer.
conflicts('~cuda', msg='Magma requires cuda')
conflicts('cuda_arch=none',
diff --git a/var/spack/repos/builtin/packages/mapnik/package.py b/var/spack/repos/builtin/packages/mapnik/package.py
index 2fc61f568d..880bd3bc13 100644
--- a/var/spack/repos/builtin/packages/mapnik/package.py
+++ b/var/spack/repos/builtin/packages/mapnik/package.py
@@ -15,11 +15,12 @@ class Mapnik(AutotoolsPackage):
homepage = "https://mapnik.org/"
url = "https://github.com/mapnik/mapnik/releases/download/v3.0.22/mapnik-v3.0.22.tar.bz2"
+ version('3.0.23', sha256='4b1352e01f7ce25ab099e586d7ae98e0b74145a3bf94dd365cb0a2bdab3b9dc2')
version('3.0.22', sha256='930612ad9e604b6a29b9cea1bc1de85cf7cf2b2b8211f57ec8b6b94463128ab9')
depends_on('python', type=('build', 'run'))
- # Build fails with boost@1.70
- depends_on('boost@:1.69.0+regex+filesystem+system+icu+program_options cxxstd=11')
+ depends_on('boost@:1.72.0 +regex+filesystem+system+icu+program_options cxxstd=11', when='@3.0.23')
+ depends_on('boost@:1.69.0 +regex+filesystem+system+icu+program_options cxxstd=11', when='@3.0.22')
depends_on('icu4c')
depends_on('zlib')
depends_on('freetype')
diff --git a/var/spack/repos/builtin/packages/mariadb/package.py b/var/spack/repos/builtin/packages/mariadb/package.py
index 11df1fc728..a16919192a 100644
--- a/var/spack/repos/builtin/packages/mariadb/package.py
+++ b/var/spack/repos/builtin/packages/mariadb/package.py
@@ -52,6 +52,7 @@ class Mariadb(CMakePackage):
depends_on('msgpack-c')
depends_on('openssl')
depends_on('openssl@:1.0', when='@:10.1')
+ depends_on('krb5')
conflicts('%gcc@9.1.0:', when='@:5.5')
diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py
index bbe2bd0412..0d79e25af4 100644
--- a/var/spack/repos/builtin/packages/mbedtls/package.py
+++ b/var/spack/repos/builtin/packages/mbedtls/package.py
@@ -15,7 +15,9 @@ class Mbedtls(CMakePackage):
homepage = "https://tls.mbed.org"
url = "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.2.1.tar.gz"
+ maintainers = ['mwkrentel']
+ version('2.16.7', sha256='4786b7d1676f5e4d248f3a7f2d28446876d64962634f060ff21b92c690cfbe86')
version('2.16.1', sha256='daf0d40f3016c34eb42d1e4b3b52be047e976d566aba8668977723c829af72f3')
version('2.7.10', sha256='42b19b30b86a798bdb69c5da2f8bbd7d72ffede9a35b888ab986a29480f9dc3e')
version('2.3.0', sha256='1614ee70be99a18ca8298148308fb725aad4ad31c569438bb51655a4999b14f9')
@@ -33,7 +35,8 @@ class Mbedtls(CMakePackage):
variant('pic', default=False,
description='Compile with position independent code.')
- depends_on('cmake@2.6:', type='build')
+ depends_on('cmake@3.1.0:', type='build', when='@2.8.0:')
+ depends_on('cmake@2.6:', type='build', when='@:2.7.99')
depends_on('perl', type='build')
def flag_handler(self, name, flags):
diff --git a/var/spack/repos/builtin/packages/mcutils/package.py b/var/spack/repos/builtin/packages/mcutils/package.py
new file mode 100644
index 0000000000..3065f70fe0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mcutils/package.py
@@ -0,0 +1,34 @@
+# 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 Mcutils(MakefilePackage):
+ """A collection of routines for classification and manipulation of
+ particle physics simulated HepMC event records."""
+
+ homepage = "https://bitbucket.org/andybuckley/mcutils"
+ url = "https://bitbucket.org/andybuckley/mcutils/get/mcutils-1.3.4.tar.gz"
+
+ version('1.3.4', sha256='0bf9795cc248871ab2b663d2eef647311eacaea4982997950096de68747e65a3')
+ version('1.3.3', sha256='bfb2f0e0e6de358928436f309f3f1b084d3d652073c440f262de878332116ecb')
+ version('1.3.2', sha256='e17d417e8d4f8d17a6879ea18dcd2cd76e161d37eae08b84893504d1b08f9708')
+ version('1.3.1', sha256='081263ee6844fccedad780e6a2fbaf1ad0073a6706bc4b34109050b72c2c4b27')
+ version('1.3.0', sha256='20a89ce536547dc8f56e7779a3ec8cfe9987edb1646009ecfc682ff1ddf0277b')
+ version('1.2.1', sha256='004325be41925d97e711ffe4311d9c8aa8e88873541bcc1a385d2e1ce1d17a96')
+ version('1.2.0', sha256='f9589d45bff06d8c8742d35d78d1ed570a0d181fd7ee5d6f97ab9e48f0ee32f4')
+ version('1.1.2', sha256='5a5781caf2d81c21f4b040a1d31975c354526bcf7c8c9067543f7303c8155844')
+ version('1.1.1', sha256='3e5c47d2264886613fc9423b020cf50dc7031a02b752da3a84f794c36ba7443a')
+ version('1.1.0', sha256='96fc2586430032ed4b378edb02150c5c9db405e1767dbf847ffe9ac043daf6e9')
+ version('1.0.3', sha256='b5bec5a4b2146b6987b351d632119c3b4c449c2ee53ae0ddc8cb1d3672907df5')
+ version('1.0.2', sha256='74e2c381f5f3719888b15a2e00075051bb2b84b3d73633d429818a77de66ca7c')
+ version('1.0.1', sha256='bb884a4cfb56b5139c08df0be554466e504e9c46096a858f904d659894a62131')
+ version('1.0.0', sha256='d08dea19fb42b1846e0a7134e2347648b037bf82b2d75086d018734bc2996b06')
+
+ depends_on('heputils', when='@1.1.0:')
+
+ def install(self, spec, prefix):
+ make('install', 'PREFIX={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/mesa/multiple-symbols_hash.patch b/var/spack/repos/builtin/packages/mesa/multiple-symbols_hash.patch
new file mode 100644
index 0000000000..7c92326f37
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mesa/multiple-symbols_hash.patch
@@ -0,0 +1,22 @@
+--- a/src/gallium/auxiliary/util/u_debug_stack.c 2019-11-07 17:57:36.000000000 -0700
++++ b/src/gallium/auxiliary/util/u_debug_stack.c 2020-07-23 15:30:46.033145497 -0600
+@@ -46,7 +46,7 @@
+ #include "os/os_thread.h"
+ #include "u_hash_table.h"
+
+-struct util_hash_table* symbols_hash;
++static struct util_hash_table* symbols_hash;
+ static mtx_t symbols_mutex = _MTX_INITIALIZER_NP;
+
+ static unsigned hash_ptr(void* p)
+--- a/src/gallium/auxiliary/util/u_debug_symbol.c 2019-11-07 17:58:53.000000000 -0700
++++ b/src/gallium/auxiliary/util/u_debug_symbol.c 2020-07-23 15:31:06.400146072 -0600
+@@ -270,7 +270,7 @@
+ debug_printf("\t%s\n", buf);
+ }
+
+-struct util_hash_table* symbols_hash;
++static struct util_hash_table* symbols_hash;
+ static mtx_t symbols_mutex = _MTX_INITIALIZER_NP;
+
+ static unsigned hash_ptr(void* p)
diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py
index b277a03d19..953e5b0034 100644
--- a/var/spack/repos/builtin/packages/mesa/package.py
+++ b/var/spack/repos/builtin/packages/mesa/package.py
@@ -79,6 +79,9 @@ class Mesa(AutotoolsPackage):
# Prevent an unnecessary xcb-dri dependency
patch('autotools-x11-nodri.patch')
+ # Backport Mesa MR#6053 to prevent multiply-defined symbols
+ patch('multiple-symbols_hash.patch', when='@:20.1.4%gcc@10:')
+
def autoreconf(self, spec, prefix):
which('autoreconf')('--force', '--verbose', '--install')
diff --git a/var/spack/repos/builtin/packages/meson/package.py b/var/spack/repos/builtin/packages/meson/package.py
index 8ff3ddf32e..6d879ce67c 100644
--- a/var/spack/repos/builtin/packages/meson/package.py
+++ b/var/spack/repos/builtin/packages/meson/package.py
@@ -16,6 +16,7 @@ class Meson(PythonPackage):
maintainers = ['michaelkuhn']
+ version('0.55.0', sha256='9034c943c8cf4d734c0e18e5ba038dd762fcdcc614c45b41703305da8382e90c')
version('0.54.3', sha256='c25caff342b5368bfe33fab6108f454fcf12e2f2cef70817205872ddef669e8b')
version('0.54.2', sha256='85cafdc70ae7d1d9d506e7356b917c649c4df2077bd6a0382db37648aa4ecbdb')
version('0.54.1', sha256='854e8b94ab36e5aece813d2b2aee8a639bd52201dfea50890722ac9128e2f59e')
diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py
index 3a4abab49b..1a90ef31b9 100644
--- a/var/spack/repos/builtin/packages/mfem/package.py
+++ b/var/spack/repos/builtin/packages/mfem/package.py
@@ -92,12 +92,6 @@ class Mfem(Package):
# Can we make the default value for 'metis' to depend on the 'mpi' value?
variant('metis', default=True,
description='Enable METIS support')
- # TODO: The 'hypre' variant is the same as 'mpi', we may want to remove it.
- # For now, keep the 'hypre' variant while ignoring its setting. This
- # is done to preserve compatibility with other packages that refer to
- # it, e.g. xSDK.
- variant('hypre', default=True,
- description='Required for MPI parallelism')
variant('openmp', default=False,
description='Enable OpenMP parallelism')
variant('cuda', default=False, description='Enable CUDA support')
diff --git a/var/spack/repos/builtin/packages/minio/package.py b/var/spack/repos/builtin/packages/minio/package.py
new file mode 100644
index 0000000000..4485f650e7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/minio/package.py
@@ -0,0 +1,29 @@
+# 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 Minio(MakefilePackage):
+ """MinIO is a High Performance Object Storage released under Apache
+ License v2.0. It is API compatible with Amazon S3 cloud storage
+ service. Use MinIO to build high performance infrastructure for
+ machine learning, analytics and application data workloads."""
+
+ homepage = "https://min.io/"
+ url = "https://github.com/minio/minio/archive/RELEASE.2020-07-13T18-09-56Z.tar.gz"
+
+ version('2020-07-13T18-09-56Z', sha256='147fca3930389162cc7306a0fa5cf478ee2deba4b31a9317f3d35e82aa58d41e')
+ version('2020-07-12T19-14-17Z', sha256='bb8ba5d93215ab37788171d8b9ce68e78d64e7b7c74aea508c15958158d85b03')
+ version('2020-07-02T00-15-09Z', sha256='4255c4d95a3e010f16a3f1e974768dc68509075403a97a9b9882f7d9e89fedc5')
+
+ depends_on('go', type='build')
+
+ def url_for_version(self, version):
+ return ("https://github.com/minio/minio/archive/RELEASE.{0}.tar.gz".format(version))
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install('minio', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mongodb-async-driver/package.py b/var/spack/repos/builtin/packages/mongodb-async-driver/package.py
new file mode 100644
index 0000000000..77449297f4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mongodb-async-driver/package.py
@@ -0,0 +1,24 @@
+# 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 MongodbAsyncDriver(Package):
+ """The MongoDB Asynchronous Java Driver."""
+
+ homepage = "http://www.allanbank.com/mongodb-async-driver/"
+ url = "https://github.com/allanbank/mongodb-async-driver/archive/rel_2.0.1.tar.gz"
+
+ version('2.0.1', sha256='87f22c16f3744a847eeb8276ed132bf235f025db0b7dee0d0f239d5cdcab720c')
+ version('2.0.0', sha256='8cffe4c960d42550be30c27d66f5de6df4edb5ee7a094c50519986dc5cbcf9b8')
+
+ depends_on('maven', type='build')
+ depends_on('java@8', type=('build', 'run'))
+
+ def install(self, spec, prefix):
+ mvn = which('mvn')
+ mvn('package', '-DskipTests')
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/mozjs/Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch b/var/spack/repos/builtin/packages/mozjs/Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch
new file mode 100644
index 0000000000..bbd62276e1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mozjs/Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch
@@ -0,0 +1,20 @@
+From: Mike Hommey <mh@glandium.org>
+Date: Fri, 18 Mar 2011 09:25:57 +0100
+Subject: Bug 638056 - Avoid "The cacheFlush support is missing on this
+ platform" error on exotic platforms
+
+---
+ js/src/Makefile.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+--- a/js/src/Makefile.in
++++ b/js/src/Makefile.in
+@@ -382,7 +382,7 @@ CPPSRCS += checks.cc \
+ # END enclude sources for V8 dtoa
+ #############################################
+
+-ifeq (,$(filter-out powerpc sparc,$(TARGET_CPU)))
++ifeq (,$(filter arm %86 x86_64,$(TARGET_CPU)))
+
+ VPATH += $(srcdir)/assembler \
+ $(srcdir)/assembler/wtf \
diff --git a/var/spack/repos/builtin/packages/mozjs/fix-811665.patch b/var/spack/repos/builtin/packages/mozjs/fix-811665.patch
new file mode 100644
index 0000000000..a3e06d8bb4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mozjs/fix-811665.patch
@@ -0,0 +1,153 @@
+Description: Fix FTBFS with gcc6
+ Most fixes are returning NULL instead of false and a narrowing issues.
+Author: Tobias Frost <tobi@debian.org>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811665
+Last-Update: 2016-09-25
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/js/src/ctypes/CTypes.cpp
++++ b/js/src/ctypes/CTypes.cpp
+@@ -4753,7 +4753,7 @@ NewFunctionInfo(JSContext* cx,
+ for (JSUint32 i = 0; i < argLength; ++i) {
+ bool isEllipsis;
+ if (!IsEllipsis(cx, argTypes[i], &isEllipsis))
+- return false;
++ return NULL;
+ if (isEllipsis) {
+ fninfo->mIsVariadic = true;
+ if (i < 1) {
+--- a/js/src/jsapi.cpp
++++ b/js/src/jsapi.cpp
+@@ -3985,7 +3985,7 @@ JS_Enumerate(JSContext *cx, JSObject *ob
+ AutoIdVector props(cx);
+ JSIdArray *ida;
+ if (!GetPropertyNames(cx, obj, JSITER_OWNONLY, &props) || !VectorToIdArray(cx, props, &ida))
+- return false;
++ return NULL;
+ for (size_t n = 0; n < size_t(ida->length); ++n)
+ JS_ASSERT(js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]);
+ return ida;
+--- a/js/src/jsfun.cpp
++++ b/js/src/jsfun.cpp
+@@ -2051,7 +2051,7 @@ fun_toStringHelper(JSContext *cx, JSObje
+
+ JSString *str = JS_DecompileFunction(cx, fun, indent);
+ if (!str)
+- return false;
++ return NULL;
+
+ if (!indent)
+ cx->compartment->toSourceCache.put(fun, str);
+@@ -2657,7 +2657,7 @@ LookupInterpretedFunctionPrototype(JSCon
+ const Shape *shape = funobj->nativeLookup(id);
+ if (!shape) {
+ if (!ResolveInterpretedFunctionPrototype(cx, funobj))
+- return false;
++ return NULL;
+ shape = funobj->nativeLookup(id);
+ }
+ JS_ASSERT(!shape->configurable());
+--- a/js/src/jsiter.cpp
++++ b/js/src/jsiter.cpp
+@@ -425,7 +425,7 @@ NewIteratorObject(JSContext *cx, uintN f
+ */
+ JSObject *obj = js_NewGCObject(cx, FINALIZE_OBJECT0);
+ if (!obj)
+- return false;
++ return NULL;
+ obj->init(cx, &js_IteratorClass, NULL, NULL, NULL, false);
+ obj->setMap(cx->compartment->emptyEnumeratorShape);
+ return obj;
+--- a/js/src/jsparse.cpp
++++ b/js/src/jsparse.cpp
+@@ -3352,7 +3352,7 @@ Parser::functionDef(JSAtom *funAtom, Fun
+ if (!outertc->inFunction() && bodyLevel && funAtom && !lambda && outertc->compiling()) {
+ JS_ASSERT(pn->pn_cookie.isFree());
+ if (!DefineGlobal(pn, outertc->asCodeGenerator(), funAtom))
+- return false;
++ return NULL;
+ }
+
+ pn->pn_blockid = outertc->blockid();
+--- a/js/src/jsstr.cpp
++++ b/js/src/jsstr.cpp
+@@ -1734,7 +1734,7 @@ class RegExpGuard
+ if (flat) {
+ patstr = flattenPattern(cx, fm.patstr);
+ if (!patstr)
+- return false;
++ return NULL;
+ } else {
+ patstr = fm.patstr;
+ }
+@@ -3408,7 +3408,7 @@ js_InitStringClass(JSContext *cx, JSObje
+ UndefinedValue(), NULL, NULL,
+ JSPROP_READONLY | JSPROP_PERMANENT | JSPROP_SHARED, 0, 0,
+ NULL)) {
+- return JS_FALSE;
++ return NULL;
+ }
+
+ return proto;
+--- a/js/src/jstypedarray.cpp
++++ b/js/src/jstypedarray.cpp
+@@ -1334,7 +1334,7 @@ class TypedArrayTemplate
+ if (size != 0 && count >= INT32_MAX / size) {
+ JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
+ JSMSG_NEED_DIET, "size and count");
+- return false;
++ return NULL;
+ }
+
+ int32 bytelen = size * count;
+@@ -1668,7 +1668,7 @@ TypedArrayConstruct(JSContext *cx, jsint
+
+ default:
+ JS_NOT_REACHED("shouldn't have gotten here");
+- return false;
++ return NULL;
+ }
+ }
+
+--- a/js/src/jsxml.cpp
++++ b/js/src/jsxml.cpp
+@@ -282,7 +282,7 @@ NewXMLNamespace(JSContext *cx, JSLinearS
+
+ obj = NewBuiltinClassInstanceXML(cx, &js_NamespaceClass);
+ if (!obj)
+- return JS_FALSE;
++ return NULL;
+ JS_ASSERT(JSVAL_IS_VOID(obj->getNamePrefixVal()));
+ JS_ASSERT(JSVAL_IS_VOID(obj->getNameURIVal()));
+ JS_ASSERT(JSVAL_IS_VOID(obj->getNamespaceDeclared()));
+@@ -431,7 +431,7 @@ ConvertQNameToString(JSContext *cx, JSOb
+ size_t length = str->length();
+ jschar *chars = (jschar *) cx->malloc((length + 2) * sizeof(jschar));
+ if (!chars)
+- return JS_FALSE;
++ return NULL;
+ *chars = '@';
+ const jschar *strChars = str->getChars(cx);
+ if (!strChars) {
+--- a/js/src/methodjit/InvokeHelpers.cpp
++++ b/js/src/methodjit/InvokeHelpers.cpp
+@@ -728,7 +728,7 @@ AtSafePoint(JSContext *cx)
+ {
+ JSStackFrame *fp = cx->fp();
+ if (fp->hasImacropc())
+- return false;
++ return NULL;
+
+ JSScript *script = fp->script();
+ return script->maybeNativeCodeForPC(fp->isConstructing(), cx->regs->pc);
+--- a/js/src/nanojit/NativeX64.cpp
++++ b/js/src/nanojit/NativeX64.cpp
+@@ -1899,7 +1899,7 @@ namespace nanojit
+ }
+ }
+
+- static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {0x8000000000000000LL,0};
++ static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {(int64_t) 0x8000000000000000ULL,0};
+
+ void Assembler::asm_fneg(LIns *ins) {
+ Register rr, ra;
diff --git a/var/spack/repos/builtin/packages/mozjs/package.py b/var/spack/repos/builtin/packages/mozjs/package.py
index 664ba0a08a..4ba1faaa6a 100644
--- a/var/spack/repos/builtin/packages/mozjs/package.py
+++ b/var/spack/repos/builtin/packages/mozjs/package.py
@@ -25,17 +25,24 @@ class Mozjs(AutotoolsPackage):
depends_on('python@2.7.3:2.8', type='build')
depends_on('nspr', when='@:27')
depends_on('libffi@3.0.9:')
- depends_on('readline')
+ depends_on('readline', when='@17.0.0:')
depends_on('zlib@1.2.3')
configure_directory = 'js/src'
build_directory = 'js/src/spack-build'
patch('perl-bug.patch')
+ # Note: According to https://github.com/apache/couchdb-pkg/tree/master/js/rpm/SOURCES
+ # There is some patch for mozjs@1.8.5 to fix compile issue.
+ # Patches required to fix the issue:https://bugzilla.mozilla.org/show_bug.cgi?id=638056
+ patch('Bug-638056-Avoid-The-cacheFlush-support-is-missing-o.patch',
+ sha256='b1c869a65f5ebc10741d4631cc2e1e166c6ed53035cfa56bede55a4c19b7b118', when='@1.8.5')
+ patch('fix-811665.patch',
+ sha256='2b298b8a693865b38e2b0d33277bb5ffe152c6ecf43648e85113fec586aa4752', when='@1.8.5')
def configure_args(self):
spec = self.spec
- return [
+ config_args = [
'--enable-readline', # enables readline support in JS shell
'--enable-threadsafe', # enables support for multiple threads
'--enable-system-ffi',
@@ -43,3 +50,8 @@ class Mozjs(AutotoolsPackage):
'--with-system-nspr',
'--with-nspr-prefix={0}'.format(spec['nspr'].prefix),
]
+ if spec.target.family == 'aarch64':
+ config_args.append('--host=aarch64-linux-gnu')
+ if spec.satisfies('@1.8.5'):
+ config_args.append('--disable-readline')
+ return config_args
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index a485124476..af24802b90 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -67,6 +67,8 @@ spack package at this time.''',
variant('libxml2', default=True,
description='Use libxml2 for XML support instead of the custom '
'minimalistic implementation')
+ variant('argobots', default=False,
+ description='Enable Argobots support')
provides('mpi')
provides('mpi@:3.0', when='@3:')
@@ -141,6 +143,9 @@ spack package at this time.''',
depends_on('pmix', when='pmi=pmix')
+ # +argobots variant requires Argobots
+ depends_on('argobots', when='+argobots')
+
# building from git requires regenerating autotools files
depends_on('automake@1.15:', when='@develop', type=("build"))
depends_on('libtool@2.4.4:', when='@develop', type=("build"))
@@ -182,7 +187,8 @@ spack package at this time.''',
# their run environments the code to make the compilers available.
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mpich"
- if self.spec.external_module and 'cray' in self.spec.external_module:
+ external_modules = self.spec.external_modules
+ if external_modules and 'cray' in external_modules[0]:
env.set('MPICC', spack_cc)
env.set('MPICXX', spack_cxx)
env.set('MPIF77', spack_fc)
@@ -205,7 +211,8 @@ spack package at this time.''',
def setup_dependent_package(self, module, dependent_spec):
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mpich"
- if self.spec.external_module and 'cray' in self.spec.external_module:
+ external_modules = self.spec.external_modules
+ if external_modules and 'cray' in external_modules[0]:
self.spec.mpicc = spack_cc
self.spec.mpicxx = spack_cxx
self.spec.mpifc = spack_fc
@@ -307,4 +314,9 @@ spack package at this time.''',
# for hydra, for hydra2, and for MPICH itself).
config_args += self.enable_or_disable('libxml2')
+ # If +argobots specified, add argobots option
+ if '+argobots' in spec:
+ config_args.append('--with-thread-package=argobots')
+ config_args.append('--with-argobots=' + spec['argobots'].prefix)
+
return config_args
diff --git a/var/spack/repos/builtin/packages/mpifileutils/package.py b/var/spack/repos/builtin/packages/mpifileutils/package.py
index 30fc982505..c0130e554d 100644
--- a/var/spack/repos/builtin/packages/mpifileutils/package.py
+++ b/var/spack/repos/builtin/packages/mpifileutils/package.py
@@ -21,9 +21,10 @@ class Mpifileutils(Package):
git = "https://github.com/hpc/mpifileutils.git"
version('develop', branch='master')
- version('0.10', sha256='5a71a9acd9841c3c258fc0eaea942f18abcb40098714cc90462b57696c07e3c5')
- version('0.9.1', sha256='15a22450f86b15e7dc4730950b880fda3ef6f59ac82af0b268674d272aa61c69')
- version('0.9', sha256='1b8250af01aae91c985ca5d61521bfaa4564e46efa15cee65cd0f82cf5a2bcfb')
+ version('0.10.1', sha256='4c8409ef4140f6f557d0e93f0c1267baf5d893c203b29fb7a33d9bc3c5a5d25c')
+ version('0.10', sha256='5a71a9acd9841c3c258fc0eaea942f18abcb40098714cc90462b57696c07e3c5')
+ version('0.9.1', sha256='15a22450f86b15e7dc4730950b880fda3ef6f59ac82af0b268674d272aa61c69')
+ version('0.9', sha256='1b8250af01aae91c985ca5d61521bfaa4564e46efa15cee65cd0f82cf5a2bcfb')
conflicts('platform=darwin')
diff --git a/var/spack/repos/builtin/packages/mumax/package.py b/var/spack/repos/builtin/packages/mumax/package.py
new file mode 100644
index 0000000000..ac9183c45e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mumax/package.py
@@ -0,0 +1,62 @@
+# 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 *
+import os
+import shutil
+
+
+class Mumax(MakefilePackage, CudaPackage):
+ """GPU accelerated micromagnetic simulator."""
+
+ homepage = "http://mumax.github.io"
+ url = "https://github.com/mumax/3/archive/3.10beta.tar.gz"
+
+ version('3.10beta', sha256='f20fbd90a4b531fe5a0d8acc3d4505a092a5e426f5f53218a22a87d445daf0e9')
+
+ variant('cuda', default=True,
+ description='Use CUDA; must be true')
+ variant('cuda_arch', 'N/A',
+ description='Mumax will build GPU kernels that it supports')
+ variant('gnuplot', default=False,
+ description='Use gnuplot for graphs')
+
+ depends_on('cuda')
+ depends_on('go', type='build')
+ depends_on('gnuplot', type='run', when='+gnuplot')
+
+ conflicts('~cuda', msg='mumax requires cuda')
+
+ patch('https://github.com/mumax/3/commit/2cf5c9a6985c9eb16a124c6bd96aed75b4a30c24.patch',
+ sha256='a43b2ca6c9f9edfb1fd6d916a599f85a57c8bb3f9ee38148b1988fd82feec8ad')
+
+ @property
+ def gopath(self):
+ return self.stage.path
+
+ @property
+ def mumax_gopath_dir(self):
+ return join_path(self.gopath, 'src/github.com/mumax/3')
+
+ def do_stage(self, mirror_only=False):
+ super(Mumax, self).do_stage(mirror_only)
+ if not os.path.exists(self.mumax_gopath_dir):
+ # Need to move source to $GOPATH and then symlink the original
+ # stage directory
+ shutil.move(self.stage.source_path, self.mumax_gopath_dir)
+ force_symlink(self.mumax_gopath_dir, self.stage.source_path)
+
+ # filter out targets that do not exist
+ def edit(self, spec, prefix):
+ filter_file(r'(^ln -sf .*)', r'#\1', 'make.bash')
+ filter_file(r'(^\(cd test)', r'#\1', 'make.bash')
+
+ def setup_build_environment(self, env):
+ env.prepend_path('GOPATH', self.gopath)
+
+ def install(self, spec, prefix):
+ make()
+ with working_dir(self.gopath):
+ install_tree('bin', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index 0e0ab26a22..0f25cb7111 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -8,11 +8,16 @@ import sys
class Mvapich2(AutotoolsPackage):
- """MVAPICH2 is an MPI implementation for Infiniband networks."""
+ """Mvapich2 is a High-Performance MPI Library for clusters with diverse
+ networks (InfiniBand, Omni-Path, Ethernet/iWARP, and RoCE) and computing
+ platforms (x86 (Intel and AMD), ARM and OpenPOWER)"""
+
homepage = "http://mvapich.cse.ohio-state.edu/"
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.4.tar.gz"
list_url = "http://mvapich.cse.ohio-state.edu/downloads/"
+ maintainers = ['nithintsk', 'harisubramoni']
+
# Prefer the latest stable release
version('2.3.4', sha256='7226a45c7c98333c8e5d2888119cce186199b430c13b7b1dca1769909e68ea7a')
version('2.3.3', sha256='41d3261be57e5bc8aabf4e32981543c015c5443ff032a26f18205985e18c2b73')
@@ -235,7 +240,8 @@ class Mvapich2(AutotoolsPackage):
def setup_compiler_environment(self, env):
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mvapich"
- if self.spec.external_module and 'cray' in self.spec.external_module:
+ external_modules = self.spec.external_modules
+ if external_modules and 'cray' in external_modules[0]:
env.set('MPICC', spack_cc)
env.set('MPICXX', spack_cxx)
env.set('MPIF77', spack_fc)
@@ -249,7 +255,8 @@ class Mvapich2(AutotoolsPackage):
def setup_dependent_package(self, module, dependent_spec):
# For Cray MPIs, the regular compiler wrappers *are* the MPI wrappers.
# Cray MPIs always have cray in the module name, e.g. "cray-mvapich"
- if self.spec.external_module and 'cray' in self.spec.external_module:
+ external_modules = self.spec.external_modules
+ if external_modules and 'cray' in external_modules[0]:
self.spec.mpicc = spack_cc
self.spec.mpicxx = spack_cxx
self.spec.mpifc = spack_fc
diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py
index ae191f9c08..c484350570 100644
--- a/var/spack/repos/builtin/packages/nag/package.py
+++ b/var/spack/repos/builtin/packages/nag/package.py
@@ -12,7 +12,7 @@ class Nag(Package):
homepage = "http://www.nag.com/nagware/np.asp"
maintainers = ['ThemosTsikas']
- version('7.0', sha256='bd53c988efe4bfd476a5f556ebd2b8924dc2a039f485e8e017581bca4e12ba01')
+ version('7.0', sha256='ef65805004255881a4ed27fe7bdb5b05dbbe5fde5bad287f71258fce1f02be77')
version('6.2', sha256='9b60f6ffa4f4be631079676963e74eea25e8824512e5c864eb06758b2a3cdd2d')
version('6.1', sha256='32580e0004e6798abf1fa52f0070281b28abeb0da2387530a4cc41218e813c7c')
diff --git a/var/spack/repos/builtin/packages/namd/package.py b/var/spack/repos/builtin/packages/namd/package.py
index a85dd7fd42..e14e92347e 100644
--- a/var/spack/repos/builtin/packages/namd/package.py
+++ b/var/spack/repos/builtin/packages/namd/package.py
@@ -19,8 +19,9 @@ class Namd(MakefilePackage):
manual_download = True
version("develop", branch="master")
+ version('2.14b2', sha256='cb4bd918d2d545bb618e4b4a20023a53916f0aa362d9e57f3de1562c36240b00')
version('2.14b1', sha256='9407e54f5271b3d3039a5a9d2eae63c7e108ce31b7481e2197c19e1125b43919')
- version('2.13', '9e3323ed856e36e34d5c17a7b0341e38')
+ version('2.13', '9e3323ed856e36e34d5c17a7b0341e38', preferred=True)
version('2.12', '2a1191909b1ab03bf0205971ad4d8ee9')
variant('fftw', default='3', values=('none', '2', '3', 'mkl'),
diff --git a/var/spack/repos/builtin/packages/nccl/package.py b/var/spack/repos/builtin/packages/nccl/package.py
index d1f4de962d..f805f55b1c 100644
--- a/var/spack/repos/builtin/packages/nccl/package.py
+++ b/var/spack/repos/builtin/packages/nccl/package.py
@@ -14,6 +14,9 @@ class Nccl(MakefilePackage, CudaPackage):
maintainers = ['adamjstewart']
+ version('2.7.8-1', sha256='fa2bec307270f30fcf6280a85f24ea8801e0ce3b3027937c7325260a890b07e0')
+ version('2.7.6-1', sha256='60dd9b1743c2db6c05f60959edf98a4477f218115ef910d7ec2662f2fb5cf626')
+ version('2.7.5-1', sha256='26a8dec6fa0a776eb71205d618d58e26d372621719788a23b33db6fdce4426bf')
version('2.7.3-1', sha256='dc7b8794373306e323363314c3327796e416f745e8003490fc1407a22dd7acd6')
version('2.6.4-1', sha256='ed8c9dfd40e013003923ae006787b1a30d3cb363b47d2e4307eaa2624ebba2ba')
version('2.5.7-1', sha256='781a6bb2278566be4abbdf22b2fa19afc7306cff4b312c82bd782979b368014e')
diff --git a/var/spack/repos/builtin/packages/ncl/package.py b/var/spack/repos/builtin/packages/ncl/package.py
index 4d9980ecc5..046dd9b3a8 100644
--- a/var/spack/repos/builtin/packages/ncl/package.py
+++ b/var/spack/repos/builtin/packages/ncl/package.py
@@ -144,7 +144,9 @@ class Ncl(Package):
c2f_flags.extend(['-lgfortran', '-lm'])
elif self.compiler.name == 'intel':
fc_flags.append('-fp-model precise')
- cc_flags.append('-fp-model precise')
+ cc_flags.append('-fp-model precise'
+ ' -std=c99'
+ ' -D_POSIX_C_SOURCE=2 -D_GNU_SOURCE')
c2f_flags.extend(['-lifcore', '-lifport'])
if self.spec.satisfies('%gcc@10:'):
diff --git a/var/spack/repos/builtin/packages/nco/package.py b/var/spack/repos/builtin/packages/nco/package.py
index 859dac6ab7..cd30f8742a 100644
--- a/var/spack/repos/builtin/packages/nco/package.py
+++ b/var/spack/repos/builtin/packages/nco/package.py
@@ -13,6 +13,12 @@ class Nco(AutotoolsPackage):
homepage = "http://nco.sourceforge.net/"
url = "https://github.com/nco/nco/archive/4.6.7.tar.gz"
+ version('4.9.3', sha256='eade5b79f3814b11ae3f52c34159567e76a73f05f0ab141eccaac68f0ca94aee')
+ version('4.9.2', sha256='1a98c37c946c00232fa7319d00d1d80f77603adda7c9239d10d68a8a3545a4d5')
+ version('4.9.1', sha256='9592efaf0dfd6ccdefd0b417d990cfccae7e89c20d90fb44ead6263009778834')
+ version('4.9.0', sha256='21dd53f427793cbc52d1c007e9b7339c83f6944a937a1acfbbe733e49b65378b')
+ version('4.8.1', sha256='ddae3fed46c266798ed1176d6a70b36376d2d320fa933c716a623172d1e13c68')
+ version('4.8.0', sha256='91f95ebfc9baa888adaec3016ca18a6297e2881b1429d74543a27fdfbe15fcab')
version('4.7.9', sha256='048f6298bceb40913c3ae433f875dea1e9129b1c86019128e7271d08f274a879')
version('4.6.7', sha256='2fe2dabf14a60bface694307cbe719df57103682b715348e9d77bfe8d31487f3')
version('4.6.6', sha256='079d83f800b73d9b12b8de1634a88c2cbe40a639aaf7bc056cd2e836c6047697')
diff --git a/var/spack/repos/builtin/packages/ncview/package.py b/var/spack/repos/builtin/packages/ncview/package.py
index f142a435f2..3eb944ce9c 100644
--- a/var/spack/repos/builtin/packages/ncview/package.py
+++ b/var/spack/repos/builtin/packages/ncview/package.py
@@ -11,6 +11,7 @@ class Ncview(AutotoolsPackage):
homepage = "http://meteora.ucsd.edu/~pierce/ncview_home_page.html"
url = "ftp://cirrus.ucsd.edu/pub/ncview/ncview-2.1.7.tar.gz"
+ version('2.1.8', sha256='e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be')
version('2.1.7', sha256='a14c2dddac0fc78dad9e4e7e35e2119562589738f4ded55ff6e0eca04d682c82')
depends_on('netcdf-c')
diff --git a/var/spack/repos/builtin/packages/netlib-scalapack/gcc10-compatibility.patch b/var/spack/repos/builtin/packages/netlib-scalapack/gcc10-compatibility.patch
new file mode 100644
index 0000000000..d852742d12
--- /dev/null
+++ b/var/spack/repos/builtin/packages/netlib-scalapack/gcc10-compatibility.patch
@@ -0,0 +1,33 @@
+From 6dff04cc6f5ad2c35e76dec18b7eec86943a3ed1 Mon Sep 17 00:00:00 2001
+From: DesWurstes <DesWurstes@users.noreply.github.com>
+Date: Fri, 15 May 2020 15:54:14 +0100
+Subject: [PATCH] Set -fallow-argument-mismatch
+
+---
+ CMakeLists.txt | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 638dbdc..93fc34b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -14,6 +14,9 @@ if (UNIX)
+ if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Intel")
+ set( CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fltconsistency -fp_port" )
+ endif ()
++ if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10)
++ set( CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch" )
++ endif()
+ endif ()
+
+ #
+@@ -79,6 +82,9 @@ if (UNIX)
+ if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Intel")
+ set( CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fltconsistency -fp_port" )
+ endif ()
++ if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10)
++ set( CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch" )
++ endif()
+ endif ()
+
+ macro(SCALAPACK_install_library lib)
diff --git a/var/spack/repos/builtin/packages/netlib-scalapack/package.py b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
index 26fe53190a..64381c5b28 100644
--- a/var/spack/repos/builtin/packages/netlib-scalapack/package.py
+++ b/var/spack/repos/builtin/packages/netlib-scalapack/package.py
@@ -46,6 +46,8 @@ class NetlibScalapack(CMakePackage):
patch("mpi2-compatibility.patch", when='@2.0.2:2.0.99')
# See: https://github.com/Reference-ScaLAPACK/scalapack/pull/16
patch("int_overflow.patch", when='@2.0.0:2.1.0')
+ # See: https://github.com/Reference-ScaLAPACK/scalapack/pull/23
+ patch("gcc10-compatibility.patch", when='@2.0.0:2.1.0')
@property
def libs(self):
diff --git a/var/spack/repos/builtin/packages/neuron/package.py b/var/spack/repos/builtin/packages/neuron/package.py
index 8f3371a159..a3c6cbec05 100644
--- a/var/spack/repos/builtin/packages/neuron/package.py
+++ b/var/spack/repos/builtin/packages/neuron/package.py
@@ -81,11 +81,6 @@ class Neuron(Package):
'--without-memacs',
'--without-nmodl'])
- # need to enable bg-q arch
- if 'bgq' in self.spec.architecture:
- options.extend(['--enable-bluegeneQ',
- '--host=powerpc64'])
-
# on os-x disable building carbon 'click' utility
if 'darwin' in self.spec.architecture:
options.append('macdarwin=no')
@@ -119,9 +114,6 @@ class Neuron(Package):
def get_compiler_options(self, spec):
flags = '-O2 -g'
- if 'bgq' in self.spec.architecture:
- flags = '-O3 -qtune=qp -qarch=qp -q64 -qstrict -qnohot -g'
-
if self.spec.satisfies('%pgi'):
flags += ' ' + self.compiler.cc_pic_flag
@@ -134,11 +126,6 @@ class Neuron(Package):
'--with-nmodl-only',
'--without-x']
- if 'bgq' in self.spec.architecture:
- flags = '-qarch=ppc64'
- options.extend(['CFLAGS=%s' % flags,
- 'CXXFLAGS=%s' % flags])
-
if 'cray' in self.spec.architecture:
flags = '-target-cpu=x86_64 -target-network=none'
options.extend(['CFLAGS=%s' % flags,
diff --git a/var/spack/repos/builtin/packages/nlcglib/package.py b/var/spack/repos/builtin/packages/nlcglib/package.py
new file mode 100644
index 0000000000..af001a6bd6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nlcglib/package.py
@@ -0,0 +1,64 @@
+# 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 Nlcglib(CMakePackage, CudaPackage):
+ """Nonlinear CG methods for wave-function optimization in DFT."""
+
+ homepage = "https://github.com/simonpintarelli/nlcglib"
+ git = "https://github.com/simonpintarelli/nlcglib.git"
+ url = "https://github.com/simonpintarelli/nlcglib/archive/v0.9.tar.gz"
+
+ maintainers = ['simonpintarelli']
+
+ version('master', branch='master')
+ version('develop', branch='develop')
+
+ version('0.9', sha256='8d5bc6b85ee714fb3d6480f767e7f43e5e7d569116cf60e48f533a7f50a37a08')
+
+ variant('wrapper', default=False,
+ description='Use nvcc-wrapper for CUDA build')
+ variant('openmp', default=False)
+ variant('build_type', default='Release',
+ description='CMake build type',
+ values=('Debug', 'Release', 'RelWithDebInfo'))
+
+ depends_on('lapack')
+ depends_on('kokkos +cuda~cuda_relocatable_device_code+cuda_lambda')
+ depends_on('kokkos-nvcc-wrapper', when='+wrapper')
+ depends_on('kokkos +cuda~cuda_relocatable_device_code+cuda_lambda+wrapper', when='+wrapper')
+ depends_on("cmake@3.15:", type='build')
+ depends_on('kokkos+cuda~cuda_relocatable_device_code+cuda_lambda+openmp+wrapper', when='+openmp+wrapper')
+
+ def cmake_args(self):
+ options = []
+
+ if '+openmp' in self.spec:
+ options.append('-DUSE_OPENMP=On')
+ else:
+ options.append('-DUSE_OPENMP=Off')
+ if self.spec['blas'].name in ['intel-mkl', 'intel-parallel-studio']:
+ options.append('-DLAPACK_VENDOR=MKL')
+ elif self.spec['blas'].name in ['openblas']:
+ options.append('-DLAPACK_VENDOR=OpenBLAS')
+ else:
+ raise Exception('blas/lapack must be either openblas or mkl.')
+
+ options.append('-DBUILD_TESTS=OFF')
+
+ if '+wrapper' in self.spec:
+ options.append('-DCMAKE_CXX_COMPILER=%s' %
+ self.spec['kokkos-nvcc-wrapper'].kokkos_cxx)
+
+ if '+cuda' in self.spec:
+ cuda_arch = self.spec.variants['cuda_arch'].value
+ if cuda_arch[0] != 'none':
+ options += [
+ '-DCMAKE_CUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0])
+ ]
+
+ return options
diff --git a/var/spack/repos/builtin/packages/nn-c/package.py b/var/spack/repos/builtin/packages/nn-c/package.py
new file mode 100644
index 0000000000..20fa95054d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nn-c/package.py
@@ -0,0 +1,33 @@
+# 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 NnC(AutotoolsPackage):
+ """nn: Natural Neighbours interpolation. nn is a C code
+ for Natural Neighbours interpolation of 2D scattered data.
+ It provides a C library and a command line utility nnbathy."""
+
+ homepage = "https://github.com/sakov/nn-c"
+ git = "https://github.com/sakov/nn-c.git"
+
+ version('master', branch='master')
+ version('1.86.2', commit='343c7784d38d3270d75d450569fc0b64767c37e9')
+
+ variant('pic', default=True,
+ description='Produce position-independent code (for shared libs)')
+
+ configure_directory = 'nn'
+
+ def configure_args(self):
+ args = []
+ if '+pic' in self.spec:
+ args.extend([
+ 'CFLAGS={0}'.format(self.compiler.pic_flag),
+ 'CXXFLAGS={0}'.format(self.compiler.pic_flag),
+ 'FFLAGS={0}'.format(self.compiler.pic_flag)
+ ])
+ return args
diff --git a/var/spack/repos/builtin/packages/node-js/package.py b/var/spack/repos/builtin/packages/node-js/package.py
index 0089ec6dac..ff1ee2e1f8 100644
--- a/var/spack/repos/builtin/packages/node-js/package.py
+++ b/var/spack/repos/builtin/packages/node-js/package.py
@@ -26,6 +26,7 @@ class NodeJs(Package):
version('12.14.0', sha256='5c1939867228f3845c808ef84a89c8ee93cc35f857bf7587ecee1b5a6d9da67b')
version('11.1.0', sha256='3f53b5ac25b2d36ad538267083c0e603d9236867a936c22a9116d95fa10c60d5')
version('10.13.0', sha256='aa06825fff375ece7c0d881ae0de5d402a857e8cabff9b4a50f2f0b7b44906be')
+ version('8.11.4', sha256='459144e361d64ca7362c37cc9717c044ef909d348cb5aa3f2b62538560a6085a')
version('8.9.1', sha256='32491b7fcc4696b2cdead45c47e52ad16bbed8f78885d32e873952fee0f971e1')
version('7.1.0', sha256='595e7e2a37d1e0573044a90077bb12c0f750e5d8851899ffa74038238da9a983')
version('6.3.0', sha256='4ed7a99985f8afee337cc22d5fef61b495ab4238dfff3750ac9019e87fc6aae6')
@@ -105,7 +106,10 @@ class NodeJs(Package):
return args
def configure(self, spec, prefix):
- python('configure.py', *self.configure_args())
+ if self.version >= Version('10.11.0'):
+ python('configure.py', *self.configure_args())
+ else:
+ python('configure', *self.configure_args())
def build(self, spec, prefix):
make()
diff --git a/var/spack/repos/builtin/packages/nwchem/package.py b/var/spack/repos/builtin/packages/nwchem/package.py
index afc1451c0d..5bcc98cb19 100644
--- a/var/spack/repos/builtin/packages/nwchem/package.py
+++ b/var/spack/repos/builtin/packages/nwchem/package.py
@@ -11,22 +11,23 @@ import os
class Nwchem(Package):
"""High-performance computational chemistry software"""
- homepage = "http://www.nwchem-sw.org"
- url = "http://www.nwchem-sw.org/images/Nwchem-6.6.revision27746-src.2015-10-20.tar.gz"
+ homepage = "http://nwchemgit.github.io"
+ url = "https://github.com/nwchemgit/nwchem/releases/download/v7.0.0-release/nwchem-7.0.0-release.revision-2c9a1c7c-srconly.2020-02-26.tar.bz2"
tags = ['ecp', 'ecp-apps']
+ version('7.0.0', sha256='e3c6510627345be596f4079047e5e7b59e6c20599798ecfe122e3527f8ad6eb0',
+ url='https://github.com/nwchemgit/nwchem/releases/download/v7.0.0-release/nwchem-7.0.0-release.revision-2c9a1c7c-srconly.2020-02-26.tar.bz2')
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')
- version('6.8', sha256='8401d9f4cce2f653a38639df61260b06be580ff0e1b8d77ed3262da159b372a6',
- url='https://github.com/nwchemgit/nwchem/archive/v6.8-release.tar.gz')
depends_on('blas')
depends_on('lapack')
depends_on('mpi')
depends_on('scalapack')
-
- depends_on('python@2.7:2.8', type=('build', 'link', 'run'))
+ 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')
# first hash is sha256 of the patch (required for URL patches),
# second is sha256 for the archive.
@@ -72,18 +73,20 @@ class Nwchem(Package):
'CC=%s' % os.path.basename(spack_cc),
'FC=%s' % os.path.basename(spack_fc),
'USE_MPI=y',
- 'MPI_LOC=%s' % spec['mpi'].prefix,
- 'USE_PYTHONCONFIG=y',
'PYTHONVERSION=%s' % spec['python'].version.up_to(2),
- 'PYTHONHOME=%s' % spec['python'].home,
'BLASOPT=%s' % ((lapack + blas).ld_flags),
'BLAS_LIB=%s' % blas.ld_flags,
'LAPACK_LIB=%s' % lapack.ld_flags,
- 'USE_SCALAPACK=y',
- 'SCALAPACK=%s' % scalapack.ld_flags,
+ 'SCALAPACK_LIB=%s' % scalapack.ld_flags,
'NWCHEM_MODULES=all python',
'NWCHEM_LONG_PATHS=Y' # by default NWCHEM_TOP is 64 char max
])
+ if spec.version < Version('7.0.0'):
+ args.extend([
+ 'PYTHONVERSION=%s' % spec['python'].version.up_to(2),
+ 'PYTHONHOME=%s' % spec['python'].home,
+ 'USE_PYTHONCONFIG=Y',
+ ])
# TODO: query if blas/lapack/scalapack uses 64bit Ints
# A flag to distinguish between 32bit and 64bit integers in linear
@@ -155,3 +158,11 @@ class Nwchem(Package):
with open(".nwchemrc", 'w') as f:
f.write(nwchemrc)
install(".nwchemrc", share_path)
+
+ def setup_run_environment(self, env):
+ env.set('NWCHEM_BASIS_LIBRARY', join_path(
+ self.prefix,
+ 'share/nwchem/libraries/'))
+ env.set('NWCHEM_NWPW_LIBRARY', join_path(
+ self.prefix,
+ 'share/nwchem/libraryps/'))
diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py
index bed1c1a256..b4cac8fbd5 100644
--- a/var/spack/repos/builtin/packages/octopus/package.py
+++ b/var/spack/repos/builtin/packages/octopus/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
+import llnl.util.tty as tty
class Octopus(Package):
@@ -13,6 +14,7 @@ class Octopus(Package):
homepage = "https://octopus-code.org/"
url = "http://octopus-code.org/down.php?file=6.0/octopus-6.0.tar.gz"
+ version('10.0', sha256='ccf62200e3f37911bfff6d127ebe74220996e9c09383a10b1420c81d931dcf23')
version('7.3', sha256='ad843d49d4beeed63e8b9a2ca6bfb2f4c5a421f13a4f66dc7b02f6d6a5c4d742')
version('6.0', sha256='4a802ee86c1e06846aa7fa317bd2216c6170871632c9e03d020d7970a08a8198')
version('5.0.1', sha256='3423049729e03f25512b1b315d9d62691cd0a6bd2722c7373a61d51bfbee14e0')
@@ -31,9 +33,13 @@ class Octopus(Package):
depends_on('blas')
depends_on('gsl@1.9:')
depends_on('lapack')
- depends_on('libxc')
+ depends_on('libxc@2:2.99', when='@:5.99')
+ depends_on('libxc@2:3.99', when='@6:7.99')
+ depends_on('libxc@2:4.99', when='@8:9.99')
+ depends_on('libxc@3:5.0.0', when='@10.0')
depends_on('mpi')
- depends_on('fftw@3:+mpi+openmp')
+ depends_on('fftw@3:+mpi+openmp', when='@:9.99')
+ depends_on('fftw-api@3:', when='@10.0:')
depends_on('metis@5:', when='+metis')
depends_on('parmetis', when='+parmetis')
depends_on('scalapack', when='+scalapack')
@@ -57,8 +63,25 @@ class Octopus(Package):
'CC=%s' % spec['mpi'].mpicc,
'FC=%s' % spec['mpi'].mpifc,
'--enable-mpi',
- '--with-fftw-prefix==%s' % spec['fftw'].prefix,
])
+ if '^fftw' in spec:
+ args.extend([
+ '--with-fftw-prefix=%s' % spec['fftw'].prefix,
+ ])
+ elif '^mkl' in spec:
+ # As of version 10.0, Octopus depends on fftw-api instead
+ # of FFTW. If FFTW is not in the dependency tree, then
+ # it ought to be MKL as it is currently the only providers
+ # available for fftw-api.
+ args.extend([
+ 'FCFLAGS_FFTW=-I%s' % spec['mkl'].prefix.include.fftw
+ ])
+ else:
+ # To be foolproof, fail with a proper error message
+ # if neither FFTW nor MKL are in the dependency tree.
+ tty.die('Unsupported "fftw-api" provider, '
+ 'currently only FFTW and MKL are supported.\n'
+ "Please report this issue on Spack's repository.")
if '+metis' in spec:
args.extend([
'--with-metis-prefix=%s' % spec['metis'].prefix,
diff --git a/var/spack/repos/builtin/packages/onednn/package.py b/var/spack/repos/builtin/packages/onednn/package.py
index 82d22296f9..2805399256 100644
--- a/var/spack/repos/builtin/packages/onednn/package.py
+++ b/var/spack/repos/builtin/packages/onednn/package.py
@@ -12,10 +12,13 @@ class Onednn(CMakePackage):
Formerly known as Intel MKL-DNN and DNNL."""
homepage = "https://01.org/dnnl"
- url = "https://github.com/oneapi-src/oneDNN/archive/v1.5.tar.gz"
+ url = "https://github.com/oneapi-src/oneDNN/archive/v1.6.1.tar.gz"
maintainers = ['adamjstewart']
+ version('1.6.1', sha256='6686d01d9493905c9c8bcfabcf5b2cc9ced7de7a41c52bba99e569fd5b63464d')
+ version('1.6', sha256='f54893e487ccd99586725afdd19f526bb84e3251222586850782e3c7eedb7c4f')
+ version('1.5.1', sha256='aef4d2a726f76f5b98902491a1a4ac69954039aa8e5a1d67ef6ce58ed00e23a6')
version('1.5', sha256='2aacc00129418185e0bc1269d3ef82f93f08de2c336932989c0c360279129edb')
version('1.4', sha256='54737bcb4dc1961d32ee75da3ecc529fa48198f8b2ca863a079e19a9c4adb70f')
version('1.3', sha256='b87c23b40a93ef5e479c81028db71c4847225b1a170f82af5e79f1cda826d3bf')
diff --git a/var/spack/repos/builtin/packages/open-iscsi/package.py b/var/spack/repos/builtin/packages/open-iscsi/package.py
index 73b792340f..0261105867 100644
--- a/var/spack/repos/builtin/packages/open-iscsi/package.py
+++ b/var/spack/repos/builtin/packages/open-iscsi/package.py
@@ -28,5 +28,9 @@ class OpenIscsi(MakefilePackage):
def setup_build_environment(self, env):
env.set('CFLAGS', '-DNO_SYSTEMD')
+ def setup_run_environment(self, env):
+ env.prepend_path('PATH', self.prefix.sbin)
+ env.prepend_path('LD_LIBRARY_PATH', self.prefix.usr.lib64)
+
def install(self, spec, prefix):
make('install', 'DESTDIR={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/openblas/openblas_fujitsu2.patch b/var/spack/repos/builtin/packages/openblas/openblas_fujitsu2.patch
new file mode 100644
index 0000000000..bfda30cced
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openblas/openblas_fujitsu2.patch
@@ -0,0 +1,13 @@
+--- OpenBLAS-0.3.10/f_check 2020-07-04 00:02:19.000000000 +0900
++++ OpenBLAS-0.3.10/f_check_fix 2020-07-04 00:00:52.000000000 +0900
+@@ -337,8 +337,8 @@
+ && ($flags !~ /kernel32/)
+ && ($flags !~ /advapi32/)
+ && ($flags !~ /shell32/)
+- && ($flags !~ /omp/ || ($vendor !~ /PGI/ && $flags =~ /omp/))
+- && ($flags !~ /[0-9]+/)
++ && ($flags !~ /omp/ || ($vendor !~ /PGI/ && $vendor !~ /FUJITSU/ && $flags =~ /omp/))
++ && ($flags !~ /[0-9]+/ || ($vendor == FUJITSU && $flags =~ /^-lfj90/))
+ && ($flags !~ /^\-l$/)
+ ) {
+ $linker_l .= $flags . " ";
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py
index 61a530b37f..ad0a6c82f8 100644
--- a/var/spack/repos/builtin/packages/openblas/package.py
+++ b/var/spack/repos/builtin/packages/openblas/package.py
@@ -99,6 +99,7 @@ class Openblas(MakefilePackage):
# Add conditions to f_check to determine the Fujitsu compiler
patch('openblas_fujitsu.patch', when='%fj')
+ patch('openblas_fujitsu2.patch', when='@0.3.10 %fj')
# See https://github.com/spack/spack/issues/3036
conflicts('%intel@16', when='@0.2.15:0.2.19')
diff --git a/var/spack/repos/builtin/packages/opencascade/package.py b/var/spack/repos/builtin/packages/opencascade/package.py
index 8267716e78..7df9668f01 100644
--- a/var/spack/repos/builtin/packages/opencascade/package.py
+++ b/var/spack/repos/builtin/packages/opencascade/package.py
@@ -16,6 +16,8 @@ class Opencascade(CMakePackage):
homepage = "https://www.opencascade.com"
url = "http://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_4_0;sf=tgz"
+ version('7.4.0p1', extension='tar.gz',
+ sha256='e00fedc221560fda31653c23a8f3d0eda78095c87519f338d4f4088e2ee9a9c0')
version('7.4.0', extension='tar.gz',
sha256='655da7717dac3460a22a6a7ee68860c1da56da2fec9c380d8ac0ac0349d67676')
@@ -32,6 +34,14 @@ class Opencascade(CMakePackage):
depends_on('vtk', when='+vtk')
depends_on('freeimage', when='+freeimage')
depends_on('rapidjson', when='+rapidjson')
+ depends_on('freetype')
+ depends_on('tcl')
+ depends_on('tk')
+ depends_on('gl')
+
+ def url_for_version(self, version):
+ url = "http://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V{0};sf=tgz"
+ return url.format(version.underscored)
def cmake_args(self):
args = []
diff --git a/var/spack/repos/builtin/packages/openfoam-org/package.py b/var/spack/repos/builtin/packages/openfoam-org/package.py
index dc9b5673ee..e2859dc838 100644
--- a/var/spack/repos/builtin/packages/openfoam-org/package.py
+++ b/var/spack/repos/builtin/packages/openfoam-org/package.py
@@ -332,15 +332,17 @@ class OpenfoamOrg(Package):
# Having wmake and ~source is actually somewhat pointless...
# Install 'etc' before 'bin' (for symlinks)
- dirs = ['etc', 'bin', 'wmake']
+ # META-INFO for 1812 and later (or backported)
+ dirs = ['META-INFO', 'etc', 'bin', 'wmake']
if '+source' in spec:
dirs.extend(['applications', 'src', 'tutorials'])
for d in dirs:
- install_tree(
- d,
- join_path(self.projectdir, d),
- symlinks=True)
+ if os.path.isdir(d):
+ install_tree(
+ d,
+ join_path(self.projectdir, d),
+ symlinks=True)
dirs = ['platforms']
if '+source' in spec:
diff --git a/var/spack/repos/builtin/packages/openfoam/package.py b/var/spack/repos/builtin/packages/openfoam/package.py
index 275af6045f..1d04ecd02e 100644
--- a/var/spack/repos/builtin/packages/openfoam/package.py
+++ b/var/spack/repos/builtin/packages/openfoam/package.py
@@ -214,11 +214,12 @@ def mplib_content(spec, pre=None):
"""The mpi settings (from spack) for the OpenFOAM wmake includes, which
allows later reuse within OpenFOAM.
- Optional parameter 'pre' to provide alternative prefix
+ Optional parameter 'pre' to provide alternative prefix for
+ bin and lib directories.
"""
mpi_spec = spec['mpi']
bin = mpi_spec.prefix.bin
- inc = mpi_spec.prefix.include
+ inc = mpi_spec.headers.directories[0] # Currently only need first one
lib = pkglib(mpi_spec)
libname = 'mpi'
@@ -283,6 +284,8 @@ class Openfoam(Package):
variant('float32', default=False,
description='Use single-precision')
+ variant('spdp', default=False,
+ description='Use single/double mixed precision')
variant('int64', default=False,
description='With 64-bit labels')
variant('knl', default=False,
@@ -317,6 +320,7 @@ class Openfoam(Package):
# introduced by the restriction within scotch!
depends_on('flex@:2.6.1,2.6.4:')
depends_on('cmake', type='build')
+ depends_on('m4', type='build')
# Require scotch with ptscotch - corresponds to standard OpenFOAM setup
depends_on('scotch~metis+mpi~int64', when='+scotch~int64')
@@ -349,7 +353,7 @@ class Openfoam(Package):
# kahip patch (wmake)
patch('https://develop.openfoam.com/Development/openfoam/commit/8831dfc58b0295d0d301a78341dd6f4599073d45.patch',
when='@1806',
- sha256='21f1ab68c82dfa41ed1a4439427c94c43ddda02c84175c30da623d905d3e5d61'
+ sha256='531146be868dd0cda70c1cf12a22110a38a30fd93b5ada6234be3d6c9256c6cf'
)
# Some user config settings
@@ -773,15 +777,17 @@ class Openfoam(Package):
# Having wmake and ~source is actually somewhat pointless...
# Install 'etc' before 'bin' (for symlinks)
- dirs = ['etc', 'bin', 'wmake']
+ # META-INFO for 1812 and later (or backported)
+ dirs = ['META-INFO', 'etc', 'bin', 'wmake']
if '+source' in spec:
dirs.extend(['applications', 'src', 'tutorials'])
for d in dirs:
- install_tree(
- d,
- join_path(self.projectdir, d),
- symlinks=True)
+ if os.path.isdir(d):
+ install_tree(
+ d,
+ join_path(self.projectdir, d),
+ symlinks=True)
dirs = ['platforms']
if '+source' in spec:
@@ -846,7 +852,7 @@ class OpenfoamArch(object):
self.compiler = None # <- %compiler
self.arch_option = '' # Eg, -march=knl
self.label_size = None # <- +int64
- self.precision_option = 'DP' # <- +float32
+ self.precision_option = 'DP' # <- +float32 | +spdp
self.compile_option = kwargs.get('compile-option', '-spack')
self.arch = None
self.options = None
@@ -858,12 +864,11 @@ class OpenfoamArch(object):
elif kwargs.get('label-size', True):
self.label_size = '32'
- if '+float32' in spec:
+ if '+spdp' in spec:
+ self.precision_option = 'SPDP'
+ elif '+float32' in spec:
self.precision_option = 'SP'
- # TDB: mixed precision?
- # self.precision_option = 'SPDP'
-
# Processor/architecture-specific optimizations
if '+knl' in spec:
self.arch_option = '-march=knl'
diff --git a/var/spack/repos/builtin/packages/openfst/package.py b/var/spack/repos/builtin/packages/openfst/package.py
index d8f6b01475..8399c6fcb9 100644
--- a/var/spack/repos/builtin/packages/openfst/package.py
+++ b/var/spack/repos/builtin/packages/openfst/package.py
@@ -16,6 +16,7 @@ class Openfst(AutotoolsPackage):
url = "http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.6.1.tar.gz"
list_url = "http://www.openfst.org/twiki/bin/view/FST/FstDownload"
+ version('1.7.9', sha256='9319aeb31d1e2950ae25449884e255cc2bc9dfaf987f601590763e61a10fbdde')
version('1.6.7', sha256='e21a486d827cde6a592c8e91721e4540ad01a5ae35a60423cf17be4d716017f7')
version('1.6.1', sha256='5245af8ebccb96208eec2dfe3b3a81143d3565a4d41220bff299287fb3333f7d')
version('1.6.0', sha256='c03467951631af3f74a6f33ffd50f04285bc4562f79127afd95785120379d293')
@@ -30,7 +31,7 @@ class Openfst(AutotoolsPackage):
version('1.4.0', sha256='eb557f37560438f03912b4e43335c4c9e72aa486d4f2046127131185eb88f17a')
conflicts('%intel@16:')
- conflicts('%gcc@6:')
+ conflicts('%gcc@6:', when='@:1.6.7')
variant('far', default=False, description="Enable FAR support")
diff --git a/var/spack/repos/builtin/packages/openloops/package.py b/var/spack/repos/builtin/packages/openloops/package.py
new file mode 100644
index 0000000000..9a1081c2b6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openloops/package.py
@@ -0,0 +1,124 @@
+# 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 *
+import os
+
+
+class Openloops(Package):
+ """The OpenLoops 2 program is a fully automated implementation of the
+ Open Loops algorithm combined with on-the-fly reduction methods,
+ which allows for the fast and stable numerical evaluation of tree
+ and one-loop matrix elements for any Standard Model process
+ at NLO QCD and NLO EW. """
+
+ homepage = "https://openloops.hepforge.org/"
+ url = "https://openloops.hepforge.org/downloads?f=OpenLoops-2.1.1.tar.gz"
+
+ version('2.1.1', sha256='f1c47ece812227eab584e2c695fef74423d2f212873f762b8658f728685bcb91')
+
+ all_processes = (
+ "tbln", "tbln_ew", "tbqq", "tbw", "pptttt", "pptttt_ew", "pptt",
+ "pptt_ew", "ppttbb", "ppttj", "ppttj_ew", "ppttjj",
+ "pptaj", "pptajj", "pptllj", "pptlljj", "pptln", "pptw", "pptwj",
+ "pptzj", "pptzjj", "ppthj", "ppthjj", "pptj",
+ "pptjj", "ppjj", "ppjj_ew", "ppjjj", "ppjjj_ew", "ppjjj_nf5", "ppjjjj",
+ "pplllvvv_ew", "ppatt", "ppatt_ew",
+ "ppattj", "pplltt", "pplltt_ew", "ppllttj", "ppllttj_ew", "pplntt",
+ "pplnttj", "ppwtt", "ppwtt_ew", "ppwttj",
+ "ppwttj_ew", "ppztt", "ppztt_ew", "ppzttj", "ppaatt", "ppwwtt",
+ "ppzatt", "ppzztt", "ppvvvv", "ppaaaj2", "ppllaa",
+ "ppllaaj", "pplllla", "ppvvv", "ppvvv2", "ppvvv_ew", "ppvvvj",
+ "ppaajj", "ppaajj2", "ppaajjj", "pplla", "pplla2",
+ "pplla_ew", "ppllaj", "ppllaj2", "ppllaj_ew", "ppllaj_nf5", "ppllajj",
+ "ppllll", "ppllll2", "ppllll2_nf5",
+ "ppllll2_onlyh", "ppllll_ew", "ppllllj", "ppllllj2", "ppllllj2_nf5",
+ "ppllllj2_nf5_notridr", "ppllllj2_nf5_sr",
+ "ppllllj2_onlyh", "ppllnnjj_ew", "ppllnnjj_vbs", "pplnajj", "ppvv",
+ "ppvv2", "ppvv_ew", "ppvvj", "ppvvj2",
+ "ppvvj_ew", "ppwajj", "ppwwjj", "ppzajj", "ppzwj_ew", "ppzwjj",
+ "ppzzjj", "ppajj", "ppajj2", "ppajj_ew", "ppajjj",
+ "ppllj", "ppllj2", "ppllj_ew", "ppllj_nf5", "pplljj", "pplljj_ew",
+ "pplljjj", "pplnj_ckm", "pplnjj", "pplnjj_ckm",
+ "pplnjj_ew", "pplnjjj", "ppnnjj_ew", "ppnnjjj", "ppvj", "ppvj2",
+ "ppvj_ew", "ppwj_ckm", "ppwjj", "ppwjj_ckm",
+ "ppwjj_ew", "ppwjjj", "ppzjj", "ppzjj_ew", "ppzjjj", "pphtt",
+ "pphtt_ew", "pphttj", "pphlltt", "pphll", "pphll2",
+ "pphll_ew", "pphllj", "pphllj2", "pphllj_ew", "pphlljj", "pphlljj_top",
+ "pphlnj_ckm", "pphlnjj", "pphv", "pphv_ew",
+ "pphwjj", "pphz2", "pphzj2", "pphzjj", "pphhtt", "pphhv", "pphhh2",
+ "heftpphh", "heftpphhj", "heftpphhjj", "pphh2",
+ "pphhj2", "pphhjj2", "pphhjj_vbf", "bbhj", "heftpphj", "heftpphjj",
+ "heftpphjjj", "pphbb", "pphbbj", "pphj2",
+ "pphjj2", "pphjj_vbf", "pphjj_vbf_ew", "pphjjj2", "eetttt", "eettttj",
+ "eellllbb", "eett", "eett_ew", "eettj",
+ "eettjj", "eevtt", "eevttj", "eevttjj", "eevvtt", "eevvttj",
+ "eellll_ew", "eevv_ew", "eevvjj", "eell_ew", "eevjj",
+ "eehtt", "eehttj", "eehll_ew", "eehvtt", "eehhtt", "heftppllj",
+ "heftpplljj", "heftpplljjj")
+
+ variant('compile_extra', default=False,
+ description='Compile real radiation tree amplitudes')
+ variant('processes', description='Processes to install. See https://' +
+ 'openloops.hepforge.org/process_' +
+ 'library.php?repo=public for details',
+ values=disjoint_sets(('all.coll',), ('lhc.coll',), ('lcg.coll',),
+ all_processes).with_default('lhc.coll'))
+
+ variant('num_jobs', description='Number of parallel jobs to run. ' +
+ 'Set to 1 if compiling a large number' +
+ 'of processes (e.g. lcg.coll)', default=0)
+ depends_on('python', type=("build", "run"))
+
+ phases = ['configure', 'build', 'build_processes', 'install']
+
+ def configure(self, spec, prefix):
+ spack_env = ('PATH LD_LIBRARY_PATH CPATH C_INCLUDE_PATH' +
+ 'CPLUS_INCLUDE_PATH INTEL_LICENSE_FILE').split()
+ for k in env.keys():
+ if k.startswith('SPACK_'):
+ spack_env.append(k)
+
+ spack_env = ' '.join(spack_env)
+ is_intel = self.spec.satisfies('%intel')
+ njobs = self.spec.variants['num_jobs'].value
+
+ with open('openloops.cfg', 'w') as f:
+ f.write('[OpenLoops]\n')
+ f.write('import_env={0}\n'.format(spack_env))
+ f.write('num_jobs = {0}\n'.format(njobs))
+ f.write('process_lib_dir = {0}\n'.format(self.spec.prefix.proclib))
+ f.write('cc = {0}\n'.format(env['SPACK_CC']))
+ f.write('cxx = {0}\n'.format(env['SPACK_CXX']))
+ f.write('fortran_compiler = {0}\n'.format(env['SPACK_FC']))
+ if self.spec.satisfies('@1.3.1') and not is_intel:
+ f.write('gfortran_f_flags = -ffree-line-length-none\n')
+ if self.spec.satisfies('@2.1.1') and not is_intel:
+ f.write('gfortran_f_flags = -ffree-line-length-none ' +
+ '-fdollar-ok -mcmodel=medium\n')
+
+ if self.spec.satisfies('@:1.999.999 processes=lcg.coll'):
+ copy(join_path(os.path.dirname(__file__), 'sft1.coll'), 'lcg.coll')
+ elif self.spec.satisfies('@2:2.999.999 processes=lcg.coll'):
+ copy(join_path(os.path.dirname(__file__), 'sft2.coll'), 'lcg.coll')
+
+ def build(self, spec, prefix):
+ scons = Executable('./scons')
+ scons('generator=1', 'compile=2')
+
+ def build_processes(self, spec, prefix):
+ ol = Executable('./openloops')
+ processes = self.spec.variants['processes'].value
+ if '+compile_extra' in self.spec:
+ ce = 'compile_extra=1'
+ else:
+ ce = ''
+
+ ol('libinstall', ce, *processes)
+
+ def install(self, spec, prefix):
+ install_tree(join_path(self.stage.path, 'spack-src'),
+ self.prefix,
+ ignore=lambda x: x in ('process_obj', 'process_src'))
diff --git a/var/spack/repos/builtin/packages/openloops/sft1.coll b/var/spack/repos/builtin/packages/openloops/sft1.coll
new file mode 100644
index 0000000000..1a4bb5d404
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openloops/sft1.coll
@@ -0,0 +1,26 @@
+ppll
+ppllj
+pplljj
+ppln
+pplnj
+pplnjj
+pptt
+ppttj
+ppttjj
+pptj
+pptjj
+ppjj
+ppjjj
+ppjjjj
+ppaa
+ppaaj
+ppaajj
+ppw
+ppwj
+ppwjj
+ppz
+ppzj
+ppzjj
+tbw
+eevvjj
+eett
diff --git a/var/spack/repos/builtin/packages/openloops/sft2.coll b/var/spack/repos/builtin/packages/openloops/sft2.coll
new file mode 100644
index 0000000000..b7d9b2423c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/openloops/sft2.coll
@@ -0,0 +1,76 @@
+pptttt
+pptt
+pptt_ew
+ppttbb
+ppttj
+ppttj_ew
+pptw
+pptj
+pptjj
+ppjj
+ppjj_ew
+ppjjj
+ppjjj_ew
+ppatt
+ppattj
+pplltt
+ppllttj
+pplntt
+pplnttj
+ppwtt
+ppwttj
+ppllaa
+pplllla
+ppvvv
+ppvvv_ew
+ppvvvj
+ppaaj
+ppaaj2
+pplla
+pplla_ew
+ppllaj
+ppllll
+ppllll2
+ppllll2_onlyh
+ppllll_ew
+ppllllj
+ppllllj2
+ppllllj2_onlyh
+ppllnnjj_ew
+ppllnnjj_vbs
+pplnajj
+ppvv
+ppvv2
+ppvv_ew
+ppvvj
+ppvvj2
+ppvvj_ew
+ppajj
+ppajj_ew
+ppllj
+ppllj_ew
+pplljj
+pplljj_ew
+pplnjj
+pplnjj_ew
+ppnnjj_ew
+ppvj
+ppvj_ew
+ppwjj
+ppwjj_ew
+ppzjj
+ppzjj_ew
+pphtt
+pphtt_ew
+pphttj
+bbhj
+heftpphj
+heftpphjj
+pph2
+pphbb
+pphbbj
+pphj2
+pphjj_vbf
+pphjj_vbf_ew
+eett
+tbw
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 4184e64f02..1d19b1fbfd 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -219,6 +219,10 @@ class Openmpi(AutotoolsPackage):
variant('cxx', default=False, description='Enable C++ MPI bindings')
variant('cxx_exceptions', default=False, description='Enable C++ Exception support')
variant('gpfs', default=True, description='Enable GPFS support (if present)')
+ variant('singularity', default=False,
+ description="Build support for the Singularity container")
+ variant('lustre', default=False,
+ description="Lustre filesystem library support")
# Adding support to build a debug version of OpenMPI that activates
# Memchecker, as described here:
#
@@ -265,6 +269,9 @@ class Openmpi(AutotoolsPackage):
depends_on('sqlite', when='+sqlite3@:1.11')
depends_on('zlib', when='@3.0.0:')
depends_on('valgrind~mpi', when='+memchecker')
+ # Singularity release 3 works better
+ depends_on('singularity@3.0.0:', when='+singularity')
+ depends_on('lustre', when='+lustre')
depends_on('opa-psm2', when='fabrics=psm2')
depends_on('rdma-core', when='fabrics=verbs')
@@ -317,6 +324,8 @@ class Openmpi(AutotoolsPackage):
conflicts('schedulers=loadleveler', when='@3.0.0:',
msg='The loadleveler scheduler is not supported with '
'openmpi(>=3.0.0).')
+ conflicts('+singularity', when='@5:',
+ msg='singularity support has been dropped in OpenMPI 5')
filter_compiler_wrappers('openmpi/*-wrapper-data*', relative_root='share')
@@ -528,6 +537,15 @@ class Openmpi(AutotoolsPackage):
'--with-valgrind={0}'.format(spec['valgrind'].prefix),
])
+ # Singularity container support
+ if spec.satisfies('+singularity @:4.9'):
+ singularity_opt = '--with-singularity={0}'.format(
+ spec['singularity'].prefix)
+ config_args.append(singularity_opt)
+ # Lustre filesystem support
+ if spec.satisfies('+lustre'):
+ lustre_opt = '--with-lustre={0}'.format(spec['lustre'].prefix)
+ config_args.append(lustre_opt)
# Hwloc support
if spec.satisfies('@1.5.2:'):
config_args.append('--with-hwloc={0}'.format(spec['hwloc'].prefix))
diff --git a/var/spack/repos/builtin/packages/openslide/package.py b/var/spack/repos/builtin/packages/openslide/package.py
index d86af5a1aa..c41da2461b 100644
--- a/var/spack/repos/builtin/packages/openslide/package.py
+++ b/var/spack/repos/builtin/packages/openslide/package.py
@@ -19,3 +19,6 @@ class Openslide(AutotoolsPackage):
depends_on('libtiff')
depends_on('libxml2')
depends_on('sqlite@3.6:')
+ depends_on('glib')
+ depends_on('cairo+pdf')
+ depends_on('gdk-pixbuf')
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index ae47568ce8..3bee1ea0a1 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -9,6 +9,7 @@ from spack import *
import spack.architecture
import os
+import re
class Openssl(Package): # Uses Fake Autotools, should subclass Package
@@ -23,6 +24,8 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
list_url = "http://www.openssl.org/source/old/"
list_depth = 1
+ executables = ['openssl']
+
# The latest stable version is the 1.1.1 series. This is also our Long Term
# Support (LTS) version, supported until 11th September 2023.
version('1.1.1g', sha256='ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46')
@@ -75,7 +78,11 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
depends_on('perl@5.14.0:', type=('build', 'test'))
- parallel = False
+ @classmethod
+ def determine_version(cls, exe):
+ output = Executable(exe)('version', output=str)
+ match = re.search(r'OpenSSL.(\S+)*', output)
+ return match.group(1) if match else None
@property
def libs(self):
@@ -119,8 +126,10 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
make()
if self.run_tests:
- make('test') # 'VERBOSE=1'
- make('install')
+ make('test', parallel=False) # 'VERBOSE=1'
+
+ # See https://github.com/openssl/openssl/issues/7466#issuecomment-432148137
+ make('install', parallel=False)
@run_after('install')
def link_system_certs(self):
diff --git a/var/spack/repos/builtin/packages/parallelmergetree/package.py b/var/spack/repos/builtin/packages/parallelmergetree/package.py
new file mode 100644
index 0000000000..36069e755f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/parallelmergetree/package.py
@@ -0,0 +1,34 @@
+# 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 Parallelmergetree(CMakePackage):
+ """A multi-runtime implementation of a distributed merge tree
+ segmentation algorithm. The implementation relies on the framework
+ BabelFlow, which allows to execute the algorithm on different runtime
+ systems."""
+
+ homepage = "https://bitbucket.org/cedmav/parallelmergetree"
+ git = "https://bitbucket.org/cedmav/parallelmergetree.git"
+
+ maintainers = ['spetruzza']
+
+ version('develop',
+ commit='6774ed74fd13b9747ac792978a676ce6e8b05cab',
+ submodules=True)
+
+ depends_on('babelflow@develop')
+
+ variant("shared", default=True, description="Build ParallelMergeTree as shared libs")
+
+ def cmake_args(self):
+ args = [
+ '-DBUILD_SHARED_LIBS:BOOL={0}'.format(
+ 'ON' if '+shared' in spec else 'OFF'),
+ '-DLIBRARY_ONLY=ON'
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py
index bb8b140b74..018cc68290 100644
--- a/var/spack/repos/builtin/packages/paraview/package.py
+++ b/var/spack/repos/builtin/packages/paraview/package.py
@@ -20,6 +20,7 @@ class Paraview(CMakePackage, CudaPackage):
maintainers = ['chuckatkins', 'danlipsa']
version('develop', branch='master', submodules=True)
+ version('5.8.1', sha256='7653950392a0d7c0287c26f1d3a25cdbaa11baa7524b0af0e6a1a0d7d487d034')
version('5.8.0', sha256='219e4107abf40317ce054408e9c3b22fb935d464238c1c00c0161f1c8697a3f9')
version('5.7.0', sha256='e41e597e1be462974a03031380d9e5ba9a7efcdb22e4ca2f3fec50361f310874')
version('5.6.2', sha256='1f3710b77c58a46891808dbe23dc59a1259d9c6b7bb123aaaeaa6ddf2be882ea')
@@ -51,7 +52,8 @@ class Paraview(CMakePackage, CudaPackage):
description='Use module kits')
conflicts('+python', when='+python3')
- conflicts('+python', when='@5.6:')
+ # Python 2 support dropped with 5.9.0
+ conflicts('+python', when='@5.9:')
conflicts('+python3', when='@:5.5')
conflicts('+shared', when='+cuda')
# Legacy rendering dropped in 5.5
@@ -110,6 +112,11 @@ class Paraview(CMakePackage, CudaPackage):
depends_on('zlib')
depends_on('cmake@3.3:', type='build')
+ # Can't contretize with python2 and py-setuptools@45.0.0:
+ depends_on('py-setuptools@:44.99.99', when='+python')
+ # Can't contretize with python2 and py-pillow@7.0.0:
+ depends_on('py-pillow@:6', when='+python')
+
patch('stl-reader-pv440.patch', when='@4.4.0')
# Broken gcc-detection - improved in 5.1.0, redundant later
@@ -232,13 +239,20 @@ class Paraview(CMakePackage, CudaPackage):
'-DPARAVIEW_QT_VERSION=%s' % spec['qt'].version[0],
])
+ # CMake flags for python have changed with newer ParaView versions
+ # Make sure Spack uses the right cmake flags
if '+python' in spec or '+python3' in spec:
+ py_use_opt = 'USE' if spec.satisfies('@5.8:') else 'ENABLE'
+ py_ver_opt = 'PARAVIEW' if spec.satisfies('@5.7:') else 'VTK'
+ py_ver_val = 3 if '+python3' in spec else 2
cmake_args.extend([
- '-DPARAVIEW_ENABLE_PYTHON:BOOL=ON',
+ '-DPARAVIEW_%s_PYTHON:BOOL=ON' % py_use_opt,
'-DPYTHON_EXECUTABLE:FILEPATH=%s' %
spec['python'].command.path,
- '-DVTK_USE_SYSTEM_MPI4PY:BOOL=%s' % variant_bool('+mpi')
+ '-DVTK_USE_SYSTEM_MPI4PY:BOOL=%s' % variant_bool('+mpi'),
+ '-D%s_PYTHON_VERSION:STRING=%d' % (py_ver_opt, py_ver_val)
])
+
else:
cmake_args.append('-DPARAVIEW_ENABLE_PYTHON:BOOL=OFF')
diff --git a/var/spack/repos/builtin/packages/pbbam/package.py b/var/spack/repos/builtin/packages/pbbam/package.py
index 26622715e9..03be8f3b61 100644
--- a/var/spack/repos/builtin/packages/pbbam/package.py
+++ b/var/spack/repos/builtin/packages/pbbam/package.py
@@ -34,9 +34,10 @@ class Pbbam(CMakePackage):
return options
def install(self, spec, prefix):
- install_tree('spack-build/bin', prefix.bin)
- install_tree('spack-build/lib', prefix.lib)
install_tree('include/pbbam', prefix.include.pbbam)
+ with working_dir(self.build_directory):
+ install_tree('bin', prefix.bin)
+ install_tree('lib', prefix.lib)
def setup_dependent_build_environment(self, env, dependent_spec):
env.set('PacBioBAM_LIBRARIES', self.prefix.lib)
diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py
index ae47c8ce03..a68b97eac6 100644
--- a/var/spack/repos/builtin/packages/perl/package.py
+++ b/var/spack/repos/builtin/packages/perl/package.py
@@ -11,6 +11,7 @@
# Author: Justin Too <justin@doubleotoo.com>
# Date: September 6, 2015
#
+import re
import os
from contextlib import contextmanager
@@ -27,6 +28,8 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
# URL must remain http:// so Spack can bootstrap curl
url = "http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz"
+ executables = [r'^perl(-?\d+.*)?$']
+
# see http://www.cpan.org/src/README.html for
# explanation of version numbering scheme
@@ -59,6 +62,7 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
extendable = True
depends_on('gdbm')
+ depends_on('berkeley-db')
# there has been a long fixed issue with 5.22.0 with regard to the ccflags
# definition. It is well documented here:
@@ -92,6 +96,40 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package
phases = ['configure', 'build', 'install']
+ @classmethod
+ def determine_version(cls, exe):
+ perl = spack.util.executable.Executable(exe)
+ output = perl('--version', output=str)
+ if output:
+ match = re.search(r'perl.*\(v([0-9.]+)\)', output)
+ if match:
+ return match.group(1)
+ return None
+
+ @classmethod
+ def determine_variants(cls, exes, version):
+ for exe in exes:
+ perl = spack.util.executable.Executable(exe)
+ output = perl('-V', output=str)
+ variants = ''
+ if output:
+ match = re.search(r'-Duseshrplib', output)
+ if match:
+ variants += '+shared'
+ else:
+ variants += '~shared'
+ match = re.search(r'-Duse.?threads', output)
+ if match:
+ variants += '+threads'
+ else:
+ variants += '~threads'
+ path = os.path.dirname(exe)
+ if 'cpanm' in os.listdir(path):
+ variants += '+cpanm'
+ else:
+ variants += '~cpanm'
+ return variants
+
# On a lustre filesystem, patch may fail when files
# aren't writeable so make pp.c user writeable
# before patching. This should probably walk the
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 9da9740674..0a44765056 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -19,6 +19,9 @@ class Petsc(Package):
version('develop', branch='master')
version('xsdk-0.2.0', tag='xsdk-0.2.0')
+ version('3.13.4', sha256='8d470cba1ceb9638694550134a2f23aac85ed7249cb74992581210597d978b94')
+ version('3.13.3', sha256='dc744895ee6b9c4491ff817bef0d3abd680c5e3c25e601be44240ce65ab4f337')
+ version('3.13.2', sha256='6083422a7c5b8e89e5e4ccf64acade9bf8ab70245e25bca3a3da03caf74602f1')
version('3.13.1', sha256='74a895e44e2ff1146838aaccb7613e7626d99e0eed64ca032c87c72d084efac3')
version('3.13.0', sha256='f0ea543a54145c5d1387e25b121c3fd1b1ca834032c5a33f6f1d929e95bdf0e5')
version('3.12.5', sha256='d676eb67e79314d6cca6422d7c477d2b192c830b89d5edc6b46934f7453bcfc0')
@@ -101,10 +104,47 @@ class Petsc(Package):
description='Enable when mpiexec is not available to run binaries')
variant('valgrind', default=False,
description='Enable Valgrind Client Request mechanism')
+ variant('jpeg', default=False,
+ description='Activates support for JPEG')
+ variant('libpng', default=False,
+ description='Activates support for PNG')
+ variant('giflib', default=False,
+ description='Activates support for GIF')
+ variant('mpfr', default=False,
+ description='Activates support for MPFR')
+ variant('moab', default=False,
+ description='Acivates support for MOAB (only parallel)')
+ variant('random123', default=False,
+ description='Activates support for Random123')
+ variant('exodusii', default=False,
+ description='Activates support for ExodusII (only parallel)')
+ variant('cgns', default=False,
+ description='Activates support for CGNS (only parallel)')
+ variant('memkind', default=False,
+ description='Activates support for Memkind')
+ variant('p4est', default=False,
+ description='Activates support for P4Est (only parallel)')
+ variant('saws', default=False,
+ description='Activates support for Saws')
+ variant('libyaml', default=False,
+ description='Activates support for YAML')
# 3.8.0 has a build issue with MKL - so list this conflict explicitly
conflicts('^intel-mkl', when='@3.8.0')
+ # These require +mpi
+ mpi_msg = 'Requires +mpi'
+ conflicts('+cgns', when='~mpi', msg=mpi_msg)
+ conflicts('+exodusii', when='~mpi', msg=mpi_msg)
+ conflicts('+fftw', when='~mpi', msg=mpi_msg)
+ conflicts('+hdf5', when='~mpi', msg=mpi_msg)
+ conflicts('+hypre', when='~mpi', msg=mpi_msg)
+ conflicts('+moab', when='~mpi', msg=mpi_msg)
+ conflicts('+mumps', when='~mpi', msg=mpi_msg)
+ conflicts('+p4est', when='~mpi', msg=mpi_msg)
+ conflicts('+superlu-dist', when='~mpi', msg=mpi_msg)
+ conflicts('+trilinos', when='~mpi', msg=mpi_msg)
+
filter_compiler_wrappers(
'petscvariables', relative_root='lib/petsc/conf'
)
@@ -119,6 +159,8 @@ class Petsc(Package):
patch('xlf_fix-dup-petscfecreate.patch', when='@3.11.0')
+ depends_on('diffutils', type='build')
+
# Virtual dependencies
# Git repository needs sowing to build Fortran interface
depends_on('sowing', when='@develop')
@@ -146,21 +188,27 @@ class Petsc(Package):
depends_on('hdf5@:1.10.99+mpi', when='@:3.12.99+hdf5+mpi')
depends_on('hdf5+mpi', when='@3.13:+hdf5+mpi')
+ depends_on('hdf5+mpi', when='+exodusii+mpi')
+ depends_on('hdf5+mpi', when='+cgns+mpi')
depends_on('zlib', when='+hdf5')
+ depends_on('zlib', when='+libpng')
+ depends_on('zlib', when='+p4est')
depends_on('parmetis', when='+metis+mpi')
depends_on('valgrind', when='+valgrind')
# Hypre does not support complex numbers.
# Also PETSc prefer to build it without internal superlu, likely due to
# conflict in headers see
# https://bitbucket.org/petsc/petsc/src/90564b43f6b05485163c147b464b5d6d28cde3ef/config/BuildSystem/config/packages/hypre.py
- depends_on('hypre@:2.13.99~internal-superlu~int64', when='@:3.8.99+hypre+mpi~complex~int64')
- depends_on('hypre@:2.13.99~internal-superlu+int64', when='@:3.8.99+hypre+mpi~complex+int64')
- depends_on('hypre@2.14:~internal-superlu~int64', when='@3.9:+hypre+mpi~complex~int64')
- depends_on('hypre@2.14:~internal-superlu+int64', when='@3.9:+hypre+mpi~complex+int64')
- depends_on('hypre@xsdk-0.2.0~internal-superlu+int64', when='@xsdk-0.2.0+hypre+mpi~complex+int64')
- depends_on('hypre@xsdk-0.2.0~internal-superlu~int64', when='@xsdk-0.2.0+hypre+mpi~complex~int64')
- depends_on('hypre@develop~internal-superlu+int64', when='@develop+hypre+mpi~complex+int64')
- depends_on('hypre@develop~internal-superlu~int64', when='@develop+hypre+mpi~complex~int64')
+ depends_on('hypre@:2.13.99+mpi~internal-superlu~int64', when='@:3.8.99+hypre+mpi~complex~int64')
+ depends_on('hypre@:2.13.99+mpi~internal-superlu+int64', when='@:3.8.99+hypre+mpi~complex+int64')
+ depends_on('hypre@2.14:2.18.2+mpi~internal-superlu~int64', when='@3.9:3.13.99+hypre+mpi~complex~int64')
+ depends_on('hypre@2.14:2.18.2+mpi~internal-superlu+int64', when='@3.9:3.13.99+hypre+mpi~complex+int64')
+ depends_on('hypre@2.14:+mpi~internal-superlu~int64', when='@3.14:+hypre+mpi~complex~int64')
+ depends_on('hypre@2.14:+mpi~internal-superlu+int64', when='@3.14:+hypre+mpi~complex+int64')
+ depends_on('hypre@xsdk-0.2.0+mpi~internal-superlu+int64', when='@xsdk-0.2.0+hypre+mpi~complex+int64')
+ depends_on('hypre@xsdk-0.2.0+mpi~internal-superlu~int64', when='@xsdk-0.2.0+hypre+mpi~complex~int64')
+ depends_on('hypre@develop+mpi~internal-superlu+int64', when='@develop+hypre+mpi~complex+int64')
+ depends_on('hypre@develop+mpi~internal-superlu~int64', when='@develop+hypre+mpi~complex~int64')
depends_on('superlu-dist@:4.3~int64', when='@3.4.4:3.6.4+superlu-dist+mpi~int64')
depends_on('superlu-dist@:4.3+int64', when='@3.4.4:3.6.4+superlu-dist+mpi+int64')
depends_on('superlu-dist@5.0.0:5.1.3~int64', when='@3.7:3.7.99+superlu-dist+mpi~int64')
@@ -179,12 +227,27 @@ class Petsc(Package):
depends_on('superlu-dist@develop+int64', when='@develop+superlu-dist+mpi+int64')
depends_on('mumps+mpi', when='+mumps+mpi~int64')
depends_on('scalapack', when='+mumps+mpi~int64')
- depends_on('trilinos@12.6.2:', when='@3.7.0:+trilinos+mpi')
- depends_on('trilinos@xsdk-0.2.0', when='@xsdk-0.2.0+trilinos+mpi')
- depends_on('trilinos@develop', when='@xdevelop+trilinos+mpi')
+ depends_on('trilinos@12.6.2:+mpi', when='@3.7.0:+trilinos+mpi')
+ depends_on('trilinos@xsdk-0.2.0+mpi', when='@xsdk-0.2.0+trilinos+mpi')
+ depends_on('trilinos@develop+mpi', when='@xdevelop+trilinos+mpi')
depends_on('fftw+mpi', when='+fftw+mpi')
depends_on('suite-sparse', when='+suite-sparse')
depends_on('libx11', when='+X')
+ depends_on('mpfr', when='+mpfr')
+ depends_on('gmp', when='+mpfr')
+ depends_on('jpeg', when='+jpeg')
+ depends_on('libpng', when='+libpng')
+ depends_on('giflib', when='+giflib')
+ depends_on('exodusii+mpi', when='+exodusii+mpi')
+ depends_on('netcdf-c+mpi', when='+exodusii+mpi')
+ depends_on('parallel-netcdf', when='+exodusii+mpi')
+ depends_on('random123', when='+random123')
+ depends_on('moab+mpi', when='+moab+mpi')
+ depends_on('cgns+mpi', when='+cgns+mpi')
+ depends_on('memkind', when='+memkind')
+ depends_on('p4est+mpi', when='+p4est+mpi')
+ depends_on('saws', when='+saws')
+ depends_on('libyaml', when='+libyaml')
def url_for_version(self, version):
if version >= Version('3.13.0'):
@@ -203,18 +266,6 @@ class Petsc(Package):
if self.compiler.fc is not None else '0'),
'--with-mpi=0'
]
- error_message_fmt = \
- '\t{library} support requires "+mpi" to be activated'
-
- # If mpi is disabled (~mpi), it's an error to have any of these
- # enabled. This generates a list of any such errors.
- errors = [
- error_message_fmt.format(library=x)
- for x in ('hdf5', 'hypre', 'mumps', 'superlu-dist')
- if ('+' + x) in self.spec]
- if errors:
- errors = ['incompatible variants given'] + errors
- raise RuntimeError('\n'.join(errors))
else:
compiler_opts = [
'--with-cc=%s' % self.spec['mpi'].mpicc,
@@ -291,20 +342,36 @@ class Petsc(Package):
])
# Activates library support if needed (i.e. direct dependency)
- for library in ('cuda', 'metis', 'hypre', 'parmetis',
- 'mumps', 'trilinos', 'fftw', 'valgrind'):
+ if '^libjpeg-turbo' in spec:
+ jpeg_library = 'libjpeg-turbo'
+ else:
+ jpeg_library = 'libjpeg'
+
+ for library in ('cuda', 'metis', 'hypre', 'parmetis', 'mumps',
+ 'trilinos', 'fftw', 'valgrind', 'gmp', 'libpng',
+ 'giflib', 'mpfr', 'netcdf-c', 'parallel-netcdf',
+ 'moab', 'random123', 'exodusii', 'cgns', 'memkind',
+ 'p4est', 'saws', 'libyaml', jpeg_library):
# Cannot check `library in spec` because of transitive deps
# Cannot check variants because parmetis keys on +metis
library_requested = library in spec.dependencies_dict()
options.append(
'--with-{library}={value}'.format(
- library=library,
+ library=('libjpeg' if library == 'libjpeg-turbo'
+ else 'netcdf' if library == 'netcdf-c'
+ else 'pnetcdf' if library == 'parallel-netcdf'
+ else 'yaml' if library == 'libyaml'
+ else library),
value=('1' if library_requested else '0'))
)
if library_requested:
options.append(
'--with-{library}-dir={path}'.format(
- library=library, path=spec[library].prefix)
+ library=('libjpeg' if library == 'libjpeg-turbo'
+ else 'netcdf' if library == 'netcdf-c'
+ else 'pnetcdf' if library == 'parallel-netcdf'
+ else 'yaml' if library == 'libyaml'
+ else library), path=spec[library].prefix)
)
# PETSc does not pick up SuperluDist from the dir as they look for
diff --git a/var/spack/repos/builtin/packages/pgi/package.py b/var/spack/repos/builtin/packages/pgi/package.py
index bc5f809109..1ad53bb20b 100644
--- a/var/spack/repos/builtin/packages/pgi/package.py
+++ b/var/spack/repos/builtin/packages/pgi/package.py
@@ -20,6 +20,7 @@ class Pgi(Package):
homepage = "http://www.pgroup.com/"
+ version('20.4', sha256='f3ecc2104b304cd5c8b20e3ffdb5da88f2b5f7cc148e8daf00561928a5cbbc2e')
version('19.10', sha256='ac9db73ba80a66fe3bc875f63aaa9e16f54674a4e88b25416432430ba8cf203d')
version('19.7', sha256='439692aeb51eff464b968c3bfed4536ed7bd3ba6f8174bc0ebe2219a78fe62ae')
version('19.4', sha256='23eee0d4da751dd6f247d624b68b03538ebd172e63a053c41bb67013f07cf68e')
diff --git a/var/spack/repos/builtin/packages/plumed/package.py b/var/spack/repos/builtin/packages/plumed/package.py
index b51d3c12c2..0eae1ac429 100644
--- a/var/spack/repos/builtin/packages/plumed/package.py
+++ b/var/spack/repos/builtin/packages/plumed/package.py
@@ -25,8 +25,10 @@ class Plumed(AutotoolsPackage):
git = 'https://github.com/plumed/plumed2.git'
version('master', branch='master')
+ version('2.6.1', sha256='c1b3c397b2d971140aa240dde50e48a04ce78e3dedb02b6dca80fa53f8026e4e')
version('2.6.0', sha256='3d57ae460607a49547ef38a52c4ac93493a3966857c352280a9c05f5dcdb1820')
- version('2.5.4', preferred=True, sha256='a1647e598191f261e75d06351e607475d395af481315052a4c28563ac9989a7f')
+ version('2.5.5', preferred=True, sha256='70faa9ff1938e286dc388cb793b39840953e5646855b684f48df1bc864b737e8')
+ version('2.5.4', sha256='a1647e598191f261e75d06351e607475d395af481315052a4c28563ac9989a7f')
version('2.5.3', sha256='543288be667dc4201fc461ecd2dd4878ddfbeac682d0c021c99ea8e501c7c9dc')
version('2.5.2', sha256='85d10cc46e2e37c7719cf51c0931278f56c2c8f8a9d86188b2bf97c2535a2ab4')
version('2.5.1', sha256='de309980dcfd6f6e0e70e138856f4bd9eb4d8a513906a5e6389f18a5af7f2eba')
diff --git a/var/spack/repos/builtin/packages/podio/package.py b/var/spack/repos/builtin/packages/podio/package.py
index 7211cdf111..8667dec94e 100644
--- a/var/spack/repos/builtin/packages/podio/package.py
+++ b/var/spack/repos/builtin/packages/podio/package.py
@@ -17,6 +17,7 @@ class Podio(CMakePackage):
maintainers = ['vvolkl', 'drbenmorgan']
version('master', branch='master')
+ version('0.11.0', sha256='4b2765566a14f0ddece2c894634e0a8e4f42f3e44392addb9110d856f6267fb6')
version('0.10.0', sha256='b5b42770ec8b96bcd2748abc05669dd3e4d4cc84f81ed57d57d2eda1ade90ef2')
version('0.9.2', sha256='8234d1b9636029124235ef81199a1220968dcc7fdaeab81cdc96a47af332d240')
version('0.9.0', sha256='3cde67556b6b76fd2d004adfaa3b3b6173a110c0c209792bfdb5f9353e21076f')
@@ -35,6 +36,7 @@ class Podio(CMakePackage):
depends_on('cmake@3.8:', type='build')
depends_on('python', type=('build', 'run'))
depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on('py-jinja2@2.10.1:', type=('build', 'run'), when='@0.12:')
def cmake_args(self):
args = []
@@ -44,15 +46,6 @@ class Podio(CMakePackage):
args.append('-DBUILD_TESTING=%s' % self.run_tests)
return args
- def setup_build_environment(self, spack_env):
- spack_env.prepend_path('LD_LIBRARY_PATH', self.spec['root'].prefix.lib)
-
- def setup_dependent_build_environment(self, env, dependent_spec):
- env.set('PODIO', self.prefix)
-
- def setup_dependent_run_environment(self, env, dependent_spec):
- env.set('PODIO', self.prefix)
-
def url_for_version(self, version):
# podio releases are dashes and padded with a leading zero
# the patch version is omitted when 0
diff --git a/var/spack/repos/builtin/packages/poppler/package.py b/var/spack/repos/builtin/packages/poppler/package.py
index 2848c81eb1..6ecab70351 100644
--- a/var/spack/repos/builtin/packages/poppler/package.py
+++ b/var/spack/repos/builtin/packages/poppler/package.py
@@ -15,6 +15,7 @@ class Poppler(CMakePackage):
git = "https://gitlab.freedesktop.org/poppler/poppler.git"
version('master', branch='master')
+ version('0.90.1', sha256='984d82e72e91418d280885298c8bdc855a2fd92665fd52a1345b27235e0c71c4')
version('0.87.0', sha256='6f602b9c24c2d05780be93e7306201012e41459f289b8279a27a79431ad4150e')
version('0.79.0', sha256='f985a4608fe592d2546d9d37d4182e502ff6b4c42f8db4be0a021a1c369528c8')
version('0.77.0', sha256='7267eb4cbccd64a58244b8211603c1c1b6bf32c7f6a4ced2642865346102f36b')
diff --git a/var/spack/repos/builtin/packages/precice/package.py b/var/spack/repos/builtin/packages/precice/package.py
index 45548275c8..36e7811d81 100644
--- a/var/spack/repos/builtin/packages/precice/package.py
+++ b/var/spack/repos/builtin/packages/precice/package.py
@@ -19,6 +19,7 @@ class Precice(CMakePackage):
maintainers = ['fsimonis', 'MakisH']
version('develop', branch='develop')
+ version('2.1.0', sha256='1e6432724f70d0c6c05fdd645e0026754edbc547719a35bf1d3c12a779b1d00e')
version('2.0.2', sha256='72864480f32696e7b6da94fd404ef5cd6586e2e1640613e46b75f1afac8569ed')
version('2.0.1', sha256='e4fe2d2063042761ab325f8c802f88ae088c90862af288ad1a642967d074bd50')
version('2.0.0', sha256='c8979d366f06e35626a8da08a1c589df77ec13972eb524a1ba99a011e245701f')
@@ -48,6 +49,7 @@ class Precice(CMakePackage):
depends_on('libxml2')
depends_on('mpi', when='+mpi')
depends_on('petsc@3.6:', when='+petsc')
+ depends_on('petsc@3.12:', when='+petsc@2.1.0:')
# Python 3 support was added in version 2.0
depends_on('python@2.7:2.8', when='@:1.9+python', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/profugusmc/package.py b/var/spack/repos/builtin/packages/profugusmc/package.py
new file mode 100644
index 0000000000..0922b3f470
--- /dev/null
+++ b/var/spack/repos/builtin/packages/profugusmc/package.py
@@ -0,0 +1,24 @@
+# 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 Profugusmc(CMakePackage, CudaPackage):
+ """ProfugusMC is a Monte Carlo radiation transport mini-app. It is designed
+ to be a minimal, self-contained version of the Profugus application."""
+
+ homepage = "https://code.ornl.gov/ProfugusMC/ProfugusMC"
+ git = "https://code.ornl.gov/ProfugusMC/ProfugusMC.git"
+ url = "https://code.ornl.gov/ProfugusMC/ProfugusMC/-/archive/master/ProfugusMC-master.tar.gz"
+
+ version('master', branch='master')
+
+ variant('mpi', default=True, description='Enable MPI')
+ variant('cuda', default=False, description='Enable CUDA')
+
+ depends_on('blas')
+ depends_on('lapack')
+ depends_on('mpi', when='+mpi')
+ depends_on('cuda', when='+cuda')
diff --git a/var/spack/repos/builtin/packages/prometheus/package.py b/var/spack/repos/builtin/packages/prometheus/package.py
new file mode 100644
index 0000000000..10a9e956c3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/prometheus/package.py
@@ -0,0 +1,34 @@
+# 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 Prometheus(MakefilePackage):
+ """Prometheus, a Cloud Native Computing Foundation project, is a
+ systems and service monitoring system."""
+
+ homepage = "https://prometheus.io/"
+ url = "https://github.com/prometheus/prometheus/archive/v2.19.2.tar.gz"
+
+ version('2.19.2', sha256='d4e84cae2fed6761bb8a80fcc69b6e0e9f274d19dffc0f38fb5845f11da1bbc3')
+ version('2.19.1', sha256='b72b9b6bdbae246dcc29ef354d429425eb3c0a6e1596fc8b29b502578a4ce045')
+ version('2.18.2', sha256='a26c106c97d81506e3a20699145c11ea2cce936427a0e96eb2fd0dc7cd1945ba')
+ version('2.17.1', sha256='d0b53411ea0295c608634ca7ef1d43fa0f5559e7ad50705bf4d64d052e33ddaf')
+ version('2.17.0', sha256='b5e508f1c747aaf50dd90a48e5e2a3117fec2e9702d0b1c7f97408b87a073009')
+
+ depends_on('go', type='build')
+ depends_on('node-js@11.10.1:', type='build')
+ depends_on('yarn', type='build')
+
+ def build(self, spec, prefix):
+ make('build', parallel=False)
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install('prometheus', prefix.bin)
+ install('promtool', prefix.bin)
+ install('tsdb/tsdb', prefix.bin)
+ install_tree('documentation', prefix.documentation)
diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py
index 1cbd94b314..060d345b45 100644
--- a/var/spack/repos/builtin/packages/protobuf/package.py
+++ b/var/spack/repos/builtin/packages/protobuf/package.py
@@ -12,8 +12,13 @@ class Protobuf(Package):
"""Google's data interchange format."""
homepage = "https://developers.google.com/protocol-buffers"
- url = "https://github.com/protocolbuffers/protobuf/archive/v3.10.1.tar.gz"
+ url = "https://github.com/protocolbuffers/protobuf/archive/v3.12.2.tar.gz"
+ version('3.12.2', sha256='bb8ce9ba11eb7bccf080599fe7cad9cc461751c8dd1ba61701c0070d58cde973')
+ version('3.12.1', sha256='cb9b3f9d625b5739a358268eb3421de11cacd90025f5f7672c3930553eca810e')
+ version('3.12.0', sha256='946ba5371e423e1220d2cbefc1f65e69a1e81ca5bab62a03d66894172983cfcd')
+ version('3.11.4', sha256='a79d19dcdf9139fa4b81206e318e33d245c4c9da1ffed21c87288ed4380426f9')
+ version('3.11.3', sha256='cf754718b0aa945b00550ed7962ddc167167bd922b842199eeb6505e6f344852')
version('3.11.2', sha256='e8c7601439dbd4489fe5069c33d374804990a56c2f710e00227ee5d8fd650e67')
version('3.11.1', sha256='4f8e805825c53bbc3c9f6b6abc009b5b5679e4702bccfca1121c42ff5ec801c7')
version('3.11.0', sha256='6d356a6279cc76d2d5c4dfa6541641264b59eae0bc96b852381361e3400d1f1c')
diff --git a/var/spack/repos/builtin/packages/psi4/package.py b/var/spack/repos/builtin/packages/psi4/package.py
index 64cb85a5ee..bc2e6db011 100644
--- a/var/spack/repos/builtin/packages/psi4/package.py
+++ b/var/spack/repos/builtin/packages/psi4/package.py
@@ -51,7 +51,7 @@ class Psi4(CMakePackage):
]
@run_after('install')
- def filter_compilers(self, spec, prefix):
+ def filter_compilers(self):
"""Run after install to tell the configuration files to
use the compilers that Spack built the package with.
@@ -59,6 +59,9 @@ class Psi4(CMakePackage):
Spack's generic cxx. We want it to be bound to
whatever compiler it was built with."""
+ spec = self.spec
+ prefix = spec.prefix
+
kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
cc_files = ['bin/psi4-config']
diff --git a/var/spack/repos/builtin/packages/py-aiohttp/package.py b/var/spack/repos/builtin/packages/py-aiohttp/package.py
new file mode 100644
index 0000000000..e29f467c29
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-aiohttp/package.py
@@ -0,0 +1,26 @@
+# 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)
+
+
+class PyAiohttp(PythonPackage):
+ """Supports both client and server side of HTTP protocol.
+ Supports both client and server Web-Sockets out-of-the-box and
+ avoids Callbacks. Provides Web-server with middlewares and
+ plugable routing."""
+
+ homepage = "https://github.com/aio-libs/aiohttp"
+ url = "https://github.com/aio-libs/aiohttp/archive/v3.6.2.tar.gz"
+
+ version('3.6.2', sha256='4ad2d8393843ea0c7b50a93bf04fb1cf20b93c0a5e958de128efcd2e5f8adf80')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('python@3.5.3:', type=('build', 'run'))
+ depends_on('py-attrs@17.3.0:', type=('build', 'run'))
+ depends_on('py-chardet@2.0:3.999', type=('build', 'run'))
+ depends_on('py-multidict@4.5:4.999', type=('build', 'run'))
+ depends_on('py-async-timeout@3.0:3.999', type=('build', 'run'))
+ depends_on('py-yarl@1.0:1.999', type=('build', 'run'))
+ depends_on('py-idna-ssl@1.0:', type=('build', 'run'), when='^python@:3.6')
+ depends_on('py-typing-extensions@3.6.5:', type=('build', 'run'), when='^python@:3.6')
diff --git a/var/spack/repos/builtin/packages/py-argcomplete/package.py b/var/spack/repos/builtin/packages/py-argcomplete/package.py
index 6a4ad018bd..f1362da76f 100644
--- a/var/spack/repos/builtin/packages/py-argcomplete/package.py
+++ b/var/spack/repos/builtin/packages/py-argcomplete/package.py
@@ -9,9 +9,11 @@ from spack import *
class PyArgcomplete(PythonPackage):
"""Bash tab completion for argparse."""
- homepage = "https://pypi.python.org/pypi/argcomplete"
- url = "https://pypi.io/packages/source/a/argcomplete/argcomplete-1.1.1.tar.gz"
+ homepage = "https://github.com/kislyuk/argcomplete"
+ url = "https://pypi.io/packages/source/a/argcomplete/argcomplete-1.12.0.tar.gz"
- version('1.1.1', sha256='cca45b5fe07000994f4f06a0b95bd71f7b51b04f81c3be0b4ea7b666e4f1f084')
+ version('1.12.0', sha256='2fbe5ed09fd2c1d727d4199feca96569a5b50d44c71b16da9c742201f7cc295c')
+ version('1.1.1', sha256='cca45b5fe07000994f4f06a0b95bd71f7b51b04f81c3be0b4ea7b666e4f1f084')
depends_on('py-setuptools', type='build')
+ depends_on('py-importlib-metadata@0.23:1.999', when='@1.12: ^python@:3.7', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-astropy-healpix/package.py b/var/spack/repos/builtin/packages/py-astropy-healpix/package.py
new file mode 100644
index 0000000000..8dee2f92be
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-astropy-healpix/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)
+
+
+class PyAstropyHealpix(PythonPackage):
+ """HEALPix (Hierarchical Equal Area isoLatitude Pixelisation) is
+ an algorithm for pixellizing a sphere that is sometimes used in
+ Astronomy to store data from all-sky surveys, but the general
+ algorithm can apply to any field that has to deal with
+ representing data on a sphere."""
+
+ homepage = 'https://astropy-healpix.readthedocs.io/en/latest/'
+ url = 'https://pypi.io/packages/source/a/astropy-healpix/astropy-healpix-0.5.tar.gz'
+
+ version('0.5', sha256='5ae15da796a840f221fb83e25de791e827b6921bc21a365d99bc1a59c7c0cdad')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-astropy@2.0:', type=('build', 'run'))
+ depends_on('py-numpy@1.11:', 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 1e85cbf070..6e5dc8282b 100644
--- a/var/spack/repos/builtin/packages/py-astropy/package.py
+++ b/var/spack/repos/builtin/packages/py-astropy/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
+import os
class PyAstropy(PythonPackage):
@@ -11,9 +12,12 @@ class PyAstropy(PythonPackage):
package for Astronomy in Python and foster interoperability between
Python astronomy packages."""
- homepage = 'http://www.astropy.org/'
- url = 'https://pypi.io/packages/source/a/astropy/astropy-3.2.1.tar.gz'
+ homepage = 'https://astropy.org/'
+ url = 'https://pypi.io/packages/source/a/astropy/astropy-4.0.1.post1.tar.gz'
+ install_time_test_callbacks = ['install_test', 'import_module_test']
+
+ version('4.0.1.post1', sha256='5c304a6c1845ca426e7bc319412b0363fccb4928cb4ba59298acd1918eec44b5')
version('3.2.1', sha256='706c0457789c78285e5464a5a336f5f0b058d646d60f4e5f5ba1f7d5bf424b28')
version('2.0.14', sha256='618807068609a4d8aeb403a07624e9984f566adc0dc0f5d6b477c3658f31aeb6')
version('1.1.2', sha256='6f0d84cd7dfb304bb437dda666406a1d42208c16204043bc920308ff8ffdfad1')
@@ -28,14 +32,17 @@ class PyAstropy(PythonPackage):
depends_on('python@2.7:2.8,3.3:', when='@1.2:', type=('build', 'run'))
depends_on('python@2.6:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
+ depends_on('py-cython@0.29.13:', type='build')
+ depends_on('py-numpy@1.16:', when='@4.0:', type=('build', 'run'))
depends_on('py-numpy@1.13:', when='@3.1:', type=('build', 'run'))
depends_on('py-numpy@1.10:', when='@3.0:', type=('build', 'run'))
depends_on('py-numpy@1.9:', when='@2.0:', type=('build', 'run'))
depends_on('py-numpy@1.7:', when='@1.2:', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
+ depends_on('pkgconfig', type='build')
# Optional dependencies
- depends_on('py-scipy', when='+extras', type=('build', 'run'))
+ depends_on('py-scipy@0.18:', when='+extras', type=('build', 'run'))
depends_on('py-h5py', when='+extras', type=('build', 'run'))
depends_on('py-beautifulsoup4', when='+extras', type=('build', 'run'))
depends_on('py-html5lib', when='+extras', type=('build', 'run'))
@@ -59,6 +66,13 @@ class PyAstropy(PythonPackage):
depends_on('cfitsio')
depends_on('expat')
+ def patch(self):
+ # forces the rebuild of files with cython
+ # avoids issues with PyCode_New() in newer
+ # versions of python in the distributed
+ # cython-ized files
+ os.remove('astropy/cython_version.py')
+
def build_args(self, spec, prefix):
args = [
'--use-system-libraries',
@@ -72,3 +86,7 @@ class PyAstropy(PythonPackage):
args.extend(['-j', str(make_jobs)])
return args
+
+ def install_test(self):
+ with working_dir('spack-test', create=True):
+ python('-c', 'import astropy; astropy.test()')
diff --git a/var/spack/repos/builtin/packages/py-async-timeout/package.py b/var/spack/repos/builtin/packages/py-async-timeout/package.py
new file mode 100644
index 0000000000..dd7ca9943c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-async-timeout/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PyAsyncTimeout(PythonPackage):
+ """asyncio-compatible timeout context manager."""
+
+ homepage = "https://github.com/aio-libs/async-timeout"
+ url = "https://github.com/aio-libs/async-timeout/archive/v3.0.1.tar.gz"
+
+ version('3.0.1', sha256='d0a7a927ed6b922835e1b014dfcaa9982caccbb25131320582cc660af7c93949')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('python@3.5.3:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-batch/package.py b/var/spack/repos/builtin/packages/py-azure-batch/package.py
new file mode 100644
index 0000000000..b201ec7660
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-batch/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureBatch(PythonPackage):
+ """Microsoft Azure Batch Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-batch/azure-batch-9.0.0.zip"
+
+ version('9.0.0', sha256='47ca6f50a640915e1cdc5ce3c1307abe5fa3a636236e561119cf62d9df384d84')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
new file mode 100644
index 0000000000..0a40cf2e44
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-cli-command-modules-nspkg/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PyAzureCliCommandModulesNspkg(PythonPackage):
+ """Microsoft Azure CLI Command Modules Namespace Package."""
+
+ homepage = "https://github.com/Azure/azure-cli"
+ url = "https://pypi.io/packages/source/a/azure-cli-command-modules-nspkg/azure-cli-command-modules-nspkg-2.0.3.tar.gz"
+
+ version('2.0.3', sha256='4bd62bf5facb92dd4f89080e75eaee2ea1d3dd4e57a3d2a760ce501cf53f4e7d')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-cli-nspkg@3.0.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-core/package.py b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
new file mode 100644
index 0000000000..07e520c530
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-cli-core/package.py
@@ -0,0 +1,39 @@
+# 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)
+
+
+class PyAzureCliCore(PythonPackage):
+ """Microsoft Azure Command-Line Tools Core Module."""
+
+ homepage = "https://github.com/Azure/azure-cli"
+ url = "https://pypi.io/packages/source/a/azure-cli-core/azure-cli-core-2.9.1.tar.gz"
+
+ version('2.9.1', sha256='8618a30f7ea2188506f29801220c06396d731c26e4de92c327e6b0e8cc790db5')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-adal@1.2.3:1.2.999', type=('build', 'run'))
+ depends_on('py-argcomplete@1.8:1.999', type=('build', 'run'))
+ depends_on('py-azure-cli-telemetry', type=('build', 'run'))
+ depends_on('py-colorama@0.4.1:0.4.999', type=('build', 'run'))
+ depends_on('py-humanfriendly@4.7:8', type=('build', 'run'))
+ depends_on('py-jmespath', type=('build', 'run'))
+ depends_on('py-knack@0.7.1', type=('build', 'run'))
+ depends_on('py-msal@1.0.0:1.0.999', type=('build', 'run'))
+ depends_on('py-msal-extensions@0.1.3:0.1.999', type=('build', 'run'))
+ depends_on('py-msrest@0.4.4:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.6.3:', type=('build', 'run'))
+ depends_on('py-paramiko@2.0.8:2.999', type=('build', 'run'))
+ depends_on('py-pyjwt', type=('build', 'run'))
+ depends_on('py-pyopenssl@17.1.0:', type=('build', 'run'))
+ depends_on('py-requests@2.22:2.999', type=('build', 'run'))
+ depends_on('py-six@1.12:1.999', type=('build', 'run'))
+ depends_on('py-pkginfo@1.5.0.1:', type=('build', 'run'))
+ depends_on('py-azure-mgmt-resource@10.0.0', type=('build', 'run'))
+ depends_on('py-azure-mgmt-core@1.0.0', type=('build', 'run'))
+ depends_on('py-enum34', when='^python@:3.3', type=('build', 'run'))
+ depends_on('py-ndg-httpsclient', when='^python@:2.7.8', type=('build', 'run'))
+ depends_on('py-pyasn1', when='^python@:2.7.8', type=('build', 'run'))
+ depends_on('py-futures', when='^python@:2', type=('build', 'run'))
+ depends_on('py-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
new file mode 100644
index 0000000000..31fab8f659
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-cli-nspkg/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PyAzureCliNspkg(PythonPackage):
+ """Microsoft Azure CLI Namespace Package."""
+
+ homepage = "https://github.com/Azure/azure-cli"
+ url = "https://pypi.io/packages/source/a/azure-cli-nspkg/azure-cli-nspkg-3.0.4.tar.gz"
+
+ version('3.0.4', sha256='1bde56090f548c6435bd3093995cf88e4c445fb040604df8b5b5f70780d79181')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-nspkg@2.0.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
new file mode 100644
index 0000000000..bb379686be
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-cli-telemetry/package.py
@@ -0,0 +1,18 @@
+# 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)
+
+
+class PyAzureCliTelemetry(PythonPackage):
+ """Microsoft Azure CLI Telemetry Package."""
+
+ homepage = "https://github.com/Azure/azure-cli"
+ url = "https://pypi.io/packages/source/a/azure-cli-telemetry/azure-cli-telemetry-1.0.4.tar.gz"
+
+ version('1.0.4', sha256='1f239d544d309c29e827982cc20113eb57037dba16db6cdd2e0283e437e0e577')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-applicationinsights@0.11.1:0.11.999', type=('build', 'run'))
+ depends_on('py-portalocker@1.2:1.999', type=('build', 'run'))
+ depends_on('py-mock', type='test')
diff --git a/var/spack/repos/builtin/packages/py-azure-cli/package.py b/var/spack/repos/builtin/packages/py-azure-cli/package.py
new file mode 100644
index 0000000000..faa09d1cfd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-cli/package.py
@@ -0,0 +1,102 @@
+# 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)
+
+
+class PyAzureCli(PythonPackage):
+ """Microsoft Azure Command-Line Tools."""
+
+ homepage = "https://github.com/Azure/azure-cli"
+ url = "https://pypi.io/packages/source/a/azure-cli/azure-cli-2.9.1.tar.gz"
+
+ version('2.9.1', sha256='749d850f73ea8956ab510288c1061dd7066180a8583081a6d560fdc7ac8314d6')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-antlr4-python3-runtime@4.7.2:4.7.999', type=('build', 'run'))
+ depends_on('py-azure-batch@9.0:9.999', type=('build', 'run'))
+ depends_on('py-azure-cli-command-modules-nspkg@2.0:2.999', type=('build', 'run'))
+ depends_on('py-azure-cli-core@2.9.1', type=('build', 'run'))
+ depends_on('py-azure-cli-nspkg@3.0.3:3.999', type=('build', 'run'))
+ depends_on('py-azure-cosmos@3.0.2:3.999', type=('build', 'run'))
+ depends_on('py-azure-datalake-store@0.0.48:0.0.999', type=('build', 'run'))
+ depends_on('py-azure-functions-devops-build@0.0.22:0.0.999', type=('build', 'run'))
+ depends_on('py-azure-graphrbac@0.60.0:0.60.999', type=('build', 'run'))
+ depends_on('py-azure-keyvault@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-advisor@2.0.1:2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-apimanagement@0.1.0:0.1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-applicationinsights@0.1.1:0.1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-appconfiguration@0.4.0:0.4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-authorization@0.52.0:0.52.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-batch@9.0.0:9.0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-batchai@2.0:2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-billing@0.2:0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-botservice@0.2.0:0.2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-cdn@4.1.0rc1', type=('build', 'run'))
+ depends_on('py-azure-mgmt-cognitiveservices@6.2.0:6.2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-compute@13.0:13.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-consumption@2.0:2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-containerinstance@1.4:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-containerregistry@3.0.0rc14', type=('build', 'run'))
+ depends_on('py-azure-mgmt-containerservice@9.0.1:9.0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-cosmosdb@0.15.0:0.15.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-datalake-analytics@0.2.1:0.2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-datalake-store@0.5.0:0.5.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-datamigration@0.1.0:0.1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-deploymentmanager@0.2.0:0.2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-devtestlabs@4.0:4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-dns@2.1:2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-eventgrid@3.0.0rc7', type=('build', 'run'))
+ depends_on('py-azure-mgmt-eventhub@4.0.0:4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-hdinsight@1.5.1:1.5.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-imagebuilder@0.4.0:0.4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-iotcentral@3.0.0:3.0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-iothub@0.12.0:0.12.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-iothubprovisioningservices@0.2.0:0.2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-keyvault@2.2.0:2.2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-kusto@0.3.0:0.3.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-loganalytics@0.7.0:0.7.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-managedservices@1.0:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-managementgroups@0.1:0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-maps@0.1.0:0.1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-marketplaceordering@0.1:0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-media@2.1:2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-monitor@0.10.0:0.10.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-msi@0.2:0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-netapp@0.8.0:0.8.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-network@11.0.0:11.0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-policyinsights@0.5.0:0.5.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-privatedns@0.1.0:0.1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-rdbms@2.2.0:2.2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-recoveryservices@0.4.0:0.4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-recoveryservicesbackup@0.6.0:0.6.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-redhatopenshift@0.1.0', type=('build', 'run'))
+ depends_on('py-azure-mgmt-redis@7.0.0:7.0.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-relay@0.1.0:0.1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-reservations@0.6.0', type=('build', 'run'))
+ depends_on('py-azure-mgmt-search@2.0:2.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-security@0.4.1:0.4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-servicebus@0.6.0:0.6.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-servicefabric@0.4.0:0.4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-signalr@0.4.0:0.4.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-sql@0.19.0:0.19.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-sqlvirtualmachine@0.5.0:0.5.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-storage@11.1.0:11.1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-trafficmanager@0.51.0:0.51.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-web@0.47.0:0.47.999', type=('build', 'run'))
+ depends_on('py-azure-multiapi-storage@0.3.2:0.3.999', type=('build', 'run'))
+ depends_on('py-azure-loganalytics@0.1.0:0.1.999', type=('build', 'run'))
+ depends_on('py-azure-storage-common@1.4:1.999', type=('build', 'run'))
+ depends_on('py-cryptography@2.3.1:2.999', type=('build', 'run'))
+ depends_on('py-fabric@2.4:2.999', type=('build', 'run'))
+ depends_on('py-jsmin@2.2.2:2.2.999', type=('build', 'run'))
+ depends_on('py-pytz@2019.1', type=('build', 'run'))
+ depends_on('py-scp@0.13.2:0.13.999', type=('build', 'run'))
+ depends_on('py-sshtunnel@0.1.4:0.1.999', type=('build', 'run'))
+ depends_on('py-urllib3@1.18:1.999+secure', type=('build', 'run'))
+ depends_on('py-vsts-cd-manager@1.0.2:1.0.999', type=('build', 'run'))
+ depends_on('py-websocket-client@0.56.0:0.56.999', type=('build', 'run'))
+ depends_on('py-xmltodict@0.12:0.999', type=('build', 'run'))
+ depends_on('py-javaproperties@0.5.1', type=('build', 'run'))
+ depends_on('py-jsondiff@1.2.0', type=('build', 'run'))
+ depends_on('py-mock@4.0:4.999', type='test')
diff --git a/var/spack/repos/builtin/packages/py-azure-core/package.py b/var/spack/repos/builtin/packages/py-azure-core/package.py
index cfe14b0dae..e45bfcabfb 100644
--- a/var/spack/repos/builtin/packages/py-azure-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-core/package.py
@@ -8,8 +8,9 @@ class PyAzureCore(PythonPackage):
"""Microsoft Azure Core Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-core"
- url = "https://pypi.io/packages/source/a/azure-core/azure-core-1.6.0.zip"
+ url = "https://pypi.io/packages/source/a/azure-core/azure-core-1.7.0.zip"
+ version('1.7.0', sha256='a66da240a287f447f9867f54ba09ea235895cec13ea38c5f490ce4eedefdd75c')
version('1.6.0', sha256='d10b74e783cff90d56360e61162afdd22276d62dc9467e657ae866449eae7648')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-azure-cosmos/package.py b/var/spack/repos/builtin/packages/py-azure-cosmos/package.py
new file mode 100644
index 0000000000..56ed2ae59f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-cosmos/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)
+
+
+class PyAzureCosmos(PythonPackage):
+ """Microsoft Azure Cosmos Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-cosmos/azure-cosmos-4.0.0.zip"
+
+ version('4.0.0', sha256='c4e40e0d378fd0c96664f46f1ad08e6c8aaaac31c463726a74aae9eae724442d')
+ version('3.2.0', sha256='4f77cc558fecffac04377ba758ac4e23f076dc1c54e2cf2515f85bc15cbde5c6',
+ url='https://pypi.io/packages/source/a/azure-cosmos/azure-cosmos-3.2.0.tar.gz')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six@1.6:', type=('build', 'run'))
+ depends_on('py-azure-core@1.0.0:1.999', when='@4:', type=('build', 'run'))
+ depends_on('py-enum34@1.0.4:', when='@4: ^python@:3.3', type=('build', 'run'))
+ depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on('py-typing', when='@4: ^python@:3.4', type=('build', 'run'))
+ depends_on('py-requests@2.10.0:', when='@:3', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py b/var/spack/repos/builtin/packages/py-azure-datalake-store/package.py
new file mode 100644
index 0000000000..84dc392932
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-datalake-store/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)
+
+
+class PyAzureDatalakeStore(PythonPackage):
+ """Azure Data Lake Store Filesystem Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-data-lake-store-python"
+ url = "https://pypi.io/packages/source/a/azure-datalake-store/azure-datalake-store-0.0.48.tar.gz"
+
+ version('0.0.48', sha256='d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cffi', type=('build', 'run'))
+ depends_on('py-adal@0.4.2:', type=('build', 'run'))
+ depends_on('py-requests@2.20.0:', type=('build', 'run'))
+ depends_on('py-pathlib2', when='^python@:3.3', type=('build', 'run'))
+ depends_on('py-futures', when='^python@:2', type=('build', 'run'))
+ depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py b/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
new file mode 100644
index 0000000000..ee70dc2f03
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-functions-devops-build/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureFunctionsDevopsBuild(PythonPackage):
+ """Python package for integrating Azure Functions with Azure DevOps.
+ Specifically made for the Azure CLI."""
+
+ homepage = "https://github.com/Azure/azure-functions-devops-build"
+ url = "https://pypi.io/packages/source/a/azure-functions-devops-build/azure-functions-devops-build-0.0.22.tar.gz"
+
+ version('0.0.22', sha256='c6341abda6098813f8fa625acd1e925410a17a8a1c7aaabdf975bb7cecb14edf')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest', type=('build', 'run'))
+ depends_on('py-vsts', type=('build', 'run'))
+ depends_on('py-jinja2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py b/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
index 60a87b0a92..4cd0dd661f 100644
--- a/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-graphrbac/package.py
@@ -11,6 +11,7 @@ class PyAzureGraphrbac(PythonPackage):
url = "https://pypi.io/packages/source/a/azure-graphrbac/azure-graphrbac-0.61.1.zip"
version('0.61.1', sha256='53e98ae2ca7c19b349e9e9bb1b6a824aeae8dcfcbe17190d20fe69c0f185b2e2')
+ version('0.60.0', sha256='d0bb62d8bf8e196b903f3971ba4afa448e4fe14e8394ebfcdd941d84d62ecafe')
depends_on('py-setuptools', type='build')
depends_on('py-msrest@0.5.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
new file mode 100644
index 0000000000..49ad0b0ea6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-certificates/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureKeyvaultCertificates(PythonPackage):
+ """Microsoft Azure Key Vault Certificates Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-certificates"
+ url = "https://pypi.io/packages/source/a/azure-keyvault-certificates/azure-keyvault-certificates-4.1.0.zip"
+
+ version('4.1.0', sha256='544f56480619e1db350f2e7b117b22af778e02174bd6bcb0af9ae00c50353419')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-core@1.2.1:1.999', type=('build', 'run'))
+ depends_on('py-msrest@0.6.0:', type=('build', 'run'))
+ depends_on('py-azure-keyvault-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
+ depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-keys/package.py
new file mode 100644
index 0000000000..7fa65939ac
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-keys/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)
+
+
+class PyAzureKeyvaultKeys(PythonPackage):
+ """Microsoft Azure Key Vault Keys Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-keys"
+ url = "https://pypi.io/packages/source/a/azure-keyvault-keys/azure-keyvault-keys-4.1.0.zip"
+
+ version('4.1.0', sha256='f9967b4deb48e619f6c40558f69e48978779cc09c8a7fad33d536cfc41cd68f9')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-core@1.2.1:1.999', type=('build', 'run'))
+ depends_on('py-cryptography@2.1.4:', type=('build', 'run'))
+ depends_on('py-msrest@0.6.0:', type=('build', 'run'))
+ depends_on('py-azure-keyvault-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
+ depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
new file mode 100644
index 0000000000..16200150de
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-nspkg/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PyAzureKeyvaultNspkg(PythonPackage):
+ """Microsoft Azure Key Vault Namespace Package."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault"
+ url = "https://pypi.io/packages/source/a/azure-keyvault-nspkg/azure-keyvault-nspkg-1.0.0.zip"
+
+ version('1.0.0', sha256='ac68b88aab9c6caf54a23da2a1d1c718d7520bae5adff04dd0a743228269b641')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-nspkg@3.0.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
new file mode 100644
index 0000000000..cbc91cde3d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault-secrets/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureKeyvaultSecrets(PythonPackage):
+ """Microsoft Azure Key Vault Secrets Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault-secrets"
+ url = "https://pypi.io/packages/source/a/azure-keyvault-secrets/azure-keyvault-secrets-4.1.0.zip"
+
+ version('4.1.0', sha256='4f3bfac60e025e01dd1c1998b73649d45d706975356c0cf147174cf5a6ddf8be')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-core@1.2.1:1.999', type=('build', 'run'))
+ depends_on('py-msrest@0.6.0:', type=('build', 'run'))
+ depends_on('py-azure-keyvault-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on('py-enum34@1.0.4:', when='^python@:3.3', type=('build', 'run'))
+ depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-keyvault/package.py b/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
new file mode 100644
index 0000000000..b18a562226
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-keyvault/package.py
@@ -0,0 +1,24 @@
+# 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)
+
+
+class PyAzureKeyvault(PythonPackage):
+ """Microsoft Azure Key Vault Client Libraries for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/keyvault/azure-keyvault"
+ url = "https://pypi.io/packages/source/a/azure-keyvault/azure-keyvault-4.1.0.zip"
+
+ version('4.1.0', sha256='69002a546921a8290eb54d9a3805cfc515c321bc1d4c0bfcfb463620245eca40')
+ version('1.1.0', sha256='37a8e5f376eb5a304fcd066d414b5d93b987e68f9212b0c41efa37d429aadd49')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-keyvault-certificates@4.1:4.999', when='@4:', type=('build', 'run'))
+ depends_on('py-azure-keyvault-secrets@4.1:4.999', when='@4:', type=('build', 'run'))
+ depends_on('py-azure-keyvault-keys@4.1:4.999', when='@4:', type=('build', 'run'))
+ depends_on('py-msrest@0.5.0:', when='@:1', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', when='@:1', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', when='@:1', type=('build', 'run'))
+ depends_on('py-cryptography@2.1.4:', when='@:1', type=('build', 'run'))
+ depends_on('py-requests@2.18.4:', when='@:1', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py b/var/spack/repos/builtin/packages/py-azure-loganalytics/package.py
new file mode 100644
index 0000000000..25a4e42317
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-loganalytics/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)
+
+
+class PyAzureLoganalytics(PythonPackage):
+ """Microsoft Azure Log Analytics Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-loganalytics/azure-loganalytics-0.1.0.zip"
+
+ version('0.1.0', sha256='3ceb350def677a351f34b0a0d1637df6be0c6fe87ff32a5270b17f540f6da06e')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.4.29:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
new file mode 100644
index 0000000000..5e19a89dea
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-advisor/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtAdvisor(PythonPackage):
+ """Microsoft Azure Advisor Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-advisor/azure-mgmt-advisor-4.0.0.zip"
+
+ version('4.0.0', sha256='1ecea7a9dc48c099c06aab68aace7fdbded91a5522932882b1707c29fa055054')
+ version('2.0.1', sha256='1929d6d5ba49d055fdc806e981b93cf75ea42ba35f78222aaf42d8dcf29d4ef3')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
new file mode 100644
index 0000000000..538bfed522
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-apimanagement/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtApimanagement(PythonPackage):
+ """Microsoft Azure API Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-apimanagement/azure-mgmt-apimanagement-0.2.0.zip"
+
+ version('0.2.0', sha256='790f01c0b32583706b8b8c59667c0f5a51cd70444eee76474e23a598911e1d72')
+ version('0.1.0', sha256='5d45d3438c6a11bae6bb8d4d5173cdb44b85683695f9f3433f22f45aecc47819')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/package.py
new file mode 100644
index 0000000000..96f7a6dfff
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-appconfiguration/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)
+
+
+class PyAzureMgmtAppconfiguration(PythonPackage):
+ """Microsoft Azure App Configuration Management Client Library for Python.
+ """
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-appconfiguration/azure-mgmt-appconfiguration-0.5.0.zip"
+
+ version('0.5.0', sha256='211527511d7616a383cc196956eaf2b7ee016f2367d367924b3715f2a41106da')
+ version('0.4.0', sha256='85f6202ba235fde6be274f3dec1578b90235cf31979abea3fcfa476d0b2ac5b6')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
new file mode 100644
index 0000000000..b7b4089b9d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-applicationinsights/package.py
@@ -0,0 +1,22 @@
+# 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)
+
+
+class PyAzureMgmtApplicationinsights(PythonPackage):
+ """Microsoft Azure Application Insights Management Client Library for
+ Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-applicationinsights/azure-mgmt-applicationinsights-0.3.0.zip"
+
+ version('0.3.0', sha256='3c788a54db4fbca1a8850151462ec1471ff59c86b3a10d6082952bbdaa7e6651')
+ version('0.1.1', sha256='f10229eb9e3e9d0ad20188b8d14d67055e86f3815b43b75eedf96b654bee2a9b')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', when='@0.3:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', when='@0.3:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.20:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='@0.3: ^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
index acc9d25e66..5a5089966c 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-authorization/package.py
@@ -11,6 +11,7 @@ class PyAzureMgmtAuthorization(PythonPackage):
url = "https://pypi.io/packages/source/a/azure-mgmt-authorization/azure-mgmt-authorization-0.60.0.zip"
version('0.60.0', sha256='31e875a34ac2c5d6fefe77b4a8079a8b2bdbe9edb957e47e8b44222fb212d6a7')
+ version('0.52.0', sha256='16a618c4357c11e96de376856c396f09e76a56473920cdf7a66735fabaa2a70c')
depends_on('py-setuptools', type='build')
depends_on('py-msrest@0.5.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
new file mode 100644
index 0000000000..f11c869362
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-batch/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtBatch(PythonPackage):
+ """Microsoft Azure Batch Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-batch/azure-mgmt-batch-9.0.0.zip"
+
+ version('9.0.0', sha256='03417eecfa1fac906e674cb1cb43ed7da27a96277277b091d7c389ba39f6c3fe')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/package.py
new file mode 100644
index 0000000000..ec279bfc50
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-batchai/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)
+
+
+class PyAzureMgmtBatchai(PythonPackage):
+ """Microsoft Azure Batch AI Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-batchai/azure-mgmt-batchai-2.0.0.zip"
+
+ version('2.0.0', sha256='f1870b0f97d5001cdb66208e5a236c9717a0ed18b34dbfdb238a828f3ca2a683')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrestazure@0.4.20:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-billing/package.py
new file mode 100644
index 0000000000..a124ac5931
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-billing/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)
+
+
+class PyAzureMgmtBilling(PythonPackage):
+ """Microsoft Azure Billing Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-billing/azure-mgmt-billing-0.2.0.zip"
+
+ version('0.2.0', sha256='85f73bb3808a7d0d2543307e8f41e5b90a170ad6eeedd54fe7fcaac61b5b22d2')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrestazure@0.4.20:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
new file mode 100644
index 0000000000..168259dac0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-botservice/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtBotservice(PythonPackage):
+ """Microsoft Azure Bot Service Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-botservice/azure-mgmt-botservice-0.2.0.zip"
+
+ version('0.2.0', sha256='b21d8858e69aa16d25b908c40116a1f773c127ec4dd602cbb8542ebf39a55d83')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/package.py
new file mode 100644
index 0000000000..916934c841
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cdn/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)
+
+
+class PyAzureMgmtCdn(PythonPackage):
+ """Microsoft Azure CDN Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-cdn/azure-mgmt-cdn-4.0.0.zip"
+
+ # Release candidate needed for py-azure-cli
+ version('4.1.0rc1', sha256='853c73d612f5d97387e079c5841a9f1a05702173d0c7c0c59ba7b0fd86380503')
+ version('4.0.0', sha256='a53e9e09e2711ce9109329538fe9a8a1a5d0809efb231d7df481e55d09c4f02a', preferred=True)
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
new file mode 100644
index 0000000000..067f980c7d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cognitiveservices/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtCognitiveservices(PythonPackage):
+ """Microsoft Azure Cognitive Services Management Client Library for
+ Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-cognitiveservices/azure-mgmt-cognitiveservices-6.2.0.zip"
+
+ version('6.2.0', sha256='93503507ba87c18fe24cd3dfcd54e6e69a4daf7636f38b7537e09cee9a4c13ce')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
new file mode 100644
index 0000000000..4b47781334
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-compute/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtCompute(PythonPackage):
+ """Microsoft Azure Compute Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-compute/azure-mgmt-compute-13.0.0.zip"
+
+ version('13.0.0', sha256='7f331bafcbedf25d65aa42038f7553747dab18d7f10a5af3297192d31c45339e')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/package.py
new file mode 100644
index 0000000000..8974a4500d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-consumption/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)
+
+
+class PyAzureMgmtConsumption(PythonPackage):
+ """Microsoft Azure Consumption Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-consumption/azure-mgmt-consumption-3.0.0.zip"
+
+ version('3.0.0', sha256='035d4b74ca7c47e2683bea17105fd9014c27060336fb6255324ac86b27f70f5b')
+ version('2.0.0', sha256='9a85a89f30f224d261749be20b4616a0eb8948586f7f0f20573b8ea32f265189')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', when='@3:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', when='@3:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.20:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='@3: ^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
new file mode 100644
index 0000000000..c2ce7566d4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerinstance/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtContainerinstance(PythonPackage):
+ """Microsoft Azure Container Instance Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-containerinstance/azure-mgmt-containerinstance-2.0.0.zip"
+
+ version('2.0.0', sha256='5ad247d186c3c040da7a1d40ad39c9881e99afc58271f673abb602abb0b6b85b')
+ version('1.5.0', sha256='b055386f04ba8433112b0df7fcbc260b5208828d7bb8c057e760fe596aa7a8cd')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
index ac44498035..1a337d7a4a 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerregistry/package.py
@@ -10,7 +10,9 @@ class PyAzureMgmtContainerregistry(PythonPackage):
homepage = "https://github.com/Azure/azure-sdk-for-python"
url = "https://pypi.io/packages/source/a/azure-mgmt-containerregistry/azure-mgmt-containerregistry-2.8.0.zip"
- version('2.8.0', sha256='b24be1050d54f3158e8be7f6ad677f0c8888dddefd09fb8391ebfc73d40173a4')
+ # Release candidate needed for py-azure-cli
+ version('3.0.0rc14', sha256='d23ce93ec5903d00f79f0ac995e16bf47197130239f7f182509add3277b73071')
+ version('2.8.0', sha256='b24be1050d54f3158e8be7f6ad677f0c8888dddefd09fb8391ebfc73d40173a4', preferred=True)
depends_on('py-setuptools', type='build')
depends_on('py-msrest@0.5.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/package.py
new file mode 100644
index 0000000000..3e592e4a13
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-containerservice/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)
+
+
+class PyAzureMgmtContainerservice(PythonPackage):
+ """Microsoft Azure Container Service Management Client Library for Python.
+ """
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-containerservice/azure-mgmt-containerservice-9.2.0.zip"
+
+ version('9.2.0', sha256='e7904b60c42a153b64b1604f3c698602686b38787bebdaed6e808cd43b6e5967')
+ version('9.0.1', sha256='7e4459679bdba4aa67a4b5848e63d94e965a304a7418ef7607eb7a9ce295d886')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
new file mode 100644
index 0000000000..4dfca888f6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-core/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtCore(PythonPackage):
+ """Microsoft Azure Management Core Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/core/azure-mgmt-core"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-core/azure-mgmt-core-1.2.0.zip"
+
+ version('1.2.0', sha256='8fe3b59446438f27e34f7b24ea692a982034d9e734617ca1320eedeee1939998')
+ version('1.0.0', sha256='510faf49a10daec8346cc086143d8e667ef3b4f8c8022a8e710091027631a55e')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-core@1.7.0:1.999', when='@1.2:', type=('build', 'run'))
+ depends_on('py-azure-core@1.4.0:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
+ depends_on('py-typing', when='^python@:3.4', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
new file mode 100644
index 0000000000..978d659b9e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-cosmosdb/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtCosmosdb(PythonPackage):
+ """Microsoft Azure Cosmos DB Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-cosmosdb/azure-mgmt-cosmosdb-0.15.0.zip"
+
+ version('0.15.0', sha256='e70fe9b3d9554c501d46e69f18b73de18d77fbcb98a7a87b965b3dd027cada0f')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
new file mode 100644
index 0000000000..bcb73cd655
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-analytics/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtDatalakeAnalytics(PythonPackage):
+ """Microsoft Azure Data Lake Analytics Management Client Library for
+ Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-datalake-analytics/azure-mgmt-datalake-analytics-0.6.0.zip"
+
+ version('0.6.0', sha256='0d64c4689a67d6138eb9ffbaff2eda2bace7d30b846401673183dcb42714de8f')
+ version('0.2.1', sha256='4c7960d094f5847d9a456c18b8a3c8e60c428e3080a3905f1c943d81ba6351a4')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrestazure@0.4.27:1.999', when='@0.6:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.7:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/package.py
new file mode 100644
index 0000000000..994c8a60c1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datalake-store/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)
+
+
+class PyAzureMgmtDatalakeStore(PythonPackage):
+ """Microsoft Azure Data Lake Store Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-datalake-store/azure-mgmt-datalake-store-0.5.0.zip"
+
+ version('0.5.0', sha256='9376d35495661d19f8acc5604f67b0bc59493b1835bbc480f9a1952f90017a4c')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrestazure@0.4.27:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/package.py
new file mode 100644
index 0000000000..7eaf2e926b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-datamigration/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)
+
+
+class PyAzureMgmtDatamigration(PythonPackage):
+ """Microsoft Azure Data Migration Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-datamigration/azure-mgmt-datamigration-4.0.0.zip"
+
+ version('4.0.0', sha256='1efda568d67af911156591eb308432b5f9a56075b57ac0a5dd9f7aee17d79217')
+ version('0.1.0', sha256='e754928992743f54d999800a5e0679ee3e91d804d23a25f12c2e6f2f86cd05df')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', when='@4:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', when='@4:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.27:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='@4: ^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
new file mode 100644
index 0000000000..57d08f8805
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-deploymentmanager/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtDeploymentmanager(PythonPackage):
+ """Microsoft Azure Deployment Manager Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-deploymentmanager/azure-mgmt-deploymentmanager-0.2.0.zip"
+
+ version('0.2.0', sha256='46e342227993fc9acab1dda42f2eb566b522a8c945ab9d0eea56276b46f6d730')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
new file mode 100644
index 0000000000..10094a24da
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-devtestlabs/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtDevtestlabs(PythonPackage):
+ """Microsoft Azure DevTestLabs Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-devtestlabs/azure-mgmt-devtestlabs-4.0.0.zip"
+
+ version('4.0.0', sha256='59549c4c4068f26466b1097b574a8e5099fb2cd6c8be0a00395b06d3b29e278d')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
new file mode 100644
index 0000000000..ef7bab9ef7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-dns/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtDns(PythonPackage):
+ """Microsoft Azure DNS Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-dns/azure-mgmt-dns-3.0.0.zip"
+
+ version('3.0.0', sha256='6ecdf4e67d8eb5db593ec331e6d9f350616e77c31225c91d266605e03e63b37f')
+ version('2.1.0', sha256='3730b1b3f545a5aa43c0fff07418b362a789eb7d81286e2bed90ffef88bfa5d0')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/package.py
new file mode 100644
index 0000000000..d1dc0f2264
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-eventgrid/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)
+
+
+class PyAzureMgmtEventgrid(PythonPackage):
+ """Microsoft Azure EventGrid Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-eventgrid/azure-mgmt-eventgrid-2.2.0.zip"
+
+ # Release candidate needed for py-azure-cli
+ version('3.0.0rc7', sha256='68f9eb18b74fa86e07cf4e4d1a2ed16fe549bdd53f21a707b05798616b01a9d4')
+ version('2.2.0', sha256='c62058923ed20db35b04491cd1ad6a692f337244d05c377ecc14a53c06651cc3', preferred=True)
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
new file mode 100644
index 0000000000..bd25960c8c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-eventhub/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtEventhub(PythonPackage):
+ """Microsoft Azure EventHub Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-eventhub/azure-mgmt-eventhub-4.0.0.zip"
+
+ version('4.0.0', sha256='65223196cf132899656c2f9cb71a14c972d99e5ecd815ee050dae1072cb73ae2')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
new file mode 100644
index 0000000000..4107d2f68b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-hdinsight/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtHdinsight(PythonPackage):
+ """Microsoft Azure HDInsight Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-hdinsight/azure-mgmt-hdinsight-1.5.1.zip"
+
+ version('1.5.1', sha256='76b94f3e43fdc6698023d79be731937dc645dc3178dc134854768528ecc0aea3')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
new file mode 100644
index 0000000000..44e3e311e4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-imagebuilder/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtImagebuilder(PythonPackage):
+ """Microsoft Azure Image Builder Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-imagebuilder/azure-mgmt-imagebuilder-0.4.0.zip"
+
+ version('0.4.0', sha256='4c9291bf16b40b043637e5e4f15650f71418ac237393e62219cab478a7951733')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
new file mode 100644
index 0000000000..80154d6528
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iotcentral/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtIotcentral(PythonPackage):
+ """Microsoft Azure IoTCentral Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-iotcentral/azure-mgmt-iotcentral-3.1.0.zip"
+
+ version('3.1.0', sha256='c175f6642be514ad0efd3dc03d09e50d923596fd9e634381793dcc46bb8a57c7')
+ version('3.0.0', sha256='f6dacf442ccae2f18f1082e80bcbdcaa8c0efa2ba92b48c5db6ee01d37240047')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
new file mode 100644
index 0000000000..a1954a9751
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iothub/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtIothub(PythonPackage):
+ """Microsoft Azure IoTHub Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-iothub/azure-mgmt-iothub-0.12.0.zip"
+
+ version('0.12.0', sha256='da20ee2b9b9a2c2f89be9037c3ee5421152e7f6d718eafbf50a91dbf0a07ffa0')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
new file mode 100644
index 0000000000..37845cee5d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-iothubprovisioningservices/package.py
@@ -0,0 +1,18 @@
+# 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)
+
+
+class PyAzureMgmtIothubprovisioningservices(PythonPackage):
+ """Microsoft Azure IoTHub Provisioning Services Client Library for Python.
+ """
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-iothubprovisioningservices/azure-mgmt-iothubprovisioningservices-0.2.0.zip"
+
+ version('0.2.0', sha256='8c37acfd1c33aba845f2e0302ef7266cad31cba503cc990a48684659acb7b91d')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrestazure@0.4.20:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
new file mode 100644
index 0000000000..faadc899cf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-kusto/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtKusto(PythonPackage):
+ """Microsoft Azure Kusto Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-kusto/azure-mgmt-kusto-0.9.0.zip"
+
+ version('0.9.0', sha256='9210db89fa18ee8ed53339cd63bbe6fe1d9624cd793b54b7451ddbda8ae92ef3')
+ version('0.3.0', sha256='9eb8b7781fd4410ee9e207cd0c3983baf9e58414b5b4a18849d09856e36bacde')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
new file mode 100644
index 0000000000..925db35fa1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-loganalytics/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtLoganalytics(PythonPackage):
+ """Microsoft Azure Log Analytics Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-loganalytics/azure-mgmt-loganalytics-0.7.0.zip"
+
+ version('0.7.0', sha256='50fb7f714685d170ce9607e3c30488e194015845ef7f0a717b80609837a6c2a2')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
new file mode 100644
index 0000000000..d7ac227ef3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-managedservices/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtManagedservices(PythonPackage):
+ """Microsoft Azure Managed Services Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-managedservices/azure-mgmt-managedservices-1.0.0.zip"
+
+ version('1.0.0', sha256='fed8399fc6773aada37c1d0496a46f59410d77c9494d0ca5967c531c3376ad19')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
new file mode 100644
index 0000000000..6ce865aaba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-managementgroups/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtManagementgroups(PythonPackage):
+ """Microsoft Azure Management Groups Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-managementgroups/azure-mgmt-managementgroups-0.2.0.zip"
+
+ version('0.2.0', sha256='3d5237947458dc94b4a392141174b1c1258d26611241ee104e9006d1d798f682')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-maps/package.py
new file mode 100644
index 0000000000..8448f6fde4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-maps/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)
+
+
+class PyAzureMgmtMaps(PythonPackage):
+ """Microsoft Azure Maps Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-maps/azure-mgmt-maps-0.1.0.zip"
+
+ version('0.1.0', sha256='c120e210bb61768da29de24d28b82f8d42ae24e52396eb6569b499709e22f006')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrestazure@0.4.27:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
new file mode 100644
index 0000000000..a09eaf331c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-marketplaceordering/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtMarketplaceordering(PythonPackage):
+ """Microsoft Azure Market Place Ordering Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-marketplaceordering/azure-mgmt-marketplaceordering-0.2.1.zip"
+
+ version('0.2.1', sha256='dc765cde7ec03efe456438c85c6207c2f77775a8ce8a7adb19b0df5c5dc513c2')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
new file mode 100644
index 0000000000..7ef8dd5201
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-media/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtMedia(PythonPackage):
+ """Microsoft Azure Media Services Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-media/azure-mgmt-media-2.2.0.zip"
+
+ version('2.2.0', sha256='0adeee9e654a9011f5107def06fea6838864a3514a1e5a9ed495f3a56a687cc7')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
new file mode 100644
index 0000000000..681dbf6c22
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-monitor/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtMonitor(PythonPackage):
+ """Microsoft Azure Monitor Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-monitor/azure-mgmt-monitor-0.11.0.zip"
+
+ version('0.11.0', sha256='c6e1fe83dd2ddffa7f6d90c7aa63b3128042396a3893c14dc4816ad28cb15016')
+ version('0.10.0', sha256='d57d604cc1a7a9ce35eb7cf8a00d4924887c688aa78dc035ea1f80066b297464')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-msi/package.py
new file mode 100644
index 0000000000..abdbdc640a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-msi/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)
+
+
+class PyAzureMgmtMsi(PythonPackage):
+ """Microsoft Azure MSI Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-msi/azure-mgmt-msi-1.0.0.zip"
+
+ version('1.0.0', sha256='d46f3aab25db3dad520e4055c1d67afe4fcc6d66335c762134e60f82265f8f58')
+ version('0.2.0', sha256='8622bc9a164169a0113728ebe7fd43a88189708ce6e10d4507247d6907987167')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', when='@1:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', when='@1:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.27:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='@1: ^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
new file mode 100644
index 0000000000..401b2078c3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-netapp/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtNetapp(PythonPackage):
+ """Microsoft Azure NetApp Files Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-netapp/azure-mgmt-netapp-0.11.0.zip"
+
+ version('0.11.0', sha256='621a76b06c97e858d49b68953e66eb718ac24f91aa6bf090f32a335a38f02305')
+ version('0.8.0', sha256='67df7c7391c2179423a95927a639492c3a177bff8f3a80e4b2d666a86e2d6f6d')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
index cbc0473e79..549160d7ea 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-network/package.py
@@ -8,8 +8,9 @@ class PyAzureMgmtNetwork(PythonPackage):
"""Microsoft Azure Network Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-network/azure-mgmt-network-10.2.0.zip"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-network/azure-mgmt-network-11.0.0.zip"
+ version('11.0.0', sha256='7fdfc631c660cb173eee88abbb7b8be7742f91b522be6017867f217409cd69bc')
version('10.2.0', sha256='d50c74cdc1c9be6861ddef9adffd3b05afc5a5092baf0209eea30f4439cba2d9')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
new file mode 100644
index 0000000000..c0532b307a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-policyinsights/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtPolicyinsights(PythonPackage):
+ """Microsoft Azure Policy Insights Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-policyinsights/azure-mgmt-policyinsights-0.5.0.zip"
+
+ version('0.5.0', sha256='ed229e3845c477e88dde413825d4fba0d38b3a5ffab4e694c7d0da995f3db0f3')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
new file mode 100644
index 0000000000..5aa65aec57
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-privatedns/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtPrivatedns(PythonPackage):
+ """Microsoft Azure DNS Private Zones Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-privatedns/azure-mgmt-privatedns-0.1.0.zip"
+
+ version('0.1.0', sha256='d29cfd8cec806e06673d9382d3f5766fc65d9a9de75b424705094a34a7db8d23')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
new file mode 100644
index 0000000000..c375a82622
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-rdbms/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtRdbms(PythonPackage):
+ """Microsoft Azure RDBMS Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-rdbms/azure-mgmt-rdbms-2.2.0.zip"
+
+ version('2.2.0', sha256='f93344897a9bfa6ebc57dd0c10ad79602ff7965c322c65115e3f4b8584bbe1c7')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
new file mode 100644
index 0000000000..67a5987b8f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservices/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtRecoveryservices(PythonPackage):
+ """Microsoft Azure Recovery Services Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-recoveryservices/azure-mgmt-recoveryservices-0.5.0.zip"
+
+ version('0.5.0', sha256='3c90e6b2e358dbe6d5c6d7204955bdf52c3e977c6f8b727cbbb8811427d7fd52')
+ version('0.4.0', sha256='e1e794760232239f8a9328d5de1740565ff70d1612a2921c9609746ba5671e6c')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/package.py
new file mode 100644
index 0000000000..96b755acef
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-recoveryservicesbackup/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)
+
+
+class PyAzureMgmtRecoveryservicesbackup(PythonPackage):
+ """Microsoft Azure Recovery Services Backup Management Client Library for
+ Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-recoveryservicesbackup/azure-mgmt-recoveryservicesbackup-0.8.0.zip"
+
+ version('0.8.0', sha256='a0ee89691b21945cc4b892a9194320f50c1cd242d98f00a82d7e3848c28517a5')
+ version('0.6.0', sha256='4df62479c90a6f93e7689f9d58e0a139899f0407f5e3298d5ce014442599428f')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
new file mode 100644
index 0000000000..6503254cd8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-redhatopenshift/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtRedhatopenshift(PythonPackage):
+ """Microsoft Azure Red Hat Openshift Management Client Library for Python.
+ """
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-redhatopenshift/azure-mgmt-redhatopenshift-0.1.0.zip"
+
+ version('0.1.0', sha256='565afbc63f5283f37c76135174f2ca20dd417da3e24b3fb1e132c4a0e2a2c5bc')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-redis/package.py
new file mode 100644
index 0000000000..90d0e95241
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-redis/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)
+
+
+class PyAzureMgmtRedis(PythonPackage):
+ """Microsoft Azure Redis Cache Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-redis/azure-mgmt-redis-6.0.0.zip"
+
+ # Release candidate needed for py-azure-cli
+ version('7.0.0rc1', sha256='d3cc259c507b79962495ed00d0a3432a45e4e90a0fb48b49e80d51cdc398dc20')
+ version('6.0.0', sha256='db999e104edeee3a13a8ceb1881e15196fe03a02635e0e20855eb52c1e2ecca1', preferred=True)
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-relay/package.py
new file mode 100644
index 0000000000..fee12b519b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-relay/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)
+
+
+class PyAzureMgmtRelay(PythonPackage):
+ """Microsoft Azure Relay Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-relay/azure-mgmt-relay-0.2.0.zip"
+
+ version('0.2.0', sha256='a7e8341b2920d1d45bdf73d2b7825c44427d33fb0d820aceb11c94432323bf68')
+ version('0.1.0', sha256='d9f987cf2998b8a354f331b2a71082c049193f1e1cd345812e14b9b821365acb')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', when='@0.2:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', when='@0.2:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.20:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='@0.2: ^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
new file mode 100644
index 0000000000..b14a6d83dc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-reservations/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtReservations(PythonPackage):
+ """Microsoft Azure Reservations Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-reservations/azure-mgmt-reservations-0.7.0.zip"
+
+ version('0.7.0', sha256='f65c1985a47e0ac55e7d5d9cc1bd5e95335a111566edc289d460aa2bc8f80991')
+ version('0.6.0', sha256='83a9a70d6fd78b8b3e92ca64bbc1fde8d1bc5e2efea54076052c51c946b4cc9b')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
new file mode 100644
index 0000000000..42e7eae43d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-search/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtSearch(PythonPackage):
+ """Microsoft Azure Search Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-search/azure-mgmt-search-2.1.0.zip"
+
+ version('2.1.0', sha256='92a40a1a7a9e3a82b6fa302042799e8d5a67d3996c20835af72afc14f1610501')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
new file mode 100644
index 0000000000..27778ebcba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-security/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtSecurity(PythonPackage):
+ """Microsoft Azure Security Center Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-security/azure-mgmt-security-0.4.1.zip"
+
+ version('0.4.1', sha256='391c8df5400485049a6c19d50e536304c186bb64fd569eec0c6d01d20220ee21')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
new file mode 100644
index 0000000000..22fba6dcf8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-servicebus/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtServicebus(PythonPackage):
+ """Microsoft Azure Service Bus Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-servicebus/azure-mgmt-servicebus-0.6.0.zip"
+
+ version('0.6.0', sha256='f20920b8fb119ef4abeda4d2dac765a4fc48cd0bcf30c27f8c4cc6d890bc08b1')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
new file mode 100644
index 0000000000..519f7c632f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-servicefabric/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtServicefabric(PythonPackage):
+ """Microsoft Azure Service Fabric Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-servicefabric/azure-mgmt-servicefabric-0.4.0.zip"
+
+ version('0.4.0', sha256='a2cbd2797e796a550a93d37229b2ded22765f50166730a63c8e20a27677e28f4')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
new file mode 100644
index 0000000000..298f1b7b05
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-signalr/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtSignalr(PythonPackage):
+ """Microsoft Azure SignalR Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-signalr/azure-mgmt-signalr-0.4.0.zip"
+
+ version('0.4.0', sha256='6503ddda9d6f4b634dfeb8eb4bcd14ede5e0900585f6c83bf9010cf82215c126')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
new file mode 100644
index 0000000000..8bfe3781bb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-sql/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtSql(PythonPackage):
+ """Microsoft Azure SQL Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-sql/azure-mgmt-sql-0.19.0.zip"
+
+ version('0.19.0', sha256='694649d4c9c5f89e543f23ec10e450b6382b2f1bc5843ef266cfc302276038c6')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
new file mode 100644
index 0000000000..03565edb89
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-sqlvirtualmachine/package.py
@@ -0,0 +1,20 @@
+# 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)
+
+
+class PyAzureMgmtSqlvirtualmachine(PythonPackage):
+ """Microsoft Azure SQL Virtual Machine Management Client Library for
+ Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-sqlvirtualmachine/azure-mgmt-sqlvirtualmachine-0.5.0.zip"
+
+ version('0.5.0', sha256='b5a9423512a7b12844ac014366a1d53c81017a14f39676beedf004a532aa2aad')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
index c2dd7d68f5..f53822ef94 100644
--- a/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-storage/package.py
@@ -8,8 +8,9 @@ class PyAzureMgmtStorage(PythonPackage):
"""Microsoft Azure Storage Management Client Library for Python."""
homepage = "https://github.com/Azure/azure-sdk-for-python"
- url = "https://pypi.io/packages/source/a/azure-mgmt-storage/azure-mgmt-storage-11.0.0.zip"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-storage/azure-mgmt-storage-11.1.0.zip"
+ version('11.1.0', sha256='ef23587c1b6dc0866ebf0e91e83ba05d7f7e4fea7951b704781b9cd9f5f27f1c')
version('11.0.0', sha256='f9791c2a84eee0a55bbf757632a2a4d1e102db958e75422d5e0e7306041129b8')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
new file mode 100644
index 0000000000..fa6dc2c756
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-trafficmanager/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtTrafficmanager(PythonPackage):
+ """Microsoft Azure Traffic Manager Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-trafficmanager/azure-mgmt-trafficmanager-0.51.0.zip"
+
+ version('0.51.0', sha256='fc8ae77022cfe52fda4379a2f31e0b857574d536e41291a7b569b5c0f4104186')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py b/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
new file mode 100644
index 0000000000..b4d7f2ba45
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-mgmt-web/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyAzureMgmtWeb(PythonPackage):
+ """Microsoft Azure Web Apps Management Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-sdk-for-python"
+ url = "https://pypi.io/packages/source/a/azure-mgmt-web/azure-mgmt-web-0.47.0.zip"
+
+ version('0.47.0', sha256='789a328e2a60df48a82452ca6fbc1a7b4adf3c38d4701d278efe4e81cf21cce8')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.5.0:', type=('build', 'run'))
+ depends_on('py-msrestazure@0.4.32:1.999', type=('build', 'run'))
+ depends_on('py-azure-common@1.1:1.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py b/var/spack/repos/builtin/packages/py-azure-multiapi-storage/package.py
new file mode 100644
index 0000000000..5d5a8442b5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-multiapi-storage/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)
+
+
+class PyAzureMultiapiStorage(PythonPackage):
+ """Microsoft Azure Storage Client Library for Python with multi API
+ version support."""
+
+ homepage = "https://github.com/Azure/azure-multiapi-storage-python"
+ url = "https://pypi.io/packages/source/a/azure-multiapi-storage/azure-multiapi-storage-0.3.5.tar.gz"
+
+ version('0.3.5', sha256='71c238c785786a159b3ffd587a5e7fa1d9a517b66b592ae277fed73a9fbfa2b0')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-common', type=('build', 'run'))
+ depends_on('py-cryptography', type=('build', 'run'))
+ depends_on('py-python-dateutil', type=('build', 'run'))
+ depends_on('py-requests', type=('build', 'run'))
+ depends_on('py-azure-core', type=('build', 'run'))
+ depends_on('py-futures', when='^python@:2', type=('build', 'run'))
+ depends_on('py-azure-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-storage-common/package.py b/var/spack/repos/builtin/packages/py-azure-storage-common/package.py
new file mode 100644
index 0000000000..70902f28d9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-storage-common/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)
+
+
+class PyAzureStorageCommon(PythonPackage):
+ """Microsoft Azure Storage Common Client Library for Python."""
+
+ homepage = "https://github.com/Azure/azure-storage-python"
+ url = "https://pypi.io/packages/source/a/azure-storage-common/azure-storage-common-2.1.0.tar.gz"
+
+ version('2.1.0', sha256='ccedef5c67227bc4d6670ffd37cec18fb529a1b7c3a5e53e4096eb0cf23dc73f')
+ version('1.4.2', sha256='4ec87c7537d457ec95252e0e46477e2c1ccf33774ffefd05d8544682cb0ae401')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-common@1.1.5:', type=('build', 'run'))
+ depends_on('py-cryptography', type=('build', 'run'))
+ depends_on('py-python-dateutil', type=('build', 'run'))
+ depends_on('py-requests', type=('build', 'run'))
+ depends_on('py-azure-storage-nspkg', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py b/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
new file mode 100644
index 0000000000..da8878813f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azure-storage-nspkg/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PyAzureStorageNspkg(PythonPackage):
+ """Microsoft Azure Storage Namespace Package."""
+
+ homepage = "https://github.com/Azure/azure-storage-python"
+ url = "https://pypi.io/packages/source/a/azure-storage-nspkg/azure-storage-nspkg-3.1.0.tar.gz"
+
+ version('3.1.0', sha256='6f3bbe8652d5f542767d8433e7f96b8df7f518774055ac7c92ed7ca85f653811')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-azure-nspkg@2.0.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py b/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py
index 59fa585cae..9a50fbe3cc 100644
--- a/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py
@@ -9,15 +9,20 @@ class PyAzuremlAutomlCore(Package):
used by the azureml-train-automl package."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_automl_core/azureml_automl_core-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_automl_core/azureml_automl_core-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='58ce54b01570996cda860c0c80693b8db19324785a356573f105afeaa31cae6c', expand=False)
+ version('1.11.0', sha256='da1b9cef9aabbfaee69a19d5e15f5a911eefbd126546738343a78c032860b5a5', expand=False)
+ version('1.8.0', sha256='58ce54b01570996cda860c0c80693b8db19324785a356573f105afeaa31cae6c', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-azureml-dataprep@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.8.0:1.8.999', type=('build', 'run'))
+
+ depends_on('py-azureml-dataset-runtime@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-telemetry@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-dataprep@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-telemetry@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-core/package.py b/var/spack/repos/builtin/packages/py-azureml-core/package.py
index 3c1a74fcf9..673b7542de 100644
--- a/var/spack/repos/builtin/packages/py-azureml-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-core/package.py
@@ -12,9 +12,10 @@ class PyAzuremlCore(Package):
"""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_core/azureml_core-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_core/azureml_core-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='a0f2b0977f18fb7dcb88c314594a4a85c636a36be3d582be1cae25655fea6105', expand=False)
+ version('1.11.0', sha256='df8a01b04bb156852480de0bdd78434ed84f386e1891752bdf887faeaa2ca417', expand=False)
+ version('1.8.0', sha256='a0f2b0977f18fb7dcb88c314594a4a85c636a36be3d582be1cae25655fea6105', expand=False)
extends('python')
depends_on('python@3.5:3.8', type=('build', 'run'))
@@ -28,7 +29,7 @@ class PyAzuremlCore(Package):
depends_on('py-azure-mgmt-storage@1.5.0:', type=('build', 'run'))
depends_on('py-azure-mgmt-keyvault@0.40.0:', type=('build', 'run'))
depends_on('py-azure-mgmt-authorization@0.40.0:', type=('build', 'run'))
- depends_on('py-azure-mgmt-network@10.0:10.999', type=('build', 'run'))
+ depends_on('py-azure-mgmt-network@10.0:10.999', when='@1.8.0', type=('build', 'run'))
depends_on('py-azure-graphrbac@0.40.0:', type=('build', 'run'))
depends_on('py-azure-common@1.1.12:', type=('build', 'run'))
depends_on('py-msrest@0.5.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py b/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py
index 064ce4e0e6..18a4dcfd72 100644
--- a/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py
@@ -8,8 +8,9 @@ class PyAzuremlDataprep(Package):
"""Azure ML Data Preparation SDK."""
homepage = "http://aka.ms/data-prep-sdk"
- url = "https://pypi.io/packages/py3/a/azureml_dataprep/azureml_dataprep-1.8.2-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_dataprep/azureml_dataprep-2.0.2-py3-none-any.whl"
+ version('2.0.2', sha256='9b9e97d9ed29c0641d3ceb37745ff078143bd235c53df528f847ec0684c52f79', expand=False)
version('1.8.2', sha256='e53f3206f0bd4af8d5e7de3a94c2c6e662902b86e94a7b9d930e36329fe5820f', expand=False)
variant('fuse', default=False, description='Build with FUSE support')
@@ -17,11 +18,11 @@ class PyAzuremlDataprep(Package):
extends('python')
depends_on('python@3:', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-dotnetcore2@2.1.14:', type=('build', 'run'))
+ depends_on('py-dotnetcore2@2.1.14:2.999', type=('build', 'run'))
depends_on('py-azureml-dataprep-native@14.2.1:14.999', type=('build', 'run'))
- depends_on('py-cloudpickle@1.1.0:', type=('build', 'run'))
+ depends_on('py-cloudpickle@1.1.0:1.999', type=('build', 'run'))
depends_on('py-azure-identity@1.2.0:1.2.999', type=('build', 'run'))
- depends_on('py-fusepy@3.0.1:', when='+fuse', type=('build', 'run'))
+ depends_on('py-fusepy@3.0.1:3.999', when='+fuse', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py b/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py
new file mode 100644
index 0000000000..e7849b8b7e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py
@@ -0,0 +1,27 @@
+# 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)
+
+
+class PyAzuremlDatasetRuntime(Package):
+ """The purpose of this package is to coordinate dependencies within
+ AzureML packages. It is not intended for public use."""
+
+ homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
+ url = "https://pypi.io/packages/py3/a/azureml-dataset-runtime/azureml_dataset_runtime-1.11.0.post1-py3-none-any.whl"
+
+ version('1.11.0.post1', sha256='65c20f276399a7d406c4850af7a6f149472d301931fd1da6a60bad59d43fa47b', expand=False)
+
+ variant('fuse', default=False, description='Build with FUSE support')
+
+ extends('python')
+ depends_on('python@3.0:3.999', type=('build', 'run'))
+ depends_on('py-pip', type='build')
+ depends_on('py-azureml-dataprep@2.0.1:2.0.999', type=('build', 'run'))
+ depends_on('py-pyarrow@0.17.0:0.999', type=('build', 'run'))
+ depends_on('py-fusepy@3.0.1:3.999', when='+fuse', type=('build', 'run'))
+
+ def install(self, spec, prefix):
+ pip = which('pip')
+ pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py
index ba7128b03e..2df7e538ac 100644
--- a/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py
@@ -8,14 +8,18 @@ class PyAzuremlPipelineCore(Package):
"""Core functionality to enable azureml-pipeline feature."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_pipeline_core/azureml_pipeline_core-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_pipeline_core/azureml_pipeline_core-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='24e1c57a57e75f9d74ea6f45fa4e93c1ee3114c8ed9029d538f9cc8e4f8945b2', expand=False)
+ version('1.11.0', sha256='98012195e3bba12bf42ac69179549038b3563b39e3dadab4f1d06407a00ad8b3', expand=False)
+ version('1.8.0', sha256='24e1c57a57e75f9d74ea6f45fa4e93c1ee3114c8ed9029d538f9cc8e4f8945b2', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-azureml-core@1.8.0:1.8.999', type=('build', 'run'))
+
+ depends_on('py-azureml-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py
index c461e8c8e6..5cb949660c 100644
--- a/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py
@@ -8,16 +8,22 @@ class PyAzuremlPipelineSteps(Package):
"""Represents a unit of computation in azureml-pipeline."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_pipeline_steps/azureml_pipeline_steps-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_pipeline_steps/azureml_pipeline_steps-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='3310674207ed457a26fb978e7168e400306c695f7f854f354dee9d5c7c81304c', expand=False)
+ version('1.11.0', sha256='674317d9c74ec4cb05e443f50de1732e14dc4519cbe2743a44f8db0bc5e71214', expand=False)
+ version('1.8.0', sha256='3310674207ed457a26fb978e7168e400306c695f7f854f354dee9d5c7c81304c', expand=False)
extends('python')
depends_on('python@3:', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-azureml-train-core@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-train-automl-client@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-pipeline-core@1.8.0:1.8.999', type=('build', 'run'))
+
+ depends_on('py-azureml-train-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-train-automl-client@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-pipeline-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-train-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-train-automl-client@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-pipeline-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py
index 8d359f92aa..e66b510d68 100644
--- a/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py
@@ -9,15 +9,20 @@ class PyAzuremlPipeline(Package):
pipelines as well as to submit and track individual pipeline runs."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_pipeline/azureml_pipeline-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_pipeline/azureml_pipeline-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='43ce39789d9a255f147311e40274b5f2571c7ef3b52e218f248724ccb377a02c', expand=False)
+ version('1.11.0', sha256='8233c66b4120e86b9a9346608ca53bf48d5b9f0558300314034426dd0d7897d6', expand=False)
+ version('1.8.0', sha256='43ce39789d9a255f147311e40274b5f2571c7ef3b52e218f248724ccb377a02c', expand=False)
extends('python')
depends_on('python@3:', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-azureml-pipeline-core@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-pipeline-steps@1.8.0:1.8.999', type=('build', 'run'))
+
+ depends_on('py-azureml-pipeline-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-pipeline-steps@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-pipeline-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-pipeline-steps@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-sdk/package.py b/var/spack/repos/builtin/packages/py-azureml-sdk/package.py
index fd14b0ed7b..cd7f504fd3 100644
--- a/var/spack/repos/builtin/packages/py-azureml-sdk/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-sdk/package.py
@@ -8,26 +8,28 @@ class PyAzuremlSdk(Package):
"""Microsoft Azure Machine Learning Python SDK."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_sdk/azureml_sdk-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_sdk/azureml_sdk-1.11.0-py3-none-any.whl"
maintainers = ['adamjstewart']
- version('1.8.0', sha256='61107db1403ce2c1a12064eb0fa31a1d075debbf32dd17cb93b7639b615b7839', expand=False)
+ version('1.11.0', sha256='d8c9d24ea90457214d798b0d922489863dad518adde3638e08ef62de28fb183a', expand=False)
+ version('1.8.0', sha256='61107db1403ce2c1a12064eb0fa31a1d075debbf32dd17cb93b7639b615b7839', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
depends_on('py-pip', type='build')
- # For version 1.8.0, dependencies are locked to ~= 1.8.0
- for ver in ['1.8.0']:
- ver = Version(ver)
- for dep in [
- 'core', 'train', 'train-automl-client', 'pipeline',
- 'dataprep+fuse'
- ]:
- depends_on('py-azureml-{0}@{1}:{2}.999'.format(
- dep, ver, ver.up_to(2)
- ), when='@{0}'.format(ver), type=('build', 'run'))
+ depends_on('py-azureml-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-dataset-runtime@1.11.0:1.11.999 +fuse', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-train@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-train-automl-client@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-pipeline@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-train@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-train-automl-client@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-pipeline@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-dataprep@1.8.0:1.8.999 +fuse', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py b/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py
index 4ceaf33399..510ea5ec5d 100644
--- a/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py
@@ -9,15 +9,19 @@ class PyAzuremlTelemetry(Package):
data."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_telemetry/azureml_telemetry-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_telemetry/azureml_telemetry-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='de657efe9773bea0de76c432cbab34501ac28606fe1b380d6883562ebda3d804', expand=False)
+ version('1.11.0', sha256='0d46c4a7bb8c0b188f1503504a6029384bc2237d82a131e7d1e9e89c3491b1fc', expand=False)
+ version('1.8.0', sha256='de657efe9773bea0de76c432cbab34501ac28606fe1b380d6883562ebda3d804', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
depends_on('py-pip', type='build')
depends_on('py-applicationinsights', type=('build', 'run'))
- depends_on('py-azureml-core@1.8.0:1.8.999', type=('build', 'run'))
+
+ depends_on('py-azureml-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py b/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py
index 739af7a07f..51f977dcf8 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py
@@ -10,17 +10,24 @@ class PyAzuremlTrainAutomlClient(Package):
given training and test data."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train_automl_client/azureml_train_automl_client-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_train_automl_client/azureml_train_automl_client-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='562300095db6c4dea7b052e255c53dd95c4c3d0589a828b545497fe1ca7e9677', expand=False)
+ version('1.11.0', sha256='3184df60a46917e92140a299aecb54591b19df490a3f4f571ff1f92c5e70a715', expand=False)
+ version('1.8.0', sha256='562300095db6c4dea7b052e255c53dd95c4c3d0589a828b545497fe1ca7e9677', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-azureml-dataprep@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-automl-core@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-core@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.8.0:1.8.999', type=('build', 'run'))
+
+ depends_on('py-azureml-automl-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-dataset-runtime@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-telemetry@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-dataprep@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-automl-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-telemetry@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-train-core/package.py b/var/spack/repos/builtin/packages/py-azureml-train-core/package.py
index 55e706762a..b15cd2e82b 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train-core/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train-core/package.py
@@ -9,17 +9,23 @@ class PyAzuremlTrainCore(Package):
metapackage."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train_core/azureml_train_core-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_train_core/azureml_train_core-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='5a8d90a08d4477527049d793feb40d07dc32fafc0e4e57b4f0729d3c50b408a2', expand=False)
+ version('1.11.0', sha256='1b5fd813d21e75cd522d3a078eba779333980a309bcff6fc72b74ddc8e7a26f1', expand=False)
+ version('1.8.0', sha256='5a8d90a08d4477527049d793feb40d07dc32fafc0e4e57b4f0729d3c50b408a2', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-azureml-train-restclients-hyperdrive@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-core@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-azureml-telemetry@1.8.0:1.8.999', type=('build', 'run'))
- depends_on('py-flake8@3.1.0:3.7.9', when='^python@3.6:', type=('build', 'run'))
+
+ depends_on('py-azureml-train-restclients-hyperdrive@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+ depends_on('py-azureml-telemetry@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-train-restclients-hyperdrive@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-azureml-telemetry@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
+ depends_on('py-flake8@3.1.0:3.7.9', when='@1.8.0 ^python@3.6:', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py b/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py
index 4bcf121cc8..36ce557724 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py
@@ -9,9 +9,10 @@ class PyAzuremlTrainRestclientsHyperdrive(Package):
azureml-train metapackage."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train_restclients_hyperdrive/azureml_train_restclients_hyperdrive-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_train_restclients_hyperdrive/azureml_train_restclients_hyperdrive-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='1633c7eb0fd96714f54f72072ccf1c5ee1ef0a8ba52680793f20d27e0fd43c87', expand=False)
+ version('1.11.0', sha256='8bc6f9676a9f75e6ee06d201c418ea904c24e854f26cf799b08c259c3ac92d13', expand=False)
+ version('1.8.0', sha256='1633c7eb0fd96714f54f72072ccf1c5ee1ef0a8ba52680793f20d27e0fd43c87', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-azureml-train/package.py b/var/spack/repos/builtin/packages/py-azureml-train/package.py
index c285968349..c8917a5700 100644
--- a/var/spack/repos/builtin/packages/py-azureml-train/package.py
+++ b/var/spack/repos/builtin/packages/py-azureml-train/package.py
@@ -10,14 +10,18 @@ class PyAzuremlTrain(Package):
tuning using Azure cloud."""
homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/"
- url = "https://pypi.io/packages/py3/a/azureml_train/azureml_train-1.8.0-py3-none-any.whl"
+ url = "https://pypi.io/packages/py3/a/azureml_train/azureml_train-1.11.0-py3-none-any.whl"
- version('1.8.0', sha256='124e5b7d8d64bac61db022f305bd31c25e57fdcb4be93eefd4244a04a13deab3', expand=False)
+ version('1.11.0', sha256='7800a3067979972b976c81082dc509e23c04405129cc1fdef0f9cd7895bcafc7', expand=False)
+ version('1.8.0', sha256='124e5b7d8d64bac61db022f305bd31c25e57fdcb4be93eefd4244a04a13deab3', expand=False)
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
depends_on('py-pip', type='build')
- depends_on('py-azureml-train-core@1.8.0:1.8.999', type=('build', 'run'))
+
+ depends_on('py-azureml-train-core@1.11.0:1.11.999', when='@1.11.0', type=('build', 'run'))
+
+ depends_on('py-azureml-train-core@1.8.0:1.8.999', when='@1.8.0', type=('build', 'run'))
def install(self, spec, prefix):
pip = which('pip')
diff --git a/var/spack/repos/builtin/packages/py-boto/package.py b/var/spack/repos/builtin/packages/py-boto/package.py
new file mode 100644
index 0000000000..005ba180ed
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-boto/package.py
@@ -0,0 +1,19 @@
+# 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 PyBoto(PythonPackage):
+ """Boto is a Python package that provides interfaces to
+ Amazon Web Services."""
+
+ homepage = "https://github.com/boto/boto"
+ url = "https://github.com/boto/boto/archive/2.49.0.tar.gz"
+
+ version('2.49.0', sha256='3dbefd4f4542f85a323d4f54601f31ed4d362fc87945245f32e4a85029513314')
+
+ depends_on('python@2.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-chainmap/package.py b/var/spack/repos/builtin/packages/py-chainmap/package.py
new file mode 100644
index 0000000000..f68782e7b4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-chainmap/package.py
@@ -0,0 +1,22 @@
+# 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 PyChainmap(PythonPackage):
+ """Clone/backport of ChainMap for Python 2.6, Python 3.2, and PyPy3
+ based on Python 3.2--versions that currently lack their own
+ ChainMap implementations."""
+
+ homepage = "https://bitbucket.org/jeunice/chainmap/src/default/"
+ url = "https://pypi.io/packages/source/c/chainmap/chainmap-1.0.3.tar.gz"
+
+ version('1.0.3', sha256='e42aaa4b3e2f66102a11bfd563069704bfbfd84fdcb517b564effd736bf53cd9')
+ version('1.0.2', sha256='405da3bce9913bfb33e6e497803b447b60d12ab44031ca357626143e087e0526')
+ version('1.0.1', sha256='c1cd76c679dd7af982ec5a45788ef4a0dfc20e77f27ccdeca289a5141862ff64')
+ version('1.0.0', sha256='2e24b2efa3494b16772282812efcd712b1d6b80e1b761a56b1b7cbc8fe0313c4')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-cmake/package.py b/var/spack/repos/builtin/packages/py-cmake/package.py
new file mode 100644
index 0000000000..fc2ab57044
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-cmake/package.py
@@ -0,0 +1,20 @@
+# 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 PyCmake(PythonPackage):
+ """CMake is an open-source, cross-platform family of tools designed to
+ build, test and package software
+ """
+
+ homepage = "https://cmake.org/"
+ url = "https://pypi.io/packages/source/c/cmake/cmake-3.18.0.tar.gz"
+
+ version('3.18.0', sha256='52b98c5ee70b5fa30a8623e96482227e065292f78794eb085fdf0fecb204b79b')
+
+ depends_on('cmake@3.18.0', type=('build', 'link', 'run'), when='@3.18.0')
+ depends_on('py-scikit-build', type='build')
diff --git a/var/spack/repos/builtin/packages/py-colorspacious/package.py b/var/spack/repos/builtin/packages/py-colorspacious/package.py
new file mode 100644
index 0000000000..9efa00007f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-colorspacious/package.py
@@ -0,0 +1,20 @@
+# 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 PyColorspacious(PythonPackage):
+ """A powerful, accurate, and easy-to-use Python library for doing colorspace
+ conversions.
+ """
+
+ homepage = "https://github.com/njsmith/colorspacious"
+ url = "https://pypi.io/packages/source/c/colorspacious/colorspacious-1.1.2.tar.gz"
+
+ version('1.1.2', sha256='5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-commonmark/package.py b/var/spack/repos/builtin/packages/py-commonmark/package.py
new file mode 100644
index 0000000000..0d0e31bc68
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-commonmark/package.py
@@ -0,0 +1,19 @@
+# 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 PyCommonmark(PythonPackage):
+ """commonmark.py is a pure Python port of jgm's commonmark.js, a Markdown
+ parser and renderer for the CommonMark specification, using only native
+ modules."""
+
+ homepage = "https://github.com/readthedocs/commonmark.py"
+ url = "https://pypi.io/packages/source/c/commonmark/commonmark-0.9.0.tar.gz"
+
+ version('0.9.0', sha256='867fc5db078ede373ab811e16b6789e9d033b15ccd7296f370ca52d1ee792ce0')
+
+ depends_on('py-future')
diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py
index f017a53c08..42282d5152 100644
--- a/var/spack/repos/builtin/packages/py-cython/package.py
+++ b/var/spack/repos/builtin/packages/py-cython/package.py
@@ -10,7 +10,7 @@ class PyCython(PythonPackage):
"""The Cython compiler for writing C extensions for the Python language."""
homepage = "https://pypi.python.org/pypi/cython"
- url = "https://pypi.io/packages/source/c/cython/Cython-0.29.16.tar.gz"
+ url = "https://pypi.io/packages/source/c/cython/Cython-0.29.21.tar.gz"
import_modules = [
'cython', 'Cython', 'Cython.Build', 'Cython.Compiler',
@@ -20,6 +20,7 @@ class PyCython(PythonPackage):
'Cython.Tempita', 'pyximport',
]
+ version('0.29.21', sha256='e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad')
version('0.29.16', sha256='232755284f942cbb3b43a06cd85974ef3c970a021aef19b5243c03ee2b08fa05')
version('0.29.15', sha256='60d859e1efa5cc80436d58aecd3718ff2e74b987db0518376046adedba97ac30')
version('0.29.14', sha256='e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414')
diff --git a/var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py b/var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py
new file mode 100644
index 0000000000..42e56516d1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-dp-gp-cluster/package.py
@@ -0,0 +1,33 @@
+# 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 *
+from os import unlink
+from glob import glob
+
+
+class PyDpGpCluster(PythonPackage):
+ """DP_GP_cluster clusters genes by expression over a time course using a
+ Dirichlet process Gaussian process model."""
+
+ homepage = "https://github.com/PrincetonUniversity/DP_GP_cluster"
+ git = "https://github.com/PrincetonUniversity/DP_GP_cluster.git"
+
+ version('2019-09-22', commit='eec12e74219f916aa86e253783905f7b5e30f6f4')
+
+ depends_on('python@2.7:2.8', type=('build', 'run'))
+
+ depends_on('py-cython', type='build')
+ depends_on('py-gpy@0.8.8:0.9.9', type=('build', 'run'))
+ depends_on('py-pandas', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-scipy@0.14:', type=('build', 'run'))
+ depends_on('py-matplotlib', type=('build', 'run'))
+ depends_on('py-scikit-learn', type=('build', 'run'))
+
+ @run_before('build')
+ def remove_cython_output(self):
+ for f in glob('DP_GP/*.c'):
+ unlink(f)
diff --git a/var/spack/repos/builtin/packages/py-fabric/package.py b/var/spack/repos/builtin/packages/py-fabric/package.py
new file mode 100644
index 0000000000..b8ccb624bb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fabric/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)
+
+
+class PyFabric(PythonPackage):
+ """High level SSH command execution."""
+
+ homepage = "http://fabfile.org/"
+ url = "https://pypi.io/packages/source/f/fabric/fabric-2.5.0.tar.gz"
+
+ version('2.5.0', sha256='24842d7d51556adcabd885ac3cf5e1df73fc622a1708bf3667bf5927576cdfa6')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-invoke@1.3:1.999', type=('build', 'run'))
+ depends_on('py-paramiko@2.4:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-fenics-dijitso/package.py b/var/spack/repos/builtin/packages/py-fenics-dijitso/package.py
new file mode 100644
index 0000000000..d2cd6865d3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fenics-dijitso/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2019 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 PyFenicsDijitso(PythonPackage):
+ """A Python module for distributed just-in-time shared library building"""
+
+ homepage = "https://bitbucket.org/fenics-project/dijitso"
+ url = "https://bitbucket.org/fenics-project/dijitso/downloads/dijitso-2018.1.0.tar.gz"
+ git = "https://bitbucket.org/fenics-project/dijitso.git"
+ maintainers = ["js947", "chrisrichardson"]
+
+ version("master", branch="master")
+ version("2018.1.0", sha256="2084ada1e7bd6ecec0999b15a17db98c72e26f1ccbf3fcbe240b1a035a1a2e64")
+ version("2017.2.0", sha256="05a893d17f8a50067d303b232e41592dce2840d6499677ad8b457ba58a679b58")
+ version("2017.1.0", sha256="ef23952539d349fbd384d41302abc94413d485ca7e8c29e8a0debc2aadaf8657")
+ version("2016.2.0", sha256="1bfa0ac0d47dae75bbde8fabb1145d3caa2e6c28a1e4097ad5550a91a8a205e4")
+
+ depends_on("py-setuptools", type="build")
+ depends_on("python@3.5:", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py
new file mode 100644
index 0000000000..211a68e5cf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py
@@ -0,0 +1,28 @@
+# Copyright 2013-2019 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 PyFenicsDolfinx(PythonPackage):
+ """Python interface library to Next generation FEniCS problem solving
+ environment"""
+
+ homepage = "https://github.com/FEniCS/dolfinx"
+ git = "https://github.com/FEniCS/dolfinx.git"
+ maintainers = ["js947", "chrisrichardson"]
+
+ version("master", branch="master")
+
+ depends_on("cmake@3.9:", type="build")
+ depends_on("fenics-dolfinx@master")
+ depends_on("py-mpi4py", type=("build", "run"))
+ depends_on("py-petsc4py", type=("build", "run"))
+ depends_on("py-pybind11", type=("build", "run"))
+
+ import_modules = ['dolfinx']
+ phases = ['build_ext', 'build', 'install']
+
+ build_directory = 'python'
diff --git a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py
new file mode 100644
index 0000000000..abc7792afb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py
@@ -0,0 +1,23 @@
+# Copyright 2013-2019 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 PyFenicsFfcx(PythonPackage):
+ """Next generation FEniCS Form Compiler"""
+
+ homepage = "https://github.com/FEniCS/ffcx"
+ git = "https://github.com/FEniCS/ffcx.git"
+ maintainers = ["js947", "chrisrichardson"]
+
+ version("master", branch="master")
+
+ depends_on('python@3.5:', type=('build', 'run'))
+ depends_on("py-setuptools", type=("build", "run"))
+ depends_on("py-cffi", type=("build", "run"))
+ depends_on("py-fenics-ufl@master", type=("build", "run"))
+ depends_on("py-fenics-fiat@master", type=("build", "run"))
+ depends_on("py-numpy", type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fenics-fiat/package.py b/var/spack/repos/builtin/packages/py-fenics-fiat/package.py
new file mode 100644
index 0000000000..f6f9aa5825
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fenics-fiat/package.py
@@ -0,0 +1,34 @@
+# Copyright 2013-2019 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 PyFenicsFiat(PythonPackage):
+ """The FInite element Automatic Tabulator FIAT supports generation of
+ arbitrary order instances of the Lagrange elements on lines, triangles, and
+ tetrahedra. It is also capable of generating arbitrary order instances of
+ Jacobi-type quadrature rules on the same element shapes. Further, H(div)
+ and H(curl) conforming finite element spaces such as the families of
+ Raviart-Thomas, Brezzi-Douglas-Marini and Nedelec are supported on
+ triangles and tetrahedra. Upcoming versions will also support Hermite and
+ nonconforming elements"""
+
+ homepage = "https://fenicsproject.org/"
+ url = "https://github.com/FEniCS/fiat/archive/2019.1.0.tar.gz"
+ git = "https://github.com/FEniCS/fiat.git"
+ maintainers = ["js947", "chrisrichardson"]
+
+ version("master", branch="master")
+ version('2019.1.0', sha256='2a6d175a825ed725843918ef28846edbcf710a879c2fe8caaeda77b1ce9b9a1c')
+ version('2018.1.0', sha256='7468709c7aacf7dfb22c09fb5250448eb24084b9dd088ec2632a96d56c0f3830')
+ version('2017.2.0', sha256='e4d3ffc86a0a717b3f17b9bb2d922214c342be27e5bdfbe50f110030bfff9729')
+ version('2017.1.0.post1', sha256='1784fe1cb9479ca7cd85f63b0afa6e07634feec8d8e82fa8be4c480649cb9621')
+ version('2017.1.0', sha256='d4288401ad16c4598720f9db0810a522f7f0eadad35d8211bac7120bce5fde94')
+
+ depends_on('python@3:', type=('build', 'run'))
+ depends_on('py-setuptools', type="build")
+ depends_on('py-numpy', type=("build", "run"))
+ depends_on('py-sympy', type=("build", "run"))
diff --git a/var/spack/repos/builtin/packages/py-fenics-ufl/package.py b/var/spack/repos/builtin/packages/py-fenics-ufl/package.py
new file mode 100644
index 0000000000..0476cd33c6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fenics-ufl/package.py
@@ -0,0 +1,30 @@
+# Copyright 2013-2019 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 PyFenicsUfl(PythonPackage):
+ """The Unified Form Language (UFL) is a domain specific language for
+ declaration of finite element discretizations of variational forms. More
+ precisely, it defines a flexible interface for choosing finite element
+ spaces and defining expressions for weak forms in a notation close to
+ mathematical notation."""
+
+ homepage = "https://fenicsproject.org/"
+ url = "https://github.com/FEniCS/ufl/archive/2019.1.0.tar.gz"
+ git = "https://github.com/FEniCS/ufl.git"
+ maintainers = ["js947", "chrisrichardson"]
+
+ version("master", branch="master")
+ version('2019.1.0', sha256='46ac0df4e96327be10b9576d2b8fa8b2c4ca62d3c681d407f5718b162d3ca22d')
+ version('2018.1.0', sha256='b0d4c2f43f396fd5609317b70d55b53b89c649962fc8a593f4e0e21607da211d')
+ version('2017.2.0.post0', sha256='111e77707cd6731584b1041f405c2fd3f1752a86c51fd9c430524bd396f293b0')
+ version('2017.2.0', sha256='0adff7a511185b20c38ddaccdeed6c1b2ecafe4b163c688bfd1316d5c3b1c00d')
+ version('2017.1.0.post1', sha256='82c8170f44c2392c7e60aa86495df22cc209af50735af8115dc35aeda4b0ca96')
+
+ depends_on("python@3.5:", 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-fisher/package.py b/var/spack/repos/builtin/packages/py-fisher/package.py
new file mode 100644
index 0000000000..45e0fc5110
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fisher/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)
+
+from spack import *
+
+
+class PyFisher(PythonPackage):
+ """Fisher's Exact Test.
+
+ Simple, fast implementation of Fisher's exact test."""
+
+ homepage = "https://github.com/brentp/fishers_exact_test"
+ url = "https://pypi.io/packages/source/f/fisher/fisher-0.1.9.tar.gz"
+
+ version('0.1.9', sha256='d378b3f7e488e2a679c6d0e5ea1bce17bc931c2bfe8ec8424ee47a74f251968d')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-fortran-language-server/package.py b/var/spack/repos/builtin/packages/py-fortran-language-server/package.py
new file mode 100644
index 0000000000..277cf91c9d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-fortran-language-server/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)
+
+from spack import *
+
+
+class PyFortranLanguageServer(PythonPackage):
+ """A Fortran implementation of the Language Server Protocol using Python
+ (2.7+ or 3.0+)."""
+
+ homepage = "https://github.com/hansec/fortran-language-server"
+ url = "https://github.com/hansec/fortran-language-server/archive/v1.10.3.tar.gz"
+
+ maintainers = ['AndrewGaspar']
+
+ version('1.11.1', sha256='8f03782dd992d6652a3f2d349115fdad3aa3464fee3fafbbc4f8ecf780166e3c')
+
+ depends_on('python@2.7:', type=('build', 'run'))
+ depends_on('py-future', type=('build', 'run'), when='^python@:2')
+ depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6,3.0:3.1')
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-gensim/package.py b/var/spack/repos/builtin/packages/py-gensim/package.py
index a08cbbe98d..fe3e4a192c 100644
--- a/var/spack/repos/builtin/packages/py-gensim/package.py
+++ b/var/spack/repos/builtin/packages/py-gensim/package.py
@@ -16,12 +16,22 @@ class PyGensim(PythonPackage):
maintainers = ['adamjstewart']
+ version('3.8.3', sha256='786adb0571f75114e9c5f7a31dd2e6eb39a9791f22c8757621545e2ded3ea367')
version('3.8.1', sha256='33277fc0a8d7b0c7ce70fcc74bb82ad39f944c009b334856c6e86bf552b1dfdc')
version('3.8.0', sha256='ec5de7ff2bfa8692fa96a846bb5aae52f267fc322fbbe303c1f042d258af5766')
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-numpy@1.11.3:', type=('build', 'run'))
- depends_on('py-scipy@0.18.1:', type=('build', 'run'))
+
+ depends_on('py-numpy@1.11.3:1.16.1', when='^python@:2.999', type=('build', 'run'))
+ depends_on('py-numpy@1.11.3:', when='^python@3:', type=('build', 'run'))
+
+ depends_on('py-scipy@0.18.1:1.2.3', when='^python@:2.999', type=('build', 'run'))
+ depends_on('py-scipy@0.18.1:', when='^python@3:', type=('build', 'run'))
+
depends_on('py-six@1.5.0:', type=('build', 'run'))
- depends_on('py-smart-open@1.8.1:', type=('build', 'run'))
+
+ depends_on('py-smart-open@1.7.0:1.10.9999', when='@3.8.0^python@:2.999', type=('build', 'run'))
+ depends_on('py-smart-open@1.7.0:', when='@3.8.0^python@3:', type=('build', 'run'))
+ depends_on('py-smart-open@1.8.1:1.10.9999', when='@3.8.1:^python@:2.999', type=('build', 'run'))
+ depends_on('py-smart-open@1.8.1:', when='@3.8.1:^python@3:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py b/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
new file mode 100644
index 0000000000..96710e1a17
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-googledrivedownloader/package.py
@@ -0,0 +1,15 @@
+# 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)
+
+
+class PyGoogledrivedownloader(PythonPackage):
+ """Minimal class to download shared files from Google Drive."""
+
+ homepage = "https://github.com/ndrplz/google-drive-downloader"
+ url = "https://pypi.io/packages/source/g/googledrivedownloader/googledrivedownloader-0.4.tar.gz"
+
+ version('0.4', sha256='4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204')
+
+ 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 59bebda5d0..d85c28b52d 100644
--- a/var/spack/repos/builtin/packages/py-gpy/package.py
+++ b/var/spack/repos/builtin/packages/py-gpy/package.py
@@ -13,10 +13,11 @@ class PyGpy(PythonPackage):
url = "https://pypi.io/packages/source/g/gpy/GPy-1.9.9.tar.gz"
version('1.9.9', sha256='04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed')
+ version('0.8.8', sha256='e135d928cf170e2ec7fb058a035b5a7e334dc6b84d0bfb981556782528341988')
depends_on('py-setuptools', type='build')
depends_on('py-numpy@1.7:', type=('build', 'run'))
- depends_on('py-scipy@1.3.0:', type=('build', 'run'))
+ depends_on('py-scipy@0.16:', type=('build', 'run'))
depends_on('py-six', type=('build', 'run'))
depends_on('py-paramz@0.9.0:', type=('build', 'run'))
- depends_on('py-cython@0.29:', type=('build', 'run'))
+ depends_on('py-cython@0.29:', type='build')
diff --git a/var/spack/repos/builtin/packages/py-gql/package.py b/var/spack/repos/builtin/packages/py-gql/package.py
new file mode 100644
index 0000000000..a3962bc649
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-gql/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)
+
+
+class PyGql(PythonPackage):
+ """This is a GraphQL client for Python. Plays nicely with
+ graphene, graphql-core, graphql-js and any other GraphQL
+ implementation compatible with the spec.
+ GQL architecture is inspired by React-Relay and Apollo-Client."""
+
+ homepage = "https://github.com/graphql-python/gql"
+ url = "https://github.com/graphql-python/gql/archive/v3.0.0a1.tar.gz"
+
+ version('3.0.0a1', sha256='3254a6010464932e3700a8d225cf6e40a6983aaf5f279615504c8196a374daf9')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-aiohttp@3.6.2', type=('build', 'run'))
+ depends_on('py-graphql-core@3.1.0:3.1.999', type=('build', 'run'))
+ depends_on('py-requests@2.23:2.999', type=('build', 'run'))
+ depends_on('py-websockets@8.1:8.999', type=('build', 'run'))
+ depends_on('py-yarl@1.4:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-graphql-core/package.py b/var/spack/repos/builtin/packages/py-graphql-core/package.py
new file mode 100644
index 0000000000..6b74fa9095
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-graphql-core/package.py
@@ -0,0 +1,19 @@
+# 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)
+
+
+class PyGraphqlCore(PythonPackage):
+ """GraphQL-core 3 is a Python 3.6+ port of GraphQL.js, the
+ JavaScript reference implementation for GraphQL, a query language
+ for APIs created by Facebook."""
+
+ homepage = "https://github.com/graphql-python/graphql-core"
+ url = "https://github.com/graphql-python/graphql-core/archive/v3.1.2.tar.gz"
+
+ version('3.1.2', sha256='16087360d34f9cfa295b401fc17f9f11bcddef0e6e0dc5a694bbe2298b31949b')
+ version('3.0.5', sha256='88021f8b879f18cf56523644e51e1552b126a9ad9ab218f579bf503d236d5272')
+
+ depends_on('python@3.6:3.999', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index e652849fd1..2b7d34cc4b 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -49,7 +49,8 @@ class PyH5py(PythonPackage):
phases = ['configure', 'install']
def configure(self, spec, prefix):
- self.setup_py('configure', '--hdf5={0}'.format(spec['hdf5'].prefix))
+ self.setup_py('configure', '--hdf5={0}'.format(spec['hdf5'].prefix),
+ '--hdf5-version={0}'.format(spec['hdf5'].version))
if '+mpi' in spec:
env['CC'] = spec['mpi'].mpicc
diff --git a/var/spack/repos/builtin/packages/py-hieroglyph/package.py b/var/spack/repos/builtin/packages/py-hieroglyph/package.py
new file mode 100644
index 0000000000..fa8a0dab06
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-hieroglyph/package.py
@@ -0,0 +1,22 @@
+# 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 PyHieroglyph(PythonPackage):
+ """Hieroglyph is an extension for Sphinx which builds HTML
+ presentations from ReStructured Text documents.
+ """
+
+ homepage = "https://github.com/nyergler/hieroglyph"
+ url = "https://pypi.io/packages/source/h/hieroglyph/hieroglyph-1.0.0.tar.gz"
+
+ version('1.0.0', sha256='8e137f0b1cd60c47b870011089790d3c8ddb74fcf409a75ddf2c7f2516ff337c')
+ version('master')
+
+ depends_on('py-setuptools')
+ depends_on('py-sphinx@1.2:')
+ depends_on('py-six')
diff --git a/var/spack/repos/builtin/packages/py-idna-ssl/package.py b/var/spack/repos/builtin/packages/py-idna-ssl/package.py
new file mode 100644
index 0000000000..273cdd9bc5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-idna-ssl/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PyIdnaSsl(PythonPackage):
+ """Patch ssl.match_hostname for Unicode(idna) domains support"""
+
+ homepage = "https://github.com/aio-libs/idna-ssl"
+ url = "https://github.com/aio-libs/idna-ssl/archive/v1.1.0.tar.gz"
+
+ version('1.1.0', sha256='cdbefa2429a6a2fa5cbe8d2a47c677ca671e84531618d3460fc0bcfc840684c5')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-idna@2.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-inference-schema/package.py b/var/spack/repos/builtin/packages/py-inference-schema/package.py
new file mode 100644
index 0000000000..5d9795145e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-inference-schema/package.py
@@ -0,0 +1,33 @@
+# 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)
+
+
+class PyInferenceSchema(Package):
+ """This package is intended to provide a uniform schema for common machine
+ learning applications, as well as a set of decorators that can be used to
+ aid in web based ML prediction applications."""
+
+ homepage = "https://pypi.org/project/inference-schema/"
+ url = "https://pypi.io/packages/py3/i/inference-schema/inference_schema-1.0.2-py3-none-any.whl"
+
+ version('1.0.2', sha256='fd379becbd12dcf9f7a1ad5c03b163d501ef1dcc4fb85204735c84b1d139f478', expand=False)
+
+ variant('numpy', default=False, description='Enable numpy support')
+ variant('pandas', default=False, description='Enable pandas support')
+ variant('pyspark', default=False, description='Enable pyspark support')
+
+ extends('python')
+ depends_on('python@3:', type=('build', 'run'))
+ depends_on('py-pip', type='build')
+ depends_on('py-python-dateutil@2.5.3:', type=('build', 'run'))
+ depends_on('py-pytz@2017.2:', type=('build', 'run'))
+ depends_on('py-wrapt@1.11.1', type=('build', 'run'))
+ depends_on('py-numpy@1.13.0:', when='+numpy', type=('build', 'run'))
+ depends_on('py-pandas@0.20.2:', when='+pandas', type=('build', 'run'))
+ depends_on('py-pyspark@2.3.2', when='+pyspark', type=('build', 'run'))
+
+ def install(self, spec, prefix):
+ pip = which('pip')
+ pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-invoke/package.py b/var/spack/repos/builtin/packages/py-invoke/package.py
index 28a4bcd2b1..29414d5fbc 100644
--- a/var/spack/repos/builtin/packages/py-invoke/package.py
+++ b/var/spack/repos/builtin/packages/py-invoke/package.py
@@ -10,8 +10,9 @@ class PyInvoke(PythonPackage):
"""Pythonic task execution"""
homepage = "http://www.pyinvoke.org/"
- url = "https://pypi.io/packages/source/i/invoke/invoke-1.2.0.tar.gz"
+ url = "https://pypi.io/packages/source/i/invoke/invoke-1.4.1.tar.gz"
+ version('1.4.1', sha256='de3f23bfe669e3db1085789fd859eb8ca8e0c5d9c20811e2407fa042e8a5e15d')
version('1.2.0', sha256='dc492f8f17a0746e92081aec3f86ae0b4750bf41607ea2ad87e5a7b5705121b7')
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-javaproperties/package.py b/var/spack/repos/builtin/packages/py-javaproperties/package.py
new file mode 100644
index 0000000000..89358b1b67
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-javaproperties/package.py
@@ -0,0 +1,18 @@
+# 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)
+
+
+class PyJavaproperties(PythonPackage):
+ """Read & write Java .properties files."""
+
+ homepage = "https://github.com/jwodder/javaproperties"
+ url = "https://pypi.io/packages/source/j/javaproperties/javaproperties-0.7.0.tar.gz"
+
+ version('0.7.0', sha256='cf45b39fcbaeced1dfc0b7f2bda16e34fc0349116269e001dada42fd2e145d87')
+ version('0.5.1', sha256='2b0237b054af4d24c74f54734b7d997ca040209a1820e96fb4a82625f7bd40cf')
+
+ depends_on('python@2.7:2.8,3.4:3.999', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six@1.4:1.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-jsmin/package.py b/var/spack/repos/builtin/packages/py-jsmin/package.py
new file mode 100644
index 0000000000..b0ace422ee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-jsmin/package.py
@@ -0,0 +1,15 @@
+# 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)
+
+
+class PyJsmin(PythonPackage):
+ """JavaScript minifier."""
+
+ homepage = "https://github.com/tikitu/jsmin/"
+ url = "https://pypi.io/packages/source/j/jsmin/jsmin-2.2.2.tar.gz"
+
+ version('2.2.2', sha256='b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-jsondiff/package.py b/var/spack/repos/builtin/packages/py-jsondiff/package.py
new file mode 100644
index 0000000000..a6bad6fa93
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-jsondiff/package.py
@@ -0,0 +1,15 @@
+# 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)
+
+
+class PyJsondiff(PythonPackage):
+ """Diff JSON and JSON-like structures in Python."""
+
+ homepage = "https://github.com/ZoomerAnalytics/jsondiff"
+ url = "https://pypi.io/packages/source/j/jsondiff/jsondiff-1.2.0.tar.gz"
+
+ version('1.2.0', sha256='34941bc431d10aa15828afe1cbb644977a114e75eef6cc74fb58951312326303')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-jsonschema/package.py b/var/spack/repos/builtin/packages/py-jsonschema/package.py
index 0d62052f9b..c33cfc63e4 100644
--- a/var/spack/repos/builtin/packages/py-jsonschema/package.py
+++ b/var/spack/repos/builtin/packages/py-jsonschema/package.py
@@ -10,8 +10,11 @@ class PyJsonschema(PythonPackage):
"""Jsonschema: An(other) implementation of JSON Schema for Python."""
homepage = "http://github.com/Julian/jsonschema"
- url = "https://pypi.io/packages/source/j/jsonschema/jsonschema-2.6.0.tar.gz"
+ url = "https://pypi.io/packages/source/j/jsonschema/jsonschema-3.2.0.tar.gz"
+ version('3.2.0', sha256='c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a')
+ version('3.1.1', sha256='2fa0684276b6333ff3c0b1b27081f4b2305f0a36cf702a23db50edb141893c3f')
+ version('3.0.2', sha256='8d4a2b7b6c2237e0199c8ea1a6d3e05bf118e289ae2b9d7ba444182a2959560d')
version('3.0.1', sha256='0c0a81564f181de3212efa2d17de1910f8732fa1b71c42266d983cd74304e20d')
version('2.6.0', sha256='6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02')
version('2.5.1', sha256='36673ac378feed3daa5956276a829699056523d7961027911f064b52255ead41')
@@ -28,3 +31,5 @@ class PyJsonschema(PythonPackage):
depends_on('py-attrs@17.4.0:', when='@3:', type=('build', 'run'))
depends_on('py-pyrsistent@0.14.0:', when='@3:', type=('build', 'run'))
depends_on('py-six@1.11.0:', when='@3:', type=('build', 'run'))
+
+ depends_on('py-importlib-metadata', when='@3.1.1: ^python@:3.7.99', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py b/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
index f9a5499612..5129e92201 100644
--- a/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
+++ b/var/spack/repos/builtin/packages/py-keras-preprocessing/package.py
@@ -9,15 +9,16 @@ from spack import *
class PyKerasPreprocessing(PythonPackage):
"""Utilities for working with image data, text data, and sequence data."""
- homepage = "http://keras.io"
- url = "https://github.com/keras-team/keras-preprocessing/archive/1.0.5.tar.gz"
+ homepage = "https://github.com/keras-team/keras-preprocessing"
+ url = "https://pypi.io/packages/source/K/Keras-Preprocessing/Keras_Preprocessing-1.1.2.tar.gz"
- version('1.1.0', sha256='26f26354370f4a08a029137630d72870e99e924cd8f6e04c2f6fc0bd86708275')
- version('1.0.9', sha256='045a9b3faf4f6d63493cc3ca396659cc0395727b280c988fb9b6c7ff8157f09b')
- version('1.0.5', sha256='8a1d20d8dd2204d82616648f1b40615ea9f5ff0f8f94fdc6d9fe3c2238476c89')
- version('1.0.4', sha256='9f36ffeab4545f039880d6eaf8f8b3a6c8eba14618cec25c60d69a281398e5ea')
- version('1.0.3', sha256='7a7da86eaae0cadfd83e644741898d1edbd6819631ff0ee36fd130bd9efd814e')
- version('1.0.2', sha256='64212b715a435b43724ecf26be67a441cee426e3ef614a6326aba06016ba9779')
- version('1.0.1', sha256='2e9e187afd1327d802309513cc6366d72a5c02104c6815da30d8651a4bd20699')
+ version('1.1.2', sha256='add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3')
+ version('1.1.0', sha256='5a8debe01d840de93d49e05ccf1c9b81ae30e210d34dacbcc47aeb3049b528e5')
+ version('1.0.9', sha256='5e3700117981c2db762e512ed6586638124fac5842170701628088a11aeb51ac')
+ version('1.0.5', sha256='ef2e482c4336fcf7180244d06f4374939099daa3183816e82aee7755af35b754')
+ version('1.0.4', sha256='452f8af8b2865e9d7d2f0dd5a3d0afd9e2ae2c6504f235b2447831c63303449f')
+ version('1.0.3', sha256='02ba0a3b31ed89c4b0c21d55ba7d87529097d56f394e3850b6d3c9e6c63ce7ae')
+ version('1.0.2', sha256='f5306554d2b454d825b36f35e327744f5477bd2ae21017f1a93b2097bed6757e')
+ version('1.0.1', sha256='8649ba6377ecc06ea10e0a8a954df5600d115b4b626861e33c79b41ec03c5194')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-knack/package.py b/var/spack/repos/builtin/packages/py-knack/package.py
new file mode 100644
index 0000000000..4fb7ce188f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-knack/package.py
@@ -0,0 +1,22 @@
+# 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)
+
+
+class PyKnack(PythonPackage):
+ """A Command-Line Interface framework."""
+
+ homepage = "https://github.com/microsoft/knack"
+ url = "https://pypi.io/packages/source/k/knack/knack-0.7.1.tar.gz"
+
+ version('0.7.1', sha256='fcef6040164ebe7d69629e4e089b398c9b980791446496301befcf8381dba0fc')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-argcomplete', type=('build', 'run'))
+ depends_on('py-colorama', type=('build', 'run'))
+ depends_on('py-jmespath', type=('build', 'run'))
+ depends_on('py-pygments', type=('build', 'run'))
+ depends_on('py-pyyaml', type=('build', 'run'))
+ depends_on('py-six', type=('build', 'run'))
+ depends_on('py-tabulate', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-lockfile/package.py b/var/spack/repos/builtin/packages/py-lockfile/package.py
index 95b5289b89..9731208b51 100644
--- a/var/spack/repos/builtin/packages/py-lockfile/package.py
+++ b/var/spack/repos/builtin/packages/py-lockfile/package.py
@@ -23,3 +23,4 @@ class PyLockfile(PythonPackage):
version('0.10.2', sha256='9e42252f17d1dd89ee31745e0c4fbe58862c25147eb0ef5295c9cd9bcb4ea2c1')
depends_on("py-setuptools", type='build')
+ depends_on("py-pbr", type='build')
diff --git a/var/spack/repos/builtin/packages/py-maestrowf/package.py b/var/spack/repos/builtin/packages/py-maestrowf/package.py
index 5fdefea272..46a8a24c3e 100644
--- a/var/spack/repos/builtin/packages/py-maestrowf/package.py
+++ b/var/spack/repos/builtin/packages/py-maestrowf/package.py
@@ -11,7 +11,7 @@ class PyMaestrowf(PythonPackage):
simulation studies."""
homepage = "https://github.com/LLNL/maestrowf/"
- url = "https://github.com/LLNL/maestrowf/archive/v1.1.6.tar.gz"
+ url = "https://pypi.io/packages/source/m/maestrowf/maestrowf-1.1.8.tar.gz"
git = "https://github.com/LLNL/maestrowf/"
maintainers = ['FrankD412']
@@ -21,22 +21,28 @@ class PyMaestrowf(PythonPackage):
version('master', branch='master')
# Pre-release candidates
- version('1.1.5dev', sha256='eb3d6f31c233e2cde3b84e15c657002b83ff43d4d6b218b33d023a4f527b9e08')
- version('1.1.4dev1.0', sha256='67f59eed6fa69fc71b88a0a769de9f080300497d3c30d3a0893eabd0702bc48e')
- version('1.1.4dev1.1', sha256='c8612b5423b44f11e2a7c4fbc31eb741013245870512ee2dbf7367024517528f')
+ version('1.1.7dev0', sha256='bcef838f13da396dd33cc7f503655de7a8f16ee5fe7b1e2a553044334a03f1f0')
# pypi releases
- version('1.1.6', sha256='27a4ab9072c5b5e2edf91c192d9fe67f040dd45be7f3e44fd9a998ce4cb1e92d', preferred=True)
- version('1.1.4', sha256='2cb0fa6f6281d8618ac79217ea5f4fd8cb24955c4315e873657f96b815f171d5')
- version('1.1.2', sha256='ebb45bff54625435bc9f2462e1bdc3b5bdc4d943378c53e7810c11836794c5e0')
- version('1.1.1', sha256='a476ad4b40846d7b7f9540d6413df1b42eb655735e8d3c6c07e0baa68e20a8bb')
- version('1.1.0', sha256='14e701d6a10ab758215aab6b6809817d9a39416a4f477cd2f2551883fc68477b')
- version('1.0.1', sha256='cdd503f0b11db9114405132274b28766044402d1183b5836406ed91d558fd06c')
-
- depends_on('py-setuptools', type='build')
+ version('1.1.8', sha256='fa8f8eb8dd3adfb9646d7b0dfd498a00423d2131adbc8dbc8016c4159b2ec1d5', preferred=True)
+ version('1.1.7', sha256='ff1b6696f30254b105fcadd297ad437c0c666ebc70124b231a713b89f47f4e94')
+ version('1.1.6', sha256='9812e67d9bd83c452cc99d82fbceb3017b5e36dafdf52eda939748bad4a88756')
+ version('1.1.4', sha256='6603b93494e8e9d939a4ab40ecdfe7923a85960a8a8bddea4734e230d8144016')
+ version('1.1.3', sha256='9812e67d9bd83c452cc99d82fbceb3017b5e36dafdf52eda939748bad4a88756')
+ version('1.1.2', sha256='6998ba2c6ee4ef205c6d47d98cf35d5eaa184e1e859cc41b4120e2aa12c06df3')
+ version('1.1.1', sha256='689ed42ba1fb214db0594756ff6015e466470103f726a5e5bf4d21c1086ad2b1')
+ version('1.1.0', sha256='1bfec546831f2ef577d7823bb50dcd12622644dad0d3d761998eafd0905b6977')
+ version('1.0.1', sha256='dd42ffeac1f0492a576c630b37e5d3593273e59664407f2ebf78d49322d37146')
+
+ depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
depends_on('py-pyyaml@4.2b1:', type=('build', 'run'))
- depends_on('py-six', type=('build', 'run'))
- depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
- depends_on('py-enum34', type=('build', 'run'), when='@:1.1.3')
- depends_on('py-tabulate', type=('build', 'run'), when='@1.1.0:')
- depends_on('py-filelock', type=('build', 'run'), when='@1.1.0:')
+ depends_on('py-six', type=('build', 'run'))
+ depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3')
+ depends_on('py-enum34', type=('build', 'run'), when='@:1.1.3')
+ depends_on('py-tabulate', type=('build', 'run'), when='@1.1.0:')
+ depends_on('py-filelock', type=('build', 'run'), when='@1.1.0:')
+ depends_on('py-coloredlogs', type=('build', 'run'), when='@1.1.7:')
+ depends_on('py-chainmap', type=('build', 'run'), when='@1.1.7: ^python@:2')
+ depends_on('py-dill', type=('build', 'run'), when='@1.1.7:')
+ depends_on('py-jsonschema@3.2.0:', type=('build', 'run'), when='@1.1.7:')
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index a1b4c94e40..62c1a8dac3 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -13,7 +13,7 @@ class PyMatplotlib(PythonPackage):
and interactive visualizations in Python."""
homepage = "https://matplotlib.org/"
- url = "https://pypi.io/packages/source/m/matplotlib/matplotlib-3.2.2.tar.gz"
+ url = "https://pypi.io/packages/source/m/matplotlib/matplotlib-3.3.0.tar.gz"
maintainers = ['adamjstewart']
@@ -27,6 +27,7 @@ class PyMatplotlib(PythonPackage):
'matplotlib.testing.jpl_units'
]
+ version('3.3.0', sha256='24e8db94948019d531ce0bcd637ac24b1c8f6744ac86d2aa0eb6dbaeb1386f82')
version('3.2.2', sha256='3d77a6630d093d74cbbfebaa0571d00790966be1ed204e4a8239f5cbd6835c5d')
version('3.2.1', sha256='ffe2f9cdcea1086fc414e82f42271ecf1976700b8edd16ca9d376189c6d93aee')
version('3.2.0', sha256='651d76daf9168250370d4befb09f79875daa2224a9096d97dfc3ed764c842be4')
@@ -77,12 +78,14 @@ class PyMatplotlib(PythonPackage):
# https://matplotlib.org/users/installing.html#dependencies
# Required dependencies
extends('python', ignore=r'bin/nosetests.*$|bin/pbr$')
- depends_on('python@2.7:2.8,3.4:', when='@:2')
- depends_on('python@3.5:', when='@3:')
- depends_on('python@3.6:', when='@3.1:')
- depends_on('freetype@2.3:')
+ depends_on('python@2.7:2.8,3.4:', when='@:2', type=('build', 'link', 'run'))
+ depends_on('python@3.5:', when='@3:', type=('build', 'link', 'run'))
+ depends_on('python@3.6:', when='@3.1:', type=('build', 'link', 'run'))
+ depends_on('freetype@2.3:') # freetype 2.6.1 needed for tests to pass
+ depends_on('qhull@2015.2:', when='@3.3:')
depends_on('libpng@1.2:')
depends_on('py-numpy@1.11:', type=('build', 'run'))
+ depends_on('py-numpy@1.15:', when='@3.3:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run')) # See #3813
depends_on('py-cycler@0.10:', type=('build', 'run'))
depends_on('py-python-dateutil@2.1:', type=('build', 'run'))
@@ -90,7 +93,7 @@ class PyMatplotlib(PythonPackage):
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-pytz', type=('build', 'run'), when='@:2')
depends_on('py-subprocess32', type=('build', 'run'), when='^python@:2.7')
- depends_on('py-functools32', type=('build', 'run'), when='@:2.0.999 ^python@2.7')
+ depends_on('py-functools32', type=('build', 'run'), when='@:2.0.999 ^python@:2.7')
depends_on('py-backports-functools-lru-cache', type=('build', 'run'),
when='@2.1.0:2.999.999 ^python@:2')
depends_on('py-six@1.10.0:', type=('build', 'run'), when='@2.0:2.999')
@@ -135,14 +138,13 @@ class PyMatplotlib(PythonPackage):
msg = 'MacOSX backend requires the Cocoa headers included with XCode'
conflicts('platform=linux', when='backend=macosx', msg=msg)
- conflicts('platform=bgq', when='backend=macosx', msg=msg)
conflicts('platform=cray', when='backend=macosx', msg=msg)
# Patch to pick up correct freetype headers
patch('freetype-include-path.patch', when='@2.2.2:2.9.9')
@run_before('build')
- def set_backend(self):
+ def configure(self):
"""Set build options with regards to backend GUI libraries."""
backend = self.spec.variants['backend'].value
@@ -152,6 +154,13 @@ class PyMatplotlib(PythonPackage):
setup.write('[rc_options]\n')
setup.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')
+
def test(self):
pytest = which('pytest')
pytest()
diff --git a/var/spack/repos/builtin/packages/py-mixedhtseq/package.py b/var/spack/repos/builtin/packages/py-mixedhtseq/package.py
new file mode 100644
index 0000000000..c01348a099
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-mixedhtseq/package.py
@@ -0,0 +1,39 @@
+# 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 *
+import glob
+
+
+class PyMixedhtseq(PythonPackage):
+ """HTSeq for mixed single and paired end reads"""
+
+ homepage = "https://github.com/schae234/MixedHTSeq"
+ url = "https://github.com/schae234/MixedHTSeq/archive/v0.1.0.tar.gz"
+
+ version('0.1.0', sha256='234689c8743ae2ba7ad13bc1809a5248184a4b8d16112d5413e09164ab67e157')
+
+ depends_on('python@2.5:2.8', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-htseq', type=('build', 'run'))
+ depends_on('py-ipython', type=('build', 'run'))
+ depends_on('py-pandas', type=('build', 'run'))
+
+ depends_on('py-setuptools', type='build')
+
+ @run_after('install')
+ def install_scripts(self):
+ shebang = '#!{0}\n'.format(self.spec['python'].command)
+
+ for fname in glob.glob('scripts/*.py'):
+ filter_file('^#!.*', '', fname)
+ with open(fname, 'r') as orig:
+ fdata = orig.read()
+ with open(fname, 'w') as new:
+ new.write(shebang + fdata)
+ set_executable(fname)
+
+ mkdirp(self.prefix.bin)
+ install_tree('scripts', self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/py-msal/package.py b/var/spack/repos/builtin/packages/py-msal/package.py
index ade131afc8..7b870ed9d0 100644
--- a/var/spack/repos/builtin/packages/py-msal/package.py
+++ b/var/spack/repos/builtin/packages/py-msal/package.py
@@ -14,6 +14,7 @@ class PyMsal(PythonPackage):
url = "https://pypi.io/packages/source/m/msal/msal-1.3.0.tar.gz"
version('1.3.0', sha256='5442a3a9d006506e653d3c4daff40538bdf067bf07b6b73b32d1b231d5e77a92')
+ version('1.0.0', sha256='ecbe3f5ac77facad16abf08eb9d8562af3bc7184be5d4d90c9ef4db5bde26340')
depends_on('py-setuptools', type='build')
depends_on('py-requests@2.0.0:2.999', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-multidict/package.py b/var/spack/repos/builtin/packages/py-multidict/package.py
new file mode 100644
index 0000000000..fe0d0ae627
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-multidict/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)
+
+
+class PyMultidict(PythonPackage):
+ """Multidict is dict-like collection of key-value pairs where key
+ might be occurred more than once in the container."""
+
+ homepage = "https://github.com/aio-libs/multidict"
+ url = "https://github.com/aio-libs/multidict/archive/v4.7.6.tar.gz"
+
+ version('4.7.6', sha256='449035f89a12f189579ff83811424c71e4a39e335bcb8045145ad084b7bde2dc')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('python@3.5:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-netket/package.py b/var/spack/repos/builtin/packages/py-netket/package.py
new file mode 100644
index 0000000000..d8950057a4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-netket/package.py
@@ -0,0 +1,38 @@
+# 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 PyNetket(PythonPackage):
+ """
+ NetKet is an open-source project, delivering cutting-edge methods for the
+ study of many-body quantum systems with artificial neural networks and
+ machine learning techniques.
+ """
+
+ homepage = "https://github.com/netket/netket"
+ url = "https://github.com/netket/netket/archive/v2.1.1.tar.gz"
+
+ version('2.1.1', sha256='881ae8605a829364b2116bc4398084766b24e2cd8958d0cb2b85595650e7bfd6')
+ version('2.1', sha256='041d2b058c5d2945bf0a4194ad2bf3c426ad9b6ce0dd323a81a7154bc6e45452')
+ version('2.0', sha256='c2890361b16ffb5265023a736536c435ccb3ad956d897e5820eac431d72cdb0e')
+ version('1.0.5', sha256='26562bf608775f21eb2cb443f2c66c09cadb56e6eac84f4d855d62e7d776a511')
+ version('1.0.4', sha256='0b344d526ee34d187281d0c2f7952c91728abbe22553e3dbcd45fcfeb312c3b5')
+ version('1.0.3', sha256='b8e54d7ad8b379b740def640d748c6560943aed473755389fc5cf1020b9007de')
+ version('1.0.2', sha256='229c906e92a432bbbd0ff0527874f41318f8fc480d12a33c8184f30960ae628b')
+
+ # build only deps
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cmake@3.12:', type='build')
+
+ depends_on('blas')
+ depends_on('mpi')
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-numpy@1.16:', type=('build', 'run'))
+ depends_on('py-scipy@1.2.1:', type=('build', 'run'))
+ depends_on('py-mpi4py@3.0.1:', type=('build', 'run'))
+ depends_on('py-numba@0.48.0:', type=('build', 'run'))
+ depends_on('py-tqdm@4.42.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py
index f437b43063..65b7e8fcb0 100644
--- a/var/spack/repos/builtin/packages/py-numpy/package.py
+++ b/var/spack/repos/builtin/packages/py-numpy/package.py
@@ -16,7 +16,7 @@ class PyNumpy(PythonPackage):
number capabilities"""
homepage = "https://numpy.org/"
- url = "https://pypi.io/packages/source/n/numpy/numpy-1.19.0.zip"
+ url = "https://pypi.io/packages/source/n/numpy/numpy-1.19.1.zip"
git = "https://github.com/numpy/numpy.git"
maintainers = ['adamjstewart']
@@ -30,6 +30,7 @@ class PyNumpy(PythonPackage):
]
version('master', branch='master')
+ version('1.19.1', sha256='b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491')
version('1.19.0', sha256='76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598')
version('1.18.5', sha256='34e96e9dae65c4839bd80012023aadd6ee2ccb73ce7fdf3074c62f301e63120b')
version('1.18.4', sha256='bbcc85aaf4cd84ba057decaead058f43191cc0e30d6bc5d44fe336dc3d3f4509')
@@ -88,6 +89,7 @@ class PyNumpy(PythonPackage):
# 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('blas', when='+blas')
depends_on('lapack', when='+lapack')
diff --git a/var/spack/repos/builtin/packages/py-opt-einsum/package.py b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
index 4de5712076..0f430c76f8 100644
--- a/var/spack/repos/builtin/packages/py-opt-einsum/package.py
+++ b/var/spack/repos/builtin/packages/py-opt-einsum/package.py
@@ -12,9 +12,13 @@ class PyOptEinsum(PythonPackage):
homepage = "https://github.com/dgasmith/opt_einsum"
url = "https://pypi.io/packages/source/o/opt_einsum/opt_einsum-3.1.0.tar.gz"
+ version('3.2.1', sha256='83b76a98d18ae6a5cc7a0d88955a7f74881f0e567a0f4c949d24c942753eb998')
+ version('3.2.0', sha256='738b0a1db1d3084d360081bb64d826f9db06d2df7cc0bf8e2c9356028da1fa31')
version('3.1.0', sha256='edfada4b1d0b3b782ace8bc14e80618ff629abf53143e1e6bbf9bd00b11ece77')
+ version('2.3.2', sha256='d3d464b4da7ef09e444c30e4003a27def37f85ff10ff2671e5f7d7813adac35b')
- depends_on('python@3.5:', type=('build', 'run'))
+ depends_on('python@:2', type=('build', 'run'), when='@2')
+ depends_on('python@3.5:', type=('build', 'run'), when='@3:')
depends_on('py-setuptools', type='build')
depends_on('py-numpy@1.7:', type=('build', 'run'))
depends_on('py-pytest', type='test')
diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py
index 3fba468a27..750d53d61b 100644
--- a/var/spack/repos/builtin/packages/py-pandas/package.py
+++ b/var/spack/repos/builtin/packages/py-pandas/package.py
@@ -12,7 +12,7 @@ class PyPandas(PythonPackage):
programming language."""
homepage = "https://pandas.pydata.org/"
- url = "https://pypi.io/packages/source/p/pandas/pandas-1.0.5.tar.gz"
+ url = "https://pypi.io/packages/source/p/pandas/pandas-1.1.0.tar.gz"
maintainers = ['adamjstewart']
import_modules = [
@@ -29,6 +29,7 @@ class PyPandas(PythonPackage):
'pandas.api.extensions'
]
+ version('1.1.0', sha256='b39508562ad0bb3f384b0db24da7d68a2608b9ddc85b1d931ccaaa92d5e45273')
version('1.0.5', sha256='69c5d920a0b2a9838e677f78f4dde506b95ea8e4d30da25859db6469ded84fa8')
version('1.0.4', sha256='b35d625282baa7b51e82e52622c300a1ca9f786711b2af7cbe64f1e6831f4126')
version('1.0.3', sha256='32f42e322fb903d0e189a4c10b75ba70d90958cc4f66a1781ed027f1a1d14586')
@@ -56,11 +57,14 @@ class PyPandas(PythonPackage):
depends_on('python@3.5.3:', type=('build', 'run'), when='@0.25:')
# https://pandas.pydata.org/docs/whatsnew/v1.0.0.html#build-changes
depends_on('py-cython@0.29.13:', type='build', when='@1:')
+ depends_on('py-cython@0.29.16:', type='build', when='@1.1:')
depends_on('py-setuptools@24.2.0:', type='build')
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-numpy@1.13.3:', type=('build', 'run'), when='@0.25:')
+ depends_on('py-numpy@1.15.4:', type=('build', 'run'), when='@1.1:')
depends_on('py-python-dateutil', type=('build', 'run'))
depends_on('py-python-dateutil@2.6.1:', type=('build', 'run'), when='@0.25:')
+ depends_on('py-python-dateutil@2.7.3:', type=('build', 'run'), when='@1.1:')
depends_on('py-pytz@2017.2:', type=('build', 'run'))
# Recommended dependencies
diff --git a/var/spack/repos/builtin/packages/py-paramiko/package.py b/var/spack/repos/builtin/packages/py-paramiko/package.py
index 043b04ed5e..db07fccd09 100644
--- a/var/spack/repos/builtin/packages/py-paramiko/package.py
+++ b/var/spack/repos/builtin/packages/py-paramiko/package.py
@@ -11,10 +11,14 @@ class PyParamiko(PythonPackage):
"""SSH2 protocol library"""
homepage = "http://www.paramiko.org/"
- url = "https://pypi.io/packages/source/p/paramiko/paramiko-2.1.2.tar.gz"
+ url = "https://pypi.io/packages/source/p/paramiko/paramiko-2.7.1.tar.gz"
+ version('2.7.1', sha256='920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f')
version('2.1.2', sha256='5fae49bed35e2e3d45c4f7b0db2d38b9ca626312d91119b3991d0ecf8125e310')
- depends_on('py-setuptools', type='build')
- depends_on('py-pyasn1@0.1.7:', type=('build', 'run'))
- depends_on('py-cryptography@1.1:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-bcrypt@3.1.3:', when='@2.7:', type=('build', 'run'))
+ depends_on('py-cryptography@1.1:', type=('build', 'run'))
+ depends_on('py-cryptography@2.5:', when='@2.7:', type=('build', 'run'))
+ depends_on('py-pyasn1@0.1.7:', when='@:2.1', type=('build', 'run'))
+ depends_on('py-pynacl@1.0.1:', when='@2.7:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
index 3934b4d4bb..32faff9956 100644
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -13,11 +13,12 @@ class PyPillow(PythonPackage):
capabilities."""
homepage = "https://python-pillow.org/"
- url = "https://pypi.io/packages/source/P/Pillow/Pillow-7.0.0.tar.gz"
+ url = "https://pypi.io/packages/source/P/Pillow/Pillow-7.2.0.tar.gz"
maintainers = ['adamjstewart']
import_modules = ['PIL']
+ version('7.2.0', sha256='97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626')
version('7.0.0', sha256='4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946')
version('6.2.2', sha256='db9ff0c251ed066d367f53b64827cc9e18ccea001b986d08c265e53625dab950')
version('6.2.1', sha256='bf4e972a88f8841d8fdc6db1a75e0f8d763e66e3754b03006cbc3854d89f1cb1')
@@ -32,40 +33,44 @@ class PyPillow(PythonPackage):
# These defaults correspond to Pillow defaults
# https://pillow.readthedocs.io/en/stable/installation.html#external-libraries
- variant('tiff', default=False, description='Compressed TIFF functionality')
- variant('freetype', default=False, description='Type related services')
- variant('lcms', default=False, description='Color management')
- variant('webp', default=False, description='WebP format')
- variant('webpmux', default=False, description='WebP metadata')
- variant('jpeg2000', default=False, description='JPEG 2000 functionality')
-
- # Spack does not (yet) support these modes of building
- # variant('imagequant', default=False,
- # description='Improved color quantization')
+ variant('zlib', default=True, description='Compressed PNG functionality')
+ variant('jpeg', default=True, description='JPEG functionality')
+ variant('tiff', default=False, description='Compressed TIFF functionality')
+ variant('freetype', default=False, description='Type related services')
+ variant('lcms', default=False, description='Color management')
+ variant('webp', default=False, description='WebP format')
+ variant('webpmux', default=False, description='WebP metadata')
+ variant('jpeg2000', default=False, description='JPEG 2000 functionality')
+ variant('imagequant', default=False, description='Improved color quantization')
+ variant('xcb', default=False, description='X11 screengrab support')
# Required dependencies
- depends_on('python@2.6:2.8,3.2:', when='@3:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.3:', when='@4:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', when='@5:', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.5:', when='@6:', type=('build', 'run'))
- depends_on('python@3.5:', when='@7:', type=('build', 'run'))
+ # 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.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.999', 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')
- depends_on('zlib')
- depends_on('jpeg')
depends_on('py-pytest', type='test')
depends_on('py-pytest-runner', type='test')
+ depends_on('imagemagick', type='test')
# Optional dependencies
+ depends_on('zlib', when='+zlib')
+ depends_on('jpeg', when='+jpeg')
depends_on('libtiff', when='+tiff')
depends_on('freetype', when='+freetype')
depends_on('lcms@2:', when='+lcms')
depends_on('libwebp', when='+webp')
depends_on('libwebp+libwebpmux+libwebpdemux', when='+webpmux')
depends_on('openjpeg', when='+jpeg2000')
- depends_on('imagemagick', type='test')
-
- # Spack does not (yet) support these modes of building
- # depends_on('libimagequant', when='+imagequant')
+ depends_on('libimagequant', when='+imagequant')
+ depends_on('libxcb', when='+xcb')
conflicts('+webpmux', when='~webp', msg='Webpmux relies on WebP support')
@@ -95,19 +100,15 @@ class PyPillow(PythonPackage):
with open('setup.cfg', 'a') as setup:
# Default backend
setup.write('[build_ext]\n')
- setup.write('enable-zlib=1\n')
- setup.write('enable-jpeg=1\n')
- variants = ['tiff', 'freetype', 'lcms', 'webp',
- 'webpmux', 'jpeg2000']
- for variant in variants:
+ for variant in self.spec.variants.keys():
setup.write(variant_to_cfg(setup))
- # Spack does not (yet) support these modes of building
- setup.write('disable-imagequant=1\n')
-
setup.write('rpath={0}\n'.format(':'.join(self.rpath)))
setup.write('[install]\n')
+ def setup_build_environment(self, env):
+ env.set('MAX_CONCURRENCY', str(make_jobs))
+
# Tests need to be re-added since `phases` was overridden
run_after('build_ext')(
PythonPackage._run_default_build_time_test_callbacks)
diff --git a/var/spack/repos/builtin/packages/py-pip/package.py b/var/spack/repos/builtin/packages/py-pip/package.py
index df11d73806..ed5171411c 100644
--- a/var/spack/repos/builtin/packages/py-pip/package.py
+++ b/var/spack/repos/builtin/packages/py-pip/package.py
@@ -9,9 +9,10 @@ from spack import *
class PyPip(PythonPackage):
"""The PyPA recommended tool for installing Python packages."""
- homepage = "https://pypi.python.org/pypi/pip"
- url = "https://pypi.io/packages/source/p/pip/pip-19.3.tar.gz"
+ homepage = "https://pip.pypa.io/"
+ url = "https://pypi.io/packages/source/p/pip/pip-20.2.tar.gz"
+ version('20.2', sha256='912935eb20ea6a3b5ed5810dde9754fde5563f5ca9be44a8a6e5da806ade970b')
version('19.3', sha256='324d234b8f6124846b4e390df255cacbe09ce22791c3b714aa1ea6e44a4f2861')
version('19.1.1', sha256='44d3d7d3d30a1eb65c7e5ff1173cdf8f7467850605ac7cc3707b6064bddd0958')
version('19.0.3', sha256='6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2')
@@ -19,7 +20,11 @@ class PyPip(PythonPackage):
version('10.0.1', sha256='f2bd08e0cd1b06e10218feaf6fef299f473ba706582eb3bd9d52203fdbd7ee68')
version('9.0.1', sha256='09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d')
- depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
+ depends_on('python@3.5:', when='@21:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.5:', when='@19.2:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.4:', when='@18:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.3:', when='@10:', type=('build', 'run'))
+ depends_on('python@2.6:2.8,3.3:', type=('build', 'run'))
# Most Python packages only require setuptools as a build dependency.
# However, pip requires setuptools during runtime as well.
diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py
index c2f1efd2f9..4876832dcf 100644
--- a/var/spack/repos/builtin/packages/py-protobuf/package.py
+++ b/var/spack/repos/builtin/packages/py-protobuf/package.py
@@ -20,6 +20,7 @@ class PyProtobuf(PythonPackage):
variant('cpp', default=False,
description='Enable the cpp implementation')
+ version('3.12.2', sha256='49ef8ab4c27812a89a76fa894fe7a08f42f2147078392c0dee51d4a444ef6df5')
version('3.11.2', sha256='3d7a7d8d20b4e7a8f63f62de2d192cfd8b7a53c56caba7ece95367ca2b80c574')
version('3.11.1', sha256='aecdf12ef6dc7fd91713a6da93a86c2f2a8fe54840a3b1670853a2b7402e77c9')
version('3.11.0', sha256='97b08853b9bb71512ed52381f05cf2d4179f4234825b505d8f8d2bb9d9429939')
diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py
index 4daa0e0061..13ed0f14f4 100644
--- a/var/spack/repos/builtin/packages/py-pyarrow/package.py
+++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py
@@ -12,9 +12,10 @@ class PyPyarrow(PythonPackage):
This package contains the Python bindings.
"""
- homepage = "http://arrow.apache.org"
- url = 'https://pypi.io/packages/source/p/pyarrow/pyarrow-0.15.1.tar.gz'
+ homepage = "https://arrow.apache.org"
+ url = 'https://pypi.io/packages/source/p/pyarrow/pyarrow-0.17.1.tar.gz'
+ version('0.17.1', sha256='278d11800c2e0f9bea6314ef718b2368b4046ba24b6c631c14edad5a1d351e49')
version('0.15.1', sha256='7ad074690ba38313067bf3bbda1258966d38e2037c035d08b9ffe3cce07747a5')
version('0.12.1', sha256='10db6e486c918c3af999d0114a22d92770687e3a6607ea3f14e6748854824c2a')
version('0.11.0', sha256='07a6fd71c5d7440f2c42383dd2c5daa12d7f0a012f1e88288ed08a247032aead')
@@ -24,10 +25,12 @@ class PyPyarrow(PythonPackage):
depends_on('cmake@3.0.0:', type='build')
depends_on('pkgconfig', type='build')
+ depends_on('python@3.5:', type=('build', 'run'), when='@0.17:')
depends_on('py-setuptools', type='build')
depends_on('py-setuptools-scm', type='build', when='@0.15.0:')
depends_on('py-cython', type='build')
depends_on('py-cython@0.29:', type='build', when='@0.15.0:')
+ depends_on('py-pytest-runner', type='test', when='@0.17:')
depends_on('py-pytest', type='test', when='@0.15.0:')
depends_on('py-pandas', type='test', when='@0.15.0:')
depends_on('py-hypothesis', type='test', when='@0.15.0:')
@@ -37,7 +40,7 @@ class PyPyarrow(PythonPackage):
depends_on('py-futures', type=('build', 'run'), when='@0.15.0:^python@:3.1.99')
depends_on('py-enum34@1.1.6:', type=('build', 'run'), when='@0.15.0:^python@:3.3.99')
- for v in ('@0.9.0', '@0.11.0', '@0.12.1', '@0.15.1'):
+ for v in ('@0.9.0', '@0.11.0', '@0.12.1', '@0.15.1', '@0.17.1'):
depends_on('arrow+python' + v, when=v)
depends_on('arrow+parquet+python' + v, when='+parquet' + v)
diff --git a/var/spack/repos/builtin/packages/py-pygments-pytest/package.py b/var/spack/repos/builtin/packages/py-pygments-pytest/package.py
new file mode 100644
index 0000000000..3808bb80b7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pygments-pytest/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 PyPygmentsPytest(PythonPackage):
+ """A pygments lexer for pytest output."""
+
+ homepage = "https://github.com/asottile/pygments-pytest"
+ url = "https://pypi.io/packages/source/P/pygments-pytest-1.2.0.tar.gz"
+
+ version('1.2.0', sha256='fc48e2fffd6d3c047a61c1db8b88ab069983f50e733fe70a7846098eb28bc955')
+
+ depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pyinstrument/package.py b/var/spack/repos/builtin/packages/py-pyinstrument/package.py
index 5f8cc15286..9636d58a92 100644
--- a/var/spack/repos/builtin/packages/py-pyinstrument/package.py
+++ b/var/spack/repos/builtin/packages/py-pyinstrument/package.py
@@ -10,8 +10,9 @@ class PyPyinstrument(PythonPackage):
"""Call stack profiler for Python. Shows you why your code is slow!"""
homepage = "https://github.com/joerick/pyinstrument"
- url = "https://github.com/joerick/pyinstrument/archive/v3.1.0.tar.gz"
+ url = "https://github.com/joerick/pyinstrument/archive/v3.1.3.tar.gz"
+ version('3.1.3', sha256='ca4571775caa06444cd7e832056afc21175130271fe3f3481e3ab1bf67f96c8b')
version('3.1.0', sha256='02319607daf65110e246085f5e2ee111f565f213eed1991229f2d58e9a7657a5')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-pynacl/package.py b/var/spack/repos/builtin/packages/py-pynacl/package.py
new file mode 100644
index 0000000000..a428b3756e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pynacl/package.py
@@ -0,0 +1,18 @@
+# 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)
+
+
+class PyPynacl(PythonPackage):
+ """Python binding to the Networking and Cryptography (NaCl) library."""
+
+ homepage = "https://github.com/pyca/pynacl/"
+ url = "https://pypi.io/packages/source/P/PyNaCl/PyNaCl-1.4.0.tar.gz"
+
+ version('1.4.0', sha256='54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505')
+
+ depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six', type=('build', 'run'))
+ depends_on('py-cffi@1.4.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-pysam/package.py b/var/spack/repos/builtin/packages/py-pysam/package.py
index 38a2a26b40..5459ef0a16 100644
--- a/var/spack/repos/builtin/packages/py-pysam/package.py
+++ b/var/spack/repos/builtin/packages/py-pysam/package.py
@@ -25,3 +25,6 @@ class PyPysam(PythonPackage):
depends_on('samtools')
depends_on('htslib@:1.6', when='@:0.13')
+
+ def setup_build_environment(self, env):
+ env.set('LDFLAGS', self.spec['curl'].libs.search_flags)
diff --git a/var/spack/repos/builtin/packages/py-pyscf/package.py b/var/spack/repos/builtin/packages/py-pyscf/package.py
new file mode 100644
index 0000000000..d0c36d5a79
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-pyscf/package.py
@@ -0,0 +1,43 @@
+# 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 PyPyscf(PythonPackage):
+ """PySCF is a collection of electronic structure programs powered
+ by Python."""
+
+ homepage = "https://sunqm.github.io/pyscf/"
+ git = "https://github.com/pyscf/pyscf"
+
+ maintainers = ['naromero77']
+
+ version('1.7.3', tag='v1.7.3')
+
+ # dependencies
+ depends_on('cmake@2.8:', type='build')
+ depends_on('python@2.6:', type=('build', 'run'))
+ depends_on('py-numpy@1.8.0:', type=('build', 'run'))
+ depends_on('py-scipy@0.12:', type=('build', 'run'))
+ depends_on('py-h5py@2.3.0:', type=('build', 'run'))
+ depends_on('blas')
+ depends_on('libcint+coulomb_erf+f12')
+ depends_on('libxc')
+ depends_on('xcfun@:2.0.0a2') # PySCF does not support recent version of the xcfun API'
+
+ def setup_build_environment(self, env):
+ # Tell PSCF where supporting libraries are located."
+ spec = self.spec
+
+ pyscf_search_dir = []
+ pyscf_search_dir.append(spec['blas'].prefix)
+ pyscf_search_dir.append(spec['libcint'].prefix)
+ pyscf_search_dir.append(spec['libxc'].prefix)
+ pyscf_search_dir.append(spec['xcfun'].prefix)
+ pyscf_search_dir.append(spec['xcfun'].prefix.include.XCFun)
+
+ env.set('PYSCF_INC_DIR', ":".join(pyscf_search_dir))
diff --git a/var/spack/repos/builtin/packages/py-python-docs-theme/package.py b/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
new file mode 100644
index 0000000000..4b1b7232b4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-python-docs-theme/package.py
@@ -0,0 +1,19 @@
+# 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 PyPythonDocsTheme(PythonPackage):
+ """This is the theme for the Python documentation.
+ """
+
+ homepage = "https://docs.python.org/3/"
+ url = "https://pypi.io/packages/source/p/python-docs-theme/python-docs-theme-2018.7.tar.gz"
+
+ version('2020.1', sha256='29c33ba393bdb9377910116a0c1cc329573a4e040227c58a3293d27928d8262a')
+ version('2018.7', sha256='018a5bf2a7318c9c9a8346303dac8afc6bc212d92e86561c9b95a3372714155a')
+
+ depends_on('py-setuptools')
diff --git a/var/spack/repos/builtin/packages/py-python-json-logger/package.py b/var/spack/repos/builtin/packages/py-python-json-logger/package.py
new file mode 100644
index 0000000000..b3aa3efbca
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-python-json-logger/package.py
@@ -0,0 +1,18 @@
+# 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 PyPythonJsonLogger(PythonPackage):
+ """"A python library adding a json log formatter."""
+
+ homepage = "https://github.com/madzak/python-json-logger"
+ url = "https://pypi.io/packages/source/p/python-json-logger/python-json-logger-0.1.11.tar.gz"
+
+ version('0.1.11', sha256='b7a31162f2a01965a5efb94453ce69230ed208468b0bbc7fdfc56e6d8df2e281')
+
+ depends_on('python@2.7:', type=('build', 'run'))
+ depends_on('py-setuptools')
diff --git a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
index bd8f766624..a016686406 100644
--- a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
+++ b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py
@@ -16,6 +16,7 @@ class PyPythonSwiftclient(PythonPackage):
import_modules = ['sys', 'setuptools', 'requests']
+ version('3.10.0', sha256='66227eaf29a691c70675fb9982022980b92797c273dd5e6dc7e680425e9a3634')
version('3.9.0', sha256='4f2097492e4c76e948882fc859bfa033ade09bed72f8e6b328e34a3467d9a377')
version('3.8.1', sha256='3a013303643f77a99befa05582dfb93671e1fba1aed9f4a517418129700aedb8')
version('3.8.0', sha256='107a9d5356663365a9f7c0b3a2b55da97a0a9ba7f10da2319b3972481510f33d')
diff --git a/var/spack/repos/builtin/packages/py-rasterio/package.py b/var/spack/repos/builtin/packages/py-rasterio/package.py
index 21f132cc9b..8d3b131b4e 100644
--- a/var/spack/repos/builtin/packages/py-rasterio/package.py
+++ b/var/spack/repos/builtin/packages/py-rasterio/package.py
@@ -14,28 +14,31 @@ class PyRasterio(PythonPackage):
arrays."""
homepage = "https://github.com/mapbox/rasterio"
- url = "https://pypi.io/packages/source/r/rasterio/rasterio-1.0.24.tar.gz"
+ url = "https://pypi.io/packages/source/r/rasterio/rasterio-1.1.5.tar.gz"
maintainers = ['adamjstewart']
import_modules = ['rasterio', 'rasterio.rio']
+ version('1.1.5', sha256='ebe75c71f9257c780615caaec8ef81fa4602702cf9290a65c213e1639284acc9')
version('1.0.24', sha256='4839479621045211f66868ec49625979693450bc2e476f23e7e8ac4804eaf452')
version('1.0a12', sha256='47d460326e04c64590ff56952271a184a6307f814efc34fb319c12e690585f3c')
- depends_on('python@3:', type=('build', 'run'), when='@1.1:')
+ depends_on('python@3.5:', type=('build', 'link', 'run'), when='@1.2:')
+ depends_on('python@2.7:2.8,3.5:3.8', type=('build', 'link', 'run'), when='@1.1.0:1.1.999')
+ depends_on('python@2.7:2.8,3.5:3.7', type=('build', 'link', 'run'), when='@:1.0')
depends_on('py-setuptools', type='build')
- depends_on('py-cython', type='build')
depends_on('py-affine', type=('build', 'run'))
depends_on('py-attrs', type=('build', 'run'))
depends_on('py-click@4:7', type=('build', 'run'))
depends_on('py-cligj@0.5:', type=('build', 'run'))
- depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'link', 'run'))
depends_on('py-snuggs@1.4.1:', type=('build', 'run'))
depends_on('py-click-plugins', type=('build', 'run'))
depends_on('py-enum34', type='run', when='^python@:3.3')
- depends_on('gdal@1.11:')
- depends_on('jpeg')
+ depends_on('gdal@1.11:3.0', when='@1.0.25:')
+ depends_on('gdal@1.11:2', when='@:1.0.24')
depends_on('py-pytest@2.8.2:', type='test')
+ depends_on('py-pytest-cov@2.2.0:', type='test')
depends_on('py-boto3@1.2.4:', type='test')
depends_on('py-packaging', type='test')
depends_on('py-hypothesis', type='test')
diff --git a/var/spack/repos/builtin/packages/py-rdflib/package.py b/var/spack/repos/builtin/packages/py-rdflib/package.py
new file mode 100644
index 0000000000..5e1b8da03a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-rdflib/package.py
@@ -0,0 +1,26 @@
+# 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)
+
+
+class PyRdflib(PythonPackage):
+ """RDFLib is a pure Python package for working with RDF. RDFLib
+ contains most things you need to work with RDF, including:
+ parsers and serializers for RDF/XML, N3, NTriples, N-Quads,
+ Turtle, TriX, Trig and JSON-LD (via a plugin). a Graph interface
+ which can be backed by any one of a number of Store
+ implementations store implementations for in-memory storage and
+ persistent storage on top of the Berkeley DB a SPARQL 1.1
+ implementation - supporting SPARQL 1.1 Queries and Update
+ statements """
+
+ homepage = "https://github.com/RDFLib/rdflib"
+ url = "https://pypi.io/packages/source/r/rdflib/rdflib-5.0.0.tar.gz"
+
+ version('5.0.0', sha256='78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-six', type=('build', 'run'))
+ depends_on('py-pyparsing', type=('build', 'run'))
+ depends_on('py-isodate', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-recommonmark/package.py b/var/spack/repos/builtin/packages/py-recommonmark/package.py
new file mode 100644
index 0000000000..7b03932a6c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-recommonmark/package.py
@@ -0,0 +1,24 @@
+# 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 PyRecommonmark(PythonPackage):
+ """A docutils-compatibility bridge to CommonMark.
+
+ This allows you to write CommonMark inside of Docutils & Sphinx projects.
+
+ Documentation is available on Read the Docs:
+ http://recommonmark.readthedocs.org"""
+
+ homepage = "https://github.com/readthedocs/recommonmark"
+ url = "https://files.pythonhosted.org/packages/f5/71/046160d730f664662d65b3f8b399b519ad378ffa4369ff3b6060cf1318d7/recommonmark-0.6.0.tar.gz"
+
+ version('0.6.0', sha256='29cd4faeb6c5268c633634f2d69aef9431e0f4d347f90659fd0aab20e541efeb')
+
+ depends_on('py-commonmark@0.8.1:')
+ depends_on('py-docutils@011:')
+ depends_on('py-sphinx@1.3.1:')
diff --git a/var/spack/repos/builtin/packages/py-requests/package.py b/var/spack/repos/builtin/packages/py-requests/package.py
index 5d7249a079..30af0cd73f 100644
--- a/var/spack/repos/builtin/packages/py-requests/package.py
+++ b/var/spack/repos/builtin/packages/py-requests/package.py
@@ -10,7 +10,7 @@ class PyRequests(PythonPackage):
"""Python HTTP for Humans."""
homepage = "http://python-requests.org"
- url = "https://pypi.io/packages/source/r/requests/requests-2.22.0.tar.gz"
+ url = "https://pypi.io/packages/source/r/requests/requests-2.24.0.tar.gz"
import_modules = [
'requests', 'requests.packages', 'requests.packages.chardet',
@@ -23,6 +23,8 @@ class PyRequests(PythonPackage):
'requests.packages.urllib3.contrib._securetransport'
]
+ version('2.24.0', sha256='b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b')
+ version('2.23.0', sha256='b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6')
version('2.22.0', sha256='11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4')
version('2.21.0', sha256='502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e')
version('2.14.2', sha256='a274abba399a23e8713ffd2b5706535ae280ebe2b8069ee6a941cb089440d153')
@@ -33,8 +35,10 @@ class PyRequests(PythonPackage):
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
- depends_on('py-chardet@3.0.2:3.0.999', type=('build', 'run'), when='@2.16.0:')
- depends_on('py-idna@2.5:2.8', type=('build', 'run'), when='@2.16.0:')
+ depends_on('py-chardet@3.0.2:3.0.999', type=('build', 'run'), when='@2.16.0:2.22.999')
+ depends_on('py-idna@2.5:2.8', type=('build', 'run'), when='@2.16.0:2.22.999')
+ depends_on('py-chardet@3.0.2:3.999', type=('build', 'run'), when='@2.23.0:')
+ depends_on('py-idna@2.5:2.999', type=('build', 'run'), when='@2.23.0:')
depends_on('py-urllib3@1.21.1:1.24,1.25.2:1.25.999', type=('build', 'run'), when='@2.16.0:')
depends_on('py-certifi@2017.4.17:', type=('build', 'run'), when='@2.16.0:')
diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
index d73d3f7576..0a9bf34523 100644
--- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py
@@ -8,7 +8,7 @@ class PyScikitLearn(PythonPackage):
"""A set of python modules for machine learning and data mining."""
homepage = "https://pypi.python.org/pypi/scikit-learn"
- url = "https://pypi.io/packages/source/s/scikit-learn/scikit-learn-0.23.1.tar.gz"
+ url = "https://pypi.io/packages/source/s/scikit-learn/scikit-learn-0.23.2.tar.gz"
git = "https://github.com/scikit-learn/scikit-learn.git"
maintainers = ['adamjstewart']
@@ -31,6 +31,7 @@ class PyScikitLearn(PythonPackage):
]
version('master', branch='master')
+ version('0.23.2', sha256='20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480')
version('0.23.1', sha256='e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8')
version('0.23.0', sha256='639a53df6273acc6a7510fb0c658b94e0c70bb13dafff9d14932c981ff9baff4')
version('0.22.1', sha256='51ee25330fc244107588545c70e2f3570cfc4017cff09eed69d6e1d82a212b7d')
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
index 6775d533fa..c63d539dad 100644
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -12,7 +12,7 @@ class PyScipy(PythonPackage):
as routines for numerical integration and optimization."""
homepage = "https://www.scipy.org/"
- url = "https://pypi.io/packages/source/s/scipy/scipy-1.5.0.tar.gz"
+ url = "https://pypi.io/packages/source/s/scipy/scipy-1.5.2.tar.gz"
maintainers = ['adamjstewart']
install_time_test_callbacks = ['install_test', 'import_module_test']
@@ -30,6 +30,8 @@ class PyScipy(PythonPackage):
'scipy.sparse.linalg.eigen.lobpcg', 'scipy.special._precompute'
]
+ version('1.5.2', sha256='066c513d90eb3fd7567a9e150828d39111ebd88d3e924cdfc9f8ce19ab6f90c9')
+ version('1.5.1', sha256='039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8')
version('1.5.0', sha256='4ff72877d19b295ee7f7727615ea8238f2d59159df0bdd98f91754be4a2767f0')
version('1.4.1', sha256='dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59')
version('1.4.0', sha256='31f7cfa93b01507c935c12b535e24812594002a02a56803d7cd063e9920d25e8')
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index 877cf7ece9..24fb3b7068 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -11,7 +11,7 @@ class PySetuptools(PythonPackage):
upgrading, installing, and uninstalling Python packages."""
homepage = "https://github.com/pypa/setuptools"
- url = "https://pypi.io/packages/source/s/setuptools/setuptools-41.0.1.zip"
+ url = "https://pypi.io/packages/source/s/setuptools/setuptools-49.2.0.zip"
import_modules = [
'setuptools', 'pkg_resources', 'setuptools._vendor',
@@ -21,6 +21,7 @@ class PySetuptools(PythonPackage):
'easy_install'
]
+ version('49.2.0', sha256='afe9e81fee0270d3f60d52608549cc8ec4c46dada8c95640c1a00160f577acf2')
version('46.1.3', sha256='795e0475ba6cd7fa082b1ee6e90d552209995627a2a227a47c6ea93282f4bfb1')
version('44.1.0', sha256='794a96b0c1dc6f182c36b72ab70d7e90f1d59f7a132e6919bb37b4fd4d424aca')
version('41.4.0', sha256='7eae782ccf36b790c21bde7d86a4f303a441cd77036b25c559a602cf5186ce4d')
diff --git a/var/spack/repos/builtin/packages/py-shroud/package.py b/var/spack/repos/builtin/packages/py-shroud/package.py
index 504c992f15..0e66ca1a23 100644
--- a/var/spack/repos/builtin/packages/py-shroud/package.py
+++ b/var/spack/repos/builtin/packages/py-shroud/package.py
@@ -14,10 +14,11 @@ class PyShroud(PythonPackage):
version('develop', branch='develop')
version('master', branch='master')
+ version('0.12.1', tag='v0.12.1')
version('0.11.0', tag='v0.11.0')
version('0.10.1', tag='v0.10.1')
version('0.9.0', tag='v0.9.0')
version('0.8.0', tag='v0.8.0')
- depends_on("py-setuptools", type='build')
+ depends_on("py-setuptools", type=('build', 'run'))
depends_on("py-pyyaml@4.2b1:", type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-smart-open/package.py b/var/spack/repos/builtin/packages/py-smart-open/package.py
index fd2ed92ef2..f58683af38 100644
--- a/var/spack/repos/builtin/packages/py-smart-open/package.py
+++ b/var/spack/repos/builtin/packages/py-smart-open/package.py
@@ -21,5 +21,6 @@ class PySmartOpen(PythonPackage):
depends_on('py-setuptools', type='build')
depends_on('py-requests', type=('build', 'run'))
depends_on('py-boto3', type=('build', 'run'))
- depends_on('py-google-cloud-storage', type=('build', 'run'))
+ depends_on('py-boto@2.3.2:', when='@1.8.4', type=('build', 'run'))
+ depends_on('py-google-cloud-storage', when='@1.10:', type=('build', 'run'))
depends_on('py-bz2file', when='^python@:2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py b/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
new file mode 100644
index 0000000000..12d4df06dd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinx-copybutton/package.py
@@ -0,0 +1,18 @@
+# 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 PySphinxCopybutton(PythonPackage):
+ """A small sphinx extension to add a "copy" button to code blocks."""
+
+ homepage = "https://github.com/choldgraf/sphinx-copybutton"
+ url = "https://files.pythonhosted.org/packages/b7/74/da355d8a909a7934b5f1711fce6f056e0c398094918dec3a23703662a0fe/sphinx-copybutton-0.2.12.tar.gz"
+
+ version('0.2.12', sha256='9492883786984b6179c92c07ab0410237b26efa826adfa792acfd17b91a63e5c')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-sphinx@1.8:')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py b/var/spack/repos/builtin/packages/py-sphinx-gallery/package.py
new file mode 100644
index 0000000000..f96e5a11f4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinx-gallery/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)
+
+from spack import *
+
+
+class PySphinxGallery(PythonPackage):
+ """A `Sphinx` extension that builds an HTML version of any Python script
+ and puts it into an examples gallery.
+ """
+
+ homepage = "https://sphinx-gallery.github.io"
+ url = "https://files.pythonhosted.org/packages/9d/20/79118154e64a5280060b55c7ad025ad16f89b8192a6a9f0ffdbf71717bf0/sphinx-gallery-0.7.0.tar.gz"
+
+ version('0.7.0', sha256='05ead72c947718ab4183c33a598e29743e771dcf75aec84c53048423bd2f4580')
+ version('0.4.0', sha256='a286cf2eea47ce838a0754ecef617616afb1f40e41e52fe765723464f52e0c2f')
+
+ depends_on('py-setuptools')
+ depends_on('py-matplotlib')
+ depends_on('py-pillow')
+ depends_on('py-sphinx')
diff --git a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
index 45a5e2104a..bc09b3324b 100644
--- a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
@@ -10,12 +10,16 @@ class PySphinxRtdTheme(PythonPackage):
"""ReadTheDocs.org theme for Sphinx."""
homepage = "https://github.com/rtfd/sphinx_rtd_theme/"
- url = "https://pypi.io/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-0.1.10a0.tar.gz"
+ url = "https://github.com/readthedocs/sphinx_rtd_theme/archive/0.5.0.tar.gz"
import_modules = ['sphinx_rtd_theme']
- version('0.4.3', sha256='728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a')
- version('0.2.5b1', sha256='d99513e7f2f8b9da8fdc189ad83df926b83d7fb15ad7ed07f24665d1f29d38da')
- version('0.1.10a0', sha256='1225df3fc8337b14d53779435381b7f7705b9f4819610f6b74e555684cee2ac4')
+ version('0.5.0', sha256='f5c77e9026e2bd0b3d2530f9f8a6681808b216ba70195fe56e7ad89f641ac447')
+ version('0.4.3', sha256='3412195caad06e4537ad741596d57706c3ed29073d1e0e6b46f25e344d0f393b')
+ version('0.2.5b1', sha256='31924cdaa5232d1d573423ebebeb1e8f02c8b3cd8cd0662b8a91f3b12efbc12e')
+ version('0.1.10-alpha', sha256='a4c120c0d5c87a2541da9d5e48d3c43b96ea7d7867eacbd5dbf125cdeaa0b4f0')
depends_on('py-setuptools', type='build')
+ depends_on('npm', when='@0.5.0:', type='build')
+ depends_on('py-sphinx', when='@0.4.1:', type=('build', 'run'))
+ depends_on('py-pytest', when='@0.5.0:', type='test')
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index 5aed1f39eb..d326c53f4c 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -9,8 +9,8 @@ from spack import *
class PySphinx(PythonPackage):
"""Sphinx Documentation Generator."""
- homepage = "http://sphinx-doc.org"
- url = "https://pypi.io/packages/source/S/Sphinx/Sphinx-3.0.0.tar.gz"
+ homepage = "https://sphinx-doc.org/"
+ url = "https://pypi.io/packages/source/S/Sphinx/Sphinx-3.2.0.tar.gz"
import_modules = [
'sphinx', 'sphinx.testing', 'sphinx.ext', 'sphinx.pycode',
@@ -22,6 +22,7 @@ class PySphinx(PythonPackage):
'sphinx.environment.collectors', 'sphinx.environment.adapters'
]
+ version('3.2.0', sha256='cf2d5bc3c6c930ab0a1fbef3ad8a82994b1bf4ae923f8098a05c7e5516f07177')
version('3.0.0', sha256='6a099e6faffdc3ceba99ca8c2d09982d43022245e409249375edf111caf79ed3')
version('2.2.0', sha256='0d586b0f8c2fc3cc6559c5e8fd6124628110514fda0e5d7c82e682d749d2e845')
version('1.8.4', sha256='c1c00fc4f6e8b101a0d037065043460dffc2d507257f2f11acaed71fd2b0c83c')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
index 9ba3dbc720..d7820786b0 100644
--- a/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-bibtex/package.py
@@ -14,6 +14,7 @@ class PySphinxcontribBibtex(PythonPackage):
import_modules = ['sphinxcontrib', 'sphinxcontrib.bibtex']
+ version('1.0.0', sha256='629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0')
version('0.3.5', sha256='c93e2b4a0d14f0ab726f95f0a33c1675965e9df3ed04839635577b8f978206cd')
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
new file mode 100644
index 0000000000..b525971d46
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-mermaid/package.py
@@ -0,0 +1,20 @@
+# 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 PySphinxcontribMermaid(PythonPackage):
+ """This extension allows you to embed
+ `Mermaid <http://knsv.github.io/mermaid/>`_ graphs in your documents,
+ including general flowcharts, sequence and gantt diagrams."""
+
+ homepage = "https://github.com/mgaitan/sphinxcontrib-mermaid"
+ url = "https://files.pythonhosted.org/packages/8e/0a/8a97b65608a63c43a99a9d6a37a5baff853f306e8506bf21ce54bb50d4f3/sphinxcontrib-mermaid-0.4.0.tar.gz"
+
+ version('0.4.0', sha256='0ee45ba45b9575505eacdd6212e4e545213f4f93dfa32c7eeca32720dbc3b468')
+ version('0.3.1', sha256='649738afc3022d25a742a928f7b4146cf6024b1d8bb49017962713d2de78123c', extension='zip')
+
+ depends_on('py-sphinx@1.7:')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
new file mode 100644
index 0000000000..191907db4f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/package.py
@@ -0,0 +1,22 @@
+# 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 PySphinxcontribTrio(PythonPackage):
+ """This sphinx extension helps you document Python code that uses
+ async/await, or abstract methods, or context managers, or generators,
+ or ... you get the idea."""
+
+ homepage = "https://github.com/python-trio/sphinxcontrib-trio"
+ url = "https://files.pythonhosted.org/packages/ca/33/ee48d86e30bb3c5d72a47f49b1ebf5c23dd253b04d8d5fc3e6c68407a03e/sphinxcontrib-trio-1.1.2.tar.gz"
+
+ version('1.1.2', sha256='9f1ba9c1d5965b534e85258d8b677dd94e9b1a9a2e918b85ccd42590596b47c0')
+ version('1.1.0', sha256='d90f46d239ba0556e53d9a110989f98c9eb2cea76ab47937a1f39b62f63fe654')
+
+ depends_on('py-sphinx@1.7:')
+
+ patch('sphinxcontrib-trio.patch', when='@1.1.0')
diff --git a/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/sphinxcontrib-trio.patch b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/sphinxcontrib-trio.patch
new file mode 100644
index 0000000000..49465f4a11
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinxcontrib-trio/sphinxcontrib-trio.patch
@@ -0,0 +1,10 @@
+diff -urN a/setup.py b/setup.py
+--- a/setup.py 2019-08-01 10:44:29.583879243 +0200
++++ b/setup.py 2019-08-01 11:57:01.815819059 +0200
+@@ -32,4 +32,5 @@
+ "Framework :: Twisted",
+ "Topic :: Documentation :: Sphinx",
+ "Topic :: Software Development :: Documentation",
+- ])
++ ],
++ namespace_packages=['sphinxcontrib'])
diff --git a/var/spack/repos/builtin/packages/py-sshtunnel/package.py b/var/spack/repos/builtin/packages/py-sshtunnel/package.py
new file mode 100644
index 0000000000..c9a13fa06e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sshtunnel/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PySshtunnel(PythonPackage):
+ """Pure python SSH tunnels."""
+
+ homepage = "https://github.com/pahaz/sshtunnel"
+ url = "https://pypi.io/packages/source/s/sshtunnel/sshtunnel-0.1.5.tar.gz"
+
+ version('0.1.5', sha256='c813fdcda8e81c3936ffeac47cb69cfb2d1f5e77ad0de656c6dab56aeebd9249')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-paramiko@1.15.2:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-tensorflow/package.py b/var/spack/repos/builtin/packages/py-tensorflow/package.py
index 5c8a10a4a9..367a3511d6 100644
--- a/var/spack/repos/builtin/packages/py-tensorflow/package.py
+++ b/var/spack/repos/builtin/packages/py-tensorflow/package.py
@@ -141,8 +141,9 @@ class PyTensorflow(Package, CudaPackage):
depends_on('py-keras-preprocessing@1.1.0:', type=('build', 'run'), when='@2.1:')
depends_on('py-keras-preprocessing@1.0.5:', type=('build', 'run'), when='@1.12:')
depends_on('py-keras-preprocessing@1.0.3:', type=('build', 'run'), when='@1.11:')
- depends_on('py-numpy@1.16.0:1.999', type=('build', 'run'), when='@1.13.2,1.15:')
- depends_on('py-numpy@1.14.5:1.999', type=('build', 'run'), when='@1.12.1,1.14.0')
+ # https://github.com/tensorflow/tensorflow/issues/40688
+ depends_on('py-numpy@1.16.0:1.18', type=('build', 'run'), when='@1.13.2,1.15:')
+ depends_on('py-numpy@1.14.5:1.18', type=('build', 'run'), when='@1.12.1,1.14.0')
depends_on('py-numpy@1.13.3:1.14.5', type=('build', 'run'), when='@1.10.0:1.10.1')
depends_on('py-numpy@1.13.3:', type=('build', 'run'), when='@1.6:')
depends_on('py-numpy@1.12.1:', type=('build', 'run'), when='@1.4:')
@@ -202,7 +203,6 @@ class PyTensorflow(Package, CudaPackage):
conflicts('+jemalloc', when='@:0')
conflicts('+jemalloc', when='platform=darwin', msg='Currently jemalloc is only support on Linux platform')
conflicts('+jemalloc', when='platform=cray', msg='Currently jemalloc is only support on Linux platform')
- conflicts('+jemalloc', when='platform=bgq', msg='Currently jemalloc is only support on Linux platform')
conflicts('+gcp', when='@:0.8')
conflicts('+hdfs', when='@:0.10')
conflicts('+aws', when='@:1.3')
@@ -226,18 +226,15 @@ class PyTensorflow(Package, CudaPackage):
conflicts('+tensorrt', when='~cuda')
conflicts('+tensorrt', when='platform=darwin', msg='Currently TensorRT is only supported on Linux platform')
conflicts('+tensorrt', when='platform=cray', msg='Currently TensorRT is only supported on Linux platform')
- conflicts('+tensorrt', when='platform=bgq', msg='Currently TensorRT is only supported on Linux platform')
conflicts('+nccl', when='@:1.7')
conflicts('+nccl', when='~cuda')
conflicts('+nccl', when='platform=darwin', msg='Currently NCCL is only supported on Linux platform')
conflicts('+nccl', when='platform=cray', msg='Currently NCCL is only supported on Linux platform')
- conflicts('+nccl', when='platform=bgq', msg='Currently NCCL is only supported on Linux platform')
conflicts('+mpi', when='@:1.2')
conflicts('+android', when='@:1.4')
conflicts('+ios', when='@:1.12.0,1.12.2:1.13')
conflicts('+ios', when='platform=linux', msg='iOS support only available on macOS')
conflicts('+ios', when='platform=cray', msg='iOS support only available on macOS')
- conflicts('+ios', when='platform=bgq', msg='iOS support only available on macOS')
conflicts('+monolithic', when='@:1.3')
conflicts('+numa', when='@:1.12.0,1.12.2:1.13')
conflicts('+dynamic_kernels', when='@:1.12.0,1.12.2:1.12.3')
diff --git a/var/spack/repos/builtin/packages/py-torch-geometric/package.py b/var/spack/repos/builtin/packages/py-torch-geometric/package.py
new file mode 100644
index 0000000000..84d633c261
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-torch-geometric/package.py
@@ -0,0 +1,39 @@
+# 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)
+
+
+class PyTorchGeometric(PythonPackage):
+ """PyTorch Geometric (PyG) is a geometric deep learning extension
+ library for PyTorch. It consists of various methods for deep
+ learning on graphs and other irregular structures, also known as
+ geometric deep learning, from a variety of published papers. In
+ addition, it consists of an easy-to-use mini-batch loader for many
+ small and single giant graphs, multi gpu-support, a large number
+ of common benchmark datasets (based on simple interfaces to create
+ your own), and helpful transforms, both for learning on arbitrary
+ graphs as well as on 3D meshes or point clouds."""
+
+ homepage = "https://github.com/rusty1s/pytorch_geometric"
+ url = "https://github.com/rusty1s/pytorch_geometric/archive/1.6.0.tar.gz"
+
+ version('1.6.0', sha256='7d5231cdcc2ebd4444f406cbf1537eb49bf90ab6f446eaf1b7af5cdbe105f3c9')
+
+ depends_on('python@3.6:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pytest-runner', type='build')
+ depends_on('py-torch', type=('build', 'run'))
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-tqdm', type=('build', 'run'))
+ depends_on('py-scipy', type=('build', 'run'))
+ depends_on('py-networkx', type=('build', 'run'))
+ depends_on('py-scikit-learn', type=('build', 'run'))
+ depends_on('py-numba', type=('build', 'run'))
+ depends_on('py-requests', type=('build', 'run'))
+ depends_on('py-pandas', type=('build', 'run'))
+ depends_on('py-rdflib', type=('build', 'run'))
+ depends_on('py-googledrivedownloader', type=('build', 'run'))
+ depends_on('py-h5py~mpi', type=('build', 'run'))
+ depends_on('py-ase', type=('build', 'run'))
+ depends_on('py-jinja2', 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 1ffeb81b23..1e2978dc54 100644
--- a/var/spack/repos/builtin/packages/py-torch/package.py
+++ b/var/spack/repos/builtin/packages/py-torch/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
+import os
class PyTorch(PythonPackage, CudaPackage):
@@ -50,6 +51,7 @@ class PyTorch(PythonPackage, CudaPackage):
]
version('master', branch='master', submodules=True)
+ version('1.6.0', tag='v1.6.0', submodules=True)
version('1.5.1', tag='v1.5.1', submodules=True)
version('1.5.0', tag='v1.5.0', submodules=True)
version('1.4.1', tag='v1.4.1', submodules=True)
@@ -68,6 +70,7 @@ class PyTorch(PythonPackage, CudaPackage):
variant('cuda', default=True, description='Build with CUDA')
variant('cudnn', default=True, description='Enables the cuDNN build')
+ variant('rocm', default=False, description='Build with ROCm build')
variant('magma', default=False, description='Enables the MAGMA build')
variant('fbgemm', default=False, description='Enables the FBGEMM build')
variant('test', default=False, description='Enables the test build')
@@ -112,12 +115,14 @@ class PyTorch(PythonPackage, CudaPackage):
conflicts('cuda_arch=none', when='+cuda',
msg='Must specify CUDA compute capabilities of your GPU, see '
'https://developer.nvidia.com/cuda-gpus')
+ conflicts('+rocm', when='+cuda')
# Required dependencies
depends_on('cmake@3.5:', type='build')
# Use Ninja generator to speed up build times
# Automatically used if found
depends_on('ninja@1.5:', type='build')
+ depends_on('python@3.6.1:', when='@1.6:', type=('build', 'run'))
depends_on('python@3.5:', when='@1.5:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.5:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
@@ -173,6 +178,9 @@ class PyTorch(PythonPackage, CudaPackage):
# Fixes CMake configuration error when XNNPACK is disabled
patch('xnnpack.patch', when='@1.5.0:1.5.999')
+ # Fixes Build error for when ROCm is enable for pytorch-1.5 release
+ patch('rocm.patch', when='@1.5.0:1.5.999+rocm')
+
# https://github.com/pytorch/pytorch/pull/37086
# Fixes compilation with Clang 9.0.0 and Apple Clang 11.0.3
patch('https://github.com/pytorch/pytorch/commit/e921cd222a8fbeabf5a3e74e83e0d8dfb01aa8b5.patch',
@@ -244,7 +252,9 @@ class PyTorch(PythonPackage, CudaPackage):
enable_or_disable('fbgemm')
enable_or_disable('test', keyword='BUILD')
-
+ enable_or_disable('rocm')
+ if '+rocm' in self.spec:
+ env.set('USE_MKLDNN', 0)
if '+miopen' in self.spec:
env.set('MIOPEN_LIB_DIR', self.spec['miopen'].libs.directories[0])
env.set('MIOPEN_INCLUDE_DIR', self.spec['miopen'].prefix.include)
@@ -297,6 +307,11 @@ class PyTorch(PythonPackage, CudaPackage):
enable_or_disable('zstd', newer=True)
enable_or_disable('tbb', newer=True)
+ @run_before('install')
+ def build_amd(self):
+ if '+rocm' in self.spec:
+ python(os.path.join('tools', 'amd_build', 'build_amd.py'))
+
def install_test(self):
with working_dir('test'):
python('run_test.py')
diff --git a/var/spack/repos/builtin/packages/py-torch/rocm.patch b/var/spack/repos/builtin/packages/py-torch/rocm.patch
new file mode 100644
index 0000000000..b50cc7e159
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-torch/rocm.patch
@@ -0,0 +1,98 @@
+diff --git a/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h b/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h
+index 9cd678dfb4cc7..4630465115c7c 100644
+--- a/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h
++++ b/aten/src/ATen/cuda/nvrtc_stub/ATenNVRTC.h
+@@ -67,6 +67,14 @@ namespace at { namespace cuda {
+ //
+ // HIP doesn't have
+ // cuGetErrorString (maps to non-functional hipGetErrorString___)
++//
++// HIP from ROCm 3.5 on renamed hipOccupancyMaxActiveBlocksPerMultiprocessor
++// to hipModuleOccupancyMaxActiveBlocksPerMultiprocessor.
++#if HIP_VERSION < 305
++#define HIPOCCUPANCYMAXACTIVEBLOCKSPERMULTIPROCESSOR hipOccupancyMaxActiveBlocksPerMultiprocessor
++#else
++#define HIPOCCUPANCYMAXACTIVEBLOCKSPERMULTIPROCESSOR cuOccupancyMaxActiveBlocksPerMultiprocessor
++#endif
+
+ #define AT_FORALL_NVRTC(_) \
+ _(nvrtcVersion) \
+@@ -76,7 +84,7 @@ namespace at { namespace cuda {
+ _(nvrtcGetPTX) \
+ _(cuModuleLoadData) \
+ _(cuModuleGetFunction) \
+- _(cuOccupancyMaxActiveBlocksPerMultiprocessor) \
++ _(HIPOCCUPANCYMAXACTIVEBLOCKSPERMULTIPROCESSOR)\
+ _(nvrtcGetErrorString) \
+ _(nvrtcGetProgramLogSize) \
+ _(nvrtcGetProgramLog) \
+diff --git a/aten/src/ATen/native/cuda/SoftMax.cu b/aten/src/ATen/native/cuda/SoftMax.cu
+index da1995123ecfc..f935eb4ef3d0e 100644
+--- a/aten/src/ATen/native/cuda/SoftMax.cu
++++ b/aten/src/ATen/native/cuda/SoftMax.cu
+@@ -127,8 +127,8 @@ void SpatialSoftMax_getLaunchSizes(
+ uint32_t block_threads = block.x * block.y;
+ smem_size = block.x == 1 ? 0 : block_threads * sizeof(accscalar_t);
+ int max_active_blocks;
+-#ifdef __HIP_PLATFORM_HCC__
+- // XXX HIP function signature is not compatible yet.
++#if defined(__HIP_PLATFORM_HCC__) && HIP_VERSION < 305
++ // HIP function signature is not compatible yet.
+ uint32_t max_blocks;
+ cudaOccupancyMaxActiveBlocksPerMultiprocessor(&max_blocks,
+ k, block_threads, smem_size);
+diff --git a/torch/csrc/jit/codegen/fuser/cuda/fused_kernel.cpp b/torch/csrc/jit/codegen/fuser/cuda/fused_kernel.cpp
+index 5586e49919727..27315ee475277 100644
+--- a/torch/csrc/jit/codegen/fuser/cuda/fused_kernel.cpp
++++ b/torch/csrc/jit/codegen/fuser/cuda/fused_kernel.cpp
+@@ -140,10 +140,10 @@ FusedKernelCUDA::FusedKernelCUDA(
+ nvrtc().cuModuleGetFunction(&function_, module_, name_.c_str()));
+
+ // Computes max blocks
+-#ifdef __HIP_PLATFORM_HCC__
+- // XXX HIP function signature is not compatible yet
++#if defined(__HIP_PLATFORM_HCC__) && HIP_VERSION < 305
++ // HIP function signature is not compatible yet
+ uint32_t max_blocks;
+- AT_CUDA_DRIVER_CHECK(nvrtc().cuOccupancyMaxActiveBlocksPerMultiprocessor(
++ AT_CUDA_DRIVER_CHECK(nvrtc().hipOccupancyMaxActiveBlocksPerMultiprocessor(
+ &max_blocks, function_, 128, 0));
+ maxBlocks_ = max_blocks;
+ #else
+diff --git a/torch/utils/hipify/cuda_to_hip_mappings.py b/torch/utils/hipify/cuda_to_hip_mappings.py
+index 7e21363cbe6af..26f269d92ae38 100644
+--- a/torch/utils/hipify/cuda_to_hip_mappings.py
++++ b/torch/utils/hipify/cuda_to_hip_mappings.py
+@@ -2890,7 +2890,7 @@
+ (
+ "cuOccupancyMaxActiveBlocksPerMultiprocessor",
+ (
+- "hipOccupancyMaxActiveBlocksPerMultiprocessor",
++ "hipModuleOccupancyMaxActiveBlocksPerMultiprocessor",
+ CONV_OCCUPANCY,
+ API_DRIVER,
+ ),
+@@ -2898,7 +2898,7 @@
+ (
+ "cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags",
+ (
+- "hipOccupancyMaxActiveBlocksPerMultiprocessorWithFlags",
++ "hipModuleOccupancyMaxActiveBlocksPerMultiprocessorWithFlags",
+ CONV_OCCUPANCY,
+ API_DRIVER,
+ HIP_UNSUPPORTED,
+@@ -2906,12 +2906,12 @@
+ ),
+ (
+ "cuOccupancyMaxPotentialBlockSize",
+- ("hipOccupancyMaxPotentialBlockSize", CONV_OCCUPANCY, API_DRIVER),
++ ("hipModuleOccupancyMaxPotentialBlockSize", CONV_OCCUPANCY, API_DRIVER),
+ ),
+ (
+ "cuOccupancyMaxPotentialBlockSizeWithFlags",
+ (
+- "hipOccupancyMaxPotentialBlockSizeWithFlags",
++ "hipModuleOccupancyMaxPotentialBlockSizeWithFlags",
+ CONV_OCCUPANCY,
+ API_DRIVER,
+ HIP_UNSUPPORTED,
diff --git a/var/spack/repos/builtin/packages/py-torchvision/package.py b/var/spack/repos/builtin/packages/py-torchvision/package.py
index 4e40117c8d..c94f06ef6f 100644
--- a/var/spack/repos/builtin/packages/py-torchvision/package.py
+++ b/var/spack/repos/builtin/packages/py-torchvision/package.py
@@ -11,7 +11,7 @@ class PyTorchvision(PythonPackage):
architectures, and common image transformations for computer vision."""
homepage = "https://github.com/pytorch/vision"
- url = "https://github.com/pytorch/vision/archive/v0.6.1.tar.gz"
+ url = "https://github.com/pytorch/vision/archive/v0.7.0.tar.gz"
maintainers = ['adamjstewart']
import_modules = [
@@ -21,6 +21,7 @@ class PyTorchvision(PythonPackage):
'torchvision.models.detection'
]
+ version('0.7.0', sha256='fa0a6f44a50451115d1499b3f2aa597e0092a07afce1068750260fa7dd2c85cb')
version('0.6.1', sha256='8173680a976c833640ecbd0d7e6f0a11047bf8833433e2147180efc905e48656')
version('0.6.0', sha256='02de11b3abe6882de4032ce86dab9c7794cbc84369b44d04e667486580f0f1f7')
version('0.5.0', sha256='eb9afc93df3d174d975ee0914057a9522f5272310b4d56c150b955c287a4d74d')
@@ -29,16 +30,36 @@ class PyTorchvision(PythonPackage):
version('0.4.0', sha256='c270d74e568bad4559fed4544f6dd1e22e2eb1c60b088e04a5bd5787c4150589')
version('0.3.0', sha256='c205f0618c268c6ed2f8abb869ef6eb83e5339c1336c243ad321a2f2a85195f0')
- depends_on('python@3:', when='@0.6:', type=('build', 'run'))
+ # See README.rst
+ depends_on('python@3.6:', when='@0.7:', type=('build', 'run'))
+ depends_on('python@3.5:', when='@0.6.0:0.6.999', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.5:3.8', when='@0.5.0', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.5:3.7', when='@:0.4', type=('build', 'run'))
+
depends_on('py-setuptools', type='build')
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-six', when='@:0.5', type=('build', 'run'))
- depends_on('py-torch@1.4:', when='@0.6:', type=('build', 'link', 'run'))
- depends_on('py-torch@1.2:', when='@0.4:', type=('build', 'link', 'run'))
- depends_on('py-torch@1.1:', type=('build', 'link', 'run'))
+
+ # See README.rst
+ depends_on('py-torch@1.6.0', when='@0.7.0', type=('build', 'link', 'run'))
+ depends_on('py-torch@1.5.0', when='@0.6.0', type=('build', 'link', 'run'))
+ depends_on('py-torch@1.4.0', when='@0.5.0', type=('build', 'link', 'run'))
+ depends_on('py-torch@1.3.1', when='@0.4.2', type=('build', 'link', 'run'))
+ depends_on('py-torch@1.3.0', when='@0.4.1', type=('build', 'link', 'run'))
+ depends_on('py-torch@1.2.0', when='@0.4.0', type=('build', 'link', 'run'))
+ depends_on('py-torch@1.1.0', when='@0.3.0', type=('build', 'link', 'run'))
+ depends_on('py-torch@:1.0.1', when='@0.2.2', type=('build', 'link', 'run'))
+
+ # TODO: Torchvision supports the following backends:
+ # * pillow
+ # * pillow-simd
+ # * accimage
+ # * libpng
+ # * libjpeg
+
# https://github.com/pytorch/vision/issues/1712
- depends_on('py-pillow@4.1.1:6', when='@:0.4', type=('build', 'run')) # or py-pillow-simd
- depends_on('py-pillow@4.1.1:', when='@0.5:', type=('build', 'run')) # or py-pillow-simd
+ depends_on('py-pillow@4.1.1:6', when='@:0.4', type=('build', 'run'))
+ depends_on('py-pillow@4.1.1:', when='@0.5:', type=('build', 'run'))
# Many of the datasets require additional dependencies to use.
# These can be installed after the fact.
diff --git a/var/spack/repos/builtin/packages/py-uvw/package.py b/var/spack/repos/builtin/packages/py-uvw/package.py
new file mode 100644
index 0000000000..0a87855fab
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-uvw/package.py
@@ -0,0 +1,28 @@
+# 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 PyUvw(PythonPackage):
+ """
+ UVW is a small utility library to write VTK files
+ from data contained in Numpy arrays.
+ """
+
+ homepage = "https://github.com/prs513rosewood/uvw"
+ url = "https://pypi.io/packages/source/u/uvw/uvw-0.3.1.tar.gz"
+
+ maintainers = ['prs513rosewood']
+
+ version('0.3.1', sha256='31e3347ec342bd5381091f3c782ea1a1bfa4709d1de41cd700509e0b813f2265')
+ version('0.0.7', sha256='4bcb77cf9655f0dcd5f38f024210ac5ad7ebc6fcfb45f898468d29a927bcb7a5')
+
+ variant('mpi', description="Use parallel writers", default=False)
+
+ depends_on('python@3:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-numpy', type=('build', 'run'))
+ depends_on('py-mpi4py', type=('build', 'run'), when="+mpi")
diff --git a/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py b/var/spack/repos/builtin/packages/py-vsts-cd-manager/package.py
new file mode 100644
index 0000000000..0e44620e69
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-vsts-cd-manager/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)
+
+
+class PyVstsCdManager(PythonPackage):
+ """Python wrapper around some of the VSTS APIs."""
+
+ homepage = "https://github.com/microsoft/vsts-cd-manager"
+ url = "https://pypi.io/packages/source/v/vsts-cd-manager/vsts-cd-manager-1.0.2.tar.gz"
+
+ version('1.0.2', sha256='0bb09059cd553e1c206e92ef324cb0dcf92334846d646c44c684f6256b86447b')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.2.0:', type=('build', 'run'))
+ depends_on('py-mock', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/py-vsts/package.py b/var/spack/repos/builtin/packages/py-vsts/package.py
new file mode 100644
index 0000000000..ed597e3cbd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-vsts/package.py
@@ -0,0 +1,16 @@
+# 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)
+
+
+class PyVsts(PythonPackage):
+ """Python wrapper around the VSTS APIs."""
+
+ homepage = "https://github.com/Microsoft/vsts-python-api"
+ url = "https://pypi.io/packages/source/v/vsts/vsts-0.1.25.tar.gz"
+
+ version('0.1.25', sha256='da179160121f5b38be061dbff29cd2b60d5d029b2207102454d77a7114e64f97')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-msrest@0.6.0:0.6.999', type=('build', 'run'))
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 75ce5e69cc..c55df5e899 100644
--- a/var/spack/repos/builtin/packages/py-websocket-client/package.py
+++ b/var/spack/repos/builtin/packages/py-websocket-client/package.py
@@ -11,6 +11,7 @@ class PyWebsocketClient(PythonPackage):
url = "https://pypi.io/packages/source/w/websocket_client/websocket_client-0.57.0.tar.gz"
version('0.57.0', sha256='d735b91d6d1692a6a181f2a8c9e0238e5f6373356f561bb9dc4c7af36f452010')
+ version('0.56.0', sha256='1fd5520878b68b84b5748bb30e592b10d0a91529d5383f74f4964e72b297fd3a')
depends_on('python@2.6:2.8,3.4:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
diff --git a/var/spack/repos/builtin/packages/py-websockets/package.py b/var/spack/repos/builtin/packages/py-websockets/package.py
new file mode 100644
index 0000000000..891678934c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-websockets/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)
+
+
+class PyWebsockets(PythonPackage):
+ """websockets is a library for building WebSocket servers and
+ clients in Python with a focus on correctness and simplicity."""
+
+ homepage = "https://github.com/aaugustin/websockets"
+ url = "https://github.com/aaugustin/websockets/archive/8.1.tar.gz"
+
+ version('8.1', sha256='c19ce96ad5f7606127d3915364144df93fb865a215784b06048fae3d39364f14')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('python@3.6.1:', 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 476b7b9e07..846d315650 100644
--- a/var/spack/repos/builtin/packages/py-wheel/package.py
+++ b/var/spack/repos/builtin/packages/py-wheel/package.py
@@ -9,16 +9,21 @@ from spack import *
class PyWheel(PythonPackage):
"""A built-package format for Python."""
- homepage = "https://pypi.python.org/pypi/wheel"
- url = "https://pypi.io/packages/source/w/wheel/wheel-0.29.0.tar.gz"
+ homepage = "https://github.com/pypa/wheel"
+ url = "https://pypi.io/packages/source/w/wheel/wheel-0.34.2.tar.gz"
+ version('0.34.2', sha256='8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96')
version('0.33.4', sha256='62fcfa03d45b5b722539ccbc07b190e4bfff4bb9e3a4d470dd9f6a0981002565')
version('0.33.1', sha256='66a8fd76f28977bb664b098372daef2b27f60dc4d1688cfab7b37a09448f0e9d')
version('0.32.3', sha256='029703bf514e16c8271c3821806a1c171220cc5bdd325cbf4e7da1e056a01db6')
version('0.29.0', sha256='1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648')
version('0.26.0', sha256='eaad353805c180a47545a256e6508835b65a8e830ba1093ed8162f19a50a530c')
+ depends_on('python@2.7:2.8,3.5:', when='@0.34:', type=('build', 'run'))
+ depends_on('python@2.7:2.8,3.4:', when='@0.30:', type=('build', 'run'))
+ depends_on('python@2.6:2.8,3.2:', type=('build', 'run'))
+ depends_on('py-setuptools@40.9.0:', when='@0.34.1:', type=('build', 'run'))
depends_on('py-setuptools', type=('build', 'run'))
- depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
+ depends_on('py-setuptools-scm@3.4:', when='@0.34.0', type='build')
depends_on('py-pytest@3.0.0:', type='test')
depends_on('py-pytest-cov', type='test')
diff --git a/var/spack/repos/builtin/packages/py-yarl/package.py b/var/spack/repos/builtin/packages/py-yarl/package.py
new file mode 100644
index 0000000000..3b33ac4776
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-yarl/package.py
@@ -0,0 +1,28 @@
+# 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)
+
+
+class PyYarl(PythonPackage):
+ """The module provides handy URL class for URL parsing and changing."""
+
+ homepage = "https://github.com/aio-libs/yarl"
+ url = "https://github.com/aio-libs/yarl/archive/v1.4.2.tar.gz"
+
+ version('1.4.2', sha256='a400eb3f54f7596eeaba8100a8fa3d72135195423c52808dc54a43c6b100b192')
+
+ depends_on('python@3.5:', type=('build', 'run'))
+ depends_on('py-setuptools', type='build')
+ depends_on('py-cython', type='build')
+ depends_on('py-multidict@4.0:', type=('build', 'run'))
+ depends_on('py-idna@2.0:', type=('build', 'run'))
+
+ @run_before('build')
+ def fix_cython(self):
+ cython = self.spec['py-cython'].command
+ cython('-3',
+ '-o',
+ 'yarl/_quoting.c',
+ 'yarl/_quoting.pyx',
+ '-Iyarl')
diff --git a/var/spack/repos/builtin/packages/py-yolk3k/package.py b/var/spack/repos/builtin/packages/py-yolk3k/package.py
new file mode 100644
index 0000000000..d744f93f94
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-yolk3k/package.py
@@ -0,0 +1,22 @@
+# 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 PyYolk3k(PythonPackage):
+ """Yolk is a Python tool for obtaining information about installed Python
+ packages and querying packages avilable on PyPI (Python Package Index).
+ Yolk3k is a fork of the original yolk. `yolk3k` add Python 3 support and
+ adds additional features."""
+
+ homepage = "https://github.com/myint/yolk"
+ url = "https://pypi.io/packages/source/y/yolk3k/yolk3k-0.9.tar.gz"
+
+ version('0.9', sha256='cf8731dd0a9f7ef50b5dc253fe0174383e3fed295a653672aa918c059eef86ae')
+
+ depends_on('py-pygments')
+ depends_on('py-jinja2')
+ depends_on('py-docutils')
diff --git a/var/spack/repos/builtin/packages/pythia8/package.py b/var/spack/repos/builtin/packages/pythia8/package.py
index 572d65922b..8660fc8b01 100644
--- a/var/spack/repos/builtin/packages/pythia8/package.py
+++ b/var/spack/repos/builtin/packages/pythia8/package.py
@@ -15,6 +15,9 @@ class Pythia8(AutotoolsPackage):
homepage = "http://home.thep.lu.se/Pythia/"
url = "http://home.thep.lu.se/~torbjorn/pythia8/pythia8244.tgz"
+ maintainers = ['ChristianTackeGSI']
+
+ version('8302', sha256='7372e4cc6f48a074e6b7bc426b040f218ec4a64b0a55e89da6af56933b5f5085')
version('8301', sha256='51382768eb9aafb97870dca1909516422297b64ef6a6b94659259b3e4afa7f06')
version('8244', sha256='e34880f999daf19cdd893a187123927ba77d1bf851e30f6ea9ec89591f4c92ca', preferred=True)
version('8240', sha256='d27495d8ca7707d846f8c026ab695123c7c78c7860f04e2c002e483080418d8d')
diff --git a/var/spack/repos/builtin/packages/python/fj-rpath-2.3.patch b/var/spack/repos/builtin/packages/python/fj-rpath-2.3.patch
new file mode 100644
index 0000000000..2ebda4cc12
--- /dev/null
+++ b/var/spack/repos/builtin/packages/python/fj-rpath-2.3.patch
@@ -0,0 +1,12 @@
+--- a/Lib/distutils/unixccompiler.py 2003-06-02 05:27:40.000000000 +1000
++++ b/Lib/distutils/unixccompiler.py 2017-05-13 13:52:45.554213616 +1000
+@@ -208,7 +208,8 @@
+ elif compiler[:3] == "gcc" or compiler[:3] == "g++":
+ return "-Wl,-R" + dir
+ else:
+- return "-R" + dir
++ # Patched by spack to use GNU ld syntax by default:
++ return "-Wl,--enable-new-dtags,-R" + dir
+
+ def library_option(self, lib):
+ return "-l" + lib
diff --git a/var/spack/repos/builtin/packages/python/fj-rpath-3.1.patch b/var/spack/repos/builtin/packages/python/fj-rpath-3.1.patch
new file mode 100644
index 0000000000..d25b58da77
--- /dev/null
+++ b/var/spack/repos/builtin/packages/python/fj-rpath-3.1.patch
@@ -0,0 +1,13 @@
+--- a/Lib/distutils/unixccompiler.py 2009-05-09 21:55:12.000000000 +1000
++++ b/Lib/distutils/unixccompiler.py 2017-05-13 14:30:18.077518999 +1000
+@@ -215,7 +211,8 @@
+ return "-L" + dir
+
+ def _is_gcc(self, compiler_name):
+- return "gcc" in compiler_name or "g++" in compiler_name
++ return "gcc" in compiler_name or "g++" in compiler_name \
++ or "fcc" in compiler_name or "FCC" in compiler_name
+
+ def runtime_library_dir_option(self, dir):
+ # XXX Hackish, at the very least. See Python bug #445902:
+
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index bca6162c64..16bd621504 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -31,11 +31,14 @@ class Python(AutotoolsPackage):
maintainers = ['adamjstewart']
+ version('3.8.5', sha256='015115023c382eb6ab83d512762fe3c5502fa0c6c52ffebc4831c4e1a06ffc49')
+ version('3.8.4', sha256='32c4d9817ef11793da4d0d95b3191c4db81d2e45544614e8449255ca9ae3cc18')
version('3.8.3', sha256='6af6d4d2e010f9655518d0fc6738c7ff7069f10a4d2fbd55509e467f092a8b90')
version('3.8.2', sha256='e634a7a74776c2b89516b2e013dda1728c89c8149b9863b8cea21946daf9d561')
version('3.8.1', sha256='c7cfa39a43b994621b245e029769e9126caa2a93571cee2e743b213cceac35fb')
version('3.8.0', sha256='f1069ad3cae8e7ec467aa98a6565a62a48ef196cb8f1455a245a08db5e1792df')
- version('3.7.7', sha256='8c8be91cd2648a1a0c251f04ea0bb4c2a5570feb9c45eaaa2241c785585b475a', preferred=True)
+ version('3.7.8', sha256='0e25835614dc221e3ecea5831b38fa90788b5389b99b675a751414c858789ab0', preferred=True)
+ version('3.7.7', sha256='8c8be91cd2648a1a0c251f04ea0bb4c2a5570feb9c45eaaa2241c785585b475a')
version('3.7.6', sha256='aeee681c235ad336af116f08ab6563361a0c81c537072c1b309d6e4050aa2114')
version('3.7.5', sha256='8ecc681ea0600bbfb366f2b173f727b205bb825d93d2f0b286bc4e58d37693da')
version('3.7.4', sha256='d63e63e14e6d29e17490abbe6f7d17afb3db182dbd801229f14e55f4157c4ba3')
@@ -43,6 +46,9 @@ class Python(AutotoolsPackage):
version('3.7.2', sha256='f09d83c773b9cc72421abba2c317e4e6e05d919f9bcf34468e192b6a6c8e328d')
version('3.7.1', sha256='36c1b81ac29d0f8341f727ef40864d99d8206897be96be73dc34d4739c9c9f06')
version('3.7.0', sha256='85bb9feb6863e04fb1700b018d9d42d1caac178559ffa453d7e6a436e259fd0d')
+ version('3.6.11', sha256='96621902f89746fffc22f39749c07da7c2917b232e72352e6837d41850f7b90c')
+ version('3.6.10', sha256='7034dd7cba98d4f94c74f9edd7345bac71c8814c41672c64d9044fa2f96f334d')
+ version('3.6.9', sha256='47fc92a1dcb946b9ed0abc311d3767b7215c54e655b17fd1d3f9b538195525aa')
version('3.6.8', sha256='7f5b1f08b3b0a595387ef6c64c85b1b13b38abef0dd871835ee923262e4f32f0')
version('3.6.7', sha256='b7c36f7ed8f7143b2c46153b7332db2227669f583ea0cce753facf549d1a4239')
version('3.6.6', sha256='7d56dadf6c7d92a238702389e80cfe66fbfae73e584189ed6f89c75bbf3eda58')
@@ -52,6 +58,7 @@ class Python(AutotoolsPackage):
version('3.6.2', sha256='7919489310a5f17f7acbab64d731e46dca0702874840dadce8bd4b2b3b8e7a82')
version('3.6.1', sha256='aa50b0143df7c89ce91be020fe41382613a817354b33acdc6641b44f8ced3828')
version('3.6.0', sha256='aa472515800d25a3739833f76ca3735d9f4b2fe77c3cb21f69275e0cce30cb2b')
+ version('3.5.8', sha256='18c88dfd260147bc7247e6356010e5d4916dfbfc480f6434917f88e61228177a')
version('3.5.7', sha256='542d94920a2a06a471a73b51614805ad65366af98145b0369bc374cf248b521b')
version('3.5.2', sha256='1524b840e42cf3b909e8f8df67c1724012c7dc7f9d076d4feef2d3eff031e8a0')
version('3.5.1', sha256='687e067d9f391da645423c7eda8205bae9d35edc0c76ef5218dcbe4cc770d0d7')
@@ -179,6 +186,10 @@ class Python(AutotoolsPackage):
patch('cray-rpath-2.3.patch', when='@2.3:3.0.1 platform=cray')
patch('cray-rpath-3.1.patch', when='@3.1:3.99 platform=cray')
+ # Ensure that distutils chooses correct compiler option for RPATH on fj:
+ patch('fj-rpath-2.3.patch', when='@2.3:3.0.1 %fj')
+ patch('fj-rpath-3.1.patch', when='@3.1:3.99 %fj')
+
# Fixes an alignment problem with more aggressive optimization in gcc8
# https://github.com/python/cpython/commit/0b91f8a668201fc58fa732b8acc496caedfdbae0
patch('gcc-8-2.7.14.patch', when='@2.7.14 %gcc@8:')
@@ -273,7 +284,7 @@ class Python(AutotoolsPackage):
# C/C++ source, and patches are required to enable building for these
# modules. All Python versions without a viable patch are installed
# with a warning message about this potentially erroneous behavior.
- if not spec.satisfies('@2.7.8:2.7.18,3.6.8,3.7.2:3.8.3'):
+ if not spec.satisfies('@2.7.8:2.7.18,3.6.8,3.7.2:3.8'):
tty.warn(('Python v{0} does not have the C++ "distutils" patch; '
'errors may occur when installing Python modules w/ '
'mixed C/C++ source files.').format(self.version))
diff --git a/var/spack/repos/builtin/packages/q-e-sirius/package.py b/var/spack/repos/builtin/packages/q-e-sirius/package.py
new file mode 100644
index 0000000000..7eed92f5d4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/q-e-sirius/package.py
@@ -0,0 +1,317 @@
+# 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)
+# adapted from official quantum espresso package
+
+import glob
+import os.path
+
+from spack import *
+
+
+class QESirius(Package):
+ """SIRIUS enabled fork of QuantumESPRESSO. """
+
+ homepage = 'https://github.com/electronic-structure/q-e-sirius/'
+ url = 'https://github.com/electronic-structure/q-e-sirius/archive/v6.5-rc4-sirius.tar.gz'
+ git = 'https://github.com/electronic-structure/q-e-sirius.git'
+
+ maintainers = ['simonpintarelli']
+
+ version('develop', branch='ristretto')
+
+ version('6.5-rc2-sirius', sha256='460b678406eec36e4ee828c027929cf8720c3965a85c20084c53398b123c9ae9')
+ version('6.5-rc3-sirius', sha256='1bfb8c1bba815b5ab2d733f51a8f9aa7b079f2859e6f14e4dcda708ebf172b02')
+ version('6.5-rc4-sirius', sha256='be5529d65e4b301d6a6d1235e8d88277171c1732768bf1cf0c7fdeae154c79f1')
+
+ variant('mpi', default=True, description='Builds with mpi support')
+ variant('openmp', default=True, description='Enables openMP support')
+ variant('scalapack', default=True, description='Enables scalapack support')
+ variant('elpa', default=False, description='Uses elpa as an eigenvalue solver')
+
+ # 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
+ )
+
+ # Enables building Electron-phonon Wannier 'epw.x' executable
+ # http://epw.org.uk/Main/About
+ variant('epw', default=False,
+ description='Builds Electron-phonon Wannier executable')
+
+ # Apply upstream patches by default. Variant useful for 3rd party
+ # patches which are incompatible with upstream patches
+ desc = 'Apply recommended upstream patches. May need to be set '
+ 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')
+
+ # Dependencies
+ depends_on('blas')
+ depends_on('lapack')
+ depends_on('fftw-api@3')
+ depends_on('sirius+fortran')
+ 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
+ # package for the default variant. This is only for hdf5=parallel variant.
+ # Support, for hdf5=serial was introduced in 6.4.1 but required a patch
+ # for the serial (no MPI) case. This patch was to work around an issue
+ # that only manifested itself inside the Spack environment.
+ conflicts(
+ 'hdf5=parallel',
+ when='@:6.0',
+ msg='parallel HDF5 support only in QE 6.1.0 and later'
+ )
+
+ conflicts(
+ 'hdf5=serial',
+ when='@:6.4.0',
+ msg='serial HDF5 support only in QE 6.4.1 and later'
+ )
+
+ conflicts(
+ 'hdf5=parallel',
+ when='~mpi',
+ 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')
+
+ # 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'
+ )
+
+ # 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')
+
+ # 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
+ conflicts('+epw', when='~mpi', msg='EPW needs MPI')
+
+ # EPW doesn't gets along well with OpenMPI 2.x.x
+ conflicts('+epw', when='^openmpi@2.0.0:2.999.999',
+ msg='OpenMPI version 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')
+
+ # Spurious problems running in parallel the Makefile
+ # generated by the configure
+ parallel = False
+
+ def install(self, spec, prefix):
+
+ prefix_path = prefix.bin if '@:5.4.0' in spec else prefix
+ options = ['-prefix={0}'.format(prefix_path)]
+
+ sirius = spec['sirius']
+
+ options.append('LIBS={0}'.format(sirius.libs[0]))
+ options.append('LD_LIBS={0}'.format(sirius.libs[0]))
+
+ options.append('--disable-xml')
+
+ # QE autoconf compiler variables has some limitations:
+ # 1. There is no explicit MPICC variable so we must re-purpose
+ # CC for the case of MPI.
+ # 2. F90 variable is set to be consistent with MPIF90 wrapper
+ # 3. If an absolute path for F90 is set, the build system breaks.
+ #
+ # Thus, due to 2. and 3. the F90 variable is not explictly set
+ # because it would be mostly pointless and could lead to erroneous
+ # behaviour.
+ if '+mpi' in spec:
+ mpi = spec['mpi']
+ options.append('--enable-parallel=yes')
+ options.append('MPIF90={0}'.format(mpi.mpifc))
+ options.append('CC={0}'.format(mpi.mpicc))
+ else:
+ options.append('--enable-parallel=no')
+ options.append('CC={0}'.format(spack_cc))
+
+ options.append('F77={0}'.format(spack_f77))
+ options.append('F90={0}'.format(spack_fc))
+
+ header_dir = sirius.headers.directories[0]
+ f90flags = 'F90FLAGS=-cpp -I {0}/sirius'.format(header_dir)
+
+ if self.spec.satisfies('%gcc@10:'):
+ f90flags += '-fallow-argument-mismatch'
+
+ options.append(f90flags)
+
+ if '+openmp' in spec:
+ options.append('--enable-openmp')
+
+ # QE external BLAS, FFT, SCALAPACK detection is a bit tricky.
+ # More predictable to pass in the correct link line to QE.
+ # If external detection of BLAS, LAPACK and FFT fails, QE
+ # is supposed to revert to internal versions of these libraries
+ # instead -- but more likely it will pickup versions of these
+ # libraries found in its the system path, e.g. Red Hat or
+ # Ubuntu's FFTW3 package.
+
+ # FFT
+ # FFT detection gets derailed if you pass into the CPPFLAGS, instead
+ # you need to pass it in the FFTW_INCLUDE and FFT_LIBS directory.
+ # QE supports an internal FFTW2, but only an external FFTW3 interface.
+
+ if '^mkl' in spec:
+ # A seperate FFT library is not needed when linking against MKL
+ options.append(
+ 'FFTW_INCLUDE={0}'.format(join_path(env['MKLROOT'],
+ 'include/fftw')))
+ if '^fftw@3:' in spec:
+ fftw_prefix = spec['fftw'].prefix
+ options.append('FFTW_INCLUDE={0}'.format(fftw_prefix.include))
+ fftw_ld_flags = spec['fftw'].libs.ld_flags
+ options.append('FFT_LIBS={0}'.format(fftw_ld_flags))
+
+ # External BLAS and LAPACK requires the correct link line into
+ # BLAS_LIBS, do no use LAPACK_LIBS as the autoconf scripts indicate
+ # that this variable is largely ignored/obsolete.
+
+ # For many Spack packages, lapack.libs = blas.libs, hence it will
+ # appear twice in in link line but this is harmless
+ lapack_blas = spec['lapack'].libs + spec['blas'].libs
+
+ # qe-6.5 fails to detect MKL for FFT if BLAS_LIBS is set due to
+ # an unfortunate upsteam change in their autoconf/configure:
+ # - qe-6.5/install/m4/x_ac_qe_blas.m4 only sets 'have_blas'
+ # but no 'have_mkl' if BLAS_LIBS is set (which seems to be o.k.)
+ # - however, qe-6.5/install/m4/x_ac_qe_fft.m4 in 6.5 unfortunately
+ # relies on x_ac_qe_blas.m4 to detect MKL and set 'have_mkl'
+ # - qe-5.4 up to 6.4.1 had a different logic and worked fine with
+ # BLAS_LIBS being set
+ # However, MKL is correctly picked up by qe-6.5 for BLAS and FFT if
+ # MKLROOT is set (which SPACK does automatically for ^mkl)
+ if not ('quantum-espresso@6.5' in spec and '^mkl' in spec):
+ options.append('BLAS_LIBS={0}'.format(lapack_blas.ld_flags))
+
+ if '+scalapack' in spec:
+ scalapack_option = 'intel' if '^mkl' in spec else 'yes'
+ options.append('--with-scalapack={0}'.format(scalapack_option))
+
+ if '+elpa' in spec:
+
+ # Spec for elpa
+ elpa = spec['elpa']
+
+ # Compute the include directory from there: versions
+ # of espresso prior to 6.1 requires -I in front of the directory
+ elpa_include = '' if '@6.1:' in spec else '-I'
+ elpa_include += os.path.join(
+ elpa.headers.directories[0],
+ 'modules'
+ )
+
+ options.extend([
+ '--with-elpa-include={0}'.format(elpa_include),
+ '--with-elpa-lib={0}'.format(elpa.libs[0])
+ ])
+
+ if spec.variants['hdf5'].value != 'none':
+ options.append('--with-hdf5={0}'.format(spec['hdf5'].prefix))
+ if spec.satisfies('@6.4.1,6.5'):
+ options.extend([
+ '--with-hdf5-include={0}'.format(
+ spec['hdf5'].headers.directories[0]
+ ),
+ '--with-hdf5-libs={0}'.format(
+ spec['hdf5:hl,fortran'].libs.ld_flags
+ )
+ ])
+
+ configure(*options)
+
+ # Filter file must be applied after configure executes
+ # QE 6.1.0 to QE 6.4 have `-L` missing in front of zlib library
+ # This issue is backported through an internal patch in 6.4.1, but
+ # can't be applied to the '+qmcpack' variant
+ if spec.variants['hdf5'].value != 'none':
+ if (spec.satisfies('@6.1.0:6.4.0') or
+ (spec.satisfies('@6.4.1') and '+qmcpack' in spec)):
+ make_inc = join_path(self.stage.source_path, 'make.inc')
+ zlib_libs = spec['zlib'].prefix.lib + ' -lz'
+ filter_file(
+ zlib_libs, format(spec['zlib'].libs.ld_flags), make_inc
+ )
+
+ if '+epw' in spec:
+ make('all', 'epw')
+ else:
+ make('all')
+
+ if 'platform=darwin' in spec:
+ mkdirp(prefix.bin)
+ for filename in glob.glob("bin/*.x"):
+ install(filename, prefix.bin)
+ else:
+ make('install')
diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py
index d5ec542ce6..884499fd36 100644
--- a/var/spack/repos/builtin/packages/qhull/package.py
+++ b/var/spack/repos/builtin/packages/qhull/package.py
@@ -18,12 +18,21 @@ class Qhull(CMakePackage):
homepage = "http://www.qhull.org"
+ version('2020.1', sha256='1ac92a5538f61e297c72aebe4d4ffd731ceb3e6045d6d15faf1c212713798df4',
+ url="http://www.qhull.org/download/qhull-2020-src-8.0.0.tgz")
+ version('2019.1', sha256='2b7990558c363076261564f61b74db4d0d73b71869755108a469038c07dc43fb',
+ url="http://www.qhull.org/download/qhull-2019-src-7.3.2.tgz")
version('2015.2', sha256='78b010925c3b577adc3d58278787d7df08f7c8fb02c3490e375eab91bb58a436',
url="http://www.qhull.org/download/qhull-2015-src-7.2.0.tgz")
-
version('2012.1', sha256='a35ecaa610550b7f05c3ce373d89c30cf74b059a69880f03080c556daebcff88',
url="http://www.qhull.org/download/qhull-2012.1-src.tgz")
patch('qhull-unused-intel-17.02.patch', when='@2015.2')
- depends_on('cmake@2.6:', type='build')
+ depends_on('cmake@3.0:', type='build')
+
+ def flag_handler(self, name, flags):
+ # See https://github.com/qhull/qhull/issues/65
+ if name == 'cxxflags' and self.version == Version('2020.1'):
+ flags.append(self.compiler.cxx11_flag)
+ return (flags, None, None)
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 7e016846ab..17495dda39 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -158,6 +158,7 @@ class Qt(Package):
# Non-macOS dependencies and special macOS constraints
if MACOS_VERSION is None:
depends_on("fontconfig", when='freetype=spack')
+ depends_on("libsm")
depends_on("libx11")
depends_on("libxcb")
depends_on("libxkbcommon")
@@ -177,6 +178,7 @@ class Qt(Package):
# Mapping for compilers/systems in the QT 'mkspecs'
compiler_mapping = {'intel': ('icc',),
+ 'apple-clang': ('clang-libc++', 'clang'),
'clang': ('clang-libc++', 'clang'),
'gcc': ('g++',)}
platform_mapping = {'darwin': 'macx'}
@@ -361,7 +363,6 @@ class Qt(Package):
@property
def common_config_args(self):
# incomplete list is here http://doc.qt.io/qt-5/configure-options.html
- openssl = self.spec['openssl']
config_args = [
'-prefix', self.prefix,
'-v',
@@ -387,6 +388,7 @@ class Qt(Package):
config_args.append('-no-freetype')
if '+ssl' in self.spec:
+ openssl = self.spec['openssl']
config_args.extend([
'-openssl-linked',
openssl.libs.search_flags,
diff --git a/var/spack/repos/builtin/packages/quicksilver/package.py b/var/spack/repos/builtin/packages/quicksilver/package.py
index ceef9e1bfb..e39a82337d 100644
--- a/var/spack/repos/builtin/packages/quicksilver/package.py
+++ b/var/spack/repos/builtin/packages/quicksilver/package.py
@@ -14,12 +14,13 @@ class Quicksilver(MakefilePackage):
tags = ['proxy-app']
homepage = "https://codesign.llnl.gov/quicksilver.php"
- url = "https://github.com/LLNL/Quicksilver"
+ url = "https://github.com/LLNL/Quicksilver/tarball/V1.0"
git = "https://github.com/LLNL/Quicksilver.git"
maintainers = ['richards12']
version('master', branch='master')
+ version('1.0', sha256='83371603b169ec75e41fb358881b7bd498e83597cd251ff9e5c35769ef22c59a')
variant('openmp', default=True, description='Build with OpenMP support')
variant('mpi', default=True, description='Build with MPI support')
diff --git a/var/spack/repos/builtin/packages/r-adegraphics/package.py b/var/spack/repos/builtin/packages/r-adegraphics/package.py
new file mode 100644
index 0000000000..d007d6cb97
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-adegraphics/package.py
@@ -0,0 +1,29 @@
+# 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 RAdegraphics(RPackage):
+ """adegraphics: An S4 Lattice-Based Package for the Representation of
+ Multivariate Data.
+
+ Graphical functionalities for the representation of multivariate data.
+ It is a complete re-implementation of the functions available in the 'ade4'
+ package."""
+
+ homepage = "http://pbil.univ-lyon1.fr/ADE-4"
+ url = "https://cloud.r-project.org/src/contrib/adegraphics_1.0-15.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/adegraphics"
+
+ version('1.0-15', sha256='87bbcd072e9a898955f5ede4315e82365086a50a2887bf5bd2e94bbb4d3f678a')
+
+ depends_on('r@3.0.2:', type=('build', 'run'))
+ depends_on('r-ade4@1.7-13:', type=('build', 'run'))
+ depends_on('r-kernsmooth', type=('build', 'run'))
+ depends_on('r-lattice', type=('build', 'run'))
+ depends_on('r-latticeextra', type=('build', 'run'))
+ depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on('r-sp@1.1-1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-adephylo/package.py b/var/spack/repos/builtin/packages/r-adephylo/package.py
new file mode 100644
index 0000000000..3527a2fb6f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-adephylo/package.py
@@ -0,0 +1,24 @@
+# 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 RAdephylo(RPackage):
+ """adephylo: Exploratory Analyses for the Phylogenetic Comparative Method.
+
+ Multivariate tools to analyze comparative data, i.e. a phylogeny and
+ some traits measured for each taxa."""
+
+ homepage = "https://cloud.r-project.org/package=adephylo"
+ url = "https://cloud.r-project.org/src/contrib/adephylo_1.1-11.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/adephylo"
+
+ version('1.1-11', sha256='154bf2645eac4493b85877933b9445442524ca4891aefe4e80c294c398cff61a')
+
+ depends_on('r-ade4@1.7-10:', type=('build', 'run'))
+ depends_on('r-phylobase', type=('build', 'run'))
+ depends_on('r-ape', type=('build', 'run'))
+ depends_on('r-adegenet', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-adespatial/package.py b/var/spack/repos/builtin/packages/r-adespatial/package.py
new file mode 100644
index 0000000000..aeaaae67f5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-adespatial/package.py
@@ -0,0 +1,32 @@
+# 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 RAdespatial(RPackage):
+ """adespatial: Multivariate Multiscale Spatial Analysis.
+
+ Tools for the multiscale spatial analysis of multivariate data. Several
+ methods are based on the use of a spatial weighting matrix and its
+ eigenvector decomposition (Moran's Eigenvectors Maps, MEM). Several
+ approaches are described in the review Dray et al (2012)
+ <doi:10.1890/11-1183.1>."""
+
+ homepage = "https://cloud.r-project.org/package=adespatial"
+ url = "https://cloud.r-project.org/src/contrib/adespatial_0.3-8.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/adespatial"
+
+ version('0.3-8', sha256='e3fd3209ce3f0a862a0794187e8c884f1697c87c96e569a2f51f252e00022906')
+
+ depends_on('r-ade4@1.7-13:', type=('build', 'run'))
+ depends_on('r-adegraphics', type=('build', 'run'))
+ depends_on('r-adephylo', type=('build', 'run'))
+ depends_on('r-sp', type=('build', 'run'))
+ depends_on('r-spdep', type=('build', 'run'))
+ depends_on('r-lattice', type=('build', 'run'))
+ depends_on('r-mass', type=('build', 'run'))
+ depends_on('r-shiny', type=('build', 'run'))
+ depends_on('r-vegan', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-biocgenerics/package.py b/var/spack/repos/builtin/packages/r-biocgenerics/package.py
index dc403c878e..2bee149fb8 100644
--- a/var/spack/repos/builtin/packages/r-biocgenerics/package.py
+++ b/var/spack/repos/builtin/packages/r-biocgenerics/package.py
@@ -14,6 +14,7 @@ class RBiocgenerics(RPackage):
homepage = "https://bioconductor.org/packages/BiocGenerics"
git = "https://git.bioconductor.org/packages/BiocGenerics.git"
+ version('0.34.0', commit='f7c2020')
version('0.30.0', commit='fc7c3af4a5635a30988a062ed09332c13ca1d1a8')
version('0.28.0', commit='041fc496504f2ab1d4d863fffb23372db214394b')
version('0.26.0', commit='5b2a6df639e48c3cd53789e0b174aec9dda6b67d')
diff --git a/var/spack/repos/builtin/packages/r-bsseq/package.py b/var/spack/repos/builtin/packages/r-bsseq/package.py
new file mode 100644
index 0000000000..c753c549a0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-bsseq/package.py
@@ -0,0 +1,55 @@
+# 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 RBsseq(RPackage):
+ """A collection of tools for analyzing and visualizing bisulfite sequencing
+ data."""
+
+ homepage = "https://github.com/kasperdanielhansen/bsseq"
+ git = "https://git.bioconductor.org/packages/bsseq"
+
+ version('1.24.4', commit='8fe7a03')
+ version('1.22.0', commit='d4f7301')
+ version('1.20.0', commit='07e398b')
+
+ depends_on('r@3.5:', type=('build', 'run'))
+
+ depends_on('r-biocgenerics', type=('build', 'run'))
+
+ depends_on('r-genomicranges@1.29.14:', type=('build', 'run'))
+ depends_on('r-genomicranges@1.33.6:', when='@1.24.4:', type=('build', 'run'))
+
+ depends_on('r-summarizedexperiment@1.9.18:', type=('build', 'run'))
+ depends_on('r-summarizedexperiment@1.17.4:', when='@1.24.4:', type=('build', 'run'))
+
+ depends_on('r-iranges@2.11.16:', type=('build', 'run'))
+ depends_on('r-iranges@2.22.2:', when='@1.24.4:', type=('build', 'run'))
+
+ depends_on('r-genomeinfodb', type=('build', 'run'))
+ depends_on('r-scales', type=('build', 'run'))
+ depends_on('r-biobase', type=('build', 'run'))
+ depends_on('r-locfit', type=('build', 'run'))
+ depends_on('r-gtools', type=('build', 'run'))
+ depends_on('r-data-table@1.11.8:', type=('build', 'run'))
+
+ depends_on('r-s4vectors', type=('build', 'run'))
+ depends_on('r-s4vectors@0.23.11:', when='@1.22.0:', type=('build', 'run'))
+ depends_on('r-s4vectors@0.25.14:', when='@1.24.4', type=('build', 'run'))
+
+ depends_on('r-r-utils@2.0.0:', type=('build', 'run'))
+ depends_on('r-delayedmatrixstats@1.5.2:', type=('build', 'run'))
+ depends_on('r-permute', type=('build', 'run'))
+ depends_on('r-limma', type=('build', 'run'))
+ depends_on('r-delayedarray@0.9.8:', type=('build', 'run'))
+ depends_on('r-rcpp', type=('build', 'run'))
+ depends_on('r-biocparallel', type=('build', 'run'))
+ depends_on('r-bsgenome', type=('build', 'run'))
+ depends_on('r-biostrings', type=('build', 'run'))
+ depends_on('r-hdf5array@1.11.9:', type=('build', 'run'))
+ depends_on('r-rhdf5', type=('build', 'run'))
+ depends_on('r-beachmat', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-countrycode/package.py b/var/spack/repos/builtin/packages/r-countrycode/package.py
new file mode 100644
index 0000000000..b2b07ff2e4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-countrycode/package.py
@@ -0,0 +1,19 @@
+# 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 RCountrycode(RPackage):
+ """Countrycode standardizes country names, converts them into
+ ~40 different coding schemes, and assigns region descriptors."""
+
+ homepage = "https://vincentarelbundock.github.io/countrycode/"
+ url = "https://cloud.r-project.org/src/contrib/countrycode_1.2.0.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/countrycode"
+
+ version('1.2.0', sha256='32c65702dcc33d512ff99f14c12f4e0c48fe7ed7c8aa2f0a64194576d129dd40')
+
+ depends_on('r@2.10:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-data-table/package.py b/var/spack/repos/builtin/packages/r-data-table/package.py
index b9a008eff0..87d5735541 100644
--- a/var/spack/repos/builtin/packages/r-data-table/package.py
+++ b/var/spack/repos/builtin/packages/r-data-table/package.py
@@ -16,6 +16,7 @@ class RDataTable(RPackage):
url = "https://cloud.r-project.org/src/contrib/data.table_1.10.0.tar.gz"
list_url = "https://cloud.r-project.org/src/contrib/Archive/data.table"
+ version('1.12.8', sha256='d3a75f3a355ff144cc20a476041617e21fcf2a9f79265fd9bbd4693f3671f9dc')
version('1.12.2', sha256='db55c18f0d703a8bc1c806dd1f7551bb405cb867717f52ef9dd64405394d22f5')
version('1.12.0', sha256='611b112123dbd4ebd5200770fcdfaaeaab622adeb2b290d36018d3092742e3f7')
version('1.11.8', sha256='dc427465599cadd848b28a78e2fce3362867847b44148252054385999fe566d9')
diff --git a/var/spack/repos/builtin/packages/r-devtools/package.py b/var/spack/repos/builtin/packages/r-devtools/package.py
index 9b4c4a2332..280769399e 100644
--- a/var/spack/repos/builtin/packages/r-devtools/package.py
+++ b/var/spack/repos/builtin/packages/r-devtools/package.py
@@ -13,27 +13,50 @@ class RDevtools(RPackage):
url = "https://cloud.r-project.org/src/contrib/devtools_1.12.0.tar.gz"
list_url = "https://cloud.r-project.org/src/contrib/Archive/devtools"
+ version('2.3.0', sha256='4fc375c171335c67bd71df4e0b1b3dff2ae3aa17b3e0566b790ba0808b39dcd0')
version('2.1.0', sha256='c1f75346a90adf0669b5508fe68cc78bd3b114c1303fa7d22bf90991edd9230d')
version('2.0.2', sha256='99a2fa957068254b8ecdb3fc2d50e2950230910ea31c314fc0e7d934e4bd1709')
version('1.12.0', sha256='8a3e2ca3988dffe29341e45a160bb588995eae43485d6a811a9ae4836d37afd4')
version('1.11.1', sha256='51c876f9ddbfdf611f6ea0b06c0b46da8cefcb8cc98d60e06d576b61f0a06346')
depends_on('r@3.0.2:', type=('build', 'run'))
- depends_on('r-httr@0.4:', type=('build', 'run'))
- depends_on('r-memoise@1.0.0:', type=('build', 'run'))
- depends_on('r-whisker', when='@:1.9.9', type=('build', 'run'))
- depends_on('r-digest', type=('build', 'run'))
- depends_on('r-rstudioapi@0.7.0:', type=('build', 'run'))
- depends_on('r-jsonlite', type=('build', 'run'))
- depends_on('r-git2r@0.23.0:', type=('build', 'run'))
- depends_on('r-withr', type=('build', 'run'))
depends_on('r-usethis@1.5.0:', when='@2.0.0:', type=('build', 'run'))
+ depends_on('r-usethis@1.6.0:', when='@2.3.0:', type=('build', 'run'))
depends_on('r-callr', when='@2.0.0:', type=('build', 'run'))
+ depends_on('r-callr@3.4.3:', when='@2.3.0:', type=('build', 'run'))
depends_on('r-cli', when='@2.0.0:', type=('build', 'run'))
+ depends_on('r-cli@2.0.2:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-covr@3.5.0:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-crayon@1.3.4:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-desc@1.2.0:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-dt@0.13:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-digest', type=('build', 'run'))
+ depends_on('r-digest@0.6.25:', when='@3.2.0:', type=('build', 'run'))
+ depends_on('r-ellipsis@0.3.0:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-glue@1.4.0:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-git2r@0.23.0:', type=('build', 'run'))
+ depends_on('r-git2r@0.26.1:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-httr@0.4:', type=('build', 'run'))
+ depends_on('r-httr@1.4.1:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-jsonlite', type=('build', 'run'))
+ depends_on('r-jsonlite@1.6.1:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-memoise@1.0.0:', type=('build', 'run'))
+ depends_on('r-memoise@1.1.0:', when='@2.3.0:', type=('build', 'run'))
depends_on('r-pkgbuild@1.0.3:', when='@2.0.0:', type=('build', 'run'))
+ depends_on('r-pkgbuild@1.0.6:', when='@2.3.0:', type=('build', 'run'))
depends_on('r-pkgload@1.0.2:', when='@2.0.0:', type=('build', 'run'))
depends_on('r-rcmdcheck@1.3.3:', when='@2.0.0:', type=('build', 'run'))
depends_on('r-remotes@2.1.0:', when='@2.0.0:', type=('build', 'run'))
+ depends_on('r-remotes@2.1.1:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-rlang@0.4.5:', when='@2.3.0:', type=('build', 'run'))
depends_on('r-roxygen2@6.1.1:', when='@2.0.0:', type=('build', 'run'))
+ depends_on('r-roxygen2@7.1.0:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-rstudioapi@0.7.0:', type=('build', 'run'))
+ depends_on('r-rstudioapi@0.11.0:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-rversions@2.0.1:', when='@2.3.0:', type=('build', 'run'))
depends_on('r-sessioninfo@1.1.1:', when='@2.0.0:', type=('build', 'run'))
depends_on('r-testthat@2.1.1:', when='@2.0.0:', type=('build', 'run'))
+ depends_on('r-testthat@2.3.2:', when='@2.3.0:', type=('build', 'run'))
+ depends_on('r-whisker', when='@:1.9.9', type=('build', 'run'))
+ depends_on('r-withr', type=('build', 'run'))
+ depends_on('r-withr@2.1.2:', when='@2.3.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-dorng/package.py b/var/spack/repos/builtin/packages/r-dorng/package.py
index a20cd96356..5c4f0fbc78 100644
--- a/var/spack/repos/builtin/packages/r-dorng/package.py
+++ b/var/spack/repos/builtin/packages/r-dorng/package.py
@@ -9,11 +9,13 @@ from spack import *
class RDorng(RPackage):
"""Provides functions to perform reproducible parallel foreach loops,
using independent random streams as generated by L'Ecuyer's combined
- multiple-recursive generator
- [L'Ecuyer (1999), <doi:10.1287/opre.47.1.159>]. It enables to easily
- convert standard %dopar% loops into fully reproducible loops,
- independently of the number of workers, the task scheduling strategy,
- or the chosen parallel environment and associated foreach backend."""
+ multiple-recursive generator (L'Ecuyer (1999),
+ <doi:10.1287/opre.47.1.159>).
+
+ It enables to easily convert standard %dopar% loops into fully
+ reproducible loops, independently of the number of workers, the task
+ scheduling strategy, or the chosen parallel environment and associated
+ foreach backend."""
homepage = "https://cloud.r-project.org/package=doRNG"
url = "https://cloud.r-project.org/src/contrib/doRNG_1.6.6.tar.gz"
diff --git a/var/spack/repos/builtin/packages/r-dss/package.py b/var/spack/repos/builtin/packages/r-dss/package.py
new file mode 100644
index 0000000000..7d4f8f2318
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-dss/package.py
@@ -0,0 +1,30 @@
+# 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 RDss(RPackage):
+ """Dispersion shrinkage for sequencing data.
+
+ DSS is an R library performing differntial analysis for count-based
+ sequencing data. It detectes differentially expressed genes (DEGs) from
+ RNA-seq, and differentially methylated loci or regions (DML/DMRs) from
+ bisulfite sequencing (BS-seq). The core of DSS is a new dispersion
+ shrinkage method for estimating the dispersion parameter from Gamma-Poisson
+ or Beta-Binomial distributions."""
+
+ homepage = "http://bioconductor.org/packages/DSS/"
+ git = "https://git.bioconductor.org/packages/DSS"
+
+ version('2.36.0', commit='841c7ed')
+ version('2.34.0', commit='f9819c7')
+ version('2.32.0', commit='ffb502d')
+
+ depends_on('r@3.3:', type=('build', 'run'))
+ depends_on('r-biobase', type=('build', 'run'))
+ depends_on('r-bsseq', type=('build', 'run'))
+ depends_on('r-biocparallel', when='@2.36.0:', type=('build', 'run'))
+ depends_on('r-delayedarray', when='@2.36.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-glue/package.py b/var/spack/repos/builtin/packages/r-glue/package.py
index 1472728e93..20371a9740 100644
--- a/var/spack/repos/builtin/packages/r-glue/package.py
+++ b/var/spack/repos/builtin/packages/r-glue/package.py
@@ -17,6 +17,7 @@ class RGlue(RPackage):
url = "https://cloud.r-project.org/src/contrib/glue_1.2.0.tar.gz"
list_url = "https://cloud.r-project.org/src/contrib/Archive/glue"
+ version('1.4.1', sha256='f8b687d35cacb5ee7fcada6e9c26ea20c04d0bdc9d37e919a03abd1137513bc8')
version('1.4.0', sha256='ea6c409f7141754baa090deba96cff270a11b185452cf9e6fb69cb148a9069c1')
version('1.3.1', sha256='4fc1f2899d71a634e1f0adb7942772feb5ac73223891abe30ea9bd91d3633ea8')
version('1.3.0', sha256='789e5a44c3635c3d3db26666e635e88adcf61cd02b75465125d95d7a12291cee')
diff --git a/var/spack/repos/builtin/packages/r-gsodr/package.py b/var/spack/repos/builtin/packages/r-gsodr/package.py
new file mode 100644
index 0000000000..8f1fa82e4d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gsodr/package.py
@@ -0,0 +1,24 @@
+# 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 RGsodr(RPackage):
+ """A Global Surface Summary of the Day (GSOD) Weather Data Client for R"""
+
+ homepage = "https://docs.ropensci.org/GSODR/"
+ url = "https://cloud.r-project.org/src/contrib/GSODR_2.1.1.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/GSODR"
+
+ version('2.1.1', sha256='dba732e5bd1e367b9d710e6b8924f0c02fa4546202f049124dba02bc2e3329f5')
+
+ depends_on('r@3.5.0:', type=('build', 'run'))
+ depends_on('r-countrycode', type=('build', 'run'))
+ depends_on('r-curl', type=('build', 'run'))
+ depends_on('r-data-table@1.11.6:', type=('build', 'run'))
+ depends_on('r-future-apply', type=('build', 'run'))
+ depends_on('r-httr', type=('build', 'run'))
+ depends_on('r-r-utils', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-hh/package.py b/var/spack/repos/builtin/packages/r-hh/package.py
new file mode 100644
index 0000000000..1f455fcac1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-hh/package.py
@@ -0,0 +1,46 @@
+# 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 RHh(RPackage):
+ """HH: Statistical Analysis and Data Display: Heiberger and Holland.
+
+ Support software for Statistical Analysis and Data Display (Second
+ Edition, Springer, ISBN 978-1-4939-2121-8, 2015) and (First Edition,
+ Springer, ISBN 0-387-40270-5, 2004) by Richard M. Heiberger and Burt
+ Holland. This contemporary presentation of statistical methods features
+ extensive use of graphical displays for exploring data and for displaying
+ the analysis. The second edition includes redesigned graphics and
+ additional chapters. The authors emphasize how to construct and interpret
+ graphs, discuss principles of graphical design, and show how accompanying
+ traditional tabular results are used to confirm the visual impressions
+ derived directly from the graphs. Many of the graphical formats are novel
+ and appear here for the first time in print. All chapters have exercises.
+ All functions introduced in the book are in the package. R code for all
+ examples, both graphs and tables, in the book is included in the scripts
+ directory of the package."""
+
+ homepage = "https://cloud.r-project.org/package=HH"
+ url = "https://cloud.r-project.org/src/contrib/HH_3.1-40.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/HH"
+
+ version('3.1-40', sha256='795924d900a98ae367e6697b2c951c3b4910a54931aebcad5024eda083d4a8a2')
+
+ depends_on('r@3.0.2:', type=('build', 'run'))
+ depends_on('r-lattice', type=('build', 'run'))
+ depends_on('r-latticeextra', type=('build', 'run'))
+ depends_on('r-multcomp', type=('build', 'run'))
+ depends_on('r-gridextra@2.0.0:', type=('build', 'run'))
+ depends_on('r-reshape2', type=('build', 'run'))
+ depends_on('r-leaps', type=('build', 'run'))
+ depends_on('r-vcd', type=('build', 'run'))
+ depends_on('r-colorspace', type=('build', 'run'))
+ depends_on('r-rcolorbrewer', type=('build', 'run'))
+ depends_on('r-shiny@0.13.1:', type=('build', 'run'))
+ depends_on('r-hmisc', type=('build', 'run'))
+ depends_on('r-abind', type=('build', 'run'))
+ depends_on('r-rmpfr@0.6.0:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-iranges/package.py b/var/spack/repos/builtin/packages/r-iranges/package.py
index 5cf6493342..581d613875 100644
--- a/var/spack/repos/builtin/packages/r-iranges/package.py
+++ b/var/spack/repos/builtin/packages/r-iranges/package.py
@@ -19,6 +19,7 @@ class RIranges(RPackage):
homepage = "https://bioconductor.org/packages/IRanges"
git = "https://git.bioconductor.org/packages/IRanges.git"
+ version('2.22.2', commit='8c5e991')
version('2.18.3', commit='c98a7ba074e72f2e5ec98252dffe9d3392711972')
version('2.16.0', commit='26834c6868d7c279dd8ac1bb9daa16e6fef273c2')
version('2.14.12', commit='00af02756c14771a23df9efcf379409ab6eb3041')
@@ -38,3 +39,5 @@ class RIranges(RPackage):
depends_on('r-s4vectors@0.19.11:', when='@2.16.0:', type=('build', 'run'))
depends_on('r-s4vectors@0.21.9:', when='@2.18.3:', type=('build', 'run'))
+
+ depends_on('r-s4vectors@0.25.14:', when='@2.22.2:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-phylobase/package.py b/var/spack/repos/builtin/packages/r-phylobase/package.py
new file mode 100644
index 0000000000..7cfe791b3b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-phylobase/package.py
@@ -0,0 +1,26 @@
+# 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 RPhylobase(RPackage):
+ """phylobase: Base Package for Phylogenetic Structures and Comparative
+ Data.
+
+ Provides a base S4 class for comparative methods, incorporating one or
+ more trees and trait data."""
+
+ homepage = "https://github.com/fmichonneau/phylobase"
+ url = "https://cloud.r-project.org/src/contrib/phylobase_0.8.10.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/phylobase"
+
+ version('0.8.10', sha256='5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b')
+
+ depends_on('r-ade4', type=('build', 'run'))
+ depends_on('r-ape@3.0:', type=('build', 'run'))
+ depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on('r-rncl@0.6.0:', type=('build', 'run'))
+ depends_on('r-rnexml', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-rcppparallel/asclang.patch b/var/spack/repos/builtin/packages/r-rcppparallel/asclang.patch
new file mode 100644
index 0000000000..02718a152a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rcppparallel/asclang.patch
@@ -0,0 +1,12 @@
+diff -u -r -N a/src/Makevars.in b/src/Makevars.in
+--- a/src/Makevars.in 2020-08-06 09:31:48.000000000 +0900
++++ b/src/Makevars.in 2020-08-06 09:34:01.000000000 +0900
+@@ -87,6 +87,8 @@
+ cd tbb/src; \
+ if [ -n "$(shell echo $(CC) | grep clang)" ]; then \
+ $(MAKE_CMD) stdver=@STDVER@ compiler=clang $(MAKE_ARGS); \
++ elif [ -n "$(shell echo $(CC) | grep fcc)" ]; then \
++ $(MAKE_CMD) stdver=@STDVER@ compiler=clang $(MAKE_ARGS); \
+ elif [ -n "$(shell echo $(CC) | grep gcc)" ]; then \
+ $(MAKE_CMD) stdver=@STDVER@ compiler=gcc $(MAKE_ARGS); \
+ else \
diff --git a/var/spack/repos/builtin/packages/r-rcppparallel/package.py b/var/spack/repos/builtin/packages/r-rcppparallel/package.py
index 0e172ca491..4f4459c990 100644
--- a/var/spack/repos/builtin/packages/r-rcppparallel/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppparallel/package.py
@@ -20,3 +20,5 @@ class RRcppparallel(RPackage):
depends_on('r@3.0.2:', type=('build', 'run'))
depends_on('gmake', type='build')
+
+ patch('asclang.patch', when='%fj')
diff --git a/var/spack/repos/builtin/packages/r-rncl/package.py b/var/spack/repos/builtin/packages/r-rncl/package.py
new file mode 100644
index 0000000000..4501e1c2f3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rncl/package.py
@@ -0,0 +1,26 @@
+# 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 RRncl(RPackage):
+ """rncl: An Interface to the Nexus Class Library.
+
+ An interface to the Nexus Class Library which allows parsing of NEXUS,
+ Newick and other phylogenetic tree file formats. It provides elements of
+ the file that can be used to build phylogenetic objects such as ape's
+ 'phylo' or phylobase's 'phylo4(d)'. This functionality is demonstrated with
+ 'read_newick_phylo()' and 'read_nexus_phylo()'."""
+
+ homepage = "https://github.com/fmichonneau/rncl"
+ url = "https://cloud.r-project.org/src/contrib/rncl_0.8.4.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/rncl"
+
+ version('0.8.4', sha256='6b19d0dd9bb08ecf99766be5ad684bcd1894d1cd9291230bdd709dbd3396496b')
+
+ depends_on('r@3.1.1:', type=('build', 'run'))
+ depends_on('r-rcpp@0.11.0:', type=('build', 'run'))
+ depends_on('r-progress@1.1.2:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-rnexml/package.py b/var/spack/repos/builtin/packages/r-rnexml/package.py
new file mode 100644
index 0000000000..bffab45a28
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rnexml/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)
+
+from spack import *
+
+
+class RRnexml(RPackage):
+ """RNeXML: Semantically Rich I/O for the 'NeXML' Format.
+
+ Provides access to phyloinformatic data in 'NeXML' format. The package
+ should add new functionality to R such as the possibility to manipulate
+ 'NeXML' objects in more various and refined way and compatibility with
+ 'ape' objects."""
+
+ homepage = "https://github.com/ropensci/RNeXML"
+ url = "https://cloud.r-project.org/src/contrib/RNeXML_2.4.5.tar.gz"
+ list_url = "https://cloud.r-project.org/src/contrib/Archive/RNeXML"
+
+ version('2.4.5', sha256='2b667ecb6400e4c0c125ca73a98cde81330cde3a85b764261f77159e702754f3')
+
+ depends_on('r@3.0.0:', type=('build', 'run'))
+ depends_on('r-ape@3.1:', type=('build', 'run'))
+ depends_on('r-xml@3.95:', type=('build', 'run'))
+ depends_on('r-plyr@1.8:', type=('build', 'run'))
+ depends_on('r-reshape2@1.2.2:', type=('build', 'run'))
+ depends_on('r-httr@0.3:', type=('build', 'run'))
+ depends_on('r-uuid@0.1-1:', type=('build', 'run'))
+ depends_on('r-dplyr@0.5.0:', type=('build', 'run'))
+ depends_on('r-lazyeval@0.1.0:', type=('build', 'run'))
+ depends_on('r-tidyr@0.3.1:', type=('build', 'run'))
+ depends_on('r-stringr@1.0:', type=('build', 'run'))
+ depends_on('r-stringi', type=('build', 'run'))
+ depends_on('r-xml2', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-s4vectors/package.py b/var/spack/repos/builtin/packages/r-s4vectors/package.py
index 132218b109..909b33bb2e 100644
--- a/var/spack/repos/builtin/packages/r-s4vectors/package.py
+++ b/var/spack/repos/builtin/packages/r-s4vectors/package.py
@@ -21,6 +21,7 @@ class RS4vectors(RPackage):
homepage = "https://bioconductor.org/packages/S4Vectors"
git = "https://git.bioconductor.org/packages/S4Vectors.git"
+ version('0.26.1', commit='935769c')
version('0.22.1', commit='d25e517b48ca4184a4c2ee1f8223c148a55a8b8a')
version('0.20.1', commit='1878b2909086941e556c5ea953c6fd86aebe9b02')
version('0.18.3', commit='d6804f94ad3663828440914920ac933b934aeff1')
@@ -30,4 +31,5 @@ class RS4vectors(RPackage):
depends_on('r@3.3.0:', type=('build', 'run'))
depends_on('r-biocgenerics@0.21.1:', type=('build', 'run'))
- depends_on('r-biocgenerics@0.23.3:', when='@0.16.0:', type=('build', 'run'))
+ depends_on('r-biocgenerics@0.23.3:', when='@0.16.0:0.22.1', type=('build', 'run'))
+ depends_on('r-biocgenerics@0.31.1:', when='@0.26.1:', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py b/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py
index 2d4ffdf571..5834c170da 100644
--- a/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py
+++ b/var/spack/repos/builtin/packages/r-summarizedexperiment/package.py
@@ -17,6 +17,7 @@ class RSummarizedexperiment(RPackage):
homepage = "https://bioconductor.org/packages/SummarizedExperiment"
git = "https://git.bioconductor.org/packages/SummarizedExperiment.git"
+ version('1.18.2', commit='e22fafe')
version('1.14.1', commit='2c68d99e11c7345e5ed388370822ea48395c64a4')
version('1.12.0', commit='5f8416864636add121ec1d6737ebb89a42227fd7')
version('1.10.1', commit='7ad2e991c8285bfc4b2e15b29d94cc86d07f8f2b')
diff --git a/var/spack/repos/builtin/packages/r-usethis/package.py b/var/spack/repos/builtin/packages/r-usethis/package.py
index e82085b541..43567532f4 100644
--- a/var/spack/repos/builtin/packages/r-usethis/package.py
+++ b/var/spack/repos/builtin/packages/r-usethis/package.py
@@ -16,20 +16,25 @@ class RUsethis(RPackage):
url = "https://cloud.r-project.org/src/contrib/usethis_1.5.1.tar.gz"
list_url = "https://cloud.r-project.org/src/contrib/Archive/usethis"
+ version('1.6.1', sha256='60339059a97ed07dea7f8908b828b5bb42e0fd0b471165c061bc9660b0d59d6f')
version('1.5.1', sha256='9e3920a04b0df82adf59eef2c1b2b4d835c4a757a51b3c163b8fc619172f561d')
depends_on('r@3.2:', type=('build', 'run'))
depends_on('r-clipr@0.3.0:', type=('build', 'run'))
- depends_on('r-clisymbols', type=('build', 'run'))
+ depends_on('r-clisymbols', when='@:1.5', type=('build', 'run'))
+ depends_on('r-cli', when='@1.6.1:', type=('build', 'run'))
depends_on('r-crayon', type=('build', 'run'))
depends_on('r-curl@2.7:', type=('build', 'run'))
depends_on('r-desc', type=('build', 'run'))
depends_on('r-fs@1.3.0:', type=('build', 'run'))
depends_on('r-gh', type=('build', 'run'))
+ depends_on('r-gh@1.1.0', when='@1.6.1:', type=('build', 'run'))
depends_on('r-git2r@0.23:', type=('build', 'run'))
depends_on('r-glue@1.3.0:', type=('build', 'run'))
depends_on('r-purrr', type=('build', 'run'))
+ depends_on('r-rematch2', when='@1.6.1:', type=('build', 'run'))
depends_on('r-rlang', type=('build', 'run'))
+ depends_on('r-rlang@0.4.3', when='@1.6.1:', type=('build', 'run'))
depends_on('r-rprojroot@1.2:', type=('build', 'run'))
depends_on('r-rstudioapi', type=('build', 'run'))
depends_on('r-whisker', type=('build', 'run'))
diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py
index b7a6218056..0f0df14282 100644
--- a/var/spack/repos/builtin/packages/raja/package.py
+++ b/var/spack/repos/builtin/packages/raja/package.py
@@ -13,7 +13,7 @@ class Raja(CMakePackage, CudaPackage):
git = "https://github.com/LLNL/RAJA.git"
version('develop', branch='develop', submodules='True')
- version('main', branch='main', submodules='True')
+ version('master', branch='main', submodules='True')
version('0.11.0', tag='v0.11.0', submodules="True")
version('0.10.1', tag='v0.10.1', submodules="True")
version('0.10.0', tag='v0.10.0', submodules="True")
@@ -29,6 +29,7 @@ class Raja(CMakePackage, CudaPackage):
version('0.4.0', tag='v0.4.0', submodules="True")
variant('openmp', default=True, description='Build OpenMP backend')
+ variant('shared', default=True, description='Build Shared Libs')
depends_on('cmake@3.8:', type='build')
depends_on('cmake@3.9:', when='+cuda', type='build')
@@ -38,16 +39,26 @@ class Raja(CMakePackage, CudaPackage):
options = []
options.append('-DENABLE_OPENMP={0}'.format(
- 'On' if '+openmp' in spec else 'Off'))
+ 'ON' if '+openmp' in spec else 'Off'))
if '+cuda' in spec:
options.extend([
- '-DENABLE_CUDA=On',
+ '-DENABLE_CUDA=ON',
'-DCUDA_TOOLKIT_ROOT_DIR=%s' % (spec['cuda'].prefix)])
if not spec.satisfies('cuda_arch=none'):
cuda_arch = spec.variants['cuda_arch'].value
options.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch[0]))
+ flag = '-arch sm_{0}'.format(cuda_arch[0])
+ options.append('-DCMAKE_CUDA_FLAGS:STRING={0}'.format(flag))
+ else:
+ options.append('-DENABLE_CUDA=OFF')
+
+ options.append('-DBUILD_SHARED_LIBS={0}'.format(
+ 'ON' if '+shared' in spec else 'OFF'))
+
+ options.append('-DENABLE_CHAI={0}'.format(
+ 'ON' if '+chai' in spec else 'OFF'))
# Work around spack adding -march=ppc64le to SPACK_TARGET_ARGS which
# is used by the spack compiler wrapper. This can go away when BLT
@@ -57,4 +68,8 @@ class Raja(CMakePackage, CudaPackage):
else:
options.append('-DENABLE_TESTS=ON')
+ if '+chai' in spec:
+ options.extend([
+ '-DENABLE_CHAI=ON'])
+
return options
diff --git a/var/spack/repos/builtin/packages/random123/package.py b/var/spack/repos/builtin/packages/random123/package.py
index 48df03fee8..bc958abe38 100644
--- a/var/spack/repos/builtin/packages/random123/package.py
+++ b/var/spack/repos/builtin/packages/random123/package.py
@@ -15,15 +15,20 @@ class Random123(Package):
homepage = "http://www.deshawresearch.com/resources_random123.html"
url = "http://www.deshawresearch.com/downloads/download_random123.cgi/Random123-1.09.tar.gz"
+ version('1.13.2', sha256='74a1c6bb66b2684f03d3b1008642a2e9141909103cd09f428d2c60bcaa51cb40')
+ version('1.10', sha256='4afdfba4b941e33e23b5de9b7907b7e3ac326cb4d34b5fa8225edd00b5fe053b')
version('1.09', sha256='cf6abf623061bcf3d17e5e49bf3f3f0ae400ee89ae2e97c8cb8dcb918b1ebabe')
patch('ibmxl.patch', when='@1.09')
patch('arm-gcc.patch', when='@1.09')
+ patch('v1132-xl161.patch', when='@1.13.2')
def install(self, spec, prefix):
# Random123 doesn't have a build system.
# We have to do our own install here.
install_tree('include', prefix.include)
install('./LICENSE', "%s" % prefix)
- # used by some packages, e.g. quinoa
- install('examples/uniform.hpp', join_path(prefix.include, 'Random123'))
+ if spec.satisfies('@1.09'):
+ # used by some packages, e.g. quinoa
+ install('examples/uniform.hpp',
+ join_path(prefix.include, 'Random123'))
diff --git a/var/spack/repos/builtin/packages/random123/v1132-xl161.patch b/var/spack/repos/builtin/packages/random123/v1132-xl161.patch
new file mode 100644
index 0000000000..398de3cc2a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/random123/v1132-xl161.patch
@@ -0,0 +1,13 @@
+diff --git a/include/Random123/features/compilerfeatures.h b/include/Random123/features/compilerfeatures.h
+index 2341a7a..3c5d999 100644
+--- a/include/Random123/features/compilerfeatures.h
++++ b/include/Random123/features/compilerfeatures.h
+@@ -206,7 +206,7 @@ added to each of the *features.h files, AND to examples/ut_features.cpp.
+ #include "nvccfeatures.h"
+ #elif defined(__ICC)
+ #include "iccfeatures.h"
+-#elif defined(__xlC__)
++#elif defined(__xlC__) || defined(__ibmxl__)
+ #include "xlcfeatures.h"
+ #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ #include "sunprofeatures.h"
diff --git a/var/spack/repos/builtin/packages/reditools/REDItoolDenovo.py.patch b/var/spack/repos/builtin/packages/reditools/REDItoolDenovo.py.patch
new file mode 100644
index 0000000000..a88358829c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/reditools/REDItoolDenovo.py.patch
@@ -0,0 +1,11 @@
+--- a/main/REDItoolDenovo.py 2020-07-16 17:35:46.008030346 -0500
++++ b/main/REDItoolDenovo.py 2020-07-16 17:38:39.700035490 -0500
+@@ -768,7 +768,7 @@
+ for j in ridxinfo.split('\n'): #MOD
+ l=(j.strip()).split('\t')
+ if l[0] in ['*', '']: continue #MOD
+- if int(l[2])+int(l[3]) > 0: rrefs[l[0]]=int(l[1])
++ if int(l[2])+int(l[3]) > 0: rrefs[l[0]]=int(l[1])
+ frefs=[]
+ fidxinfo=open(fastafile+'.fai')
+ for j in fidxinfo:
diff --git a/var/spack/repos/builtin/packages/reditools/interpreter.patch b/var/spack/repos/builtin/packages/reditools/interpreter.patch
new file mode 100644
index 0000000000..2e3f171e73
--- /dev/null
+++ b/var/spack/repos/builtin/packages/reditools/interpreter.patch
@@ -0,0 +1,41 @@
+diff -ru a/accessory/get_DE_events.py b/accessory/get_DE_events.py
+--- a/accessory/get_DE_events.py 2020-07-16 17:18:47.012982992 -0500
++++ b/accessory/get_DE_events.py 2020-07-16 17:19:47.531986703 -0500
+@@ -1,3 +1,4 @@
++#!/usr/bin/env python
+ #################################### REDI OUT TABLE ########################################################
+ #Region Position Reference Strand Coverage-q30 MeanQ BaseCount[A,C,G,T] #
+ #AllSubs Frequency gCoverage-q30 gMeanQ gBaseCount[A,C,G,T] gAllSubs gFrequency #
+diff -ru a/accessory/readPsl.py b/accessory/readPsl.py
+--- a/accessory/readPsl.py 2020-07-16 17:18:47.012982992 -0500
++++ b/accessory/readPsl.py 2020-07-16 17:20:02.829987622 -0500
+@@ -1,4 +1,4 @@
+-
++#!/usr/bin/env python
+ import sys, os
+ import math
+
+diff -ru a/accessory/subCount2.py b/accessory/subCount2.py
+--- a/accessory/subCount2.py 2020-07-16 17:18:47.012982992 -0500
++++ b/accessory/subCount2.py 2020-07-16 17:20:22.650988801 -0500
+@@ -1,3 +1,4 @@
++#!/usr/bin/env python
+ import sys
+
+ try:
+diff -ru a/accessory/subCount.py b/accessory/subCount.py
+--- a/accessory/subCount.py 2020-07-16 17:18:47.012982992 -0500
++++ b/accessory/subCount.py 2020-07-16 17:20:35.502989558 -0500
+@@ -1,3 +1,4 @@
++#!/usr/bin/env python
+ import sys
+
+ try:
+diff -ru a/main/REDItoolDenovo.py b/main/REDItoolDenovo.py
+--- a/main/REDItoolDenovo.py 2020-07-16 17:18:47.012982992 -0500
++++ b/main/REDItoolDenovo.py 2020-07-16 17:21:01.018991045 -0500
+@@ -1,3 +1,4 @@
++#!/usr/bin/env python
+ # coding=utf-8
+ # Copyright (c) 2013-2014 Ernesto Picardi <ernesto.picardi@uniba.it>
+ #
diff --git a/var/spack/repos/builtin/packages/reditools/package.py b/var/spack/repos/builtin/packages/reditools/package.py
new file mode 100644
index 0000000000..7dd0197a51
--- /dev/null
+++ b/var/spack/repos/builtin/packages/reditools/package.py
@@ -0,0 +1,32 @@
+# 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 Reditools(PythonPackage):
+ """REDItools: python scripts for RNA editing detection by RNA-Seq data.
+
+ REDItools are simple python scripts conceived to facilitate the
+ investigation of RNA editing at large-scale and devoted to research groups
+ that would to explore such phenomenon in own data but don't have sufficient
+ bioinformatics skills. They work on main operating systems (although
+ unix/linux-based OS are preferred), can handle reads from whatever platform
+ in the standard BAM format and implement a variety of filters."""
+
+ homepage = "https://github.com/BioinfoUNIBA/REDItools"
+ git = "https://github.com/BioinfoUNIBA/REDItools.git"
+
+ version('1.3_2020-03-20', commit='cf47f3d54f324aeb9650bcf8bfacf5a967762a55')
+
+ depends_on('py-pysam', type=('build', 'run'))
+ depends_on('py-fisher', type=('build', 'run'))
+ depends_on('blat', type='run')
+ depends_on('tabix', type='run')
+
+ patch('REDItoolDenovo.py.patch')
+ patch('interpreter.patch')
+ patch('setup.py.patch')
+ patch('python2to3.patch', when='^python@3:')
diff --git a/var/spack/repos/builtin/packages/reditools/python2to3.patch b/var/spack/repos/builtin/packages/reditools/python2to3.patch
new file mode 100644
index 0000000000..94937d175d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/reditools/python2to3.patch
@@ -0,0 +1,926 @@
+diff -ru a/accessory/AnnotateTable.py b/accessory/AnnotateTable.py
+--- a/accessory/AnnotateTable.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/AnnotateTable.py 2020-07-16 16:17:22.159013630 -0500
+@@ -28,7 +28,7 @@
+ sys.stderr.write('Pysam version used: %s\n' %(pysamVersion))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python AnnotateTable.py [options]
+ Options:
+ -a Sorted Annotation file
+@@ -44,12 +44,12 @@
+ -C Columns with base distribution [7,12] (in combination with -S)
+ -o Save lines to a file
+ -h Print this help
+-"""
++""")
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], 'i:a:o:hs:c:n:SC:uk:r:',["help"])
+-except getopt.GetoptError, err:
+- print str(err)
++except getopt.GetoptError as err:
++ print(str(err))
+ usage()
+ sys.exit()
+
+@@ -101,7 +101,7 @@
+ a={'A':'T','T':'A','C':'G','G':'C'}
+ ss=''
+ for i in s.upper():
+- if a.has_key(i): ss+=a[i]
++ if i in a: ss+=a[i]
+ elif i==' ': ss+=' '
+ elif i=='-': ss+='-'
+ else: ss+='N'
+@@ -125,23 +125,23 @@
+ anns='+'
+ for i in res:
+ if i[3]=='+':
+- if d['+'].has_key(i[1]):
++ if i[1] in d['+']:
+ if i[0] not in d['+'][i[1]][0]: d['+'][i[1]][0]=d['+'][i[1]][0]+','+i[0]
+ if i[2]+'-'+i[0] not in d['+'][i[1]][1]: d['+'][i[1]][1]=d['+'][i[1]][1]+','+i[2]+'-'+i[0]
+ else:
+ d['+'][i[1]]=[i[0],i[2]+'-'+i[0]]
+ elif i[3]=='-':
+- if d['-'].has_key(i[1]):
++ if i[1] in d['-']:
+ if i[0] not in d['-'][i[1]][0]: d['-'][i[1]][0]=d['-'][i[1]][0]+','+i[0]
+ if i[2]+'-'+i[0] not in d['-'][i[1]][1]: d['-'][i[1]][1]=d['-'][i[1]][1]+','+i[2]+'-'+i[0]
+ else:
+ d['-'][i[1]]=[i[0],i[2]+'-'+i[0]]
+- gip='$'.join(d['+'].keys())
+- featp='$'.join([d['+'][x][0] for x in d['+'].keys()])
+- tip='$'.join([d['+'][x][1] for x in d['+'].keys()])
+- gim='$'.join(d['-'].keys())
+- featm='$'.join([d['-'][x][0] for x in d['-'].keys()])
+- tim='$'.join([d['-'][x][1] for x in d['-'].keys()])
++ gip='$'.join(list(d['+'].keys()))
++ featp='$'.join([d['+'][x][0] for x in list(d['+'].keys())])
++ tip='$'.join([d['+'][x][1] for x in list(d['+'].keys())])
++ gim='$'.join(list(d['-'].keys()))
++ featm='$'.join([d['-'][x][0] for x in list(d['-'].keys())])
++ tim='$'.join([d['-'][x][1] for x in list(d['-'].keys())])
+ p=[featp,gip,tip]
+ m=[featm,gim,tim]
+ pm=[(featp+'&'+featm).strip('&'),(gip+'&'+gim).strip('&'),(tip+'&'+tim).strip('&')]
+@@ -187,7 +187,7 @@
+ elif strand=='-': res=ann[1]
+ else: res=ann[2]
+ for i in addc:
+- print prinfo[i]+ res[i]
++ print(prinfo[i]+ res[i])
+ except: sys.exit('Error: not correct position.')
+
+ if af:
+@@ -200,7 +200,7 @@
+ h=[i.strip()]
+ for k in addc: h.append(hinfo[k])
+ if save: o.write('\t'.join(h)+'\n')
+- else: print '\t'.join(h)
++ else: print('\t'.join(h))
+ continue
+ if i.startswith(skip): continue
+ l=(i.strip()).split('\t')
+@@ -230,7 +230,7 @@
+ else: res=ann[2]
+ for j in addc: l.append(res[j])
+ if save: o.write('\t'.join(l)+'\n')
+- else: print '\t'.join(l)
++ else: print('\t'.join(l))
+ tabix.close()
+ if save:
+ o.close()
+diff -ru a/accessory/FilterTable.py b/accessory/FilterTable.py
+--- a/accessory/FilterTable.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/FilterTable.py 2020-07-16 16:17:22.209013627 -0500
+@@ -30,7 +30,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python FilterTable.py [options]
+ Options:
+ -i Table file
+@@ -43,12 +43,12 @@
+ -p Print simple statistics
+ -h Print this help
+
+-"""
++""")
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], 'i:o:f:hs:F:S:Ep',["help"])
+-except getopt.GetoptError, err:
+- print str(err)
++except getopt.GetoptError as err:
++ print(str(err))
+ usage()
+ sys.exit()
+
+diff -ru a/accessory/get_DE_events.py b/accessory/get_DE_events.py
+--- a/accessory/get_DE_events.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/get_DE_events.py 2020-07-16 16:17:22.646013607 -0500
+@@ -104,7 +104,7 @@
+ #WARNING those are np arrays.
+
+ for i in range(0,edit_level_table.shape[0]):
+- print i #keep track of progress
++ print(i) #keep track of progress
+ disease_edit_row = edit_level_table.loc[i, disease_people]
+ control_edit_row = edit_level_table.loc[i, control_people]
+ disease_cov_row = cov_table.loc[i, disease_people]
+@@ -206,7 +206,7 @@
+ #write the full_table to output
+ full_table.to_csv(output_file, sep='\t', index=False)
+
+- print "job completed\n"
++ print("job completed\n")
+
+
+
+@@ -225,12 +225,12 @@
+
+ def Sample_percentage(row):
+ """Percentage of samples from each type"""
+- percentage = (len(filter(lambda x: x!= '-', row))/float(len(row)))*100
++ percentage = (len([x for x in row if x!= '-'])/float(len(row)))*100
+ return round(percentage)
+
+ def Sample_count(row):
+ """Number of samples from each type"""
+- count = len(filter(lambda x: x!= '-', row))
++ count = len([x for x in row if x!= '-'])
+ return count
+
+ def get_bh(pvalue,siglevel):
+@@ -269,7 +269,7 @@
+ if(row_a[-1] != '-' and row_a[-1] != 0.0 and row_a[-1] <= 0.05):
+ row = row[0].split('_') + row[2:]
+ row.insert(2, 'A.to.G')
+- print '\t'.join(map(str,row))
++ print('\t'.join(map(str,row)))
+
+ def tuple_replace(i):
+ if type(i) == tuple:
+@@ -292,11 +292,11 @@
+ with open(samples_informations_file, 'r') as f:
+ for line in f:
+ if line.startswith('SRR'):
+- line = map(str.strip, line.split(','))
++ line = list(map(str.strip, line.split(',')))
+ sample_informations.setdefault(line[0], line[1])
+
+
+-cwd = filter(os.path.isdir, os.listdir(os.getcwd()))
++cwd = list(filter(os.path.isdir, os.listdir(os.getcwd())))
+ all_available_sites = []
+ sample_edited_sites = {}
+ for directory in cwd:
+@@ -306,7 +306,7 @@
+ with open(table,'r') as a:
+ for line in a:
+ if line.startswith('chr'):
+- s = map(str.strip, line.split("\t"))
++ s = list(map(str.strip, line.split("\t")))
+ if s[7] == 'AG':
+ site, freq, coverage = s[0] + "_" + s[1], s[8], s[4]
+ freq_gnum_cov = '%s^%s^%s' %(s[8],eval(s[6])[2],s[4])
+@@ -314,14 +314,14 @@
+ if (int(coverage) >= min_coverage) and (float(freq) >= min_edit_frequency):
+ sample_edited_sites.setdefault((directory, site), []).append((freq, freq_gnum_cov))
+
+-table_columns = map(lambda x: x + '_' + sample_informations[x], sorted(sample_informations.keys()))
++table_columns = [x + '_' + sample_informations[x] for x in sorted(sample_informations.keys())]
+
+ disease = [i for i in table_columns if i.upper().find('DIS') != -1]
+ controls = [i for i in table_columns if i.upper().find('CTRL') != -1]
+
+ if enable_linear_model:
+ outtable=''
+- header = ['chromosome', 'position', 'type_editing'] + map(remove_underscore, controls) + map(remove_underscore, disease)
++ header = ['chromosome', 'position', 'type_editing'] + list(map(remove_underscore, controls)) + list(map(remove_underscore, disease))
+ outtable += '\t'.join(header)
+ outtable += '\n'
+ #print '\t'.join(header)
+@@ -329,13 +329,13 @@
+ row = [chrom]
+ for col in header[2:]:#header.index('[num_controls/num_disease]')]:
+ row.append(sample_edited_sites.get((col.split('_')[0],chrom), ['-'])[0])
+- ctrls = zip(*(zip(controls,row[1:])))[1]
+- dss = zip(*(zip(disease,row[len(ctrls)+1:])))[1]
+- ctrls_freq = map(tuple_replace, ctrls)
+- dss_freq = map(tuple_replace, dss)
++ ctrls = list(zip(*(list(zip(controls,row[1:])))))[1]
++ dss = list(zip(*(list(zip(disease,row[len(ctrls)+1:])))))[1]
++ ctrls_freq = list(map(tuple_replace, ctrls))
++ dss_freq = list(map(tuple_replace, dss))
+ row.append(str([Sample_count(ctrls), Sample_count(dss)]))
+
+- row_b = map(tuple_replace_bis, row)
++ row_b = list(map(tuple_replace_bis, row))
+ row_b = row_b[0].split('_') + row_b[2:]
+ row_b.insert(2, 'A.to.G')
+ final_list = row_b[:-1]
+@@ -359,20 +359,20 @@
+ if pvalue_correction == 2:
+ header += ['pvalue BH corrected']
+
+- print '\t'.join(header)
++ print('\t'.join(header))
+
+ for chrom in sorted(all_available_sites, key = lambda x: Set_Chr_Nr(x)):
+ row = [chrom]
+ for col in header[3:header.index('[num_controls/num_disease]')]:
+ row.append(sample_edited_sites.get((col.split('_')[0],chrom), ['-'])[0])
+- ctrls = zip(*(zip(controls,row[1:])))[1]
+- dss = zip(*(zip(disease,row[len(ctrls)+1:])))[1]
+- ctrls_freq = map(tuple_replace, ctrls)
+- dss_freq = map(tuple_replace, dss)
++ ctrls = list(zip(*(list(zip(controls,row[1:])))))[1]
++ dss = list(zip(*(list(zip(disease,row[len(ctrls)+1:])))))[1]
++ ctrls_freq = list(map(tuple_replace, ctrls))
++ dss_freq = list(map(tuple_replace, dss))
+ row.append(str([Sample_count(ctrls), Sample_count(dss)]))
+ if (Sample_percentage(ctrls) >= min_sample_testing) and (Sample_percentage(dss) >= min_sample_testing):
+- ctrls_mean = sum(map(float, filter(lambda x: x!= '-', ctrls_freq)))/len(filter(lambda x: x!= '-', ctrls_freq))
+- dss_mean = sum(map(float, filter(lambda x: x!= '-', dss_freq)))/len(filter(lambda x : x!= '-', dss_freq))
++ ctrls_mean = sum(map(float, [x for x in ctrls_freq if x!= '-']))/len([x for x in ctrls_freq if x!= '-'])
++ dss_mean = sum(map(float, [x for x in dss_freq if x!= '-']))/len([x for x in dss_freq if x!= '-'])
+ delta_diff = abs(ctrls_mean - dss_mean)
+ pvalue=stats.mannwhitneyu(ctrls_freq, dss_freq, alternative='two-sided')
+ row.append(round(delta_diff, 3))
+@@ -388,12 +388,12 @@
+ row += ['-', '-']
+ else:
+ row += ['-', '-', '-']
+- row_a = map(tuple_replace, row)
+- row_b = map(tuple_replace_bis, row)
++ row_a = list(map(tuple_replace, row))
++ row_b = list(map(tuple_replace_bis, row))
+ if pvalue_correction != 0 and only_significants == 'yes':
+ only_sig(row_a,row_b)
+ else:
+ row_b = row_b[0].split('_') + row_b[2:]
+ row_b.insert(2, 'A.to.G')
+- print '\t'.join(map(str,row_b))
++ print('\t'.join(map(str,row_b)))
+
+diff -ru a/accessory/GFFtoTabix.py b/accessory/GFFtoTabix.py
+--- a/accessory/GFFtoTabix.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/GFFtoTabix.py 2020-07-16 16:17:22.264013625 -0500
+@@ -31,7 +31,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python GFFtoTabix.py [options]
+ Options:
+ -i GFF file
+@@ -41,7 +41,7 @@
+ -u Save an uncompressed GFF copy (add _copy suffix)
+ -h Print this help
+
+-"""
++""")
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:Sb:t:hu",["help"])
+@@ -49,7 +49,7 @@
+ usage()
+ sys.exit(2)
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+diff -ru a/accessory/rediportal2recoding.py b/accessory/rediportal2recoding.py
+--- a/accessory/rediportal2recoding.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/rediportal2recoding.py 2020-07-16 16:17:22.709013604 -0500
+@@ -41,4 +41,4 @@
+ gff_row = line[0] + '\t'+ valore + '\t' + 'ed' + '\t' + line[1] + \
+ '\t' + line[1] + '\t' + '.' + '\t' + line[4] + '\t' + '.' + '\t' + \
+ 'gene_id' + ' ' + '"ed_%s";' %(i) + ' ' + 'transcript_id' + ' ' + '"ed_%s";' %(i)
+- print gff_row
++ print(gff_row)
+diff -ru a/accessory/SearchInTable.py b/accessory/SearchInTable.py
+--- a/accessory/SearchInTable.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/SearchInTable.py 2020-07-16 16:17:22.309013623 -0500
+@@ -25,7 +25,7 @@
+ #pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python SearchInTable.py [options]
+ Options:
+ -i Sorted table file (first col=reference; second col=coordinate 1 based)
+@@ -42,7 +42,7 @@
+ -o Save found/not found positions on file
+ -h Print this help
+
+-"""
++""")
+ #-k skip first INT lines [0]
+
+ try:
+@@ -51,7 +51,7 @@
+ usage()
+ sys.exit(2)
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+diff -ru a/accessory/selectPositions.py b/accessory/selectPositions.py
+--- a/accessory/selectPositions.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/selectPositions.py 2020-07-16 16:17:22.833013598 -0500
+@@ -25,7 +25,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python selectPositions.py [options]
+ Options:
+ -i Table file from REDItools
+@@ -44,7 +44,7 @@
+ -o Save selected positions on outTable_%s
+ -h Print this help
+
+-"""%(pid)
++"""%(pid))
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:c:C:v:s:f:F:euo:hrd:RV:",["help"])
+@@ -52,7 +52,7 @@
+ usage()
+ sys.exit(2)
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+diff -ru a/accessory/SortGFF.py b/accessory/SortGFF.py
+--- a/accessory/SortGFF.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/SortGFF.py 2020-07-16 16:17:22.357013620 -0500
+@@ -35,7 +35,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python SortGFF.py [options]
+ Options:
+ -i GFF file
+@@ -44,7 +44,7 @@
+ -t Temporary directory to use (multiple -t may be used)
+ -h Print this help
+
+-"""%(pid)
++"""%(pid))
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:o:b:t:h",["help"])
+@@ -52,7 +52,7 @@
+ usage()
+ sys.exit(2)
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+diff -ru a/accessory/SortTable.py b/accessory/SortTable.py
+--- a/accessory/SortTable.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/SortTable.py 2020-07-16 16:17:22.411013618 -0500
+@@ -35,7 +35,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python SortTable.py [options]
+ Options:
+ -i Table file
+@@ -50,7 +50,7 @@
+ -t Temporary directory to use (multiple -t may be used)
+ -h Print this help
+
+-"""%(pid)
++"""%(pid))
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:o:b:t:hd:s:c:e:m:O",["help"])
+@@ -58,7 +58,7 @@
+ usage()
+ sys.exit(2)
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+diff -ru a/accessory/subCount2.py b/accessory/subCount2.py
+--- a/accessory/subCount2.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/subCount2.py 2020-07-16 16:17:22.854013597 -0500
+@@ -28,5 +28,5 @@
+ for i in s:
+ try: v=(s[i]/float(all))*100
+ except: v=0.0
+- print i,s[i],all,v
++ print(i,s[i],all,v)
+
+diff -ru a/accessory/subCount.py b/accessory/subCount.py
+--- a/accessory/subCount.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/subCount.py 2020-07-16 16:17:22.844013597 -0500
+@@ -30,5 +30,5 @@
+ for i in s:
+ try: v=(s[i]/float(all))*100
+ except: v=0.0
+- print i,s[i],all,v
++ print(i,s[i],all,v)
+
+diff -ru a/accessory/TableToGFF.py b/accessory/TableToGFF.py
+--- a/accessory/TableToGFF.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/TableToGFF.py 2020-07-16 16:17:22.474013615 -0500
+@@ -29,7 +29,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python TableToGFF.py [options]
+ Options:
+ -i Table file from REDItools
+@@ -40,7 +40,7 @@
+ -o Outfile [outTable_%s.gff]
+ -h Print this help
+
+-"""%(pid)
++"""%(pid))
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:o:sthT:b:",["help"])
+@@ -48,7 +48,7 @@
+ usage()
+ sys.exit(2)
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+diff -ru a/accessory/tableToTabix.py b/accessory/tableToTabix.py
+--- a/accessory/tableToTabix.py 2020-07-16 16:16:59.360014702 -0500
++++ b/accessory/tableToTabix.py 2020-07-16 16:17:22.913013594 -0500
+@@ -31,7 +31,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python tableToTabix.py [options]
+ Options:
+ -i TAB-delimited file
+@@ -46,7 +46,7 @@
+ -u Save an uncompressed GFF copy (add _copy suffix)
+ -h Print this help
+
+-"""
++""")
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:Sb:t:hus:c:e:m:0",["help"])
+@@ -54,7 +54,7 @@
+ usage()
+ sys.exit(2)
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+diff -ru a/main/REDItoolDenovo.py b/main/REDItoolDenovo.py
+--- a/main/REDItoolDenovo.py 2020-07-16 16:16:59.360014702 -0500
++++ b/main/REDItoolDenovo.py 2020-07-16 16:17:21.265013672 -0500
+@@ -75,7 +75,7 @@
+ return 1
+ numerator = 1
+ denominator = 1
+- for i in xrange(s+1, population + 1):
++ for i in range(s+1, population + 1):
+ numerator *= i
+ denominator *= (i - s)
+ return numerator/denominator
+@@ -275,7 +275,7 @@
+ try: import pysam
+ except: sys.exit('Pysam module not found.')
+ from multiprocessing import Process, Queue
+-from Queue import Empty
++from queue import Empty
+ try:
+ from fisher import pvalue
+ exfisher=1
+@@ -292,7 +292,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python REDItoolDenovo.py [options]
+ Options:
+ -i BAM file
+@@ -343,12 +343,12 @@
+ - For Tophat2 use 50
+ - For GSNAP use 30
+
+-"""%(pid)
++"""%(pid))
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "b:f:k:t:o:c:q:m:O:s:edpuT:B:v:n:EP:r:hHa:i:lIU:V:w:XG:K:F:g:x:W")
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+@@ -474,7 +474,7 @@
+ annfile=a
+ uann=1
+ else:
+- print o
++ print(o)
+ assert False, "Unhandled Option"
+
+ #######
+@@ -532,7 +532,7 @@
+ return False
+ try:
+ os.kill(pid, 0)
+- except OSError, e:
++ except OSError as e:
+ return e.errno == errno.EPERM
+ else:
+ return True
+@@ -637,9 +637,9 @@
+ subs=[]
+ subv=[]
+ for i in seq.upper():
+- if b.has_key(i): b[i]+=1
++ if i in b: b[i]+=1
+ for i in b:
+- if not b.has_key(ref): continue
++ if ref not in b: continue
+ if b[i]!=0 and i!=ref:
+ vv=float(b[i])/(b[i]+b[ref])
+ subv.append((b[i],vv,ref+i))
+@@ -690,7 +690,7 @@
+ a={'A':'T','T':'A','C':'G','G':'C'}
+ ss=''
+ for i in s.upper():
+- if a.has_key(i): ss+=a[i]
++ if i in a: ss+=a[i]
+ else: ss+='N'
+ return ss
+
+@@ -777,7 +777,7 @@
+ frefs.append(l[0])
+ fidxinfo.close()
+ rnof=[]
+-for i in rrefs.keys():
++for i in list(rrefs.keys()):
+ if i not in frefs: sys.stderr.write('WARNING: Region %s in RNA-Seq not found in reference file.\n' %(i))
+ #####################
+
+@@ -817,8 +817,8 @@
+ #mainbam=pysam.Samfile(bamfile,"rb")
+ #regions=mainbam.references
+ #mainbam.close()
+-dicregions=dict(rrefs.items())
+-chrs=[x for x in dicregions.keys() if x not in nochrs]
++dicregions=dict(list(rrefs.items()))
++chrs=[x for x in list(dicregions.keys()) if x not in nochrs]
+ sys.stderr.write('Analysis on %i regions.\n' %(len(chrs)))
+
+ if infolder!='': outfolder=os.path.join(outfolder_,'denovo_%s_%s' %(infolder,pid))
+@@ -906,7 +906,7 @@
+ if pileupread.alignment.has_tag('SA'): continue
+ #s,q,t,qq=pileupread.alignment.seq[pileupread.qpos].upper(),ord(pileupread.alignment.qual[pileupread.qpos])-QVAL,'*',pileupread.alignment.qual[pileupread.qpos]
+ # escludi posizioni introniche nei pressi di splice sites
+- if exss and di.has_key(pileupcolumn.reference_pos+1): continue #MOD
++ if exss and pileupcolumn.reference_pos+1 in di: continue #MOD
+ # multiple hit
+ if exh: #MOD
+ if pileupread.alignment.is_secondary: continue #MOD
+@@ -998,7 +998,7 @@
+ elif pileupread.alignment.is_read2: rt=2
+ else: rt=0
+ rname=pileupread.alignment.query_name+'_%i'%(rt) #MOD
+- if d.has_key(rname): blatc+='0' #continue
++ if rname in d: blatc+='0' #continue
+ else: blatc+='1'
+ # se la base e' diversa dal reference
+ # se in regione omopolimerica scarta
+@@ -1032,7 +1032,7 @@
+ if not custsub:
+ ni='ACGT'
+ for b in range(4):
+- if dsubs.has_key(ref.upper()+ni[b]):
++ if ref.upper()+ni[b] in dsubs:
+ dsubs[ref.upper()+ni[b]]+=bcomp[b]
+ if expos:
+ if chr in extabix.contigs:
+diff -ru a/main/REDItoolDnaRna.py b/main/REDItoolDnaRna.py
+--- a/main/REDItoolDnaRna.py 2020-07-16 16:16:59.360014702 -0500
++++ b/main/REDItoolDnaRna.py 2020-07-16 16:17:21.757013649 -0500
+@@ -23,7 +23,7 @@
+ try: import pysam
+ except: sys.exit('Pysam module not found.')
+ from multiprocessing import Process, Queue
+-from Queue import Empty
++from queue import Empty
+ import gzip
+
+ pysamVersion=pysam.__version__
+@@ -34,7 +34,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python REDItoolDnaRNA.py [options]
+ Options:
+ -i RNA-Seq BAM file
+@@ -103,7 +103,7 @@
+ - For Tophat2 use 50
+ - For GSNAP use 30
+
+-"""%(pid)
++"""%(pid))
+
+ #option --fastq Fastq to get reads [requires --reads], separated by comma [if paired] NOT IMPLEMENTED
+ #option --rmOver Remove overlapping reads NOT IMPLEMENTED
+@@ -111,7 +111,7 @@
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:f:k:t:o:c:q:m:O:s:edpuA:a:B:b:lLv:n:EPr:hHIXG:K:j:C:JDUzw:N:ZW:RVMT:F:x:g:SY:",["help","gzip","reads","addP","rmIndels"])
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+@@ -325,7 +325,7 @@
+ params.append('Analysis ID: %s\n' %(pid))
+ params.append('Analysis time: %s\n' %(script_time))
+ params.append('-i --> RNA-Seq BAM file: %s\n' %(bamfile))
+-params.append('-j --> DNA-Seq BAM file(s): %s\n' %(','.join(dgbamfile.keys())))
++params.append('-j --> DNA-Seq BAM file(s): %s\n' %(','.join(list(dgbamfile.keys()))))
+ params.append('-I --> Sort RNA-Seq BAM file: %i\n' %(sortbam))
+ params.append('-J --> Sort DNA-Seq BAM file: %i\n' %(sortgbam))
+ params.append('-f --> Reference file: %s\n' %(fastafile))
+@@ -483,9 +483,9 @@
+ subs=[]
+ subv=[]
+ for i in seq.upper():
+- if b.has_key(i): b[i]+=1
++ if i in b: b[i]+=1
+ for i in b:
+- if not b.has_key(ref): continue
++ if ref not in b: continue
+ if b[i]!=0 and i!=ref:
+ vv=float(b[i])/(b[i]+b[ref])
+ subv.append((b[i],vv,ref+i))
+@@ -537,7 +537,7 @@
+ a={'A':'T','T':'A','C':'G','G':'C'}
+ ss=''
+ for i in s.upper():
+- if a.has_key(i): ss+=a[i]
++ if i in a: ss+=a[i]
+ elif i==' ': ss+=' '
+ elif i=='-': ss+='-'
+ else: ss+='N'
+@@ -682,7 +682,7 @@
+ if l.count(i[0])==2:
+ s='='
+ if i[1]!=i[2]: s='!'
+- if us.has_key(i[0]): us[i[0]].append((x,s))
++ if i[0] in us: us[i[0]].append((x,s))
+ else: us[i[0]]=[(x,s)]
+ x+=1
+ for i in us:
+@@ -753,7 +753,7 @@
+ pysam.faidx(fastafile)
+ ###########################################################
+ # Check reference for name consistency
+-grefs=dgdic.keys()
++grefs=list(dgdic.keys())
+ rrefs={}
+ ridxinfo=pysam.idxstats(bamfile)
+ for j in ridxinfo.split('\n'): #MOD
+@@ -769,7 +769,7 @@
+ fidxinfo.close()
+ # in rna-seq
+ rnof=[]
+-for i in rrefs.keys():
++for i in list(rrefs.keys()):
+ if i not in frefs: sys.stderr.write('WARNING: Region %s in RNA-Seq not found in reference file.\n' %(i))
+ if len(gbamfile)!=0:
+ for i in grefs:
+@@ -833,9 +833,9 @@
+ #regions=mainbam.references
+ #regionslens=mainbam.lengths
+ #mainbam.close()
+-dicregions=dict(rrefs.items())
++dicregions=dict(list(rrefs.items()))
+ #dicregions=dict([(regions[x],regionslens[x]) for x in range(len(regions))])
+-chrs=[x for x in dicregions.keys() if x not in nochrs]
++chrs=[x for x in list(dicregions.keys()) if x not in nochrs]
+ if fworkR: sys.stderr.write('Analysis on region %s:%i-%i.\n' %(workR[0],workR[1][0],workR[1][1]))
+ else: sys.stderr.write('Analysis on %i regions.\n' %(len(chrs)))
+ ###########################################################
+@@ -883,7 +883,7 @@
+ isgbam=1
+ inputs=myinput.split('$')
+ chr,bamfile,start_region,lenregion,suff_=inputs[0],inputs[1],int(inputs[2]),int(inputs[3]),inputs[4]
+- if not dgdic.has_key(chr): isgbam=0
++ if chr not in dgdic: isgbam=0
+ outfile=os.path.join(outfolder,'table_%s'%(suff_))
+ if slist:
+ if gziptab: outrna=gzip.open(os.path.join(outfolder,'pileupRNA_%s.gz'%(suff)),'wb')
+@@ -1024,7 +1024,7 @@
+ if pileupread.alignment.is_read1: rt=1
+ elif pileupread.alignment.is_read2: rt=2
+ rname=pileupread.alignment.query_name+'_%i'%(rt)
+- if gd.has_key(rname): gblatc+='0' #continue
++ if rname in gd: gblatc+='0' #continue
+ else: gblatc+='1'
+ # se la base e' diversa dal reference
+ # se in regione omopolimerica scarta
+@@ -1079,7 +1079,7 @@
+ #s,q,t,qq=pileupread.alignment.query_sequence[pileupread.query_position].upper(),pileupread.alignment.query_qualities[pileupread.query_position],'*',pileupread.alignment.qual[pileupread.query_position]
+ #s,q,t,qq=pileupread.alignment.seq[pileupread.qpos].upper(),ord(pileupread.alignment.qual[pileupread.qpos])-QVAL,'*',pileupread.alignment.qual[pileupread.qpos]
+ # escludi posizioni introniche nei pressi di splice sites
+- if exss and di.has_key(pileupcolumn.reference_pos+1): continue
++ if exss and pileupcolumn.reference_pos+1 in di: continue
+ # multiple hit
+ if exh:
+ if pileupread.alignment.is_secondary: continue
+@@ -1179,7 +1179,7 @@
+ elif pileupread.alignment.is_read2: rt=2
+ else: rt=0
+ rname=pileupread.alignment.query_name+'_%i'%(rt)
+- if d.has_key(rname): blatc+='0' #continue
++ if rname in d: blatc+='0' #continue
+ else: blatc+='1'
+ # se la base e' diversa dal reference
+ # se in regione omopolimerica scarta
+@@ -1213,7 +1213,7 @@
+ else: addpos=(pileupread.alignment.query_name,'-',pileupread.alignment.reference_name,'-',pileupread.alignment.reference_start,pileupread.alignment.reference_end,0 , 0)
+ rqname_comp=rqname+'$'+pileupread.alignment.reference_name+'$'+str(pileupcolumn.reference_pos+1)
+ #addpos=(chr+'_'+str(pileupcolumn.reference_pos+1),pileupcolumn.reference_pos+1)
+- if not grdb.has_key(rqname):
++ if rqname not in grdb:
+ #print rqname reference_start
+ outreads.write('>'+rqname_comp+'\n'+rseqname+'\n')
+ #grdb[rqname]=[addpos]
+@@ -1221,7 +1221,7 @@
+ # if addpos not in grdb[rqname]:
+ # grdb[rqname].append(addpos)
+ if addP:
+- if not grdb2.has_key(rname): grdb2[rname]=addpos
++ if rname not in grdb2: grdb2[rname]=addpos
+ if seq.strip()!='':
+ #print seq,qual,squal
+ if rmIndel:
+@@ -1268,7 +1268,7 @@
+ if exinv and subs=='-': continue
+ if not checkSubs(subs): continue
+ #print out rna-seq info + dna-seq
+- if gdic.has_key(pileupcolumn.reference_pos): # abbiamo l'informazione genomica
++ if pileupcolumn.reference_pos in gdic: # abbiamo l'informazione genomica
+ if exnonh and not gdic[pileupcolumn.reference_pos][1]: continue
+ if mystrand=='0':
+ gdic[pileupcolumn.reference_pos][0][2]=comp2(eval(gdic[pileupcolumn.reference_pos][0][2]))
+diff -ru a/main/REDItoolKnown.py b/main/REDItoolKnown.py
+--- a/main/REDItoolKnown.py 2020-07-16 16:16:59.360014702 -0500
++++ b/main/REDItoolKnown.py 2020-07-16 16:17:22.063013634 -0500
+@@ -23,7 +23,7 @@
+ try: import pysam
+ except: sys.exit('Pysam module not found.')
+ from multiprocessing import Process, Queue
+-from Queue import Empty
++from queue import Empty
+
+ pysamVersion=pysam.__version__
+
+@@ -34,7 +34,7 @@
+ pid=str(os.getpid()+random.randint(0,999999999))
+
+ def usage():
+- print """
++ print("""
+ USAGE: python REDItoolKnown.py [options]
+ Options:
+ -i BAM file
+@@ -82,12 +82,12 @@
+ - For Tophat2 use 50
+ - For GSNAP use 30
+
+-"""%(pid)
++"""%(pid))
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:f:k:t:o:c:q:m:O:s:edpuT:B:Sv:n:EP:r:hHIXG:K:l:C:F:x:g:U")
+ except getopt.GetoptError as err:
+- print str(err) # will print something like "option -a not recognized"
++ print(str(err)) # will print something like "option -a not recognized"
+ usage()
+ sys.exit(2)
+
+@@ -257,7 +257,7 @@
+ return False
+ try:
+ os.kill(pid, 0)
+- except OSError, e:
++ except OSError as e:
+ return e.errno == errno.EPERM
+ else:
+ return True
+@@ -361,9 +361,9 @@
+ subs=[]
+ subv=[]
+ for i in seq.upper():
+- if b.has_key(i): b[i]+=1
++ if i in b: b[i]+=1
+ for i in b:
+- if not b.has_key(ref): continue
++ if ref not in b: continue
+ if b[i]!=0 and i!=ref:
+ vv=float(b[i])/(b[i]+b[ref])
+ subv.append((b[i],vv,ref+i))
+@@ -414,7 +414,7 @@
+ a={'A':'T','T':'A','C':'G','G':'C'}
+ ss=''
+ for i in s.upper():
+- if a.has_key(i): ss+=a[i]
++ if i in a: ss+=a[i]
+ else: ss+='N'
+ return ss
+
+@@ -524,7 +524,7 @@
+ fidxinfo.close()
+ # in rna-seq
+ rnof=[]
+-for i in rrefs.keys():
++for i in list(rrefs.keys()):
+ if i not in frefs: sys.stderr.write('WARNING: Region %s in RNA-Seq not found in reference file.\n' %(i))
+ ##################################
+
+@@ -568,8 +568,8 @@
+ #mainbam.close()
+ #dicregions=dict([(regions[x],regionslens[x]) for x in range(len(regions))])
+ #chrs=[x for x in regions if x not in nochrs]
+-dicregions=dict(rrefs.items())
+-chrs=[x for x in dicregions.keys() if x not in nochrs]
++dicregions=dict(list(rrefs.items()))
++chrs=[x for x in list(dicregions.keys()) if x not in nochrs]
+ sys.stderr.write('Analysis on %i regions.\n' %(len(chrs)))
+
+ if infolder!='': outfolder=os.path.join(outfolder_,'known_%s_%s' %(infolder,pid))
+@@ -654,7 +654,7 @@
+ # else explore bam to find exact positions
+ for pileupcolumn in bam.pileup(chr,startk,endk,stepper='nofilter', max_depth=MAX_DEPTH):
+ if not startk<=pileupcolumn.reference_pos<=endk: continue
+- if not kdic.has_key(pileupcolumn.reference_pos+1): continue
++ if pileupcolumn.reference_pos+1 not in kdic: continue
+ ref=fasta.fetch(chr,pileupcolumn.reference_pos,pileupcolumn.reference_pos+1).upper()
+ seq,qual,strand,squal,blatc='',0,'',[],''
+ if rmsh:
+@@ -668,7 +668,7 @@
+ if pileupread.alignment.is_supplementary: continue
+ if pileupread.alignment.has_tag('SA'): continue
+ # escludi posizioni introniche nei pressi di splice sites
+- if exss and di.has_key(pileupcolumn.reference_pos+1): continue
++ if exss and pileupcolumn.reference_pos+1 in di: continue
+ # multiple hit
+ if exh:
+ if pileupread.alignment.is_secondary: continue
+@@ -754,7 +754,7 @@
+ elif pileupread.alignment.is_read2: rt=2
+ else: rt=0
+ rname=pileupread.alignment.query_name+'_%i'%(rt)
+- if d.has_key(rname): blatc+='0' #continue
++ if rname in d: blatc+='0' #continue
+ else: blatc+='1'
+ # se la base e' diversa dal reference
+ # se in regione omopolimerica scarta
diff --git a/var/spack/repos/builtin/packages/reditools/setup.py.patch b/var/spack/repos/builtin/packages/reditools/setup.py.patch
new file mode 100644
index 0000000000..f65345ad92
--- /dev/null
+++ b/var/spack/repos/builtin/packages/reditools/setup.py.patch
@@ -0,0 +1,11 @@
+--- a/setup.py 2020-07-16 14:01:48.601449013 -0500
++++ b/setup.py 2020-07-16 14:02:31.547441668 -0500
+@@ -33,7 +33,7 @@
+ 'Operating System :: POSIX',
+ 'Programming Language :: Python',
+ ],
+- long_description=open('README').read(),
++ long_description=open('README_1.md').read(),
+ platforms=['Linux','Unix','MacOS']
+ )
+
diff --git a/var/spack/repos/builtin/packages/rivet/gsl.m4 b/var/spack/repos/builtin/packages/rivet/gsl.m4
new file mode 100644
index 0000000000..61c89c957c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/gsl.m4
@@ -0,0 +1,60 @@
+# AC_SEARCH_GSL(actionIfFound, actionIfNotFound)
+AC_DEFUN([AC_SEARCH_GSL],[
+ AC_ARG_WITH([gsl], AC_HELP_STRING(--with-gsl, [path to GSL library and header files]))
+
+ ## Use a specified --with-gsl arg to set basic paths, if provided
+ GSLCONFIG_PATH=$PATH
+ if test -e "$with_gsl"; then
+ GSLCONFIG_PATH="$with_gsl/bin:$GSLCONFIG_PATH"
+ GSLPATH="$with_gsl"
+ GSLINCPATH="$GSLPATH/include"
+ GSLLIBPATH="$GSLPATH/lib"
+ GSL_CPPFLAGS="-I$GSLINCPATH"
+ GSL_CXXFLAGS=""
+ GSL_LDFLAGS="-L$GSLPATH/lib -lgsl -lgslcblas -lm"
+ fi
+
+ ## Try to do better, using the gsl-config script
+ AC_PATH_PROG(GSLCONFIG, gsl-config, [], [$GSLCONFIG_PATH])
+ if test -x "$GSLCONFIG"; then
+ AC_MSG_NOTICE(Using $GSLCONFIG to find GSL flags)
+ GSLPATH=`$GSLCONFIG --prefix`
+ GSLINCPATH="$GSLPATH/include"
+ GSLLIBPATH="$GSLPATH/lib"
+ GSL_CPPFLAGS=`$GSLCONFIG --cflags`
+ GSL_CXXFLAGS=`$GSLCONFIG --cflags`
+ GSL_LDFLAGS=`$GSLCONFIG --libs`
+ fi
+
+ ## If it's worked, propagate the conditionals and execute success arg
+ if test -e "$GSLPATH"; then
+ AM_CONDITIONAL([WITH_GSL], true)
+ AM_CONDITIONAL([WITH_GSLLIB], true)
+ AM_CONDITIONAL([WITH_GSLINC], true)
+ AM_CONDITIONAL([WITHOUT_GSL], false)
+ AM_CONDITIONAL([WITHOUT_GSLLIB], false)
+ AM_CONDITIONAL([WITHOUT_GSLINC], false)
+ $1
+ else
+ ## Otherwise execute the fail arg
+ AM_CONDITIONAL([WITH_GSL], false)
+ AM_CONDITIONAL([WITH_GSLLIB], false)
+ AM_CONDITIONAL([WITH_GSLINC], false)
+ AM_CONDITIONAL([WITHOUT_GSL], true)
+ AM_CONDITIONAL([WITHOUT_GSLLIB], true)
+ AM_CONDITIONAL([WITHOUT_GSLINC], true)
+ $2
+ fi
+
+ ## Propagate path and flag variables
+ AC_SUBST([GSLPATH])
+ AC_SUBST([GSLINCPATH])
+ AC_SUBST([GSLLIBPATH])
+ AC_SUBST([GSL_CPPFLAGS])
+ AC_SUBST([GSL_CXXFLAGS])
+ AC_SUBST([GSL_LDFLAGS])
+ AC_MSG_NOTICE([GSL include path is $GSLINCPATH])
+ AC_MSG_NOTICE([GSL CPPFLAGS is $GSL_CPPFLAGS])
+ AC_MSG_NOTICE([GSL CXXFLAGS is $GSL_CXXFLAGS])
+ AC_MSG_NOTICE([GSL LDFLAGS is $GSL_LDFLAGS])
+])
diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py
new file mode 100644
index 0000000000..3d28b81632
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/package.py
@@ -0,0 +1,170 @@
+# 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 *
+import os
+
+
+class Rivet(AutotoolsPackage):
+ """Rivet - the particle-physics MC analysis toolkit"""
+
+ homepage = "https://rivet.hepforge.org/"
+ url = "https://rivet.hepforge.org/downloads/?f=Rivet-3.1.2.tar.bz2"
+
+ version('3.1.2', sha256='c041d09644f4eae7c212d82237033267fbc1583dfbb4e3e67377f86cece9577a')
+ version('3.1.1', sha256='7c98b26af5f859bc65200499d15765e4b056b4cf233b34176f27a7e6bc4cf9b1')
+ version('3.1.0', sha256='4e156daee5eb10bd1573ef32d4a6a6df74788cd9180fc977db93ef4cb281000c')
+ version('3.0.2', sha256='9624d6cdcad77eafde40312cf6a1c97f4263f22faf9244b198c140b2c256d2f3')
+ version('3.0.1', sha256='e7551168b86a05c9c029c319c313a0aa142a476195e7ff986c896c1b868f89dd')
+ version('3.0.0', sha256='3944434d3791dccb54f7b2257589df6252cc7c065ce9deb57fbef466ff9e62b1')
+ version('2.7.2b', sha256='e9f0a709f8226cde54f9406d36efab1e1b8ed0c6574fbcb1d72a186b09188106')
+ version('2.7.2', sha256='a6634537c005660e56514b70ab9efb9d466c50685d6fb45ed03e9e1988479f02')
+ version('2.7.1', sha256='b4145d8369b8a9fa0ada7ba2e5a2e9992d8e4a12ca4874d835246d2e708cbdef')
+ version('2.7.0', sha256='34ad6a0b47dc4736feac8580a275e8b3a46df8fbeefd91e813add0a1525aacaf')
+ version('2.6.2', sha256='9dde49d5c02038a295f03d2972f85be8746205bdb5ca1eab868b2c9129ade37a')
+ version('2.6.1', sha256='e490d1f35aafa3e175690ae92f862c07a5fe2c51f693c88c87789f0441c89022')
+ version('2.6.0', sha256='fb3229dccd31ea40b0af09974253073f6ad0a3a97e9a0cf44b53748ea8e2f900')
+ version('2.5.4', sha256='772252193698d994fd111f790e72a4024df7572d492e3d5a9e840a074c5527e2')
+ version('2.5.3', sha256='99e10330564ac479c6637d317c08882889a272db8ee204ad45a6ee1dcb291de4')
+ version('2.5.2', sha256='70aa27764a14159c94c0b753a0c3d3600ac669def398cb2d8a6c63ae17704f05')
+ version('2.5.1', sha256='14ee5828de217e96a30e666192515a2083afee030d81d36fc6bea948e9f7810a')
+ version('2.5.0', sha256='c59ff35715be0caf65d6ba808b3badad0f6f7e7758f2049fb6ba43ed579bd4af')
+ version('2.4.3', sha256='18aafecab6c3baeac871a9743946433c2dc01825d8fe291b157719a15c342682')
+ version('2.4.2', sha256='accb146f3082719781a51eec879427c31401577c44f60b27ec8450102fe68aff')
+ version('2.4.1', sha256='c14f0f58d1792d84d62c62b44ebb94db004776feba83fd8186bba898d55123cf')
+ version('2.4.0', sha256='5ee2f34a277ed058b8aef750d946b40d4cf781023b9adab03ca95e803a39fb06')
+ version('2.3.0', sha256='dd07702981d586e4b97b0fa56ae08cd08a631a952322a9b52e7622a46a7741ab')
+ version('2.2.1', sha256='9e64ba19d567bdf4d0cc42b435491c4363b5fec90170d034445a99a1e752b691')
+ version('2.2.0', sha256='3bdafe2007ff54c4734e0c8bc6ba9dc97028d4c41d538201b9582a869af8ae1a')
+ version('2.1.2', sha256='40a20c1ee186326e5bfd906e0bc88f16dc740551be9cc274e9a826873d9c1eed')
+ version('2.1.1', sha256='eefa936de6f6c34a6bab39899841f3189d7621c8ba227032f0f32e6e20dfcf85')
+ version('2.1.0', sha256='58a1ca7b5a47719933782c050e67d0eb3823a7384cfc3c434fece41724c307e6')
+ version('2.0.0', sha256='038f81f92fbba001ed23b56c1229a4f3b41e0c32e00bc92ea58d042909e3855a')
+ version('1.9.0', sha256='55ef552b351328c287194aa99fa2b797e6632dc3fa88dfccd58264602012e044')
+ version('1.8.3', sha256='aa82742fd4d7c68bfbef1367c4c605e06f9fed479a753db96aa6659407fcc4fd')
+ version('1.8.2', sha256='56be98d31693253543f3e657c8f8edc7979c89fdb0ede1bdddfb3a9f5d4cfc3a')
+ version('1.8.1', sha256='7e06d22350bec30220186e796caa93e9bfebd8d771a7efd35673897248437c61')
+ version('1.8.0', sha256='7b28f9163f74583b1542b87c48f28a3ad1338da6136d8e3ca0aeba21095f5fe0')
+ version('1.7.0', sha256='180741f590f210474b686d60241ad59e008221751ead21f0950c59aff93e54fd')
+ version('1.6.0', sha256='1affd9e779f48477402e4150f315b3179204cbbc920db2d0129cd9c38bd18b26')
+ version('1.5.1', sha256='9f24e9824286d5b0302c7e440f4803a8e3b8da50e1260e78c3b3c2eb587b317a')
+ version('1.5.0', sha256='b7fe63e8caacc5c038ab567fe505d275288eedaa1aed6c379057629eef126006')
+ version('1.4.0', sha256='067c94659bb7859904e20e72a676f94f103e6e012b7dba8071f51e8a6e624dbb')
+ version('1.3.0', sha256='5ce41c8492c2fcf809a7135bf8335a01a98ea85fb556b3d00bd4260151efd12f')
+ version('1.2.1', sha256='2d0380b819f778d8d9c2a462af90bd6a6188121e4edcc6202d936130b59bab17')
+ version('1.2.0', sha256='ff5869f6dc9465f429e54686e12c39becac57a83273542179a59bac7561b6404')
+ version('1.1.3', sha256='4be3cd9e6f808cdc5511991be2756f5fa838b6ecd01806fdbe7aec0aa382f946')
+ version('1.1.2', sha256='a15b5d3339481446dec1b719d7d531a87a2e9d11c9fe8044e270ea69611b07c8')
+ version('1.1.1', sha256='bd87fefee6bb8368216755342dc80ab3f8f3c813732dd03c6f94135d45f7036b')
+
+ # According to A. Buckley (main Rivet developer):
+ # "typically a given Rivet version will work with
+ # all YODA releases of that middle-digit version,
+ # and maybe older. Generally it's always a good idea
+ # to be using the latest versions of both.". The versions below
+ # are taken from LCG stack which, in most cases, is the definition
+ # of "latest" at the moment of release.
+ depends_on('yoda@1.0.4', when='@2.0.0')
+ depends_on('yoda@1.0.5', when='@2.1.0')
+ depends_on('yoda@1.0.6', when='@2.1.1')
+ depends_on('yoda@1.1.0', when='@2.1.2')
+ depends_on('yoda@1.3.0', when='@2.2.0')
+ depends_on('yoda@1.3.1', when='@2.2.1')
+ depends_on('yoda@1.4.0', when='@2.3.0')
+ depends_on('yoda@1.5.5', when='@2.4.0')
+ depends_on('yoda@1.5.9', when='@2.4.2')
+ depends_on('yoda@1.6.1', when='@2.4.3')
+ depends_on('yoda@1.6.2', when='@2.5.0')
+ depends_on('yoda@1.6.3', when='@2.5.1')
+ depends_on('yoda@1.6.5', when='@2.5.2')
+ depends_on('yoda@1.6.6', when='@2.5.3')
+ depends_on('yoda@1.6.7', when='@2.5.4')
+ depends_on('yoda@1.7.1', when='@2.6.1')
+ depends_on('yoda@1.7.4', when='@2.6.2')
+ depends_on('yoda@1.7.5', when='@2.7.2')
+ depends_on('yoda@1.7.5', when='@2.7.2b')
+ depends_on('yoda@1.7.7', when='@3.0.1')
+ depends_on('yoda@1.8.0', when='@3.1.0')
+ depends_on('yoda@1.8.2', when='@3.1.1')
+ depends_on('yoda@1.8.3', when='@3.1.2')
+
+ # The following versions were not a part of LCG stack
+ # and thus the exact version of YODA is unknown
+ depends_on('yoda@1.7.0:1.7.999', when='@2.6.0,2.7.0,2.7.1,3.0.0,3.0.2,3.1.0')
+ depends_on('yoda@1.5.0:1.5.999', when='@2.4.1')
+
+ depends_on('hepmc', type=('build', 'run'))
+ depends_on('boost', when='@:2.5.0,3:', type=('build', 'run'))
+ depends_on('fastjet', type=('build', 'run'))
+ depends_on('fjcontrib', type=('build', 'run'), when='@3.0.0:')
+ depends_on('gsl', type=('build', 'run'), when='@:2.6.0,2.6.2:')
+ depends_on('python', type=('build', 'run'))
+ depends_on('swig', type=('build', 'run'))
+ depends_on('yaml-cpp', when='@2.0.0:2.1.2', type=('build', 'run'))
+
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
+ depends_on('m4', type='build')
+
+ patch('rivet-1.8.2.patch', when='@1.8.2', level=0)
+ patch('rivet-1.9.0.patch', when='@1.9.0', level=0)
+ patch('rivet-2.2.0.patch', when='@2.2.0', level=0)
+ patch('rivet-2.2.1.patch', when='@2.2.1', level=0)
+ patch('rivet-2.4.0.patch', when='@2.4.0', level=0)
+ patch('rivet-2.4.2.patch', when='@2.4.2', level=0)
+ patch('rivet-2.4.3.patch', when='@2.4.3', level=0)
+ patch('rivet-2.5.1.patch', when='@2.5.1', level=0)
+ patch('rivet-2.5.2.patch', when='@2.5.2', level=0)
+ patch('rivet-2.5.3.patch', when='@2.5.3', level=0)
+ patch('rivet-2.5.4.patch', when='@2.5.4', level=0)
+ patch('rivet-2.6.0.patch', when='@2.6.0', level=0)
+ patch('rivet-2.6.1.patch', when='@2.6.1', level=0)
+ patch('rivet-2.6.2.patch', when='@2.6.2', level=0)
+ patch('rivet-2.7.0.patch', when='@2.7.0', level=0)
+ patch('rivet-3.0.0.patch', when='@3.0.0', level=0)
+ patch('rivet-3.0.1.patch', when='@3.0.1', level=0)
+ patch('rivet-3.1.0.patch', when='@3.1.0', level=0)
+ patch('rivet-3.1.1.patch', when='@3.1.1', level=0)
+
+ @run_before('configure')
+ def copy_gsl_m4(self):
+ if self.spec.satisfies('@2.6.2:'):
+ copy(join_path(os.path.dirname(__file__), 'gsl.m4'), 'm4/gsl.m4')
+
+ @property
+ def force_autoreconf(self):
+ return self.version >= Version('2.6.2')
+
+ def setup_build_environment(self, env):
+ # this avoids an "import site" error in the build
+ env.unset('PYTHONHOME')
+
+ def configure_args(self):
+ args = []
+ args += ['--with-hepmc=' + self.spec['hepmc'].prefix]
+
+ if self.spec.satisfies('@:1.999.999'):
+ args += ['--with-boost-incpath=' + self.spec['boost'].includes]
+ else:
+ if self.spec.satisfies('@:2.5.0,3:'):
+ args += ['--with-boost=' + self.spec['boost'].prefix]
+
+ args += ['--with-fastjet=' + self.spec['fastjet'].prefix]
+ if self.spec.satisfies('@2:'):
+ args += ['--with-yoda=' + self.spec['yoda'].prefix]
+
+ if self.spec.satisfies('@:2.6.0,2.6.2:'):
+ args += ['--with-gsl=' + self.spec['gsl'].prefix]
+
+ if self.spec.satisfies('@3.0.0:'):
+ args += ['--with-fjcontrib=' + self.spec['fjcontrib'].prefix]
+
+ args += ['--disable-pdfmanual', '--enable-unvalidated']
+
+ if self.spec.satisfies('@2:'):
+ args += ['--enable-stdcxx11']
+
+ return args
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-1.8.2.patch b/var/spack/repos/builtin/packages/rivet/rivet-1.8.2.patch
new file mode 100644
index 0000000000..95cbe774a0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-1.8.2.patch
@@ -0,0 +1,44 @@
+--- src/Tools/Makefile.in.orig 2013-05-15 14:02:25.000000000 +0200
++++ src/Tools/Makefile.in 2013-05-15 14:03:14.000000000 +0200
+@@ -79,7 +79,7 @@
+ libRivetTools_la-ParticleIdUtils.lo \
+ libRivetTools_la-tinyxml.lo libRivetTools_la-tinyxmlerror.lo \
+ libRivetTools_la-tinyxmlparser.lo \
+- libRivetTools_la-BinnedHistogram.lo \
++# libRivetTools_la-BinnedHistogram.lo \
+ libRivetTools_la-mt2_bisect.lo libRivetTools_la-RivetMT2.lo \
+ libRivetTools_la-BinnedHistogram.lo
+ libRivetTools_la_OBJECTS = $(am_libRivetTools_la_OBJECTS)
+@@ -371,7 +371,7 @@
+ TinyXML/tinyxml.cpp \
+ TinyXML/tinyxmlerror.cpp \
+ TinyXML/tinyxmlparser.cpp \
+- BinnedHistogram.cc \
++# BinnedHistogram.cc \
+ mt2_bisect.cc \
+ RivetMT2.cc \
+ BinnedHistogram.cc
+--- include/LWH/Axis.h.orig 2013-05-14 18:30:02.000000000 +0200
++++ include/LWH/Axis.h 2013-05-14 18:31:35.000000000 +0200
+
+@@ -115,7 +115,7 @@
+ *
+ */
+ int coordToIndex(double coord) const {
+- assert( ! isnan(coord) );
++ assert( ! std::isnan(coord) );
+ if ( coord >= upper ) return OVERFLOW_BIN;
+ else if ( coord < lower ) return UNDERFLOW_BIN;
+ else return int((coord - lower)/binWidth(0));
+
+--- src/Tools/Makefile.am.orig 2013-05-15 13:14:11.000000000 +0200
++++ src/Tools/Makefile.am 2013-05-15 13:16:53.000000000 +0200
+@@ -14,7 +14,7 @@
+ TinyXML/tinyxml.cpp \
+ TinyXML/tinyxmlerror.cpp \
+ TinyXML/tinyxmlparser.cpp \
+- BinnedHistogram.cc \
++# BinnedHistogram.cc \
+ mt2_bisect.cc \
+ RivetMT2.cc \
+ BinnedHistogram.cc
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-1.9.0.patch b/var/spack/repos/builtin/packages/rivet/rivet-1.9.0.patch
new file mode 100644
index 0000000000..9d274550b7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-1.9.0.patch
@@ -0,0 +1,30 @@
+--- bin/rivet-buildplugin.in.orig 2014-09-02 11:22:32.000000000 +0200
++++ bin/rivet-buildplugin.in 2014-09-02 11:26:31.000000000 +0200
+@@ -62,6 +62,7 @@
+ mycppflags=""
+ prefix="@prefix@"
+ irivet="@includedir@"
++exec_prefix=@exec_prefix@
+ test -n "$irivet" && mycppflags="$mycppflags -I${irivet}"
+ ihepmc="@HEPMCINCPATH@"
+ test -n "$ihepmc" && mycppflags="$mycppflags -I${ihepmc}"
+@@ -74,7 +75,7 @@
+
+ ## Get Rivet system linker flags (duplicating that in rivet-config.in)
+ myldflags=""
+-lrivet="@libdir@"
++lrivet="${exec_prefix}/lib"
+ test -n "$lrivet" && myldflags="$myldflags -L${lrivet}"
+ lhepmc="@HEPMCLIBPATH@"
+ test -n "$lhepmc" && myldflags="$myldflags -L${lhepmc}"
+--- bin/rivet-findid 2015-06-23 09:15:28.000000001 +0200
++++ bin/rivet-findid 2015-06-23 09:15:38.000000001 +0200
+@@ -170,7 +170,7 @@
+ if k=='code':
+ entries[v] = c.text
+ if entries.get('9') == 'SPIRESTeX':
+- result['bibtex'] = entries['z']
++ result['bibtex'] = entries['a']
+
+ if i.get('tag') == '037':
+ entries = {}
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.2.0.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.2.0.patch
new file mode 100644
index 0000000000..ac9268a252
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.2.0.patch
@@ -0,0 +1,11 @@
+--- bin/rivet-findid 2015-06-23 09:39:49.000000001 +0200
++++ bin/rivet-findid 2015-06-23 09:40:09.000000001 +0200
+@@ -160,7 +160,7 @@
+ if k=='code':
+ entries[v] = c.text
+ if entries.get('9') == 'SPIRESTeX':
+- result['bibtex'] = entries['z']
++ result['bibtex'] = entries['a']
+
+ if i.get('tag') == '037':
+ entries = {}
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.2.1.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.2.1.patch
new file mode 100644
index 0000000000..a9fceb92c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.2.1.patch
@@ -0,0 +1,11 @@
+--- bin/rivet-findid 2015-06-23 09:40:38.000000001 +0200
++++ bin/rivet-findid 2015-06-23 09:40:45.000000001 +0200
+@@ -160,7 +160,7 @@
+ if k=='code':
+ entries[v] = c.text
+ if entries.get('9') == 'SPIRESTeX':
+- result['bibtex'] = entries['z']
++ result['bibtex'] = entries['a']
+
+ if i.get('tag') == '037':
+ entries = {}
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.4.0.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.4.0.patch
new file mode 100644
index 0000000000..7ce4f1dd55
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.4.0.patch
@@ -0,0 +1,12 @@
+--- configure 2015-10-07 12:35:57.000000000 +0300
++++ configure 2015-10-09 16:18:02.432562522 +0300
+@@ -18728,7 +18728,7 @@
+ ## Boost utility library
+ echo "$as_me: this is boost.m4 serial 24" >&5
+ boost_save_IFS=$IFS
+-boost_version_req=1.55.0
++boost_version_req=1.53.0
+ IFS=.
+ set x $boost_version_req 0 0 0
+ IFS=$boost_save_IFS
+
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.4.2.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.4.2.patch
new file mode 100644
index 0000000000..98436c5acf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.4.2.patch
@@ -0,0 +1,39 @@
+--- configure.orig 2016-09-30 14:12:42.317369715 +0200
++++ configure 2016-09-30 14:17:21.690229397 +0200
+@@ -19644,11 +19644,15 @@
+ cat >conftest.py <<_ACEOF
+
+ import sys, string
++# Python 2 and 3 compatible
++from future.builtins import map
++# Python 2 and 3: forward-compatible
++from future.builtins import range
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
++for i in range(0, 4): minverhex = (minverhex << 8) + minver[i]
+ if sys.hexversion >= minverhex:
+ sys.exit( 0 )
+ else:
+@@ -19676,15 +19680,15 @@
+ fi
+
+
+- PYTHON_VERSION=`$PYTHON -c "import sys; print '.'.join(map(str, sys.version_info[:2]));"`
++ PYTHON_VERSION=`$PYTHON -c "from __future__ import print_function; import sys; print('.'.join(map(str, sys.version_info[:2])));"`
+
+- RIVET_PYTHONPATH=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True);"`
++ RIVET_PYTHONPATH=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True));"`
+
+ ## Test for Python header
+ if test -x "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+ $as_echo_n "checking for Python include path... " >&6; }
+- python_incpath=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
++ python_incpath=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_inc());"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_incpath" >&5
+ $as_echo "$python_incpath" >&6; }
+ python_header="$python_incpath/Python.h"
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.4.3.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.4.3.patch
new file mode 100644
index 0000000000..9d006df8c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.4.3.patch
@@ -0,0 +1,39 @@
+--- configure.orig 2016-06-28 23:57:35.000000000 +0200
++++ configure 2016-09-19 12:44:23.411192406 +0200
+@@ -19643,11 +19643,15 @@
+ cat >conftest.py <<_ACEOF
+
+ import sys, string
++# Python 2 and 3 compatible
++from future.builtins import map
++# Python 2 and 3: forward-compatible
++from future.builtins import range
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
++for i in range(0, 4): minverhex = (minverhex << 8) + minver[i]
+ if sys.hexversion >= minverhex:
+ sys.exit( 0 )
+ else:
+@@ -19675,15 +19679,15 @@
+ fi
+
+
+- PYTHON_VERSION=`$PYTHON -c "import sys; print '.'.join(map(str, sys.version_info[:2]));"`
++ PYTHON_VERSION=`$PYTHON -c "from __future__ import print_function; import sys; print('.'.join(map(str, sys.version_info[:2])));"`
+
+- RIVET_PYTHONPATH=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True);"`
++ RIVET_PYTHONPATH=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True));"`
+
+ ## Test for Python header
+ if test -x "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+ $as_echo_n "checking for Python include path... " >&6; }
+- python_incpath=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
++python_incpath=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_inc());"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_incpath" >&5
+ $as_echo "$python_incpath" >&6; }
+ python_header="$python_incpath/Python.h"
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.5.1.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.5.1.patch
new file mode 100644
index 0000000000..dc5f484203
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.5.1.patch
@@ -0,0 +1,39 @@
+--- configure.orig 2016-09-30 09:25:10.000000000 +0200
++++ configure 2016-09-30 09:27:01.000000000 +0200
+@@ -19681,11 +19681,15 @@
+ cat >conftest.py <<_ACEOF
+
+ import sys, string
++# Python 2 and 3 compatible
++from future.builtins import map
++# Python 2 and 3: forward-compatible
++from future.builtins import range
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
++for i in range(0, 4): minverhex = (minverhex << 8) + minver[i]
+ if sys.hexversion >= minverhex:
+ sys.exit( 0 )
+ else:
+@@ -19713,15 +19717,15 @@
+ fi
+
+
+- PYTHON_VERSION=`$PYTHON -c "import sys; print '.'.join(map(str, sys.version_info[:2]));"`
++ PYTHON_VERSION=`$PYTHON -c "from __future__ import print_function; import sys; print('.'.join(map(str, sys.version_info[:2])));"`
+
+- RIVET_PYTHONPATH=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True);"`
++ RIVET_PYTHONPATH=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True));"`
+
+ ## Test for Python header
+ if test -x "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+ $as_echo_n "checking for Python include path... " >&6; }
+- python_incpath=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
++python_incpath=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_inc());"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_incpath" >&5
+ $as_echo "$python_incpath" >&6; }
+ python_header="$python_incpath/Python.h"
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.5.2.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.5.2.patch
new file mode 100644
index 0000000000..9f536d3751
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.5.2.patch
@@ -0,0 +1,10 @@
+--- ./include/Rivet/Tools/RivetSTL.hh.orig 2017-08-03 11:49:33.005431033 +0200
++++ ./include/Rivet/Tools/RivetSTL.hh 2017-08-03 11:50:13.817841608 +0200
+@@ -19,6 +19,7 @@
+ #include <iomanip>
+ #include <cmath>
+ #include <limits>
++#include <functional>
+
+
+ #ifndef foreach
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.5.3.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.5.3.patch
new file mode 100644
index 0000000000..bebf5c73ab
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.5.3.patch
@@ -0,0 +1,43 @@
+--- include/Rivet/Config/RivetCommon.hh.orig 2017-05-31 12:32:04.547062840 +0200
++++ include/Rivet/Config/RivetCommon.hh 2017-05-31 12:32:12.379054886 +0200
+@@ -2,6 +2,7 @@
+ #define RIVET_RivetCommon_HH
+
+ // Convenience build-setup header for Rivet internal use
++#include <functional>
+
+ // Automatic build info from autoconf
+ #include "Rivet/Config/RivetConfig.hh"
+--- include/Rivet/Run.hh.orig 2017-05-31 12:36:00.225823486 +0200
++++ include/Rivet/Run.hh 2017-05-31 12:36:18.653804770 +0200
+@@ -4,6 +4,7 @@
+
+ #include "Rivet/Tools/RivetSTL.hh"
+ #include "Rivet/Tools/RivetHepMC.hh"
++#include <functional>
+
+ namespace Rivet {
+
+--- include/Rivet/Particle.hh.orig 2017-05-31 12:39:14.273626411 +0200
++++ include/Rivet/Particle.hh 2017-05-31 14:00:02.387272379 +0200
+@@ -11,6 +11,8 @@
+ // NOTE: Rivet/Tools/ParticleUtils.hh included at the end
+ #include "fastjet/PseudoJet.hh"
+
++#include <functional>
++
+ namespace Rivet {
+
+
+--- include/Rivet/Tools/RivetSTL.hh.orig 2017-05-31 14:05:28.368975178 +0200
++++ include/Rivet/Tools/RivetSTL.hh 2017-05-31 14:05:44.432960512 +0200
+@@ -1,6 +1,8 @@
+ #ifndef RIVET_RivetSTL_HH
+ #define RIVET_RivetSTL_HH
+
++#include <functional>
++
+ #include <string>
+ #include <vector>
+ #include <set>
+
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.5.4.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.5.4.patch
new file mode 100644
index 0000000000..af338da6d5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.5.4.patch
@@ -0,0 +1,42 @@
+patch written by GENSER to avoid system libraries of GLS coming from fastjet-config
+--- include/Rivet/Tools/JetUtils.hh
++++ include/Rivet/Tools/JetUtils.hh
+@@ -47,4 +47,5 @@
+ struct BoolJetFunctor {
+ virtual bool operator()(const Jet& p) const = 0;
++ virtual ~BoolJetFunctor() {}
+ };
+
+--- include/Rivet/Tools/ParticleBaseUtils.hh
++++ include/Rivet/Tools/ParticleBaseUtils.hh
+@@ -23,4 +23,5 @@
+ struct BoolParticleBaseFunctor {
+ virtual bool operator()(const ParticleBase& p) const = 0;
++ virtual ~BoolParticleBaseFunctor() {}
+ };
+
+@@ -397,4 +398,5 @@
+ struct DoubleParticleBaseFunctor {
+ virtual double operator()(const ParticleBase& p) const = 0;
++ virtual ~DoubleParticleBaseFunctor() {}
+ };
+
+--- include/Rivet/Tools/ParticleUtils.hh
++++ include/Rivet/Tools/ParticleUtils.hh
+@@ -486,4 +486,5 @@
+ struct BoolParticleFunctor {
+ virtual bool operator()(const Particle& p) const = 0;
++ virtual ~BoolParticleFunctor() {}
+ };
+
+--- src/Makefile.in.orig 2018-01-30 13:52:58.641670247 +0100
++++ src/Makefile.in 2018-01-30 13:53:19.377586118 +0100
+@@ -449,7 +449,7 @@
+ libRivet_la_SOURCES =
+ libRivet_la_LDFLAGS = -export-dynamic -avoid-version -L$(YODALIBPATH) -L$(HEPMCLIBPATH)
+ libRivet_la_LIBADD = Core/libRivetCore.la Projections/libRivetProjections.la Tools/libRivetTools.la $(ANA_LIBADD) \
+- -lYODA -lHepMC -ldl -lm $(FASTJETCONFIGLIBADD) $(GSL_LDFLAGS)
++ -lYODA -lHepMC -ldl -lm $(GSL_LDFLAGS) $(FASTJETCONFIGLIBADD)
+
+ all: all-recursive
+
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.6.0.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.6.0.patch
new file mode 100644
index 0000000000..2cb7cab14b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.6.0.patch
@@ -0,0 +1,90 @@
+--- include/Rivet/Tools/JetUtils.hh
++++ include/Rivet/Tools/JetUtils.hh
+@@ -47,4 +47,5 @@
+ struct BoolJetFunctor {
+ virtual bool operator()(const Jet& p) const = 0;
++ virtual ~BoolJetFunctor() {}
+ };
+
+--- include/Rivet/Tools/ParticleBaseUtils.hh
++++ include/Rivet/Tools/ParticleBaseUtils.hh
+@@ -23,4 +23,5 @@
+ struct BoolParticleBaseFunctor {
+ virtual bool operator()(const ParticleBase& p) const = 0;
++ virtual ~BoolParticleBaseFunctor() {}
+ };
+
+@@ -397,4 +398,5 @@
+ struct DoubleParticleBaseFunctor {
+ virtual double operator()(const ParticleBase& p) const = 0;
++ virtual ~DoubleParticleBaseFunctor() {}
+ };
+
+--- include/Rivet/Tools/ParticleUtils.hh
++++ include/Rivet/Tools/ParticleUtils.hh
+@@ -486,4 +486,5 @@
+ struct BoolParticleFunctor {
+ virtual bool operator()(const Particle& p) const = 0;
++ virtual ~BoolParticleFunctor() {}
+ };
+
+--- analyses/Makefile.in.orig 2018-06-28 09:22:46.722022129 +0200
++++ analyses/Makefile.in 2018-06-28 10:11:59.772373529 +0200
+@@ -523,21 +523,21 @@
+ @ENABLE_ANALYSES_TRUE@%.so:
+ @ENABLE_ANALYSES_TRUE@ @+echo && RIVET_BUILDPLUGIN_BEFORE_INSTALL=1 bash $(top_builddir)/bin/rivet-buildplugin -j2 $@ $^ -I$(top_builddir)/include
+
+-@ENABLE_ANALYSES_TRUE@RivetALICEAnalyses.so: $(shell ls $(srcdir)/pluginALICE/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetATLASAnalyses.so: $(shell ls $(srcdir)/pluginATLAS/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetCDFAnalyses.so : $(shell ls $(srcdir)/pluginCDF/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetCMSAnalyses.so : $(shell ls $(srcdir)/pluginCMS/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetD0Analyses.so : $(shell ls $(srcdir)/pluginD0/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetHERAAnalyses.so : $(shell ls $(srcdir)/pluginHERA/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetLEPAnalyses.so : $(shell ls $(srcdir)/pluginLEP/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetLHCbAnalyses.so : $(shell ls $(srcdir)/pluginLHCb/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetLHCfAnalyses.so : $(shell ls $(srcdir)/pluginLHCf/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetMCAnalyses.so : $(shell ls $(srcdir)/pluginMC/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetMiscAnalyses.so : $(shell ls $(srcdir)/pluginMisc/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetPetraAnalyses.so: $(shell ls $(srcdir)/pluginPetra/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetRHICAnalyses.so : $(shell ls $(srcdir)/pluginRHIC/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetSPSAnalyses.so : $(shell ls $(srcdir)/pluginSPS/*.cc)
+-@ENABLE_ANALYSES_TRUE@RivetTOTEMAnalyses.so: $(shell ls $(srcdir)/pluginTOTEM/*.cc)
++@ENABLE_ANALYSES_TRUE@RivetALICEAnalyses.so: $(shell find $(srcdir)/pluginALICE/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetATLASAnalyses.so: $(shell find $(srcdir)/pluginATLAS/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetCDFAnalyses.so : $(shell find $(srcdir)/pluginCDF/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetCMSAnalyses.so : $(shell find $(srcdir)/pluginCMS/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetD0Analyses.so : $(shell find $(srcdir)/pluginD0/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetHERAAnalyses.so : $(shell find $(srcdir)/pluginHERA/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetLEPAnalyses.so : $(shell find $(srcdir)/pluginLEP/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetLHCbAnalyses.so : $(shell find $(srcdir)/pluginLHCb/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetLHCfAnalyses.so : $(shell find $(srcdir)/pluginLHCf/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetMCAnalyses.so : $(shell find $(srcdir)/pluginMC/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetMiscAnalyses.so : $(shell find $(srcdir)/pluginMisc/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetPetraAnalyses.so: $(shell find $(srcdir)/pluginPetra/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetRHICAnalyses.so : $(shell find $(srcdir)/pluginRHIC/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetSPSAnalyses.so : $(shell find $(srcdir)/pluginSPS/ -name '*.cc' -not -name 'tmp*')
++@ENABLE_ANALYSES_TRUE@RivetTOTEMAnalyses.so: $(shell find $(srcdir)/pluginTOTEM/ -name '*.cc' -not -name 'tmp*')
+
+ @ENABLE_ANALYSES_TRUE@all-local: $(PLUGIN_LIBS) $(PLUGIN_DATAFILES)
+ @ENABLE_ANALYSES_TRUE@ mkdir -p $(builddir)/data
+--- analyses/pluginATLAS/ATLAS_2016_CONF_2016_037.cc.orig 2018-07-02 10:43:08.656094368 +0200
++++ analyses/pluginATLAS/ATLAS_2016_CONF_2016_037.cc 2018-07-02 10:44:04.920361160 +0200
+@@ -2,6 +2,7 @@
+ #include "Rivet/Analysis.hh"
+ #include "Rivet/Projections/FinalState.hh"
+ #include "Rivet/Projections/PromptFinalState.hh"
++#include "Rivet/Projections/ChargedFinalState.hh"
+ #include "Rivet/Projections/FastJets.hh"
+ #include "Rivet/Projections/Sphericity.hh"
+ #include "Rivet/Projections/SmearedParticles.hh"
+--- include/Rivet/AnalysisHandler.hh.orig 2018-07-10 10:39:21.719532209 +0200
++++ include/Rivet/AnalysisHandler.hh 2018-07-10 10:39:29.225608530 +0200
+@@ -17,7 +17,7 @@
+
+ // Needed to make smart pointers compare equivalent in the STL set
+ struct CmpAnaHandle {
+- bool operator() (const AnaHandle& a, const AnaHandle& b) {
++ bool operator() (const AnaHandle& a, const AnaHandle& b) const {
+ return a.get() < b.get();
+ }
+ };
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.6.1.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.6.1.patch
new file mode 100644
index 0000000000..878e72d739
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.6.1.patch
@@ -0,0 +1,24 @@
+--- doc/Makefile.in.orig 2018-10-17 18:29:15.568630034 +0200
++++ doc/Makefile.in 2018-10-17 18:31:45.829375147 +0200
+@@ -594,15 +594,15 @@
+ .PRECIOUS: Makefile
+
+ @ENABLE_PYEXT_TRUE@analyses.html: $(top_srcdir)/analyses $(srcdir)/mk-analysis-html
+-@ENABLE_PYEXT_TRUE@ LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(LD_LIBRARY_PATH) \
+-@ENABLE_PYEXT_TRUE@ DYLD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(DYLD_LIBRARY_PATH) \
++@ENABLE_PYEXT_TRUE@ LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(HEPMCLIBPATH):$(FASTJETLIBPATH):$(YODALIBPATH):$(RIVETLIBPATH):$(LD_LIBRARY_PATH) \
++@ENABLE_PYEXT_TRUE@ DYLD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(HEPMCLIBPATH):$(FASTJETLIBPATH):$(YODALIBPATH):$(RIVETLIBPATH):$(DYLD_LIBRARY_PATH) \
+ @ENABLE_PYEXT_TRUE@ PYTHONPATH=$(YODA_PYTHONPATH):$(RIVET_PYTHONPATH):$(PYTHONPATH) \
+-@ENABLE_PYEXT_TRUE@ $(srcdir)/mk-analysis-html
++@ENABLE_PYEXT_TRUE@ $(PYTHON) $(srcdir)/mk-analysis-html
+ @ENABLE_PYEXT_TRUE@analyses.json: $(top_srcdir)/analyses $(srcdir)/mk-analysis-json
+-@ENABLE_PYEXT_TRUE@ LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(LD_LIBRARY_PATH) \
+-@ENABLE_PYEXT_TRUE@ DYLD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(DYLD_LIBRARY_PATH) \
++@ENABLE_PYEXT_TRUE@ LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(HEPMCLIBPATH):$(FASTJETLIBPATH):$(YODALIBPATH):$(RIVETLIBPATH):$(LD_LIBRARY_PATH) \
++@ENABLE_PYEXT_TRUE@ DYLD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(HEPMCLIBPATH):$(FASTJETLIBPATH):$(YODALIBPATH):$(RIVETLIBPATH):$(DYLD_LIBRARY_PATH) \
+ @ENABLE_PYEXT_TRUE@ PYTHONPATH=$(YODA_PYTHONPATH):$(RIVET_PYTHONPATH):$(PYTHONPATH) \
+-@ENABLE_PYEXT_TRUE@ $(srcdir)/mk-analysis-json
++@ENABLE_PYEXT_TRUE@ $(PYTHON) $(srcdir)/mk-analysis-json
+
+ @WITH_ASCIIDOC_TRUE@compare-histos.html: compare-histos.txt
+ @WITH_ASCIIDOC_TRUE@ asciidoc -a toc compare-histos.txt
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.6.2.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.6.2.patch
new file mode 100644
index 0000000000..a327f481d4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.6.2.patch
@@ -0,0 +1,97 @@
+--- configure.ac.orig 2019-01-23 11:02:06.206570992 +0100
++++ configure.ac 2019-01-23 11:02:26.704761899 +0100
+@@ -151,12 +151,12 @@
+
+
+ # ## GNU Scientific Library
+-# AC_SEARCH_GSL
+-# AC_CEDAR_HEADERS([gsl], , , [AC_MSG_ERROR([GSL (GNU Scientific Library) is required])])
+-# oldCPPFLAGS=$CPPFLAGS
+-# CPPFLAGS="$CPPFLAGS -I$GSLINCPATH"
+-# AC_CHECK_HEADER([gsl/gsl_vector.h], [], [AC_MSG_ERROR([GSL vectors not found.])])
+-# CPPFLAGS=$oldCPPFLAGS
++AC_SEARCH_GSL
++AC_CEDAR_HEADERS([gsl], , , [AC_MSG_ERROR([GSL (GNU Scientific Library) is required])])
++oldCPPFLAGS=$CPPFLAGS
++CPPFLAGS="$CPPFLAGS -I$GSLINCPATH"
++AC_CHECK_HEADER([gsl/gsl_vector.h], [], [AC_MSG_ERROR([GSL vectors not found.])])
++CPPFLAGS=$oldCPPFLAGS
+
+
+ ## Disable build/install of standard analyses
+@@ -256,7 +256,7 @@
+ ## Set default build flags
+ AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include"
+ #AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)/include/eigen3"
+-#AM_CPPFLAGS="$AM_CPPFLAGS \$(GSL_CPPFLAGS)"
++AM_CPPFLAGS="$AM_CPPFLAGS \$(GSL_CPPFLAGS)"
+ dnl AM_CPPFLAGS="$AM_CPPFLAGS \$(BOOST_CPPFLAGS)"
+ AM_CPPFLAGS="$AM_CPPFLAGS -I\$(YODAINCPATH)"
+ AM_CPPFLAGS="$AM_CPPFLAGS -I\$(HEPMCINCPATH)"
+--- bin/rivet-config.in.orig 2019-01-23 11:08:04.608907832 +0100
++++ bin/rivet-config.in 2019-01-23 11:08:25.058098155 +0100
+@@ -82,8 +82,8 @@
+ test -n "$iyoda" && OUT="$OUT -I${iyoda}"
+ ifastjet="@FASTJETINCPATH@"
+ test -n "$ifastjet" && OUT="$OUT -I${ifastjet}"
+- # igsl="@GSLINCPATH@"
+- # test -n "$igsl" && OUT="$OUT -I${igsl}"
++ igsl="@GSLINCPATH@"
++ test -n "$igsl" && OUT="$OUT -I${igsl}"
+ # iboost="@BOOST_CPPFLAGS@"
+ # test -n "$iboost" && OUT="$OUT ${iboost}"
+ fi
+@@ -98,8 +98,8 @@
+ test -n "$lyoda" && OUT="$OUT -L${lyoda} -lYODA"
+ lfastjet="@FASTJETCONFIGLIBADD@"
+ test -n "$lfastjet" && OUT="$OUT ${lfastjet}"
+- # lgsl="@GSLLIBPATH@"
+- # test -n "$lgsl" && OUT="$OUT -L${lgsl}"
++ lgsl="@GSLLIBPATH@"
++ test -n "$lgsl" && OUT="$OUT -L${lgsl}"
+ fi
+
+ tmp=$( echo "$*" | egrep -- '--\<libs\>|--\<ldadd\>')
+--- bin/rivet-buildplugin.in.orig 2019-01-23 11:10:07.804054317 +0100
++++ bin/rivet-buildplugin.in 2019-01-23 11:10:34.370301517 +0100
+@@ -169,8 +169,8 @@
+ test -n "$iyoda" && mycppflags="$mycppflags -I${iyoda}"
+ ifastjet="@FASTJETINCPATH@"
+ test -n "$ifastjet" && mycppflags="$mycppflags -I${ifastjet}"
+-# igsl="@GSLINCPATH@"
+-# test -n "$igsl" && mycppflags="$mycppflags -I${igsl}"
++igsl="@GSLINCPATH@"
++test -n "$igsl" && mycppflags="$mycppflags -I${igsl}"
+ # iboost="@BOOST_CPPFLAGS@"
+ # test -n "$iboost" && mycppflags="$mycppflags ${iboost}"
+
+--- pyext/setup.py.in.orig 2019-01-23 11:12:04.694141901 +0100
++++ pyext/setup.py.in 2019-01-23 11:12:44.531512512 +0100
+@@ -29,11 +29,11 @@
+
+
+ ## Be careful with extracting the GSL path from the flags string
+-# import re
+-# re_libdirflag = re.compile(r".*-L\s*(\S+).*")
+-# re_match = re_libdirflag.search("@GSL_LDFLAGS@")
+-# if re_match:
+- # lookupdirs.append( re_match.group(1) )
++import re
++re_libdirflag = re.compile(r".*-L\s*(\S+).*")
++re_match = re_libdirflag.search("@GSL_LDFLAGS@")
++if re_match:
++ lookupdirs.append( re_match.group(1) )
+
+ ## A helper function
+ def ext(name, depends=[], statics=[]):
+@@ -47,8 +47,8 @@
+ language="c++",
+ # depends=depends,
+ include_dirs=[incdir1, incdir2, incdir3, incdir4],
+- # extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@ @GSLCPPFLAGS@".split(),
+- extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@".split(),
++ extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@ @GSLCPPFLAGS@".split(),
++ # extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@".split(),
+ extra_link_args=BASE_LINK_ARGS,
+ library_dirs=lookupdirs,
+ runtime_library_dirs=lookupdirs[1:],
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-2.7.0.patch b/var/spack/repos/builtin/packages/rivet/rivet-2.7.0.patch
new file mode 100644
index 0000000000..a327f481d4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-2.7.0.patch
@@ -0,0 +1,97 @@
+--- configure.ac.orig 2019-01-23 11:02:06.206570992 +0100
++++ configure.ac 2019-01-23 11:02:26.704761899 +0100
+@@ -151,12 +151,12 @@
+
+
+ # ## GNU Scientific Library
+-# AC_SEARCH_GSL
+-# AC_CEDAR_HEADERS([gsl], , , [AC_MSG_ERROR([GSL (GNU Scientific Library) is required])])
+-# oldCPPFLAGS=$CPPFLAGS
+-# CPPFLAGS="$CPPFLAGS -I$GSLINCPATH"
+-# AC_CHECK_HEADER([gsl/gsl_vector.h], [], [AC_MSG_ERROR([GSL vectors not found.])])
+-# CPPFLAGS=$oldCPPFLAGS
++AC_SEARCH_GSL
++AC_CEDAR_HEADERS([gsl], , , [AC_MSG_ERROR([GSL (GNU Scientific Library) is required])])
++oldCPPFLAGS=$CPPFLAGS
++CPPFLAGS="$CPPFLAGS -I$GSLINCPATH"
++AC_CHECK_HEADER([gsl/gsl_vector.h], [], [AC_MSG_ERROR([GSL vectors not found.])])
++CPPFLAGS=$oldCPPFLAGS
+
+
+ ## Disable build/install of standard analyses
+@@ -256,7 +256,7 @@
+ ## Set default build flags
+ AM_CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include"
+ #AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)/include/eigen3"
+-#AM_CPPFLAGS="$AM_CPPFLAGS \$(GSL_CPPFLAGS)"
++AM_CPPFLAGS="$AM_CPPFLAGS \$(GSL_CPPFLAGS)"
+ dnl AM_CPPFLAGS="$AM_CPPFLAGS \$(BOOST_CPPFLAGS)"
+ AM_CPPFLAGS="$AM_CPPFLAGS -I\$(YODAINCPATH)"
+ AM_CPPFLAGS="$AM_CPPFLAGS -I\$(HEPMCINCPATH)"
+--- bin/rivet-config.in.orig 2019-01-23 11:08:04.608907832 +0100
++++ bin/rivet-config.in 2019-01-23 11:08:25.058098155 +0100
+@@ -82,8 +82,8 @@
+ test -n "$iyoda" && OUT="$OUT -I${iyoda}"
+ ifastjet="@FASTJETINCPATH@"
+ test -n "$ifastjet" && OUT="$OUT -I${ifastjet}"
+- # igsl="@GSLINCPATH@"
+- # test -n "$igsl" && OUT="$OUT -I${igsl}"
++ igsl="@GSLINCPATH@"
++ test -n "$igsl" && OUT="$OUT -I${igsl}"
+ # iboost="@BOOST_CPPFLAGS@"
+ # test -n "$iboost" && OUT="$OUT ${iboost}"
+ fi
+@@ -98,8 +98,8 @@
+ test -n "$lyoda" && OUT="$OUT -L${lyoda} -lYODA"
+ lfastjet="@FASTJETCONFIGLIBADD@"
+ test -n "$lfastjet" && OUT="$OUT ${lfastjet}"
+- # lgsl="@GSLLIBPATH@"
+- # test -n "$lgsl" && OUT="$OUT -L${lgsl}"
++ lgsl="@GSLLIBPATH@"
++ test -n "$lgsl" && OUT="$OUT -L${lgsl}"
+ fi
+
+ tmp=$( echo "$*" | egrep -- '--\<libs\>|--\<ldadd\>')
+--- bin/rivet-buildplugin.in.orig 2019-01-23 11:10:07.804054317 +0100
++++ bin/rivet-buildplugin.in 2019-01-23 11:10:34.370301517 +0100
+@@ -169,8 +169,8 @@
+ test -n "$iyoda" && mycppflags="$mycppflags -I${iyoda}"
+ ifastjet="@FASTJETINCPATH@"
+ test -n "$ifastjet" && mycppflags="$mycppflags -I${ifastjet}"
+-# igsl="@GSLINCPATH@"
+-# test -n "$igsl" && mycppflags="$mycppflags -I${igsl}"
++igsl="@GSLINCPATH@"
++test -n "$igsl" && mycppflags="$mycppflags -I${igsl}"
+ # iboost="@BOOST_CPPFLAGS@"
+ # test -n "$iboost" && mycppflags="$mycppflags ${iboost}"
+
+--- pyext/setup.py.in.orig 2019-01-23 11:12:04.694141901 +0100
++++ pyext/setup.py.in 2019-01-23 11:12:44.531512512 +0100
+@@ -29,11 +29,11 @@
+
+
+ ## Be careful with extracting the GSL path from the flags string
+-# import re
+-# re_libdirflag = re.compile(r".*-L\s*(\S+).*")
+-# re_match = re_libdirflag.search("@GSL_LDFLAGS@")
+-# if re_match:
+- # lookupdirs.append( re_match.group(1) )
++import re
++re_libdirflag = re.compile(r".*-L\s*(\S+).*")
++re_match = re_libdirflag.search("@GSL_LDFLAGS@")
++if re_match:
++ lookupdirs.append( re_match.group(1) )
+
+ ## A helper function
+ def ext(name, depends=[], statics=[]):
+@@ -47,8 +47,8 @@
+ language="c++",
+ # depends=depends,
+ include_dirs=[incdir1, incdir2, incdir3, incdir4],
+- # extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@ @GSLCPPFLAGS@".split(),
+- extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@".split(),
++ extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@ @GSLCPPFLAGS@".split(),
++ # extra_compile_args="-I@prefix@/include @PYEXT_CXXFLAGS@ @HEPMCCPPFLAGS@ @FASTJETCPPFLAGS@ @YODACPPFLAGS@".split(),
+ extra_link_args=BASE_LINK_ARGS,
+ library_dirs=lookupdirs,
+ runtime_library_dirs=lookupdirs[1:],
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-3.0.0.patch b/var/spack/repos/builtin/packages/rivet/rivet-3.0.0.patch
new file mode 100644
index 0000000000..229bfb4acc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-3.0.0.patch
@@ -0,0 +1,70 @@
+--- bin/rivet-buildplugin.in.orig Mon Jul 08 15:16:09 2019 +0100
++++ bin/rivet-buildplugin.in Wed Jul 10 16:15:41 2019 +0100
+@@ -172,4 +172,6 @@
+ ifastjet="@FASTJETINCPATH@"
+ test -n "$ifastjet" && mycppflags="$mycppflags -I${ifastjet}"
++ifjcontrib="@FJCONTRIBCPPFLAGS@"
++test -n "$ifjcontrib" && mycppflags="$mycppflags ${ifjcontrib}"
+
+ ## Get Rivet system linker flags (duplicating that in rivet-config.in)
+--- bin/rivet-config.in.orig Mon Jul 08 15:16:09 2019 +0100
++++ bin/rivet-config.in Wed Jul 10 16:15:41 2019 +0100
+@@ -83,4 +83,6 @@
+ ifastjet="@FASTJETINCPATH@"
+ test -n "$ifastjet" && OUT="$OUT -I${ifastjet}"
++ ifjcontrib="@FJCONTRIBCPPFLAGS@"
++ test -n "$ifjcontrib" && OUT="$OUT ${ifjcontrib}"
+ fi
+
+--- configure.ac.orig Mon Jul 08 15:16:09 2019 +0100
++++ configure.ac Wed Jul 10 16:15:41 2019 +0100
+@@ -197,10 +197,26 @@
+ FASTJETLIBADD="$FASTJETLIBADD -lEECambridgePlugin -lJadePlugin"
+ fi;
++
++## FastJet contrib (allow paths specified separately from FJ)
++AC_ARG_WITH([fjcontrib],
++ [AC_HELP_STRING(--with-fjcontrib, path to FastJet Contrib @<:@$FASTJETPATH@:>@)], [], [])
++if test -n "$with_fjcontrib"; then
++ AC_MSG_NOTICE([FastJet Contrib base path given: $with_fjcontrib])
++ FJCONTRIBINCPATH=$with_fjcontrib/include
++ FJCONTRIBLIBPATH=$with_fjcontrib/lib
++ FJCONTRIBCPPFLAGS=-I$FJCONTRIBINCPATH
++ AC_SUBST(FJCONTRIBINCPATH)
++ AC_SUBST(FJCONTRIBLIBPATH)
++ AC_SUBST(FJCONTRIBCPPFLAGS)
++ FASTJETLIBADD="-L$FJCONTRIBLIBPATH $FASTJETLIBADD"
++fi
+ FASTJETLIBADD="$FASTJETLIBADD -lfastjetcontribfragile -lfastjettools"
++
++## Test FastJet + Contrib
++## Check for FastJet headers that require the --enable-all(cxx)plugins option
+ AC_MSG_NOTICE([FastJet LIBADD = $FASTJETLIBADD])
+ AC_SUBST(FASTJETLIBADD)
+-# Check for FastJet headers that require the --enable-all(cxx)plugins option
+ oldCPPFLAGS=$CPPFLAGS
+-CPPFLAGS="$CPPFLAGS -I$FASTJETINCPATH"
++CPPFLAGS="$CPPFLAGS $FASTJETCPPFLAGS $FJCONTRIBCPPFLAGS"
+ oldLIBS=$LIBS
+ LIBS="$LIBS $FASTJETLIBADD"
+@@ -339,5 +355,4 @@
+ #AM_CPPFLAGS="$AM_CPPFLAGS -I\$(top_srcdir)/include/eigen3"
+ #AM_CPPFLAGS="$AM_CPPFLAGS \$(GSL_CPPFLAGS)"
+-dnl AM_CPPFLAGS="$AM_CPPFLAGS \$(BOOST_CPPFLAGS)"
+ AM_CPPFLAGS="$AM_CPPFLAGS -I\$(YODAINCPATH)"
+ if test x$use_hepmc2 = xyes ; then
+@@ -346,5 +361,5 @@
+ AM_CPPFLAGS="$AM_CPPFLAGS -I\$(HEPMC3INCPATH)"
+ fi
+-AM_CPPFLAGS="$AM_CPPFLAGS -I\$(FASTJETINCPATH)"
++AM_CPPFLAGS="$AM_CPPFLAGS \$(FASTJETCPPFLAGS) \$(FJCONTRIBCPPFLAGS)"
+ AC_CEDAR_CHECKCXXFLAG([-pedantic], [AM_CXXFLAGS="$AM_CXXFLAGS -pedantic"])
+ AC_CEDAR_CHECKCXXFLAG([-Wall], [AM_CXXFLAGS="$AM_CXXFLAGS -Wall"])
+--- src/AnalysisTools/Makefile.am.org Mon Jul 08 15:16:09 2019 +0100
++++ src/AnalysisTools/Makefile.am Wed Jul 10 16:15:41 2019 +0100
+@@ -6,4 +6,4 @@
+ MC_JetSplittings.cc
+
+-libRivetAnalysisTools_la_LDFLAGS = $(AM_LDFLAGS) -L$(FASTJETLIBPATH)
++libRivetAnalysisTools_la_LDFLAGS = $(AM_LDFLAGS) -L$(FASTJETLIBPATH) -L$(FJCONTRIBLIBPATH)
+ libRivetAnalysisTools_la_LIBS = $(FASTJETLIBADD)
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-3.0.1.patch b/var/spack/repos/builtin/packages/rivet/rivet-3.0.1.patch
new file mode 100644
index 0000000000..31bdcbc7e3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-3.0.1.patch
@@ -0,0 +1,11 @@
+--- bin/rivet-buildplugin.in.orig 2020-04-30 14:41:44.988555918 +0200
++++ bin/rivet-buildplugin.in 2020-04-30 14:42:21.301319083 +0200
+@@ -249,7 +249,7 @@
+ srcnames[$idx]="$tmpfile"
+ fi
+ done
+-objnames=("${srcnames[@]/.cc/.o}")
++objnames=("${srcnames[@]/%.cc/.o}")
+
+ if [[ -z "$debug" ]]; then silencer="@"; fi
+ tmpmakefile=$(mktemp Makefile.tmp.XXXXXXXXXX)
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-3.1.0.patch b/var/spack/repos/builtin/packages/rivet/rivet-3.1.0.patch
new file mode 100644
index 0000000000..ff09f52862
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-3.1.0.patch
@@ -0,0 +1,11 @@
+--- bin/rivet-build.in.orig 2020-04-30 11:11:53.820773774 +0200
++++ bin/rivet-build.in 2020-04-30 11:12:32.766024110 +0200
+@@ -249,7 +249,7 @@
+ srcnames[$idx]="$tmpfile"
+ fi
+ done
+-objnames=("${srcnames[@]/.cc/.o}")
++objnames=("${srcnames[@]/%.cc/.o}")
+
+ if [[ -z "$debug" ]]; then silencer="@"; fi
+ tmpmakefile=$(mktemp Makefile.tmp.XXXXXXXXXX)
diff --git a/var/spack/repos/builtin/packages/rivet/rivet-3.1.1.patch b/var/spack/repos/builtin/packages/rivet/rivet-3.1.1.patch
new file mode 100644
index 0000000000..687d22819a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rivet/rivet-3.1.1.patch
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2020-05-12 11:26:03.482506197 +0200
++++ configure.ac 2020-05-12 11:54:55.569077342 +0200
+@@ -211,7 +211,7 @@
+ if test "$fjmajor" -lt 3; then
+ AC_MSG_ERROR([FastJet version 3.0.0 or later is required])
+ fi
+- FASTJETLIBADD="$($FJCONFIG --plugins --shared --libs| tr ' ' '\n' | grep -v gcc | tr '\n' ' ')"
++ FASTJETLIBADD="$($FJCONFIG --plugins --shared --libs)"
+ else
+ FASTJETLIBADD="-L$FASTJETLIBPATH -l$FASTJETLIBNAME"
+ FASTJETLIBADD="$FASTJETLIBADD -lSISConePlugin -lsiscone -lsiscone_spherical"
diff --git a/var/spack/repos/builtin/packages/rocclr/opengl.patch b/var/spack/repos/builtin/packages/rocclr/opengl.patch
new file mode 100644
index 0000000000..fc9bacee50
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocclr/opengl.patch
@@ -0,0 +1,49 @@
+From 98df37fc36b6276c26532e86e89be7e389745f4e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Torsten=20Ke=C3=9Fler?= <t.kessler@posteo.de>
+Date: Sun, 19 Jul 2020 11:58:24 +0200
+Subject: [PATCH] Fix search for OpenCL include dirs
+
+---
+ CMakeLists.txt | 26 +++++++++-----------------
+ 1 file changed, 9 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 122277ee..02ca4644 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,26 +53,18 @@ find_package(amd_comgr REQUIRED CONFIG
+ )
+ message(STATUS "Code Object Manager found at ${amd_comgr_DIR}.")
+
+-# FIXME: Use find_package(OpenCL)
+-find_library( OpenCL REQUIRED CONFIG
+- PATHS
+- /opt/rocm
++find_path(OPENCL_INCLUDE_DIR
++ NAMES OpenCL/cl.h CL/cl.h
++ PATH_SUFFIXES include opencl/include inc include/x86_64 include/x64
++ PATHS ${OPENCL_DIR}
++ DOC "OpenCL include header OpenCL/cl.h or CL/cl.h"
+ )
+
+-if( NOT OPENCL_DIR )
+- find_path(OPENCL_INCLUDE_DIR
+- NAMES OpenCL/cl.h CL/cl.h
+- PATH_SUFFIXES include opencl/include inc include/x86_64 include/x64
+- PATHS /opt/rocm
+- DOC "OpenCL include header OpenCL/cl.h or CL/cl.h"
+- )
+-
+- if( NOT OPENCL_INCLUDE_DIR )
+- unset(OPENCL_INCLUDE_DIR CACHE)
+- set(OPENCL_INCLUDE_DIR "" CACHE PATH "" FORCE )
+- endif()
+- message(STATUS "Opencl found at ${OPENCL_INCLUDE_DIR}.")
++if( NOT OPENCL_INCLUDE_DIR )
++ unset(OPENCL_INCLUDE_DIR CACHE)
++ set(OPENCL_INCLUDE_DIR "" CACHE PATH "" FORCE )
+ endif()
++message(STATUS "Opencl found at ${OPENCL_INCLUDE_DIR}.")
+
+
+
diff --git a/var/spack/repos/builtin/packages/rocclr/package.py b/var/spack/repos/builtin/packages/rocclr/package.py
new file mode 100644
index 0000000000..732e28e7f6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocclr/package.py
@@ -0,0 +1,53 @@
+# 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 Rocclr(CMakePackage):
+ """ROCclr is a virtual device interface that compute runtimes interact
+ with to different backends such as ROCr or PAL This abstraction allows
+ runtimes to work on Windows as well as on Linux without much effort."""
+
+ homepage = "https://github.com/ROCm-Developer-Tools/ROCclr"
+ url = "https://github.com/ROCm-Developer-Tools/ROCclr/archive/roc-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='87c1ee9f02b8aa487b628c543f058198767c474cec3d21700596a73c028959e1')
+
+ depends_on('cmake@3:', type='build')
+ for ver in ['3.5.0']:
+ depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver)
+ depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver)
+ depends_on('comgr@' + ver, type='build', when='@' + ver)
+ depends_on('mesa~llvm@18.3:', type='link', when='@' + ver)
+
+ patch('opengl.patch', when='@3.5.0')
+
+ resource(name='opencl-on-vdi',
+ url='https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz',
+ sha256='511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0',
+ expand=True,
+ destination='',
+ placement='opencl-on-vdi')
+
+ @run_after('install')
+ def deploy_missing_files(self):
+ # the amdrocclr_staticTargets.cmake file is generated but not installed
+ # and when we install it by hand, we have to fix the path to the static
+ # library libamdrocclr_static.a from build dir to prefix lib dir.
+ cmakefile = join_path(self.build_directory,
+ 'amdrocclr_staticTargets.cmake')
+ filter_file(self.build_directory, self.prefix.lib, cmakefile)
+ install(cmakefile, self.prefix.lib)
+
+ def cmake_args(self):
+ args = [
+ '-DUSE_COMGR_LIBRARY=yes',
+ '-DOPENCL_DIR={0}/opencl-on-vdi'.format(self.stage.source_path)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py
new file mode 100644
index 0000000000..0300649cae
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocfft/package.py
@@ -0,0 +1,45 @@
+# 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 Rocfft(CMakePackage):
+ """Radeon Open Compute FFT library"""
+
+ homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT/"
+ url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='629f02cfecb7de5ad2517b6a8aac6ed4de60d3a9c620413c4d9db46081ac2c88')
+
+ amdgpu_targets = (
+ 'gfx701', 'gfx801', 'gfx802', 'gfx803',
+ 'gfx900', 'gfx906', 'gfx908', 'gfx1010',
+ 'gfx1011', 'gfx1012'
+ )
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+ variant('amdgpu_target', default='gfx701', multi=True, values=amdgpu_targets)
+
+ depends_on('cmake@3:', type='build')
+ depends_on('rocm-cmake@3.5.0', type='build', when='@3.5.0')
+ depends_on('rocm-device-libs@3.5.0', type='build', when='@3.5.0')
+
+ depends_on('hip@3.5.0', type=('build', 'link'), when='@3.5.0')
+ depends_on('comgr@3.5.0', type='build', when='@3.5.0')
+
+ def setup_build_environment(self, env):
+ env.set('CXX', self.spec['hip'].hipcc)
+
+ def cmake_args(self):
+ archs = ",".join(self.spec.variants['amdgpu_target'].value)
+
+ args = [
+ '-DCMAKE_CXX_FLAGS=--amdgpu-target={0}'.format(archs),
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/rocgdb/package.py b/var/spack/repos/builtin/packages/rocgdb/package.py
new file mode 100644
index 0000000000..927c6c3a68
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocgdb/package.py
@@ -0,0 +1,57 @@
+# 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 Rocgdb(AutotoolsPackage):
+ """This is ROCgdb, the ROCm source-level debugger for Linux,
+ based on GDB, the GNU source-level debugger."""
+
+ homepage = "https://github.com/ROCm-Developer-Tools/ROCgdb/"
+ url = "https://github.com/ROCm-Developer-Tools/ROCgdb/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='cf36d956e84c7a5711b71f281a44b0a9708e13e941d8fca0247d01567e7ee7d1')
+ depends_on('cmake@3:', type='build')
+ depends_on('texinfo', type='build')
+ depends_on('bison', type='build')
+ depends_on('flex', type='build')
+ depends_on('libunwind', type='build')
+ depends_on('expat', type='build')
+ depends_on('python', type='build')
+ depends_on('zlib', type='link')
+ for ver in ['3.5.0']:
+ depends_on('rocm-dbgapi@' + ver, type='link', when='@' + ver)
+ depends_on('comgr@' + ver, type='link', when='@' + ver)
+
+ build_directory = 'spack-build'
+
+ def configure_args(self):
+ # Generic options to compile GCC
+ options = [
+ # Distributor options
+ '--program-prefix=roc',
+ '--enable-64-bit-bfd',
+ '--with-bugurl=https://github.com/ROCm-Developer-Tools/ROCgdb/issues',
+ '--with-pkgversion=-ROCm',
+ '--enable-targets=x86_64-linux-gnu,amdgcn-amd-amdhsa',
+ '--disable-ld',
+ '--disable-gas',
+ '--disable-gdbserver',
+ '--disable-sim',
+ '--enable-tui',
+ '--disable-gdbtk',
+ '--disable-shared',
+ '--with-expat',
+ '--with-system-zlib'
+ '--without-guile',
+ '--with-babeltrace',
+ '--with-lzma',
+ '--with-python'
+ ]
+ return options
diff --git a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py
new file mode 100644
index 0000000000..c7e61a0227
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py
@@ -0,0 +1,27 @@
+# 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 RocmBandwidthTest(CMakePackage):
+ """Test to measure PciE bandwidth on ROCm platforms"""
+
+ homepage = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test"
+ url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='fbb63fb8713617fd167d9c1501acbd92a6b189ee8e1a8aed668fa6666baae389')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ depends_on('cmake@3:', type='build')
+ for ver in ['3.5.0']:
+ depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
+ depends_on('hsakmt-roct@' + ver, type='build', when='@' + ver)
+
+ build_targets = ['package']
diff --git a/var/spack/repos/builtin/packages/rocm-cmake/package.py b/var/spack/repos/builtin/packages/rocm-cmake/package.py
new file mode 100644
index 0000000000..e67384248f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py
@@ -0,0 +1,26 @@
+# 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 RocmCmake(CMakePackage):
+ """ROCM cmake modules provides cmake modules for common build tasks
+ needed for the ROCM software stack"""
+
+ homepage = "https://github.com/RadeonOpenCompute/rocm-cmake"
+ url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='5fc09e168879823160f5fdf4fd1ace2702d36545bf733e8005ed4ca18c3e910f')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ depends_on('cmake@3:', type='build')
+
+ def cmake_args(self):
+ return ['-DROCM_DISABLE_LDCONFIG=ON']
diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py
new file mode 100644
index 0000000000..33f6c0e66f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py
@@ -0,0 +1,29 @@
+# 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 RocmDbgapi(CMakePackage):
+ """The AMD Debugger API is a library that provides all the support
+ necessary for a debugger and other tools to perform low level
+ control of the execution and inspection of execution state of
+ AMD's commercially available GPU architectures."""
+
+ homepage = "https://github.com/ROCm-Developer-Tools/ROCdbgapi"
+ url = "https://github.com/ROCm-Developer-Tools/ROCdbgapi/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='eeba0592bc79b90e5b874bba18fd003eab347e8a3cc80343708f8d19e047e87b')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('hsa-rocr-dev@3.5.0', type='build', when='@3.5.0')
+ depends_on('comgr@3.5.0', type=('build', 'link'), when='@3.5.0')
+
+ def patch(self):
+ filter_file(r'(<INSTALL_INTERFACE:include>)', r'\1 {0}/include'.
+ format(self.spec['hsa-rocr-dev'].prefix), 'CMakeLists.txt')
diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py
new file mode 100644
index 0000000000..5df5dcb477
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py
@@ -0,0 +1,36 @@
+# 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 RocmDebugAgent(CMakePackage):
+ """Radeon Open Compute (ROCm) debug agent"""
+
+ homepage = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent"
+ url = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent/archive/roc-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='203ccb18d2ac508aae40bf364923f67375a08798b20057e574a0c5be8039f133')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ depends_on('cmake@3:', type='build')
+ for ver in ['3.5.0']:
+ depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
+ depends_on('hsakmt-roct@' + ver, type='link', when='@' + ver)
+ depends_on("elfutils", type='link', when='@' + ver)
+
+ root_cmakelists_dir = 'src'
+
+ def cmake_args(self):
+ spec = self.spec
+ args = [
+ '-DCMAKE_PREFIX_PATH={0}/include/hsa;{1}/include,'.
+ format(spec['hsa-rocr-dev'].prefix, spec['hsakmt-roct'].prefix)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/rocm-device-libs/package.py b/var/spack/repos/builtin/packages/rocm-device-libs/package.py
new file mode 100644
index 0000000000..3d6a46f5d3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py
@@ -0,0 +1,33 @@
+# 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 RocmDeviceLibs(CMakePackage):
+ """set of AMD specific device-side language runtime libraries"""
+
+ homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
+ url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='dce3a4ba672c4a2da4c2260ee4dc96ff6dd51877f5e7e1993cb107372a35a378')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ depends_on('cmake@3:', type='build')
+ for ver in ['3.5.0']:
+ depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver)
+ depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)
+
+ def cmake_args(self):
+ spec = self.spec
+ args = ['-DLLVM_DIR={0}'.format(spec['llvm-amdgpu'].prefix),
+ '-DCMAKE_C_COMPILER={0}/bin/clang'.format(
+ spec['llvm-amdgpu'].prefix),
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/rocm-opencl/package.py b/var/spack/repos/builtin/packages/rocm-opencl/package.py
new file mode 100644
index 0000000000..e761e7481a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-opencl/package.py
@@ -0,0 +1,53 @@
+# 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 RocmOpencl(CMakePackage):
+ """OpenCL: Open Computing Language on ROCclr"""
+
+ homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
+ url = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0')
+ depends_on('cmake@3:', type='build')
+ depends_on('rocclr@3.5.0', type='build', when='@3.5.0')
+ depends_on('comgr@3.5.0', type='build', when='@3.5.0')
+ depends_on('mesa~llvm@18.3:', type='link')
+
+ def flag_handler(self, name, flags):
+ # The includes are messed up in ROCm 3.5.0:
+ # ROCM-OpenCL-Runtime uses flat includes
+ # and the find_package(ROCclr) bit it
+ # commented out. So instead we provide
+ # all the includes...
+
+ if self.spec.satisfies('@3.5.0') and name in ('cflags', 'cxxflags'):
+ rocclr = self.spec['rocclr'].prefix.include
+ extra_includes = [
+ 'include',
+ 'compiler/lib',
+ 'compiler/lib/include',
+ 'elf/utils/libelf',
+ 'elf/utils/common'
+ ]
+
+ for p in extra_includes:
+ flag = '-I {0}'.format(join_path(rocclr, p))
+ flags.append(flag)
+
+ return (flags, None, None)
+
+ def cmake_args(self):
+
+ args = [
+ '-DUSE_COMGR_LIBRARY=yes',
+ '-DROCclr_DIR={0}'.format(self.spec['rocclr'].prefix),
+ '-DLIBROCclr_STATIC_DIR={0}/lib'.format(self.spec['rocclr'].prefix)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py
new file mode 100644
index 0000000000..1adf05a626
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py
@@ -0,0 +1,30 @@
+# 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 *
+from os import popen
+
+
+class RocmSmiLib(CMakePackage):
+ """It is a C library for Linux that provides a user space interface
+ for applications to monitor and control GPU applications."""
+
+ homepage = "https://github.com/RadeonOpenCompute/rocm_smi_lib"
+ url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='a5d2ec3570d018b60524f0e589c4917f03d26578443f94bde27a170c7bb21e6e')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+ depends_on('cmake@3:', type='build')
+
+ @run_after('install')
+ def post_install(self):
+ popen('cp -R {0}/rocm_smi/lib {1}'.format(self.prefix, self.prefix))
+ popen('cp -R {0}/rocm_smi/include {1}'.format(self.prefix,
+ self.prefix))
+ popen('rm -R {0}/rocm_smi'.format(self.prefix))
diff --git a/var/spack/repos/builtin/packages/rocm-smi/package.py b/var/spack/repos/builtin/packages/rocm-smi/package.py
new file mode 100644
index 0000000000..bbd0210172
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocm-smi/package.py
@@ -0,0 +1,34 @@
+# 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 *
+from os import popen
+
+
+class RocmSmi(MakefilePackage):
+ """This tool exposes functionality for clock and temperature
+ management of your ROCm enabled system"""
+
+ homepage = "https://github.com/RadeonOpenCompute/ROC-smi"
+ url = "https://github.com/RadeonOpenCompute/ROC-smi/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+ version('3.5.0', sha256='4f46e947c415a4ac12b9f6989f15a42afe32551706b4f48476fba3abf92e8e7c')
+
+ variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
+
+ phases = ['edit', 'build']
+
+ @run_after('build')
+ def post_build(self):
+ popen('cp -R {0}/rocm_smi.py {1}'.format(self.build_directory, prefix))
+ popen('ln -srf {0}/rocm_smi.py {1}/rocm-smi'.format(prefix, prefix))
+
+ popen('mkdir -p {0}/smi-test/tests'.format(prefix))
+ popen('cp -R {0}/tests/ {1}/smi-test/'.format(self.build_directory,
+ prefix))
+ popen('cp -R {0}/test-rocm-smi.sh {1}/smi-test'.format(
+ self.build_directory, prefix))
diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py
new file mode 100644
index 0000000000..97fe98ff5b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocminfo/package.py
@@ -0,0 +1,26 @@
+# 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 Rocminfo(CMakePackage):
+ """Radeon Open Compute (ROCm) Runtime rocminfo tool"""
+
+ homepage = "https://github.com/RadeonOpenCompute/rocminfo"
+ url = "https://github.com/RadeonOpenCompute/rocminfo/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='1d113f06b7c9b60d0e92b2c12c0c704a565696867496fe7038e5dddd510567b7')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('hsakmt-roct@3.5.0', type='build', when='@3.5.0')
+ depends_on('hsa-rocr-dev@3.5.0', type='build', when='@3.5.0')
+
+ def cmake_args(self):
+ args = ['-DROCM_DIR={0}'.format(self.spec['hsa-rocr-dev'].prefix)]
+ return args
diff --git a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
new file mode 100644
index 0000000000..5bf2f74b00
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py
@@ -0,0 +1,43 @@
+# 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 RocprofilerDev(CMakePackage):
+ """ROCPROFILER library for AMD HSA runtime API extension support"""
+
+ homepage = "https://github.com/ROCm-Developer-Tools/rocprofiler"
+ url = "https://github.com/ROCm-Developer-Tools/rocprofiler/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='c42548dd467b7138be94ad68c715254eb56a9d3b670ccf993c43cd4d43659937')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('hsakmt-roct@3.5.0:', type='build', when='@3.5.0:')
+ depends_on('hsa-rocr-dev@3.5.0:', type='link', when='@3.5.0:')
+ depends_on('rocminfo@3.5.0:', type='build', when='@3.5.0:')
+
+ resource(name='roctracer-dev',
+ url='https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-3.5.0.tar.gz',
+ sha256='7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e',
+ expand=True,
+ destination='',
+ placement='roctracer')
+
+ def patch(self):
+ filter_file('${HSA_RUNTIME_LIB_PATH}/../include',
+ '${HSA_RUNTIME_LIB_PATH}/../include ${HSA_KMT_LIB_PATH}/..\
+ /include', 'test/CMakeLists.txt', string=True)
+
+ def cmake_args(self):
+ args = ['-DPROF_API_HEADER_PATH={0}/roctracer/inc/ext'.format(
+ self.stage.source_path),
+ '-DROCM_ROOT_DIR:STRING={0}/include'.format(
+ self.spec['hsakmt-roct'].prefix)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py
new file mode 100644
index 0000000000..5709ef487d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py
@@ -0,0 +1,44 @@
+# 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 RoctracerDev(CMakePackage):
+ """ROC-tracer library: Runtimes Generic Callback/Activity APIs.
+ The goal of the implementation is to provide a generic independent from
+ specific runtime profiler to trace API and asyncronous activity."""
+
+ homepage = "https://github.com/ROCm-Developer-Tools/roctracer"
+ url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-3.5.0.tar.gz"
+
+ maintainers = ['srekolam', 'arjun-raj-kuppala']
+
+ version('3.5.0', sha256='7af5326c9ca695642b4265232ec12864a61fd6b6056aa7c4ecd9e19c817f209e')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('hsakmt-roct@3.5.0:', type='build', when='@3.5.0:')
+ depends_on('hsa-rocr-dev@3.5.0:', type='build', when='@3.5.0:')
+ depends_on('rocminfo@3.5.0:', type='build', when='@3.5.0:')
+ depends_on('hip@3.5.0:', type='build', when='@3.5.0:')
+
+ def setup_build_environment(self, build_env):
+ spec = self.spec
+ build_env.set("HIP_PATH", spec['hip'].prefix)
+
+ def patch(self):
+ filter_file('${CMAKE_PREFIX_PATH}/hsa',
+ '${HSA_RUNTIME_INC_PATH}', 'src/CMakeLists.txt',
+ string=True)
+
+ def cmake_args(self):
+ args = ['-DHIP_VDI=1',
+ '-DCMAKE_MODULE_PATH={0}/cmake_modules'.format(
+ self.stage.source_path),
+ '-DHSA_RUNTIME_HSA_INC_PATH={0}/include'.format(
+ self.spec['hsa-rocr-dev'].prefix)
+ ]
+ return args
diff --git a/var/spack/repos/builtin/packages/root/package.py b/var/spack/repos/builtin/packages/root/package.py
index 0e590e30ae..73770b31b9 100644
--- a/var/spack/repos/builtin/packages/root/package.py
+++ b/var/spack/repos/builtin/packages/root/package.py
@@ -26,6 +26,7 @@ class Root(CMakePackage):
# Development version (when more recent than production).
# Production version
+ version('6.22.00', sha256='efd961211c0f9cd76cf4a486e4f89badbcf1d08e7535bba556862b3c1a80beed')
version('6.20.04', sha256='1f8c76ccdb550e64e6ddb092b4a7e9d0a10655ef80044828cba12d5e7c874472')
version('6.20.02', sha256='0997586bf097c0afbc6f08edbffcebf5eb6a4237262216114ba3f5c8087dcba6')
version('6.20.00', sha256='68421eb0434b38b66346fa8ea6053a0fdc9a6d254e4a72019f4e3633ae118bf0')
@@ -235,6 +236,7 @@ class Root(CMakePackage):
depends_on('r', when='+r', type=('build', 'run'))
depends_on('r-rcpp', when='+r', type=('build', 'run'))
depends_on('r-rinside', when='+r', type=('build', 'run'))
+ depends_on('readline', when='+r')
depends_on('shadow', when='+shadow')
depends_on('sqlite', when='+sqlite')
depends_on('tbb', when='+tbb')
@@ -381,7 +383,7 @@ class Root(CMakePackage):
['pythia8'],
['qt', 'qt4'], # See conflicts
['qtgsi', 'qt4'], # See conflicts
- ['r', 'R'],
+ ['r', 'r'],
['rfio', False],
['roofit'],
['root7'], # See conflicts
@@ -447,9 +449,10 @@ class Root(CMakePackage):
return options
def setup_build_environment(self, env):
- if 'lz4' in self.spec:
- env.append_path('CMAKE_PREFIX_PATH',
- self.spec['lz4'].prefix)
+ spec = self.spec
+
+ if 'lz4' in spec:
+ env.append_path('CMAKE_PREFIX_PATH', spec['lz4'].prefix)
# This hack is made necessary by a header name collision between
# asimage's "import.h" and Python's "import.h" headers...
@@ -463,20 +466,20 @@ class Root(CMakePackage):
# into SPACK_INCLUDE_DIRS, even in a deprioritized form, because some
# system/compiler combinations don't like having -I/usr/include around.
def add_include_path(dep_name):
- include_path = self.spec[dep_name].prefix.include
+ include_path = spec[dep_name].prefix.include
if not is_system_path(include_path):
env.append_path('SPACK_INCLUDE_DIRS', include_path)
# With that done, let's go fixing those deps
- if self.spec.satisfies('+x @:6.08.99'):
- add_include_path('xextproto')
- if self.spec.satisfies('@:6.12.99'):
+ if spec.satisfies('@:6.12.99'):
add_include_path('zlib')
- if '+x' in self.spec:
+ if '+x' in spec:
+ if spec.satisfies('@:6.08.99') or spec.satisfies('@6.22:'):
+ add_include_path('xextproto')
add_include_path('fontconfig')
add_include_path('libx11')
add_include_path('xproto')
- if '+opengl' in self.spec:
+ if '+opengl' in spec:
add_include_path('glew')
add_include_path('mesa-glu')
diff --git a/var/spack/repos/builtin/packages/rsync/package.py b/var/spack/repos/builtin/packages/rsync/package.py
index 078f11e630..2e361f7f6c 100644
--- a/var/spack/repos/builtin/packages/rsync/package.py
+++ b/var/spack/repos/builtin/packages/rsync/package.py
@@ -11,12 +11,17 @@ class Rsync(AutotoolsPackage):
homepage = "https://rsync.samba.org"
url = "https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz"
+ version('3.2.2', sha256='644bd3841779507665211fd7db8359c8a10670c57e305b4aab61b4e40037afa8')
version('3.1.3', sha256='55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0')
version('3.1.2', sha256='ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2')
version('3.1.1', sha256='7de4364fcf5fe42f3bdb514417f1c40d10bbca896abe7e7f2c581c6ea08a2621')
depends_on('zlib')
depends_on('popt')
+ depends_on('openssl', when='@3.2:')
+ depends_on('xxhash', when='@3.2:')
+ depends_on('zstd', when='@3.2:')
+ depends_on('lz4', when='@3.2:')
def configure_args(self):
return ['--with-included-zlib=no']
diff --git a/var/spack/repos/builtin/packages/rust/package.py b/var/spack/repos/builtin/packages/rust/package.py
index ff8cba54e6..990095c90f 100644
--- a/var/spack/repos/builtin/packages/rust/package.py
+++ b/var/spack/repos/builtin/packages/rust/package.py
@@ -85,6 +85,8 @@ class Rust(Package):
# The `x.py` bootstrapping script did not exist prior to Rust 1.17. It
# would be possible to support both, but for simplicitly, we only support
# Rust 1.17 and newer
+ version('1.45.1', sha256='ea53e6424e3d1fe56c6d77a00e72c5d594b509ec920c5a779a7b8e1dbd74219b')
+ version('1.44.1', sha256='7e2e64cb298dd5d5aea52eafe943ba0458fa82f2987fdcda1ff6f537b6f88473')
version('1.44.0', sha256='bf2df62317e533e84167c5bc7d4351a99fdab1f9cd6e6ba09f51996ad8561100')
version('1.43.1', sha256='cde177b4a8c687da96f20de27630a1eb55c9d146a15e4c900d5c31cd3c3ac41d')
version('1.43.0', sha256='75f6ac6c9da9f897f4634d5a07be4084692f7ccc2d2bb89337be86cfc18453a1')
@@ -127,6 +129,18 @@ class Rust(Package):
# This dictionary contains a version: hash dictionary for each supported
# Rust target.
rust_releases = {
+ '1.45.1': {
+ 'x86_64-unknown-linux-gnu': '76dc9f05b3bfd0465d6e6d22bc9fd5db0b473e3548e8b3d266ecfe4d9e5dca16',
+ 'powerpc64le-unknown-linux-gnu': '271846e4f5adc9a33754794c2ffab851f9e0313c8c1315264e7db5c8f63ab7ab',
+ 'aarch64-unknown-linux-gnu': 'd17fd560e8d5d12304835b71a7e22ac2c3babf4b9768db6a0e89868b4444f728',
+ 'x86_64-apple-darwin': '7334c927e4d2d12d209bf941b97ba309e548413e241d2d263c39c6e12b3ce154'
+ },
+ '1.44.1': {
+ 'x86_64-unknown-linux-gnu': 'a41df89a461a580536aeb42755e43037556fba2e527dd13a1e1bb0749de28202',
+ 'powerpc64le-unknown-linux-gnu': '22deeca259459db31065af7c862fcab7fbfb623200520c65002ed2ba93d87ad2',
+ 'aarch64-unknown-linux-gnu': 'a2d74ebeec0b6778026b6c37814cdc91d14db3b0d8b6d69d036216f4d9cf7e49',
+ 'x86_64-apple-darwin': 'a5464e7bcbce9647607904a4afa8362382f1fc55d39e7bbaf4483ac00eb5d56a'
+ },
'1.44.0': {
'x86_64-unknown-linux-gnu': 'eaa34271b4ac4d2c281831117d4d335eed0b37fe7a34477d9855a6f1d930a624',
'powerpc64le-unknown-linux-gnu': '97038ea935c7a5b21f5aaaaad409c514e2b2ae8ea55994ba39645f453e98bc9f',
diff --git a/var/spack/repos/builtin/packages/saws/package.py b/var/spack/repos/builtin/packages/saws/package.py
index 8a55cc896a..41a117227f 100644
--- a/var/spack/repos/builtin/packages/saws/package.py
+++ b/var/spack/repos/builtin/packages/saws/package.py
@@ -16,4 +16,7 @@ class Saws(AutotoolsPackage):
git = "https://bitbucket.org/saws/saws.git"
version('develop', tag='master')
+ version('0.1.1', tag='v0.1.1')
version('0.1.0', tag='v0.1.0')
+
+ depends_on('python', type='build')
diff --git a/var/spack/repos/builtin/packages/scons/fjcompiler.patch b/var/spack/repos/builtin/packages/scons/fjcompiler.patch
new file mode 100644
index 0000000000..54ec369c55
--- /dev/null
+++ b/var/spack/repos/builtin/packages/scons/fjcompiler.patch
@@ -0,0 +1,179 @@
+diff -u -r -N a/engine/SCons/Tool/fcc.py b/engine/SCons/Tool/fcc.py
+--- a/engine/SCons/Tool/fcc.py 1970-01-01 09:00:00.000000000 +0900
++++ b/engine/SCons/Tool/fcc.py 2020-07-21 17:28:12.000000000 +0900
+@@ -0,0 +1,82 @@
++"""SCons.Tool.fcc
++
++Tool-specific initialization for Fujitsu C/C++ compiler.
++
++There normally shouldn't be any need to import this module directly.
++It will usually be imported through the generic SCons.Tool.Tool()
++selection method.
++
++"""
++
++#
++# Copyright (c) 2001 - 2019 The SCons Foundation
++#
++# Permission is hereby granted, free of charge, to any person obtaining
++# a copy of this software and associated documentation files (the
++# "Software"), to deal in the Software without restriction, including
++# without limitation the rights to use, copy, modify, merge, publish,
++# distribute, sublicense, and/or sell copies of the Software, and to
++# permit persons to whom the Software is furnished to do so, subject to
++# the following conditions:
++#
++# The above copyright notice and this permission notice shall be included
++# in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
++# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
++# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++#
++
++__revision__ = "src/engine/SCons/Tool/fcc.py bee7caf9defd6e108fc2998a2520ddb36a967691 2019-12-17 02:07:09 bdeegan"
++
++from . import cc
++from . import cxx
++import os
++import re
++import subprocess
++
++import SCons.Util
++import SCons.Tool
++
++from . import gcc
++
++compilers = ['fcc']
++
++
++def generate(env):
++ """Add Builders and construction variables for Fujitsu C/C++ compiler to an Environment."""
++ static_obj, shared_obj = SCons.Tool.createObjBuilders(env)
++
++ if 'CC' not in env:
++ env['CC'] = env.Detect(compilers) or compilers[0]
++
++ cc.generate(env)
++
++ env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS -fPIC')
++ # determine C compiler version
++ version = gcc.detect_version(env, env['CC'])
++ if version:
++ env['CCVERSION'] = version
++
++ if 'CXX' not in env:
++ env['CXX'] = env.Detect('FCC') or 'FCC'
++
++ cxx.generate(env)
++
++ # determine C++ compiler version
++ version = gcc.detect_version(env, env['CXX'])
++ if version:
++ env['CXXVERSION'] = version
++
++def exists(env):
++ return env.Detect(compilers)
++
++# Local Variables:
++# tab-width:4
++# indent-tabs-mode:nil
++# End:
++# vim: set expandtab tabstop=4 shiftwidth=4:
+diff -u -r -N a/engine/SCons/Tool/frt.py b/engine/SCons/Tool/frt.py
+--- a/engine/SCons/Tool/frt.py 1970-01-01 09:00:00.000000000 +0900
++++ b/engine/SCons/Tool/frt.py 2020-07-21 17:28:57.000000000 +0900
+@@ -0,0 +1,63 @@
++"""SCons.Tool.frt
++
++Tool-specific initialization for frt, the Fujitsu Fortran 95/Fortran
++2003 compiler.
++
++There normally shouldn't be any need to import this module directly.
++It will usually be imported through the generic SCons.Tool.Tool()
++selection method.
++
++"""
++
++#
++# Copyright (c) 2001 - 2019 The SCons Foundation
++#
++# Permission is hereby granted, free of charge, to any person obtaining
++# a copy of this software and associated documentation files (the
++# "Software"), to deal in the Software without restriction, including
++# without limitation the rights to use, copy, modify, merge, publish,
++# distribute, sublicense, and/or sell copies of the Software, and to
++# permit persons to whom the Software is furnished to do so, subject to
++# the following conditions:
++#
++# The above copyright notice and this permission notice shall be included
++# in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
++# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
++# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++#
++
++__revision__ = "src/engine/SCons/Tool/frt.py bee7caf9defd6e108fc2998a2520ddb36a967691 2019-12-17 02:07:09 bdeegan"
++
++import SCons.Util
++
++from . import fortran
++
++def generate(env):
++ """Add Builders and construction variables for frt to an
++ Environment."""
++ fortran.generate(env)
++
++ for dialect in ['F77', 'F90', 'FORTRAN', 'F95', 'F03', 'F08']:
++ env['%s' % dialect] = 'frt'
++ env['SH%s' % dialect] = 'frt'
++ env['SH%sFLAGS' % dialect] = SCons.Util.CLVar('$%sFLAGS -fPIC' % dialect)
++
++ env['INC%sPREFIX' % dialect] = "-I"
++ env['INC%sSUFFIX' % dialect] = ""
++
++ env['FORTRANMODDIRPREFIX'] = "-M"
++
++def exists(env):
++ return env.Detect('frt')
++
++# Local Variables:
++# tab-width:4
++# indent-tabs-mode:nil
++# End:
++# vim: set expandtab tabstop=4 shiftwidth=4:
+diff -u -r -N a/engine/SCons/Tool/__init__.py b/engine/SCons/Tool/__init__.py
+--- a/engine/SCons/Tool/__init__.py 2020-07-21 11:39:14.000000000 +0900
++++ b/engine/SCons/Tool/__init__.py 2020-07-21 16:30:54.000000000 +0900
+@@ -1259,10 +1259,10 @@
+ else:
+ "prefer GNU tools on all other platforms"
+ linkers = ['gnulink', 'ilink']
+- c_compilers = ['gcc', 'intelc', 'icc', 'cc']
+- cxx_compilers = ['g++', 'intelc', 'icc', 'cxx']
++ c_compilers = ['fcc', 'gcc', 'intelc', 'icc', 'cc']
++ cxx_compilers = ['fcc', 'g++', 'intelc', 'icc', 'cxx']
+ assemblers = ['gas', 'nasm', 'masm']
+- fortran_compilers = ['gfortran', 'g77', 'ifort', 'ifl', 'f95', 'f90', 'f77']
++ fortran_compilers = ['frt', 'gfortran', 'g77', 'ifort', 'ifl', 'f95', 'f90', 'f77']
+ ars = ['ar', ]
+
+ if not str(platform) == 'win32':
+@@ -1282,7 +1282,7 @@
+ ar = None
+ else:
+ # Don't use g++ if the C compiler has built-in C++ support:
+- if c_compiler in ('msvc', 'intelc', 'icc'):
++ if c_compiler in ('msvc', 'intelc', 'icc', 'fcc'):
+ cxx_compiler = None
+ else:
+ cxx_compiler = FindTool(cxx_compilers, env) or cxx_compilers[0]
diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py
index 328fa558ab..872e4cb852 100644
--- a/var/spack/repos/builtin/packages/scons/package.py
+++ b/var/spack/repos/builtin/packages/scons/package.py
@@ -25,6 +25,8 @@ class Scons(PythonPackage):
depends_on('python@:2', when='@:2', type=('build', 'run'))
depends_on('py-setuptools', when='@3.0.2:', type='build')
+ patch('fjcompiler.patch', when='%fj')
+
# Prevent passing --single-version-externally-managed to
# setup.py, which it does not support.
@when('@3.0.2:')
diff --git a/var/spack/repos/builtin/packages/scorec-core/package.py b/var/spack/repos/builtin/packages/scorec-core/package.py
index adb88f2aae..4ff96cae85 100644
--- a/var/spack/repos/builtin/packages/scorec-core/package.py
+++ b/var/spack/repos/builtin/packages/scorec-core/package.py
@@ -20,14 +20,6 @@ class ScorecCore(CMakePackage):
depends_on('zoltan')
depends_on('cmake@3.0:', type='build')
- @property
- def std_cmake_args(self):
- # Default cmake RPATH options causes build failure on bg-q
- if self.spec.satisfies('platform=bgq'):
- return ['-DCMAKE_INSTALL_PREFIX:PATH={0}'.format(self.prefix)]
- else:
- return self._std_args(self)
-
def cmake_args(self):
options = []
options.append('-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc)
diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py
index d7b57c0c44..61586ac43c 100644
--- a/var/spack/repos/builtin/packages/scorep/package.py
+++ b/var/spack/repos/builtin/packages/scorep/package.py
@@ -32,6 +32,8 @@ class Scorep(AutotoolsPackage):
variant('papi', default=True, description="Enable PAPI")
variant('pdt', default=False, description="Enable PDT")
variant('shmem', default=False, description='Enable shmem tracing')
+ variant('unwind', default=False,
+ description="Enable sampling via libunwind and lib wrapping")
# Dependencies for SCORE-P are quite tight. See the homepage for more
# information. Starting with scorep 4.0 / cube 4.4, Score-P only depends on
@@ -64,6 +66,8 @@ class Scorep(AutotoolsPackage):
depends_on('mpi', when="+mpi")
depends_on('papi', when="+papi")
depends_on('pdt', when="+pdt")
+ depends_on('llvm', when="+unwind")
+ depends_on('libunwind', when="+unwind")
# Score-P requires a case-sensitive file system, and therefore
# does not work on macOS
@@ -96,6 +100,10 @@ class Scorep(AutotoolsPackage):
if "+pdt" in spec:
config_args.append("--with-pdt=%s" % spec['pdt'].prefix.bin)
+ if "+unwind" in spec:
+ config_args.append("--with-libunwind=%s" %
+ spec['libunwind'].prefix)
+
config_args += self.with_or_without('shmem')
config_args += self.with_or_without('mpi')
diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py
index f2ba07a94b..1fa9fbb3aa 100644
--- a/var/spack/repos/builtin/packages/scotch/package.py
+++ b/var/spack/repos/builtin/packages/scotch/package.py
@@ -14,6 +14,7 @@ class Scotch(Package):
url = "http://gforge.inria.fr/frs/download.php/latestfile/298/scotch_6.0.4.tar.gz"
list_url = "http://gforge.inria.fr/frs/?group_id=248"
+ version('6.0.9', sha256='622b4143cf01c480bb15708b3651b29c25e4aeb00c8c6447ff196aca2eca5c93')
version('6.0.8', sha256='0ba3f145026174304f910c8770a3cbb034f213c91d939573751cfbb4fd46d45e')
version('6.0.6', sha256='686f0cad88d033fe71c8b781735ff742b73a1d82a65b8b1586526d69729ac4cf')
version('6.0.5a', sha256='5b21b95e33acd5409d682fa7253cefbdffa8db82875549476c006d8cbe7c556f')
@@ -169,8 +170,6 @@ class Scotch(Package):
if self.spec.satisfies('platform=darwin'):
cflags.append('-DCOMMON_PTHREAD_BARRIER')
ldflags.append('-lm -pthread')
- elif self.spec.satisfies('platform=bgq'):
- ldflags.append('-lm -lrt -lpthread')
else:
ldflags.append('-lm -lrt -pthread')
diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py
index 3e0e1456cd..ab5907c375 100644
--- a/var/spack/repos/builtin/packages/scr/package.py
+++ b/var/spack/repos/builtin/packages/scr/package.py
@@ -80,8 +80,6 @@ class Scr(CMakePackage):
variant('cntl_base', default='/tmp',
description='Compile time default location for control directory.')
- conflicts('platform=bgq')
-
def get_abs_path_rel_prefix(self, path):
# Return path if absolute, otherwise prepend prefix
if os.path.isabs(path):
diff --git a/var/spack/repos/builtin/packages/screen/package.py b/var/spack/repos/builtin/packages/screen/package.py
index d68164b4d4..e2ac6fc7d9 100644
--- a/var/spack/repos/builtin/packages/screen/package.py
+++ b/var/spack/repos/builtin/packages/screen/package.py
@@ -14,6 +14,7 @@ class Screen(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/screen/"
gnu_mirror_path = "screen/screen-4.3.1.tar.gz"
+ version('4.8.0', sha256='6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1')
version('4.6.2', sha256='1b6922520e6a0ce5e28768d620b0f640a6631397f95ccb043b70b91bb503fa3a')
version('4.3.1', sha256='fa4049f8aee283de62e283d427f2cfd35d6c369b40f7f45f947dbfd915699d63')
version('4.3.0', sha256='5164e89bcc60d7193177e6e02885cc42411d1d815c839e174fb9abafb9658c46')
diff --git a/var/spack/repos/builtin/packages/sdsl-lite/package.py b/var/spack/repos/builtin/packages/sdsl-lite/package.py
index d5d2a251c0..ba2485c6b7 100644
--- a/var/spack/repos/builtin/packages/sdsl-lite/package.py
+++ b/var/spack/repos/builtin/packages/sdsl-lite/package.py
@@ -32,5 +32,11 @@ class SdslLite(Package):
tar('-xvf', self.stage.archive_file)
with working_dir('sdsl-lite-{0}'.format(spec.version.dotted)):
+ if self.spec.satisfies('%fj'):
+ filter_file(
+ 'stdlib=libc',
+ 'stdlib=libstdc',
+ './CMakeLists.txt'
+ )
helper = Executable('./install.sh')
helper(prefix)
diff --git a/var/spack/repos/builtin/packages/shapeit4/package.py b/var/spack/repos/builtin/packages/shapeit4/package.py
new file mode 100644
index 0000000000..009e5084bf
--- /dev/null
+++ b/var/spack/repos/builtin/packages/shapeit4/package.py
@@ -0,0 +1,55 @@
+# 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 Shapeit4(MakefilePackage):
+ """SHAPEIT4 is a fast and accurate method for estimation of haplotypes
+ (aka phasing) for SNP array and high coverage sequencing data."""
+
+ homepage = "https://odelaneau.github.io/shapeit4/"
+ url = "https://github.com/odelaneau/shapeit4/archive/v4.1.3.tar.gz"
+
+ version('4.1.3', sha256='d209731277b00bca1e3478b7e0a0cbe40fbe23826c3d640ad12e0dd6033cbbb8')
+
+ maintainers = ['ilbiondo']
+
+ depends_on('htslib')
+ depends_on('boost')
+ depends_on('bzip2')
+ depends_on('xz')
+
+ def edit(self, spec, prefix):
+
+ makefile = FileFilter('makefile')
+ makefile.filter('CXX=.*', 'CXX = c++')
+
+ makefile.filter('CXXFLAG=.*', 'CXXFLAG = -O3')
+ makefile.filter('LDFLAG=.*', 'LDFLAG = -O3')
+
+ makefile.filter('HTSLIB_INC=.*', 'HTSLIB_INC = '
+ + self.spec['htslib'].prefix.include)
+
+ makefile.filter('HTSLIB_LIB=.*', 'HTSLIB_LIB = '
+ + self.spec['htslib'].prefix.lib + '/libhts.so')
+
+ makefile.filter('BOOST_INC=.*', 'BOOST_INC = '
+ + self.spec['boost'].prefix.include)
+
+ makefile.filter('BOOST_LIB_IO=.*', 'BOOST_LIB_IO = '
+ + self.spec['boost'].prefix.lib
+ + "/libboost_iostreams.so")
+
+ makefile.filter('BOOST_LIB_PO=.*', 'BOOST_LIB_PO = '
+ + self.spec['boost'].prefix.lib
+ + "/libboost_program_options.so")
+
+ def install(self, spec, prefix):
+
+ install_tree('bin', prefix.bin)
+ install_tree('test', join_path(self.prefix, 'test'))
+ install_tree('docs', join_path(self.prefix, 'docs'))
+ install_tree('maps', join_path(self.prefix, 'maps'))
diff --git a/var/spack/repos/builtin/packages/shapelib/package.py b/var/spack/repos/builtin/packages/shapelib/package.py
new file mode 100644
index 0000000000..47be5cdaa1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/shapelib/package.py
@@ -0,0 +1,18 @@
+# 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 Shapelib(CMakePackage):
+ """The Shapefile C Library provides the ability to write simple C programs
+ for reading, writing and updating (to a limited extent) ESRI Shapefiles,
+ and the associated attribute file (.dbf).
+ """
+
+ homepage = "http://shapelib.maptools.org/"
+ url = "https://github.com/OSGeo/shapelib/archive/v1.5.0.tar.gz"
+
+ version('1.5.0', sha256='48de3a6a8691b0b111b909c0b908af4627635c75322b3a501c0c0885f3558cad')
diff --git a/var/spack/repos/builtin/packages/singularity/package.py b/var/spack/repos/builtin/packages/singularity/package.py
index 9f4c898e61..3f8d99e1f5 100644
--- a/var/spack/repos/builtin/packages/singularity/package.py
+++ b/var/spack/repos/builtin/packages/singularity/package.py
@@ -24,12 +24,13 @@ class Singularity(MakefilePackage):
'''
homepage = "https://www.sylabs.io/singularity/"
- url = "https://github.com/sylabs/singularity/releases/download/v3.1.1/singularity-3.1.1.tar.gz"
+ url = "https://github.com/sylabs/singularity/releases/download/v3.6.1/singularity-3.6.1.tar.gz"
git = "https://github.com/sylabs/singularity.git"
maintainers = ['alalazo']
version('master', branch='master')
+ version('3.6.1', sha256='6cac56106ee7f209150aaee9f8788d03b58796af1b767245d343f0b8a691121c')
version('3.5.3', sha256='0c76f1e3808bf4c10e92b17150314b2b816be79f8101be448a6e9d7a96c9e486')
version('3.5.2', sha256='f9c21e289377a4c40ed7a78a0c95e1ff416dec202ed49a6c616dd2c37700eab8')
version('3.4.1', sha256='638fd7cc5ab2a20e779b8768f73baf21909148339d6c4edf6ff61349c53a70c2')
diff --git a/var/spack/repos/builtin/packages/sirius/package.py b/var/spack/repos/builtin/packages/sirius/package.py
index ff81b120d4..9fe1481399 100644
--- a/var/spack/repos/builtin/packages/sirius/package.py
+++ b/var/spack/repos/builtin/packages/sirius/package.py
@@ -16,9 +16,15 @@ class Sirius(CMakePackage, CudaPackage):
list_url = "https://github.com/electronic-structure/SIRIUS/releases"
git = "https://github.com/electronic-structure/SIRIUS.git"
+ maintainers = ['simonpintarelli', 'haampie', 'dev-zero']
+
version('develop', branch='develop')
version('master', branch='master')
+ version('6.5.6', sha256='c8120100bde4477545eae489ea7f9140d264a3f88696ec92728616d78f214cae')
+ version('6.5.5', sha256='0b23d3a8512682eea67aec57271031c65f465b61853a165015b38f7477651dd1')
+ version('6.5.4', sha256='5f731926b882a567d117afa5e0ed33291f1db887fce52f371ba51f014209b85d')
+ version('6.5.3', sha256='eae0c303f332425a8c792d4455dca62557931b28a5df8b4c242652d5ffddd580')
version('6.5.2', sha256='c18adc45b069ebae03f94eeeeed031ee99b3d8171fa6ee73c7c6fb1e42397fe7')
version('6.5.1', sha256='599dd0fa25a4e83db2a359257a125e855d4259188cf5b0065b8e7e66378eacf3')
version('6.5.0', sha256='5544f3abbb71dcd6aa08d18aceaf53c38373de4cbd0c3af44fbb39c20cfeb7cc')
@@ -36,10 +42,12 @@ class Sirius(CMakePackage, CudaPackage):
variant('openmp', default=True, description="Build with OpenMP support")
variant('fortran', default=False, description="Build Fortran bindings")
variant('python', default=False, description="Build Python bindings")
+ variant('memory_pool', default=True, description="Build with memory pool")
variant('elpa', default=False, description="Use ELPA")
variant('vdwxc', default=False, description="Enable libvdwxc support")
variant('scalapack', default=False, description="Enable scalapack support")
variant('magma', default=False, description="Enable MAGMA support")
+ variant('nlcglib', default=False, description="enable robust wave function optimization")
variant('build_type', default='Release',
description='CMake build type',
values=('Debug', 'Release', 'RelWithDebInfo'))
@@ -48,7 +56,7 @@ class Sirius(CMakePackage, CudaPackage):
depends_on('mpi')
depends_on('gsl')
depends_on('lapack')
- depends_on('fftw') # SIRIUS does not care about MPI-support in FFTW
+ depends_on('fftw-api@3')
depends_on('libxc')
depends_on('spglib')
depends_on('hdf5+hl')
@@ -64,15 +72,20 @@ class Sirius(CMakePackage, CudaPackage):
depends_on('magma', when='+magma')
depends_on('spfft', when='@6.4.0:')
+ depends_on('spfft', when='@master')
+ depends_on('spfft', when='@develop')
depends_on('spfft+cuda', when='@6.4.0:+cuda')
+ depends_on('spfft+cuda', when='@master+cuda')
+ depends_on('spfft+cuda', when='@develop+cuda')
depends_on('elpa+openmp', when='+elpa+openmp')
depends_on('elpa~openmp', when='+elpa~openmp')
+ depends_on('nlcglib', when='+nlcglib')
depends_on('libvdwxc+mpi', when='+vdwxc')
depends_on('scalapack', when='+scalapack')
depends_on('cuda', when='+cuda')
extends('python', when='+python')
- conflicts('+shared', when='@6.3.0:') # option to build shared libraries has been removed
+ conflicts('+shared', when='@6.3.0:6.4.999')
# TODO:
# add support for CRAY_LIBSCI, ROCm, testing
@@ -90,9 +103,8 @@ class Sirius(CMakePackage, CudaPackage):
return find_libraries(
libraries, root=self.prefix,
- shared=False, recursive=True
+ shared='+shared' in self.spec, recursive=True
)
-
else:
if '+fortran' in self.spec:
libraries += ['libsirius_f']
@@ -125,7 +137,9 @@ class Sirius(CMakePackage, CudaPackage):
_def('+openmp'),
_def('+elpa'),
_def('+magma'),
+ _def('+nlcglib'),
_def('+vdwxc'),
+ _def('+memory_pool'),
_def('+scalapack'),
_def('+fortran', 'CREATE_FORTRAN_BINDINGS'),
_def('+python', 'CREATE_PYTHON_MODULE'),
diff --git a/var/spack/repos/builtin/packages/slate/package.py b/var/spack/repos/builtin/packages/slate/package.py
index cae0a0e8df..5d78b2e34c 100644
--- a/var/spack/repos/builtin/packages/slate/package.py
+++ b/var/spack/repos/builtin/packages/slate/package.py
@@ -25,7 +25,7 @@ class Slate(Package):
variant('mpi', default=True, description='Build with MPI support.')
variant('openmp', default=True, description='Build with OpenMP support.')
- depends_on('cuda@9:', when='+cuda')
+ depends_on('cuda@9:10', when='+cuda')
depends_on('intel-mkl')
depends_on('mpi', when='+mpi')
@@ -41,10 +41,13 @@ class Slate(Package):
f_mpi = "1" if spec.variants['mpi'].value else "0"
f_openmp = "1" if spec.variants['openmp'].value else "0"
- compiler = 'mpicxx' if spec.variants['mpi'].value else ''
+ comp_cxx = comp_for = ''
+ if '+mpi' in spec:
+ comp_cxx = 'mpicxx'
+ comp_for = 'mpif90'
make('mpi=' + f_mpi, 'mkl=1', 'cuda=' + f_cuda, 'openmp=' + f_openmp,
- 'CXX=' + compiler)
+ 'CXX=' + comp_cxx, 'FC=' + comp_for)
install_tree('lib', prefix.lib)
install_tree('test', prefix.test)
mkdirp(prefix.include)
diff --git a/var/spack/repos/builtin/packages/slider/package.py b/var/spack/repos/builtin/packages/slider/package.py
new file mode 100644
index 0000000000..bbc9ce243c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/slider/package.py
@@ -0,0 +1,39 @@
+# 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 Slider(Package):
+ """Slider is a framework for deployment and management of these
+ long-running data access applications in Hadoop."""
+
+ homepage = "https://www.cloudera.com/products/open-source/apache-hadoop/apache-slider.html"
+ url = "http://archive.apache.org/dist/incubator/slider/0.92.0-incubating/apache-slider-0.92.0-incubating-source-release.tar.gz"
+ list_url = "http://archive.apache.org/dist/incubator/slider"
+ list_depth = 1
+
+ version('0.92.0', sha256='485f02f4f9f0b270017717c9471b83b0d77d005d25261b741fb381791ce838b9')
+ version('0.91.0', sha256='212a5cde6de60060c9a081f553d66940b70af4bccb469072febb554c4005bcef')
+ version('0.90.2', sha256='410941f772d29f564c4bb90ca0631f29dc895f509048cb6052f8695302e3f944')
+
+ depends_on('maven', type='build')
+ depends_on('java@8', type=('build', 'run'))
+ depends_on('python@2.7.0:2.7.99', type='run')
+
+ def url_for_version(self, version):
+ return "http://archive.apache.org/dist/incubator/slider/{0}-incubating/apache-slider-{0}-incubating-source-release.tar.gz".format(version)
+
+ def install(self, spec, prefix):
+ mvn = which('mvn')
+ mvn('clean', 'package', '-DskipTests')
+ slider_path = join_path(self.stage.source_path,
+ 'slider-assembly', 'target',
+ 'slider-{0}-incubating-all'
+ .format(spec.version),
+ 'slider-{0}-incubating'
+ .format(spec.version))
+ with working_dir(slider_path):
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/smartdenovo/inline-limit.patch b/var/spack/repos/builtin/packages/smartdenovo/inline-limit.patch
new file mode 100644
index 0000000000..9a42bd29cd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/smartdenovo/inline-limit.patch
@@ -0,0 +1,24 @@
+diff -Nur smartdenovo/wtlay.h smartdenovo-new/wtlay.h
+--- smartdenovo/wtlay.h 2020-07-09 02:47:13.503412360 +0800
++++ smartdenovo-new/wtlay.h 2020-07-09 02:49:02.775412360 +0800
+@@ -503,17 +503,17 @@
+ return e2;
+ }
+
+-inline int cut_biedge_strgraph_core(StringGraph *g, uint32_t node_id, int dir, uint32_t eidx, int closed){
++static inline int cut_biedge_strgraph_core(StringGraph *g, uint32_t node_id, int dir, uint32_t eidx, int closed){
+ edge_strgraph(g, node_id, dir, eidx)->closed = closed;
+ edge_partner_strgraph(g, node_id, dir, eidx)->closed = closed;
+ return 1;
+ }
+
+-inline int cut_biedge_strgraph(StringGraph *g, uint32_t node_id, int dir, uint32_t eidx){
++static inline int cut_biedge_strgraph(StringGraph *g, uint32_t node_id, int dir, uint32_t eidx){
+ return cut_biedge_strgraph_core(g, node_id, dir, eidx, 1);
+ }
+
+-inline int cut_biedge_strgraph2(StringGraph *g, uint32_t node_id, int dir, uint32_t eidx){
++static inline int cut_biedge_strgraph2(StringGraph *g, uint32_t node_id, int dir, uint32_t eidx){
+ return cut_biedge_strgraph_core(g, node_id, dir, eidx, 2);
+ }
+
diff --git a/var/spack/repos/builtin/packages/smartdenovo/package.py b/var/spack/repos/builtin/packages/smartdenovo/package.py
index f18b8583d9..48109ea9e4 100644
--- a/var/spack/repos/builtin/packages/smartdenovo/package.py
+++ b/var/spack/repos/builtin/packages/smartdenovo/package.py
@@ -17,8 +17,8 @@ class Smartdenovo(MakefilePackage):
depends_on('sse2neon', when='target=aarch64:')
- patch('aarch64.patch', when='target=aarch64:',
- sha256='7dd4bca28aafb0680cc1823aa58ac9000819993538e92628554666c4b3acc470')
+ patch('aarch64.patch', sha256='7dd4bca28aafb0680cc1823aa58ac9000819993538e92628554666c4b3acc470', when='target=aarch64:')
+ patch('inline-limit.patch', sha256='9f514ed72c37cf52ee2ffbe06f9ca1ed5a3e0819dab5876ecd83107c5e5bed81')
def install(self, spec, prefix):
install_files = [
diff --git a/var/spack/repos/builtin/packages/snappy/package.py b/var/spack/repos/builtin/packages/snappy/package.py
index d5ade343f3..2e0154aa6f 100644
--- a/var/spack/repos/builtin/packages/snappy/package.py
+++ b/var/spack/repos/builtin/packages/snappy/package.py
@@ -10,8 +10,9 @@ class Snappy(CMakePackage):
"""A fast compressor/decompressor: https://code.google.com/p/snappy"""
homepage = "https://github.com/google/snappy"
- url = "https://github.com/google/snappy/archive/1.1.7.tar.gz"
+ url = "https://github.com/google/snappy/archive/1.1.8.tar.gz"
+ version('1.1.8', sha256='16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f')
version('1.1.7', sha256='3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4')
variant('shared', default=True, description='Build shared libraries')
diff --git a/var/spack/repos/builtin/packages/solr/package.py b/var/spack/repos/builtin/packages/solr/package.py
new file mode 100644
index 0000000000..84158c2ae4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/solr/package.py
@@ -0,0 +1,28 @@
+# 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 Solr(Package):
+ """Solr is highly reliable, scalable and fault tolerant, providing distributed
+ indexing, replication and load-balanced querying, automated failover and
+ recovery,centralized configuration and more. Solr powers the search and
+ navigation features of many of the world's largest internet sites."""
+
+ homepage = "https://lucene.apache.org/"
+ url = "https://archive.apache.org/dist/lucene/solr/7.7.3/solr-7.7.3.tgz"
+ list_url = "https://archive.apache.org/dist/lucene/solr"
+ list_depth = 1
+
+ version('8.6.0', sha256='4519ccdb531619df770f1065db6adcedc052c7aa94b42806d541966550956aa5')
+ version('8.5.2', sha256='c457d6c7243241cad141e1df34c6f669d58a6c60e537f4217d032616dd066dcf')
+ version('8.5.1', sha256='47b68073b37bbcc0517a355ef722f20827c3f1416537ebbccf5239dda8064a0b')
+ version('8.5.0', sha256='9e54711ad0aa60e9723d2cdeb20cf0d21ee2ab9fa0048ec59dcb5f9d94dc61dd')
+ version('8.4.1', sha256='ec39e1e024b2e37405149de41e39e875a39bf11a53f506d07d96b47b8d2a4301')
+ version('7.7.3', sha256='3ec67fa430afa5b5eb43bb1cd4a659e56ee9f8541e0116d6080c0d783870baee')
+
+ def install(self, spec, prefix):
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/spades/package.py b/var/spack/repos/builtin/packages/spades/package.py
index 266d1cbcde..47c0fcbcfd 100644
--- a/var/spack/repos/builtin/packages/spades/package.py
+++ b/var/spack/repos/builtin/packages/spades/package.py
@@ -13,6 +13,7 @@ class Spades(CMakePackage):
homepage = "http://cab.spbu.ru/software/spades/"
url = "http://cab.spbu.ru/files/release3.10.1/SPAdes-3.10.1.tar.gz"
+ version('3.14.1', sha256='d629b78f7e74c82534ac20f5b3c2eb367f245e6840a67b9ef6a76f6fac5323ca')
version('3.13.0', sha256='c63442248c4c712603979fa70503c2bff82354f005acda2abc42dd5598427040')
version('3.12.0', sha256='15b48a3bcbbe6a8ad58fd04ba5d3f1015990fbfd9bdf4913042803b171853ac7')
version('3.11.1', sha256='3ab85d86bf7d595bd8adf11c971f5d258bbbd2574b7c1703b16d6639a725b474')
diff --git a/var/spack/repos/builtin/packages/spfft/package.py b/var/spack/repos/builtin/packages/spfft/package.py
index 0f680564a8..2fbd738383 100644
--- a/var/spack/repos/builtin/packages/spfft/package.py
+++ b/var/spack/repos/builtin/packages/spfft/package.py
@@ -7,12 +7,14 @@
from spack import *
-class Spfft(CMakePackage):
+class Spfft(CMakePackage, CudaPackage):
"""Sparse 3D FFT library with MPI, OpenMP, CUDA and ROCm support."""
homepage = "https://github.com/eth-cscs/SpFFT"
url = "https://github.com/eth-cscs/SpFFT/archive/v0.9.8.zip"
+ version('0.9.12', sha256='1f7bf5164dcceb0e3bbce7d6ff9faef3145ad17cf3430149d40a98c43c010acc')
+ version('0.9.11', sha256='36542a60378e8672654188dee006975ef9e10f502791459ff7ebf4b38451cb9b')
version('0.9.10', sha256='9cbbb7ba5e53e17eeb45e809841d8272e5333f739c2442a99c3e255c1ddec3e9')
version('0.9.9', sha256='a8fd7a2d767716bb73185ca03bf4c106c6981b79130f3e456e5d2e744a2b3ba0')
version('0.9.8', sha256='f49fa51316bbfa68309e951d2375e1f6904120c93868cbe13bc2974c0b801a3f')
@@ -26,9 +28,10 @@ class Spfft(CMakePackage):
variant('fortran', default=False, description="enable fortran")
variant('build_type', default='Release', description='CMake build type',
values=('Debug', 'Release', 'RelWithDebInfo'))
- depends_on('fftw')
+ depends_on('fftw-api@3')
depends_on('mpi', when='+mpi')
- depends_on('cuda', when='+cuda')
+
+ depends_on('cuda@:10', when='@:0.9.11 +cuda')
def cmake_args(self):
args = []
diff --git a/var/spack/repos/builtin/packages/spla/package.py b/var/spack/repos/builtin/packages/spla/package.py
new file mode 100644
index 0000000000..2c84d14524
--- /dev/null
+++ b/var/spack/repos/builtin/packages/spla/package.py
@@ -0,0 +1,47 @@
+# 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 Spla(CMakePackage):
+ """Specialized Parallel Linear Algebra, providing distributed GEMM
+ functionality for specific matrix distributions with optional GPU
+ acceleration."""
+
+ homepage = "https://github.com/eth-cscs/spla"
+ url = "https://github.com/eth-cscs/spla/archive/v1.0.0.tar.gz"
+ git = 'https://github.com/eth-cscs/spla.git'
+
+ version('1.0.0', sha256='a0eb269b84d7525b223dc650de12170bba30fbb3ae4f93eb2b5cbdce335e4da1')
+ version('master', branch='master')
+
+ variant('openmp', default=True, description="Build with OpenMP support")
+ variant('static', default=False, description="Build as static library")
+ variant('cuda', default=False, description="CUDA")
+
+ depends_on('mpi')
+ depends_on('blas')
+ depends_on('cuda', when='+cuda')
+ depends_on('cmake@3.10:', type='build')
+
+ def cmake_args(self):
+ args = []
+
+ if '+openmp' in self.spec:
+ args += ["-DSPLA_OMP=ON"]
+ else:
+ args += ["-DSPLA_OMP=OFF"]
+
+ if '+cuda' in self.spec:
+ args += ["-DSPLA_GPU_BACKEND=CUDA"]
+ else:
+ args += ["-DSPLA_GPU_BACKEND=OFF"]
+
+ if '+static' in self.spec:
+ args += ["-DSPLA_STATIC=ON"]
+ else:
+ args += ["-DSPLA_STATIC=OFF"]
+ return args
diff --git a/var/spack/repos/builtin/packages/sprng/package.py b/var/spack/repos/builtin/packages/sprng/package.py
new file mode 100644
index 0000000000..eb85db87e0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sprng/package.py
@@ -0,0 +1,132 @@
+# Copyright 2013-2019 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 Sprng(AutotoolsPackage):
+ """SPRNG: A Scalable Library For Pseudorandom Number Generation
+ Sprng is a distributed process-aware random number generator that
+ avoids correlations in random number sequences across processes.
+ """
+
+ maintainers = ['kayarre']
+
+ homepage = "http://www.sprng.org"
+ url = "http://www.sprng.org/Version5.0/sprng5.tar.bz2"
+
+ version('5.0', sha256='9172a495472cc24893e7489ce9b5654300dc60cba4430e436ce50d28eb749a66')
+
+ variant('mpi', default=True, description='Enable MPI support')
+ variant('fortran', default=False, description='Enable Fortran support')
+
+ depends_on('mpi', when='+mpi')
+
+ def url_for_version(self, version):
+ url = "http://www.sprng.org/Version{0}/sprng{1}.tar.bz2"
+ return url.format(version, version.up_to(1))
+
+ def configure_args(self):
+ configure_args = []
+ configure_args += self.with_or_without('mpi')
+ configure_args += self.with_or_without('fortran')
+
+ if '+mpi' in self.spec:
+ mpi_link_flags = self.spec['mpi:cxx'].libs.link_flags
+ configure_args.append('LIBS={0}'.format(mpi_link_flags))
+ configure_args.append('CC={0}'.format(self.spec['mpi'].mpicc))
+ configure_args.append('CXX={0}'.format(self.spec['mpi'].mpicxx))
+ if '+fortran' in self.spec:
+ configure_args.append('FC={0}'.format(self.spec['mpi'].mpifc))
+ return configure_args
+
+ # TODO: update after solution for virtual depedencies
+ @run_before('configure')
+ def mpicxx_check(self):
+ # print(self.spec['mpi:fortran'].libs.names)
+ if '+mpi' in self.spec:
+ if 'mpi_cxx' not in self.spec['mpi:cxx'].libs.names:
+ msg = 'SPRNG requires a mpi Cxx bindings to build'
+ raise RuntimeError(msg)
+ if '+fortran' in self.spec:
+ if 'fmpi' not in self.spec['fortran'].libs.names:
+ msg = ('SPRNG requires fortran mpi '
+ 'libraries with mpi enabled')
+ raise RuntimeError(msg)
+ # raise RuntimeError("test")
+
+ # FIXME: update after features in #15702 are enabled
+ @run_after('build')
+ @on_package_attributes(run_tests=True)
+ def check_build(self):
+
+ def listisclose(a, b, rel_tol=1e-09, abs_tol=1.0e-20):
+ for ai, bi in zip(a, b):
+ if (not abs(ai - bi) <=
+ max(rel_tol * max(abs(ai), abs(bi)), abs_tol)):
+ return False
+ return True
+ # Build and run a small program to test the installed sprng library
+ spec = self.spec
+ print("Checking sprng installation...")
+ checkdir = "spack-check"
+ with working_dir(checkdir, create=True):
+ source = r"""
+#include <cstdio>
+#define SIMPLE_SPRNG /* simple interface */
+#include "sprng_cpp.h" /* SPRNG header file */
+
+#define SEED 985456376
+
+int main() {
+ int seed = SEED;
+ int i, j;
+ double rn;
+ for(j=0; j < 5; ++j) {
+ init_sprng(seed, SPRNG_DEFAULT, j);
+ for (i=0; i<3; ++i) {
+ rn = sprng();
+ printf("%f ", rn);
+ }
+ }
+ printf("\n");
+ return 0;
+}
+"""
+ expected = [0.504272, 0.558437, 0.000848,
+ 0.707488, 0.664048, 0.005616,
+ 0.060190, 0.415195, 0.933915,
+ 0.085215, 0.456461, 0.244497,
+ 0.626037, 0.917948, 0.135160
+ ]
+ with open("check.c", 'w') as f:
+ f.write(source)
+ if '+mpi' in spec:
+ cc = Executable(spec['mpi'].mpicxx)
+ else:
+ cc = Executable(self.compiler.cxx)
+ cc(*(['-c', "check.c"] + spec['sprng'].headers.cpp_flags.split()))
+ cc(*(['-o', "check",
+ "check.o"] + spec['sprng'].libs.ld_flags.split()))
+ try:
+ check = Executable('./check')
+ output = check(output=str)
+ except ProcessError:
+ output = ""
+ out2float = [float(num) for num in output.split(' ')]
+
+ success = listisclose(expected, out2float)
+ if not success:
+ print("Produced output does not match expected output.")
+ print("Expected output:")
+ print('-' * 80)
+ print(expected)
+ print('-' * 80)
+ print("Produced output:")
+ print('-' * 80)
+ print(output)
+ print('-' * 80)
+ raise RuntimeError("sprng install check failed")
+ else:
+ print("test passed")
+ shutil.rmtree(checkdir)
diff --git a/var/spack/repos/builtin/packages/squashfs/package.py b/var/spack/repos/builtin/packages/squashfs/package.py
index 62cd3c690a..4d203e3d15 100644
--- a/var/spack/repos/builtin/packages/squashfs/package.py
+++ b/var/spack/repos/builtin/packages/squashfs/package.py
@@ -19,15 +19,43 @@ class Squashfs(MakefilePackage):
version('4.1', sha256='3a870d065a25b3f5467bc6d9ed34340befab51a3f9e4b7e3792ea0ff4e06046a')
version('4.0', sha256='18948edbe06bac2c4307eea99bfb962643e4b82e5b7edd541b4d743748e12e21')
+ variant('gzip', default=True, description='Enable gzip compression support')
+ variant('lz4', default=False, description='Enable LZ4 compression support')
+ variant('lzo', default=False, description='Enable LZO compression support')
+ variant('xz', default=False, description='Enable xz compression support')
+ variant('zstd', default=False, description='Enable Zstandard/zstd support')
+ variant('default_compression', default='gzip', values=('gzip', 'lz4', 'lzo', 'xz', 'zstd'),
+ multi=False, description='Default compression algorithm')
+
+ conflicts('squashfs~gzip default_compression=gzip', msg='Cannot set default compression to missing algorithm')
+ conflicts('squashfs~lz4 default_compression=lz4', msg='Cannot set default compression to missing algorithm')
+ conflicts('squashfs~lzo default_compression=lzo', msg='Cannot set default compression to missing algorithm')
+ conflicts('squashfs~xz default_compression=xz', msg='Cannot set default compression to missing algorithm')
+ conflicts('squashfs~zstd default_compression=zstd', msg='Cannot set default compression to missing algorithm')
+
depends_on('m4', type='build')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
- depends_on('zlib')
+
+ depends_on('zlib', when='+gzip')
+ depends_on('lz4', when='+lz4')
+ depends_on('lzo', when='+lzo')
+ depends_on('xz', when='+xz')
+ depends_on('zstd', when='+zstd')
def build(self, spec, prefix):
with working_dir('squashfs-tools'):
- make(parallel=False)
+ default = spec.variants['default_compression'].value
+ make(
+ 'GZIP_SUPPORT={0}'.format(1 if '+gzip' in spec else 0),
+ 'LZ4_SUPPORT={0}' .format(1 if '+lz4' in spec else 0),
+ 'LZO_SUPPORT={0}' .format(1 if '+lzo' in spec else 0),
+ 'XZ_SUPPORT={0}' .format(1 if '+xz' in spec else 0),
+ 'ZSTD_SUPPORT={0}'.format(1 if '+zstd' in spec else 0),
+ 'COMP_DEFAULT={0}'.format(default),
+ parallel=False
+ )
def install(self, spec, prefix):
with working_dir('squashfs-tools'):
diff --git a/var/spack/repos/builtin/packages/stacks/package.py b/var/spack/repos/builtin/packages/stacks/package.py
index c7d6803227..81fb81a047 100644
--- a/var/spack/repos/builtin/packages/stacks/package.py
+++ b/var/spack/repos/builtin/packages/stacks/package.py
@@ -13,6 +13,7 @@ class Stacks(AutotoolsPackage):
homepage = "http://catchenlab.life.illinois.edu/stacks/"
url = "http://catchenlab.life.illinois.edu/stacks/source/stacks-1.46.tar.gz"
+ version('2.53', sha256='ee1efceaeeeb7a39f0c2e804ad7c0a003094db28c9101120c38ddb02846e90fd')
version('2.3b', sha256='a46786d8811a730ebcdc17891e89f50d4f4ae196734439dac86091f45c92ac72')
version('1.46', sha256='45a0725483dc0c0856ad6b1f918e65d91c1f0fe7d8bf209f76b93f85c29ea28a')
diff --git a/var/spack/repos/builtin/packages/sas/package.py b/var/spack/repos/builtin/packages/static-analysis-suite/package.py
index 8b09cf4d79..fe6d82cc4a 100644
--- a/var/spack/repos/builtin/packages/sas/package.py
+++ b/var/spack/repos/builtin/packages/static-analysis-suite/package.py
@@ -6,7 +6,7 @@
from spack import *
-class Sas(CMakePackage):
+class StaticAnalysisSuite(CMakePackage):
"""SAS (Static Analysis Suite) is a powerful tool for running static
analysis on C++ code."""
diff --git a/var/spack/repos/builtin/packages/storm/package.py b/var/spack/repos/builtin/packages/storm/package.py
index a4da7325cd..d9a2ad2ece 100644
--- a/var/spack/repos/builtin/packages/storm/package.py
+++ b/var/spack/repos/builtin/packages/storm/package.py
@@ -13,16 +13,18 @@ class Storm(Package):
Storm provides a set of general primitives for doing realtime computation.
"""
- homepage = "https://www-eu.apache.org/dist/storm"
- url = "https://www-eu.apache.org/dist/storm/apache-storm-2.1.0/apache-storm-2.1.0.tar.gz"
- url_list = homepage
- list_depth = 2
+ homepage = "https://storm.apache.org/"
+ url = "https://archive.apache.org/dist/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz"
+ list_url = "https://archive.apache.org/dist/storm/"
+ list_depth = 1
+ version('2.2.0', sha256='f621163f349a8e85130bc3d2fbb34e3b08f9c039ccac5474f3724e47a3a38675')
version('2.1.0', sha256='e279a495dda42af7d9051543989f74a1435a5bda53e795a1de4a1def32027fc4')
version('2.0.0', sha256='0a4a6f985242a99f899a01bd01dacf9365f381e2acc473caa84073fbe84f6703')
version('1.2.3', sha256='d45322253db06353a521284f31b30bd964dab859f3a279a305bd79112803425a')
- depends_on('java', type='run')
+ depends_on('java@8', type=('build', 'run'))
+ depends_on('zookeeper', type='run')
def install(self, spec, prefix):
install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/stow/package.py b/var/spack/repos/builtin/packages/stow/package.py
index bc3515407d..2ce4c91b3e 100644
--- a/var/spack/repos/builtin/packages/stow/package.py
+++ b/var/spack/repos/builtin/packages/stow/package.py
@@ -17,6 +17,7 @@ class Stow(AutotoolsPackage, GNUMirrorPackage):
homepage = "https://www.gnu.org/software/stow/"
gnu_mirror_path = "stow/stow-2.2.2.tar.bz2"
+ version('2.3.1', sha256='26a6cfdfdaca0eea742db5487798c15fcd01889dc86bc5aa62614ec9415a422f')
version('2.2.2', sha256='a0022034960e47a8d23dffb822689f061f7a2d9101c9835cf11bf251597aa6fd')
version('2.2.0', sha256='86bc30fe1d322a5c80ff3bd7580c2758149aad7c3bbfa18b48a9d95c25d66b05')
version('2.1.3', sha256='2dff605c801fee9fb7d0fef6988bbb8a0511fad469129b20cae60e0544ba1443')
diff --git a/var/spack/repos/builtin/packages/subread/package.py b/var/spack/repos/builtin/packages/subread/package.py
index 32d8e9abf1..5bd51ad889 100644
--- a/var/spack/repos/builtin/packages/subread/package.py
+++ b/var/spack/repos/builtin/packages/subread/package.py
@@ -33,7 +33,7 @@ class Subread(MakefilePackage):
)
if spec.target.family == 'aarch64':
filter_file('-mtune=core2', '', 'Makefile.Linux')
- if spec.satisfies('@1.6.2:1.6.4'):
+ if spec.satisfies('@1.6.2:2.0.0'):
filter_file(
'-mtune=core2',
'',
diff --git a/var/spack/repos/builtin/packages/subversion/package.py b/var/spack/repos/builtin/packages/subversion/package.py
index 4e3f774037..1f5f65215c 100644
--- a/var/spack/repos/builtin/packages/subversion/package.py
+++ b/var/spack/repos/builtin/packages/subversion/package.py
@@ -10,8 +10,13 @@ class Subversion(AutotoolsPackage):
"""Apache Subversion - an open source version control system."""
homepage = 'https://subversion.apache.org/'
- url = 'https://archive.apache.org/dist/subversion/subversion-1.12.2.tar.gz'
+ urls = [
+ 'https://archive.apache.org/dist/subversion/subversion-1.12.2.tar.gz',
+ 'https://downloads.apache.org/subversion/subversion-1.13.0.tar.gz'
+ ]
+ version('1.14.0', sha256='ef3d1147535e41874c304fb5b9ea32745fbf5d7faecf2ce21d4115b567e937d0')
+ version('1.13.0', sha256='daad440c03b8a86fcca804ea82217bb1902cfcae1b7d28c624143c58dcb96931')
version('1.12.2', sha256='f4927d6603d96c5ddabebbafe9a0f6833c18a891ff0ce1ea6ffd186ce9bc21f3')
version('1.9.7', sha256='c72a209c883e20245f14c4e644803f50ae83ae24652e385ff5e82300a0d06c3c')
version('1.9.6', sha256='a400cbc46d05cb29f2d7806405bb539e9e045b24013b0f12f8f82688513321a7')
diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index 1d2dea580b..7f7b1f9f3e 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -76,7 +76,6 @@ class Tau(Package):
# This is a _reasonable_ subset of the full set of TAU
# architectures supported:
variant('craycnl', default=False, description='Build for Cray compute nodes')
- variant('bgq', default=False, description='Build for IBM BlueGene/Q compute nodes')
variant('ppc64le', default=False, description='Build for IBM Power LE nodes')
variant('x86_64', default=False, description='Force build for x86 Linux instead of auto-detect')
@@ -162,9 +161,6 @@ class Tau(Package):
if '+craycnl' in spec:
options.append('-arch=craycnl')
- if '+bgq' in spec:
- options.append('-arch=bgq')
-
if '+ppc64le' in spec:
options.append('-arch=ibm64linux')
diff --git a/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py b/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py
index 6b2b74649f..58976df975 100644
--- a/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py
+++ b/var/spack/repos/builtin/packages/tensorflow-serving-client/package.py
@@ -11,8 +11,9 @@ class TensorflowServingClient(CMakePackage):
proto files"""
homepage = "https://github.com/figroc/tensorflow-serving-client"
- url = "https://github.com/figroc/tensorflow-serving-client/archive/v2.1.0.tar.gz"
+ url = "https://github.com/figroc/tensorflow-serving-client/archive/v2.2.0.tar.gz"
+ version('2.2.0', sha256='010b464b3b09c3c33c5dc2aebbc85447c4d5f775b9cd45d90a9035ca015c1c08')
version('2.1.0', sha256='7a31d8cfa1d861f73953d4728665dd6d74e205d1fa01062a6c2b1aeee4674f73')
version('2.0.0', sha256='55310ad484f257173ad5194df7f7116b2049260c3d29049ef8d789d1d8bd9948')
diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py
index 42969052c8..aaa18dab71 100644
--- a/var/spack/repos/builtin/packages/texlive/package.py
+++ b/var/spack/repos/builtin/packages/texlive/package.py
@@ -18,7 +18,7 @@ class Texlive(AutotoolsPackage):
around the world."""
homepage = "http://www.tug.org/texlive"
- url = 'http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/texlive-20190410-source.tar.xz'
+ url = 'http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2020/texlive-20200406-source.tar.xz'
base_url = 'http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/{year}/texlive-{version}-{dist}.tar.xz'
list_url = 'http://ftp.math.utah.edu/pub/tex/historic/systems/texlive'
list_depth = 1
@@ -29,12 +29,18 @@ class Texlive(AutotoolsPackage):
# connection at install time and the package versions could change over
# time. It is better to use a version built from tarballs, as defined with
# the "releases" below.
- version('live', sha256='44aa41b5783e345b7021387f19ac9637ff1ce5406a59754230c666642dfe7750',
- url='ftp://tug.org/historic/systems/texlive/2019/install-tl-unx.tar.gz')
+ version('live', sha256='7c90a50e55533d57170cbc7c0370a010019946eb18570282948e1af6f809382d',
+ url='ftp://tug.org/historic/systems/texlive/2020/install-tl-unx.tar.gz')
# Add information for new versions below.
releases = [
{
+ 'version': '20200406',
+ 'year': '2020',
+ 'sha256_source': 'e32f3d08cbbbcf21d8d3f96f2143b64a1f5e4cb01b06b761d6249c8785249078',
+ 'sha256_texmf': '0aa97e583ecfd488e1dc60ff049fec073c1e22dfe7de30a3e4e8c851bb875a95',
+ },
+ {
'version': '20190410',
'year': '2019',
'sha256_source': 'd2a29fef04e34dc3d2d2296c18995fc357aa7625e7a6bbf40fb92d83d3d0d7b5',
diff --git a/var/spack/repos/builtin/packages/thepeg/package.py b/var/spack/repos/builtin/packages/thepeg/package.py
new file mode 100644
index 0000000000..bc7580cf9a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/thepeg/package.py
@@ -0,0 +1,103 @@
+# 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 Thepeg(AutotoolsPackage):
+ """Toolkit for High Energy Physics Event Generation"""
+
+ homepage = "http://home.thep.lu.se/~leif/ThePEG/"
+ url = "https://thepeg.hepforge.org/downloads/?f=ThePEG-2.2.1.tar.bz2"
+
+ # The commented out versions exist, but may need patches
+ # and/or recipe changes
+ version('2.2.1', sha256='63abc7215e6ad45c11cf9dac013738e194cc38556a8368b850b70ab1b57ea58f')
+ version('2.2.0', sha256='d3e1474811b7d9f61a4a98db1e9d60d8ef8f913a50de4cae4dc2cc4f98e6fbf8')
+ # version('2.1.7', sha256='2e15727afc1fbfb158fa42ded31c4b1e5b51c25ed6bb66a38233e1fc594329c8')
+ version('2.1.6', sha256='c1e51f83716bfca815b55100fbab3805ef5f9b9215e4373b22762693f5353f4f')
+ version('2.1.5', sha256='c61a00fb6cf406f0f98e8c934683d8d5efcb655747842113abc92e9526e4b5e6')
+ # version('2.1.4', sha256='400c37319aa967ed993fdbec84fc65b24f6cb3779fb1b173d7f5d7a56b772df5')
+ version('2.1.3', sha256='16e8f6507530c2b80ed873ad22946efefed7355d15c7026f3465f18acebc1c0c')
+ # version('2.1.2', sha256='6a0f675a27e10863d495de069f25b892e532beb32e9cbfe5a58317d015387f49')
+ version('2.1.1', sha256='e1b0bdc116fbc9a6e598b601f2aa670530cf2e1cd46b4572814a9b0130b10281')
+ # version('2.1.0', sha256='fe6e7740ce3cd4a3ce3d7a0079a16c9214ad18f432e29d034ae763bfc40f3d39')
+ # version('2.0.4', sha256='f3b625b411667e2708995f1d1379b5b8691406853c8c2cca2f4e4e6e062da0e4')
+ # version('2.0.3', sha256='c57ba68fbfda06a0ba256e06f276f91434bf2529a13f6287c051a4cd6da44634')
+ # version('2.0.2', sha256='d4249e019543d5c7520733292d2edfb0bdd9733177200a63837781ed6194789b')
+ # version('2.0.1', sha256='ec284abdc82ceaf10a8736f908e7955f49f872b79aaa62d22aa33bc5c7679bdb')
+ # version('2.0.0', sha256='571730cc956027dc82780dc04ef6e7382ab5ea853fcfebe259e488c6df302a04')
+ version('1.9.2', sha256='ff7bbb256866f994dae04ade1f57c92d2670edaac3df11c9a300419a5343faf4')
+ # version('1.9.1', sha256='8ec6d0669eba51e308be4e33aeb219999418170eae3aad93ec1491c942c2a4e9')
+ version('1.9.0', sha256='3ee58e5e3a26184567df1b9a10ca70df228e86f322e72f018dd7d8d5a4700a5d')
+ version('1.8.3', sha256='55ede3a3dd0bd07b90d0d49cf7ae28c18cd965780fdf53528508b97d57152fc7')
+ # version('1.8.2', sha256='44ccd0d70e42bb6ecd801a51bade6c25b3953c56f33017402d4f52ee6492dffa')
+ # version('1.8.1', sha256='84c2a212a681545cddd541dca191eb65d96f41df86c87480b6f4f7d4f9683562')
+ # version('1.8.0', sha256='4b22fda1078f410b999a23a17f611c9ae3a7f0f4cee4e83dc82c9336b7adf037')
+ # version('1.7.3', sha256='066d5df74118d6e984bb60e1c0bea08a8edcbcf917d83d8bc32ec6fea0726187')
+ # version('1.7.2', sha256='3b885c6c5a39b7399ccd45d1f5a866b7a65c96174a56a7ff4ae423347843d013')
+ # version('1.7.1', sha256='13434dc7a8623cacb94c0b5c8d7e15b4c5d5187fe9322d1afc1c91b2c940102e')
+ # version('1.7.0', sha256='40eb7196139a8bf4c35f5bb69818135943d534457df64aeb1cf60b6621435312')
+ # version('1.6.1', sha256='5bc074b78f8b663a6a33df9c94dcaa3100269f8da59f9553a565298e55af270f')
+ # version('1.6.0', sha256='c0ac06b70f3e8046fce4e49ba5916c9b49450f528d0e25f8f7f1427c62fec680')
+ # version('1.5.0', sha256='ccbf102cf1d350a21487518d12e7e03e6e50010e5604f0201f256fa46a7a50c2')
+ # version('1.4.2', sha256='40444304e40e07fd417a8ebf8e5c1cf07e895ceac52ef4f7c1eecc911f6f775c')
+ # version('1.4.1', sha256='156d06fd1ce68466d1f2adb9cc13f412b8b87073ec6a1d02102b173c34c29b8a')
+ # version('1.4.0', sha256='b1f55e9a3bec713e9abf2fe71c5bd8cf8df936ea00b09f96df9123d0d5ab233f')
+ # version('1.3.0', sha256='f731ebf3ce5a52b6d750d6e3c282fdc74d8ffd78bccb47b68f10a4daf44c7045')
+
+ patch('thepeg-1.8.3.patch', when='@1.8.3', level=0)
+ patch('thepeg-1.9.0.patch', when='@1.9.0', level=0)
+ patch('thepeg-1.9.2.patch', when='@1.9.2', level=0)
+ patch('thepeg-2.1.1.patch', when='@2.1.1:2.2.1', level=0)
+
+ depends_on('gsl')
+ depends_on('lhapdf')
+ depends_on('lhapdf@:6.2.999', when='@:1.9.999')
+ depends_on('hepmc', when='hepmc=2')
+ depends_on('hepmc3', when='hepmc=3')
+ conflicts('hepmc=3', when='@:2.1.999', msg='HepMC3 support was added in 2.2.0')
+ depends_on('fastjet', when='@2.0.0:')
+ depends_on('rivet', when='@2.0.3:')
+ depends_on('boost', when='@2.1.1:')
+
+ depends_on('autoconf', type='build')
+ depends_on('automake', type='build')
+ depends_on('libtool', type='build')
+ depends_on('m4', type='build')
+
+ variant('hepmc', default='2', values=('2', '3'), description='HepMC interface to build ')
+
+ install_targets = ['install-strip']
+
+ def configure_args(self):
+ args = ['--with-gsl=' + self.spec['gsl'].prefix, '--without-javagui']
+
+ if self.spec.satisfies('@:1.8.999'):
+ args += ['--with-LHAPDF=' + self.spec['lhapdf'].prefix]
+ else:
+ args += ['--with-lhapdf=' + self.spec['lhapdf'].prefix]
+
+ if self.spec.satisfies('hepmc=2'):
+ args += ['--with-hepmc=' + self.spec['hepmc'].prefix]
+ else:
+ args += ['--with-hepmc=' + self.spec['hepmc3'].prefix]
+
+ if self.spec.satisfies('@2.2.0:'):
+ args += ['--with-hepmcversion=' +
+ self.spec.variants['hepmc'].value]
+
+ if self.spec.satisfies('@2.0.0:'):
+ args += ['--with-fastjet=' + self.spec['fastjet'].prefix]
+
+ if self.spec.satisfies('@2.0.3:'):
+ args += ['--with-rivet=' + self.spec['rivet'].prefix]
+
+ if self.spec.satisfies('@:2.1.999'):
+ args += ['--with-boost=' + self.spec['boost'].prefix]
+
+ args += ['CFLAGS=-O2', 'CXXFLAGS=-O2', 'FFLAGS=-O2']
+
+ return args
diff --git a/var/spack/repos/builtin/packages/thepeg/thepeg-1.8.3.patch b/var/spack/repos/builtin/packages/thepeg/thepeg-1.8.3.patch
new file mode 100644
index 0000000000..c396634779
--- /dev/null
+++ b/var/spack/repos/builtin/packages/thepeg/thepeg-1.8.3.patch
@@ -0,0 +1,24 @@
+--- PDF/LHAPDF.cc 2013-10-26 01:48:12.000000000 +0200
++++ PDF/LHAPDF.cc 2013-12-05 17:23:13.000000000 +0100
+@@ -33,6 +33,7 @@
+ #include "config.h"
+ #include "ThePEG/Persistency/PersistentOStream.h"
+ #include "ThePEG/Persistency/PersistentIStream.h"
++#include "stdlib.h"
+
+ #ifdef ThePEG_HAS_FPU_CONTROL
+ #include <fpu_control.h>
+@@ -228,7 +229,12 @@
+
+ std::string LHAPDF::getIndexPath() {
+ // macro is passed in from -D compile flag
+- return std::string(LHAPDF_PKGDATADIR) + "/PDFsets.index";
++ char const* tmp = getenv( "LHAPATH" );
++ if ( tmp != NULL ) {
++ return std::string(getenv("LHAPATH")) + "/../PDFsets.index";
++ } else {
++ return std::string(LHAPDF_PKGDATADIR) + "/PDFsets.index";
++ };
+ }
+
+ bool LHAPDF::openLHAIndex(ifstream & is) {
diff --git a/var/spack/repos/builtin/packages/thepeg/thepeg-1.9.0.patch b/var/spack/repos/builtin/packages/thepeg/thepeg-1.9.0.patch
new file mode 100644
index 0000000000..76bc91211b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/thepeg/thepeg-1.9.0.patch
@@ -0,0 +1,34 @@
+--- PDF/LHAPDF.cc 2013-10-26 01:48:12.000000000 +0200
++++ PDF/LHAPDF.cc 2013-12-05 17:23:13.000000000 +0100
+@@ -33,6 +33,7 @@
+ #include "config.h"
+ #include "ThePEG/Persistency/PersistentOStream.h"
+ #include "ThePEG/Persistency/PersistentIStream.h"
++#include "stdlib.h"
+
+ #ifdef ThePEG_HAS_FPU_CONTROL
+ #include <fpu_control.h>
+@@ -228,7 +229,12 @@
+
+ std::string LHAPDF::getIndexPath() {
+ // macro is passed in from -D compile flag
+- return std::string(LHAPDF_PKGDATADIR) + "/PDFsets.index";
++ char const* tmp = getenv( "LHAPATH" );
++ if ( tmp != NULL ) {
++ return std::string(getenv("LHAPATH")) + "/../PDFsets.index";
++ } else {
++ return std::string(LHAPDF_PKGDATADIR) + "/PDFsets.index";
++ };
+ }
+
+ bool LHAPDF::openLHAIndex(ifstream & is) {
+--- ACDC/ACDCGen.h.orig 2014-04-02 16:20:59.000000000 +0200
++++ ACDC/ACDCGen.h 2014-04-02 16:22:40.000000000 +0200
+@@ -13,6 +13,7 @@
+ #include "ACDCTraits.h"
+ #include "ACDCGenCell.h"
+ #include "ThePEG/Utilities/Exception.h"
++#include <algorithm>
+
+ namespace ACDCGenerator {
+
diff --git a/var/spack/repos/builtin/packages/thepeg/thepeg-1.9.2.patch b/var/spack/repos/builtin/packages/thepeg/thepeg-1.9.2.patch
new file mode 100644
index 0000000000..556b683560
--- /dev/null
+++ b/var/spack/repos/builtin/packages/thepeg/thepeg-1.9.2.patch
@@ -0,0 +1,83 @@
+diff -r 2d8e0f74b65e PDF/LHAPDF6.cc
+--- PDF/LHAPDF6.cc.orig Mon Jul 07 09:16:48 2014 +0100
++++ PDF/LHAPDF6.cc Fri Sep 26 14:41:55 2014 +0100
+@@ -54,8 +54,8 @@
+ return new_ptr(*this);
+ }
+
+-void ThePEG::LHAPDF::doinit() {
+- PDFBase::doinit();
++void ThePEG::LHAPDF::initPDFptr() {
++ if ( thePDF ) return;
+ thePDF = ::LHAPDF::mkPDF(thePDFName, theMember);
+ xMin = thePDF->xMin();
+ xMax = thePDF->xMax();
+@@ -63,6 +63,11 @@
+ Q2Max = thePDF->q2Max() * GeV2;
+ }
+
++void ThePEG::LHAPDF::doinit() {
++ PDFBase::doinit();
++ initPDFptr();
++}
++
+ void ThePEG::LHAPDF::dofinish() {
+ PDFBase::dofinish();
+ delete thePDF;
+@@ -71,11 +76,7 @@
+
+ void ThePEG::LHAPDF::doinitrun() {
+ PDFBase::doinitrun();
+- thePDF = ::LHAPDF::mkPDF(thePDFName, theMember);
+- xMin = thePDF->xMin();
+- xMax = thePDF->xMax();
+- Q2Min = thePDF->q2Min() * GeV2;
+- Q2Max = thePDF->q2Max() * GeV2;
++ initPDFptr();
+ }
+
+ void ThePEG::LHAPDF::setPDFName(string name) {
+@@ -387,6 +388,7 @@
+ lastQ2 = -1.0*GeV2;
+ lastX = -1.0;
+ lastP2 = -1.0*GeV2;
++ initPDFptr();
+ }
+
+ ThePEG::ClassDescription<ThePEG::LHAPDF> ThePEG::LHAPDF::initLHAPDF;
+diff -r 2d8e0f74b65e PDF/LHAPDF6.h
+--- PDF/LHAPDF6.h.orig Mon Jul 07 09:16:48 2014 +0100
++++ PDF/LHAPDF6.h Fri Sep 26 14:41:55 2014 +0100
+@@ -147,6 +147,12 @@
+ void checkUpdate(double x, Energy2 Q2, Energy2 P2) const;
+
+ /**
++ * Initialize the LHAPDF library for the chosen PDF set if it has
++ * not been done before.
++ */
++ void initPDFptr();
++
++ /**
+ * Used by the interface to select a set according to a file name.
+ */
+ void setPDFName(string name);
+--- Persistency/PersistentOStream.h.orig 2018-11-07 14:46:59.055432275 +0100
++++ Persistency/PersistentOStream.h 2018-11-07 14:47:20.639293703 +0100
+@@ -219,7 +219,7 @@
+ * Write a double.
+ */
+ PersistentOStream & operator<<(double d) {
+- if ( isnan(d) || isinf(d) )
++ if ( std::isnan(d) || std::isinf(d) )
+ throw WriteError()
+ << "Tried to write a NaN or Inf double to a persistent stream."
+ << Exception::runerror;
+@@ -232,7 +232,7 @@
+ * Write a float.
+ */
+ PersistentOStream & operator<<(float f) {
+- if ( isnan(f) || isinf(f) )
++ if ( std::isnan(f) || std::isinf(f) )
+ throw WriteError()
+ << "Tried to write a NaN or Inf float to a persistent stream."
+ << Exception::runerror;
diff --git a/var/spack/repos/builtin/packages/thepeg/thepeg-2.1.1.patch b/var/spack/repos/builtin/packages/thepeg/thepeg-2.1.1.patch
new file mode 100644
index 0000000000..90c61fc991
--- /dev/null
+++ b/var/spack/repos/builtin/packages/thepeg/thepeg-2.1.1.patch
@@ -0,0 +1,14 @@
+--- m4/rivet.m4.orig 2013-10-16 10:50:05.000000000 +0200
++++ m4/rivet.m4 2017-08-02 12:26:22.897894696 +0200
+@@ -33,10 +33,7 @@
+ else
+ AC_MSG_RESULT([$with_rivet])
+ RIVETINCLUDE="$( $with_rivet/bin/rivet-config --cppflags )"
+- RIVETLIBS="-L$with_rivet/lib -R$with_rivet/lib -lRivet"
+- if test "${host_cpu}" == "x86_64" -a -e $with_rivet/lib64/libRivet.so ; then
+- RIVETLIBS="-L$with_rivet/lib64 -R$with_rivet/lib64 -lRivet"
+- fi
++ RIVETLIBS="$( $with_rivet/bin/rivet-config --libs ) -lYODA"
+ fi
+
+ if test "x$with_rivet" != "xno"; then
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
new file mode 100755
index 0000000000..7b5aa5a6bb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tiptop/NR_perf_counter_open_aarch64.patch
@@ -0,0 +1,13 @@
+diff --git a/src/pmc.c b/src/pmc.c
+index 3467e1c..d20ad81 100644
+--- a/src/pmc.c
++++ b/src/pmc.c
+@@ -22,6 +22,8 @@
+ #define __NR_perf_counter_open 319
+ #elif defined(__ARM_EABI__)
+ #define __NR_perf_counter_open 364
++#elif defined(__aarch64__)
++#define __NR_perf_counter_open 241
+ #elif defined(__x86_64__)
+ #define __NR_perf_counter_open 298
+ #elif defined(__i386__)
diff --git a/var/spack/repos/builtin/packages/tiptop/package.py b/var/spack/repos/builtin/packages/tiptop/package.py
new file mode 100644
index 0000000000..2fb46c678c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tiptop/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)
+
+from spack import *
+
+
+class Tiptop(AutotoolsPackage):
+ """Tiptop is a performance monitoring tool for Linux."""
+
+ homepage = "https://github.com/FeCastle/tiptop"
+ git = "https://github.com/FeCastle/tiptop.git"
+
+ version('master', commit='529886d445ec32febad14246245372a8f244b3eb')
+
+ depends_on('papi')
+ depends_on('byacc', type='build')
+ depends_on('flex', type='build')
+
+ patch('NR_perf_counter_open_aarch64.patch', when='target=aarch64:')
diff --git a/var/spack/repos/builtin/packages/tmux/package.py b/var/spack/repos/builtin/packages/tmux/package.py
index e6677668fd..8a50e2ebe9 100644
--- a/var/spack/repos/builtin/packages/tmux/package.py
+++ b/var/spack/repos/builtin/packages/tmux/package.py
@@ -17,6 +17,7 @@ class Tmux(AutotoolsPackage):
homepage = "http://tmux.github.io"
url = "https://github.com/tmux/tmux/releases/download/2.6/tmux-2.6.tar.gz"
+ version('3.1b', sha256='d93f351d50af05a75fe6681085670c786d9504a5da2608e481c47cf5e1486db9')
version('3.0a', sha256='4ad1df28b4afa969e59c08061b45082fdc49ff512f30fc8e43217d7b0e5f8db9')
version('2.9', sha256='34901232f486fd99f3a39e864575e658b5d49f43289ccc6ee57c365f2e2c2980')
version('2.8', sha256='7f6bf335634fafecff878d78de389562ea7f73a7367f268b66d37ea13617a2ba')
diff --git a/var/spack/repos/builtin/packages/totalview/package.py b/var/spack/repos/builtin/packages/totalview/package.py
new file mode 100644
index 0000000000..50553aaeea
--- /dev/null
+++ b/var/spack/repos/builtin/packages/totalview/package.py
@@ -0,0 +1,108 @@
+# Copyright 2013-2019 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 *
+
+import os
+
+
+class Totalview(Package):
+ """Totalview parallel debugger.
+
+ Source must be made available to Spack
+ externally, either by having the tarballs in the current working directory
+ or having the tarballs in a Spack mirror.
+
+ The documentation tarball will
+ be used as the primary source and the architecture appropriate tarball will
+ be downloaded as a resource."""
+
+ homepage = "https://www.roguewave.com/products-services/totalview"
+ maintainers = ['nicholas-sly']
+ manual_download = True
+ license_required = True
+ license_comment = '#'
+ license_files = ['licenses/license.dat']
+ license_vars = ['TV_LICENSE_FILE']
+
+ # As the install of Totalview is via multiple tarballs, the base install
+ # will be the documentation. The architecture-specific tarballs are added
+ # as resources dependent on the specific architecture used.
+ version('2019.2.18',
+ sha256='09e5c554032af945f8cf147dd548421267e50e906cc9686fb5cd0e8e63fcf650')
+
+ # Distributed with Totalview
+ variant('memoryscape', default=True, description='Install memoryscape')
+
+ # Because the actual source tarball is architecture dependent, the main
+ # download is the documentation tarball and the source is downloaded as a
+ # resource once the target architecture is known.
+ resource(
+ name='x86_64',
+ url='totalview_{0}_linux_x86-64.tar'.format(version),
+ destination='.',
+ sha256='3b0ab078deff3654ddc912a004d256f1376978aa1c4dd5a8a41fa9fbb474d07c',
+ when='@2019.2.18 target=x86_64:')
+ resource(
+ name='aarch64',
+ url='totalview_{0}_linux_arm64.tar'.format(version),
+ destination='.',
+ sha256='3bbda1aa7c06ce82874c1517bf949c9f6cbd0f4c9ebe283d21f0643f6e724b6b',
+ when='@2019.2.18 target=aarch64:')
+ resource(
+ name='ppcle',
+ url='totalview_{0}_linux_powerle.tar'.format(version),
+ destination='.',
+ sha256='c0e4dbf145312fc7143ad0b7e9474e653933581990e0b9d07237c73dbdff8365',
+ when='@2019.2.18 target=ppc64le:')
+
+ def url_for_version(self, version):
+ return "file://{0}/totalview.{1}-doc.tar".format(os.getcwd(), version)
+
+ def setup_run_environment(self, env):
+ env.prepend_path('PATH',
+ join_path(self.prefix, 'toolworks',
+ 'totalview.{0}'.format(self.version), 'bin')
+ )
+ env.prepend_path('TVROOT',
+ join_path(self.prefix, 'toolworks',
+ 'totalview.{0}'.format(self.version)))
+ env.prepend_path('TVDSVRLAUNCHCMD', 'ssh')
+
+ def install(self, spec, prefix):
+ # Assemble install line
+ install_cmd = which('./Install')
+ arg_list = ["-agree", "-nosymlink", "-directory", "{0}".format(prefix)]
+
+ # Platform specification.
+ if spec.target.family == "x86_64":
+ arg_list.extend(["-platform", "linux-x86-64"])
+ elif spec.target.family == "x86":
+ arg_list.extend(["-platform", "linux-x86"])
+ elif spec.target.family == "aarch64":
+ arg_list.extend(["-platform", "linux-arm64"])
+ elif spec.target.family == "ppc64le":
+ arg_list.extend(["-platform", "linux-powerle"])
+ elif spec.target.family == "ppc64":
+ arg_list.extend(["-platform", "linux-power"])
+ else:
+ raise InstallError('Architecture {0} not permitted!'
+ .format(spec.target.family))
+
+ # Docs are the 'base' install used with every architecture.
+ install_cmd.exe.extend(arg_list)
+ install_cmd("-install", "doc-pdf")
+
+ # Run install script for totalview and memoryscape (optional).
+ with working_dir("./totalview.{0}".format(self.version)):
+
+ install_cmd = which('./Install')
+ arg_list.extend(["-install", "totalview"])
+ # If including memoryscape.
+ if '+memoryscape' in spec:
+ arg_list.append("memoryscape")
+
+ install_cmd.exe.extend(arg_list)
+ install_cmd()
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 7896d809f2..d5d595142f 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -28,7 +28,7 @@ class Trilinos(CMakePackage):
url = "https://github.com/trilinos/Trilinos/archive/trilinos-release-12-12-1.tar.gz"
git = "https://github.com/trilinos/Trilinos.git"
- maintainers = ['aprokop', 'keitat']
+ maintainers = ['keitat']
# ###################### Versions ##########################
diff --git a/var/spack/repos/builtin/packages/typhon/package.py b/var/spack/repos/builtin/packages/typhon/package.py
index 350bd6ded2..621b2479e4 100644
--- a/var/spack/repos/builtin/packages/typhon/package.py
+++ b/var/spack/repos/builtin/packages/typhon/package.py
@@ -23,3 +23,7 @@ class Typhon(CMakePackage):
version('3.0', sha256='b9736269ebe9c0fd7efabc4716b0543144780ed26ddaf595083354113aa2efd7')
depends_on('mpi')
+
+ def setup_build_environment(self, env):
+ if self.spec.satisfies('%fj'):
+ env.set('LDFLAGS', '--linkfortran')
diff --git a/var/spack/repos/builtin/packages/ucx/package.py b/var/spack/repos/builtin/packages/ucx/package.py
index 2b3cfa4ab8..482453210f 100644
--- a/var/spack/repos/builtin/packages/ucx/package.py
+++ b/var/spack/repos/builtin/packages/ucx/package.py
@@ -16,6 +16,7 @@ class Ucx(AutotoolsPackage, CudaPackage):
maintainers = ['hppritcha']
# Current
+ version('1.8.1', sha256='a48820cb8d0761b5ccf3e7ba03a7c8c1dde6276017657178829e07ffc35b556a')
version('1.8.0', sha256='e400f7aa5354971c8f5ac6b881dc2846143851df868088c37d432c076445628d')
version('1.7.0', sha256='6ab81ee187bfd554fe7e549da93a11bfac420df87d99ee61ffab7bb19bdd3371')
version('1.6.1', sha256='1425648aa03f5fa40e4bc5c4a5a83fe0292e2fe44f6054352fbebbf6d8f342a1')
@@ -34,7 +35,7 @@ class Ucx(AutotoolsPackage, CudaPackage):
variant('thread_multiple', default=False,
description='Enable thread support in UCP and UCT')
- variant('optimizations', default=False,
+ variant('optimizations', default=True,
description='Enable optimizations')
variant('logging', default=False,
description='Enable logging')
@@ -43,70 +44,59 @@ class Ucx(AutotoolsPackage, CudaPackage):
variant('assertions', default=False,
description='Enable assertions')
variant('parameter_checking', default=False,
- description='Enable paramter checking')
+ description='Enable parameter checking')
variant('pic', default=True,
description='Builds with PIC support')
variant('java', default=False,
description='Builds with Java bindings')
variant('gdrcopy', default=False,
description='Enable gdrcopy support')
+ variant('knem', default=False,
+ description='Enable KNEM support')
+ variant('xpmem', default=False,
+ description='Enable XPMEM support')
depends_on('numactl')
depends_on('rdma-core')
+ depends_on('pkgconfig', type='build')
depends_on('java@8', when='+java')
depends_on('maven', when='+java')
depends_on('gdrcopy@1.3', when='+gdrcopy')
conflicts('+gdrcopy', when='~cuda',
msg='gdrcopy currently requires cuda support')
+ depends_on('xpmem', when='+xpmem')
+ depends_on('knem', when='+knem')
+
+ configure_abs_path = 'contrib/configure-release'
def configure_args(self):
spec = self.spec
config_args = []
+
if '+thread_multiple' in spec:
config_args.append('--enable-mt')
else:
config_args.append('--disable-mt')
- if '+optimizations' in spec:
- config_args.append('--enable-optimizations')
- else:
- config_args.append('--disable-optimizations')
-
- if '+logging' in spec:
- config_args.append('--enable-logging')
- else:
- config_args.append('--disable-logging')
-
- if '+assertions' in spec:
- config_args.append('--enable-assertions')
- else:
- config_args.append('--disable-assertions')
-
if '+paramter_checking' in spec:
config_args.append('--enable-params-check')
else:
config_args.append('--disable-params-check')
- if '+pic' in spec:
- config_args.append('--with-pic')
- else:
- config_args.append('--without-pic')
-
- if '+java' in spec:
- config_args.append('--with-java=%s' % spec['java'].prefix)
- else:
- config_args.append('--without-java')
-
- if '+cuda' in spec:
- config_args.append('--with-cuda={0}'.format(
- self.spec['cuda'].prefix))
- else:
- config_args.append('--without-cuda')
-
- if '+gdrcopy' in spec:
- config_args.append('--with-gdrcopy={0}'.format(
- self.spec['gdrcopy'].prefix))
- else:
- config_args.append('--without-gdrcopy')
+ config_args.extend(self.enable_or_disable('optimizations'))
+ config_args.extend(self.enable_or_disable('assertions'))
+ config_args.extend(self.enable_or_disable('logging'))
+
+ config_args.extend(self.with_or_without('pic'))
+ config_args.extend(self.with_or_without('java',
+ activation_value='prefix'))
+ config_args.extend(self.with_or_without('cuda',
+ activation_value='prefix'))
+ config_args.extend(self.with_or_without('gdrcopy',
+ activation_value='prefix'))
+ config_args.extend(self.with_or_without('knem',
+ activation_value='prefix'))
+ config_args.extend(self.with_or_without('xpmem',
+ activation_value='prefix'))
return config_args
diff --git a/var/spack/repos/builtin/packages/umpire/camp_target_umpire_3.0.0.patch b/var/spack/repos/builtin/packages/umpire/camp_target_umpire_3.0.0.patch
new file mode 100644
index 0000000000..2deb565cd3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/umpire/camp_target_umpire_3.0.0.patch
@@ -0,0 +1,18 @@
+diff --git a/umpire-config.cmake.in b/umpire-config.cmake.in
+index a98ad5fe..4e54e173 100644
+--- a/umpire-config.cmake.in
++++ b/umpire-config.cmake.in
+@@ -7,6 +7,13 @@
+ get_filename_component(UMPIRE_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+ set(UMPIRE_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/include")
+
++if (NOT TARGET camp)
++ if (NOT DEFINED camp_DIR)
++ set(camp_DIR @CMAKE_INSTALL_PREFIX@/lib/cmake/camp)
++ endif ()
++ find_package(camp REQUIRED)
++endif ()
++
+ set(Umpire_VERSION_MAJOR @Umpire_VERSION_MAJOR@)
+ set(Umpire_VERSION_MINOR @Umpire_VERSION_MINOR@)
+ set(Umpire_VERSION_PATCH @Umpire_VERSION_PATCH@)
diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py
index 928d8aa80c..a1e954f290 100644
--- a/var/spack/repos/builtin/packages/umpire/package.py
+++ b/var/spack/repos/builtin/packages/umpire/package.py
@@ -15,7 +15,8 @@ class Umpire(CMakePackage, CudaPackage):
git = 'https://github.com/LLNL/Umpire.git'
version('develop', branch='develop', submodules='True')
- version('main', branch='main', submodules='True')
+ version('master', branch='main', submodules='True')
+ version('3.0.0', tag='v3.0.0', submodules='True')
version('2.1.0', tag='v2.1.0', submodules='True')
version('2.0.0', tag='v2.0.0', submodules='True')
version('1.1.0', tag='v1.1.0', submodules='True')
@@ -35,12 +36,17 @@ class Umpire(CMakePackage, CudaPackage):
version('0.1.4', tag='v0.1.4', submodules='True')
version('0.1.3', tag='v0.1.3', submodules='True')
+ patch('camp_target_umpire_3.0.0.patch', when='@3.0.0')
+
variant('fortran', default=False, description='Build C/Fortran API')
variant('c', default=True, description='Build C API')
variant('numa', default=False, description='Enable NUMA support')
+ variant('shared', default=True, description='Enable Shared libs')
variant('openmp', default=False, description='Build with OpenMP support')
variant('deviceconst', default=False,
description='Enables support for constant device memory')
+ variant('tests', default='none', values=('none', 'basic', 'benchmarks'),
+ multi=False, description='Tests to run')
depends_on('cmake@3.8:', type='build')
depends_on('cmake@3.9:', when='+cuda', type='build')
@@ -60,6 +66,7 @@ class Umpire(CMakePackage, CudaPackage):
if not spec.satisfies('cuda_arch=none'):
cuda_arch = spec.variants['cuda_arch'].value
+ options.append('-DCUDA_ARCH=sm_{0}'.format(cuda_arch[0]))
flag = '-arch sm_{0}'.format(cuda_arch[0])
options.append('-DCMAKE_CUDA_FLAGS:STRING={0}'.format(flag))
@@ -80,7 +87,13 @@ class Umpire(CMakePackage, CudaPackage):
options.append('-DENABLE_OPENMP={0}'.format(
'On' if '+openmp' in spec else 'Off'))
+ options.append('-DBUILD_SHARED_LIBS={0}'.format(
+ 'On' if '+shared' in spec else 'Off'))
+
+ options.append('-DENABLE_BENCHMARKS={0}'.format(
+ 'On' if 'tests=benchmarks' in spec else 'Off'))
+
options.append('-DENABLE_TESTS={0}'.format(
- 'On' if self.run_tests else 'Off'))
+ 'Off' if 'tests=none' in spec else 'On'))
return options
diff --git a/var/spack/repos/builtin/packages/unifyfs/package.py b/var/spack/repos/builtin/packages/unifyfs/package.py
index a2290bfa67..c1038d7c68 100644
--- a/var/spack/repos/builtin/packages/unifyfs/package.py
+++ b/var/spack/repos/builtin/packages/unifyfs/package.py
@@ -27,6 +27,7 @@ class Unifyfs(AutotoolsPackage):
variant('fortran', default='False', description='Build with gfortran support')
variant('pmi', default='False', description='Enable PMI2 build options')
variant('pmix', default='False', description='Enable PMIx build options')
+ variant('spath', default='True', description='Use spath library to normalize relative paths')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
@@ -35,7 +36,7 @@ class Unifyfs(AutotoolsPackage):
depends_on('pkgconfig', type='build')
# Required dependencies
- depends_on('flatcc')
+ depends_on('flatcc', when='@:0.9.0')
depends_on('gotcha@0.0.2', when='@:0.9.0')
depends_on('gotcha@1.0.3:', when='@0.9.1:')
depends_on('leveldb')
@@ -46,6 +47,7 @@ class Unifyfs(AutotoolsPackage):
# Optional dependencies
depends_on('hdf5', when='+hdf5')
+ depends_on('spath', when='@0.9.1:+spath')
conflicts('^mercury~bmi')
conflicts('^mercury~sm')
diff --git a/var/spack/repos/builtin/packages/vasp/package.py b/var/spack/repos/builtin/packages/vasp/package.py
new file mode 100644
index 0000000000..22b17ee88b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vasp/package.py
@@ -0,0 +1,138 @@
+# Copyright 2013-2019 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 *
+import os
+
+
+class Vasp(MakefilePackage):
+ """
+ The Vienna Ab initio Simulation Package (VASP)
+ is a computer program for atomic scale materials modelling,
+ e.g. electronic structure calculations
+ and quantum-mechanical molecular dynamics, from first principles.
+ """
+
+ homepage = "http://vasp.at"
+ url = "file://{0}/vasp.5.4.4.tar.gz".format(os.getcwd())
+
+ version('5.4.4', sha256='5bd2449462386f01e575f9adf629c08cb03a13142806ffb6a71309ca4431cfb3')
+
+ resource(name='vaspsol',
+ git='https://github.com/henniggroup/VASPsol.git',
+ tag='V1.0',
+ when='+vaspsol')
+
+ variant('scalapack', default=False,
+ description='Enables build with SCALAPACK')
+
+ variant('cuda', default=False,
+ description='Enables running on Nvidia GPUs')
+
+ variant('vaspsol', default=False,
+ description='Enable VASPsol implicit solvation model\n'
+ 'https://github.com/henniggroup/VASPsol')
+
+ depends_on('rsync', type='build')
+ depends_on('blas')
+ depends_on('lapack')
+ depends_on('fftw')
+ depends_on('mpi', type=('build', 'link', 'run'))
+ depends_on('netlib-scalapack', when='+scalapack')
+ depends_on('cuda', when='+cuda')
+
+ conflicts('%gcc@:8', msg='GFortran before 9.x does not support all features needed to build VASP')
+ conflicts('+vaspsol', when='+cuda', msg='+vaspsol only available for CPU')
+
+ parallel = False
+
+ def edit(self, spec, prefix):
+
+ if '%gcc' in spec:
+ make_include = join_path('arch', 'makefile.include.linux_gnu')
+ else:
+ make_include = join_path('arch',
+ 'makefile.include.linux_' +
+ spec.compiler.name)
+
+ os.rename(make_include, 'makefile.include')
+
+ # This bunch of 'filter_file()' is to make these options settable
+ # as environment variables
+ filter_file('^CPP_OPTIONS[ ]{0,}=[ ]{0,}',
+ 'CPP_OPTIONS ?= ',
+ 'makefile.include')
+
+ filter_file('^LIBDIR[ ]{0,}=.*$', '', 'makefile.include')
+ filter_file('^BLAS[ ]{0,}=.*$', 'BLAS ?=', 'makefile.include')
+ filter_file('^LAPACK[ ]{0,}=.*$', 'LAPACK ?=', 'makefile.include')
+ filter_file('^FFTW[ ]{0,}?=.*$', 'FFTW ?=', 'makefile.include')
+ filter_file('^MPI_INC[ ]{0,}=.*$', 'MPI_INC ?=', 'makefile.include')
+ filter_file('-DscaLAPACK.*$\n', '', 'makefile.include')
+ filter_file('^SCALAPACK*$', '', 'makefile.include')
+
+ if '+cuda' in spec:
+ filter_file('^OBJECTS_GPU[ ]{0,}=.*$',
+ 'OBJECTS_GPU ?=',
+ 'makefile.include')
+
+ filter_file('^CPP_GPU[ ]{0,}=.*$',
+ 'CPP_GPU ?=',
+ 'makefile.include')
+
+ filter_file('^CFLAGS[ ]{0,}=.*$',
+ 'CFLAGS ?=',
+ 'makefile.include')
+
+ if '+vaspsol' in spec:
+ copy('VASPsol/src/solvation.F', 'src/')
+
+ def setup_build_environment(self, spack_env):
+ spec = self.spec
+
+ cpp_options = ['-DHOST=\\"LinuxGNU\\"', '-DMPI -DMPI_BLOCK=8000',
+ '-Duse_collective', '-DCACHE_SIZE=4000',
+ '-Davoidalloc', '-Duse_bse_te',
+ '-Dtbdyn', '-Duse_shmem']
+
+ cflags = ['-fPIC', '-DADD_']
+
+ spack_env.set('BLAS', spec['blas'].libs.ld_flags)
+ spack_env.set('LAPACK', spec['lapack'].libs.ld_flags)
+ spack_env.set('FFTW', spec['fftw'].prefix)
+ spack_env.set('MPI_INC', spec['mpi'].prefix.include)
+
+ if '+scalapack' in spec:
+ cpp_options.append('-DscaLAPACK')
+ spack_env.set('SCALAPACK', spec['netlib-scalapack'].libs.ld_flags)
+
+ if '+cuda' in spec:
+ cpp_gpu = ['-DCUDA_GPU', '-DRPROMU_CPROJ_OVERLAP',
+ '-DCUFFT_MIN=28', '-DUSE_PINNED_MEMORY']
+
+ objects_gpu = ['fftmpiw.o', 'fftmpi_map.o', 'fft3dlib.o',
+ 'fftw3d_gpu.o', 'fftmpiw_gpu.o']
+
+ cflags.extend(['-DGPUSHMEM=300', '-DHAVE_CUBLAS'])
+
+ spack_env.set('CUDA_ROOT', spec['cuda'].prefix)
+ spack_env.set('CPP_GPU', ' '.join(cpp_gpu))
+ spack_env.set('OBJECTS_GPU', ' '.join(objects_gpu))
+
+ if '+vaspsol' in spec:
+ cpp_options.append('-Dsol_compat')
+
+ # Finally
+ spack_env.set('CPP_OPTIONS', ' '.join(cpp_options))
+ spack_env.set('CFLAGS', ' '.join(cflags))
+
+ def build(self, spec, prefix):
+ if '+cuda' in self.spec:
+ make('gpu', 'gpu_ncl')
+ else:
+ make()
+
+ def install(self, spec, prefix):
+ install_tree('bin/', prefix.bin)
diff --git a/var/spack/repos/builtin/packages/vbfnlo/package.py b/var/spack/repos/builtin/packages/vbfnlo/package.py
new file mode 100644
index 0000000000..99a9b53f3b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vbfnlo/package.py
@@ -0,0 +1,43 @@
+# 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 Vbfnlo(AutotoolsPackage):
+ """VBFNLO is a fully flexible parton level Monte Carlo program
+ for the simulation of vector boson fusion, double and triple
+ vector boson production in hadronic collisions at
+ next to leading order in the strong coupling constant. """
+
+ homepage = "https://www.itp.kit.edu/vbfnlo/wiki/doku.php?id=overview"
+ url = "https://github.com/vbfnlo/vbfnlo/archive/v3.0.0beta5.tar.gz"
+
+ # The commented out versions exist, but are not tested
+ version('3.0.0beta5', sha256='777a3dedb365ea9abc38848a60f30d325da3799cbad69fa308664b94a8c31a90')
+ version('3.0.0beta4', sha256='511e84765e9634a75766a160eae1925812dacbb3943e7e3b4dc90e2eacac8a2c')
+ # version('3.0.0beta3', sha256='ab4cc3289051ab09ed94fa41d0eb1c5c4adcd9f39fa04e3c95a3867f256541bc')
+ version('3.0.0beta2', sha256='33dd0781e645a5baa664fc5aa81d43c12586bf095ef25895e86cb4192c22473b')
+ version('3.0.0beta1', sha256='19f0bf7e4c93b0f287d2531d6802c114a78eb46cde28ea820b2a074a5819c7ca')
+ version('2.7.1', sha256='13e33d73d8a8ef64094621f87e6f94e01712e76cc19a86298d0b52cfcb9decca', preferred=True)
+ # version('2.7.0', sha256='0e96c0912599e3000fffec5305700b947b604a7b06c7975851503f445311e4ef')
+
+ depends_on('hepmc')
+ depends_on('gsl')
+ depends_on('lhapdf')
+ depends_on('looptools')
+
+ @when('@2.7.1')
+ def setup_build_environment(self, env):
+ env.unset('F77')
+
+ def configure_args(self):
+ args = ["--with-hepmc=" + self.spec['hepmc'].prefix,
+ "--with-gsl=" + self.spec['gsl'].prefix,
+ "--with-LHAPDF=" + self.spec['lhapdf'].prefix,
+ "--with-LOOPTOOLS=" + self.spec['looptools'].prefix,
+ "FCFLAGS=-std=legacy"]
+
+ return args
diff --git a/var/spack/repos/builtin/packages/vgm/package.py b/var/spack/repos/builtin/packages/vgm/package.py
new file mode 100644
index 0000000000..1606a55cf1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vgm/package.py
@@ -0,0 +1,49 @@
+# 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 Vgm(CMakePackage):
+ """Virtual Geometry Model (VGM) is a geometry conversion tool, actually
+ providing conversion between Geant4 and ROOT TGeo geometry models."""
+
+ homepage = "http://github.com/vmc-project/vgm"
+ url = "http://github.com/vmc-project/vgm/archive/v4-8.tar.gz"
+ git = "http://github.com/vmc-project/vgm.git"
+
+ maintainer = ['wdconinc']
+
+ version('master', branch='master')
+ version('4-8', sha256='4fcd607b4f100fc00a65fec7a5803575daf9d4919d1808bbd6a30be263c001dd')
+ version('4-7', sha256='a5f5588db457dc3e6562d1f7da1707960304560fbb0a261559fa3f112a476aea')
+ version('4-6', sha256='6bf0aeef38f357a313e376090b45d3e0713ef9e52ca198075fae8579b8d5a23a')
+ version('4-5', sha256='dc61c6214fdf592dfaa3766eed83cf2bbeabb1755f5146a6d3bcfe55ddbe428f')
+ version('4-4', sha256='a915ff3500daa99b74ce9039fbd8abcbd08051e838a1b337e1d794b73537b33b')
+ version('4-3', sha256='5cc892a263be2e179a5c2d712c50d7698af7d05d01dfed59c1e36840965f0c4e')
+ version('4-2', sha256='25e183f2744fcd4c9995f52865c3f2bf415c7ce0504cfa44093a5f1846a4624f')
+ version('4-01', sha256='43020f6497f18086c50e263555c2a21c6cfbba3044b1330c6f400357f040bbb1')
+ version('4-00', sha256='c24de76f919dca7c92b3c9fce7a39142c6e61fd39f691d2e4df15fe413b5190d')
+ version('3-06', sha256='41948869f2e4dcfa31f4bad42b938c25dd174660c427feb2f9effa9af5e59c7d')
+
+ depends_on('cmake@3.8:', type='build')
+ depends_on('clhep')
+ depends_on('root')
+ depends_on('geant4')
+
+ def cmake_args(self):
+ args = []
+
+ args.append('-DROOT_DIR={0}'.format(
+ self.spec['root'].prefix))
+ args.append('-DGeant4_DIR={0}'.format(
+ self.spec['geant4'].prefix))
+ args.append('-DCLHEP_LIB_DIR={0}'.format(
+ self.spec['clhep'].prefix.lib))
+ args.append('-DCLHEP_INC_DIR={0}'.format(
+ self.spec['clhep'].prefix.include))
+ args.append('-DWITH_TEST=OFF')
+
+ return args
diff --git a/var/spack/repos/builtin/packages/vim/package.py b/var/spack/repos/builtin/packages/vim/package.py
index 5539adfc02..722fe46a67 100644
--- a/var/spack/repos/builtin/packages/vim/package.py
+++ b/var/spack/repos/builtin/packages/vim/package.py
@@ -18,6 +18,7 @@ class Vim(AutotoolsPackage):
homepage = "http://www.vim.org"
url = "https://github.com/vim/vim/archive/v8.1.0338.tar.gz"
+ version('8.2.1201', sha256='39032fe866f44724b104468038dc9ac4ff2c00a4b18c9a1e2c27064ab1f1143d')
version('8.1.2141', sha256='7be3c3d88a6c871121230ffb9b7371b1d2ab462118dedb967c7265473af1144b')
version('8.1.0338', sha256='3febcc4e49eaca458be1a1e8055a3a52887aa2054b03e24d5f38d192c3de51a0')
version('8.1.0001', sha256='c342acaa26589f371fa34a5ca213b95811f26185c12443f8f48ad2868dee2935')
@@ -91,11 +92,11 @@ class Vim(AutotoolsPackage):
if '+python' in spec:
if 'python@3:' in self.spec:
- configure_args.append("--enable-python3interp=yes")
+ configure_args.append("--enable-python3interp=dynamic")
configure_args.append("--enable-pythoninterp=no")
else:
configure_args.append("--enable-python3interp=no")
- configure_args.append("--enable-pythoninterp=yes")
+ configure_args.append("--enable-pythoninterp=dynamic")
else:
configure_args.append("--enable-python3interp=no")
diff --git a/var/spack/repos/builtin/packages/visit/package.py b/var/spack/repos/builtin/packages/visit/package.py
index cd72bcda2c..d2f3987895 100644
--- a/var/spack/repos/builtin/packages/visit/package.py
+++ b/var/spack/repos/builtin/packages/visit/package.py
@@ -25,6 +25,11 @@ class Visit(CMakePackage):
# linux:
# spack install visit ^python+shared ^glib@2.56.3 ^py-setuptools@44.1.0
#
+ # linux w/o opengl: (add mesa as opengl if system lacks system opengl )
+ #
+ # spack install visit ^python+shared ^glib@2.56.3 ^py-setuptools@44.1.0 \
+ # ^mesa+opengl
+ #
# macOS:
# spack install visit ^python+shared ^glib@2.56.3 ^py-setuptools@44.1.0 \
# ^qt~framework
@@ -159,6 +164,7 @@ class Visit(CMakePackage):
# https://github.com/visit-dav/visit/issues/3498
depends_on('vtk@8.1.0:8.1.999+opengl2~python', when='~python @3.0:3.999,develop')
depends_on('vtk@8.1.0:8.1.999+opengl2+python', when='+python @3.0:3.999,develop')
+ depends_on('glu', when='platform=linux')
depends_on('vtk@6.1.0~opengl2', when='@:2.999')
depends_on('vtk+python', when='+python @3.0:,develop')
depends_on('vtk~mpi', when='~mpi')
diff --git a/var/spack/repos/builtin/packages/votca-tools/package.py b/var/spack/repos/builtin/packages/votca-tools/package.py
index f676fb633b..8bedb0477a 100644
--- a/var/spack/repos/builtin/packages/votca-tools/package.py
+++ b/var/spack/repos/builtin/packages/votca-tools/package.py
@@ -30,7 +30,7 @@ class VotcaTools(CMakePackage):
version('1.4', sha256='41638122e7e59852af61d391b4ab8c308fd2e16652f768077e13a99d206ec5d3')
# 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+mkl")
+ patch("https://github.com/votca/tools/pull/229.patch", sha256="250d0b679e5d3104e3c8d6adf99751b71386c7ed4cbdae1c75408717ef3f401f", when="@1.6:1.6.0+mkl")
variant('mkl', default=False, description='Build with MKL support')
conflicts('+mkl', when='@1.4:1.5.9999')
diff --git a/var/spack/repos/builtin/packages/vtk-h/package.py b/var/spack/repos/builtin/packages/vtk-h/package.py
index 2a934a442a..9ed842b508 100644
--- a/var/spack/repos/builtin/packages/vtk-h/package.py
+++ b/var/spack/repos/builtin/packages/vtk-h/package.py
@@ -34,13 +34,20 @@ class VtkH(Package, CudaPackage):
and DIY2 to provide a toolkit with hybrid parallel capabilities."""
homepage = "https://github.com/Alpine-DAV/vtk-h"
- url = "https://github.com/Alpine-DAV/vtk-h/releases/download/v0.5.0/vtkh-v0.5.0.tar.gz"
+ url = "https://github.com/Alpine-DAV/vtk-h/releases/download/v0.5.8/vtkh-v0.5.8.tar.gz"
git = "https://github.com/Alpine-DAV/vtk-h.git"
maintainers = ['cyrush']
version('develop', branch='develop', submodules=True)
- version('0.5.0', sha256="9014a8a61a8d7ff636866c6e3b1ebb918ff23fa67cf8d4de801c4a2981de8c96")
+ version('0.6.1', sha256="ca30b5ff1a48fa247cd20b3f19452f7744eb744465e0b64205135aece42d274f")
+ version('0.6.0', sha256="2fc054f88ae253fb1bfcae22a156bcced08eca963ba90384dcd5b5791e6dfbf4")
+ version('0.5.8', sha256="203b337f4280a24a2b75722384f77e0e2f5965058b541efc153db76b7ab98133")
+ version('0.5.7', sha256="e8c1925dc34ee6be17cec734121e43002e3c02b54ef8dac341b51a455b95e402")
+ version('0.5.6', sha256="c78c0fa71a9687c2951a06d2112b52aa81fdcdcfbc9464d1578326d03fbb205e")
+ version('0.5.4', sha256="92bf3741df7a15e36ff41a9a783f3b88eecc86e55cad1defba76f141baa2610b")
+ version('0.5.3', sha256="0c4aae3bd2a5906738a6806de2b62ea2049ac8b40ebe7fc2ba25505272c2d359")
+ version('0.5.2', sha256="db2e6250c0ece6381fc90540317ad7b5869dbcce0231ce9be125916a77bfdb25")
variant("shared", default=True, description="Build vtk-h as shared libs")
variant("mpi", default=True, description="build mpi support")
@@ -48,6 +55,8 @@ class VtkH(Package, CudaPackage):
variant("cuda", default=False, description="build cuda support")
variant("openmp", default=(sys.platform != 'darwin'),
description="build openmp support")
+ variant("logging", default=False, description="Build vtk-h with logging enabled")
+ variant("contourtree", default=False, description="Enable contour tree support")
# use cmake 3.14, newest that provides proper cuda support
# and we have seen errors with cuda in 3.15
@@ -56,17 +65,17 @@ class VtkH(Package, CudaPackage):
depends_on("mpi", when="+mpi")
depends_on("cuda", when="+cuda")
- depends_on("vtk-m@1.5.0~tbb+openmp", when="+openmp")
- depends_on("vtk-m@1.5.0~tbb~openmp", when="~openmp")
+ depends_on("vtk-m@ascent_ver~tbb+openmp", when="+openmp")
+ depends_on("vtk-m@ascent_ver~tbb~openmp", when="~openmp")
- depends_on("vtk-m@1.5.0+cuda~tbb+openmp", when="+cuda+openmp")
- depends_on("vtk-m@1.5.0+cuda~tbb~openmp", when="+cuda~openmp")
+ depends_on("vtk-m@ascent_ver+cuda~tbb+openmp", when="+cuda+openmp")
+ depends_on("vtk-m@ascent_ver+cuda~tbb~openmp", when="+cuda~openmp")
- depends_on("vtk-m@1.5.0~tbb+openmp~shared", when="+openmp~shared")
- depends_on("vtk-m@1.5.0~tbb~openmp~shared", when="~openmp~shared")
+ depends_on("vtk-m@ascent_ver~tbb+openmp~shared", when="+openmp~shared")
+ depends_on("vtk-m@ascent_ver~tbb~openmp~shared", when="~openmp~shared")
- depends_on("vtk-m@1.5.0+cuda~tbb+openmp~shared", when="+cuda+openmp~shared")
- depends_on("vtk-m@1.5.0+cuda~tbb~openmp~shared", when="+cuda~openmp~shared")
+ depends_on("vtk-m@ascent_ver+cuda~tbb+openmp~shared", when="+cuda+openmp~shared")
+ depends_on("vtk-m@ascent_ver+cuda~tbb~openmp~shared", when="+cuda~openmp~shared")
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
@@ -99,6 +108,13 @@ class VtkH(Package, CudaPackage):
if "+openmp" in spec:
cmake_args.append("-DENABLE_OPENMP=ON")
+ # build with logging
+ if "+logging" in spec:
+ cmake_args.append("-DENABLE_LOGGING=ON")
+
+ if "+contourtree" in spec:
+ cmake_args.append("-DENABLE_FILTER_CONTOUR_TREE=ON")
+
# cuda support
if "+cuda" in spec:
cmake_args.append("-DVTKm_ENABLE_CUDA:BOOL=ON")
@@ -216,6 +232,14 @@ class VtkH(Package, CudaPackage):
cfg.write(cmake_cache_entry("ENABLE_SERIAL", "OFF"))
#######################
+ # Logging
+ #######################
+ if "+logging" in spec:
+ cfg.write(cmake_cache_entry("ENABLE_LOGGING", "ON"))
+ else:
+ cfg.write(cmake_cache_entry("ENABLE_LOGGING", "OFF"))
+
+ #######################
# MPI
#######################
diff --git a/var/spack/repos/builtin/packages/vtk-h/vtkm_lagrange_cuda_fix.patch b/var/spack/repos/builtin/packages/vtk-h/vtkm_lagrange_cuda_fix.patch
deleted file mode 100644
index 2f90477e76..0000000000
--- a/var/spack/repos/builtin/packages/vtk-h/vtkm_lagrange_cuda_fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/vtkh/filters/CMakeLists.txt b/src/vtkh/filters/CMakeLists.txt
-index 4a42d61..f586155 100644
---- a/src/vtkh/filters/CMakeLists.txt
-+++ b/src/vtkh/filters/CMakeLists.txt
-@@ -41,6 +41,11 @@ set(vtkh_filters_deps vtkh_core vtkh_utils )
- if(CUDA_FOUND)
- # triggers cuda compile
- list(APPEND vtkh_filters_deps cuda)
-+
-+ if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 10.0.0)
-+ set(particle_cuda_src "${CMAKE_CURRENT_SOURCE_DIR}/Lagrangian.cpp")
-+ set_source_files_properties(${particle_cuda_src} PROPERTIES COMPILE_FLAGS "-Xptxas --opt-level=0")
-+ endif()
- endif()
-
-
diff --git a/var/spack/repos/builtin/packages/vtk-m/disable_flying_edges.patch b/var/spack/repos/builtin/packages/vtk-m/disable_flying_edges.patch
new file mode 100644
index 0000000000..9b875ce5e0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vtk-m/disable_flying_edges.patch
@@ -0,0 +1,14 @@
+diff --git a/vtkm/worklet/Contour.h b/vtkm/worklet/Contour.h
+index c28c5ec09..70737777f 100644
+--- a/vtkm/worklet/Contour.h
++++ b/vtkm/worklet/Contour.h
+@@ -46,7 +46,8 @@ struct DeduceCoordType
+ vtkm::cont::CellSetSingleType<>& result,
+ Args&&... args) const
+ {
+- result = flying_edges::execute(cells, coords, std::forward<Args>(args)...);
++ result = marching_cells::execute(cells, coords, std::forward<Args>(args)...);
++ //result = flying_edges::execute(cells, coords, std::forward<Args>(args)...);
+ }
+ };
+
diff --git a/var/spack/repos/builtin/packages/vtk-m/package.py b/var/spack/repos/builtin/packages/vtk-m/package.py
index 5fd77da94d..c3f5a70328 100644
--- a/var/spack/repos/builtin/packages/vtk-m/package.py
+++ b/var/spack/repos/builtin/packages/vtk-m/package.py
@@ -30,7 +30,11 @@ class VtkM(CMakePackage, CudaPackage):
version('1.3.0', sha256="f88c1b0a1980f695240eeed9bcccfa420cc089e631dc2917c9728a2eb906df2e")
version('1.2.0', sha256="607272992e05f8398d196f0acdcb4af025a4a96cd4f66614c6341f31d4561763")
version('1.1.0', sha256="78618c81ca741b1fbba0853cb5d7af12c51973b514c268fc96dfb36b853cdb18")
-
+ # version used by ascent
+ version('ascent_ver', commit="a3b8525ef97d94996ae843db0dd4f675c38e8b1e")
+ # patches, required for ascent
+ patch('vtkmdiy_fpic.patch', when='@ascent_ver')
+ patch('disable_flying_edges.patch', when='@ascent_ver')
# use release, instead of release with debug symbols b/c vtkm libs
# can overwhelm compilers with too many symbols
variant('build_type', default='Release', description='CMake build type',
@@ -102,7 +106,7 @@ class VtkM(CMakePackage, CudaPackage):
# logging support
if "+logging" in spec:
- if spec.satisfies('@:1.2.0'):
+ if not spec.satisfies('@1.3.0:,ascent_ver'):
raise InstallError('logging is not supported for\
vtkm version lower than 1.3')
options.append("-DVTKm_ENABLE_LOGGING:BOOL=ON")
@@ -111,7 +115,7 @@ class VtkM(CMakePackage, CudaPackage):
# mpi support
if "+mpi" in spec:
- if spec.satisfies('@:1.2.0'):
+ if not spec.satisfies('@1.3.0:,ascent_ver'):
raise InstallError('mpi is not supported for\
vtkm version lower than 1.3')
options.append("-DVTKm_ENABLE_MPI:BOOL=ON")
@@ -121,7 +125,7 @@ class VtkM(CMakePackage, CudaPackage):
# openmp support
if "+openmp" in spec:
# openmp is added since version 1.3.0
- if spec.satisfies('@:1.2.0'):
+ if not spec.satisfies('@1.3.0:,ascent_ver'):
raise InstallError('OpenMP is not supported for\
vtkm version lower than 1.3')
options.append("-DVTKm_ENABLE_OPENMP:BOOL=ON")
diff --git a/var/spack/repos/builtin/packages/vtk-m/vtkmdiy_fpic.patch b/var/spack/repos/builtin/packages/vtk-m/vtkmdiy_fpic.patch
new file mode 100644
index 0000000000..765efe1c58
--- /dev/null
+++ b/var/spack/repos/builtin/packages/vtk-m/vtkmdiy_fpic.patch
@@ -0,0 +1,12 @@
+diff --git a/vtkm/thirdparty/diy/vtkmdiy/CMakeLists.txt b/vtkm/thirdparty/diy/vtkmdiy/CMakeLists.txt
+index 5211330..3e991f3 100644
+--- a/vtkm/thirdparty/diy/vtkmdiy/CMakeLists.txt
++++ b/vtkm/thirdparty/diy/vtkmdiy/CMakeLists.txt
+@@ -139,6 +139,7 @@ function(add_diy_mpi_library use_mpi)
+ endif()
+
+ add_library(${lib_name} ${sources})
++ set_property(TARGET ${lib_name} PROPERTY POSITION_INDEPENDENT_CODE ON)
+ target_compile_features(${lib_name} PRIVATE cxx_std_11)
+ target_compile_definitions(${lib_name}
+ PRIVATE -DVTKMDIY_HAS_MPI=${has_mpi_val}
diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py
index 2a334cb1fb..ef6c6570c2 100644
--- a/var/spack/repos/builtin/packages/vtk/package.py
+++ b/var/spack/repos/builtin/packages/vtk/package.py
@@ -104,7 +104,7 @@ class Vtk(CMakePackage):
depends_on('sqlite', when='@8.2.0:')
# For finding Fujitsu-MPI wrapper commands
- patch('find_fujitsu_mpi.patch', when='%fj')
+ patch('find_fujitsu_mpi.patch', when='@:8.2.0%fj')
def url_for_version(self, version):
url = "http://www.vtk.org/files/release/{0}/VTK-{1}.tar.gz"
@@ -159,10 +159,15 @@ class Vtk(CMakePackage):
])
if '+mpi' in spec:
- cmake_args.extend([
- '-DVTK_Group_MPI:BOOL=ON',
- '-DVTK_USE_SYSTEM_DIY2:BOOL=OFF',
- ])
+ if spec.satisfies('@:8.2.0'):
+ cmake_args.extend([
+ '-DVTK_Group_MPI:BOOL=ON',
+ '-DVTK_USE_SYSTEM_DIY2:BOOL=OFF'
+ ])
+ else:
+ cmake_args.extend([
+ '-DVTK_USE_MPI=ON'
+ ])
if '+ffmpeg' in spec:
cmake_args.extend(['-DModule_vtkIOFFMPEG:BOOL=ON'])
diff --git a/var/spack/repos/builtin/packages/wannier90/package.py b/var/spack/repos/builtin/packages/wannier90/package.py
index 5be0134141..e4aa1017c7 100644
--- a/var/spack/repos/builtin/packages/wannier90/package.py
+++ b/var/spack/repos/builtin/packages/wannier90/package.py
@@ -15,8 +15,10 @@ class Wannier90(MakefilePackage):
Wannier90 is released under the GNU General Public License.
"""
homepage = 'http://wannier.org'
- url = 'http://wannier.org/code/wannier90-2.0.1.tar.gz'
+ url = 'https://github.com/wannier-developers/wannier90/archive/v3.1.0.tar.gz'
+ version('3.1.0', sha256='40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254')
+ version('3.0.0', sha256='f196e441dcd7b67159a1d09d2d7de2893b011a9f03aab6b30c4703ecbf20fe5b')
version('2.1.0', sha256='ee90108d4bc4aa6a1cf16d72abebcb3087cf6c1007d22dda269eb7e7076bddca')
version('2.0.1', sha256='05ea7cd421a219ce19d379ad6ae3d9b1a84be4ffb367506ffdfab1e729309e94')
@@ -26,17 +28,40 @@ class Wannier90(MakefilePackage):
parallel = False
- build_targets = [
- 'wannier', 'post', 'lib', 'w90chk2chk', 'w90vdw', 'w90pov'
- ]
+ variant(
+ 'shared',
+ default=True,
+ description='Builds a shared version of the library'
+ )
@property
- def makefile_name(self):
- # Older versions use 'make.sys'
- filename = 'make.sys'
+ def build_targets(self):
+ targets = []
+ if '@:2' in self.spec:
+ targets = [
+ 'lib', 'wannier', 'post', 'w90chk2chk', 'w90vdw', 'w90pov'
+ ]
+ if '@3:' in self.spec:
+ targets = ['wannier', 'post', 'lib', 'w90chk2chk', 'w90vdw']
+ if '+shared' in self.spec:
+ targets.append('dynlib')
+
+ return targets
+
+ def url_for_version(self, version):
+ if (version > Version('2')):
+ url = 'https://github.com/wannier-developers/wannier90/archive/v{0}.tar.gz'
+ else:
+ url = 'http://wannier.org/code/wannier90-{0}.tar.gz'
+ return url.format(version)
- # While newer search for 'make.inc'
- if self.spec.satisfies('@2.1.0:'):
+ @property
+ def makefile_name(self):
+ # Version 2.0.1 uses make.sys,
+ # other verions use make.inc
+ if self.spec.satisfies('@2.0.1'):
+ filename = 'make.sys'
+ else:
filename = 'make.inc'
abspath = join_path(self.stage.source_path, filename)
@@ -46,10 +71,12 @@ class Wannier90(MakefilePackage):
lapack = self.spec['lapack'].libs
blas = self.spec['blas'].libs
+ mpi = self.spec['mpi'].libs
+
substitutions = {
'@F90': spack_fc,
'@MPIF90': self.spec['mpi'].mpifc,
- '@LIBS': (lapack + blas).joined()
+ '@LIBS': (lapack + blas + mpi).joined()
}
template = join_path(
@@ -61,10 +88,67 @@ class Wannier90(MakefilePackage):
for key, value in substitutions.items():
filter_file(key, value, self.makefile_name)
- def install(self, spec, prefix):
+ if '@:2 +shared' in self.spec:
+ # this is to build a .shared wannier90 library
+ filter_file('LIBRARY = ../../libwannier.a',
+ 'LIBRARY = ../../libwannier.' + dso_suffix,
+ join_path(self.stage.source_path, 'src/Makefile.2'))
+ filter_file('parameters.o kmesh.o io.o comms.o '
+ 'utility.o get_oper.o constants.o '
+ 'postw90_common.o wan_ham.o spin.o '
+ 'dos.o berry.o kpath.o kslice.o '
+ 'boltzwann.o geninterp.o',
+ 'comms.o get_oper.o postw90_common.o '
+ 'wan_ham.o spin.o dos.o berry.o '
+ 'kpath.o kslice.o boltzwann.o geninterp.o',
+ join_path(self.stage.source_path,
+ 'src/Makefile.2'))
+ filter_file('../../wannier90.x: .*',
+ '../../wannier90.x: $(OBJS) '
+ '../wannier_prog.F90 $(LIBRARY)',
+ join_path(self.stage.source_path,
+ 'src/Makefile.2'))
+ filter_file('../../postw90.x: $(OBJS_POST) '
+ '$(POSTDIR)postw90.F90',
+ '../../postw90.x: $(OBJS_POST) '
+ '$(POSTDIR)postw90.F90 $(LIBRARY)',
+ join_path(self.stage.source_path,
+ 'src/Makefile.2'), string=True)
+ filter_file(
+ '$(COMPILER) ../wannier_prog.F90 '
+ '$(LDOPTS) $(OBJS) $(LIBS) '
+ '-o ../../wannier90.x',
+ '$(COMPILER) -I../obj ../wannier_prog.F90 '
+ '$(LDOPTS) -L../.. -lwannier '
+ '-o ../../wannier90.x',
+ join_path(self.stage.source_path,
+ 'src/Makefile.2'), string=True)
+ filter_file(
+ '$(COMPILER) $(POSTDIR)postw90.F90 '
+ '$(POSTOPTS) $(LDOPTS) '
+ '$(OBJS_POST) '
+ '$(LIBS) -o ../../postw90.x',
+ '$(COMPILER) -I../obj $(POSTDIR)postw90.F90 '
+ '$(POSTOPTS) $(LDOPTS) $(OBJS_POST) '
+ '-L../.. -lwannier $(LIBS) -o ../../postw90.x',
+ join_path(self.stage.source_path,
+ 'src/Makefile.2'), string=True)
+ filter_file(
+ '$(AR) $(ARFLAGS) '
+ '$(LIBRARY) $(OBJS2) $(OBJS)',
+ '$(MPIF90) $(FCOPTS) -shared -o '
+ '$(LIBRARY) $(OBJS2) $(OBJS) $(LIBS)',
+ join_path(self.stage.source_path,
+ 'src/Makefile.2'), string=True)
+
+ def setup_build_environment(self, env):
+ env.set('MPIFC', self.prefix.bin.mpifc)
+ def install(self, spec, prefix):
mkdirp(self.prefix.bin)
mkdirp(self.prefix.lib)
+ if '+shared' in spec:
+ mkdirp(self.prefix.modules)
install(
join_path(self.stage.source_path, 'wannier90.x'),
@@ -76,10 +160,17 @@ class Wannier90(MakefilePackage):
join_path(self.prefix.bin, 'postw90.x')
)
- install(
- join_path(self.stage.source_path, 'libwannier.a'),
- join_path(self.prefix.lib, 'libwannier.a')
- )
+ inst = []
+ if '+shared' in spec:
+ inst.append('libwannier.' + dso_suffix)
+ # version 3 or 2 without the shared variant
+ # also has a .a version of the library
+ if '@3:' in spec or '~shared' in spec:
+ inst.append('libwannier.a')
+
+ for file in inst:
+ install(join_path(self.stage.source_path, file),
+ join_path(self.prefix.lib, file))
install(
join_path(self.stage.source_path, 'w90chk2chk.x'),
@@ -91,12 +182,18 @@ class Wannier90(MakefilePackage):
join_path(self.prefix.bin, 'w90vdw.x')
)
- install(
- join_path(self.stage.source_path, 'utility', 'w90pov', 'w90pov'),
- join_path(self.prefix.bin, 'w90pov')
- )
+ if spec.satisfies('@:2'):
+ install(
+ join_path(self.stage.source_path,
+ 'utility', 'w90pov', 'w90pov'),
+ join_path(self.prefix.bin, 'w90pov')
+ )
install_tree(
join_path(self.stage.source_path, 'pseudo'),
join_path(self.prefix.bin, 'pseudo')
)
+
+ for file in find(join_path(self.stage.source_path, 'src/obj'),
+ '*.mod'):
+ install(file, self.prefix.modules)
diff --git a/var/spack/repos/builtin/packages/wcslib/package.py b/var/spack/repos/builtin/packages/wcslib/package.py
index 147cc9ed72..0c336592d0 100644
--- a/var/spack/repos/builtin/packages/wcslib/package.py
+++ b/var/spack/repos/builtin/packages/wcslib/package.py
@@ -11,8 +11,9 @@ class Wcslib(AutotoolsPackage):
defined in the FITS WCS papers."""
homepage = "http://www.atnf.csiro.au/people/mcalabre/WCS/wcslib/"
- url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-6.4.tar.bz2"
+ url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-7.3.tar.bz2"
+ version('7.3', sha256='4b01cf425382a26ca4f955ed6841a5f50c55952a2994367f8e067e4183992961')
version('6.4', sha256='13c11ff70a7725563ec5fa52707a9965fce186a1766db193d08c9766ea107000')
variant('cfitsio', default=False, description='Include CFITSIO support')
diff --git a/var/spack/repos/builtin/packages/weechat/package.py b/var/spack/repos/builtin/packages/weechat/package.py
new file mode 100644
index 0000000000..ddee20bf1f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/weechat/package.py
@@ -0,0 +1,53 @@
+# 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)
+
+
+class Weechat(CMakePackage):
+ """WeeChat is a fast, light and extensible chat client, with a
+ text-based user interface."""
+
+ homepage = "https://weechat.org"
+ url = "https://weechat.org/files/src/weechat-2.9.tar.gz"
+
+ version('2.9', sha256='3a78063b76c42ba306eacf8f74cb8c9a260f8a61d1915d0b5d76f11d2be69a53')
+
+ variant('perl', default=False, description='Include perl support')
+ variant('lua', default=False, description='Include lua support')
+ variant('ruby', default=False, description='Include ruby support')
+ variant('tcl', default=False, description='Include TCL support')
+ variant('guile', default=False, description='Include guile support')
+ variant('php', default=False, description='Include php support')
+
+ depends_on('cmake@3:', type='build')
+ depends_on('python@3.5:')
+ depends_on('gnutls@3.0.21:')
+ depends_on('ncurses')
+ depends_on('aspell')
+ depends_on('libgcrypt')
+ depends_on('curl')
+ depends_on('zlib')
+ depends_on('ruby@1.9.1:', when='+ruby')
+ depends_on('tcl@8.5:', when='+tcl')
+ depends_on('perl', when='+perl')
+ depends_on('lua', when='+lua')
+ depends_on('guile@2.0:', when='+guile')
+ depends_on('php@7.0:', when='+php')
+
+ def cmake_args(self):
+ spec = self.spec
+ cmake_args = []
+ if '~ruby' in spec:
+ cmake_args.append('-DENABLE_RUBY=OFF')
+ if '~tcl' in spec:
+ cmake_args.append('-DENABLE_TCL=OFF')
+ if '~perl' in spec:
+ cmake_args.append('-DENABLE_PERL=OFF')
+ if '~lua' in spec:
+ cmake_args.append('-DENABLE_LUA=OFF')
+ if '~guile' in spec:
+ cmake_args.append('-DENABLE_GUILE=OFF')
+ if '~php' in spec:
+ cmake_args.append('-DENABLE_PHP=OFF')
+ return cmake_args
diff --git a/var/spack/repos/builtin/packages/whizard/package.py b/var/spack/repos/builtin/packages/whizard/package.py
index 1ad8e07568..d38994c67e 100644
--- a/var/spack/repos/builtin/packages/whizard/package.py
+++ b/var/spack/repos/builtin/packages/whizard/package.py
@@ -12,19 +12,26 @@ class Whizard(AutotoolsPackage):
and simulated event samples."""
homepage = "whizard.hepforge.org"
- url = "https://whizard.hepforge.org/downloads/?f=whizard-2.8.2.tar.gz"
+ url = "https://whizard.hepforge.org/downloads/?f=whizard-2.8.3.tar.gz"
git = "https://gitlab.tp.nt.uni-siegen.de/whizard/public.git"
maintainers = ['vvolkl']
version('master', branch="master")
version('3.0.0_alpha', sha256='4636e5a10350bb67ccc98cd105bc891ea04f3393c2420f81be3d21240be20009')
- version('2.8.2', sha256='32c9be342d01b3fc6f947fddce74bf2d81ece37fb39bca1f37778fb0c07e2568', prefered=True)
+ version('2.8.4', sha256='49893f077484470934a9d6e1545bbda7d398076568bceda00880d58132f26432', preferred=True)
+ version('2.8.3', sha256='96a9046682d4b992b477eb96d561c3db789207e1049b60c9bd140db40eb1e5d7')
+ version('2.8.2', sha256='32c9be342d01b3fc6f947fddce74bf2d81ece37fb39bca1f37778fb0c07e2568')
version('2.8.1', sha256='0c759ce0598e25f38e04659f745c5963d238c4b5c12209f16449b6c0bc6dc64e')
version('2.8.0', sha256='3b5175eafa879d1baca20237d18fb2b18bee89631e73ada499de9c082d009696')
- variant('hepmc', default=True,
- description="builds with hepmc")
+ variant(
+ 'hepmc',
+ default='3',
+ description='builds with hepmc 2/3',
+ values=('off', '2', '3'),
+ multi=False
+ )
variant('pythia8', default=True,
description="builds with pythia8")
@@ -41,15 +48,23 @@ class Whizard(AutotoolsPackage):
variant('openmp', default=False,
description="builds with openmp")
+ variant('openloops', default=False,
+ description="builds with openloops")
+
variant('latex', default=False,
description="data visualization with latex")
depends_on('ocaml', type='build', when="@3:")
depends_on('ocaml@:4.8.2', type='build', when="@:2.99.99")
- depends_on('hepmc', when="+hepmc")
+ depends_on('hepmc', when="hepmc=2")
+ depends_on('hepmc3', when="hepmc=3")
+ depends_on('lcio', when="+lcio")
depends_on('pythia8', when="+pythia8")
depends_on('lhapdf', when="+lhapdf")
depends_on('fastjet', when="+fastjet")
+ depends_on('openloops@2.0.0: +compile_extra num_jobs=1 '
+ 'processes=eett,eevvjj,ppllj,tbw',
+ when="+openloops")
depends_on('texlive', when="+latex")
depends_on('zlib')
@@ -66,21 +81,30 @@ class Whizard(AutotoolsPackage):
def configure_args(self):
spec = self.spec
args = [
- '--enable-hepmc=%s' % ("yes" if "+hepmc" in spec else "no"),
+ '--enable-hepmc=%s' % ("no" if "hepmc=off" in spec else "yes"),
'--enable-fastjet=%s' % ("yes" if "+fastjet" in spec else "no"),
'--enable-pythia8=%s' % ("yes" if "+pythia8" in spec else "no"),
'--enable-lcio=%s' % ("yes" if "+lcio" in spec else "no"),
'--enable-lhapdf=%s' % ("yes" if "+lhapdf" in spec else "no"),
- # todo: openloops
+ '--enable-openloops=%s' % ("yes" if "+openloops" in spec
+ else "no"),
# todo: hoppet
# todo: recola
# todo: looptools
# todo: gosam
# todo: pythia6
]
+
+ if "+openloops" in spec:
+ args.append('--with-openloops=%s' % spec['openloops'].prefix)
+ if "+lcio" in spec:
+ args.append('--with-lcio=%s' % spec['lcio'].prefix)
+ if "hepmc=3" in spec:
+ args.append('--with-hepmc=%s' % spec['hepmc3'].prefix)
+ if "hepmc=2" in spec:
+ args.append('--with-hepmc=%s' % spec['hepmc'].prefix)
if "+openmp" not in spec:
args.append('--disable-openmp')
-
return args
def url_for_version(self, version):
diff --git a/var/spack/repos/builtin/packages/wonton/package.py b/var/spack/repos/builtin/packages/wonton/package.py
new file mode 100644
index 0000000000..468b80c74c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/wonton/package.py
@@ -0,0 +1,127 @@
+# 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 Wonton(CMakePackage):
+ """Wonton is a support package for the Portage
+ (https://github.com/laristra/portage) and Tangram
+ (https://github.com/laristra/tangram) libraries. It contains some
+ mesh/state classes, wrappers for other mesh/state libraries and
+ some utilities required by Portage and Tangram.
+
+ """
+
+ homepage = "https://portage.lanl.gov"
+ git = "https://github.com/laristra/wonton.git"
+ url = "https://github.com/laristra/wonton/releases/download/1.2.1/wonton-1.2.1.tar.gz"
+
+ maintainers = ['raovgarimella']
+
+ version('1.2.1', sha256='4f00513d1abe86f256214d2b5171b1575b2cd464df8609307c24cbc4c595c305')
+
+ variant('lapacke', default=True, description='Use LAPACKE solvers')
+
+ # Variants for controlling parallelism
+ variant('mpi', default=False, description='Enable distributed meshes with MPI')
+ 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")
+ variant('cuda', default=False, description="Enable GPU parallelism using CUDA")
+
+ # wrappers to external mesh/state libraries
+ variant('jali', default=False, description='Enable Jali mesh wrappers')
+
+ conflicts('+jali ~mpi') # Jali needs MPI
+ conflicts('+thrust +cuda') # Thrust with CUDA does not work as yet
+ conflicts('+thrust +kokkos') # Don't enable Kokkos, Thrust simultaneously
+
+ # dependencies
+ depends_on('cmake@3.13:', type='build')
+
+ depends_on('netlib-lapack +lapacke', when='+lapacke')
+
+ depends_on('mpi', when='+mpi')
+
+ depends_on('jali +mstk', when='+jali')
+ depends_on('mpi', when='+jali')
+
+ # We need boost only when no thrust option
+ depends_on('boost', when='~thrust')
+
+ # NVidia thrust library
+ depends_on('thrust@1.8.3', when='+thrust')
+
+ # CUDA library
+ depends_on('cuda', when='+cuda')
+
+ # Kokkos with appropriate option
+ depends_on('kokkos +openmp', when='+kokkos +openmp')
+ depends_on('kokkos +cuda', when='+kokkos +cuda')
+
+ def cmake_args(self):
+ options = []
+ if '+mpi' in self.spec:
+ options.append('-DWONTON_ENABLE_MPI=ON')
+ else:
+ options.append('-DWONTON_ENABLE_MPI=OFF')
+
+ if '+lapacke' in self.spec:
+ options.append('-DWONTON_ENABLE_LAPACKE=ON')
+ options.append('-DBLA_VENDOR=' + self.spec['blas'].name.upper())
+ options.append(
+ '-DBLAS_LIBRARIES=' + self.spec['blas'].libs.joined()
+ )
+ else:
+ options.append('-DWONTON_ENABLE_LAPACKE=OFF')
+
+ if '+thrust' in self.spec:
+ options.append('-DWONTON_ENABLE_THRUST=ON')
+ if '+cuda' in self.spec:
+ options.append(
+ '-DTHRUST_HOST_BACKEND:STRING=THRUST_HOST_SYSTEM_CPP'
+ )
+ options.append(
+ '-DTHRUST_DEVICE_BACKEND:STRING=THRUST_DEVICE_SYSTEM_CUDA'
+ )
+ else:
+ options.append(
+ '-DTHRUST_HOST_BACKEND:STRING=THRUST_HOST_SYSTEM_CPP'
+ )
+ options.append(
+ '-DTHRUST_DEVICE_BACKEND:STRING=THRUST_DEVICE_SYSTEM_OMP'
+ )
+ else:
+ options.append('-DWONTON_ENABLE_THRUST=OFF')
+
+ if '+kokkos' in self.spec:
+ options.append('-DWONTON_ENABLE_Kokkos=ON')
+ if '+cuda' in self.spec:
+ options.append('-DWONTON_ENABLE_Kokkos_CUDA=ON')
+ elif '+openmp' in self.spec:
+ options.append('-DWONTON_ENABLE_Kokkos_OpenMP=ON')
+ else:
+ options.append('-DWONTON_ENABLE_Kokkos=OFF')
+
+ if '+jali' in self.spec:
+ options.append('-DWONTON_ENABLE_Jali=ON')
+ 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')
+
+ # Unit test variant
+ if self.run_tests:
+ options.append('-DENABLE_UNIT_TESTS=ON')
+ options.append('-DENABLE_APP_TESTS=ON')
+ else:
+ options.append('-DENABLE_UNIT_TESTS=OFF')
+ options.append('-DENABLE_APP_TESTS=OFF')
+
+ return options
diff --git a/var/spack/repos/builtin/packages/xbraid/package.py b/var/spack/repos/builtin/packages/xbraid/package.py
index d3dff7d295..d58ac78016 100644
--- a/var/spack/repos/builtin/packages/xbraid/package.py
+++ b/var/spack/repos/builtin/packages/xbraid/package.py
@@ -12,7 +12,7 @@ class Xbraid(MakefilePackage):
"""XBraid: Parallel time integration with Multigrid"""
homepage = "https://computing.llnl.gov/projects/parallel-time-integration-multigrid/software"
- url = "https://computing.llnl.gov/projects/parallel-time-integration-multigrid/download/braid_2.2.0.tar.gz"
+ url = "https://github.com/XBraid/xbraid/archive/v2.2.0.tar.gz"
version('2.2.0', sha256='082623b2ddcd2150b3ace65b96c1e00be637876ec6c94dc8fefda88743b35ba3')
diff --git a/var/spack/repos/builtin/packages/xcfun/package.py b/var/spack/repos/builtin/packages/xcfun/package.py
index a40234c643..7369702279 100644
--- a/var/spack/repos/builtin/packages/xcfun/package.py
+++ b/var/spack/repos/builtin/packages/xcfun/package.py
@@ -16,6 +16,8 @@ class Xcfun(CMakePackage):
version('2.0.0a6',
sha256='a51086490890393439f98c5e3e4e1622908fe934bbc5063b1d4363cc4c15496d')
+ version('2.0.0a2',
+ sha256='f29e80fdb5c8089fb0eeb7827659111005cb13eb42bf75fcb0c034f6bd067c31')
extends('python')
depends_on('cmake@3.11:', type='build')
diff --git a/var/spack/repos/builtin/packages/xdotool/package.py b/var/spack/repos/builtin/packages/xdotool/package.py
new file mode 100644
index 0000000000..da918c32a7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/xdotool/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)
+
+from spack import *
+
+
+class Xdotool(MakefilePackage):
+ """fake keyboard/mouse input, window management, and more"""
+
+ homepage = "https://github.com/jordansissel/xdotool"
+ url = "https://github.com/jordansissel/xdotool/releases/download/v3.20160805.1/xdotool-3.20160805.1.tar.gz"
+
+ version('3.20160805.1', sha256='35be5ff6edf0c620a0e16f09ea5e101d5173280161772fca18657d83f20fcca8')
+ version('3.20160804.2', sha256='2251671c3c3dadab2b70e08bd87f2de6338c7b4e64e7e2d2d881fd13f9bff72c')
+ version('3.20160804.1', sha256='7a76ee57515cc767a00a768f1d04c703279d734255a34f8027c29178561fdce9')
+ version('3.20150503.1', sha256='e8326883bd5e91bede7336cbee186e6e9143f40b3fb61c84afc9bb31b87e96d1')
+
+ depends_on('libxext')
+ depends_on('libxtst')
+ depends_on('libxi')
+ depends_on('libx11')
+ depends_on('inputproto')
+ depends_on('libxinerama')
+
+ depends_on('libxkbcommon')
+
+ def edit(self, spec, prefix):
+ env['PREFIX'] = prefix
+
+ makefile = FileFilter('Makefile')
+ makefile.filter('xdotool: LDFLAGS+=-Xlinker', '', string=True)
+ makefile.filter('xdotool: LDFLAGS+=-rpath $(INSTALLLIB)', '',
+ string=True)
diff --git a/var/spack/repos/builtin/packages/xxhash/package.py b/var/spack/repos/builtin/packages/xxhash/package.py
index 421026f496..84bcd8966d 100644
--- a/var/spack/repos/builtin/packages/xxhash/package.py
+++ b/var/spack/repos/builtin/packages/xxhash/package.py
@@ -17,6 +17,7 @@ class Xxhash(MakefilePackage):
homepage = "https://github.com/Cyan4973/xxHash"
url = "https://github.com/Cyan4973/xxHash/archive/v0.6.5.tar.gz"
+ version('0.7.4', sha256='4d9706c9da4fbdf901598f5e3b71db0eddd4ac962e827a73ebf75d66dfd820fe')
version('0.6.5', sha256='19030315f4fc1b4b2cdb9d7a317069a109f90e39d1fe4c9159b7aaa39030eb95')
version('0.6.4', sha256='4570ccd111df6b6386502791397906bf69b7371eb209af7d41debc2f074cdb22')
version('0.6.3', sha256='d8c739ec666ac2af983a61dc932aaa2a8873df974d333a9922d472a121f2106e')
diff --git a/var/spack/repos/builtin/packages/ycsb/package.py b/var/spack/repos/builtin/packages/ycsb/package.py
new file mode 100644
index 0000000000..163672f4e4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ycsb/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)
+
+from spack import *
+
+
+class Ycsb(Package):
+ """Yahoo! Cloud Serving Benchmark."""
+
+ homepage = "https://research.yahoo.com/news/yahoo-cloud-serving-benchmark/"
+ url = "https://github.com/brianfrankcooper/YCSB/archive/0.17.0.tar.gz"
+ git = "https://github.com/brianfrankcooper/YCSB.git"
+
+ version('0.17.0', sha256='5dd1a3d4dd7ac336eadccc83b097c811e142cfe1b23fc278f247054a1892c0e0')
+ version('0.16.0', sha256='4296fd5e90d7d6d7dfcbad90039ddf16e785706a07f99c1c8a06e6ee06440f71')
+ version('0.15.0', sha256='50b83c11f1a2f19f45e3cc6781f952c69944d1221dfec72169c3587802fc7fbb')
+ version('0.14.0', sha256='456bcc9fa3d5d66d76fffa9cec34afd4528d9f02aa8a8d1135f511650516d5cb')
+ version('0.13.0', sha256='21cb8078a0fe2d8d909145744ca15848dbb6757e98a7fdc97fb4049f82f4afbc')
+
+ depends_on('maven', type='build')
+ depends_on('java@8', type=('build', 'run'))
+ depends_on('mongodb-async-driver', type='build')
+
+ def install(self, spec, prefix):
+ mvn = which('mvn')
+ jar_name = 'target/mongodb-async-driver-' + \
+ spec['mongodb-async-driver'].version.string + '.jar'
+ path = join_path(self.spec['mongodb-async-driver'].prefix, jar_name)
+ mvn('install:install-file', '-Dfile={0}'.format(path),
+ '-DgroupId=com.allanbank', '-DartifactId=mongodb-async-driver',
+ '-Dversion=2.0.1', '-Dpackaging=jar')
+ mvn('package', '-DskipTests')
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/yoda/package.py b/var/spack/repos/builtin/packages/yoda/package.py
new file mode 100644
index 0000000000..4da424c2a8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/package.py
@@ -0,0 +1,84 @@
+# 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 Yoda(AutotoolsPackage):
+ """YODA - Yet more Objects for Data Analysis"""
+
+ homepage = "https://yoda.hepforge.org/"
+ url = "https://yoda.hepforge.org/downloads/?f=YODA-1.8.3.tar.bz2"
+
+ version('1.8.3', sha256='d9dd0ea5e0f630cdf4893c09a40c78bd44455777c2125385ecc26fa9a2acba8a')
+ version('1.8.2', sha256='89558c11cf9b88b0899713e5b4bf8781fdcecc480ff155985ebbf148c6d80bdb')
+ version('1.8.1', sha256='51472e12065b9469f13906f0dc609e036d0c1dbd2a8e445e7d654aba73660112')
+ version('1.8.0', sha256='82c62bbaedb4b6b7d50cd42ce5409d453d46c1cc6724047db5efa74d34dd6dc5')
+ version('1.7.7', sha256='cfb64b099a79ec4d138792f0b464a8fbb04c4345143f77bbdca07acb744628ce')
+ version('1.7.6', sha256='864a1459c82676c991fcaed931263a415e815e3c9dc2cad2f94bda6fa4d112e5')
+ version('1.7.5', sha256='7b1dc7bb380d0fbadce12072f5cc21912c115e826182a3922d864e7edea131db')
+ version('1.7.4', sha256='3df316b89e9c0052104f8956e4f7d26c0b0b05cdace7d908be35c383361e3a71')
+ version('1.7.3', sha256='ebf6094733823e9cc2d1586aff06db2d8999c74a47e666baf305322f62c48058')
+ version('1.7.2', sha256='7f093cf947824ec118767c7c1999a50ea9343c173cf8c5062e3800ba54c2943e')
+ version('1.7.1', sha256='edd7971ecd272314309c800395200b07cf68547cbac3378a02d0b8c9ac03027b')
+ version('1.7.0', sha256='b3d6bfb0c52ed87cd240cee5e93e09102832d9ef32505d7275f4d3191a35ce3b')
+ version('1.6.7', sha256='2abf378573832c201bc6a9fecfff5b2006fc98c7a272540326cda8eb5bd95e16')
+ version('1.6.6', sha256='cf172a496d9108b93420530ea91055d07ecd514d2894d78db46b806530e91d21')
+ version('1.6.5', sha256='1477fe754cfe2e4e06aa363a773accf18aab960a8b899968b77834368cac14c5')
+ version('1.6.4', sha256='4c01f43c18b7b2e71f61dea0bb8c6fdc099c8e1a66256c510652884c4ffffbca')
+ version('1.6.3', sha256='1dd7e334fe54a05ff911d9e227d395abc5efd29e29d60187a036b2201f97da19')
+ version('1.6.2', sha256='5793cd1320694118423888801ca520f2719565fde04699ee69e1751f47cb57a8')
+ version('1.6.1', sha256='ec3f4cc4eb57f94fb431cc37db10eb831f025df95ffd9e516b8009199253c62b')
+ version('1.6.0', sha256='2920ef2588268484b650dc08438664a3539b79c65a9e80d58e3771bb699e2a6b')
+ version('1.5.9', sha256='1a19cc8c34c08f1797a93d355250e682eb85d62d4ab277b6714d7873b4bdde75')
+ version('1.5.8', sha256='011c5be5cc565f8baf02e7ebbe57a57b4d70dc6a528d5b0102700020bbf5a973')
+ version('1.5.7', sha256='f775df11b034154b8f5d43f12007692c3314672e60d3e554b3928fe5b0f00c29')
+ version('1.5.6', sha256='050e17b1b80658213281a2e4112dfecc0096f01f269cd739d601b2fd0e790a0c')
+ version('1.5.5', sha256='ce45df6248c6c50633953048240513dc52ca5c9144ef69ea72ada2df23bc4918')
+ version('1.5.4', sha256='c41853a1f3aa0794875ae09c1ba4348942eb890e798ac7cee6e3505a9b68b678')
+ version('1.5.3', sha256='1220ac0ae204c3ed6b22a6a35c30d9b5c1ded35a1054cff131861b4a919d4904')
+ version('1.5.2', sha256='ec113c53a6174b174aaea8f45802cc419184ce056123b93ab8d3f80fc1bd4986')
+ version('1.5.1', sha256='a8b088b3ede67d560e40f91f4f99be313f21841c46ce2f657af7692a7bbe3276')
+ version('1.5.0', sha256='2c2b77344854fac937a8ef07c0928c50829ff4c69bcad6e0afb92da611b7dd18')
+ version('1.4.0', sha256='e76a129f7c2b72b53525fe0b712606eeeab0dc145daa070ebf0728f0384eaf48')
+ version('1.3.1', sha256='274e196d009e3aac6dd1f2db876de9613ca1a3c21ec3364bc3662f5493bc9747')
+ version('1.3.0', sha256='d63197d5940b481ecb06cf4703d9c0b49388f32cad61ccae580d1b80312bd215')
+ version('1.2.1', sha256='e86964e91e4fbbba443d2848f55c028001de4713dcc64c40339389de053e7d8b')
+ version('1.2.0', sha256='143fa86cd7965d26d3897a5752307bfe08f4866c2f9a9f226a393127d19ee353')
+ version('1.1.0', sha256='5d2e8f3c1cddfb59fe651931c7c605fe0ed067864fa86047aed312c6a7938e01')
+ version('1.0.7', sha256='145c27d922c27a4e1d6d50030f4ddece5f03d6c309a5e392a5fcbb5e83e747ab')
+ version('1.0.6', sha256='357732448d67a593e5ff004418f2a2a263a1401ffe84e021f8a714aa183eaa21')
+ version('1.0.5', sha256='ba72bc3943a1b39fa63900570948199cf5ed5c7523f2c4af4740e51b098f1794')
+ version('1.0.4', sha256='697fe397c69689feecb2a731e19b2ff85e19343b8198c4f18a7064c4f7123950')
+ version('1.0.3', sha256='6a1d1d75d9d74da457726ea9463c1b0b6ba38d4b43ef54e1c33f885e70fdae4b')
+
+ variant("root", default=False, description="Enable ROOT interface")
+
+ depends_on('python', type=('build', 'run'))
+ depends_on('py-future', type=('build', 'run'))
+ depends_on('boost', when='@:1.6.0', type=('build', 'run'))
+ depends_on('py-cython', type='build')
+ depends_on('py-matplotlib', when='@1.3.0:', type=('build', 'run'))
+ depends_on('root', type=('build', 'run'), when='+root')
+
+ patch('yoda-1.5.5.patch', level=0, when='@1.5.5')
+ patch('yoda-1.5.9.patch', level=0, when='@1.5.9')
+ patch('yoda-1.6.1.patch', level=0, when='@1.6.1')
+ patch('yoda-1.6.2.patch', level=0, when='@1.6.2')
+ patch('yoda-1.6.3.patch', level=0, when='@1.6.3')
+ patch('yoda-1.6.4.patch', level=0, when='@1.6.4')
+ patch('yoda-1.6.5.patch', level=0, when='@1.6.5')
+ patch('yoda-1.6.6.patch', level=0, when='@1.6.6')
+ patch('yoda-1.6.7.patch', level=0, when='@1.6.7')
+
+ def configure_args(self):
+ args = []
+ if self.spec.satisfies('@:1.6.0'):
+ args += '--with-boost=' + self.spec['boost'].prefix
+
+ if '+root' in self.spec:
+ args += '--enable-root'
+
+ return args
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.5.5.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.5.5.patch
new file mode 100644
index 0000000000..ba86d4cc31
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.5.5.patch
@@ -0,0 +1,50 @@
+--- configure.orig 2016-09-30 08:52:56.000000000 +0200
++++ configure 2016-09-30 08:56:39.000000000 +0200
+@@ -16568,11 +16568,15 @@
+ cat >conftest.py <<_ACEOF
+
+ import sys, string
++# Python 2 and 3 compatible
++from future.builtins import map
++# Python 2 and 3: forward-compatible
++from future.builtins import range
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
++for i in range(0, 4): minverhex = (minverhex << 8) + minver[i]
+ if sys.hexversion >= minverhex:
+ sys.exit( 0 )
+ else:
+@@ -16600,15 +16604,15 @@
+ fi
+
+
+- PYTHON_VERSION=`$PYTHON -c "import sys; print '.'.join(map(str, sys.version_info[:2]));"`
++ PYTHON_VERSION=`$PYTHON -c "from __future__ import print_function; import sys; print('.'.join(list(map(str, sys.version_info[:2]))));"`
+
+- YODA_PYTHONPATH=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True);"`
++ YODA_PYTHONPATH=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True));"`
+
+ ## Test for Python header
+ if test -x "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+ $as_echo_n "checking for Python include path... " >&6; }
+- python_incpath=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
++ python_incpath=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_inc());"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_incpath" >&5
+ $as_echo "$python_incpath" >&6; }
+ python_header="$python_incpath/Python.h"
+ --- pyext/setup.py.in.orig 2016-09-30 08:57:23.000000000 +0200
+ +++ pyext/setup.py.in 2016-09-30 08:57:58.000000000 +0200
+ @@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+ -if os.environ.has_key("BUILD_ROOTCOMPAT"):
+ +if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.5.9.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.5.9.patch
new file mode 100644
index 0000000000..37a9ffab32
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.5.9.patch
@@ -0,0 +1,50 @@
+--- configure.orig 2016-09-30 09:01:00.000000000 +0200
++++ configure 2016-09-30 09:03:05.000000000 +0200
+@@ -16574,11 +16574,15 @@
+ cat >conftest.py <<_ACEOF
+
+ import sys, string
++# Python 2 and 3 compatible
++from future.builtins import map
++# Python 2 and 3: forward-compatible
++from future.builtins import range
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
++for i in range(0, 4): minverhex = (minverhex << 8) + minver[i]
+ if sys.hexversion >= minverhex:
+ sys.exit( 0 )
+ else:
+@@ -16606,15 +16610,15 @@
+ fi
+
+
+- PYTHON_VERSION=`$PYTHON -c "import sys; print '.'.join(map(str, sys.version_info[:2]));"`
++ PYTHON_VERSION=`$PYTHON -c "from __future__ import print_function; import sys; print('.'.join(list(map(str, sys.version_info[:2]))));"`
+
+- YODA_PYTHONPATH=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True);"`
++ YODA_PYTHONPATH=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True));"`
+
+ ## Test for Python header
+ if test -x "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+ $as_echo_n "checking for Python include path... " >&6; }
+- python_incpath=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
++ python_incpath=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_inc());"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_incpath" >&5
+ $as_echo "$python_incpath" >&6; }
+ python_header="$python_incpath/Python.h"
+ --- pyext/setup.py.in.orig 2016-09-30 09:03:25.000000000 +0200
+ +++ pyext/setup.py.in 2016-09-30 09:04:03.000000000 +0200
+ @@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+ -if os.environ.has_key("BUILD_ROOTCOMPAT"):
+ +if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.6.1.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.6.1.patch
new file mode 100644
index 0000000000..0a5996a70d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.6.1.patch
@@ -0,0 +1,72 @@
+--- bin/yoda-config.in.orig 2016-07-11 14:43:05.700511377 +0300
++++ bin/yoda-config.in 2016-07-11 14:43:50.312499322 +0300
+@@ -59,7 +59,7 @@
+
+ ## "Pre-rolled" build info
+ tmp=$( echo "$*" | egrep -- '--\<cflags\>|--\<cppflags\>|--\<cxxflags\>')
+-test -n "$tmp" && OUT="$OUT -I@includedir@ @BOOST_CPPFLAGS@"
++test -n "$tmp" && OUT="$OUT -I@includedir@"
+
+ tmp=$( echo "$*" | egrep -- '--\<ldflags\>|--\<libs\>|--\<ldadd\>')
+ test -n "$tmp" && OUT="$OUT -L@libdir@ -lYODA"
+--- bin/yoda-config.orig 2016-07-11 14:43:31.960503275 +0300
++++ bin/yoda-config 2016-07-11 14:43:41.200501112 +0300
+@@ -59,7 +59,7 @@
+
+ ## "Pre-rolled" build info
+ tmp=$( echo "$*" | egrep -- '--\<cflags\>|--\<cppflags\>|--\<cxxflags\>')
+-test -n "$tmp" && OUT="$OUT -I${prefix}/include @BOOST_CPPFLAGS@"
++test -n "$tmp" && OUT="$OUT -I${prefix}/include"
+
+ tmp=$( echo "$*" | egrep -- '--\<ldflags\>|--\<libs\>|--\<ldadd\>')
+ test -n "$tmp" && OUT="$OUT -L${exec_prefix}/lib -lYODA"
+--- configure.orig 2016-09-30 09:04:54.000000000 +0200
++++ configure 2016-09-30 09:07:44.000000000 +0200
+@@ -16508,11 +16508,15 @@
+ cat >conftest.py <<_ACEOF
+
+ import sys, string
++# Python 2 and 3 compatible
++from future.builtins import map
++# Python 2 and 3: forward-compatible
++from future.builtins import range
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
++for i in range(0, 4): minverhex = (minverhex << 8) + minver[i]
+ if sys.hexversion >= minverhex:
+ sys.exit( 0 )
+ else:
+@@ -16540,15 +16544,15 @@
+ fi
+
+
+- PYTHON_VERSION=`$PYTHON -c "import sys; print '.'.join(map(str, sys.version_info[:2]));"`
++ PYTHON_VERSION=`$PYTHON -c "from __future__ import print_function; import sys; print('.'.join(list(map(str, sys.version_info[:2]))));"`
+
+- YODA_PYTHONPATH=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True);"`
++ YODA_PYTHONPATH=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True));"`
+
+ ## Test for Python header
+ if test -x "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+ $as_echo_n "checking for Python include path... " >&6; }
+- python_incpath=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
++ python_incpath=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_inc());"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_incpath" >&5
+ $as_echo "$python_incpath" >&6; }
+ python_header="$python_incpath/Python.h"
+ --- pyext/setup.py.in.orig 2016-09-30 09:07:58.000000000 +0200
+ +++ pyext/setup.py.in 2016-09-30 09:08:17.000000000 +0200
+ @@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+ -if os.environ.has_key("BUILD_ROOTCOMPAT"):
+ +if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.6.2.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.6.2.patch
new file mode 100644
index 0000000000..a0eb97d0f3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.6.2.patch
@@ -0,0 +1,22 @@
+--- bin/yoda-config.in.orig 2016-07-11 14:43:05.700511377 +0300
++++ bin/yoda-config.in 2016-07-11 14:43:50.312499322 +0300
+@@ -59,7 +59,7 @@
+
+ ## "Pre-rolled" build info
+ tmp=$( echo "$*" | egrep -- '--\<cflags\>|--\<cppflags\>|--\<cxxflags\>')
+-test -n "$tmp" && OUT="$OUT -I@includedir@ @BOOST_CPPFLAGS@"
++test -n "$tmp" && OUT="$OUT -I@includedir@"
+
+ tmp=$( echo "$*" | egrep -- '--\<ldflags\>|--\<libs\>|--\<ldadd\>')
+ test -n "$tmp" && OUT="$OUT -L@libdir@ -lYODA"
+--- bin/yoda-config.orig 2016-07-11 14:43:31.960503275 +0300
++++ bin/yoda-config 2016-07-11 14:43:41.200501112 +0300
+@@ -59,7 +59,7 @@
+
+ ## "Pre-rolled" build info
+ tmp=$( echo "$*" | egrep -- '--\<cflags\>|--\<cppflags\>|--\<cxxflags\>')
+-test -n "$tmp" && OUT="$OUT -I${prefix}/include @BOOST_CPPFLAGS@"
++test -n "$tmp" && OUT="$OUT -I${prefix}/include"
+
+ tmp=$( echo "$*" | egrep -- '--\<ldflags\>|--\<libs\>|--\<ldadd\>')
+ test -n "$tmp" && OUT="$OUT -L${exec_prefix}/lib -lYODA"
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.6.3.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.6.3.patch
new file mode 100644
index 0000000000..4d50a3cf2d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.6.3.patch
@@ -0,0 +1,50 @@
+--- configure.orig 2016-08-09 21:07:54.000000000 +0200
++++ configure 2016-09-19 11:49:18.560986340 +0200
+@@ -16520,11 +16520,15 @@
+ cat >conftest.py <<_ACEOF
+
+ import sys, string
++# Python 2 and 3 compatible
++from future.builtins import map
++# Python 2 and 3: forward-compatible
++from future.builtins import range
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = list(map(int, '2.5'.split('.'))) + [0, 0, 0]
+ minverhex = 0
+-for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
++for i in range(0, 4): minverhex = (minverhex << 8) + minver[i]
+ if sys.hexversion >= minverhex:
+ sys.exit( 0 )
+ else:
+@@ -16552,15 +16556,15 @@
+ fi
+
+
+- PYTHON_VERSION=`$PYTHON -c "import sys; print '.'.join(map(str, sys.version_info[:2]));"`
++ PYTHON_VERSION=`$PYTHON -c "from __future__ import print_function; import sys; print('.'.join(list(map(str, sys.version_info[:2]))));"`
+
+- YODA_PYTHONPATH=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True);"`
++ YODA_PYTHONPATH=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(prefix='$prefix', plat_specific=True));"`
+
+ ## Test for Python header
+ if test -x "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+ $as_echo_n "checking for Python include path... " >&6; }
+- python_incpath=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_python_inc();"`
++ python_incpath=`$PYTHON -c "from __future__ import print_function; import distutils.sysconfig; print(distutils.sysconfig.get_python_inc());"`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $python_incpath" >&5
+ $as_echo "$python_incpath" >&6; }
+ python_header="$python_incpath/Python.h"
+ --- pyext/setup.py.in.orig 2016-09-06 17:25:39.993785138 +0200
+ +++ pyext/setup.py.in 2016-09-06 17:26:10.368489432 +0200
+ @@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+ -if os.environ.has_key("BUILD_ROOTCOMPAT"):
+ +if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.6.4.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.6.4.patch
new file mode 100644
index 0000000000..44b8ed06bc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.6.4.patch
@@ -0,0 +1,11 @@
+--- pyext/setup.py.in.orig 2016-09-30 09:13:02.000000000 +0200
++++ pyext/setup.py.in 2016-09-30 09:13:21.000000000 +0200
+@@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+-if os.environ.has_key("BUILD_ROOTCOMPAT"):
++if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.6.5.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.6.5.patch
new file mode 100644
index 0000000000..ee632655ad
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.6.5.patch
@@ -0,0 +1,23 @@
+--- bin/yoda2aida.orig 2016-10-07 13:25:57.355168158 +0200
++++ bin/yoda2aida 2016-10-07 13:26:04.779169090 +0200
+@@ -18,7 +18,7 @@
+ parser.add_option("-M", "--unmatch", dest="UNMATCH", metavar="PATT", default=None,
+ help="exclude histograms whose path matches this regex")
+
+-sys.stderr.write("WARNING: yoda2aida is DEPRECATED.\n It will die when AIDA does... *soon*\n"
++sys.stderr.write("WARNING: yoda2aida is DEPRECATED.\n It will die when AIDA does... *soon*\n")
+
+ opts, args = parser.parse_args()
+ in_out = parse_x2y_args(args, ".yoda", ".aida")
+
+--- pyext/setup.py.in.orig 2016-09-30 09:13:02.000000000 +0200
++++ pyext/setup.py.in 2016-09-30 09:13:21.000000000 +0200
+@@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+-if os.environ.has_key("BUILD_ROOTCOMPAT"):
++if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.6.6.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.6.6.patch
new file mode 100644
index 0000000000..fd400e4d7e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.6.6.patch
@@ -0,0 +1,11 @@
+--- pyext/setup.py.in.orig 2017-02-01 15:24:41.000000000 +0100
++++ pyext/setup.py.in 2017-02-01 15:25:04.000000000 +0100
+@@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+-if os.environ.has_key("BUILD_ROOTCOMPAT"):
++if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yoda/yoda-1.6.7.patch b/var/spack/repos/builtin/packages/yoda/yoda-1.6.7.patch
new file mode 100644
index 0000000000..cc45b3e689
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yoda/yoda-1.6.7.patch
@@ -0,0 +1,11 @@
+--- pyext/setup.py.in.orig 2017-07-17 12:13:12.057895620 +0200
++++ pyext/setup.py.in 2017-07-17 12:15:11.991048036 +0200
+@@ -34,7 +34,7 @@
+ extns = [ext("util"), ext("core", statics=static_files, depends=core_depends)]
+
+ ## Enable building of ROOT extension if ROOT is present
+-if os.environ.has_key("BUILD_ROOTCOMPAT"):
++if "BUILD_ROOTCOMPAT" in os.environ:
+ try:
+ # import ROOT
+ # TODO: Need to test for and use root-config in configure
diff --git a/var/spack/repos/builtin/packages/yorick/package.py b/var/spack/repos/builtin/packages/yorick/package.py
index 35d6e617a6..eb3e2a3698 100644
--- a/var/spack/repos/builtin/packages/yorick/package.py
+++ b/var/spack/repos/builtin/packages/yorick/package.py
@@ -4,7 +4,6 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
-import os
class Yorick(Package):
@@ -35,9 +34,12 @@ class Yorick(Package):
url = "https://github.com/dhmunro/yorick/archive/y_{0}.tar.gz"
return url.format(version.underscored)
- def install(self, spec, prefix):
- os.environ['FORTRAN_LINKAGE'] = '-Df_linkage'
+ def setup_build_environment(self, env):
+ env.set('FORTRAN_LINKAGE', '-Df_linkage')
+ if self.spec.satisfies('arch=aarch64:'):
+ env.set('FPU_IGNORE', '1')
+ def install(self, spec, prefix):
make("config")
filter_file(r'^CC.+',
diff --git a/var/spack/repos/builtin/packages/zipkin/package.py b/var/spack/repos/builtin/packages/zipkin/package.py
new file mode 100644
index 0000000000..841c89a1d2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/zipkin/package.py
@@ -0,0 +1,28 @@
+# 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 Zipkin(Package):
+ """Zipkin is a distributed tracing system. It helps gather timing
+ data needed to troubleshoot latency problems in service
+ architectures. Features include both the collection and lookup
+ of this data."""
+
+ homepage = "https://zipkin.io/"
+ url = "https://github.com/openzipkin/zipkin/archive/2.21.5.tar.gz"
+
+ version('2.21.5', sha256='e643a810f82f9ea50e2cb6847694c7645507d3deae77685a3a1bb841e0f885a2')
+ version('2.21.4', sha256='ee7b0110b3852479c925b6429ff278aa38b1d5da27f4762891b1f863e67bdad5')
+ version('2.21.3', sha256='02526e2ba4de85938b510cb2db01865ec46cdad53157862c39fa5e9b6cbd15b6')
+
+ depends_on('maven', type='build')
+ depends_on('java', type=('build', 'run'))
+
+ def install(self, spec, prefix):
+ mvn = which('mvn')
+ mvn('package', '-DskipTests')
+ install_tree('.', prefix)
diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py
index 4967bc0dbb..0d30f2d67c 100644
--- a/var/spack/repos/builtin/packages/zlib/package.py
+++ b/var/spack/repos/builtin/packages/zlib/package.py
@@ -3,14 +3,13 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
-
# Although zlib comes with a configure script, it does not use Autotools
# The AutotoolsPackage causes zlib to fail to build with PGI
class Zlib(Package):
"""A free, general-purpose, legally unencumbered lossless
- data-compression library."""
+ data-compression library.
+ """
homepage = "http://zlib.net"
# URL must remain http:// so Spack can bootstrap curl
diff --git a/var/spack/repos/builtin/packages/zsh/package.py b/var/spack/repos/builtin/packages/zsh/package.py
index 60bb3cd3e7..1288eddbad 100644
--- a/var/spack/repos/builtin/packages/zsh/package.py
+++ b/var/spack/repos/builtin/packages/zsh/package.py
@@ -13,11 +13,14 @@ class Zsh(AutotoolsPackage):
"""
homepage = "http://www.zsh.org"
- url = "http://downloads.sourceforge.net/project/zsh/zsh/5.4.2/zsh-5.4.2.tar.gz"
-
- version('5.4.2', sha256='957bcdb2c57f64c02f673693ea5a7518ef24b6557aeb3a4ce222cefa6d74acc9')
- version('5.3.1', sha256='3d94a590ff3c562ecf387da78ac356d6bea79b050a9ef81e3ecb9f8ee513040e')
- version('5.1.1', sha256='94ed5b412023761bc8d2f03c173f13d625e06e5d6f0dff2c7a6e140c3fa55087')
+ url = "http://downloads.sourceforge.net/project/zsh/zsh/5.4.2/zsh-5.4.2.tar.xz"
+
+ version('5.8', sha256='dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27')
+ version('5.7.1', sha256='7260292c2c1d483b2d50febfa5055176bd512b32a8833b116177bf5f01e77ee8')
+ version('5.6.2', sha256='a50bd66c0557e8eca3b8fa24e85d0de533e775d7a22df042da90488623752e9e')
+ version('5.4.2', sha256='a80b187b6b770f092ea1f53e89021d06c03d8bbe6a5e996bcca3267de14c5e52')
+ version('5.3.1', sha256='fc886cb2ade032d006da8322c09a7e92b2309177811428b121192d44832920da')
+ version('5.1.1', sha256='74e9453b5470b3c0970f9f93cfd603d241c3d7b1968adc0e4b3951073e8d3dec')
# Testing for terminal related things causes failures in e.g. Jenkins.
# See e.g. https://www.zsh.org/mla/users/2003/msg00845.html,