From c114cf019d0f8e2f74778ef22a9734b73cc0bf32 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Wed, 28 Jul 2021 16:09:54 -0500 Subject: [PATCH 001/414] petsc: update config option logic for locating dependencies (#25074) Primarily use --with-package-include, --with-package-lib options (vs. --with-package-dir) --- .../repos/builtin/packages/petsc/package.py | 141 ++++++------------ 1 file changed, 48 insertions(+), 93 deletions(-) diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 1ee1a3825f3..c509e7f09af 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -366,71 +366,84 @@ def install(self, spec, prefix): else: options.append('--with-clanguage=C') - # PETSc depends on scalapack when '+mumps' (see depends()) - # help PETSc pick up Scalapack from MKL - if spec.satisfies('+mumps'): - scalapack = spec['scalapack'].libs - options.extend([ - '--with-scalapack-lib=%s' % scalapack.joined(), - '--with-scalapack=1' - ]) - else: - options.extend([ - '--with-scalapack=0' - ]) - # Activates library support if needed (i.e. direct dependency) - if '^libjpeg-turbo' in spec: - jpeg_library = ('libjpeg-turbo', 'libjpeg') - else: - jpeg_library = 'libjpeg' + jpeg_sp = spec['jpeg'].name if 'jpeg' in spec else 'jpeg' + scalapack_sp = spec['scalapack'].name if 'scalapack' in spec else 'scalapack' + # tuple format (spacklibname, petsclibname, useinc, uselib) + # default: 'gmp', => ('gmp', 'gmp', True, True) + # any other combination needs a full tuple + # if not (useinc || uselib): usedir - i.e (False, False) for library in ( - 'cuda', - 'hip', + ('cuda', 'cuda', False, False), + ('hip', 'hip', False, False), 'metis', 'hypre', 'parmetis', + ('superlu-dist', 'superlu_dist', True, True), + ('scotch', 'ptscotch', True, True), + ('suite-sparse:umfpack,klu,cholmod,btf,ccolamd,colamd,camd,amd, \ + suitesparseconfig', 'suitesparse', True, True), + ('hdf5:hl,fortran', 'hdf5', True, True), + 'zlib', 'mumps', 'trilinos', - 'fftw', - 'valgrind', + ('fftw:mpi', 'fftw', True, True), + ('valgrind', 'valgrind', False, False), 'gmp', 'libpng', - 'giflib', + ('giflib', 'giflib', False, False), 'mpfr', - ('netcdf-c', 'netcdf'), - ('parallel-netcdf', 'pnetcdf'), - 'moab', + ('netcdf-c', 'netcdf', True, True), + ('parallel-netcdf', 'pnetcdf', True, True), + ('moab', 'moab', False, False), 'openmp', - 'random123', + ('random123', 'random123', False, False), 'exodusii', 'cgns', 'memkind', 'p4est', - 'saws', - ('libyaml', 'yaml'), + ('saws', 'saws', False, False), + ('libyaml', 'yaml', True, True), 'hwloc', - jpeg_library, + (jpeg_sp, 'libjpeg', True, True), + (scalapack_sp, 'scalapack', False, True), ): # Cannot check `library in spec` because of transitive deps # Cannot check variants because parmetis keys on +metis if isinstance(library, tuple): - library, petsclibname = library + spacklibname, petsclibname, useinc, uselib = library else: + spacklibname = library petsclibname = library + useinc = True + uselib = True - library_requested = library in spec.dependencies_dict() + library_requested = spacklibname.split(':')[0] in spec.dependencies_dict() options.append( '--with-{library}={value}'.format( library=petsclibname, value=('1' if library_requested else '0')) ) if library_requested: - options.append( - '--with-{library}-dir={path}'.format( - library=petsclibname, path=spec[library].prefix) - ) + if useinc or uselib: + if useinc: + options.append( + '--with-{library}-include={value}'.format( + library=petsclibname, + value=spec[spacklibname].prefix.include) + ) + if uselib: + options.append( + '--with-{library}-lib={value}'.format( + library=petsclibname, + value=spec[spacklibname].libs.joined()) + ) + else: + options.append( + '--with-{library}-dir={path}'.format( + library=petsclibname, path=spec[spacklibname].prefix) + ) if '+cuda' in spec: if not spec.satisfies('cuda_arch=none'): @@ -441,67 +454,9 @@ def install(self, spec, prefix): options.append('CUDAFLAGS=-gencode arch=compute_{0},code=sm_{0}' .format(cuda_arch[0])) - # PETSc does not pick up SuperluDist from the dir as they look for - # superlu_dist_4.1.a if 'superlu-dist' in spec: if spec.satisfies('@3.10.3:'): options.append('--with-cxx-dialect=C++11') - options.extend([ - '--with-superlu_dist-include=%s' % - spec['superlu-dist'].prefix.include, - '--with-superlu_dist-lib=%s' % - join_path(spec['superlu-dist'].prefix.lib, - 'libsuperlu_dist.a'), - '--with-superlu_dist=1' - ]) - else: - options.append( - '--with-superlu_dist=0' - ) - # SuiteSparse: configuring using '--with-suitesparse-dir=...' has some - # issues, so specify directly the include path and the libraries. - if '+suite-sparse' in spec: - ss_spec = 'suite-sparse:umfpack,klu,cholmod,btf,ccolamd,colamd,' \ - 'camd,amd,suitesparseconfig' - options.extend([ - '--with-suitesparse-include=%s' % spec[ss_spec].prefix.include, - '--with-suitesparse-lib=%s' % spec[ss_spec].libs.joined(), - '--with-suitesparse=1' - ]) - else: - options.append('--with-suitesparse=0') - - # PTScotch: Since we are not using the Parmetis wrapper for now, - # we cannot use '--with-ptscotch-dir=...' - if '+ptscotch' in spec: - options.extend([ - '--with-ptscotch-include=%s' % spec['scotch'].prefix.include, - '--with-ptscotch-lib=%s' % spec['scotch'].libs.joined(), - '--with-ptscotch=1' - ]) - else: - options.append('--with-ptscotch=0') - - # hdf5: configure detection is convoluted for pflotran - if '+hdf5' in spec: - options.extend([ - '--with-hdf5-include=%s' % spec['hdf5'].prefix.include, - '--with-hdf5-lib=%s' % spec['hdf5:hl,fortran'].libs.joined(), - '--with-hdf5=1' - ]) - else: - options.append('--with-hdf5=0') - - # zlib: configuring using '--with-zlib-dir=...' has some issues with - # SuiteSparse so specify directly the include path and the libraries. - if 'zlib' in spec: - options.extend([ - '--with-zlib-include=%s' % spec['zlib'].prefix.include, - '--with-zlib-lib=%s' % spec['zlib'].libs.joined(), - '--with-zlib=1' - ]) - else: - options.append('--with-zlib=0') if '+mkl-pardiso' in spec: options.append( From db00cf24c011707afeb79c74f3c9e2076de78ed4 Mon Sep 17 00:00:00 2001 From: Cyrus Harrison Date: Wed, 28 Jul 2021 15:09:19 -0700 Subject: [PATCH 002/414] add parmetis variant to conduit (#25127) --- .../repos/builtin/packages/conduit/package.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py index 2480841aba4..4ff384b9ae1 100644 --- a/var/spack/repos/builtin/packages/conduit/package.py +++ b/var/spack/repos/builtin/packages/conduit/package.py @@ -75,6 +75,7 @@ class Conduit(CMakePackage): description="Build Conduit with HDF5 1.8.x (compatibility mode)") variant("silo", default=False, description="Build Conduit Silo support") variant("adios", default=False, description="Build Conduit ADIOS support") + variant("parmetis", default=False, description="Build Conduit Parmetis support") # zfp compression variant("zfp", default=False, description="Build Conduit ZFP support") @@ -144,6 +145,12 @@ class Conduit(CMakePackage): # hdf5 zfp plugin when both hdf5 and zfp are on depends_on("h5z-zfp~fortran", when="+hdf5+zfp") + ####################### + # Parmetis + ####################### + depends_on("parmetis", when="+parmetis") + depends_on("metis", when="+parmetis") + ####################### # MPI ####################### @@ -543,6 +550,21 @@ def hostconfig(self, spec, prefix): else: cfg.write("# adios not built by spack \n") + ####################### + # Parmetis + ####################### + + cfg.write("# parmetis from spack \n") + + if "+parmetis" in spec: + cfg.write(cmake_cache_entry("METIS_DIR", spec['metis'].prefix)) + cfg.write(cmake_cache_entry("PARMETIS_DIR", spec['parmetis'].prefix)) + else: + cfg.write("# parmetis not built by spack \n") + + ####################### + # Finish host-config + ####################### cfg.write("##################################\n") cfg.write("# end spack generated host-config\n") cfg.write("##################################\n") From adb507bdd9f6bef0dcaf2a07d6187dc817828b3d Mon Sep 17 00:00:00 2001 From: Brian Van Essen Date: Wed, 28 Jul 2021 15:14:58 -0700 Subject: [PATCH 003/414] Added support for using the Cray LibSci BLAS/LAPACK/ScaLAPACK library. (#25124) --- var/spack/repos/builtin/packages/dihydrogen/package.py | 7 +++++-- var/spack/repos/builtin/packages/hydrogen/package.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py index 4a133c0a059..1e596cd9faa 100644 --- a/var/spack/repos/builtin/packages/dihydrogen/package.py +++ b/var/spack/repos/builtin/packages/dihydrogen/package.py @@ -53,8 +53,8 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage): 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') + variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl', 'libsci'), + description='Enable the use of OpenBlas/MKL/Accelerate/ESSL/LibSci') conflicts('~cuda', when='+nvshmem') @@ -101,6 +101,9 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage): depends_on('essl threads=openmp', when='blas=essl +openmp_blas') depends_on('netlib-lapack +external-blas', when='blas=essl') + depends_on('cray-libsci', when='blas=libsci') + depends_on('cray-libsci +openmp', when='blas=libsci +openmp_blas') + # Distconv builds require cuda conflicts('~cuda', when='+distconv') diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index 61394c48180..a00895fceec 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -50,8 +50,8 @@ class Hydrogen(CMakePackage, CudaPackage, ROCmPackage): variant('build_type', default='Release', description='The build type to build', values=('Debug', 'Release')) - variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl'), - description='Enable the use of OpenBlas/MKL/Accelerate/ESSL') + variant('blas', default='openblas', values=('openblas', 'mkl', 'accelerate', 'essl', 'libsci'), + description='Enable the use of OpenBlas/MKL/Accelerate/ESSL/LibSci') variant('mpfr', default=False, description='Support GNU MPFR\'s' 'arbitrary-precision floating-point arithmetic') @@ -90,6 +90,9 @@ class Hydrogen(CMakePackage, CudaPackage, ROCmPackage): depends_on('essl threads=openmp', when='blas=essl +openmp_blas') depends_on('netlib-lapack +external-blas', when='blas=essl') + depends_on('cray-libsci', when='blas=libsci') + depends_on('cray-libsci +openmp', when='blas=libsci +openmp_blas') + # Specify the correct version of Aluminum depends_on('aluminum@:0.3.99', when='@:1.3.99 +al') depends_on('aluminum@0.4:0.4.99', when='@1.4:1.4.99 +al') From b42b0cd45ad4dbb756b087ec610df7d29b0b1622 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 29 Jul 2021 09:08:32 +0200 Subject: [PATCH 004/414] Move build tests from GA to Gitlab (#25120) Modifications: - Remove the "build tests" workflow from GitHub Actions - Setup a similar e2e test on Gitlab In this way we'll reduce load on GitHub Actions workflows and for e2e tests will benefit from the buildcache reuse granted by pipelines. --- .github/workflows/linux_build_tests.yaml | 77 ------------------- README.md | 1 - .../gitlab/cloud_pipelines/.gitlab-ci.yml | 32 +++++++- .../stacks/build_systems/spack.yaml | 61 +++++++++++++++ 4 files changed, 92 insertions(+), 79 deletions(-) delete mode 100644 .github/workflows/linux_build_tests.yaml create mode 100644 share/spack/gitlab/cloud_pipelines/stacks/build_systems/spack.yaml diff --git a/.github/workflows/linux_build_tests.yaml b/.github/workflows/linux_build_tests.yaml deleted file mode 100644 index 256b8bc4566..00000000000 --- a/.github/workflows/linux_build_tests.yaml +++ /dev/null @@ -1,77 +0,0 @@ -name: linux builds - -on: - push: - branches: - - develop - - releases/** - paths-ignore: - # Don't run if we only modified packages in the built-in repository - - 'var/spack/repos/builtin/**' - - '!var/spack/repos/builtin/packages/lz4/**' - - '!var/spack/repos/builtin/packages/mpich/**' - - '!var/spack/repos/builtin/packages/tut/**' - - '!var/spack/repos/builtin/packages/py-setuptools/**' - - '!var/spack/repos/builtin/packages/openjpeg/**' - - '!var/spack/repos/builtin/packages/r-rcpp/**' - - '!var/spack/repos/builtin/packages/ruby-rake/**' - # Don't run if we only modified documentation - - 'lib/spack/docs/**' - pull_request: - branches: - - develop - - releases/** - paths-ignore: - # Don't run if we only modified packages in the built-in repository - - 'var/spack/repos/builtin/**' - - '!var/spack/repos/builtin/packages/lz4/**' - - '!var/spack/repos/builtin/packages/mpich/**' - - '!var/spack/repos/builtin/packages/tut/**' - - '!var/spack/repos/builtin/packages/py-setuptools/**' - - '!var/spack/repos/builtin/packages/openjpeg/**' - - '!var/spack/repos/builtin/packages/r-rcpp/**' - - '!var/spack/repos/builtin/packages/ruby-rake/**' - # Don't run if we only modified documentation - - 'lib/spack/docs/**' - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - package: - - lz4 # MakefilePackage - - mpich~fortran # AutotoolsPackage - - 'tut%gcc@:10.99.99' # WafPackage - - py-setuptools # PythonPackage - - openjpeg # CMakePackage - - r-rcpp # RPackage - - ruby-rake # RubyPackage - steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2.1.6 - with: - path: ~/.ccache - key: ccache-build-${{ matrix.package }} - restore-keys: | - ccache-build-${{ matrix.package }} - - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - name: Install System Packages - run: | - sudo apt-get update - sudo apt-get -yqq install ccache gfortran perl perl-base r-base r-base-core r-base-dev ruby findutils openssl libssl-dev libpciaccess-dev - R --version - perl --version - ruby --version - - name: Copy Configuration - run: | - ccache -M 300M && ccache -z - # Set up external deps for build tests, b/c they take too long to compile - cp share/spack/qa/configuration/*.yaml etc/spack/ - - name: Run the build test - run: | - . share/spack/setup-env.sh - SPEC=${{ matrix.package }} share/spack/qa/run-build-tests - ccache -s diff --git a/README.md b/README.md index 964637da168..577ff81c828 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Spack Spack [![Unit Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions) -[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions) [![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22) [![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack) [![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io) diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index bbcb5893214..c69df706dad 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -62,7 +62,7 @@ default: # TEMPLATE FOR ADDING ANOTHER PIPELINE ######################################## # -# First add a new spack.yml defining the pipline to run in +# First add a new spack.yml defining the pipeline to run in # share/spack/gitlab/cloud_pipelines/stacks/my-super-cool-stack/spack.yaml # # Then add the following entries at the bottom of this file: @@ -158,3 +158,33 @@ e4s-on-power-develop-build: - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml job: e4s-on-power-develop-generate strategy: depend + + +######################################### +# Build tests for different build-systems +######################################### +.build_systems: + variables: + SPACK_CI_STACK_NAME: build_systems + +build_systems-pr-generate: + extends: [ ".build_systems", ".pr-generate"] + +build_systems-develop-generate: + extends: [ ".build_systems", ".develop-generate"] + +build_systems-pr-build: + extends: [ ".build_systems", ".pr-build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: build_systems-pr-generate + strategy: depend + +build_systems-develop-build: + extends: [ ".build_systems", ".develop-build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: build_systems-develop-generate + strategy: depend diff --git a/share/spack/gitlab/cloud_pipelines/stacks/build_systems/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/build_systems/spack.yaml new file mode 100644 index 00000000000..5bbf04051d3 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/build_systems/spack.yaml @@ -0,0 +1,61 @@ +spack: + view: false + concretization: separately + + config: + install_tree: + root: /home/software/spack + padded_length: 512 + projections: + all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}' + + definitions: + - default_specs: + - lz4 # MakefilePackage + - mpich~fortran # AutotoolsPackage + - tut # WafPackage + - py-setuptools # PythonPackage + - openjpeg # CMakePackage + - r-rcpp # RPackage + - ruby-rake # RubyPackage + - arch: + - '%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64' + + specs: + - matrix: + - - $default_specs + - - $arch + + mirrors: { "mirror": "s3://spack-binaries-develop/build_systems" } + + gitlab-ci: + script: + - . "./share/spack/setup-env.sh" + - spack --version + - cd ${SPACK_CONCRETE_ENV_DIR} + - spack env activate --without-view . + - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'" + - spack -d ci rebuild + + mappings: + - match: [ 'os=ubuntu18.04' ] + runner-attributes: + image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2020-09-01", "entrypoint": [ "" ] } + tags: [ "spack", "public", "large", "x86_64" ] + + temporary-storage-url-prefix: "s3://spack-binaries-prs/pipeline-storage" + broken-specs-url: "s3://spack-binaries-develop/broken-specs" + service-job-attributes: + before_script: + - . "./share/spack/setup-env.sh" + - spack --version + - cd share/spack/gitlab/cloud_pipelines/stacks/build_systems + - spack env activate --without-view . + image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2020-09-01", "entrypoint": [""] } + tags: ["spack", "public", "medium", "x86_64"] + + cdash: + build-group: Build tests for different build systems + url: https://cdash.spack.io + project: Spack Testing + site: Cloud Gitlab Infrastructure From a90441827087a79dd85721b5c3e4443c2ccba97a Mon Sep 17 00:00:00 2001 From: Itaru Kitayama Date: Thu, 29 Jul 2021 17:34:50 +0900 Subject: [PATCH 005/414] nest: add v3.0 and v2.20.1, removed previous versions (#24328) Co-authored-by: Itaru Kitayama --- var/spack/repos/builtin/packages/nest/package.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/var/spack/repos/builtin/packages/nest/package.py b/var/spack/repos/builtin/packages/nest/package.py index 7b7658028fd..1f2e7af41ab 100644 --- a/var/spack/repos/builtin/packages/nest/package.py +++ b/var/spack/repos/builtin/packages/nest/package.py @@ -13,17 +13,12 @@ class Nest(CMakePackage): than on the exact morphology of individual neurons.""" homepage = "http://www.nest-simulator.org" - url = "https://github.com/nest/nest-simulator/releases/download/v2.12.0/nest-2.12.0.tar.gz" + url = "https://github.com/nest/nest-simulator/archive/refs/tags/v3.0.tar.gz" git = "https://github.com/nest/nest-simulator.git" version('master', branch='master') - version('2.20.0', sha256='40e33187c22d6e843d80095b221fa7fd5ebe4dbc0116765a91fc5c425dd0eca4') - version('2.14.0', sha256='d6316d6c9153100a3220488abfa738958c4b65bf2622bd15540e4aa81e79f17f') - version('2.12.0', sha256='bac578f38bb0621618ee9d5f2f1febfee60cddc000ff32e51a5f5470bb3df40d') - version('2.10.0', sha256='2b6fc562cd6362e812d94bb742562a5a685fb1c7e08403765dbe123d59b0996c') - version('2.8.0', sha256='d47325b27a5599b6ea58a3c4ef06656e7c5a4941c4e94dec6a5c2fa956209915') - version('2.6.0', sha256='5fe4924bc57d0c7dd820aa371de935eedf7e813832c0eee2c976b33c9a8db4cf') - version('2.4.2', sha256='8f86e58c1a12b733ffabd8b0400326e5a3494a458149ea8ebe9f19674d05b91b') + version('3.0', sha256='d481ea67f3251fe3aadf5252ab0a999172f0cd5536c5985366d271d772e686e6') + version('2.20.1', sha256='df3d32b5899d5d444f708037b290f889ac6ff8eae6b7be9e9faee2c0d660d8e5') maintainers = ['ikitayama'] From 095f327f323c4a419ae19faa38fe336ce07763f1 Mon Sep 17 00:00:00 2001 From: sknigh Date: Thu, 29 Jul 2021 11:48:41 -0700 Subject: [PATCH 006/414] Update sst-elements and dependency packages (#25041) * sst-elements: add optional support for flashdimmsim, dramsim3 and add new packages for each * sst-dumpi: add version 7.1.0 * sst-core: autotools dependencies are required for all versions * new package: dtc * add error message redirect for +dumpi, otf, and otf2: these are not currently supported --- .../builtin/packages/dramsim3/package.py | 41 +++++++ .../repos/builtin/packages/dtc/package.py | 32 +++++ .../builtin/packages/flashdimmsim/package.py | 30 +++++ .../builtin/packages/sst-core/package.py | 8 +- .../builtin/packages/sst-dumpi/package.py | 3 + .../builtin/packages/sst-elements/package.py | 114 ++++++++++++------ 6 files changed, 190 insertions(+), 38 deletions(-) create mode 100644 var/spack/repos/builtin/packages/dramsim3/package.py create mode 100644 var/spack/repos/builtin/packages/dtc/package.py create mode 100644 var/spack/repos/builtin/packages/flashdimmsim/package.py diff --git a/var/spack/repos/builtin/packages/dramsim3/package.py b/var/spack/repos/builtin/packages/dramsim3/package.py new file mode 100644 index 00000000000..ee784871d05 --- /dev/null +++ b/var/spack/repos/builtin/packages/dramsim3/package.py @@ -0,0 +1,41 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * + + +# Uses Cmake but does not follow a sane convention +class Dramsim3(Package): + """DRAMsim3 models the timing paramaters and memory controller behavior + for several DRAM protocols such as DDR3, DDR4, LPDDR3, LPDDR4, GDDR5, + GDDR6, HBM, HMC, STT-MRAM. It is implemented in C++ as an objected + oriented model that includes a parameterized DRAM bank model, DRAM + controllers, command queues and system-level interfaces to interact with + a CPU simulator (GEM5, ZSim) or trace workloads. It is designed to be + accurate, portable and parallel.""" + + homepage = "https://github.com/umd-memsys/DRAMsim3" + url = "https://github.com/umd-memsys/DRAMsim3/archive/refs/tags/1.0.0.tar.gz" + git = "https://github.com/umd-memsys/DRAMsim3.git" + + version('master', branch='master') + + version('1.0.0', sha256='064b732256f3bec9b553e00bcbc9a1d82172ec194f2b69c8797f585200b12566') + + depends_on('cmake', type='build') + + def install(self, spec, prefix): + cmake = which('cmake') + cmake('.') + + make() + + include_path = prefix + '/include' + mkdir(prefix.bin) + mkdir(prefix.lib) + mkdir(include_path) + + install('dramsim3main', prefix.bin) + install('libdramsim3.so', prefix.lib) + install('src/*.h', include_path) diff --git a/var/spack/repos/builtin/packages/dtc/package.py b/var/spack/repos/builtin/packages/dtc/package.py new file mode 100644 index 00000000000..96e00fcc524 --- /dev/null +++ b/var/spack/repos/builtin/packages/dtc/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Dtc(MakefilePackage): + """Device Tree Compiler (dtc) toolchain for working with device tree + source and binary files and also libfdt, a utility library for reading + and manipulating the binary format.""" + + homepage = "https://github.com/dgibson/dtc" + url = "https://github.com/dgibson/dtc/archive/refs/tags/v1.6.1.tar.gz" + + version('1.6.1', sha256='6401c9a0f577a270df4632bf0f3e5454ccc7a5ca3caefa67a3e1c29c9c6b8c60') + + depends_on('bison', type='build') + # Build error with flex 2.6.3 + # (convert-dtsv0-lexer.lex.c:398: error: "yywrap" redefined) + depends_on('flex@2.6.4:', type='build') + depends_on('libyaml', type='build') + depends_on('pkg-config', type='build') + depends_on('python', type='build') + + def edit(self, spec, prefix): + makefile = FileFilter('Makefile') + makefile.filter( + 'PREFIX =.*', + 'PREFIX = %s' % prefix + ) diff --git a/var/spack/repos/builtin/packages/flashdimmsim/package.py b/var/spack/repos/builtin/packages/flashdimmsim/package.py new file mode 100644 index 00000000000..49f8a3563aa --- /dev/null +++ b/var/spack/repos/builtin/packages/flashdimmsim/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Flashdimmsim(Package): + """FlashDIMMSim: a reasonably accurate flash DIMM simulator.""" + homepage = "https://github.com/slunk/FlashDIMMSim" + git = "https://github.com/slunk/FlashDIMMSim.git" + + version('master', branch='master') + + build_directory = 'src' + + def install(self, spec, prefix): + with working_dir(self.build_directory): + make() # build program + make('libfdsim.so') # build shared library + + mkdir(prefix.bin) + mkdir(prefix.lib) + mkdir(prefix.include) + + install_tree('ini', join_path(prefix, 'ini')) + install('FDSim', prefix.bin) + install('libfdsim.so', prefix.lib) + install('*.h', prefix.include) diff --git a/var/spack/repos/builtin/packages/sst-core/package.py b/var/spack/repos/builtin/packages/sst-core/package.py index d5ac62639a9..09d7dce40d8 100644 --- a/var/spack/repos/builtin/packages/sst-core/package.py +++ b/var/spack/repos/builtin/packages/sst-core/package.py @@ -16,7 +16,7 @@ class SstCore(AutotoolsPackage): git = "https://github.com/sstsimulator/sst-core.git" url = "https://github.com/sstsimulator/sst-core/releases/download/v11.0.0_Final/sstcore-11.0.0.tar.gz" - maintainers = ['jjwilke'] + maintainers = ['sknigh'] version('11.0.0', sha256="25d17c35d1121330ad74375b6d27fe5c5592d1add3edf0bbb356aa3b5f59f401") version('10.1.0', sha256="e464213a81c7b3ccec994fdba2b56992b52fb9a6db089ef7c3445b54306d4b87") @@ -42,9 +42,9 @@ class SstCore(AutotoolsPackage): depends_on("hdf5", when="+hdf5") depends_on("zlib", when="+zlib") - depends_on('autoconf@1.68:', type='build', when='@master:') - depends_on('automake@1.11.1:', type='build', when='@master:') - depends_on('libtool@1.2.4:', type='build', when='@master:') + depends_on('autoconf@1.68:', type='build') + depends_on('automake@1.11.1:', type='build') + depends_on('libtool@1.2.4:', type='build') depends_on('m4', type='build', when='@master:') depends_on('gettext') diff --git a/var/spack/repos/builtin/packages/sst-dumpi/package.py b/var/spack/repos/builtin/packages/sst-dumpi/package.py index d17717725e3..bc62971190e 100644 --- a/var/spack/repos/builtin/packages/sst-dumpi/package.py +++ b/var/spack/repos/builtin/packages/sst-dumpi/package.py @@ -22,7 +22,10 @@ class SstDumpi(AutotoolsPackage): url = "https://github.com/sstsimulator/sst-dumpi/archive/6.1.0.tar.gz" git = "https://github.com/sstsimulator/sst-dumpi.git" + maintainers = ['sknigh', 'jpkenny', 'calewis'] + version('master', branch='master') + version('7.1.0', sha256='628eb3f7c2d0975461d45065f91c723d3abac756fa36af93c09f4fed195794bf') version('6.1.0', sha256='d4f6afcff5ba67fcc3a29f461afbb59855053840f5f320552a77b4e14c687bb6') depends_on('autoconf@1.68:', type='build') diff --git a/var/spack/repos/builtin/packages/sst-elements/package.py b/var/spack/repos/builtin/packages/sst-elements/package.py index 9a61a8c6539..ac377164882 100644 --- a/var/spack/repos/builtin/packages/sst-elements/package.py +++ b/var/spack/repos/builtin/packages/sst-elements/package.py @@ -9,14 +9,14 @@ class SstElements(AutotoolsPackage): """SST Elements implements a range of components for performing architecture simulation from node-level to system-level using - the SST discrete event core + the SST discrete event core. """ homepage = "https://github.com/sstsimulator" git = "https://github.com/sstsimulator/sst-elements.git" url = "https://github.com/sstsimulator/sst-elements/releases/download/v11.0.0_Final/sstelements-11.0.0.tar.gz" - maintainers = ['jjwilke'] + maintainers = ['sknigh'] version('11.0.0', sha256="bf265cb25afc041b74422cc5cddc8e3ae1e7c3efa3e37e699dac4e3f7629be6e") version('10.1.0', sha256="a790561449795dac48a84c525b8e0b09f05d0b0bff1a0da1aa2e903279a03c4a") @@ -26,20 +26,36 @@ class SstElements(AutotoolsPackage): version('develop', branch='devel') version('master', branch='master') - variant("pin", default=False, + # Contact SST developers (http://github.com/sstsimulator) + # if your use case requires support for: + # - balar + # - OTF2 + # - stake (riscv simulator) + + variant("pin", default=False, description="Enable the Ariel CPU model") - variant("dramsim2", default=False, + variant("dramsim2", default=False, description="Build with DRAMSim2 support") - variant("nvdimmsim", default=False, + variant("dramsim3", default=False, + description="Build with DRAMSim3 support") + variant("dumpi", default=False, + description="Build with Dumpi support") + variant("flashdimmsim", default=False, + description="Build with FlashDIMMSim support") + variant("nvdimmsim", default=False, description="Build with NVDimmSim support") - variant("hybridsim", default=False, + variant("hybridsim", default=False, description="Build with HybridSim support") - variant("goblin", default=False, + variant("goblin", default=False, description="Build with GoblinHMCSim support") - variant("hbm", default=False, + variant("hbm", default=False, description="Build with HBM DRAMSim2 support") - variant("ramulator", default=False, + variant("ramulator", default=False, description="Build with Ramulator support") + variant("otf", default=False, + description="Build with OTF") + variant("otf2", default=False, + description="Build with OTF2") depends_on("python", type=('build', 'run')) depends_on("sst-core") @@ -48,18 +64,31 @@ class SstElements(AutotoolsPackage): depends_on("intel-pin", when="+pin") depends_on("dramsim2@2:", when="+dramsim2") + depends_on("dramsim3@master", when="+dramsim3") + depends_on("sst-dumpi@master", when="+dumpi") + depends_on("flashdimmsim", when="+flashdimmsim") depends_on("hybridsim@2.0.1", when="+hybridsim") + depends_on("dramsim3@master", when="+hybridsim") + depends_on("nvdimmsim@2.0.0", when="+hybridsim") depends_on("nvdimmsim@2.0.0", when="+nvdimmsim") depends_on("goblin-hmc-sim", when="+goblin") depends_on("ramulator@sst", when="+ramulator") depends_on("hbm-dramsim2", when="+hbm") - depends_on("nvdimmsim@2.0.0", when="+hybridsim") + depends_on("otf", when="+otf") + depends_on("otf2", when="+otf2") depends_on("gettext") + depends_on("zlib") - depends_on('autoconf@1.68:', type='build', when='@master:') - depends_on('automake@1.11.1:', type='build', when='@master:') - depends_on('libtool@1.2.4:', type='build', when='@master:') - depends_on('m4', type='build', when='@master:') + depends_on('autoconf@1.68:', type='build') + depends_on('automake@1.11.1:', type='build') + depends_on('libtool@1.2.4:', type='build') + depends_on('m4', type='build') + + conflicts('+dumpi', msg='Dumpi not currently supported, contact SST Developers for help') + conflicts('+otf', msg='OTF not currently supported, contact SST Developers for help') + conflicts('+otf2', msg='OTF2 not currently supported, contact SST Developers for help') + conflicts('~dramsim2', when='+hybridsim', msg='hybridsim requires dramsim2, spec should include +dramsim2') + conflicts('~nvdimmsim', when='+hybridsim', msg='hybridsim requires nvdimmsim, spec should include +nvdimmsim') # force out-of-source builds build_directory = 'spack-build' @@ -69,35 +98,52 @@ def autoreconf(self, spec, prefix): bash('autogen.sh') def configure_args(self): + spec = self.spec args = [] - if '+pdes_mpi' in self.spec["sst-core"]: - env['CC'] = self.spec['mpi'].mpicc - env['CXX'] = self.spec['mpi'].mpicxx - env['F77'] = self.spec['mpi'].mpif77 - env['FC'] = self.spec['mpi'].mpifc - if "+pin" in self.spec: - args.append("--with-pin=%s" % self.spec["intel-pin"].prefix) + if '+pdes_mpi' in spec["sst-core"]: + env['CC'] = spec['mpi'].mpicc + env['CXX'] = spec['mpi'].mpicxx + env['F77'] = spec['mpi'].mpif77 + env['FC'] = spec['mpi'].mpifc - if "+dramsim2" in self.spec or "+hybridsim" in self.spec: - args.append("--with-dramsim=%s" % self.spec["dramsim2"].prefix) + if "+pin" in spec: + args.append("--with-pin=%s" % spec["intel-pin"].prefix) - if "+nvdimmsim" in self.spec or "+hybridsim" in self.spec: - args.append("--with-nvdimmsim=%s" % self.spec["nvdimmsim"].prefix) + if "+dramsim2" in spec or "+hybridsim" in spec: + args.append("--with-dramsim=%s" % spec["dramsim2"].prefix) - if "+hybridsim" in self.spec: - args.append("--with-hybridsim=%s" % self.spec["hybridsim"].prefix) + if "+dramsim3" in spec: + args.append("--with-dramsim3=%s" % spec["dramsim3"].prefix) - if "+goblin" in self.spec: + if "+dumpi" in spec: + args.append("--with-dumpi=%s" % spec["sst-dumpi"].prefix) + + if "+flashdimmsim" in spec: + args.append("--with-fdsim=%s" % spec["flashdimmsim"].prefix) + + if "+nvdimmsim" in spec or "+hybridsim" in spec: + args.append("--with-nvdimmsim=%s" % spec["nvdimmsim"].prefix) + + if "+hybridsim" in spec: + args.append("--with-hybridsim=%s" % spec["hybridsim"].prefix) + + if "+goblin" in spec: args.append("--with-goblin-hmcsim=%s" % - self.spec["goblin-hmc-sim"].prefix) + spec["goblin-hmc-sim"].prefix) - if "+hbm" in self.spec: + if "+hbm" in spec: args.append("--with-hbmdramsim=%s" % - self.spec["hbm-dramsim2"].prefix) + spec["hbm-dramsim2"].prefix) - if "+ramulator" in self.spec: - args.append("--with-ramulator=%s" % self.spec["ramulator"].prefix) + if "+ramulator" in spec: + args.append("--with-ramulator=%s" % spec["ramulator"].prefix) - args.append("--with-sst-core=%s" % self.spec["sst-core"].prefix) + if "+otf2" in spec: + args.append("--with-otf2=%s" % spec["otf2"].prefix) + + if "+otf" in spec: + args.append("--with-otf=%s" % spec["otf"].prefix) + + args.append("--with-sst-core=%s" % spec["sst-core"].prefix) return args From d7771f190f226a0537bf7f414758b4dc37c41ede Mon Sep 17 00:00:00 2001 From: Zack Galbreath Date: Thu, 29 Jul 2021 15:46:17 -0400 Subject: [PATCH 007/414] Catch ConnectionError from CDash reporter (#24818) * Catch ConnectionError from CDash reporter Catch ConnectionError when attempting to upload the results of `spack install` to CDash. This follows in the spirit of #24299. We do not want `spack install` to exit with a non-zero status when something goes wrong while attempting to report results to CDash. * Catch HTTP Error 400 (Bad Request) in relate_cdash_builds() --- lib/spack/spack/ci.py | 21 ++++++++++++--------- lib/spack/spack/reporters/cdash.py | 27 +++++++++++++++------------ lib/spack/spack/test/cmd/install.py | 3 +-- 3 files changed, 28 insertions(+), 23 deletions(-) diff --git a/lib/spack/spack/ci.py b/lib/spack/spack/ci.py index 7f3d88a9257..0ada128f649 100644 --- a/lib/spack/spack/ci.py +++ b/lib/spack/spack/ci.py @@ -1316,17 +1316,20 @@ def relate_cdash_builds(spec_map, cdash_base_url, job_build_id, cdash_project, request = Request(cdash_api_url, data=enc_data, headers=headers) - response = opener.open(request) - response_code = response.getcode() + try: + response = opener.open(request) + response_code = response.getcode() - if response_code != 200 and response_code != 201: - msg = 'Relate builds ({0} -> {1}) failed (resp code = {2})'.format( - job_build_id, dep_build_id, response_code) - tty.warn(msg) - return + if response_code != 200 and response_code != 201: + msg = 'Relate builds ({0} -> {1}) failed (resp code = {2})'.format( + job_build_id, dep_build_id, response_code) + tty.warn(msg) + return - response_text = response.read() - tty.debug('Relate builds response: {0}'.format(response_text)) + response_text = response.read() + tty.debug('Relate builds response: {0}'.format(response_text)) + except Exception as e: + print("Relating builds in CDash failed: {0}".format(e)) def write_cdashid_to_mirror(cdashid, spec, mirror_url): diff --git a/lib/spack/spack/reporters/cdash.py b/lib/spack/spack/reporters/cdash.py index 24e4f2833a2..cb9539b2d73 100644 --- a/lib/spack/spack/reporters/cdash.py +++ b/lib/spack/spack/reporters/cdash.py @@ -425,18 +425,21 @@ def upload(self, filename): if self.authtoken: request.add_header('Authorization', 'Bearer {0}'.format(self.authtoken)) - # By default, urllib2 only support GET and POST. - # CDash needs expects this file to be uploaded via PUT. - request.get_method = lambda: 'PUT' - response = opener.open(request) - if self.current_package_name not in self.buildIds: - resp_value = response.read() - if isinstance(resp_value, bytes): - resp_value = resp_value.decode('utf-8') - match = self.buildid_regexp.search(resp_value) - if match: - buildid = match.group(1) - self.buildIds[self.current_package_name] = buildid + try: + # By default, urllib2 only support GET and POST. + # CDash needs expects this file to be uploaded via PUT. + request.get_method = lambda: 'PUT' + response = opener.open(request) + if self.current_package_name not in self.buildIds: + resp_value = response.read() + if isinstance(resp_value, bytes): + resp_value = resp_value.decode('utf-8') + match = self.buildid_regexp.search(resp_value) + if match: + buildid = match.group(1) + self.buildIds[self.current_package_name] = buildid + except Exception as e: + print("Upload to CDash failed: {0}".format(e)) def finalize_report(self): if self.buildIds: diff --git a/lib/spack/spack/test/cmd/install.py b/lib/spack/spack/test/cmd/install.py index 022db42ba2c..6a84b97a8f4 100644 --- a/lib/spack/spack/test/cmd/install.py +++ b/lib/spack/spack/test/cmd/install.py @@ -12,7 +12,6 @@ import pytest from six.moves import builtins -from six.moves.urllib.error import HTTPError, URLError import llnl.util.filesystem as fs @@ -491,7 +490,7 @@ def test_cdash_upload_build_error(tmpdir, mock_fetch, install_mockery, # capfd interferes with Spack's capturing with capfd.disabled(): with tmpdir.as_cwd(): - with pytest.raises((HTTPError, URLError)): + with pytest.raises(SpackError): install( '--log-format=cdash', '--log-file=cdash_reports', From e8f284bf52d88c25c81d41c1e07a08e096b09159 Mon Sep 17 00:00:00 2001 From: Zack Galbreath Date: Thu, 29 Jul 2021 15:47:10 -0400 Subject: [PATCH 008/414] ci: automatically prune the broken-specs list (#24809) When a develop pipeline successfully finishes a `spack install`, check if the spec that was just built is on the broken-specs list. If so, remove it. --- lib/spack/spack/cmd/ci.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/spack/spack/cmd/ci.py b/lib/spack/spack/cmd/ci.py index 64306ec8a75..cf228b31921 100644 --- a/lib/spack/spack/cmd/ci.py +++ b/lib/spack/spack/cmd/ci.py @@ -566,6 +566,26 @@ def ci_rebuild(args): cdash_build_id, pipeline_mirror_url)) spack_ci.write_cdashid_to_mirror( cdash_build_id, job_spec, pipeline_mirror_url) + + # If this is a develop pipeline, check if the spec that we just built is + # on the broken-specs list. If so, remove it. + if spack_is_develop_pipeline and 'broken-specs-url' in gitlab_ci: + broken_specs_url = gitlab_ci['broken-specs-url'] + just_built_hash = job_spec.full_hash() + broken_spec_path = url_util.join(broken_specs_url, just_built_hash) + if web_util.url_exists(broken_spec_path): + tty.msg('Removing {0} from the list of broken specs'.format( + broken_spec_path)) + try: + web_util.remove_url(broken_spec_path) + except Exception as err: + # If we got some kind of S3 (access denied or other connection + # error), the first non boto-specific class in the exception + # hierarchy is Exception. Just print a warning and return + msg = 'Error removing {0} from broken specs list: {1}'.format( + broken_spec_path, err) + tty.warn(msg) + else: tty.debug('spack install exited non-zero, will not create buildcache') From 54e8e19a60640ce6877f19d0159c775adb5abc88 Mon Sep 17 00:00:00 2001 From: Vanessasaurus <814322+vsoch@users.noreply.github.com> Date: Fri, 30 Jul 2021 01:08:38 -0600 Subject: [PATCH 009/414] adding spack diff command (#22283) A `spack diff` will take two specs, and then use the spack.solver.asp.SpackSolverSetup to generate lists of facts about each (e.g., nodes, variants, etc.) and then take a set difference between the two to show the user the differences. Example output: $ spack diff python@2.7.8 python@3.8.11 ==> Warning: This interface is subject to change. --- python@2.7.8/tsxdi6gl4lihp25qrm4d6nys3nypufbf +++ python@3.8.11/yjtseru4nbpllbaxb46q7wfkyxbuvzxx @@ variant_value @@ - python patches a8c52415a8b03c0e5f28b5d52ae498f7a7e602007db2b9554df28cd5685839b8 + python patches 0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87 @@ version @@ - openssl Version(1.0.2u) + openssl Version(1.1.1k) - python Version(2.7.8) + python Version(3.8.11) Currently this uses diff-like output but we will attempt to improve on this in the future. One use case for `spack diff` is whenever a user has a disambiguate situation and cannot remember how two different installs are different. The command can also output `--json` in the case of a more analysis type use case where we want to save complete data with all diffs and the intersection. However, the command is really more intended for a command line use case, and we likely will have an analyzer more suited to saving data Signed-off-by: vsoch Co-authored-by: vsoch Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Co-authored-by: Todd Gamblin --- lib/spack/docs/basic_usage.rst | 130 +++++++++++++++++ lib/spack/spack/cmd/diff.py | 225 ++++++++++++++++++++++++++++++ lib/spack/spack/solver/asp.py | 9 +- lib/spack/spack/test/cmd/diff.py | 79 +++++++++++ share/spack/spack-completion.bash | 11 +- 5 files changed, 448 insertions(+), 6 deletions(-) create mode 100644 lib/spack/spack/cmd/diff.py create mode 100644 lib/spack/spack/test/cmd/diff.py diff --git a/lib/spack/docs/basic_usage.rst b/lib/spack/docs/basic_usage.rst index cf1fc28614c..35037043197 100644 --- a/lib/spack/docs/basic_usage.rst +++ b/lib/spack/docs/basic_usage.rst @@ -695,6 +695,136 @@ structured the way you want: } +^^^^^^^^^^^^^^ +``spack diff`` +^^^^^^^^^^^^^^ + +It's often the case that you have two versions of a spec that you need to +disambiguate. Let's say that we've installed two variants of zlib, one with +and one without the optimize variant: + +.. code-block:: console + + $ spack install zlib + $ spack install zlib -optimize + +When we do ``spack find`` we see the two versions. + +.. code-block:: console + + $ spack find zlib + ==> 2 installed packages + -- linux-ubuntu20.04-skylake / gcc@9.3.0 ------------------------ + zlib@1.2.11 zlib@1.2.11 + + +Let's now say that we want to uninstall zlib. We run the command, and hit a problem +real quickly since we have two! + +.. code-block:: console + + $ spack uninstall zlib + ==> Error: zlib matches multiple packages: + + -- linux-ubuntu20.04-skylake / gcc@9.3.0 ------------------------ + efzjziy zlib@1.2.11 sl7m27m zlib@1.2.11 + + ==> Error: You can either: + a) use a more specific spec, or + b) specify the spec by its hash (e.g. `spack uninstall /hash`), or + c) use `spack uninstall --all` to uninstall ALL matching specs. + +Oh no! We can see from the above that we have two different versions of zlib installed, +and the only difference between the two is the hash. This is a good use case for +``spack diff``, which can easily show us the "diff" or set difference +between properties for two packages. Let's try it out. +Since the only difference we see in the ``spack find`` view is the hash, let's use +``spack diff`` to look for more detail. We will provide the two hashes: + +.. code-block::console + + $ spack diff /efzjziy /sl7m27m + ==> Warning: This interface is subject to change. + + --- zlib@1.2.11efzjziyc3dmb5h5u5azsthgbgog5mj7g + +++ zlib@1.2.11sl7m27mzkbejtkrajigj3a3m37ygv4u2 + @@ variant_value @@ + - zlib optimize bool(False) + + zlib optimize bool(True) + + +The output is colored, and written in the style of a git diff. This means that you +can copy paste it into a GitHub markdown as a code block with language "diff" and it +will render nicely! Here is an example: + +.. code-block::markdown + + ```diff + --- zlib@1.2.11/efzjziyc3dmb5h5u5azsthgbgog5mj7g + +++ zlib@1.2.11/sl7m27mzkbejtkrajigj3a3m37ygv4u2 + @@ variant_value @@ + - zlib optimize bool(False) + + zlib optimize bool(True) + ``` + +Awesome! Now let's read the diff. It tells us that our first zlib was built without optimize (False) +and the second was built with optimize (True). You can't see it in the docs here, but +the output above is also colored based on the content being an addition (+) or subtraction (-). + +This is a small example, but there are actually several kinds of differences that you can view, a variant value +being just one of them. The first package that you provide (A) +being diffed against B means that we see what is added to B but not in A (green) and what is present in A that is +removed in B (red). Here is another example with an additional difference type, ``VERSION``: + +.. code-block::console + + $ spack diff python@2.7.8 python@3.8.11 + ==> Warning: This interface is subject to change. + + --- python@2.7.8/tsxdi6gl4lihp25qrm4d6nys3nypufbf + +++ python@3.8.11/yjtseru4nbpllbaxb46q7wfkyxbuvzxx + @@ variant_value @@ + - python patches a8c52415a8b03c0e5f28b5d52ae498f7a7e602007db2b9554df28cd5685839b8 + + python patches 0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87 + @@ version @@ + - openssl Version(1.0.2u) + + openssl Version(1.1.1k) + - python Version(2.7.8) + + python Version(3.8.11) + +Let's say that we were only interested in one kind of attribute above, versions! +We can ask the command to only output this attribute. To do this, you'd add +the ``-a`` for attribute parameter, which defaults to all. +Here is how you would filter to show just versions: + + +.. code-block:: console + + $ spack diff -a version python@2.7.8 python@3.8.11 + ==> Warning: This interface is subject to change. + + --- python@2.7.8/tsxdi6gl4lihp25qrm4d6nys3nypufbf + +++ python@3.8.11/yjtseru4nbpllbaxb46q7wfkyxbuvzxx + @@ version @@ + - openssl Version(1.0.2u) + + openssl Version(1.1.1k) + - python Version(2.7.8) + + python Version(3.8.11) + +And you can add as many attributes as you'd like with multiple `-a`. +Finally, if you want to view the data as json (and possibly pipe into an output file) +just add ``--json``: + + +.. code-block:: console + + $ spack diff --json python@2.7.8 python@3.8.11 + + +This data will be much longer because along with the differences for A vs. B and +B vs. A, we also capture the intersection. + + ------------------------ Using installed packages ------------------------ diff --git a/lib/spack/spack/cmd/diff.py b/lib/spack/spack/cmd/diff.py new file mode 100644 index 00000000000..ff1f9a41d63 --- /dev/null +++ b/lib/spack/spack/cmd/diff.py @@ -0,0 +1,225 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +import sys + +import llnl.util.tty as tty +import llnl.util.tty.color as color + +import spack.cmd +import spack.cmd.common.arguments as arguments +import spack.environment as ev +import spack.solver.asp as asp +import spack.util.environment +import spack.util.spack_json as sjson + +description = "compare two specs" +section = "basic" +level = "long" + + +def setup_parser(subparser): + arguments.add_common_arguments( + subparser, ['specs']) + + subparser.add_argument( + '--json', + action='store_true', + default=False, + dest='dump_json', + help="Dump json output instead of pretty printing." + ) + subparser.add_argument( + '--first', + action='store_true', + default=False, + dest='load_first', + help="load the first match if multiple packages match the spec" + ) + subparser.add_argument( + '-a', '--attribute', + action='append', + help="select the attributes to show (defaults to all)" + ) + + +def boldblue(string): + """ + Make a header string bold and blue we can easily see it + """ + return color.colorize("@*b{%s}" % string) + + +def green(string): + return color.colorize("@G{%s}" % string) + + +def red(string): + return color.colorize("@R{%s}" % string) + + +def compare_specs(a, b, to_string=False, colorful=True): + """ + Generate a comparison, including diffs (for each side) and an intersection. + + We can either print the result to the console, or parse + into a json object for the user to save. We return an object that shows + the differences, intersection, and names for a pair of specs a and b. + + Arguments: + a (spack.spec.Spec): the first spec to compare + b (spack.spec.Spec): the second spec to compare + a_name (str): the name of spec a + b_name (str): the name of spec b + to_string (bool): return an object that can be json dumped + colorful (bool): do not format the names for the console + """ + # Prepare a solver setup to parse differences + setup = asp.SpackSolverSetup() + + a_facts = set(to_tuple(t) for t in setup.spec_clauses(a, body=True)) + b_facts = set(to_tuple(t) for t in setup.spec_clauses(b, body=True)) + + # We want to present them to the user as simple key: values + intersect = list(a_facts.intersection(b_facts)) + spec1_not_spec2 = list(a_facts.difference(b_facts)) + spec2_not_spec1 = list(b_facts.difference(a_facts)) + + # Format the spec names to be colored + fmt = "{name}{@version}{/hash}" + a_name = a.format(fmt, color=color.get_color_when()) + b_name = b.format(fmt, color=color.get_color_when()) + + # We want to show what is the same, and then difference for each + return { + "intersect": flatten(intersect) if to_string else intersect, + "a_not_b": flatten(spec1_not_spec2) if to_string else spec1_not_spec2, + "b_not_a": flatten(spec2_not_spec1) if to_string else spec2_not_spec1, + "a_name": a_name if colorful else a.format("{name}{@version}{/hash}"), + "b_name": b_name if colorful else b.format("{name}{@version}{/hash}") + } + + +def to_tuple(asp_function): + """ + Prepare tuples of objects. + + If we need to save to json, convert to strings + See https://gist.github.com/tgamblin/83eba3c6d27f90d9fa3afebfc049ceaf + """ + args = [] + for arg in asp_function.args: + if isinstance(arg, str): + args.append(arg) + continue + args.append("%s(%s)" % (type(arg).__name__, str(arg))) + return tuple([asp_function.name] + args) + + +def flatten(tuple_list): + """ + Given a list of tuples, convert into a list of key: value tuples. + + We are squashing whatever is after the first index into one string for + easier parsing in the interface + """ + updated = [] + for item in tuple_list: + updated.append([item[0], " ".join(item[1:])]) + return updated + + +def print_difference(c, attributes="all", out=None): + """ + Print the difference. + + Given a diffset for A and a diffset for B, print red/green diffs to show + the differences. + """ + # Default to standard out unless another stream is provided + out = out or sys.stdout + + A = c['b_not_a'] + B = c['a_not_b'] + + out.write(red("--- %s\n" % c["a_name"])) + out.write(green("+++ %s\n" % c["b_name"])) + + # Cut out early if we don't have any differences! + if not A and not B: + print("No differences\n") + return + + def group_by_type(diffset): + grouped = {} + for entry in diffset: + if entry[0] not in grouped: + grouped[entry[0]] = [] + grouped[entry[0]].append(entry[1]) + + # Sort by second value to make comparison slightly closer + for key, values in grouped.items(): + values.sort() + return grouped + + A = group_by_type(A) + B = group_by_type(B) + + # print a directionally relevant diff + keys = list(A) + list(B) + + category = None + for key in keys: + if "all" not in attributes and key not in attributes: + continue + + # Write the attribute, B is subtraction A is addition + subtraction = [] if key not in B else B[key] + addition = [] if key not in A else A[key] + + # Bail out early if we don't have any entries + if not subtraction and not addition: + continue + + # If we have a new category, create a new section + if category != key: + category = key + + # print category in bold, colorized + out.write(boldblue("@@ %s @@\n" % category)) + + # Print subtractions first + while subtraction: + out.write(red("- %s\n" % subtraction.pop(0))) + if addition: + out.write(green("+ %s\n" % addition.pop(0))) + + # Any additions left? + while addition: + out.write(green("+ %s\n" % addition.pop(0))) + + +def diff(parser, args): + env = ev.get_env(args, 'diff') + + if len(args.specs) != 2: + tty.die("You must provide two specs to diff.") + + specs = [spack.cmd.disambiguate_spec(spec, env, first=args.load_first) + for spec in spack.cmd.parse_specs(args.specs)] + + # Calculate the comparison (c) + c = compare_specs(specs[0], specs[1], to_string=True, + colorful=not args.dump_json) + + # Default to all attributes + attributes = args.attribute or ["all"] + + if args.dump_json: + print(sjson.dump(c)) + else: + tty.warn("This interface is subject to change.\n") + print_difference(c, attributes) diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index 2fb20d914ad..2251183c553 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -96,7 +96,10 @@ def _id(thing): class AspFunction(AspObject): def __init__(self, name, args=None): self.name = name - self.args = [] if args is None else args + self.args = () if args is None else args + + def _cmp_key(self): + return (self.name, self.args) def __call__(self, *args): return AspFunction(self.name, args) @@ -112,10 +115,6 @@ def argify(arg): return clingo.Function( self.name, [argify(arg) for arg in self.args], positive=positive) - def __getitem___(self, *args): - self.args[:] = args - return self - def __str__(self): return "%s(%s)" % ( self.name, ', '.join(str(_id(arg)) for arg in self.args)) diff --git a/lib/spack/spack/test/cmd/diff.py b/lib/spack/spack/test/cmd/diff.py new file mode 100644 index 00000000000..76ab8455b45 --- /dev/null +++ b/lib/spack/spack/test/cmd/diff.py @@ -0,0 +1,79 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import pytest + +import spack.cmd.diff +import spack.config +import spack.main +import spack.store +import spack.util.spack_json as sjson + +install = spack.main.SpackCommand('install') +diff = spack.main.SpackCommand('diff') + + +def test_diff(install_mockery, mock_fetch, mock_archive, mock_packages): + """Test that we can install two packages and diff them""" + + specA = spack.spec.Spec('mpileaks').concretized() + specB = spack.spec.Spec('mpileaks+debug').concretized() + + # Specs should be the same as themselves + c = spack.cmd.diff.compare_specs(specA, specA, to_string=True) + assert len(c['a_not_b']) == 0 + assert len(c['b_not_a']) == 0 + + # Calculate the comparison (c) + c = spack.cmd.diff.compare_specs(specA, specB, to_string=True) + assert len(c['a_not_b']) == 1 + assert len(c['b_not_a']) == 1 + assert c['a_not_b'][0] == ['variant_value', 'mpileaks debug bool(False)'] + assert c['b_not_a'][0] == ['variant_value', 'mpileaks debug bool(True)'] + + +def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages): + """Test with and without the --first option""" + install('mpileaks') + + # Only one version of mpileaks will work + diff('mpileaks', 'mpileaks') + + # 2 specs are required for a diff + with pytest.raises(spack.main.SpackCommandError): + diff('mpileaks') + with pytest.raises(spack.main.SpackCommandError): + diff('mpileaks', 'mpileaks', 'mpileaks') + + # Ensure they are the same + assert "No differences" in diff('mpileaks', 'mpileaks') + output = diff('--json', 'mpileaks', 'mpileaks') + result = sjson.load(output) + + assert len(result['a_not_b']) == 0 + assert len(result['b_not_a']) == 0 + + assert 'mpileaks' in result['a_name'] + assert 'mpileaks' in result['b_name'] + assert "intersect" in result and len(result['intersect']) > 50 + + # After we install another version, it should ask us to disambiguate + install('mpileaks+debug') + + # There are two versions of mpileaks + with pytest.raises(spack.main.SpackCommandError): + diff('mpileaks', 'mpileaks+debug') + + # But if we tell it to use the first, it won't try to disambiguate + assert "variant" in diff('--first', 'mpileaks', 'mpileaks+debug') + + # This matches them exactly + output = diff("--json", "mpileaks@2.3/ysubb76", "mpileaks@2.3/ft5qff3") + result = sjson.load(output) + + assert len(result['a_not_b']) == 1 + assert len(result['b_not_a']) == 1 + assert result['a_not_b'][0] == ['variant_value', 'mpileaks debug bool(False)'] + assert result['b_not_a'][0] == ['variant_value', 'mpileaks debug bool(True)'] diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index bf2a488a85d..03e9770c37a 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -333,7 +333,7 @@ _spack() { then SPACK_COMPREPLY="-h --help -H --all-help --color -c --config -C --config-scope -d --debug --timestamp --pdb -e --env -D --env-dir -E --no-env --use-env-repo -k --insecure -l --enable-locks -L --disable-locks -m --mock -p --profile --sorted-profile --lines -v --verbose --stacktrace -V --version --print-shell-vars" else - SPACK_COMPREPLY="activate add analyze arch audit blame bootstrap build-env buildcache cd checksum ci clean clone commands compiler compilers concretize config containerize create deactivate debug dependencies dependents deprecate dev-build develop docs edit env extensions external fetch find flake8 gc gpg graph help info install license list load location log-parse maintainers mark mirror module monitor patch pkg providers pydoc python reindex remove rm repo resource restage solve spec stage style test test-env tutorial undevelop uninstall unit-test unload url verify versions view" + SPACK_COMPREPLY="activate add analyze arch audit blame bootstrap build-env buildcache cd checksum ci clean clone commands compiler compilers concretize config containerize create deactivate debug dependencies dependents deprecate dev-build develop diff docs edit env extensions external fetch find flake8 gc gpg graph help info install license list load location log-parse maintainers mark mirror module monitor patch pkg providers pydoc python reindex remove rm repo resource restage solve spec stage style test test-env tutorial undevelop uninstall unit-test unload url verify versions view" fi } @@ -842,6 +842,15 @@ _spack_develop() { fi } +_spack_diff() { + if $list_options + then + SPACK_COMPREPLY="-h --help --json --first -a --attribute" + else + _all_packages + fi +} + _spack_docs() { SPACK_COMPREPLY="-h --help" } From bbfaf4e8165df32f6e739e298f642dda4a610c8f Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Fri, 30 Jul 2021 14:37:57 +0530 Subject: [PATCH 010/414] quantum-espresso: update patch for AOCC support (#25144) Co-authored-by: mohan002 --- .../quantum-espresso/configure_aocc.patch | 106 ++++++++++-------- 1 file changed, 60 insertions(+), 46 deletions(-) diff --git a/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch b/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch index 69d5293ab82..fcfae278541 100644 --- a/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch +++ b/var/spack/repos/builtin/packages/quantum-espresso/configure_aocc.patch @@ -1,58 +1,72 @@ ---- spack-src/install/configure.orig 2021-02-11 13:56:58.900212951 +0530 -+++ spack-src/install/configure 2021-02-11 15:19:54.726403962 +0530 -@@ -3203,6 +3203,7 @@ +diff --git a/install/configure b/install/configure_aocc +index 66337d1..d2c04af 100755 +--- a/install/configure ++++ b/install/configure_aocc +@@ -3203,6 +3203,7 @@ case "$arch" in nagfor_version=`$mpif90 -v 2>&1 | grep "NAG Fortran"` xlf_version=`$mpif90 -v 2>&1 | grep "xlf"` armflang_version=`$mpif90 -v 2>&1 | grep "Arm C/C++/Fortran Compiler version"` -+ aoccflang_version=`$mpif90 -v 2>&1 | grep "AMD clang version"` ++ aoccflang_version=`$mpif90 -v 2>&1 | grep "AMD clang version"` # if test "$ifort_version" != "" then -@@ -3227,6 +3228,12 @@ - f90_minor_version=`echo $version | cut -d. -f2` - echo "${ECHO_T}gfortran $f90_major_version.$f90_minor_version" - f90_in_mpif90="gfortran" -+ elif test "$aoccflang_version" != "" -+ then -+ version=`echo $aoccflang_version | cut -d" " -f 5` -+ echo "${ECHO_T}mpif90 $version" -+ f90_in_mpif90="mpif90" -+ try_foxflags="-D__PGI" - elif test "$nagfor_version" != "" +@@ -3215,6 +3216,12 @@ case "$arch" in + version=`echo $nvfortran_version | cut -d ' ' -f2` + echo "${ECHO_T}nvfortran $version" + f90_in_mpif90="nvfortran" ++ elif test "$aoccflang_version" != "" ++ then ++ version=`echo $aoccflang_version | cut -d" " -f 5` ++ echo "${ECHO_T}mpif90 $version" ++ f90_in_mpif90="mpif90" ++ try_foxflags="-D__PGI" + elif test "$pgf_version" != "" then - # NAG 6.0 has the codename attached to version number... annoying -@@ -3327,6 +3334,8 @@ - f90_flavor=ifort - elif $f90 -V 2>&1 | grep -q "^pgf" ; then - f90_flavor=pgf -+ elif $f90 -v 2>&1 | grep -q "AMD clang version" ; then -+ f90_flavor=mpif90 - elif $f90 -v 2>&1 | grep -q "gcc version" ; then - f90_flavor=gfortran - elif $f90 -V 2>&1 | grep -q "Cray Fortran" ; then -@@ -3385,6 +3394,9 @@ - *:pgf90 ) - try_cc="pgcc $try_cc" + version=`echo $pgf_version | cut -d ' ' -f2` +@@ -3397,6 +3404,9 @@ ppc64-bg*:*xlf90_r ) + ppc64-bg*:*xlf90 ) + try_cc="bgxlc" ;; +*:mpif90 ) -+ try_cc="mpicc $try_cc" -+ ;; - cray*:* ) - try_cc="cc" ++ try_cc="mpicc $try_cc" ++ ;; + ppc64:*xlf* | ppc64le:*xlf* ) + try_cc="xlc_r $try_cc" ;; -@@ -4017,6 +4029,15 @@ - try_dflags="$try_dflags -D__PGI" - have_cpp=1 +@@ -3779,6 +3789,10 @@ necsx:* ) + ppc64le:* ) + try_cflags="-O3" + ;; ++x86_64:* ) ++ try_cflags="-Ofast -Mstack_arrays" ++ try_dflags="-D__OPENMP" ++ ;; + ppc64-bg:* ) + try_cflags="-O3 -q32" + ;; +@@ -3915,6 +3929,16 @@ crayxt*:cray* ) + try_dflags="$try_dflags -D__CRAY" + have_cpp=0 ;; +*:*mpif90 ) -+ try_fflags="-O3 -g" -+ try_fflags_openmp="-fopenmp" -+ try_f90flags="\$(FFLAGS) -cpp" -+ try_fflags_noopt="-O0 -g" -+ try_ldflags="-g" -+ try_ldflags_openmp="-pthread -fopenmp" -+ try_ldflags_static="-static" -+ ;; - *:*gfortran ) - try_fflags="-O3 -g" - if test "$f90_major_version" -ge "10"; then ++ try_fflags="-Ofast -Mstack_arrays" ++ try_fflags_openmp="-fopenmp" ++ try_f90flags=" \$(FFLAGS) -cpp -Ofast -Mpreprocess -Mstack_arrays" ++ try_foxflags="-D__PGI" ++ try_fflags_noopt="-O0" ++ try_ldflags="" ++ try_ldflags_openmp="-fopenmp" ++ try_ldflags_static="-static" ++ ;; + crayxt*:pgf* ) + # see comment above for pgf* + try_fflags_nomain="-Mnomain" +@@ -7815,7 +7839,7 @@ $as_echo "$as_me: WARNING: *** HDF5 version must be 1.8.16 or later" >&2;}; + if test $with_hdf5_libs -eq 1; then + hdf5_libs=$with_hdf5_libline + else +- hdf5_libs=`$with_hdf5_path/bin/h5pfc -show | awk -F'-L' '{$1=""; for (i=2; i<=NF;i++) $i="-L"$i; print $0}'` ++ hdf5_libs=`$with_hdf5_path/bin/h5pfc -show | awk -F'-L' '{$1=""; for (i=2; i<=NF;i++) $i="-L"$i; print $0}' | xargs` + fi + elif command -v h5pfc >/dev/null; then + if test $with_hdf5_libs -eq 1; then From 189ff91f25b4a73cb41c3914d2aac8436841f580 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Fri, 30 Jul 2021 02:14:19 -0700 Subject: [PATCH 011/414] openPMD-api: add v0.14.0 (#25142) Add the latest release. --- var/spack/repos/builtin/packages/openpmd-api/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index 61f0cea5cab..17afd946199 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -17,6 +17,7 @@ class OpenpmdApi(CMakePackage): # C++14 up until here version('develop', branch='dev') + version('0.14.0', sha256='7bb561c1a6f54e9a6a1b56aaf1d4d098bbe290d204f84ebe5a6f11b3cab2be6e') # temporary, pre 0.14.0 version for HiPACE++ version('hipace', commit='ac083025ee662469b8cad1adf93eef48cde35f58') version('0.13.4', sha256='46c013be5cda670f21969675ce839315d4f5ada0406a6546a91ec3441402cf5e') @@ -44,6 +45,7 @@ class OpenpmdApi(CMakePackage): depends_on('cmake@3.15.0:', type='build') depends_on('mpark-variant@1.4.0:') depends_on('catch2@2.6.1:', type='test') + depends_on('catch2@2.13.4:', type='test', when='@0.14.0:') depends_on('mpi@2.3:', when='+mpi') # might become MPI 3.0+ depends_on('hdf5@1.8.13:', when='+hdf5') depends_on('hdf5@1.8.13: ~mpi', when='~mpi +hdf5') @@ -53,10 +55,11 @@ class OpenpmdApi(CMakePackage): depends_on('adios@1.13.1: +mpi ~sz', when='+mpi +adios1') depends_on('adios2@2.5.0:', when='+adios2') depends_on('adios2@2.6.0:', when='+adios2 @0.12.0:') + depends_on('adios2@2.7.0:', when='+adios2 @0.14.0:') depends_on('adios2@2.5.0: ~mpi', when='~mpi +adios2') depends_on('adios2@2.5.0: +mpi', when='+mpi +adios2') depends_on('nlohmann-json@3.9.1:') - depends_on('py-pybind11@2.6.1:', when='+python', type='link') + depends_on('py-pybind11@2.6.2:', when='+python', type='link') depends_on('py-numpy@1.15.1:', when='+python', type=['test', 'run']) depends_on('py-mpi4py@2.1.0:', when='+python +mpi', type=['test', 'run']) depends_on('python@3.6:', when='+python', type=['link', 'test', 'run']) From c1de2e926d26467ebc0e34b801da70a8338e8f26 Mon Sep 17 00:00:00 2001 From: Swann Perarnau Date: Fri, 30 Jul 2021 04:22:20 -0500 Subject: [PATCH 012/414] aml: update website, repository, and maintainer (#25140) AML moved its repository and website during spring 2021. Signed-off-by: Swann Perarnau --- var/spack/repos/builtin/packages/aml/package.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/var/spack/repos/builtin/packages/aml/package.py b/var/spack/repos/builtin/packages/aml/package.py index f282067300b..f6f73d4f71f 100644 --- a/var/spack/repos/builtin/packages/aml/package.py +++ b/var/spack/repos/builtin/packages/aml/package.py @@ -11,22 +11,23 @@ class Aml(AutotoolsPackage): """AML: Building Blocks for Memory Management.""" - homepage = "https://xgitlab.cels.anl.gov/argo/aml" + homepage = "https://argo-aml.readthedocs.io/" url = "https://www.mcs.anl.gov/research/projects/argo/downloads/aml-0.1.0.tar.gz" - git = "https://xgitlab.cels.anl.gov/argo/aml.git" + git = "https://github.com/anlsys/aml.git" + maintainers = ['perarnau'] test_requires_compiler = True version('0.1.0', sha256='cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b') - version('develop', branch='staging', submodules=True) version('master', branch='master', submodules=True) depends_on('numactl') - depends_on('m4', type='build') - depends_on('autoconf', type='build') - depends_on('automake', type='build') - depends_on('libtool', type='build') + with when('@master'): + depends_on('m4', type='build') + depends_on('autoconf', type='build') + depends_on('automake', type='build') + depends_on('libtool', type='build') @run_after('install') def cache_test_sources(self): From 711ed176063f28faee9632f4d41a700b1a0e7f29 Mon Sep 17 00:00:00 2001 From: "Garth N. Wells" Date: Fri, 30 Jul 2021 10:32:28 +0100 Subject: [PATCH 013/414] FEniCSx: updated dependencies (#25110) Co-authored-by: Massimiliano Culpo --- .../builtin/packages/fenics-basix/package.py | 4 ++-- .../packages/fenics-dolfinx/package.py | 13 ++++------- .../packages/py-fenics-basix/package.py | 3 ++- .../packages/py-fenics-dolfinx/package.py | 23 +++++++++---------- .../packages/py-fenics-ffcx/package.py | 14 +++++------ .../builtin/packages/py-fenics-ufl/package.py | 2 +- 6 files changed, 28 insertions(+), 31 deletions(-) diff --git a/var/spack/repos/builtin/packages/fenics-basix/package.py b/var/spack/repos/builtin/packages/fenics-basix/package.py index 47fced6e742..3479510a418 100644 --- a/var/spack/repos/builtin/packages/fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/fenics-basix/package.py @@ -17,6 +17,6 @@ class FenicsBasix(CMakePackage): version("main", branch="main") version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") - depends_on("cmake@3.16:", type="build") - depends_on("xtensor@0.23.4:", type="build") + depends_on("cmake@3.18:", type="build") + depends_on("xtensor@0.23.10:") depends_on("blas", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py index a8c0acec74c..0f74ef4ea54 100644 --- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py @@ -21,7 +21,7 @@ class FenicsDolfinx(CMakePackage): variant("parmetis", default=False, description="parmetis support") variant("slepc", default=False, description="slepc support") - depends_on("cmake@3.12:") + depends_on("cmake@3.18:", type="build") depends_on("pkgconfig", type="build") depends_on("mpi") depends_on("hdf5") @@ -29,6 +29,7 @@ class FenicsDolfinx(CMakePackage): depends_on("petsc+mpi+shared") depends_on("petsc+mpi+shared@3.15.0:", when="@0.1.0") depends_on("scotch+mpi") + depends_on("xtensor@0.23.10:", type=("build", "link")) depends_on("kahip", when="+kahip") depends_on("parmetis", when="+parmetis") @@ -38,13 +39,9 @@ class FenicsDolfinx(CMakePackage): depends_on("py-fenics-ffcx@main", type=("build", "run"), when="@main") depends_on("py-fenics-ffcx@0.1.0", type=("build", "run"), when="@0.1.0") - depends_on("fenics-basix", type=("build", "run")) - depends_on("fenics-basix@main", type=("build", "run"), when="@main") - depends_on("fenics-basix@0.1.0", type=("build", "run"), when="@0.1.0") - - depends_on("py-fenics-basix", type=("build", "run")) - depends_on("py-fenics-basix@main", type=("build", "run"), when="@main") - depends_on("py-fenics-basix@0.1.0", type=("build", "run"), when="@0.1.0") + depends_on("fenics-basix", type=("build", "link")) + depends_on("fenics-basix@main", type=("build", "link"), when="@main") + depends_on("fenics-basix@0.1.0", type=("build", "link"), when="@0.1.0") conflicts('%gcc@:8', msg='Improved C++17 support required') diff --git a/var/spack/repos/builtin/packages/py-fenics-basix/package.py b/var/spack/repos/builtin/packages/py-fenics-basix/package.py index 0cfca370c32..ca3e5e9d2be 100644 --- a/var/spack/repos/builtin/packages/py-fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-basix/package.py @@ -24,7 +24,8 @@ class PyFenicsBasix(PythonPackage): depends_on("python@3.7:", type=('build', 'run')) depends_on("py-setuptools", type="build") depends_on("cmake@3.18:", type="build") - depends_on("py-pybind11@2.6.2:", type="build") + depends_on("xtensor@0.23.10:", type="build") + depends_on("py-pybind11@2.6.2:2.7.99", type="build") phases = ['build_ext', 'build', 'install'] diff --git a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py index 56b0608a93d..bc5d4116584 100644 --- a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py @@ -18,28 +18,27 @@ class PyFenicsDolfinx(PythonPackage): version("main", branch="main") version("0.1.0", sha256="0269379769b5b6d4d1864ded64402ecaea08054c2a5793c8685ea15a59af5e33") - depends_on("cmake@3.12:", type="build") + depends_on("cmake@3.18:", type="build") depends_on("hdf5", type="build") depends_on("pkgconfig", type=("build", "run")) depends_on('python@3.7:', type=('build', 'run')) depends_on("py-setuptools", type="build") depends_on("fenics-dolfinx@main", when="@main") depends_on("fenics-dolfinx@0.1.0", when="@0.1.0") - depends_on("fenics-basix@main", type=("build", "run"), when="@main") - depends_on("fenics-basix@0.1.0", type=("build", "run"), when="@0.1.0") + depends_on("fenics-basix@main", type=("build", "link"), when="@main") + depends_on("fenics-basix@0.1.0", type=("build", "link"), when="@0.1.0") depends_on("py-mpi4py", type=("build", "run")) depends_on("py-petsc4py", type=("build", "run")) - depends_on("py-pybind11@2.6.2:", type=("build", "run")) + depends_on("py-pybind11@2.6.2:2.7.99", type=("build", "run")) + depends_on("xtensor@0.23.10:", type="build") - depends_on("py-fenics-ffcx@main", type=("run"), when="@main") - depends_on("py-fenics-ffcx@0.1.0", type=("run"), when="@0.1.0") - depends_on("py-fenics-basix", type=("run"), when="@main") - depends_on("py-fenics-basix@0.1.0", type=("run"), when="@0.1.0") - depends_on("py-fenics-ufl@main", type=("run"), when="@main") - depends_on("py-fenics-ufl@2021.1.0", type=("run"), when="@0.1.0") + depends_on("py-fenics-ffcx@main", type="run", when="@main") + depends_on("py-fenics-ffcx@0.1.0", type="run", when="@0.1.0") + depends_on("py-fenics-ufl@main", type="run", when="@main") + depends_on("py-fenics-ufl@2021.1.0", type="run", when="@0.1.0") - depends_on("py-cffi", type=("run")) - depends_on("py-numpy", type=("run")) + depends_on("py-cffi", type="run") + depends_on("py-numpy", type="run") phases = ['build_ext', 'build', 'install'] diff --git a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py index e9b2d989b98..a5d4ceeb73e 100644 --- a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py @@ -17,14 +17,14 @@ class PyFenicsFfcx(PythonPackage): version('main', branch='main') version('0.1.0', sha256='98a47906146ac892fb4a358e04cbfd04066f12d0a4cdb505a6b08ff0b1a17e89') - depends_on('python@3.5:', type=('build', 'run')) + depends_on('python@3.7:', type=('build', 'run')) depends_on('py-setuptools', type=('build', 'run')) - depends_on('py-cffi', type=('build', 'run')) + depends_on('py-cffi', type='run') - depends_on('py-fenics-ufl@main', type=('build', 'run'), when='@main') - depends_on('py-fenics-ufl@2021.1.0', type=('build', 'run'), when='@0.1.0') + depends_on('py-fenics-ufl@main', type='run', when='@main') + depends_on('py-fenics-ufl@2021.1.0', type='run', when='@0.1.0') - depends_on('py-fenics-basix@main', type=('build', 'run'), when='@main') - depends_on('py-fenics-basix@0.1.0', type=('build', 'run'), when='@0.1.0') + depends_on('py-fenics-basix@main', type='run', when='@main') + depends_on('py-fenics-basix@0.1.0', type='run', when='@0.1.0') - depends_on('py-numpy', type=('build', 'run')) + depends_on('py-numpy', type='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 index 757937beffe..b23326123c4 100644 --- a/var/spack/repos/builtin/packages/py-fenics-ufl/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-ufl/package.py @@ -27,6 +27,6 @@ class PyFenicsUfl(PythonPackage): version('2017.1.0.post1', sha256='82c8170f44c2392c7e60aa86495df22cc209af50735af8115dc35aeda4b0ca96') version('2016.2.0', tag='ufl-2016.2.0') - depends_on("python@3.5:", type=('build', 'run')) + depends_on("python@3.7:", type=('build', 'run')) depends_on("py-setuptools", type="build") depends_on("py-numpy", type=("build", "run")) From 72acc54d8471b953025e4c690c4919e0475dcec0 Mon Sep 17 00:00:00 2001 From: downloadico Date: Fri, 30 Jul 2021 03:33:42 -0600 Subject: [PATCH 014/414] octopus: add cuda variant (#25126) --- .../repos/builtin/packages/octopus/package.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py index d5aa933ff37..20236119ad8 100644 --- a/var/spack/repos/builtin/packages/octopus/package.py +++ b/var/spack/repos/builtin/packages/octopus/package.py @@ -8,7 +8,7 @@ from spack import * -class Octopus(Package): +class Octopus(Package, CudaPackage): """A real-space finite-difference (time-dependent) density-functional theory code.""" @@ -114,10 +114,15 @@ def install(self, spec, prefix): '--with-scalapack=%s' % spec['scalapack'].libs ]) - # --with-etsf-io-prefix= - # --with-sparskit=${prefix}/lib/libskit.a - # --with-pfft-prefix=${prefix} --with-mpifftw-prefix=${prefix} - # --with-berkeleygw-prefix=${prefix} + if '+cuda' in spec: + args.extend([ + '--enable-cuda' + ]) + + # --with-etsf-io-prefix= + # --with-sparskit=${prefix}/lib/libskit.a + # --with-pfft-prefix=${prefix} --with-mpifftw-prefix=${prefix} + # --with-berkeleygw-prefix=${prefix} # When preprocessor expands macros (i.e. CFLAGS) defined as quoted # strings the result may be > 132 chars and is terminated. From d969320ba13bb38e80c28162154d997a7f5c70db Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Fri, 30 Jul 2021 05:35:46 -0400 Subject: [PATCH 015/414] py-pygit2: add v1.6.0 (#25136) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/py-pygit2/package.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pygit2/package.py b/var/spack/repos/builtin/packages/py-pygit2/package.py index 8240819fef6..168573ef82c 100644 --- a/var/spack/repos/builtin/packages/py-pygit2/package.py +++ b/var/spack/repos/builtin/packages/py-pygit2/package.py @@ -14,6 +14,7 @@ class PyPygit2(PythonPackage): homepage = "http://www.pygit2.org/" pypi = "pygit2/pygit2-0.24.1.tar.gz" + version('1.6.0', sha256='7aacea4e57011777f4774421228e5d0ddb9a6ddb87ac4b542346d17ab12a4d62') version('1.4.0', sha256='cbeb38ab1df9b5d8896548a11e63aae8a064763ab5f1eabe4475e6b8a78ee1c8') version('1.3.0', sha256='0be93f6a8d7cbf0cc79ae2f0afb1993fc055fc0018c27e2bd01ba143e51d4452') version('0.28.2', sha256='4d8c3fbbf2e5793a9984681a94e6ac2f1bc91a92cbac762dbdfbea296b917f86') @@ -31,9 +32,10 @@ class PyPygit2(PythonPackage): depends_on('python@3.6:3.8.99', when='@1.2:1.3.99') depends_on('python@3.5:3.8.99', when='@1.0:1.1.99') depends_on('python@2.7:3.7.99', when='@0.28:0.99.99') - depends_on('py-six', type=('build', 'run')) + depends_on('py-six', type=('build', 'run'), when='@:0.28.2') depends_on('py-cffi@1.4.0:', type=('build', 'run')) - depends_on('py-cached-property', when='@1.1.0:', type=('build', 'run')) + depends_on('py-cached-property', when='@1.1.0:1.5', type=('build', 'run')) + depends_on('py-cached-property', when='@1.6.0: ^python@:3.7', type=('build', 'run')) def setup_build_environment(self, env): spec = self.spec From c26f328e1a797ef79e36a1637ed0fbad70f8867a Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Fri, 30 Jul 2021 05:36:37 -0400 Subject: [PATCH 016/414] py-psutil: add v5.8.0 (#25135) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/py-psutil/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-psutil/package.py b/var/spack/repos/builtin/packages/py-psutil/package.py index 0684f430e30..3ec037ddbfa 100644 --- a/var/spack/repos/builtin/packages/py-psutil/package.py +++ b/var/spack/repos/builtin/packages/py-psutil/package.py @@ -13,6 +13,7 @@ class PyPsutil(PythonPackage): pypi = "psutil/psutil-5.6.3.tar.gz" + version('5.8.0', sha256='0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6') version('5.7.2', sha256='90990af1c3c67195c44c9a889184f84f5b2320dce3ee3acbd054e3ba0b4a7beb') version('5.6.3', sha256='863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3') version('5.6.2', sha256='828e1c3ca6756c54ac00f1427fdac8b12e21b8a068c3bb9b631a1734cada25ed') From 4b89f6a90bc2aff32bd44e672678c6cbc38d8ba5 Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Fri, 30 Jul 2021 05:37:07 -0400 Subject: [PATCH 017/414] py-rich: add v10.0.0 (#25134) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/py-rich/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-rich/package.py b/var/spack/repos/builtin/packages/py-rich/package.py index 28f6f8c5fef..11de5526b9a 100644 --- a/var/spack/repos/builtin/packages/py-rich/package.py +++ b/var/spack/repos/builtin/packages/py-rich/package.py @@ -14,6 +14,7 @@ class PyRich(PythonPackage): homepage = "https://github.com/willmcgugan/rich" pypi = "rich/rich-9.4.0.tar.gz" + version('10.0.0', sha256='4674bd3056a72bb282ad581e3f8092dc110cdcc456b5ba76e34965cb85a69724') version('9.9.0', sha256='0bd8f42c3a03b7ef5e311d5e37f47bea9d268f541981c169072be5869c007957') version('9.8.2', sha256='c0d5903b463f015b254d6f52da82af3821d266fe516ae05fdc266e6abba5c3a8') version('9.8.1', sha256='0ec853f882613e75a5e46d545ddaa48cad235c616eaeb094792012fe22e8b2c6') From 84613da90a5c8c01ba69f9d473ba016a9d016426 Mon Sep 17 00:00:00 2001 From: Olli Lupton Date: Fri, 30 Jul 2021 11:59:06 +0200 Subject: [PATCH 018/414] Add C-Reduce and dependencies. (#25109) --- .../repos/builtin/packages/creduce/package.py | 32 +++++++++++++++++++ .../packages/perl-exporter-lite/package.py | 16 ++++++++++ .../packages/perl-getopt-tabular/package.py | 15 +++++++++ 3 files changed, 63 insertions(+) create mode 100644 var/spack/repos/builtin/packages/creduce/package.py create mode 100644 var/spack/repos/builtin/packages/perl-exporter-lite/package.py create mode 100644 var/spack/repos/builtin/packages/perl-getopt-tabular/package.py diff --git a/var/spack/repos/builtin/packages/creduce/package.py b/var/spack/repos/builtin/packages/creduce/package.py new file mode 100644 index 00000000000..09752169554 --- /dev/null +++ b/var/spack/repos/builtin/packages/creduce/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * + + +class Creduce(CMakePackage): + """C-Reduce is a tool that takes a large C, C++, or OpenCL file that has a + property of interest (such as triggering a compiler bug) and automatically + produces a much smaller C/C++ file that has the same property. It is + intended for use by people who discover and report bugs in compilers and + other tools that process source code.""" + + homepage = "https://embed.cs.utah.edu/creduce/" + url = "https://github.com/csmith-project/creduce" + git = "https://github.com/csmith-project/creduce" + maintainers = ['olupton'] + + version('develop', branch='master') + version('2.10.0', tag='creduce-2.10.0') + + depends_on('flex') + depends_on('libxml2') + depends_on('llvm@8.0.0', when='@:2.10.999') + depends_on('perl') + depends_on('perl-exporter-lite') + depends_on('perl-file-which') + depends_on('perl-getopt-tabular') + depends_on('perl-regexp-common') + depends_on('perl-termreadkey') + depends_on('zlib') diff --git a/var/spack/repos/builtin/packages/perl-exporter-lite/package.py b/var/spack/repos/builtin/packages/perl-exporter-lite/package.py new file mode 100644 index 00000000000..48b25d3e5fa --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-exporter-lite/package.py @@ -0,0 +1,16 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PerlExporterLite(PerlPackage): + """Exporter::Lite is an alternative to Exporter, intended to provide a + lightweight subset of the most commonly-used functionality. It supports + import(), @EXPORT and @EXPORT_OK and not a whole lot else.""" + homepage = "https://metacpan.org/pod/Exporter::Lite" + url = "https://cpan.metacpan.org/authors/id/N/NE/NEILB/Exporter-Lite-0.08.tar.gz" + + version('0.08', sha256='c05b3909af4cb86f36495e94a599d23ebab42be7a18efd0d141fc1586309dac2') diff --git a/var/spack/repos/builtin/packages/perl-getopt-tabular/package.py b/var/spack/repos/builtin/packages/perl-getopt-tabular/package.py new file mode 100644 index 00000000000..094d5f801c2 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-getopt-tabular/package.py @@ -0,0 +1,15 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PerlGetoptTabular(PerlPackage): + """Getopt::Tabular is a Perl 5 module for table-driven argument parsing, + vaguely inspired by John Ousterhout's Tk_ParseArgv.""" + homepage = "https://metacpan.org/pod/Getopt::Tabular" + url = "https://cpan.metacpan.org/authors/id/G/GW/GWARD/Getopt-Tabular-0.3.tar.gz" + + version('0.3', sha256='9bdf067633b5913127820f4e8035edc53d08372faace56ba6bfa00c968a25377') From 69ce54b86aeeb517d8e738dd3d469a94ae3ec44c Mon Sep 17 00:00:00 2001 From: Cyrus Harrison Date: Fri, 30 Jul 2021 03:14:16 -0700 Subject: [PATCH 019/414] fides: add new package (#25128) --- .../repos/builtin/packages/fides/package.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 var/spack/repos/builtin/packages/fides/package.py diff --git a/var/spack/repos/builtin/packages/fides/package.py b/var/spack/repos/builtin/packages/fides/package.py new file mode 100644 index 00000000000..edf27369ee8 --- /dev/null +++ b/var/spack/repos/builtin/packages/fides/package.py @@ -0,0 +1,40 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Fides(CMakePackage): + """A library that provides a schema for ADIOS2 streams.""" + homepage = "https://gitlab.kitware.com/vtk/fides" + url = "https://gitlab.kitware.com/vtk/fides/-/archive/v1.0.0/fides-v1.0.0.tar.gz" + git = "https://gitlab.kitware.com/vtk/fides.git" + + maintainers = ['caitlinross', 'dpugmire'] + + version('master', branch='master') + version('1.1.0', sha256='40d2e08b8d5cfdfc809eae6ed2ae0731108ce3b1383485f4934a5ec8aaa9425e') + version('1.0.0', sha256='c355fdb4ca3790c1fa9a4491a0d294b8f883b6946c540ad9e5633c9fd8c8c3aa') + + variant("mpi", default=True, description="build mpi support") + variant("adios2", default=True, description="build ADIOS2 support") + variant('vtk-m', default=True, description="build VTK-m support") + + # Certain CMake versions have been found to break for our use cases + depends_on("cmake@3.14.1:3.14.99,3.18.2:", type='build') + + depends_on("mpi", when="+mpi") + depends_on('adios2~zfp', when='+adios2') + depends_on("vtk-m", when="+vtk-m") + + def cmake_args(self): + spec = self.spec + options = [ + self.define("VTKm_DIR", spec['vtk-m'].prefix), + self.define("ADIOS2_DIR", spec['adios2'].prefix), + self.define("FIDES_ENABLE_TESTING", "OFF"), + self.define("FIDES_ENABLE_EXAMPLES", "OFF") + ] + return options From 3baac2faac4abd9378561c22e62e90aafb40ff06 Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Fri, 30 Jul 2021 06:14:58 -0400 Subject: [PATCH 020/414] py-diskcache: add v5.2.1 (#25131) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/py-diskcache/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-diskcache/package.py b/var/spack/repos/builtin/packages/py-diskcache/package.py index c25bcb47ca8..c2c2bebc3b7 100644 --- a/var/spack/repos/builtin/packages/py-diskcache/package.py +++ b/var/spack/repos/builtin/packages/py-diskcache/package.py @@ -10,6 +10,9 @@ class PyDiskcache(PythonPackage): homepage = "http://www.grantjenks.com/docs/diskcache/" pypi = "diskcache/diskcache-4.1.0.tar.gz" + version('5.2.1', sha256='1805acd5868ac10ad547208951a1190a0ab7bbff4e70f9a07cde4dbdfaa69f64') version('4.1.0', sha256='bcee5a59f9c264e2809e58d01be6569a3bbb1e36a1e0fb83f7ef9b2075f95ce0') + depends_on("python", type=("build", "run"), when="@:4.1.0") + depends_on("python@3:", type=("build", "run"), when="@5.2.1:") depends_on('py-setuptools', type='build') From 34084409918184992151cb7dfeb436cb80277cf1 Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Fri, 30 Jul 2021 06:15:25 -0400 Subject: [PATCH 021/414] py-dulwich: add v0.20.21 (#25132) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/py-dulwich/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-dulwich/package.py b/var/spack/repos/builtin/packages/py-dulwich/package.py index b0dca56e9e8..c66c4658f01 100644 --- a/var/spack/repos/builtin/packages/py-dulwich/package.py +++ b/var/spack/repos/builtin/packages/py-dulwich/package.py @@ -15,6 +15,7 @@ class PyDulwich(PythonPackage): homepage = "https://www.dulwich.io" pypi = "dulwich/dulwich-0.20.15.tar.gz" + version('0.20.21', sha256='ac764c9a9b80fa61afe3404d5270c5060aa57f7f087b11a95395d3b76f3b71fd') version('0.20.15', sha256='fb1773373ec2af896031f8312af6962a1b8b0176a2de3fb3d84a84ec04498888') version('0.20.14', sha256='21d6ee82708f7c67ce3fdcaf1f1407e524f7f4f7411a410a972faa2176baec0d') From d02d683126a3169dfded94cdbfecb70d17d57a37 Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Fri, 30 Jul 2021 06:16:22 -0400 Subject: [PATCH 022/414] py-fsspec: add v0.9.0 (#25133) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/py-fsspec/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-fsspec/package.py b/var/spack/repos/builtin/packages/py-fsspec/package.py index bafd1887b01..fea9d9ee054 100644 --- a/var/spack/repos/builtin/packages/py-fsspec/package.py +++ b/var/spack/repos/builtin/packages/py-fsspec/package.py @@ -14,6 +14,7 @@ class PyFsspec(PythonPackage): version('2021.7.0', sha256='792ebd3b54de0b30f1ce73f0ba0a8bcc864724f2d9f248cb8d0ece47db0cbde8') version('2021.4.0', sha256='8b1a69884855d1a8c038574292e8b861894c3373282d9a469697a2b41d5289a6') + version('0.9.0', sha256='3f7a62547e425b0b336a6ac2c2e6c6ac824648725bc8391af84bb510a63d1a56') version('0.8.0', sha256='176f3fc405471af0f1f1e14cffa3d53ab8906577973d068b976114433c010d9d') version('0.7.3', sha256='1b540552c93b47e83c568e87507d6e02993e6d1b30bc7285f2336c81c5014103') version('0.4.4', sha256='97697a46e8bf8be34461c2520d6fc4bfca0ed749b22bb2b7c21939fd450a7d63') From 771e73dfa4a8b0fdc9c156e30e5dbb08c310e4e5 Mon Sep 17 00:00:00 2001 From: Sebastian Ehlert <28669218+awvwgk@users.noreply.github.com> Date: Fri, 30 Jul 2021 16:56:40 +0200 Subject: [PATCH 023/414] dftd4: add v3.2.0, v3.1.0 and v3.0.0 (#25145) --- var/spack/repos/builtin/packages/dftd4/package.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/dftd4/package.py b/var/spack/repos/builtin/packages/dftd4/package.py index 7723e404b49..ef1e6fff90f 100644 --- a/var/spack/repos/builtin/packages/dftd4/package.py +++ b/var/spack/repos/builtin/packages/dftd4/package.py @@ -10,11 +10,13 @@ class Dftd4(MesonPackage): """Generally Applicable Atomic-Charge Dependent London Dispersion Correction""" homepage = "https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dftd4" + url = "https://github.com/dftd4/dftd4/releases/download/v3.2.0/dftd4-3.2.0-source.tar.xz" git = "https://github.com/dftd4/dftd4.git" version("main", branch="main") - version("3.1.0", tag="v3.1.0") - version("3.0.0", tag="v3.0.0") + version("3.2.0", "cef505e091469aa9b8f008ee1756545bb87b02760bb2c7ca54854e20ba8c590a") + version("3.1.0", "b652aa7cbf8d087c91bcf80f2d5801459ecf89c5d4176ebb39e963ee740ed54b") + version("3.0.0", "a7539d68d48d851bf37b79e37ea907c9da5eee908d0aa58a0a7dc15f04f8bc35") variant("openmp", default=True, description="Use OpenMP parallelisation") variant("python", default=False, description="Build Python extension module") From 3df1d9062e554357d0d224020988bcb00309878e Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Fri, 30 Jul 2021 11:01:56 -0400 Subject: [PATCH 024/414] add new version of py-dvc (#25152) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/py-dvc/package.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-dvc/package.py b/var/spack/repos/builtin/packages/py-dvc/package.py index dc638f2ab84..67939379886 100644 --- a/var/spack/repos/builtin/packages/py-dvc/package.py +++ b/var/spack/repos/builtin/packages/py-dvc/package.py @@ -13,6 +13,7 @@ class PyDvc(PythonPackage): homepage = "https://www.dvc.org" pypi = "dvc/dvc-1.11.10.tar.gz" + version('2.1.0', sha256='46cfbf0db27107fb3a2d5c643e3a948bb24539bf165ef70e77ce64283959e481') version('1.11.10', sha256='6b53ebf1bd5619836f131181402bb21f7b44109166e9db8f8d6a0d8c7ce9458d') version('1.11.6', sha256='41ba76c51c6142b28dae3aab039cb12423ba52fed6bd2a838f8308f315cfc20b') @@ -24,7 +25,9 @@ class PyDvc(PythonPackage): depends_on('py-colorama@0.3.9:', type=('build', 'run')) depends_on('py-configobj@5.0.6:', type=('build', 'run')) depends_on('py-gitpython@3.1:', type=('build', 'run')) - depends_on('py-dulwich@0.20.14:', type=('build', 'run')) + depends_on('py-dulwich@0.20.14:', type=('build', 'run'), when='@:1.11.10') + depends_on('py-dulwich@0.20.21:', type=('build', 'run'), when='@2.1.0:') + depends_on('py-pygit2@1.5.0:', type=('build', 'run'), when='@2.1.0:') depends_on('py-setuptools@34.0.0:', type=('build', 'run')) depends_on('py-nanotime@0.5.2:', type=('build', 'run')) depends_on('py-pyasn1@0.4.1:', type=('build', 'run')) @@ -44,18 +47,23 @@ class PyDvc(PythonPackage): depends_on('py-zc-lockfile@1.2.1:', type=('build', 'run')) depends_on('py-networkx@2.1:2.4', when='@:1.11.6', type=('build', 'run')) depends_on('py-networkx@2.1:', when='@1.11.7:', type=('build', 'run')) + depends_on('py-psutil@5.8.0:', type=('build', 'run'), when='@2.1.0:') depends_on('py-pydot@1.2.4:', type=('build', 'run')) depends_on('py-dataclasses@0.7', when='^python@:3.6.999', type=('build', 'run')) depends_on('py-flatten-dict@0.3.0:0.99', type=('build', 'run')) depends_on('py-tabulate@0.8.7:', type=('build', 'run')) depends_on('py-pygtrie@2.3.2', type=('build', 'run')) depends_on('py-dpath@2.0.1:2.99', type=('build', 'run')) - depends_on('py-shtab@1.3.2:1.99', type=('build', 'run')) - depends_on('py-rich@3.0.5:', type=('build', 'run')) + depends_on('py-shtab@1.3.2:1.99', type=('build', 'run'), when='@:1.11.10') + depends_on('py-shtab@1.3.4:1.99', type=('build', 'run'), when='@2.1.0:') + depends_on('py-rich@3.0.5:', type=('build', 'run'), when='@:1.11.10') + depends_on('py-rich@10.0.0:', type=('build', 'run'), when='@2.1.0:') depends_on('py-dictdiffer@0.8.1:', type=('build', 'run')) depends_on('py-python-benedict@0.21.1:', type=('build', 'run')) depends_on('py-pyparsing@2.4.7', type=('build', 'run')) depends_on('py-typing-extensions@3.7.4:', type=('build', 'run')) + depends_on('py-fsspec@0.9.0', type=('build', 'run'), when='@2.1.0:') + depends_on('py-diskcache@5.2.1:', type=('build', 'run'), when='@2.1.0:') depends_on('py-paramiko@2.7.0:+invoke', when='+ssh', type=('build', 'run')) depends_on('py-boto3@1.9.201:', when='+s3', type=('build', 'run')) From f591e9788d064c390e11a3fd25e9efc65825a0d7 Mon Sep 17 00:00:00 2001 From: Scott Wittenburg Date: Fri, 30 Jul 2021 09:11:00 -0600 Subject: [PATCH 025/414] pipelines: Store details about specs broken on develop (#24637) When a spec fails to build on `develop`, instead of storing an empty file as the entry in the broken specs list, this change stores the full spec yaml as well as links to the failing pipeline and job. --- lib/spack/spack/cmd/ci.py | 14 ++++++++++++-- lib/spack/spack/test/cmd/ci.py | 19 ++++++++++++++++++- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/cmd/ci.py b/lib/spack/spack/cmd/ci.py index cf228b31921..a605f621c3f 100644 --- a/lib/spack/spack/cmd/ci.py +++ b/lib/spack/spack/cmd/ci.py @@ -22,6 +22,7 @@ import spack.environment as ev import spack.hash_types as ht import spack.mirror +import spack.util.spack_yaml as syaml import spack.util.url as url_util import spack.util.web as web_util @@ -30,6 +31,7 @@ level = "long" CI_REBUILD_INSTALL_BASE_ARGS = ['spack', '-d', '-v'] +INSTALL_FAIL_CODE = 1 def get_env_var(variable_name): @@ -491,7 +493,7 @@ def ci_rebuild(args): # If a spec fails to build in a spack develop pipeline, we add it to a # list of known broken full hashes. This allows spack PR pipelines to # avoid wasting compute cycles attempting to build those hashes. - if install_exit_code == 1 and spack_is_develop_pipeline: + if install_exit_code == INSTALL_FAIL_CODE and spack_is_develop_pipeline: tty.debug('Install failed on develop') if 'broken-specs-url' in gitlab_ci: broken_specs_url = gitlab_ci['broken-specs-url'] @@ -502,9 +504,17 @@ def ci_rebuild(args): tmpdir = tempfile.mkdtemp() empty_file_path = os.path.join(tmpdir, 'empty.txt') + broken_spec_details = { + 'broken-spec': { + 'job-url': get_env_var('CI_JOB_URL'), + 'pipeline-url': get_env_var('CI_PIPELINE_URL'), + 'concrete-spec-yaml': job_spec.to_dict(hash=ht.full_hash) + } + } + try: with open(empty_file_path, 'w') as efd: - efd.write('') + efd.write(syaml.dump(broken_spec_details)) web_util.push_to_url( empty_file_path, broken_spec_path, diff --git a/lib/spack/spack/test/cmd/ci.py b/lib/spack/spack/test/cmd/ci.py index ea7d063b74e..4a40d1fc010 100644 --- a/lib/spack/spack/test/cmd/ci.py +++ b/lib/spack/spack/test/cmd/ci.py @@ -23,6 +23,7 @@ import spack.repo as repo import spack.util.gpg import spack.util.spack_yaml as syaml +import spack.util.url as url_util from spack.schema.buildcache_spec import schema as spec_yaml_schema from spack.schema.database_index import schema as db_idx_schema from spack.schema.gitlab_ci import schema as gitlab_ci_schema @@ -689,9 +690,13 @@ def test_ci_rebuild(tmpdir, mutable_mock_env_path, env_deactivate, mirror_dir = working_dir.join('mirror') mirror_url = 'file://{0}'.format(mirror_dir.strpath) - broken_specs_url = 's3://some-bucket/naughty-list' + broken_specs_path = os.path.join(working_dir.strpath, 'naughty-list') + broken_specs_url = url_util.join('file://', broken_specs_path) temp_storage_url = 'file:///path/to/per/pipeline/storage' + ci_job_url = 'https://some.domain/group/project/-/jobs/42' + ci_pipeline_url = 'https://some.domain/group/project/-/pipelines/7' + signing_key_dir = spack_paths.mock_gpg_keys_path signing_key_path = os.path.join(signing_key_dir, 'package-signing-key') with open(signing_key_path) as fd: @@ -743,14 +748,17 @@ def test_ci_rebuild(tmpdir, mutable_mock_env_path, env_deactivate, root_spec_build_hash = None job_spec_dag_hash = None + job_spec_full_hash = None for h, s in env.specs_by_hash.items(): if s.name == 'archive-files': root_spec_build_hash = h job_spec_dag_hash = s.dag_hash() + job_spec_full_hash = s.full_hash() assert root_spec_build_hash assert job_spec_dag_hash + assert job_spec_full_hash def fake_cdash_register(build_name, base_url, project, site, track): return ('fakebuildid', 'fakestamp') @@ -760,6 +768,7 @@ def fake_cdash_register(build_name, base_url, project, site, track): monkeypatch.setattr(spack.cmd.ci, 'CI_REBUILD_INSTALL_BASE_ARGS', [ 'notcommand' ]) + monkeypatch.setattr(spack.cmd.ci, 'INSTALL_FAIL_CODE', 127) with env_dir.as_cwd(): env_cmd('activate', '--without-view', '--sh', '-d', '.') @@ -780,6 +789,8 @@ def fake_cdash_register(build_name, base_url, project, site, track): set_env_var('SPACK_RELATED_BUILDS_CDASH', '') set_env_var('SPACK_REMOTE_MIRROR_URL', mirror_url) set_env_var('SPACK_PIPELINE_TYPE', 'spack_protected_branch') + set_env_var('CI_JOB_URL', ci_job_url) + set_env_var('CI_PIPELINE_URL', ci_pipeline_url) ci_cmd('rebuild', fail_on_error=False) @@ -815,6 +826,12 @@ def mystrip(s): flag_index = install_parts.index('-f') assert('archive-files.yaml' in install_parts[flag_index + 1]) + broken_spec_file = os.path.join(broken_specs_path, job_spec_full_hash) + with open(broken_spec_file) as fd: + broken_spec_content = fd.read() + assert(ci_job_url in broken_spec_content) + assert(ci_pipeline_url) in broken_spec_content + env_cmd('deactivate') From de88d2c7cc3fd173b90e9ba25170dc6562893c91 Mon Sep 17 00:00:00 2001 From: Scott Wittenburg Date: Fri, 30 Jul 2021 13:24:03 -0600 Subject: [PATCH 026/414] CI: capture stdout/stderr output to artifact files (#24401) Gitlab truncates job trace output (even the complete raw output) at 4MB, so this change captures it to a file under "user_data" artifacts as well, to make sure we can debug output from the end of the rebuild job. --- share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml index 470f72259a2..e9d8365b459 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml @@ -327,7 +327,8 @@ spack: - cd ${SPACK_CONCRETE_ENV_DIR} - spack env activate --without-view . - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'" - - spack -d ci rebuild + - mkdir -p ${SPACK_ARTIFACTS_ROOT}/user_data + - spack -d ci rebuild > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2) mappings: - match: From 886e94d0ee15a4a5614a9419b927071c55a4ec02 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Fri, 30 Jul 2021 16:38:23 -0400 Subject: [PATCH 027/414] [arrow] added versions 3.0.0 and 4.0.1 (#25160) * [arrow] added version 4.0.1 * [arrow] added version 3.0.0 --- var/spack/repos/builtin/packages/arrow/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/arrow/package.py b/var/spack/repos/builtin/packages/arrow/package.py index 9f3a2bc99b8..587a174d37a 100644 --- a/var/spack/repos/builtin/packages/arrow/package.py +++ b/var/spack/repos/builtin/packages/arrow/package.py @@ -14,6 +14,8 @@ class Arrow(CMakePackage, CudaPackage): homepage = "http://arrow.apache.org" url = "https://github.com/apache/arrow/archive/apache-arrow-0.9.0.tar.gz" + version('4.0.1', sha256='79d3e807df4a179cfab1e7a1ab5f79d95f7b72ac2c33aba030febd125d77eb3b') + version('3.0.0', sha256='fc461c4f0a60e7470a7c58b28e9344aa8fb0be5cc982e9658970217e084c3a82') version('0.17.1', sha256='ecb6da20f9288c0ca31f9b457ffdd460198765a8af27c1cac4b1382a8d130f86') version('0.15.1', sha256='ab1c0d371a10b615eccfcead71bb79832245d788f4834cc6b278c03c3872d593') version('0.15.0', sha256='d1072d8c4bf9166949f4b722a89350a88b7c8912f51642a5d52283448acdfd58') From b4c6c11e689b2292a1411e4fc60dcd49c929246d Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Fri, 30 Jul 2021 17:16:49 -0400 Subject: [PATCH 028/414] [py-pyarrow] added version 3.0.0 and 4.0.1 (#25161) * [py-pyarrow] added version 4.0.1 * [py-pyarrow] added version 3.0.0 * [py-pyarrow] updated dependencies for newer versions --- var/spack/repos/builtin/packages/py-pyarrow/package.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pyarrow/package.py b/var/spack/repos/builtin/packages/py-pyarrow/package.py index 212b5a5eed1..a3852da42f2 100644 --- a/var/spack/repos/builtin/packages/py-pyarrow/package.py +++ b/var/spack/repos/builtin/packages/py-pyarrow/package.py @@ -15,6 +15,8 @@ class PyPyarrow(PythonPackage, CudaPackage): homepage = "https://arrow.apache.org" pypi = 'pyarrow/pyarrow-0.17.1.tar.gz' + version('4.0.1', sha256='11517f0b4f4acbab0c37c674b4d1aad3c3dfea0f6b1bb322e921555258101ab3') + version('3.0.0', sha256='4bf8cc43e1db1e0517466209ee8e8f459d9b5e1b4074863317f2a965cf59889e') version('0.17.1', sha256='278d11800c2e0f9bea6314ef718b2368b4046ba24b6c631c14edad5a1d351e49') version('0.15.1', sha256='7ad074690ba38313067bf3bbda1258966d38e2037c035d08b9ffe3cce07747a5') version('0.12.1', sha256='10db6e486c918c3af999d0114a22d92770687e3a6607ea3f14e6748854824c2a') @@ -27,16 +29,18 @@ class PyPyarrow(PythonPackage, CudaPackage): 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('python@3.6:', type=('build', 'run'), when='@3.0.0:') 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-numpy@1.14:', type=('build', 'run'), when='@0.15.0:') - depends_on('py-six@1.0.0:', type=('build', 'run'), when='@0.15.0:') + depends_on('py-numpy@1.16.6:', type=('build', 'run'), when='@3.0.0:') + depends_on('py-six@1.0.0:', type=('build', 'run'), when='@0.15.0') 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', '@0.17.1'): + for v in ('@0.9.0', '@0.11.0', '@0.12.1', '@0.15.1', '@0.17.1', '@3.0.0', '@4.0.1'): depends_on('arrow+python' + v, when=v) depends_on('arrow+parquet+python' + v, when='+parquet' + v) depends_on('arrow+cuda' + v, when='+cuda' + v) From b1abfd3ff6c4d27b9baef7c7c036c7372fff1520 Mon Sep 17 00:00:00 2001 From: gpotter2 Date: Sun, 1 Aug 2021 03:44:20 +0200 Subject: [PATCH 029/414] Use the new cool Github templates (#25118) * Use the new cool github templates * Add the "mention maintainers" clause * Fix broken HTML tag * Minor improvements, missing filenames --- .github/ISSUE_TEMPLATE/bug_report.md | 42 -------------- .github/ISSUE_TEMPLATE/bug_report.yml | 58 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/build_error.md | 43 --------------- .github/ISSUE_TEMPLATE/build_error.yml | 64 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/feature_request.md | 33 ----------- .github/ISSUE_TEMPLATE/feature_request.yml | 41 ++++++++++++++ 7 files changed, 164 insertions(+), 118 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml delete mode 100644 .github/ISSUE_TEMPLATE/build_error.md create mode 100644 .github/ISSUE_TEMPLATE/build_error.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 9a568285ea1..00000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -name: "\U0001F41E Bug report" -about: Report a bug in the core of Spack (command not working as expected, etc.) -labels: "bug,triage" ---- - - - -### Steps to reproduce the issue - -```console -$ spack -$ spack -... -``` - -### Error Message - - -```console -$ spack --debug --stacktrace -``` - -### Information on your system - - - - - -### Additional information - - -- [ ] I have run `spack debug report` and reported the version of Spack/Python/Platform -- [ ] I have searched the issues of this repo and believe this is not a duplicate -- [ ] I have run the failing commands in debug mode and reported the output - - diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000000..e94915f017d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,58 @@ +name: "\U0001F41E Bug report" +description: Report a bug in the core of Spack (command not working as expected, etc.) +labels: [bug, triage] +body: + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: | + Explain, in a clear and concise way, the command you ran and the result you were trying to achieve. + Example: "I ran `spack find` to list all the installed packages and ..." + placeholder: | + ```console + $ spack + $ spack + ... + ``` + validations: + required: true + - type: textarea + id: error + attributes: + label: Error message + description: | + If Spack reported an error, provide the error message. If it did not report an error but the output appears incorrect, provide the incorrect output. If there was no error message and no output but the result is incorrect, describe how it does not match what you expect. + placeholder: | + ```console + $ spack --debug --stacktrace + ``` + - type: textarea + id: information + attributes: + label: Information on your system + description: Please include the output of `spack debug report` + validations: + required: true + - type: markdown + attributes: + value: | + If you have any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.) you can add that here as well. + - type: checkboxes + id: checks + attributes: + label: General information + options: + - label: I have run `spack debug report` and reported the version of Spack/Python/Platform + required: true + - label: I have searched the issues of this repo and believe this is not a duplicate + required: true + - label: I have run the failing commands in debug mode and reported the output + required: true + - type: markdown + attributes: + value: | + We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively! + If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on [our Slack](https://slack.spack.io/) first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue. + + Other than that, thanks for taking the time to contribute to Spack! diff --git a/.github/ISSUE_TEMPLATE/build_error.md b/.github/ISSUE_TEMPLATE/build_error.md deleted file mode 100644 index d26db233d38..00000000000 --- a/.github/ISSUE_TEMPLATE/build_error.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -name: "\U0001F4A5 Build error" -about: Some package in Spack didn't build correctly -title: "Installation issue: " -labels: "build-error" ---- - - - -### Steps to reproduce the issue - - -```console -$ spack install -... -``` - -### Information on your system - - - - - -### Additional information - - -* [spack-build-out.txt]() -* [spack-build-env.txt]() - - - -### General information - - -- [ ] I have run `spack debug report` and reported the version of Spack/Python/Platform -- [ ] I have run `spack maintainers ` and @mentioned any maintainers -- [ ] I have uploaded the build log and environment files -- [ ] I have searched the issues of this repo and believe this is not a duplicate diff --git a/.github/ISSUE_TEMPLATE/build_error.yml b/.github/ISSUE_TEMPLATE/build_error.yml new file mode 100644 index 00000000000..cf5d867ffe2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/build_error.yml @@ -0,0 +1,64 @@ +name: "\U0001F4A5 Build error" +description: Some package in Spack didn't build correctly +title: "Installation issue: " +labels: [build-error] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report this build failure. To proceed with the report please: + 1. Title the issue `Installation issue: `. + 2. Provide the information required below. + + We encourage you to try, as much as possible, to reduce your problem to the minimal example that still reproduces the issue. That would help us a lot in fixing it quickly and effectively! + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce the issue + description: | + Fill in the exact spec you are trying to build and the relevant part of the error message + placeholder: | + ```console + $ spack install + ... + ``` + validations: + required: true + - type: textarea + id: information + attributes: + label: Information on your system + description: Please include the output of `spack debug report` + validations: + required: true + - type: markdown + attributes: + value: | + If you have any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.) you can add that here as well. + - type: textarea + id: additional_information + attributes: + label: Additional information + description: | + Please upload the following files: + * **`spack-build-out.txt`** + * **`spack-build-env.txt`** + + They should be present in the stage directory of the failing build. Also upload any `config.log` or similar file if one exists. + - type: markdown + attributes: + value: | + Some packages have maintainers who have volunteered to debug build failures. Run `spack maintainers ` and **@mention** them here if they exist. + - type: checkboxes + id: checks + attributes: + label: General information + options: + - label: I have run `spack debug report` and reported the version of Spack/Python/Platform + required: true + - label: I have run `spack maintainers ` and **@mentioned** any maintainers + required: true + - label: I have uploaded the build log and environment files + required: true + - label: I have searched the issues of this repo and believe this is not a duplicate + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000000..a49eab2f6b9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index b6e5e27e6f1..00000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -name: "\U0001F38A Feature request" -about: Suggest adding a feature that is not yet in Spack -labels: feature - ---- - - - -### Rationale - - - -### Description - - - - -### Additional information - - - -### General information - -- [ ] I have run `spack --version` and reported the version of Spack -- [ ] I have searched the issues of this repo and believe this is not a duplicate - - - - \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000000..a247d9395a1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,41 @@ +name: "\U0001F38A Feature request" +description: Suggest adding a feature that is not yet in Spack +labels: [feature] +body: + - type: textarea + id: summary + attributes: + label: Summary + description: Please add a concise summary of your suggestion here. + validations: + required: true + - type: textarea + id: rationale + attributes: + label: Rationale + description: Is your feature request related to a problem? Please describe it! + - type: textarea + id: description + attributes: + label: Description + description: Describe the solution you'd like and the alternatives you have considered. + - type: textarea + id: additional_information + attributes: + label: Additional information + description: Add any other context about the feature request here. + - type: checkboxes + id: checks + attributes: + label: General information + options: + - label: I have run `spack --version` and reported the version of Spack + required: true + - label: I have searched the issues of this repo and believe this is not a duplicate + required: true + - type: markdown + attributes: + value: | + If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on [our Slack](https://slack.spack.io/) first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue. + + Other than that, thanks for taking the time to contribute to Spack! From b5f587bbe0d2cc12304fae96878d06bf01d86683 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sat, 31 Jul 2021 21:59:05 -0400 Subject: [PATCH 030/414] libjpeg-turbo: New version 2.1.0 (#25153) --- var/spack/repos/builtin/packages/libjpeg-turbo/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py index 9f0eb2c3f74..2f881a6634d 100644 --- a/var/spack/repos/builtin/packages/libjpeg-turbo/package.py +++ b/var/spack/repos/builtin/packages/libjpeg-turbo/package.py @@ -17,6 +17,7 @@ class LibjpegTurbo(Package): homepage = "https://libjpeg-turbo.org/" url = "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.0.3.tar.gz" + version('2.1.0', sha256='d6b7790927d658108dfd3bee2f0c66a2924c51ee7f9dc930f62c452f4a638c52') version('2.0.6', sha256='005aee2fcdca252cee42271f7f90574dda64ca6505d9f8b86ae61abc2b426371') version('2.0.5', sha256='b3090cd37b5a8b3e4dbd30a1311b3989a894e5d3c668f14cbc6739d77c9402b7') version('2.0.4', sha256='7777c3c19762940cff42b3ba4d7cd5c52d1671b39a79532050c85efb99079064') From 60eef9c0de7b2f822a0e647b67cfe1895aa1f2e1 Mon Sep 17 00:00:00 2001 From: "Garth N. Wells" Date: Sun, 1 Aug 2021 03:10:24 +0100 Subject: [PATCH 031/414] Add missing xtl dependency for fenics-basix and py-fenics-basix (#25151) --- var/spack/repos/builtin/packages/fenics-basix/package.py | 1 + var/spack/repos/builtin/packages/py-fenics-basix/package.py | 1 + 2 files changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/fenics-basix/package.py b/var/spack/repos/builtin/packages/fenics-basix/package.py index 3479510a418..da61c4be4e6 100644 --- a/var/spack/repos/builtin/packages/fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/fenics-basix/package.py @@ -18,5 +18,6 @@ class FenicsBasix(CMakePackage): version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") depends_on("cmake@3.18:", type="build") + depends_on("xtl@0.7.2:") depends_on("xtensor@0.23.10:") depends_on("blas", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-fenics-basix/package.py b/var/spack/repos/builtin/packages/py-fenics-basix/package.py index ca3e5e9d2be..01054602dab 100644 --- a/var/spack/repos/builtin/packages/py-fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-basix/package.py @@ -24,6 +24,7 @@ class PyFenicsBasix(PythonPackage): depends_on("python@3.7:", type=('build', 'run')) depends_on("py-setuptools", type="build") depends_on("cmake@3.18:", type="build") + depends_on("xtl@0.7.2:", type="build") depends_on("xtensor@0.23.10:", type="build") depends_on("py-pybind11@2.6.2:2.7.99", type="build") From 1e708bdb455b84eae36747a2d2f6eec2bb938c55 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sat, 31 Jul 2021 22:11:34 -0400 Subject: [PATCH 032/414] lorene: Install only executables, not unrelated files (#25148) * lorene: Install only executables, not unrelated files in the same directory * lorene: Don't determine compile dependencies The current way doesn't work (cpp misses C++ include paths), and we don't need dependencies anyway. * lorene: Correct BLAS library names * lorene: Remove comment --- var/spack/repos/builtin/packages/lorene/package.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/lorene/package.py b/var/spack/repos/builtin/packages/lorene/package.py index d8cef6630ee..fc8a5748153 100644 --- a/var/spack/repos/builtin/packages/lorene/package.py +++ b/var/spack/repos/builtin/packages/lorene/package.py @@ -39,7 +39,7 @@ class Lorene(MakefilePackage): parallel = False def edit(self, spec, prefix): - blas_libs = spec['lapack'].libs.link_flags + blas_libs = spec['blas'].libs.link_flags fftw_incdirs = "-I" + spec['fftw'].prefix.include if '+fftw' in spec else "" fftw_libdirs = "-L" + spec['fftw'].prefix.lib if '+fftw' in spec else "" fftw_libs = spec['fftw'].libs.link_flags @@ -63,7 +63,7 @@ def edit(self, spec, prefix): "-I$(HOME_LORENE)/C++/Include_extra " + fftw_incdirs + " " + gsl_incdirs + " " + pgplot_incdirs)), ('@RANLIB@', "ls"), - ('@MAKEDEPEND@', "cpp $(INC) -M >> $(df).d $<"), + ('@MAKEDEPEND@', ": >$(df).d"), ('@FFT_DIR@', "FFTW3"), ('@LIB_CXX@', fftw_libdirs + " " + fftw_libs + " -lgfortran"), ('@LIB_GSL@', gsl_libdirs + " " + gsl_libs), @@ -99,7 +99,9 @@ def install(self, spec, prefix): install_tree('Lib', prefix.lib) mkdirp(prefix.bin) if '+bin_star' in spec: - install_tree(join_path('Codes', 'Bin_star'), prefix.bin) + for exe in ['coal', 'lit_bin', 'init_bin', 'coal_regu', + 'init_bin_regu', 'analyse', 'prepare_seq']: + install(join_path('Codes', 'Bin_star', exe), prefix.bin) @property def libs(self): From ab5954520fff2e574c99dd1ab18ac076838e2fdb Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Sat, 31 Jul 2021 22:15:33 -0700 Subject: [PATCH 033/414] spack diff: make output order deterministic (#25169) The output order for `spack diff` is nondeterministic for larger diffs -- if you ran it several times it will not put the fields in the spec in the same order on successive invocations. This makes a few fixes to `spack diff`: - [x] Implement the change discussed in https://github.com/spack/spack/pull/22283#discussion_r598337448 to make `AspFunction` comparable in and of itself and to eliminate the need for `to_tuple()` - [x] Sort the lists of diff properties so that the output is always in the same order. - [x] Make the output for different fields the same as what we use in the solver. Previously, we would use `Type(value)` for non-string values and `value` for strings. Now we just use the value. So the output looks a little cleaner: ``` == Old ========================== == New ==================== @@ node_target @@ @@ node_target @@ - gdbm Target(x86_64) - gdbm x86_64 + zlib Target(skylake) + zlib skylake @@ variant_value @@ @@ variant_value @@ - ncurses symlinks bool(False) - ncurses symlinks False + zlib optimize bool(True) + zlib optimize True @@ version @@ @@ version @@ - gdbm Version(1.18.1) - gdbm 1.18.1 + zlib Version(1.2.11) + zlib 1.2.11 @@ node_os @@ @@ node_os @@ - gdbm catalina - gdbm catalina + zlib catalina + zlib catalina ``` I suppose if we want to use `repr()` in the output we could do that and could be consistent but we don't do that elsewhere -- the types of things in Specs are all stringifiable so the string and the name of the attribute (`version`, `node_os`, etc.) are sufficient to know what they are. --- lib/spack/docs/basic_usage.rst | 76 +++++++++++++------------- lib/spack/llnl/util/lang.py | 41 ++++++++++++++ lib/spack/spack/cmd/diff.py | 34 +++--------- lib/spack/spack/solver/asp.py | 1 + lib/spack/spack/test/cmd/diff.py | 8 +-- lib/spack/spack/test/llnl/util/lang.py | 50 +++++++++++++++++ 6 files changed, 143 insertions(+), 67 deletions(-) diff --git a/lib/spack/docs/basic_usage.rst b/lib/spack/docs/basic_usage.rst index 35037043197..a4b7afe93b4 100644 --- a/lib/spack/docs/basic_usage.rst +++ b/lib/spack/docs/basic_usage.rst @@ -735,13 +735,13 @@ real quickly since we have two! c) use `spack uninstall --all` to uninstall ALL matching specs. Oh no! We can see from the above that we have two different versions of zlib installed, -and the only difference between the two is the hash. This is a good use case for -``spack diff``, which can easily show us the "diff" or set difference +and the only difference between the two is the hash. This is a good use case for +``spack diff``, which can easily show us the "diff" or set difference between properties for two packages. Let's try it out. Since the only difference we see in the ``spack find`` view is the hash, let's use ``spack diff`` to look for more detail. We will provide the two hashes: -.. code-block::console +.. code-block:: console $ spack diff /efzjziy /sl7m27m ==> Warning: This interface is subject to change. @@ -749,34 +749,35 @@ Since the only difference we see in the ``spack find`` view is the hash, let's u --- zlib@1.2.11efzjziyc3dmb5h5u5azsthgbgog5mj7g +++ zlib@1.2.11sl7m27mzkbejtkrajigj3a3m37ygv4u2 @@ variant_value @@ - - zlib optimize bool(False) - + zlib optimize bool(True) + - zlib optimize False + + zlib optimize True The output is colored, and written in the style of a git diff. This means that you -can copy paste it into a GitHub markdown as a code block with language "diff" and it -will render nicely! Here is an example: +can copy and paste it into a GitHub markdown as a code block with language "diff" +and it will render nicely! Here is an example: -.. code-block::markdown +.. code-block:: markdown ```diff --- zlib@1.2.11/efzjziyc3dmb5h5u5azsthgbgog5mj7g +++ zlib@1.2.11/sl7m27mzkbejtkrajigj3a3m37ygv4u2 @@ variant_value @@ - - zlib optimize bool(False) - + zlib optimize bool(True) + - zlib optimize False + + zlib optimize True ``` -Awesome! Now let's read the diff. It tells us that our first zlib was built without optimize (False) -and the second was built with optimize (True). You can't see it in the docs here, but -the output above is also colored based on the content being an addition (+) or subtraction (-). +Awesome! Now let's read the diff. It tells us that our first zlib was built with ``~optimize`` +(``False``) and the second was built with ``+optimize`` (``True``). You can't see it in the docs +here, but the output above is also colored based on the content being an addition (+) or +subtraction (-). -This is a small example, but there are actually several kinds of differences that you can view, a variant value -being just one of them. The first package that you provide (A) -being diffed against B means that we see what is added to B but not in A (green) and what is present in A that is -removed in B (red). Here is another example with an additional difference type, ``VERSION``: +This is a small example, but you will be able to see differences for any attributes on the +installation spec. Running ``spack diff A B`` means we'll see which spec attributes are on +``B`` but not on ``A`` (green) and which are on ``A`` but not on ``B`` (red). Here is another +example with an additional difference type, ``version``: -.. code-block::console +.. code-block:: console $ spack diff python@2.7.8 python@3.8.11 ==> Warning: This interface is subject to change. @@ -787,42 +788,41 @@ removed in B (red). Here is another example with an additional difference type, - python patches a8c52415a8b03c0e5f28b5d52ae498f7a7e602007db2b9554df28cd5685839b8 + python patches 0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87 @@ version @@ - - openssl Version(1.0.2u) - + openssl Version(1.1.1k) - - python Version(2.7.8) - + python Version(3.8.11) - -Let's say that we were only interested in one kind of attribute above, versions! -We can ask the command to only output this attribute. To do this, you'd add -the ``-a`` for attribute parameter, which defaults to all. -Here is how you would filter to show just versions: + - openssl 1.0.2u + + openssl 1.1.1k + - python 2.7.8 + + python 3.8.11 +Let's say that we were only interested in one kind of attribute above, ``version``. +We can ask the command to only output this attribute. To do this, you'd add +the ``--attribute`` for attribute parameter, which defaults to all. Here is how you +would filter to show just versions: .. code-block:: console - $ spack diff -a version python@2.7.8 python@3.8.11 + $ spack diff --attribute version python@2.7.8 python@3.8.11 ==> Warning: This interface is subject to change. --- python@2.7.8/tsxdi6gl4lihp25qrm4d6nys3nypufbf +++ python@3.8.11/yjtseru4nbpllbaxb46q7wfkyxbuvzxx @@ version @@ - - openssl Version(1.0.2u) - + openssl Version(1.1.1k) - - python Version(2.7.8) - + python Version(3.8.11) + - openssl 1.0.2u + + openssl 1.1.1k + - python 2.7.8 + + python 3.8.11 -And you can add as many attributes as you'd like with multiple `-a`. -Finally, if you want to view the data as json (and possibly pipe into an output file) -just add ``--json``: +And you can add as many attributes as you'd like with multiple `--attribute` arguments +(for lots of attributes, you can use ``-a`` for short). Finally, if you want to view the +data as json (and possibly pipe into an output file) just add ``--json``: .. code-block:: console - + $ spack diff --json python@2.7.8 python@3.8.11 -This data will be much longer because along with the differences for A vs. B and -B vs. A, we also capture the intersection. +This data will be much longer because along with the differences for ``A`` vs. ``B`` and +``B`` vs. ``A``, the JSON output also showsthe intersection. ------------------------ diff --git a/lib/spack/llnl/util/lang.py b/lib/spack/llnl/util/lang.py index 3e81a34422b..abb889ee7b9 100644 --- a/lib/spack/llnl/util/lang.py +++ b/lib/spack/llnl/util/lang.py @@ -258,6 +258,47 @@ def new_dec(*args, **kwargs): return new_dec +def key_ordering(cls): + """Decorates a class with extra methods that implement rich comparison + operations and ``__hash__``. The decorator assumes that the class + implements a function called ``_cmp_key()``. The rich comparison + operations will compare objects using this key, and the ``__hash__`` + function will return the hash of this key. + + If a class already has ``__eq__``, ``__ne__``, ``__lt__``, ``__le__``, + ``__gt__``, or ``__ge__`` defined, this decorator will overwrite them. + + Raises: + TypeError: If the class does not have a ``_cmp_key`` method + """ + def setter(name, value): + value.__name__ = name + setattr(cls, name, value) + + if not has_method(cls, '_cmp_key'): + raise TypeError("'%s' doesn't define _cmp_key()." % cls.__name__) + + setter('__eq__', + lambda s, o: + (s is o) or (o is not None and s._cmp_key() == o._cmp_key())) + setter('__lt__', + lambda s, o: o is not None and s._cmp_key() < o._cmp_key()) + setter('__le__', + lambda s, o: o is not None and s._cmp_key() <= o._cmp_key()) + + setter('__ne__', + lambda s, o: + (s is not o) and (o is None or s._cmp_key() != o._cmp_key())) + setter('__gt__', + lambda s, o: o is None or s._cmp_key() > o._cmp_key()) + setter('__ge__', + lambda s, o: o is None or s._cmp_key() >= o._cmp_key()) + + setter('__hash__', lambda self: hash(self._cmp_key())) + + return cls + + #: sentinel for testing that iterators are done in lazy_lexicographic_ordering done = object() diff --git a/lib/spack/spack/cmd/diff.py b/lib/spack/spack/cmd/diff.py index ff1f9a41d63..79ba13b5685 100644 --- a/lib/spack/spack/cmd/diff.py +++ b/lib/spack/spack/cmd/diff.py @@ -80,13 +80,13 @@ def compare_specs(a, b, to_string=False, colorful=True): # Prepare a solver setup to parse differences setup = asp.SpackSolverSetup() - a_facts = set(to_tuple(t) for t in setup.spec_clauses(a, body=True)) - b_facts = set(to_tuple(t) for t in setup.spec_clauses(b, body=True)) + a_facts = set(t for t in setup.spec_clauses(a, body=True)) + b_facts = set(t for t in setup.spec_clauses(b, body=True)) # We want to present them to the user as simple key: values - intersect = list(a_facts.intersection(b_facts)) - spec1_not_spec2 = list(a_facts.difference(b_facts)) - spec2_not_spec1 = list(b_facts.difference(a_facts)) + intersect = sorted(a_facts.intersection(b_facts)) + spec1_not_spec2 = sorted(a_facts.difference(b_facts)) + spec2_not_spec1 = sorted(b_facts.difference(a_facts)) # Format the spec names to be colored fmt = "{name}{@version}{/hash}" @@ -103,32 +103,16 @@ def compare_specs(a, b, to_string=False, colorful=True): } -def to_tuple(asp_function): +def flatten(functions): """ - Prepare tuples of objects. - - If we need to save to json, convert to strings - See https://gist.github.com/tgamblin/83eba3c6d27f90d9fa3afebfc049ceaf - """ - args = [] - for arg in asp_function.args: - if isinstance(arg, str): - args.append(arg) - continue - args.append("%s(%s)" % (type(arg).__name__, str(arg))) - return tuple([asp_function.name] + args) - - -def flatten(tuple_list): - """ - Given a list of tuples, convert into a list of key: value tuples. + Given a list of ASP functions, convert into a list of key: value tuples. We are squashing whatever is after the first index into one string for easier parsing in the interface """ updated = [] - for item in tuple_list: - updated.append([item[0], " ".join(item[1:])]) + for fun in functions: + updated.append([fun.name, " ".join(str(a) for a in fun.args)]) return updated diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index 2251183c553..35181d69c9b 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -93,6 +93,7 @@ def _id(thing): return '"%s"' % str(thing) +@llnl.util.lang.key_ordering class AspFunction(AspObject): def __init__(self, name, args=None): self.name = name diff --git a/lib/spack/spack/test/cmd/diff.py b/lib/spack/spack/test/cmd/diff.py index 76ab8455b45..f795570a4dc 100644 --- a/lib/spack/spack/test/cmd/diff.py +++ b/lib/spack/spack/test/cmd/diff.py @@ -30,8 +30,8 @@ def test_diff(install_mockery, mock_fetch, mock_archive, mock_packages): c = spack.cmd.diff.compare_specs(specA, specB, to_string=True) assert len(c['a_not_b']) == 1 assert len(c['b_not_a']) == 1 - assert c['a_not_b'][0] == ['variant_value', 'mpileaks debug bool(False)'] - assert c['b_not_a'][0] == ['variant_value', 'mpileaks debug bool(True)'] + assert c['a_not_b'][0] == ['variant_value', 'mpileaks debug False'] + assert c['b_not_a'][0] == ['variant_value', 'mpileaks debug True'] def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages): @@ -75,5 +75,5 @@ def test_load_first(install_mockery, mock_fetch, mock_archive, mock_packages): assert len(result['a_not_b']) == 1 assert len(result['b_not_a']) == 1 - assert result['a_not_b'][0] == ['variant_value', 'mpileaks debug bool(False)'] - assert result['b_not_a'][0] == ['variant_value', 'mpileaks debug bool(True)'] + assert result['a_not_b'][0] == ['variant_value', 'mpileaks debug False'] + assert result['b_not_a'][0] == ['variant_value', 'mpileaks debug True'] diff --git a/lib/spack/spack/test/llnl/util/lang.py b/lib/spack/spack/test/llnl/util/lang.py index 80e4ff92fa8..d9561bb2a53 100644 --- a/lib/spack/spack/test/llnl/util/lang.py +++ b/lib/spack/spack/test/llnl/util/lang.py @@ -155,3 +155,53 @@ def test_uniq(): assert [1, 2, 3] == llnl.util.lang.uniq([1, 1, 1, 1, 2, 2, 2, 3, 3]) assert [1, 2, 1] == llnl.util.lang.uniq([1, 1, 1, 1, 2, 2, 2, 1, 1]) assert [] == llnl.util.lang.uniq([]) + + +def test_key_ordering(): + """Ensure that key ordering works correctly.""" + + with pytest.raises(TypeError): + @llnl.util.lang.key_ordering + class ClassThatHasNoCmpKeyMethod(object): + # this will raise b/c it does not define _cmp_key + pass + + @llnl.util.lang.key_ordering + class KeyComparable(object): + def __init__(self, t): + self.t = t + + def _cmp_key(self): + return self.t + + a = KeyComparable((1, 2, 3)) + a2 = KeyComparable((1, 2, 3)) + b = KeyComparable((2, 3, 4)) + b2 = KeyComparable((2, 3, 4)) + + assert a == a + assert a == a2 + assert a2 == a + + assert b == b + assert b == b2 + assert b2 == b + + assert a != b + + assert a < b + assert b > a + + assert a <= b + assert b >= a + + assert a <= a + assert a <= a2 + assert b >= b + assert b >= b2 + + assert hash(a) != hash(b) + assert hash(a) == hash(a) + assert hash(a) == hash(a2) + assert hash(b) == hash(b) + assert hash(b) == hash(b2) From a9bc11803123034435540d50356d669a3d26aedf Mon Sep 17 00:00:00 2001 From: iarspider Date: Sun, 1 Aug 2021 18:37:31 +0200 Subject: [PATCH 034/414] [giflib] Set LIBVER and LIBMAJOR when installing (#25173) * Set LIBVER and LIBMAJOR * Typo fix * Fix 2 * Fix #3 --- var/spack/repos/builtin/packages/giflib/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/giflib/package.py b/var/spack/repos/builtin/packages/giflib/package.py index 1b97ad975cb..8dbf7af34b1 100644 --- a/var/spack/repos/builtin/packages/giflib/package.py +++ b/var/spack/repos/builtin/packages/giflib/package.py @@ -29,6 +29,8 @@ def install_targets(self): targets = ['install'] if self.spec.satisfies('@5.2.0:'): targets.append('PREFIX={0}'.format(self.spec.prefix)) + targets.append('LIBMAJOR={0}'.format(self.spec.version.up_to(1))) + targets.append('LIBVER={0}'.format(self.spec.version)) return targets From 8867827a89bffea655031c839a2f88c5fc6ae367 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Sun, 1 Aug 2021 12:43:58 -0400 Subject: [PATCH 035/414] [py-asteval] added version 0.9.25 (#25107) * [py-asteval] added version 0.9.25 * [py-asteval] 0.9.25 requires py-setuptools-scm --- var/spack/repos/builtin/packages/py-asteval/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-asteval/package.py b/var/spack/repos/builtin/packages/py-asteval/package.py index d2cfb13f1cd..46b05fe2e32 100644 --- a/var/spack/repos/builtin/packages/py-asteval/package.py +++ b/var/spack/repos/builtin/packages/py-asteval/package.py @@ -12,7 +12,10 @@ class PyAsteval(PythonPackage): homepage = "http://github.com/newville/asteval" pypi = "asteval/asteval-0.9.18.tar.gz" + version('0.9.25', sha256='bea22b7d8fa16bcba95ebc72052ae5d8ca97114c9959bb47f8b8eebf30e4342f') version('0.9.18', sha256='5d64e18b8a72c2c7ae8f9b70d1f80b68bbcaa98c1c0d7047c35489d03209bc86') depends_on('python@3.5:', type=('build', 'run')) + depends_on('python@3.6:', type=('build', 'run'), when='@0.9.25:') depends_on('py-setuptools', type='build') + depends_on('py-setuptools-scm', type='build', when='@0.9.25:') From 861abb512e7f974cd399d2bcfdf4e22b38db7b4b Mon Sep 17 00:00:00 2001 From: Iman Hosseini Date: Sun, 1 Aug 2021 14:58:24 -0400 Subject: [PATCH 036/414] laghos: add variant with compiler optimization (#24910) * add variant with compiler optimization Update package.py to include variant with compiler optimization, benchmarked at A-HUG hackaton to improve major kernel time by roughly 3%. * fix style * Update var/spack/repos/builtin/packages/laghos/package.py Co-authored-by: Adam J. Stewart Co-authored-by: Adam J. Stewart --- var/spack/repos/builtin/packages/laghos/package.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/laghos/package.py b/var/spack/repos/builtin/packages/laghos/package.py index 0f327ceb1c9..0082333cd8c 100644 --- a/var/spack/repos/builtin/packages/laghos/package.py +++ b/var/spack/repos/builtin/packages/laghos/package.py @@ -28,6 +28,7 @@ class Laghos(MakefilePackage): version('1.0', sha256='af50a126355a41c758fcda335a43fdb0a3cd97e608ba51c485afda3dd84a5b34') variant('metis', default=True, description='Enable/disable METIS support') + variant('ofast', default=False, description="Enable gcc optimization flags") depends_on('mfem+mpi+metis', when='+metis') depends_on('mfem+mpi~metis', when='~metis') @@ -50,7 +51,8 @@ def build_targets(self): targets.append('TEST_MK=%s' % spec['mfem'].package.test_mk) if spec.satisfies('@:2.0'): targets.append('CXX=%s' % spec['mpi'].mpicxx) - + if '+ofast %gcc' in self.spec: + targets.append('CXXFLAGS = -Ofast -finline-functions') return targets # See lib/spack/spack/build_systems/makefile.py From f9703c1c9fac46ee24a85d3740a4d0fd40da4533 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sun, 1 Aug 2021 15:22:07 -0400 Subject: [PATCH 037/414] kadath: New package (#25162) * kadath: New package * Update var/spack/repos/builtin/packages/kadath/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/kadath/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/kadath/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/kadath/package.py Co-authored-by: Adam J. Stewart * kadath: Add description to MPI variant * kadath: Add empty line * kadath: Add variant "codes=none" to avoid empty default Co-authored-by: Adam J. Stewart --- .../repos/builtin/packages/kadath/package.py | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 var/spack/repos/builtin/packages/kadath/package.py diff --git a/var/spack/repos/builtin/packages/kadath/package.py b/var/spack/repos/builtin/packages/kadath/package.py new file mode 100644 index 00000000000..6abfdd9ab2f --- /dev/null +++ b/var/spack/repos/builtin/packages/kadath/package.py @@ -0,0 +1,88 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import os + +from spack import * + + +class Kadath(CMakePackage): + """KADATH SPECTRAL SOLVER. + + The Frankfurt University/Kadath (FUKA) Initial Data solver branch is + a collection of ID solvers aimed at delivering consistent initial + data (ID) solutions to the eXtended Conformal Thin-Sandwich (XCTS) + formulation of Einstein's field equations for a variety of compact + object configurations to include extremely compact, asymmetric, and + mixed spin binaries. + """ + + homepage = "https://kadath.obspm.fr/fuka/" + git = "https://gitlab.obspm.fr/grandcle/Kadath.git" + + maintainers = ['eschnett'] + + version('fuka', branch='fuka') + + variant('mpi', default=True, description='Enable MPI support') + + variant('codes', multi=True, + description="Codes to enable", + values=('none', 'BBH', 'BH', 'BHNS', 'BNS', 'NS'), + default='none') + + depends_on('blas') + depends_on('boost cxxstd=17') # kadath uses std=C++17 + depends_on('cmake @2.8:', type='build') + depends_on('fftw-api @3:') + depends_on('gsl') + depends_on('lapack') + depends_on('mpi', when='+mpi') + depends_on('pgplot') + depends_on('scalapack') + + root_cmakelists_dir = 'build_release' + + def patch(self): + for code in self.spec.variants['codes'].value: + if code != 'none': + # Disable unwanted explicit include directory settings + filter_file(r"include_directories\(/usr", + "# include_directories(/usr", + join_path("codes", code, "CMakeLists.txt")) + + def setup_build_environment(self, env): + env.set('HOME_KADATH', self.stage.source_path) + + def cmake_args(self): + return [ + # kadath uses a non-standard option to enable MPI + self.define_from_variant('PAR_VERSION', 'mpi'), + ] + + def cmake(self, spec, prefix): + options = self.std_cmake_args + options += self.cmake_args() + options.append(os.path.abspath(self.root_cmakelists_dir)) + with working_dir(self.build_directory, create=True): + cmake(*options) + for code in self.spec.variants['codes'].value: + if code != 'none': + with working_dir(join_path("codes", code)): + cmake(*options) + + def build(self, spec, prefix): + with working_dir(self.build_directory): + make(*self.build_targets) + for code in self.spec.variants['codes'].value: + if code != 'none': + with working_dir(join_path("codes", code)): + make(*self.build_targets) + + def install(self, spec, prefix): + mkdirp(prefix.include) + install_tree('include', prefix.include) + mkdirp(prefix.lib) + install_tree('lib', prefix.lib) From 55e218649a5523d10698bfe4a4898475e4e98612 Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Sun, 1 Aug 2021 15:47:48 -0700 Subject: [PATCH 038/414] amrex: 21.08 (#25175) --- var/spack/repos/builtin/packages/amrex/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py index c0f5419f7d9..df98aa113a4 100644 --- a/var/spack/repos/builtin/packages/amrex/package.py +++ b/var/spack/repos/builtin/packages/amrex/package.py @@ -18,6 +18,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage): maintainers = ['WeiqunZhang', 'asalmgren'] version('develop', branch='development') + version('21.08', sha256='34fb6c72735c74820b27db1138e5bc9fe698ffbd8344aae10a5fbdace479b57f') version('21.07', sha256='9630b8c0c7ffbf3f5ea4d973a3fdb40b9b10fec0f8df33b9e24d76d2c1d15771') version('21.06', sha256='6982c22837d7c0bc4583065d9da55e0aebcf07b54386e4b90a779391fe73fd53') version('21.05', sha256='eb6d21e48279ad67278413c77b29a1754c18ffe741aa6b3a9f3f01eeac13177f') From 437c1e438e3c05706adf5f39ea39725a8515e87f Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Mon, 2 Aug 2021 00:38:34 -0700 Subject: [PATCH 039/414] add MIOPEN_AMDGCN_ASSEMBLER to cmake args (#25159) --- var/spack/repos/builtin/packages/miopen-hip/package.py | 4 ++++ var/spack/repos/builtin/packages/miopen-opencl/package.py | 4 ++++ var/spack/repos/builtin/packages/mivisionx/package.py | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index 2479e1e70c4..e08d349128c 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -67,6 +67,10 @@ def cmake_args(self): 'CMAKE_CXX_COMPILER', '{0}/bin/clang++'.format(spec['llvm-amdgpu'].prefix) ), + self.define( + 'MIOPEN_AMDGCN_ASSEMBLER', + '{0}/bin/clang'.format(spec['llvm-amdgpu'].prefix) + ), self.define('Boost_USE_STATIC_LIBS', 'Off'), self.define('HIP_PREFIX_PATH', spec['hip'].prefix), self.define('DEVICELIBS_PREFIX_PATH', self.get_bitcode_dir()) diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py index 1c5d4ee1be3..1e095d5d2ac 100644 --- a/var/spack/repos/builtin/packages/miopen-opencl/package.py +++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py @@ -59,6 +59,10 @@ def cmake_args(self): 'HIP_CXX_COMPILER', '{0}/bin/clang++'.format(self.spec['llvm-amdgpu'].prefix) ), + self.define( + 'MIOPEN_AMDGCN_ASSEMBLER', + '{0}/bin/clang'.format(self.spec['llvm-amdgpu'].prefix) + ), self.define('Boost_USE_STATIC_LIBS', 'Off') ] return args diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py index 3aabcb74281..c5e5700e228 100644 --- a/var/spack/repos/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/builtin/packages/mivisionx/package.py @@ -41,6 +41,10 @@ def patch(self): self.spec['rocm-opencl'].prefix, 'amd_openvx/cmake/FindOpenCL.cmake', string=True) + filter_file('/opt/rocm/mivisionx/include', + self.spec['mivisionx'].prefix.include, + 'utilities/mv_deploy/CMakeLists.txt', + string=True) def flag_handler(self, name, flags): spec = self.spec From 2a20943f9b7ba4f32b09619d3f6efe2b1879a1cd Mon Sep 17 00:00:00 2001 From: s1913388 <77328790+s1913388@users.noreply.github.com> Date: Mon, 2 Aug 2021 15:40:43 +0800 Subject: [PATCH 040/414] Optimised Cloverleaf3D (#24920) --- .../builtin/packages/cloverleaf3d/package.py | 98 +++++++++++-------- 1 file changed, 57 insertions(+), 41 deletions(-) diff --git a/var/spack/repos/builtin/packages/cloverleaf3d/package.py b/var/spack/repos/builtin/packages/cloverleaf3d/package.py index 56de6ac5ee6..eb81f13111b 100644 --- a/var/spack/repos/builtin/packages/cloverleaf3d/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf3d/package.py @@ -6,59 +6,78 @@ class Cloverleaf3d(MakefilePackage): """Proxy Application. CloverLeaf3D is 3D version of the - CloverLeaf mini-app. CloverLeaf is a mini-app that solves - the compressible Euler equations on a Cartesian grid, - using an explicit, second-order accurate method. + CloverLeaf mini-app. CloverLeaf is a mini-app that solves + the compressible Euler equations on a Cartesian grid, + using an explicit, second-order accurate method. """ homepage = "http://uk-mac.github.io/CloverLeaf3D/" - url = "http://downloads.mantevo.org/releaseTarballs/miniapps/CloverLeaf3D/CloverLeaf3D-1.0.tar.gz" + url = "http://downloads.mantevo.org/releaseTarballs/miniapps/CloverLeaf3D/CloverLeaf3D-1.0.tar.gz" - tags = ['proxy-app'] + tags = ["proxy-app"] - version('1.0', sha256='78d591728c61bdfd6175b3930df7652e09ed04fbcd01b3fc86fb2aa0f237a8ef') + maintainers = ["s1913388"] - variant('openacc', default=False, description='Enable OpenACC Support') + version( + "1.0", sha256="78d591728c61bdfd6175b3930df7652e09ed04fbcd01b3fc86fb2aa0f237a8ef" + ) - depends_on('mpi') + variant("opencl", default=False, description="Enable OpenCL Support") + + variant("openacc", default=False, description="Enable OpenACC Support") + + depends_on("mpi") @property def type_of_build(self): - build = 'ref' + build = "ref" - if '+openacc' in self.spec: - build = 'OpenACC' + if "+opencl" in self.spec: + build = "OpenCL" + elif "+openacc" in self.spec: + build = "OpenACC" return build @property def build_targets(self): targets = [ - 'MPI_COMPILER={0}'.format(self.spec['mpi'].mpifc), - 'C_MPI_COMPILER={0}'.format(self.spec['mpi'].mpicc), - '--directory=CloverLeaf3D_{0}'.format(self.type_of_build) + "MPI_COMPILER={0}".format(self.spec["mpi"].mpifc), + "C_MPI_COMPILER={0}".format(self.spec["mpi"].mpicc), + "--directory=CloverLeaf3D_{0}".format(self.type_of_build), ] - if '%gcc' in self.spec: - targets.append('COMPILER=GNU') - targets.append('FLAGS_GNU=') - targets.append('CFLAGS_GNU=') - elif '%cce' in self.spec: - targets.append('COMPILER=CRAY') - targets.append('FLAGS_CRAY=') - targets.append('CFLAGS_CRAY=') - elif '%intel' in self.spec: - targets.append('COMPILER=INTEL') - targets.append('FLAGS_INTEL=') - targets.append('CFLAGS_INTEL=') - elif '%pgi' in self.spec: - targets.append('COMPILER=PGI') - targets.append('FLAGS_PGI=') - targets.append('CFLAGS_PGI=') - elif '%xl' in self.spec: - targets.append('COMPILER=XLF') - targets.append('FLAGS_XLF=') - targets.append('CFLAGS_XLF=') + if "%gcc" in self.spec: + targets.append("COMPILER=GNU") + targets.append("FLAGS_GNU=-O3 -funroll-loops") + targets.append("CFLAGS_GNU=-O3 -funroll-loops") + targets.append("OMP_GNU=-fopenmp") + elif "%cce" in self.spec: + targets.append("COMPILER=CRAY") + targets.append("FLAGS_CRAY=") + targets.append("CFLAGS_CRAY=") + elif "%intel" in self.spec: + targets.append("COMPILER=INTEL") + targets.append("FLAGS_INTEL=") + targets.append("CFLAGS_INTEL=") + elif "%pgi" in self.spec: + targets.append("COMPILER=PGI") + targets.append("FLAGS_PGI=") + targets.append("CFLAGS_PGI=") + elif "%xl" in self.spec: + targets.append("COMPILER=XLF") + targets.append("FLAGS_XLF=") + targets.append("CFLAGS_XLF=") + elif "%arm" in self.spec: + targets.append("COMPILER=ARM") + targets.append("FLAGS_ARM=-O3 -funroll-loops") + targets.append("CFLAGS_ARM=-O3 -funroll-loops") + targets.append("OMP_ARM=-fopenmp") + elif "%nvhpc" in self.spec: + targets.append("COMPILER=NVHPC") + targets.append("FLAGS_NVHPC=-O3 -fast") + targets.append("CFLAGS_NVHPC=-O3 -fast") + targets.append("OMP_NVHPC=-mp=multicore") return targets @@ -67,11 +86,8 @@ def install(self, spec, prefix): mkdirp(prefix.bin) mkdirp(prefix.doc.samples) - install('README.md', prefix.doc) + install("README.md", prefix.doc) - install('CloverLeaf3D_{0}/clover_leaf'.format(self.type_of_build), - prefix.bin) - install('CloverLeaf3D_{0}/clover.in'.format(self.type_of_build), - prefix.bin) - install('CloverLeaf3D_{0}/*.in'.format(self.type_of_build), - prefix.doc.samples) + install("CloverLeaf3D_{0}/clover_leaf".format(self.type_of_build), prefix.bin) + install("CloverLeaf3D_{0}/clover.in".format(self.type_of_build), prefix.bin) + install("CloverLeaf3D_{0}/*.in".format(self.type_of_build), prefix.doc.samples) From cd8f7d844d03bd82bece18524ec16321e7a97747 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Mon, 2 Aug 2021 02:53:19 -0500 Subject: [PATCH 041/414] [imlib2] depends_on pkg-config, type = build; and new versions (#25030) --- var/spack/repos/builtin/packages/imlib2/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/imlib2/package.py b/var/spack/repos/builtin/packages/imlib2/package.py index 8d7f7ac943f..8cb1586ba23 100644 --- a/var/spack/repos/builtin/packages/imlib2/package.py +++ b/var/spack/repos/builtin/packages/imlib2/package.py @@ -16,6 +16,8 @@ class Imlib2(AutotoolsPackage, SourceforgePackage): maintainers = ['TheQueasle'] + version('1.7.1', sha256='033a6a639dcbc8e03f65ff05e57068e7346d50ee2f2fff304bb9095a1b2bc407') + version('1.7.0', sha256='1976ca3db48cbae79cd0fc737dabe39cc81494fc2560e1d22821e7dc9c22b37d') version('1.6.1', sha256='4d393a77e13da883c8ee2da3b029da3570210fe37d000c9ac33d9fce751b166d') version('1.6.0', sha256='cfc440ddfaed5fc85ba2572ad8d87a87cd77a5bffb33ebca882c42cefcd8691d') version('1.5.1', sha256='fa4e57452b8843f4a70f70fd435c746ae2ace813250f8c65f977db5d7914baae') @@ -28,3 +30,4 @@ class Imlib2(AutotoolsPackage, SourceforgePackage): depends_on('libpng') depends_on('libid3tag') depends_on('libjpeg-turbo') + depends_on('pkgconfig', type='build') From be3e6a0e9b8c243a4aec2a550b6512fe32553c13 Mon Sep 17 00:00:00 2001 From: loulawrence <72574166+loulawrence@users.noreply.github.com> Date: Mon, 2 Aug 2021 04:30:25 -0400 Subject: [PATCH 042/414] document config option "url_fetch_method" (#24638) - Change config from the undocumented `use_curl: true/false` to `url_fetch_method: urllib/curl`. - Documentation of `url_fetch_method` in `defaults/config.yaml` - Default fetch option explicitly set to `urllib` for users who may not have curl on their system To upgrade from `use_curl` to `url_fetch_method`, run `spack config update config` --- etc/spack/defaults/config.yaml | 4 +++ lib/spack/spack/fetch_strategy.py | 4 +-- lib/spack/spack/schema/config.py | 10 ++++++ lib/spack/spack/test/cache_fetch.py | 12 +++---- lib/spack/spack/test/s3_fetch.py | 18 +++++----- lib/spack/spack/test/url_fetch.py | 54 ++++++++++++++--------------- 6 files changed, 58 insertions(+), 44 deletions(-) diff --git a/etc/spack/defaults/config.yaml b/etc/spack/defaults/config.yaml index 2400686e60d..64a50cc8059 100644 --- a/etc/spack/defaults/config.yaml +++ b/etc/spack/defaults/config.yaml @@ -134,6 +134,10 @@ config: # enabling locks. locks: true + # The default url fetch method to use. + # If set to 'curl', Spack will require curl on the user's system + # If set to 'urllib', Spack will use python built-in libs to fetch + url_fetch_method: urllib # The maximum number of jobs to use for the build system (e.g. `make`), when # the -j flag is not given on the command line. Defaults to 16 when not set. diff --git a/lib/spack/spack/fetch_strategy.py b/lib/spack/spack/fetch_strategy.py index f5eecdcb5d5..136d786e3f9 100644 --- a/lib/spack/spack/fetch_strategy.py +++ b/lib/spack/spack/fetch_strategy.py @@ -338,7 +338,7 @@ def fetch(self): def _existing_url(self, url): tty.debug('Checking existence of {0}'.format(url)) - if spack.config.get('config:use_curl'): + if spack.config.get('config:url_fetch_method') == 'curl': curl = self.curl # Telling curl to fetch the first byte (-r 0-0) is supposed to be # portable. @@ -357,7 +357,7 @@ def _existing_url(self, url): return (response.getcode() is None or response.getcode() == 200) def _fetch_from_url(self, url): - if spack.config.get('config:use_curl'): + if spack.config.get('config:url_fetch_method') == 'curl': return self._fetch_curl(url) else: return self._fetch_urllib(url) diff --git a/lib/spack/spack/schema/config.py b/lib/spack/spack/schema/config.py index 1df922b1376..0cf533eb18c 100644 --- a/lib/spack/spack/schema/config.py +++ b/lib/spack/spack/schema/config.py @@ -99,6 +99,10 @@ }, 'allow_sgid': {'type': 'boolean'}, 'binary_index_root': {'type': 'string'}, + 'url_fetch_method': { + 'type': 'string', + 'enum': ['urllib', 'curl'] + }, }, }, } @@ -153,4 +157,10 @@ def update(data): update_data = spack.config.merge_yaml(update_data, projections_data) data['install_tree'] = update_data changed = True + + use_curl = data.pop('use_curl', None) + if use_curl is not None: + data['url_fetch_method'] = 'curl' if use_curl else 'urllib' + changed = True + return changed diff --git a/lib/spack/spack/test/cache_fetch.py b/lib/spack/spack/test/cache_fetch.py index 0929bfd12c6..a3b9cafed89 100644 --- a/lib/spack/spack/test/cache_fetch.py +++ b/lib/spack/spack/test/cache_fetch.py @@ -14,25 +14,25 @@ from spack.stage import Stage -@pytest.mark.parametrize('use_curl', [True, False]) -def test_fetch_missing_cache(tmpdir, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_fetch_missing_cache(tmpdir, _fetch_method): """Ensure raise a missing cache file.""" testpath = str(tmpdir) - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): fetcher = CacheURLFetchStrategy(url='file:///not-a-real-cache-file') with Stage(fetcher, path=testpath): with pytest.raises(NoCacheError, match=r'No cache'): fetcher.fetch() -@pytest.mark.parametrize('use_curl', [True, False]) -def test_fetch(tmpdir, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_fetch(tmpdir, _fetch_method): """Ensure a fetch after expanding is effectively a no-op.""" testpath = str(tmpdir) cache = os.path.join(testpath, 'cache.tar.gz') touch(cache) url = 'file:///{0}'.format(cache) - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): fetcher = CacheURLFetchStrategy(url=url) with Stage(fetcher, path=testpath) as stage: source_path = stage.source_path diff --git a/lib/spack/spack/test/s3_fetch.py b/lib/spack/spack/test/s3_fetch.py index 2fc9e3de848..fbff60033da 100644 --- a/lib/spack/spack/test/s3_fetch.py +++ b/lib/spack/spack/test/s3_fetch.py @@ -12,20 +12,20 @@ import spack.stage as spack_stage -@pytest.mark.parametrize('use_curl', [True, False]) -def test_s3fetchstrategy_sans_url(use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_s3fetchstrategy_sans_url(_fetch_method): """Ensure constructor with no URL fails.""" - with spack_config.override('config:use_curl', use_curl): + with spack_config.override('config:url_fetch_method', _fetch_method): with pytest.raises(ValueError): spack_fs.S3FetchStrategy(None) -@pytest.mark.parametrize('use_curl', [True, False]) -def test_s3fetchstrategy_bad_url(tmpdir, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_s3fetchstrategy_bad_url(tmpdir, _fetch_method): """Ensure fetch with bad URL fails as expected.""" testpath = str(tmpdir) - with spack_config.override('config:use_curl', use_curl): + with spack_config.override('config:url_fetch_method', _fetch_method): fetcher = spack_fs.S3FetchStrategy(url='file:///does-not-exist') assert fetcher is not None @@ -36,13 +36,13 @@ def test_s3fetchstrategy_bad_url(tmpdir, use_curl): fetcher.fetch() -@pytest.mark.parametrize('use_curl', [True, False]) -def test_s3fetchstrategy_downloaded(tmpdir, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_s3fetchstrategy_downloaded(tmpdir, _fetch_method): """Ensure fetch with archive file already downloaded is a noop.""" testpath = str(tmpdir) archive = os.path.join(testpath, 's3.tar.gz') - with spack_config.override('config:use_curl', use_curl): + with spack_config.override('config:url_fetch_method', _fetch_method): class Archived_S3FS(spack_fs.S3FetchStrategy): @property def archive_file(self): diff --git a/lib/spack/spack/test/url_fetch.py b/lib/spack/spack/test/url_fetch.py index b466c40c060..b0bd53af724 100644 --- a/lib/spack/spack/test/url_fetch.py +++ b/lib/spack/spack/test/url_fetch.py @@ -49,20 +49,20 @@ def fn(v): return factory -@pytest.mark.parametrize('use_curl', [True, False]) -def test_urlfetchstrategy_sans_url(use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_urlfetchstrategy_sans_url(_fetch_method): """Ensure constructor with no URL fails.""" - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): with pytest.raises(ValueError): with fs.URLFetchStrategy(None): pass -@pytest.mark.parametrize('use_curl', [True, False]) -def test_urlfetchstrategy_bad_url(tmpdir, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_urlfetchstrategy_bad_url(tmpdir, _fetch_method): """Ensure fetch with bad URL fails as expected.""" testpath = str(tmpdir) - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): with pytest.raises(fs.FailedDownloadError): fetcher = fs.URLFetchStrategy(url='file:///does-not-exist') assert fetcher is not None @@ -75,7 +75,7 @@ def test_urlfetchstrategy_bad_url(tmpdir, use_curl): def test_fetch_options(tmpdir, mock_archive): testpath = str(tmpdir) - with spack.config.override('config:use_curl', True): + with spack.config.override('config:url_fetch_method', 'curl'): fetcher = fs.URLFetchStrategy(url=mock_archive.url, fetch_options={'cookie': 'True', 'timeout': 10}) @@ -87,11 +87,11 @@ def test_fetch_options(tmpdir, mock_archive): fetcher.fetch() -@pytest.mark.parametrize('use_curl', [True, False]) -def test_archive_file_errors(tmpdir, mock_archive, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_archive_file_errors(tmpdir, mock_archive, _fetch_method): """Ensure FetchStrategy commands may only be used as intended""" testpath = str(tmpdir) - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): fetcher = fs.URLFetchStrategy(url=mock_archive.url) assert fetcher is not None with pytest.raises(fs.FailedDownloadError): @@ -112,7 +112,7 @@ def test_archive_file_errors(tmpdir, mock_archive, use_curl): @pytest.mark.parametrize('secure', [True, False]) -@pytest.mark.parametrize('use_curl', [True, False]) +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) @pytest.mark.parametrize('mock_archive', [('.tar.gz', 'z'), ('.tgz', 'z'), ('.tar.bz2', 'j'), ('.tbz2', 'j'), @@ -121,7 +121,7 @@ def test_archive_file_errors(tmpdir, mock_archive, use_curl): def test_fetch( mock_archive, secure, - use_curl, + _fetch_method, checksum_type, config, mutable_mock_repo @@ -147,7 +147,7 @@ def test_fetch( # Enter the stage directory and check some properties with pkg.stage: with spack.config.override('config:verify_ssl', secure): - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): pkg.do_stage() with working_dir(pkg.stage.source_path): assert os.path.exists('configure') @@ -168,13 +168,13 @@ def test_fetch( ('url-list-test @3.0a1', 'foo-3.0a1.tar.gz', 'abc30a1'), ('url-list-test @4.5-rc5', 'foo-4.5-rc5.tar.gz', 'abc45rc5'), ]) -@pytest.mark.parametrize('use_curl', [True, False]) -def test_from_list_url(mock_packages, config, spec, url, digest, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_from_list_url(mock_packages, config, spec, url, digest, _fetch_method): """ Test URLs in the url-list-test package, which means they should have checksums in the package. """ - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): specification = Spec(spec).concretized() pkg = spack.repo.get(specification) fetch_strategy = fs.from_list_url(pkg) @@ -187,10 +187,10 @@ def test_from_list_url(mock_packages, config, spec, url, digest, use_curl): assert fetch_strategy.extra_options == {'timeout': 60} -@pytest.mark.parametrize('use_curl', [True, False]) -def test_from_list_url_unspecified(mock_packages, config, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_from_list_url_unspecified(mock_packages, config, _fetch_method): """Test non-specific URLs from the url-list-test package.""" - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): pkg = spack.repo.get('url-list-test') spec = Spec('url-list-test @2.0.0').concretized() @@ -236,7 +236,7 @@ def is_true(): monkeypatch.setattr(sys.stdout, 'isatty', is_true) monkeypatch.setattr(tty, 'msg_enabled', is_true) - with spack.config.override('config:use_curl', True): + with spack.config.override('config:url_fetch_method', 'curl'): fetcher = fs.URLFetchStrategy(mock_archive.url) with Stage(fetcher, path=testpath) as stage: assert fetcher.archive_file is None @@ -246,10 +246,10 @@ def is_true(): assert '##### 100' in status -@pytest.mark.parametrize('use_curl', [True, False]) -def test_url_extra_fetch(tmpdir, mock_archive, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_url_extra_fetch(tmpdir, mock_archive, _fetch_method): """Ensure a fetch after downloading is effectively a no-op.""" - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): testpath = str(tmpdir) fetcher = fs.URLFetchStrategy(mock_archive.url) with Stage(fetcher, path=testpath) as stage: @@ -267,12 +267,12 @@ def test_url_extra_fetch(tmpdir, mock_archive, use_curl): ['https://ftpmirror.gnu.org/autoconf/autoconf-2.62.tar.gz', 'https://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz']) ]) -@pytest.mark.parametrize('use_curl', [True, False]) -def test_candidate_urls(pkg_factory, url, urls, version, expected, use_curl): +@pytest.mark.parametrize('_fetch_method', ['curl', 'urllib']) +def test_candidate_urls(pkg_factory, url, urls, version, expected, _fetch_method): """Tests that candidate urls include mirrors and that they go through pattern matching and substitution for versions. """ - with spack.config.override('config:use_curl', use_curl): + with spack.config.override('config:url_fetch_method', _fetch_method): pkg = pkg_factory(url, urls) f = fs._from_merged_attrs(fs.URLFetchStrategy, pkg, version) assert f.candidate_urls == expected @@ -298,7 +298,7 @@ def _which(*args, **kwargs): testpath = str(tmpdir) url = 'http://github.com/spack/spack' - with spack.config.override('config:use_curl', True): + with spack.config.override('config:url_fetch_method', 'curl'): fetcher = fs.URLFetchStrategy(url=url) assert fetcher is not None with pytest.raises(TypeError, match='object is not callable'): From d628e3ba5cda0ce485ad9c51f6f2f04b6f3d3311 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Mon, 2 Aug 2021 13:46:38 +0200 Subject: [PATCH 043/414] Add maintainers for gperftools (#25156) --- var/spack/repos/builtin/packages/gperftools/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/gperftools/package.py b/var/spack/repos/builtin/packages/gperftools/package.py index cfe07715f3f..438236c75a9 100644 --- a/var/spack/repos/builtin/packages/gperftools/package.py +++ b/var/spack/repos/builtin/packages/gperftools/package.py @@ -14,6 +14,7 @@ class Gperftools(AutotoolsPackage): """ homepage = "https://github.com/gperftools/gperftools" url = "https://github.com/gperftools/gperftools/releases/download/gperftools-2.7/gperftools-2.7.tar.gz" + maintainers = ['albestro', 'eschnett', 'msimberg', 'teonnik'] version('2.9.1', sha256='ea566e528605befb830671e359118c2da718f721c27225cbbc93858c7520fee3') version('2.8.1', sha256='12f07a8ba447f12a3ae15e6e3a6ad74de35163b787c0c7b76288d7395f2f74e0') From ac8521e9b3aaa8fa1526c56f93ecc4a1940fba97 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 2 Aug 2021 14:17:41 +0200 Subject: [PATCH 044/414] Do not issue a warning for a missing source id when installing from local sources (#24960) --- lib/spack/spack/environment.py | 4 ++++ lib/spack/spack/package.py | 4 +++- lib/spack/spack/test/cmd/env.py | 12 ++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py index f2ed7f39b08..cc5a066abb9 100644 --- a/lib/spack/spack/environment.py +++ b/lib/spack/spack/environment.py @@ -1180,6 +1180,10 @@ def undevelop(self, spec): return True return False + def is_develop(self, spec): + """Returns true when the spec is built from local sources""" + return spec.name in self.dev_specs + def concretize(self, force=False, tests=False): """Concretize user_specs in this environment. diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 2f63af13773..40b77ee1241 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -1537,7 +1537,9 @@ def content_hash(self, content=None): # should this attempt to download the source and set one? This # probably only happens for source repositories which are # referenced by branch name rather than tag or commit ID. - if not self.spec.external: + env = spack.environment.get_env(None, None) + from_local_sources = env and env.is_develop(self.spec) + if not self.spec.external and not from_local_sources: message = 'Missing a source id for {s.name}@{s.version}' tty.warn(message.format(s=self)) hash_content.append(''.encode('utf-8')) diff --git a/lib/spack/spack/test/cmd/env.py b/lib/spack/spack/test/cmd/env.py index 58094e1abb0..e6805073228 100644 --- a/lib/spack/spack/test/cmd/env.py +++ b/lib/spack/spack/test/cmd/env.py @@ -2591,3 +2591,15 @@ def test_virtual_spec_concretize_together(tmpdir): e.concretize() assert any(s.package.provides('mpi') for _, s in e.concretized_specs()) + + +def test_query_develop_specs(): + """Test whether a spec is develop'ed or not""" + env('create', 'test') + with ev.read('test') as e: + e.add('mpich') + e.add('mpileaks') + e.develop(Spec('mpich@1'), 'here', clone=False) + + assert e.is_develop(Spec('mpich')) + assert not e.is_develop(Spec('mpileaks')) From db08ce6105a47e13223f1f05734d57a58b9a2eed Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 2 Aug 2021 17:22:08 +0200 Subject: [PATCH 045/414] Bump cmake (#25183) --- var/spack/repos/builtin/packages/cmake/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index 79c6d5c5a04..aa1f5490997 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -18,6 +18,8 @@ class Cmake(Package): executables = ['^cmake$'] + version('3.21.1', sha256='fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4') + version('3.21.0', sha256='4a42d56449a51f4d3809ab4d3b61fd4a96a469e56266e896ce1009b5768bd2ab') version('3.20.5', sha256='12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0') version('3.20.4', sha256='87a4060298f2c6bb09d479de1400bc78195a5b55a65622a7dceeb3d1090a1b16') version('3.20.3', sha256='4d008ac3461e271fcfac26a05936f77fc7ab64402156fb371d41284851a651b8') From 71cd303362d64e2716a0b5f0b101a06088232c6f Mon Sep 17 00:00:00 2001 From: Fabian Brandt Date: Mon, 2 Aug 2021 17:56:55 +0200 Subject: [PATCH 046/414] Bump version 9.0 (#25039) --- ...Name-agnostic-import-of-tlx-library-90.patch | 17 +++++++++++++++++ .../builtin/packages/libnetworkit/package.py | 4 +++- .../builtin/packages/py-networkit/package.py | 2 ++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 var/spack/repos/builtin/packages/libnetworkit/0001-Name-agnostic-import-of-tlx-library-90.patch diff --git a/var/spack/repos/builtin/packages/libnetworkit/0001-Name-agnostic-import-of-tlx-library-90.patch b/var/spack/repos/builtin/packages/libnetworkit/0001-Name-agnostic-import-of-tlx-library-90.patch new file mode 100644 index 00000000000..a330172db0a --- /dev/null +++ b/var/spack/repos/builtin/packages/libnetworkit/0001-Name-agnostic-import-of-tlx-library-90.patch @@ -0,0 +1,17 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -224,10 +224,11 @@ if(NOT NETWORKIT_EXT_TLX) + "Please run `git submodule update --init` to fetch the submodule.") + endif() + else() ++ file(GLOB tlx_path ${NETWORKIT_EXT_TLX}/lib/**.a) + add_library(tlx STATIC IMPORTED) + set_target_properties(tlx PROPERTIES +- IMPORTED_LOCATION "${NETWORKIT_EXT_TLX}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tlx${CMAKE_STATIC_LIBRARY_SUFFIX}" +- INTERFACE_INCLUDE_DIRECTORIES "${NETWORKIT_EXT_TLX}/include/") ++ IMPORTED_LOCATION "${tlx_path}" ++ INTERFACE_INCLUDE_DIRECTORIES "${NETWORKIT_EXT_TLX}/include/") + endif() + + ################################################################################ + diff --git a/var/spack/repos/builtin/packages/libnetworkit/package.py b/var/spack/repos/builtin/packages/libnetworkit/package.py index 1b9d3c1f400..32d34aa38ca 100644 --- a/var/spack/repos/builtin/packages/libnetworkit/package.py +++ b/var/spack/repos/builtin/packages/libnetworkit/package.py @@ -22,6 +22,7 @@ class Libnetworkit(CMakePackage): maintainers = ['fabratu'] + version('9.0', sha256='c574473bc7d86934f0f4b3049c0eeb9c4444cfa873e5fecda194ee5b1930f82c') version('8.1', sha256='0a22eb839606b9fabfa68c7add12c4de5eee735c6f8bb34420e5916ce5d7f829') version('8.0', sha256='cdf9571043edbe76c447622ed33efe9cba2880f887ca231d98f6d3c22027e20e') version('7.1', sha256='60026c3be581ae9d5c919c861605082fcb9c8205758b3ddfcde2408153ae166e') @@ -34,7 +35,8 @@ class Libnetworkit(CMakePackage): depends_on('libtlx') depends_on('py-sphinx', when='+doc', type='build') - patch('0001-Name-agnostic-import-of-tlx-library.patch', when='@6.1:') + patch('0001-Name-agnostic-import-of-tlx-library.patch', when='@6.1:8.1') + patch('0001-Name-agnostic-import-of-tlx-library-90.patch', when='@9.0:') def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/py-networkit/package.py b/var/spack/repos/builtin/packages/py-networkit/package.py index 56848a3446c..375cc0c49c5 100644 --- a/var/spack/repos/builtin/packages/py-networkit/package.py +++ b/var/spack/repos/builtin/packages/py-networkit/package.py @@ -22,6 +22,7 @@ class PyNetworkit(PythonPackage): maintainers = ['fabratu'] + version('9.0', sha256='e27872d0d6a8a0a1ba862b0dab6adb4f0046fe6b20d3c47863075d1ee70226d3') version('8.1', sha256='5ff9e61496259280df4f913b1e37f51ca6f94974c4b9f623851f4d518f5ce0d5') version('8.0', sha256='36c30e894e835bf93f0aa0fb0b526758234e74318150820911e024ffe5ec1fd2') version('7.1', sha256='8609dc7a574a8a82d8880b8b1e3dfdd9c59ad67cd02135628e675c482fe98a96') @@ -30,6 +31,7 @@ class PyNetworkit(PythonPackage): # Required dependencies depends_on('cmake', type='build') + depends_on('libnetworkit@9.0', type=('build', 'link'), when='@9.0') depends_on('libnetworkit@8.1', type=('build', 'link'), when='@8.1') depends_on('libnetworkit@8.0', type=('build', 'link'), when='@8.0') depends_on('libnetworkit@7.1', type=('build', 'link'), when='@7.1') From 413ea10e78bba6fd2517404e4290afcd7b381694 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Mon, 2 Aug 2021 09:19:35 -0700 Subject: [PATCH 047/414] ci: Add RADIUSS stack to cloud CI (#23922) Add RADIUSS software stack to gitlab PR testing pipelines --- .../gitlab/cloud_pipelines/.gitlab-ci.yml | 37 ++++++- .../cloud_pipelines/stacks/radiuss/spack.yaml | 96 +++++++++++++++++++ 2 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index c69df706dad..fca09566670 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -125,7 +125,6 @@ e4s-develop-build: job: e4s-develop-generate strategy: depend - ######################################## # E4S on Power ######################################## @@ -159,7 +158,6 @@ e4s-on-power-develop-build: job: e4s-on-power-develop-generate strategy: depend - ######################################### # Build tests for different build-systems ######################################### @@ -188,3 +186,38 @@ build_systems-develop-build: - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml job: build_systems-develop-generate strategy: depend + +######################################### +# RADIUSS +######################################### +.radiuss: + variables: + SPACK_CI_STACK_NAME: radiuss + +.radiuss-generate: + extends: [ ".radiuss"] + image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2021-05-15", "entrypoint": [""] } + +# --------- PRs --------- +radiuss-pr-generate: + extends: [ ".radiuss-generate", ".pr-generate" ] + +radiuss-pr-build: + extends: [ ".radiuss", ".pr-build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: radiuss-pr-generate + strategy: depend + +# --------- Develop --------- +radiuss-develop-generate: + extends: [ ".radiuss-generate", ".develop-generate" ] + +radiuss-develop-build: + extends: [ ".radiuss", ".develop-build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: radiuss-develop-generate + strategy: depend diff --git a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml new file mode 100644 index 00000000000..7508d797797 --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml @@ -0,0 +1,96 @@ +spack: + concretization: separately + view: false + + config: + concretizer: clingo + install_tree: + root: /home/software/radiuss + padded_length: 512 + projections: + all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}' + + packages: + all: + target: [x86_64] + + providers: + mpi: [mvapich2] + + definitions: + #- compilers: ['%gcc@8.3.1', '%clang@10.0.0'] + - compilers: ['%gcc@7.5.0'] + + # Note skipping spot since no spack package for it + - radiuss: + #- ascent # ^conduit@0.6.0 + #- axom + - blt + - caliper + #- care + #- chai + - conduit # ^hdf5+shared + - flux-core + #- flux-sched + #- glvis # ^mesa-glu@9.0.0 ^mesa18~llvm + - hypre + - lbann + #- lvarray ^raja~openmp # per Ben Corbett Issue #23192 + - mfem + #- py-hatchet + #- py-maestrowf + #- py-merlin + #- py-shroud + #- raja + #- samrai + - scr + #- sundials + #- umpire ~openmp + #- visit # ^mesa-glu@9.0.0 + - xbraid + - zfp + + mirrors: + mirror: "s3://spack-binaries-develop/radiuss" + + specs: + - matrix: + - [$radiuss] + - [$compilers] + + gitlab-ci: + image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2021-05-15", "entrypoint": [""] } + script: + - . "./share/spack/setup-env.sh" + - spack --version + - cd ${SPACK_CONCRETE_ENV_DIR} + - spack env activate --without-view . + - spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'" + - spack -d ci rebuild + mappings: + - match: [ascent, axom, sundials, umpire, vtk-h, vtk-m] + runner-attributes: + tags: ["spack", "public", "xlarge", "x86_64"] + - match: ['@:'] + runner-attributes: + tags: ["spack", "public", "large", "x86_64"] + temporary-storage-url-prefix: "s3://spack-binaries-prs/pipeline-storage" + service-job-attributes: + before_script: + - . "./share/spack/setup-env.sh" + - spack --version + - cd share/spack/gitlab/cloud_pipelines/stacks/radiuss + - spack env activate --without-view . + image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2021-05-15", "entrypoint": [""] } + #before_script: + # - . "./share/spack/setup-env.sh" + # - spack --version + # - cd share/spack/gitlab/cloud_pipelines/stacks/radiuss + # - spack env activate --without-view . + tags: ["spack", "public", "medium", "x86_64"] + + cdash: + build-group: RADIUSS + url: https://cdash.spack.io + project: Spack Testing + site: Cloud Gitlab Infrastructure From 0df067e64f921d960be70db54a4b8f6727b32a52 Mon Sep 17 00:00:00 2001 From: Frank Willmore Date: Mon, 2 Aug 2021 13:13:32 -0500 Subject: [PATCH 048/414] adjust for erroneous detection of nvc as gcc (#24915) * adjust for erroneous detection of nvc as gcc adjust for erroneous detection of nvc as gcc when it is built with gcc * add missing parenthesis :/ * fix trailing whitespace * re-work hdf5 patch for nvc to make it more general * flake8 fixes * Render as comment Render intended note as a comment rather than logical constraint Co-authored-by: Frank Willmore --- var/spack/repos/builtin/packages/hdf5/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index f110700efbc..e188bb94b14 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -188,11 +188,12 @@ def flag_handler(self, name, flags): cmake_flags = [] if name == "cflags": - cc_name = os.path.basename(self.compiler.cc) - if "clang" in cc_name or "gcc" in cc_name: + if self.spec.satisfies('%gcc') \ + or self.spec.satisfies('%clang'): # Quiet warnings/errors about implicit declaration of functions # in C99: cmake_flags.append("-Wno-implicit-function-declaration") + # Note that this flag will cause an error if building %nvhpc. if self.spec.satisfies('@:1.8.12~shared'): # More recent versions set CMAKE_POSITION_INDEPENDENT_CODE to # True and build with PIC flags. From 73a65dc370cd97ef48824086f94cdde3854eab46 Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Mon, 2 Aug 2021 11:16:47 -0700 Subject: [PATCH 049/414] modfiy hip-rocclr references for 4.1.0 and 4.2.0 releases (#24868) --- .../repos/builtin/packages/hipcub/package.py | 3 -- .../repos/builtin/packages/hipfft/package.py | 1 - .../builtin/packages/hipsparse/package.py | 3 -- .../builtin/packages/miopen-opencl/package.py | 3 -- .../repos/builtin/packages/rccl/package.py | 3 -- .../builtin/packages/rocalution/package.py | 3 -- .../repos/builtin/packages/rocblas/package.py | 3 -- .../repos/builtin/packages/rocfft/package.py | 3 -- .../packages/rocm-opencl-runtime/package.py | 52 ------------------- .../builtin/packages/rocm-tensile/package.py | 3 -- .../repos/builtin/packages/rocprim/package.py | 3 -- .../repos/builtin/packages/rocrand/package.py | 2 +- .../builtin/packages/rocsparse/package.py | 3 -- .../builtin/packages/rocthrust/package.py | 3 -- 14 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/rocm-opencl-runtime/package.py diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index 33c593b8449..8178e3d93f0 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -35,9 +35,6 @@ class Hipcub(CMakePackage): depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index f5da6e596fd..addb29aec9d 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -30,7 +30,6 @@ class Hipfft(CMakePackage): for ver in ['4.1.0', '4.2.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) - depends_on('hip-rocclr@' + ver, when='@' + ver) depends_on('rocfft@' + ver, when='@' + ver) def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index efd4ef4f3f3..341569921b4 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -37,9 +37,6 @@ class Hipsparse(CMakePackage): for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: depends_on('rocprim@' + ver, when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - patch('e79985dccde22d826aceb3badfc643a3227979d2.patch', when='@3.5.0') patch('530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch', when='@3.5.0') diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py index 1e095d5d2ac..66f9b87ccd3 100644 --- a/var/spack/repos/builtin/packages/miopen-opencl/package.py +++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py @@ -45,9 +45,6 @@ class MiopenOpencl(CMakePackage): '4.2.0']: depends_on('miopengemm@' + ver, when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - def cmake_args(self): args = [ self.define('MIOPEN_BACKEND', 'OpenCL'), diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index 60e9d6e67e2..2c973cd8ed6 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -40,9 +40,6 @@ class Rccl(CMakePackage): for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: depends_on('numactl@2:', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index fa4a1251de9..2517847d418 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -44,9 +44,6 @@ class Rocalution(CMakePackage): for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: depends_on('rocrand@' + ver, when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - patch('0001-fix-hip-build-error.patch') def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index 3d4e28e3df3..b2a6ccb094a 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -44,9 +44,6 @@ class Rocblas(CMakePackage): for ver in ['4.0.0', '4.1.0', '4.2.0']: depends_on('rocm-smi-lib@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - # This is the default library format since 3.7.0 depends_on('msgpack-c@3:', when='@3.7:') diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index 2e8ea5851b1..eb4ac7c464a 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -42,9 +42,6 @@ class Rocfft(CMakePackage): depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/rocm-opencl-runtime/package.py b/var/spack/repos/builtin/packages/rocm-opencl-runtime/package.py deleted file mode 100644 index feed4088977..00000000000 --- a/var/spack/repos/builtin/packages/rocm-opencl-runtime/package.py +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other -# Spack Project Developers. See the top-level COPYRIGHT file for details. -# -# SPDX-License-Identifier: (Apache-2.0 OR MIT) - - -from spack import * - - -class RocmOpenclRuntime(CMakePackage): - """ROCm OpenCL 2.0 compatible language runtime. - It Supports offline and in-process/in-memory compilation""" - - homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime" - git = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git" - url = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-4.1.0.tar.gz" - - maintainers = ['srekolam', 'arjun-raj-kuppala'] - - version('master', branch='main') - version('4.1.0', sha256='0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c') - version('4.0.0', sha256='d43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1') - version('3.10.0', sha256='3aa9dc5a5f570320b04b35ee129ce9ff21062d2770df934c6c307913f975e93d') - version('3.9.0', sha256='286ff64304905384ce524cd8794c28aee216befd6c9267d4187a12e5a21e2daf') - version('3.8.0', sha256='7f75dd1abf3d771d554b0e7b0a7d915ab5f11a74962c92b013ee044a23c1270a') - version('3.7.0', sha256='283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b') - - depends_on('cmake@3:', type='build') - depends_on('mesa18~llvm@18.3: swr=none', type='link') - depends_on('libelf', type='link', when="@3.7.0:3.8.0") - depends_on('numactl', type='link', when="@3.7.0:") - - for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', 'master']: - depends_on('hsakmt-roct@' + ver, when='@' + ver) - depends_on('hsa-rocr-dev@' + ver, when='@' + ver) - depends_on('comgr@' + ver, when='@' + ver) - depends_on('hip-rocclr@' + ver, when='@' + ver) - - def flag_handler(self, name, flags): - if name == 'cxxflags' and '@3.7.0:' in self.spec: - incl = self.spec['hip-rocclr'].prefix.include - flags.append('-I {0}/compiler/lib/include'.format(incl)) - flags.append('-I {0}/elf'.format(incl)) - - return (flags, None, None) - - def cmake_args(self): - args = [ - '-DUSE_COMGR_LIBRARY=yes' - ] - - return args diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index 619cd1a60c2..a3dec71ead3 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -50,9 +50,6 @@ class RocmTensile(CMakePackage): for ver in ['4.0.0', '4.1.0', '4.2.0']: depends_on('rocm-smi-lib@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - root_cmakelists_dir = 'Tensile/Source' # Status: https://github.com/ROCmSoftwarePlatform/Tensile/commit/a488f7dadba34f84b9658ba92ce9ec5a0615a087 # Not yet landed in 3.7.0, nor 3.8.0. diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index 55f8292d137..ba84bdec23a 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -37,9 +37,6 @@ class Rocprim(CMakePackage): depends_on('llvm-amdgpu@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, type='build', when='@' + ver) - def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index 68e80830cff..b150f3dcd3f 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -40,7 +40,7 @@ class Rocrand(CMakePackage): depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, type='link', when='@' + ver) + depends_on('hip-rocclr@' + ver, when='@' + ver) def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index 711673dee28..fc3246984d2 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -36,8 +36,5 @@ class Rocsparse(CMakePackage): depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index 70e16ec8b62..41e7d663995 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -39,9 +39,6 @@ class Rocthrust(CMakePackage): depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: - depends_on('hip-rocclr@' + ver, when='@' + ver) - def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) From 413919be1f6ed8268c1c45b3cdb1b6be11e5a3af Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Mon, 2 Aug 2021 13:48:33 -0500 Subject: [PATCH 050/414] petsc: add variants strumpack, scalapack (#25058) strumpack: switch defaut to +shared --- var/spack/repos/builtin/packages/petsc/package.py | 9 +++++++++ var/spack/repos/builtin/packages/strumpack/package.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index c509e7f09af..9726adf95e1 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -97,6 +97,10 @@ class Petsc(Package, CudaPackage, ROCmPackage): description='Activates support for MUMPS (only parallel)') variant('superlu-dist', default=True, description='Activates support for SuperluDist (only parallel)') + variant('strumpack', default=False, + description='Activates support for Strumpack') + variant('scalapack', default=False, + description='Activates support for Scalapack') variant('trilinos', default=False, description='Activates support for Trilinos (only parallel)') variant('mkl-pardiso', default=False, @@ -255,6 +259,10 @@ class Petsc(Package, CudaPackage, ROCmPackage): depends_on('superlu-dist@xsdk-0.2.0+int64', when='@xsdk-0.2.0+superlu-dist+mpi+int64') depends_on('superlu-dist@develop~int64', when='@main+superlu-dist+mpi~int64') depends_on('superlu-dist@develop+int64', when='@main+superlu-dist+mpi+int64') + depends_on('strumpack', when='+strumpack') + depends_on('scalapack', when='+strumpack') + depends_on('metis', when='+strumpack') + depends_on('scalapack', when='+scalapack') depends_on('mumps+mpi~int64~metis~parmetis~openmp', when='+mumps~metis~openmp') depends_on('mumps+mpi~int64+metis+parmetis~openmp', when='+mumps+metis~openmp') depends_on('mumps+mpi~int64~metis~parmetis+openmp', when='+mumps~metis+openmp') @@ -408,6 +416,7 @@ def install(self, spec, prefix): 'hwloc', (jpeg_sp, 'libjpeg', True, True), (scalapack_sp, 'scalapack', False, True), + 'strumpack', ): # Cannot check `library in spec` because of transitive deps # Cannot check variants because parmetis keys on +metis diff --git a/var/spack/repos/builtin/packages/strumpack/package.py b/var/spack/repos/builtin/packages/strumpack/package.py index e949db7dad7..79375d88c70 100644 --- a/var/spack/repos/builtin/packages/strumpack/package.py +++ b/var/spack/repos/builtin/packages/strumpack/package.py @@ -35,7 +35,7 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): version('3.2.0', sha256='34d93e1b2a3b8908ef89804b7e08c5a884cbbc0b2c9f139061627c0d2de282c1') version('3.1.1', sha256='c1c3446ee023f7b24baa97b24907735e89ce4ae9f5ef516645dfe390165d1778') - variant('shared', default=False, description='Build shared libraries') + variant('shared', default=True, description='Build shared libraries') variant('mpi', default=True, description='Use MPI') variant('openmp', default=True, description='Enable thread parallellism via tasking with OpenMP') From 6d810cb2e7da870112fb1f106d2646d08d9db1fa Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 2 Aug 2021 14:36:40 -0500 Subject: [PATCH 051/414] Docs: add link to source code (#25088) --- lib/spack/docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/spack/docs/conf.py b/lib/spack/docs/conf.py index 5e2795cf49c..2b58223e1dc 100644 --- a/lib/spack/docs/conf.py +++ b/lib/spack/docs/conf.py @@ -107,6 +107,7 @@ def setup(sphinx): 'sphinx.ext.intersphinx', 'sphinx.ext.napoleon', 'sphinx.ext.todo', + 'sphinx.ext.viewcode', 'sphinxcontrib.programoutput', ] From a60e3f80f683e3931120dba13615fb482e33d210 Mon Sep 17 00:00:00 2001 From: Ali Ahmed Date: Mon, 2 Aug 2021 12:46:56 -0700 Subject: [PATCH 052/414] [curl] Fix brotli option flag (#25166) Co-authored-by: Ali Ahmed --- var/spack/repos/builtin/packages/curl/package.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py index a5ef685b8cd..deee1c1b66d 100644 --- a/var/spack/repos/builtin/packages/curl/package.py +++ b/var/spack/repos/builtin/packages/curl/package.py @@ -48,6 +48,9 @@ class Curl(AutotoolsPackage): variant('libssh', default=False, description='enable libssh support') # , when='7.58:') variant('darwinssl', default=sys.platform == 'darwin', description="use Apple's SSL/TLS implementation") variant('gssapi', default=False, description='enable Kerberos support') + variant('librtmp', default=False, description='enable Rtmp support') + variant('ldap', default=False, description='enable ldap support') + variant('libidn2', default=False, description='enable libidn2 support') conflicts('+libssh', when='@:7.57.99') # on OSX and --with-ssh the configure steps fails with @@ -60,7 +63,7 @@ class Curl(AutotoolsPackage): conflicts('platform=linux', when='+darwinssl') depends_on('openssl', when='~darwinssl') - depends_on('libidn2') + depends_on('libidn2', when='+libidn2') depends_on('zlib') depends_on('nghttp2', when='+nghttp2') depends_on('libssh2', when='+libssh2') @@ -72,10 +75,9 @@ def configure_args(self): args = [ '--with-zlib=' + spec['zlib'].prefix, - '--with-libidn2=' + spec['libidn2'].prefix, # Prevent unintentional linking against system libraries: we could # add variants for these in the future - '--without-libbrotli', + '--without-brotli', '--without-libgsasl', '--without-libmetalink', '--without-libpsl', @@ -92,7 +94,10 @@ def configure_args(self): else: args.append('--without-gssapi') + args += self.with_or_without('libidn2', 'prefix') + args += self.with_or_without('librtmp') args += self.with_or_without('nghttp2') args += self.with_or_without('libssh2') args += self.with_or_without('libssh') + args += self.enable_or_disable('ldap') return args From 2dd2a5b167e70ad875fe0e424baed0e38c57c9ec Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Mon, 2 Aug 2021 17:01:45 -0400 Subject: [PATCH 053/414] rnpletal: New package (#25154) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * rnpletal: New package RNPL is an old package that is still used today by my collaborators, but doesn't see any development any more. I'm creating a Spack package merely to make it easier to install it on various systems. The code is not modern (C without prototypes – yes, that used to be a thing), and a large diff modernizes the code to make it palatable to modern C and Fortran compilers. RNPL contains several sub-package. The current Spack package builds only the main one. * rnpletal: Remove unused import * Convert into AutotoolsPackage * Don't check for "shared" variant * rnpletal: Change "version" to `develop` * rnpletal: Use existing `configure` function --- .../packages/rnpletal/corrections.diff | 863 ++++++++++++++++++ .../builtin/packages/rnpletal/package.py | 83 ++ 2 files changed, 946 insertions(+) create mode 100644 var/spack/repos/builtin/packages/rnpletal/corrections.diff create mode 100644 var/spack/repos/builtin/packages/rnpletal/package.py diff --git a/var/spack/repos/builtin/packages/rnpletal/corrections.diff b/var/spack/repos/builtin/packages/rnpletal/corrections.diff new file mode 100644 index 00000000000..1df2a3c71eb --- /dev/null +++ b/var/spack/repos/builtin/packages/rnpletal/corrections.diff @@ -0,0 +1,863 @@ +diff -ru rnpletal.orig/aclocal.m4 rnpletal/aclocal.m4 +--- rnpletal.orig/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/cliser/aclocal.m4 rnpletal/cliser/aclocal.m4 +--- rnpletal.orig/cliser/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/cliser/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/cvtestsdf/aclocal.m4 rnpletal/cvtestsdf/aclocal.m4 +--- rnpletal.orig/cvtestsdf/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/cvtestsdf/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/netlib_fftpack/aclocal.m4 rnpletal/netlib_fftpack/aclocal.m4 +--- rnpletal.orig/netlib_fftpack/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/netlib_fftpack/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/netlib_lapack3.0/aclocal.m4 rnpletal/netlib_lapack3.0/aclocal.m4 +--- rnpletal.orig/netlib_lapack3.0/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/netlib_lapack3.0/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/netlib_linpack/aclocal.m4 rnpletal/netlib_linpack/aclocal.m4 +--- rnpletal.orig/netlib_linpack/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/netlib_linpack/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/netlib_odepack/aclocal.m4 rnpletal/netlib_odepack/aclocal.m4 +--- rnpletal.orig/netlib_odepack/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/netlib_odepack/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +Only in rnpletal.orig/rnpl: .#configure.1.8 +diff -ru rnpletal.orig/rnpl/aclocal.m4 rnpletal/rnpl/aclocal.m4 +--- rnpletal.orig/rnpl/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/rnpl/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/rnpl/configure rnpletal/rnpl/configure +--- rnpletal.orig/rnpl/configure 2021-06-03 19:30:51.000000000 -0400 ++++ rnpletal/rnpl/configure 2021-07-29 14:55:34.000000000 -0400 +@@ -3353,7 +3353,7 @@ + CXXFLAGS="$CXXFLAGS -DLINUX -DPORT_GROUP -DWant_c_files" + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -3484,11 +3484,11 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +@@ -4988,7 +4988,7 @@ + CXXFLAGS="$CXXFLAGS -DLINUX -DPORT_GROUP -DWant_c_files" + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -5119,11 +5119,11 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +@@ -5887,7 +5887,7 @@ + CXXFLAGS="$CXXFLAGS -DLINUX -DPORT_GROUP -DWant_c_files" + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -6018,11 +6018,11 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +@@ -6902,7 +6902,7 @@ + CXXFLAGS="$CXXFLAGS -DLINUX -DPORT_GROUP -DWant_c_files" + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -7033,11 +7033,11 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +@@ -7867,7 +7867,7 @@ + CXXFLAGS="$CXXFLAGS -DLINUX -DPORT_GROUP -DWant_c_files" + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -7998,11 +7998,11 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/rnpl/etc/sdfdump.c rnpletal/rnpl/etc/sdfdump.c +--- rnpletal.orig/rnpl/etc/sdfdump.c 2019-05-04 15:12:04.000000000 -0400 ++++ rnpletal/rnpl/etc/sdfdump.c 2021-07-29 14:29:12.000000000 -0400 +@@ -5,6 +5,7 @@ + Copyright 2003- Matthew W. Choptuik, (main/1d) Frank Loeffler (2d) + */ + ++#include + #include + #include + #include +diff -ru rnpletal.orig/rnpl/etc/sdffilter.c rnpletal/rnpl/etc/sdffilter.c +--- rnpletal.orig/rnpl/etc/sdffilter.c 2013-07-09 00:30:15.000000000 -0400 ++++ rnpletal/rnpl/etc/sdffilter.c 2021-07-29 14:28:40.000000000 -0400 +@@ -7,6 +7,7 @@ + #include + #include + #include "sdffilter.h" ++#include "../src/bbhutil_f.h" + + #define ON 1 + #define OFF 0 +diff -ru rnpletal.orig/rnpl/etc/sdfinfo.c rnpletal/rnpl/etc/sdfinfo.c +--- rnpletal.orig/rnpl/etc/sdfinfo.c 2013-07-09 00:30:15.000000000 -0400 ++++ rnpletal/rnpl/etc/sdfinfo.c 2021-07-29 14:53:58.000000000 -0400 +@@ -28,7 +28,7 @@ + return dm; + } + +-main(int argc, char **argv) ++int main(int argc, char **argv) + { + int rank,csize,dsize,version,*shape=NULL; + int i; +diff -ru rnpletal.orig/rnpl/etc/sdfslice_util.c rnpletal/rnpl/etc/sdfslice_util.c +--- rnpletal.orig/rnpl/etc/sdfslice_util.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/etc/sdfslice_util.c 2021-07-29 14:31:10.000000000 -0400 +@@ -1,5 +1,9 @@ + #include "sdfslice_util.h" + ++void d3dump_(double*a,int*d1,int*d2,int*d3,char*label,int*unit,long); ++void d3slice_(double*ain,double*aout,int*d1in,int*d2in,int*d3in,int*d1out,int*d2out,int*d3out, ++ int*d1sl,int*d2sl,int*d3sl); ++ + /*---------------------------------------------------------------------- + * Slices data in 'in' according to ivec and/or fvec specificiations + * and returns pointer to sliced data. +diff -ru rnpletal.orig/rnpl/etc/sdftosv.c rnpletal/rnpl/etc/sdftosv.c +--- rnpletal.orig/rnpl/etc/sdftosv.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/etc/sdftosv.c 2021-07-29 14:20:34.000000000 -0400 +@@ -6,12 +6,16 @@ + + #include + #include ++#include ++#include + #include + #include + + #define VERSION "1.0" + #define CHUNK_SIZE (32 * (1024*1024)) + ++int dump_mser(char *nm,int nlvls,double *tv,double *x,double *y,int *nx); ++ + int rjava_ser(char *nm, double time, double *cds, double *data, int size) + { + #ifdef HAVE_LIBSV +@@ -98,7 +102,7 @@ + return s; + } + +-main(int argc, char **argv) ++int main(int argc, char **argv) + { + int rank,*shape,nlvls,ntlevs,res,n,unam=0,single=0; + double time,*data,*coords; +diff -ru rnpletal.orig/rnpl/etc/sdftranspose.c rnpletal/rnpl/etc/sdftranspose.c +--- rnpletal.orig/rnpl/etc/sdftranspose.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/etc/sdftranspose.c 2021-07-29 14:21:50.000000000 -0400 +@@ -7,6 +7,7 @@ + #include + #include + #include "sdftranspose.h" ++#include "../src/bbhutil.h" + + int main(int argc, char **argv) { + static char P[] = "sdftranspose"; +diff -ru rnpletal.orig/rnpl/examples/get_param/t_get_param.c rnpletal/rnpl/examples/get_param/t_get_param.c +--- rnpletal.orig/rnpl/examples/get_param/t_get_param.c 2014-10-18 00:06:17.000000000 -0400 ++++ rnpletal/rnpl/examples/get_param/t_get_param.c 2021-07-29 15:16:26.000000000 -0400 +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include + + /* +diff -ru rnpletal.orig/rnpl/examples/get_param/t_get_param_v.c rnpletal/rnpl/examples/get_param/t_get_param_v.c +--- rnpletal.orig/rnpl/examples/get_param/t_get_param_v.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/examples/get_param/t_get_param_v.c 2021-07-29 15:16:41.000000000 -0400 +@@ -1,6 +1,5 @@ + #include + #include +-#include + #include + + /* ---------------------------------------------------- +diff -ru rnpletal.orig/rnpl/examples/get_param/t_get_str_param.c rnpletal/rnpl/examples/get_param/t_get_str_param.c +--- rnpletal.orig/rnpl/examples/get_param/t_get_str_param.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/examples/get_param/t_get_str_param.c 2021-07-29 15:17:01.000000000 -0400 +@@ -1,4 +1,5 @@ + #include ++#include + #include + + int main(int argc, char **argv) { +diff -ru rnpletal.orig/rnpl/examples/get_param/t_is_param_assigned.c rnpletal/rnpl/examples/get_param/t_is_param_assigned.c +--- rnpletal.orig/rnpl/examples/get_param/t_is_param_assigned.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/examples/get_param/t_is_param_assigned.c 2021-07-29 15:38:39.000000000 -0400 +@@ -1,4 +1,5 @@ + #include ++#include + #include + + /* +diff -ru rnpletal.orig/rnpl/examples/get_param/t_regex.c rnpletal/rnpl/examples/get_param/t_regex.c +--- rnpletal.orig/rnpl/examples/get_param/t_regex.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/examples/get_param/t_regex.c 2021-07-29 15:38:39.000000000 -0400 +@@ -1,4 +1,5 @@ + #include ++#include + #include + #include + +diff -ru rnpletal.orig/rnpl/src/bbhutil.c rnpletal/rnpl/src/bbhutil.c +--- rnpletal.orig/rnpl/src/bbhutil.c 2014-06-12 14:13:01.000000000 -0400 ++++ rnpletal/rnpl/src/bbhutil.c 2021-07-29 14:16:59.000000000 -0400 +@@ -16,6 +16,8 @@ + /* to minimize amount of file open/closes, particularly in context */ + /* of massively parallel execution. */ + ++#include ++#include + #include + #include + #include +diff -ru rnpletal.orig/rnpl/src/bbhutil.h rnpletal/rnpl/src/bbhutil.h +--- rnpletal.orig/rnpl/src/bbhutil.h 2019-10-13 19:53:48.000000000 -0400 ++++ rnpletal/rnpl/src/bbhutil.h 2021-07-28 23:04:33.000000000 -0400 +@@ -6,7 +6,6 @@ + + #include + #include +-#include + + #define MAXRANK 5 + +diff -ru rnpletal.orig/rnpl/src/genf77extern.c rnpletal/rnpl/src/genf77extern.c +--- rnpletal.orig/rnpl/src/genf77extern.c 2014-10-18 00:06:36.000000000 -0400 ++++ rnpletal/rnpl/src/genf77extern.c 2021-07-29 14:53:30.000000000 -0400 +@@ -1,3 +1,4 @@ ++#include + #include + + void fort_call(char *s) +diff -ru rnpletal.orig/rnpl/src/librnplf77.f rnpletal/rnpl/src/librnplf77.f +--- rnpletal.orig/rnpl/src/librnplf77.f 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/src/librnplf77.f 2021-07-29 15:16:01.000000000 -0400 +@@ -289,7 +289,7 @@ + integer ixspan, makind + c + character*(*) prstr +- integer iv(1) ++ integer iv(*) + integer liv, mxliv, prunit, sup + c + integer rdunit +@@ -479,7 +479,7 @@ + subroutine psexpr(s,curs,st,fin,inc,ngroup,sucess) + c + character*(*) s +- integer inc(1), fin(1), st(1), curs, ngroup ++ integer inc(*), fin(*), st(*), curs, ngroup + logical sucess + c + character*80 tok +@@ -525,7 +525,7 @@ + c + integer makind + c +- integer iv(1) ++ integer iv(*) + integer inf, liv, mxliv, rdunit, sup + c + character*80 cline +@@ -571,7 +571,7 @@ + c + integer makind + c +- integer iv(1) ++ integer iv(*) + integer inf, liv, mxliv, rdunit, sup + c + character*80 cline +@@ -617,7 +617,7 @@ + c + integer makind + c +- integer iv(1) ++ integer iv(*) + integer inf, liv, mxliv, sup + c + character*(*) cline +@@ -661,7 +661,7 @@ + c + integer makind + c +- integer iv(1) ++ integer iv(*) + integer inf, liv, mxliv, sup + c + character*(*) cline +@@ -833,7 +833,7 @@ + c + subroutine livrmp(v,v0,vinc,n) + c +- integer v(1) ++ integer v(*) + integer v0, vinc + integer i, n + c +@@ -856,7 +856,7 @@ + c + subroutine locivramp(v,v0,vinc,n) + c +- integer v(1) ++ integer v(*) + integer v0, vinc + integer i, n + c +@@ -913,7 +913,7 @@ + subroutine l_ivls(v1,s1,n) + implicit none + +- integer v1(1) ++ integer v1(*) + integer s1 + integer i, n + +diff -ru rnpletal.orig/rnpl/src/rnpl.y rnpletal/rnpl/src/rnpl.y +--- rnpletal.orig/rnpl/src/rnpl.y 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/src/rnpl.y 2021-07-29 14:52:48.000000000 -0400 +@@ -6,6 +6,7 @@ + #define VERSION "0.995" + + #include ++#include + #include "rnpl.h" + + param_dec *pd; +@@ -1360,7 +1361,7 @@ + + %% + +-main(int argc, char **argv) ++int main(int argc, char **argv) + { + int fn,rn,gn,i,err; + char *fnm,ch,line[1024],oname[100],iname[50],ifile[100],*ev; +diff -ru rnpletal.orig/rnpl/src/rnpl_sup.c rnpletal/rnpl/src/rnpl_sup.c +--- rnpletal.orig/rnpl/src/rnpl_sup.c 2013-07-08 20:38:27.000000000 -0400 ++++ rnpletal/rnpl/src/rnpl_sup.c 2021-07-29 15:13:44.000000000 -0400 +@@ -12,7 +12,9 @@ + + #define _SUPPORT_ + #define _SUPPORT_ ++#include + #include ++#include + #include "rnpl.h" + #include "rnpl.tab.h" + #ifdef __POWERPC__ +@@ -30,6 +32,8 @@ + static int f77_coord_flag=0; + static int f77_gfunc_flag=0; + ++int coordsys_to_index(const coord_table *cd); ++ + int fort_out_const(char *s, const double d) + { + int i; +diff -ru rnpletal.orig/rnpl/src/sdf.c rnpletal/rnpl/src/sdf.c +--- rnpletal.orig/rnpl/src/sdf.c 2014-07-14 19:01:47.000000000 -0400 ++++ rnpletal/rnpl/src/sdf.c 2021-07-29 14:52:18.000000000 -0400 +@@ -8,6 +8,7 @@ + /* 2012-04-02: Modified by MWC gft_make_sdf_name() so that '+' is a valid character in name. */ + /* 2012-04-19: Added utility function 'gft_is_sdf_file' */ + ++#include + #include + #include + #include +diff -ru rnpletal.orig/rvs/aclocal.m4 rnpletal/rvs/aclocal.m4 +--- rnpletal.orig/rvs/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/rvs/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/rvs/src/v1.c rnpletal/rvs/src/v1.c +--- rnpletal.orig/rvs/src/v1.c 2001-05-15 20:18:51.000000000 -0400 ++++ rnpletal/rvs/src/v1.c 2021-07-28 22:51:25.000000000 -0400 +@@ -1,6 +1,7 @@ + /* Remote version of v1 ... */ + + #include ++#include + #include + #include + #include "rvs_cli.h" +diff -ru rnpletal.orig/rvs/src/vn.c rnpletal/rvs/src/vn.c +--- rnpletal.orig/rvs/src/vn.c 2001-05-15 20:19:53.000000000 -0400 ++++ rnpletal/rvs/src/vn.c 2021-07-28 22:51:36.000000000 -0400 +@@ -4,6 +4,7 @@ + /* Queries vs for window tag by name, optional time argument ... */ + + #include ++#include + #include + #include + #include "rvs_cli.h" +diff -ru rnpletal.orig/svs/aclocal.m4 rnpletal/svs/aclocal.m4 +--- rnpletal.orig/svs/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/svs/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/utilio/aclocal.m4 rnpletal/utilio/aclocal.m4 +--- rnpletal.orig/utilio/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/utilio/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/utilmath/aclocal.m4 rnpletal/utilmath/aclocal.m4 +--- rnpletal.orig/utilmath/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/utilmath/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/visutil/aclocal.m4 rnpletal/visutil/aclocal.m4 +--- rnpletal.orig/visutil/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/visutil/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" +diff -ru rnpletal.orig/vutil/aclocal.m4 rnpletal/vutil/aclocal.m4 +--- rnpletal.orig/vutil/aclocal.m4 2021-06-03 19:30:17.000000000 -0400 ++++ rnpletal/vutil/aclocal.m4 2021-07-29 14:55:40.000000000 -0400 +@@ -632,7 +632,7 @@ + dnl---------------------------------------------------------------------- + if test "X$CCF77LIBS" = "X"; then + if $F77 --version | grep g77 > /dev/null 2>&1; then +- CCF77LIBS='-lg2c -lm'; ++ CCF77LIBS='-lgfortran -lm'; + else + CCF77LIBS='-lgfortran -lm' + fi +@@ -689,7 +689,7 @@ + if test "X$CCF77LIBS" = "X"; then + case $F77 in + gfortran*|g77*) CCF77LIBS='-lgfortran -lm';; +- *) CCF77LIBS='-lg2c -lm';; ++ *) CCF77LIBS='-lgfortran -lm';; + esac + fi + RPCGEN_CPPFLAGS="-U__STDC__" +@@ -697,7 +697,7 @@ + dnl Various locations that Darwin software gets installed + dnl by various and sundry packages. + dnl ---------------------------------------------------------------------- +- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -L/sw/lib -L/usr/local/gfortran/lib -L/opt/local/lib" ++ LDFLAGS="$LDFLAGS" + if test "X$LIBGL" = "X"; then + LIBGL="-lXpm -lGLU -lGL -lXext -lX11 -lm" + LIBGLUT="-lXpm -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm" diff --git a/var/spack/repos/builtin/packages/rnpletal/package.py b/var/spack/repos/builtin/packages/rnpletal/package.py new file mode 100644 index 00000000000..b8f5e170847 --- /dev/null +++ b/var/spack/repos/builtin/packages/rnpletal/package.py @@ -0,0 +1,83 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import os + +from spack import * + + +class Rnpletal(AutotoolsPackage): + """The acronym RNPL stands for Rapid Numerical Prototyping Language. It is + a language for expressing time-dependent systems of partial differential + equations and the information necessary for solving them using + finite-difference techniques. It has advantages over traditional + programming languages such as C and FORTRAN because it only requires the + user to enter the essential structure of the program while it fills in the + details.""" + + homepage = "http://laplace.physics.ubc.ca/People/matt/Rnpl/index.html" + url = "ftp://laplace.physics.ubc.ca/pub/rnpletal/rnpletal.tar.gz" + + # RNPL is distributed via tarballs that are updated from time to time, but + # which carry no version number. + version('develop', sha256='2886f96393b64703fccf61b3dbc34e0fa45a79297232be76352f29cb83863d4d') + + maintainers = ['eschnett'] + + variant('packages', multi=True, + description="Packages to enable", + values=( + # "rvs", + # "cliser", + "rnpl", + # "svs", + # "vutil", + # "utilmath", + # "visutil", + # "utilio", + # "cvtestsdf", + # "netlib_linpack", + # "netlib_odepack", + # "netlib_fftpack", + # "netlib_lapack3.0", + ), default="rnpl") + + patch("corrections.diff") + + depends_on('bison', type='build') + depends_on('flex', type='build') + + parallel = False + + # This is only one of the configure scripts. (We will use other scripts as + # well, depending on which packages will be installed.) We define this so + # that Spack does not try to create a configure script. + @property + def configure_abs_path(self): + return os.path.join( + os.path.abspath(self.configure_directory), 'rnpl', 'configure') + + def configure(self, spec, prefix): + options = ['--prefix={0}'.format(prefix)] + for package in self.spec.variants['packages'].value: + with working_dir(package): + configure(*options) + + def build(self, spec, prefix): + for package in self.spec.variants['packages'].value: + with working_dir(package): + make() + + def install(self, spec, prefix): + for package in self.spec.variants['packages'].value: + with working_dir(package): + make("install") + + @property + def libs(self): + return find_libraries( + ["libbbhutil", "librnpl"], + root=self.prefix, shared=False, recursive=True + ) From 507d3c841cd2c8c0120aa1928ea25be930857f9c Mon Sep 17 00:00:00 2001 From: Dylan Simon Date: Tue, 3 Aug 2021 00:39:38 -0400 Subject: [PATCH 054/414] don't spin writer daemon when < /dev/null (#25170) --- lib/spack/llnl/util/tty/log.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/spack/llnl/util/tty/log.py b/lib/spack/llnl/util/tty/log.py index f081893c85e..bc79b323351 100644 --- a/lib/spack/llnl/util/tty/log.py +++ b/lib/spack/llnl/util/tty/log.py @@ -533,13 +533,15 @@ def __enter__(self): # Sets a daemon that writes to file what it reads from a pipe try: # need to pass this b/c multiprocessing closes stdin in child. + input_multiprocess_fd = None try: - input_multiprocess_fd = MultiProcessFd( - os.dup(sys.stdin.fileno()) - ) + if sys.stdin.isatty(): + input_multiprocess_fd = MultiProcessFd( + os.dup(sys.stdin.fileno()) + ) except BaseException: # just don't forward input if this fails - input_multiprocess_fd = None + pass with replace_environment(self.env): self.process = multiprocessing.Process( From 693c4d8f3ad59dd8d9efa750398510e4a7f0f4ae Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Tue, 27 Jul 2021 14:47:44 -0700 Subject: [PATCH 055/414] spack style: improve tests for failure cases This fixes the bad bootstrap test for spack style, and it refines the asserrtions on other failure cases. --- lib/spack/spack/test/cmd/style.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/spack/spack/test/cmd/style.py b/lib/spack/spack/test/cmd/style.py index 65a301bc273..af0fc47d242 100644 --- a/lib/spack/spack/test/cmd/style.py +++ b/lib/spack/spack/test/cmd/style.py @@ -129,14 +129,15 @@ def test_changed_files_all_files(flake8_package): @pytest.mark.skipif(sys.version_info >= (3, 6), reason="doesn't apply to newer python") def test_fail_on_old_python(): """Ensure that `spack style` runs but fails with older python.""" - style(fail_on_error=False) - assert style.returncode != 0 + output = style(fail_on_error=False) + assert "spack style requires Python 3.6" in output @skip_old_python def test_bad_root(tmpdir): """Ensure that `spack style` doesn't run on non-spack directories.""" - style("--root", str(tmpdir), fail_on_error=False) + output = style("--root", str(tmpdir), fail_on_error=False) + assert "This does not look like a valid spack root" in output assert style.returncode != 0 @@ -156,10 +157,12 @@ def test_style_is_package(tmpdir): def test_bad_bootstrap(monkeypatch): """Ensure we fail gracefully when we can't bootstrap spack style.""" monkeypatch.setattr(spack.cmd.style, "tool_order", [ - ("foobartool", "foobartool"), # bad package to force concretization failure + ("isort", "py-isort@4.3:4.0"), # bad spec to force concretization failure ]) - style(fail_on_error=False) - assert style.returncode != 0 + # zero out path to ensure we don't find isort + with pytest.raises(spack.error.SpackError) as e: + style(env={"PATH": ""}) + assert "Couldn't bootstrap isort" in str(e) @pytest.fixture From 0a0338ddfa7b42a8cd630a664ea3fc40d4650408 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Mon, 2 Aug 2021 21:51:33 -0700 Subject: [PATCH 056/414] bugfix: ensure all bootstrap context managers are exception-safe When context managers are used to save and restore values, we need to remember to use try/finally around the yield in case an exception is thrown. Otherwise, the cleanup will be skipped. --- lib/spack/spack/architecture.py | 23 +++++++++++++---------- lib/spack/spack/config.py | 11 ++++++----- lib/spack/spack/repo.py | 17 +++++++++++------ lib/spack/spack/store.py | 13 +++++++------ 4 files changed, 37 insertions(+), 27 deletions(-) diff --git a/lib/spack/spack/architecture.py b/lib/spack/spack/architecture.py index 17fbc0e2f14..44ce51ddfd2 100644 --- a/lib/spack/spack/architecture.py +++ b/lib/spack/spack/architecture.py @@ -593,17 +593,20 @@ def use_platform(new_platform): assert isinstance(new_platform, Platform), msg.format(new_platform) original_platform_fn, original_all_platforms_fn = platform, all_platforms - platform = _PickleableCallable(new_platform) - all_platforms = _PickleableCallable([type(new_platform)]) - # Clear configuration and compiler caches - spack.config.config.clear_caches() - spack.compilers._cache_config_files = [] + try: + platform = _PickleableCallable(new_platform) + all_platforms = _PickleableCallable([type(new_platform)]) - yield new_platform + # Clear configuration and compiler caches + spack.config.config.clear_caches() + spack.compilers._cache_config_files = [] - platform, all_platforms = original_platform_fn, original_all_platforms_fn + yield new_platform - # Clear configuration and compiler caches - spack.config.config.clear_caches() - spack.compilers._cache_config_files = [] + finally: + platform, all_platforms = original_platform_fn, original_all_platforms_fn + + # Clear configuration and compiler caches + spack.config.config.clear_caches() + spack.compilers._cache_config_files = [] diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py index 93399efb03c..7ea89b7c984 100644 --- a/lib/spack/spack/config.py +++ b/lib/spack/spack/config.py @@ -1238,11 +1238,12 @@ def use_configuration(*scopes_or_paths): saved_config, config = config, configuration - yield configuration - - # Restore previous config files - spack.compilers._cache_config_file = saved_compiler_cache - config = saved_config + try: + yield configuration + finally: + # Restore previous config files + spack.compilers._cache_config_file = saved_compiler_cache + config = saved_config @llnl.util.lang.memoized diff --git a/lib/spack/spack/repo.py b/lib/spack/spack/repo.py index ef1d684cadd..74c5cd2d877 100644 --- a/lib/spack/spack/repo.py +++ b/lib/spack/spack/repo.py @@ -1299,19 +1299,24 @@ def use_repositories(*paths_and_repos): """ global path + remove_from_meta = None + # Construct a temporary RepoPath object from temporary_repositories = RepoPath(*paths_and_repos) # Swap the current repository out saved = path - remove_from_meta = set_path(temporary_repositories) - yield temporary_repositories + try: + remove_from_meta = set_path(temporary_repositories) - # Restore _path and sys.meta_path - if remove_from_meta: - sys.meta_path.remove(temporary_repositories) - path = saved + yield temporary_repositories + + finally: + # Restore _path and sys.meta_path + if remove_from_meta: + sys.meta_path.remove(temporary_repositories) + path = saved class RepoError(spack.error.SpackError): diff --git a/lib/spack/spack/store.py b/lib/spack/spack/store.py index a04ece20275..ed5539d7fb6 100644 --- a/lib/spack/spack/store.py +++ b/lib/spack/spack/store.py @@ -301,9 +301,10 @@ def use_store(store_or_path): db, layout = store.db, store.layout root, unpadded_root = store.root, store.unpadded_root - yield temporary_store - - # Restore the original store - store = original_store - db, layout = original_store.db, original_store.layout - root, unpadded_root = original_store.root, original_store.unpadded_root + try: + yield temporary_store + finally: + # Restore the original store + store = original_store + db, layout = original_store.db, original_store.layout + root, unpadded_root = original_store.root, original_store.unpadded_root From cf8d1b038746d954514a3f48750aace32f5ae27b Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Tue, 3 Aug 2021 01:24:24 -0700 Subject: [PATCH 057/414] refactor: convert `build_process` to use `BuildProcessInstaller` (#25167) `build_process` has been around a long time but it's become a very large, unwieldy method. It's hard to work with because it has a lot of local variables that need to persist across all of the code. - [x] To address this, convert it its own `BuildInfoProcess` class. - [x] Start breaking the method apart by factoring out the main installation logic into its own function. --- lib/spack/spack/installer.py | 356 ++++++++++++++++++++--------------- 1 file changed, 208 insertions(+), 148 deletions(-) diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index 1d0b2212577..68782a84bc1 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -144,14 +144,8 @@ def _handle_external_and_upstream(pkg, explicit): def _do_fake_install(pkg): + """Make a fake install directory with fake executables, headers, and libraries. """ - Make a fake install directory containing fake executables, headers, - and libraries. - - Args: - pkg (spack.package.PackageBase): the package whose installation is to be faked - """ - command = pkg.name header = pkg.name library = pkg.name @@ -1170,8 +1164,7 @@ def _install_task(self, task): # stop early from clients, and is not an error at this point pid = '{0}: '.format(pkg.pid) if tty.show_pid() else '' tty.debug('{0}{1}'.format(pid, str(e))) - tty.debug('Package stage directory: {0}' - .format(pkg.stage.source_path)) + tty.debug('Package stage directory: {0}' .format(pkg.stage.source_path)) def _next_is_pri0(self): """ @@ -1678,152 +1671,219 @@ def install(self): 'reported errors for failing package(s).') -def build_process(pkg, kwargs): +class BuildProcessInstaller(object): + """This class implements the part installation that happens in the child process.""" + + def __init__(self, pkg, install_args): + """Create a new BuildProcessInstaller. + + It is assumed that the lifecycle of this object is the same as the child + process in the build. + + Arguments: + pkg (spack.package.PackageBase) the package being installed. + install_args (dict) arguments to do_install() from parent process. + + """ + self.pkg = pkg + + # whether to do a fake install + self.fake = install_args.get('fake', False) + + # whether to install source code with the packag + self.install_source = install_args.get('install_source', False) + + # whether to keep the build stage after installation + self.keep_stage = install_args.get('keep_stage', False) + + # whether to skip the patch phase + self.skip_patch = install_args.get('skip_patch', False) + + # whether to enable echoing of build output initially or not + self.verbose = install_args.get('verbose', False) + + # env before starting installation + self.unmodified_env = install_args.get('unmodified_env', {}) + + # timer for build phases + self.timer = Timer() + + # If we are using a padded path, filter the output to compress padded paths + # The real log still has full-length paths. + filter_padding = spack.config.get("config:install_tree:padded_length", None) + self.filter_fn = spack.util.path.padding_filter if filter_padding else None + + # info/debug information + pid = '{0}: '.format(pkg.pid) if tty.show_pid() else '' + self.pre = '{0}{1}:'.format(pid, pkg.name) + self.pkg_id = package_id(pkg) + + def run(self): + """Main entry point from ``build_process`` to kick off install in child.""" + + if not self.fake: + if not self.skip_patch: + self.pkg.do_patch() + else: + self.pkg.do_stage() + + tty.debug( + '{0} Building {1} [{2}]' .format( + self.pre, + self.pkg_id, + self.pkg.build_system_class + ) + ) + + # get verbosity from do_install() parameter or saved value + self.echo = self.verbose + if spack.package.PackageBase._verbose is not None: + self.echo = spack.package.PackageBase._verbose + + self.pkg.stage.keep = self.keep_stage + + with self.pkg.stage: + # Run the pre-install hook in the child process after + # the directory is created. + spack.hooks.pre_install(self.pkg.spec) + if self.fake: + _do_fake_install(self.pkg) + else: + if self.install_source: + self._install_source() + + self._real_install() + + # Stop the timer and save results + self.timer.stop() + with open(self.pkg.times_log_path, 'w') as timelog: + self.timer.write_json(timelog) + + # Run post install hooks before build stage is removed. + spack.hooks.post_install(self.pkg.spec) + + build_time = self.timer.total - self.pkg._fetch_time + tty.msg('{0} Successfully installed {1}'.format(self.pre, self.pkg_id), + 'Fetch: {0}. Build: {1}. Total: {2}.' + .format(_hms(self.pkg._fetch_time), _hms(build_time), + _hms(self.timer.total))) + _print_installed_pkg(self.pkg.prefix) + + # Send final status that install is successful + spack.hooks.on_install_success(self.pkg.spec) + + # preserve verbosity across runs + return self.echo + + def _install_source(self): + """Install source code from stage into share/pkg/src if necessary.""" + pkg = self.pkg + if not os.path.isdir(pkg.stage.source_path): + return + + src_target = os.path.join(pkg.spec.prefix, 'share', pkg.name, 'src') + tty.debug('{0} Copying source to {1}' .format(self.pre, src_target)) + + fs.install_tree(pkg.stage.source_path, src_target) + + def _real_install(self): + pkg = self.pkg + + # Do the real install in the source directory. + with fs.working_dir(pkg.stage.source_path): + # Save the build environment in a file before building. + dump_environment(pkg.env_path) + + for attr in ('configure_args', 'cmake_args'): + try: + configure_args = getattr(pkg, attr)() + configure_args = ' '.join(configure_args) + + with open(pkg.configure_args_path, 'w') as \ + args_file: + args_file.write(configure_args) + + break + except Exception: + pass + + # cache debug settings + debug_level = tty.debug_level() + + # Spawn a daemon that reads from a pipe and redirects + # everything to log_path, and provide the phase for logging + for i, (phase_name, phase_attr) in enumerate(zip( + pkg.phases, pkg._InstallPhase_phases)): + + # Keep a log file for each phase + log_dir = os.path.dirname(pkg.log_path) + log_file = "spack-build-%02d-%s-out.txt" % ( + i + 1, phase_name.lower() + ) + log_file = os.path.join(log_dir, log_file) + + try: + # DEBUGGING TIP - to debug this section, insert an IPython + # embed here, and run the sections below without log capture + log_contextmanager = log_output( + log_file, + self.echo, + True, + env=self.unmodified_env, + filter_fn=self.filter_fn + ) + + with log_contextmanager as logger: + with logger.force_echo(): + inner_debug_level = tty.debug_level() + tty.set_debug(debug_level) + tty.msg( + "{0} Executing phase: '{1}'" .format( + self.pre, + phase_name + ) + ) + tty.set_debug(inner_debug_level) + + # Redirect stdout and stderr to daemon pipe + phase = getattr(pkg, phase_attr) + self.timer.phase(phase_name) + + # Catch any errors to report to logging + phase(pkg.spec, pkg.prefix) + spack.hooks.on_phase_success(pkg, phase_name, log_file) + + except BaseException: + combine_phase_logs(pkg.phase_log_files, pkg.log_path) + spack.hooks.on_phase_error(pkg, phase_name, log_file) + raise + + # We assume loggers share echo True/False + self.echo = logger.echo + + # After log, we can get all output/error files from the package stage + combine_phase_logs(pkg.phase_log_files, pkg.log_path) + log(pkg) + + +def build_process(pkg, install_args): """Perform the installation/build of the package. This runs in a separate child process, and has its own process and python module space set up by build_environment.start_build_process(). + This essentially wraps an instance of ``BuildProcessInstaller`` so that we can + more easily create one in a subprocess. + This function's return value is returned to the parent process. + + Arguments: + pkg (spack.package.PackageBase): the package being installed. + install_args (dict): arguments to do_install() from parent process. + """ - fake = kwargs.get('fake', False) - install_source = kwargs.get('install_source', False) - keep_stage = kwargs.get('keep_stage', False) - skip_patch = kwargs.get('skip_patch', False) - unmodified_env = kwargs.get('unmodified_env', {}) - verbose = kwargs.get('verbose', False) - - timer = Timer() - - # If we are using a padded path, filter the output to compress padded paths - # The real log still has full-length paths. - filter_padding = spack.config.get("config:install_tree:padded_length", None) - filter_fn = spack.util.path.padding_filter if filter_padding else None - - if not fake: - if not skip_patch: - pkg.do_patch() - else: - pkg.do_stage() - - pid = '{0}: '.format(pkg.pid) if tty.show_pid() else '' - pre = '{0}{1}:'.format(pid, pkg.name) - pkg_id = package_id(pkg) - - tty.debug('{0} Building {1} [{2}]' - .format(pre, pkg_id, pkg.build_system_class)) - - # get verbosity from do_install() parameter or saved value - echo = verbose - if spack.package.PackageBase._verbose is not None: - echo = spack.package.PackageBase._verbose - - pkg.stage.keep = keep_stage - - with pkg.stage: - # Run the pre-install hook in the child process after - # the directory is created. - spack.hooks.pre_install(pkg.spec) - if fake: - _do_fake_install(pkg) - else: - source_path = pkg.stage.source_path - if install_source and os.path.isdir(source_path): - src_target = os.path.join(pkg.spec.prefix, 'share', - pkg.name, 'src') - tty.debug('{0} Copying source to {1}' - .format(pre, src_target)) - fs.install_tree(pkg.stage.source_path, src_target) - - # Do the real install in the source directory. - with fs.working_dir(pkg.stage.source_path): - - # Save the build environment in a file before building. - dump_environment(pkg.env_path) - - for attr in ('configure_args', 'cmake_args'): - try: - configure_args = getattr(pkg, attr)() - configure_args = ' '.join(configure_args) - - with open(pkg.configure_args_path, 'w') as \ - args_file: - args_file.write(configure_args) - - break - except Exception: - pass - - # cache debug settings - debug_level = tty.debug_level() - - # Spawn a daemon that reads from a pipe and redirects - # everything to log_path, and provide the phase for logging - for i, (phase_name, phase_attr) in enumerate(zip( - pkg.phases, pkg._InstallPhase_phases)): - - # Keep a log file for each phase - log_dir = os.path.dirname(pkg.log_path) - log_file = "spack-build-%02d-%s-out.txt" % ( - i + 1, phase_name.lower() - ) - log_file = os.path.join(log_dir, log_file) - - try: - # DEBUGGING TIP - to debug this section, insert an IPython - # embed here, and run the sections below without log capture - with log_output( - log_file, echo, True, env=unmodified_env, - filter_fn=filter_fn - ) as logger: - - with logger.force_echo(): - inner_debug_level = tty.debug_level() - tty.set_debug(debug_level) - tty.msg("{0} Executing phase: '{1}'" - .format(pre, phase_name)) - tty.set_debug(inner_debug_level) - - # Redirect stdout and stderr to daemon pipe - phase = getattr(pkg, phase_attr) - timer.phase(phase_name) - - # Catch any errors to report to logging - phase(pkg.spec, pkg.prefix) - spack.hooks.on_phase_success(pkg, phase_name, log_file) - - except BaseException: - combine_phase_logs(pkg.phase_log_files, pkg.log_path) - spack.hooks.on_phase_error(pkg, phase_name, log_file) - raise - - # We assume loggers share echo True/False - echo = logger.echo - - # After log, we can get all output/error files from the package stage - combine_phase_logs(pkg.phase_log_files, pkg.log_path) - log(pkg) - - # Stop the timer and save results - timer.stop() - with open(pkg.times_log_path, 'w') as timelog: - timer.write_json(timelog) - - # Run post install hooks before build stage is removed. - spack.hooks.post_install(pkg.spec) - - build_time = timer.total - pkg._fetch_time - tty.msg('{0} Successfully installed {1}'.format(pre, pkg_id), - 'Fetch: {0}. Build: {1}. Total: {2}.' - .format(_hms(pkg._fetch_time), _hms(build_time), - _hms(timer.total))) - _print_installed_pkg(pkg.prefix) - - # Send final status that install is successful - spack.hooks.on_install_success(pkg.spec) - - # preserve verbosity across runs - return echo + installer = BuildProcessInstaller(pkg, install_args) + return installer.run() class BuildTask(object): From 6fa803a38de399b5f75645cd2973b8cf9f25cf93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Tue, 3 Aug 2021 10:38:54 +0200 Subject: [PATCH 058/414] DIAMOND: add v2.0.11 (#25198) --- var/spack/repos/builtin/packages/diamond/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/diamond/package.py b/var/spack/repos/builtin/packages/diamond/package.py index 71c3646bae0..af7fec7a2ee 100644 --- a/var/spack/repos/builtin/packages/diamond/package.py +++ b/var/spack/repos/builtin/packages/diamond/package.py @@ -13,6 +13,7 @@ class Diamond(CMakePackage): homepage = "https://ab.inf.uni-tuebingen.de/software/diamond" url = "https://github.com/bbuchfink/diamond/archive/v2.0.9.tar.gz" + version('2.0.11', sha256='41f3197aaafff9c42763fb7658b67f730ebc6dd3c0533c9c3d54bd3166e93f24') version('2.0.9', sha256='3019f1adb6411c6669a3a17351d0338ae02f6b3cab3c8a3bac91cf334dcda620') version('2.0.8', sha256='04eed7c83828f50c7d9a1d48fe7c50a4c753e008501dc639c6521cf8a756c43b') version('2.0.4', sha256='94e8fe72bdc28b83fd0f2d90c439b58b63b38263aa1a3905582ef68f614ae95d') From 171001ca8410372dc89810301dbae73c49d63eab Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 3 Aug 2021 04:20:43 -0500 Subject: [PATCH 059/414] py-fiona: add v1.8.20 (#25196) --- var/spack/repos/builtin/packages/py-fiona/package.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-fiona/package.py b/var/spack/repos/builtin/packages/py-fiona/package.py index 1365749c137..f2d55509f87 100644 --- a/var/spack/repos/builtin/packages/py-fiona/package.py +++ b/var/spack/repos/builtin/packages/py-fiona/package.py @@ -16,6 +16,7 @@ class PyFiona(PythonPackage): maintainers = ['adamjstewart'] version('master', branch='master') + version('1.8.20', sha256='a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b') version('1.8.18', sha256='b732ece0ff8886a29c439723a3e1fc382718804bb057519d537a81308854967a') version('1.8.6', sha256='fa31dfe8855b9cd0b128b47a4df558f1b8eda90d2181bff1dd9854e5556efb3e') version('1.7.12', sha256='8b54eb8422d7c502bb7776b184018186bede1a489cf438a7a47f992ade6a0e51') @@ -25,15 +26,15 @@ class PyFiona(PythonPackage): depends_on('gdal@1.11:', type=('build', 'link', 'run'), when='@1.9:') depends_on('gdal@1.8:', type=('build', 'link', 'run')) - depends_on('py-setuptools', type=('build', 'run')) depends_on('py-cython', type='build', when='@master') depends_on('py-attrs@17:', type=('build', 'run')) - depends_on('py-certifi', type=('build', 'run'), when='@1.8.18') - depends_on('py-click@4:7', type=('build', 'run')) + depends_on('py-certifi', type=('build', 'run'), when='@1.8.18:') + depends_on('py-click@4:', type=('build', 'run')) depends_on('py-cligj@0.5:', type=('build', 'run')) depends_on('py-click-plugins@1:', type=('build', 'run')) depends_on('py-six@1.7:', type=('build', 'run')) depends_on('py-munch', type=('build', 'run')) + depends_on('py-setuptools', type=('build', 'run')) depends_on('py-argparse', type=('build', 'run'), when='^python@:2.6') depends_on('py-ordereddict', type=('build', 'run'), when='^python@:2.6') depends_on('py-enum34', type=('build', 'run'), when='^python@:3.3') From e47710134582d9ea67f12e46d2c43ecb21cfa2c4 Mon Sep 17 00:00:00 2001 From: Tim Haines Date: Tue, 3 Aug 2021 04:34:32 -0500 Subject: [PATCH 060/414] PAPI: add version 'master' (#25192) This is needed for testing with the ECP Dev Tools SDK. Co-authored-by: Tim Haines --- var/spack/repos/builtin/packages/papi/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py index 5f3c96cbdc1..16bdd006fc6 100644 --- a/var/spack/repos/builtin/packages/papi/package.py +++ b/var/spack/repos/builtin/packages/papi/package.py @@ -23,6 +23,9 @@ class Papi(AutotoolsPackage): maintainers = ['G-Ragghianti'] url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz" + git = "https://bitbucket.org/icl/papi/src/master/" + + version('master', branch='master') version('6.0.0.1', sha256='3cd7ed50c65b0d21d66e46d0ba34cd171178af4bbf9d94e693915c1aca1e287f') version('6.0.0', sha256='3442709dae3405c2845b304c06a8b15395ecf4f3899a89ceb4d715103cb4055f') version('5.7.0', sha256='d1a3bb848e292c805bc9f29e09c27870e2ff4cda6c2fba3b7da8b4bba6547589') From fc840c904b4587a13199969ae5872581d5c33c32 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Tue, 3 Aug 2021 03:00:33 -0700 Subject: [PATCH 061/414] executable: filter long paths from debug output (#25168) Long, padded install paths can get to be very long in the verbose install output. This has to be filtered out by the Executable class, as it generates these debug messages. - [x] add ability to filter paths from Executable output. - [x] add a context manager that can enable path filtering - [x] make `build_process` in `installer.py` This should hopefully allow us to see most of the build output in Gitlab pipeline builds again. --- lib/spack/spack/installer.py | 6 +++++- lib/spack/spack/util/executable.py | 27 ++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index 68782a84bc1..5ba5b3a70d8 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -54,6 +54,7 @@ import spack.package_prefs as prefs import spack.repo import spack.store +import spack.util.executable from spack.util.environment import dump_environment from spack.util.executable import which from spack.util.timer import Timer @@ -1883,7 +1884,10 @@ def build_process(pkg, install_args): """ installer = BuildProcessInstaller(pkg, install_args) - return installer.run() + + # don't print long padded paths in executable debug output. + with spack.util.executable.filter_padding(): + return installer.run() class BuildTask(object): diff --git a/lib/spack/spack/util/executable.py b/lib/spack/spack/util/executable.py index 1074a96cf7b..94fc7f16a71 100644 --- a/lib/spack/spack/util/executable.py +++ b/lib/spack/spack/util/executable.py @@ -2,6 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import contextlib import os import re import shlex @@ -16,6 +17,27 @@ __all__ = ['Executable', 'which', 'ProcessError'] +#: optionally filter padding on debug output in spack.util.executable +_filter_padding = False + + +@contextlib.contextmanager +def filter_padding(): + """Context manager to safely disable path padding in debug output. + + This is needed because Spack's debug output gets extremely long when we use a + long padded installation path. + """ + global _filter_padding + try: + # don't bother filtering if padding isn't actually enabled + padding = spack.config.get("config:install_tree:padded_length", None) + if padding: + _filter_padding = True + yield + finally: + _filter_padding = False + class Executable(object): """Class representing a program that can be run on the command line.""" @@ -187,7 +209,10 @@ def streamify(arg, mode): cmd_line = "'%s'" % "' '".join( map(lambda arg: arg.replace("'", "'\"'\"'"), cmd)) - tty.debug(cmd_line) + debug_cmd_line = cmd_line + if _filter_padding: + debug_cmd_line = [spack.util.path.padding_filter(elt) for elt in cmd_line] + tty.debug(debug_cmd_line) try: proc = subprocess.Popen( From a4698f61226f96eba5ad430f162b0e3c59845e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Bederi=C3=A1n?= Date: Tue, 3 Aug 2021 07:10:31 -0300 Subject: [PATCH 062/414] aocc: add v3.1.0 (#25193) --- var/spack/repos/builtin/packages/aocc/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/aocc/package.py b/var/spack/repos/builtin/packages/aocc/package.py index 00aaa7a9a10..0566288884c 100755 --- a/var/spack/repos/builtin/packages/aocc/package.py +++ b/var/spack/repos/builtin/packages/aocc/package.py @@ -32,6 +32,8 @@ class Aocc(Package): maintainers = ['amd-toolchain-support'] + version(ver="3.1.0", sha256='1948104a430506fe5e445c0c796d6956109e7cc9fc0a1e32c9f1285cfd566d0c', + url='http://developer.amd.com/wordpress/media/files/aocc-compiler-3.1.0.tar') version(ver="3.0.0", sha256='4ff269b1693856b9920f57e3c85ce488c8b81123ddc88682a3ff283979362227', url='http://developer.amd.com/wordpress/media/files/aocc-compiler-3.0.0.tar') version(ver="2.3.0", sha256='9f8a1544a5268a7fb8cd21ac4bdb3f8d1571949d1de5ca48e2d3309928fc3d15', From d33d9d1f035dbc3475b091f8d9a8ab5f2d10a7e7 Mon Sep 17 00:00:00 2001 From: John Vandenberg Date: Tue, 3 Aug 2021 19:25:21 +0800 Subject: [PATCH 063/414] sbp: add new package (#25194) --- .../repos/builtin/packages/sbp/package.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/sbp/package.py diff --git a/var/spack/repos/builtin/packages/sbp/package.py b/var/spack/repos/builtin/packages/sbp/package.py new file mode 100644 index 00000000000..cc031f7f997 --- /dev/null +++ b/var/spack/repos/builtin/packages/sbp/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Sbp(CMakePackage): + """Library providing an API for Piksi GNSS devices.""" + + homepage = 'https://github.com/swift-nav/libsbp' + git = 'https://github.com/swift-nav/libsbp' + + maintainers = ['jayvdb'] + + version('3.4.10', tag='v3.4.10', submodules=True) + + root_cmakelists_dir = 'c' + + def cmake_args(self): + args = [ + self.define('BUILD_SHARED_LIBS', 'ON'), + self.define('libsbp_ENABLE_TESTS', 'OFF'), + self.define('libsbp_ENABLE_DOCS', 'OFF'), + ] + return args From c7e8bdf9cf0feadb5dabf861af98943552e7e20e Mon Sep 17 00:00:00 2001 From: Tom Payerle Date: Tue, 3 Aug 2021 07:35:31 -0400 Subject: [PATCH 064/414] intel-tbb: allow compilation with nvhpc (#25044) These are the versions tested (and successfully patched) against intel-tbb.nvhpc-remove-flags.2017.patch: @2017, @2017.8, @2018, @2018.6 intel-tbb.nvhpc-remove-flags.2019.patch: @2019 intel-tbb.nvhpc-remove-flags.2019.1.patch: @2019.[1-6] intel-tbb.nvhpc-remove-flags.2019.7.patch: @2019.[7-8] intel-tbb.nvhpc-remove-flags.2019.9.patch: @2019.9, 2020.[0-3] The intel-tbb.nvhpc-version-script-fix.2017.patch was tested and applied successfully against all of the versions above. --- .../intel-tbb.nvhpc-remove-flags.2017.patch | 41 ++++++++++++++++++ .../intel-tbb.nvhpc-remove-flags.2019.1.patch | 41 ++++++++++++++++++ .../intel-tbb.nvhpc-remove-flags.2019.7.patch | 41 ++++++++++++++++++ .../intel-tbb.nvhpc-remove-flags.2019.9.patch | 43 +++++++++++++++++++ .../intel-tbb.nvhpc-remove-flags.2019.patch | 41 ++++++++++++++++++ ...el-tbb.nvhpc-version-script-fix.2017.patch | 14 ++++++ .../builtin/packages/intel-tbb/package.py | 21 +++++++++ 7 files changed, 242 insertions(+) create mode 100644 var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2017.patch create mode 100644 var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.1.patch create mode 100644 var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.7.patch create mode 100644 var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.9.patch create mode 100644 var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.patch create mode 100644 var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-version-script-fix.2017.patch diff --git a/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2017.patch b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2017.patch new file mode 100644 index 00000000000..beeaa15e7cf --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2017.patch @@ -0,0 +1,41 @@ +diff -Naur spack-src/build/linux.gcc.inc spack-src.patched/build/linux.gcc.inc +--- spack-src/build/linux.gcc.inc 2018-03-30 11:55:05.000000000 -0400 ++++ spack-src.patched/build/linux.gcc.inc 2021-07-22 10:41:47.712124058 -0400 +@@ -27,7 +27,9 @@ + WARNING_KEY = -Wall + TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor + +-WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor ++# Skip for nvhpc compilers ++# WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor ++WARNING_SUPPRESS = + DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl +@@ -62,10 +64,11 @@ + + # gcc 6.0 and later have -flifetime-dse option that controls + # elimination of stores done outside the object lifetime +-ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) +- # keep pre-contruction stores for zero initialization +- DSE_KEY = -flifetime-dse=1 +-endif ++# Skip for nvhpc compilers ++#ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) ++# # keep pre-contruction stores for zero initialization ++# DSE_KEY = -flifetime-dse=1 ++#endif + + ifeq ($(cfg), release) + CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD +@@ -148,7 +151,9 @@ + # Setting tbbmalloc data. + #------------------------------------------------------------------------------ + +-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++# Drop -fno-rtti for nvhpc compilers ++#M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-exceptions + + #------------------------------------------------------------------------------ + # End of setting tbbmalloc data. diff --git a/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.1.patch b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.1.patch new file mode 100644 index 00000000000..d561a82de03 --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.1.patch @@ -0,0 +1,41 @@ +diff -Naur spack-src/build/linux.gcc.inc spack-src.patched/build/linux.gcc.inc +--- spack-src/build/linux.gcc.inc 2019-03-21 11:28:21.000000000 -0400 ++++ spack-src.patched/build/linux.gcc.inc 2021-07-28 16:02:11.714975264 -0400 +@@ -29,7 +29,9 @@ + WARNING_KEY = -Wall + TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor + +-WARNING_SUPPRESS = -Wno-parentheses ++# Skip for nvhpc compilers ++#WARNING_SUPPRESS = -Wno-parentheses ++WARNING_SUPPRESS = + DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl +@@ -63,10 +65,11 @@ + + # gcc 6.0 and later have -flifetime-dse option that controls + # elimination of stores done outside the object lifetime +-ifneq (,$(shell $(CONLY) -dumpversion | egrep "^([6-9])")) +- # keep pre-contruction stores for zero initialization +- DSE_KEY = -flifetime-dse=1 +-endif ++# Skip for nvhpc compilers ++#ifneq (,$(shell $(CONLY) -dumpversion | egrep "^([6-9])")) ++# # keep pre-contruction stores for zero initialization ++# DSE_KEY = -flifetime-dse=1 ++#endif + + ifeq ($(cfg), release) + CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD +@@ -149,7 +152,9 @@ + # Setting tbbmalloc data. + #------------------------------------------------------------------------------ + +-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++# Drop -fno-rtti flag for nvhpc compilers ++#M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-exceptions + + #------------------------------------------------------------------------------ + # End of setting tbbmalloc data. diff --git a/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.7.patch b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.7.patch new file mode 100644 index 00000000000..e7045f03a31 --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.7.patch @@ -0,0 +1,41 @@ +diff -Naur spack-src/build/linux.gcc.inc spack-src.patched/build/linux.gcc.inc +--- spack-src/build/linux.gcc.inc 2019-05-23 06:35:29.000000000 -0400 ++++ spack-src.patched/build/linux.gcc.inc 2021-07-28 16:09:17.574383383 -0400 +@@ -25,7 +25,9 @@ + WARNING_KEY = -Wall + TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor + +-WARNING_SUPPRESS = -Wno-parentheses ++# Skip for nvhpc compilers ++#WARNING_SUPPRESS = -Wno-parentheses ++WARNING_SUPPRESS = + DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl +@@ -59,10 +61,11 @@ + + # gcc 6.0 and later have -flifetime-dse option that controls + # elimination of stores done outside the object lifetime +-ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9])")) +- # keep pre-contruction stores for zero initialization +- DSE_KEY = -flifetime-dse=1 +-endif ++# Skip for nvhpc compilers ++#ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9])")) ++# # keep pre-contruction stores for zero initialization ++# DSE_KEY = -flifetime-dse=1 ++#endif + + ifeq ($(cfg), release) + CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD +@@ -145,7 +148,9 @@ + # Setting tbbmalloc data. + #------------------------------------------------------------------------------ + +-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++# Drop -fno-rtti flag for nvhpc compilers ++#M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-exceptions + + #------------------------------------------------------------------------------ + # End of setting tbbmalloc data. diff --git a/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.9.patch b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.9.patch new file mode 100644 index 00000000000..4bc846276aa --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.9.patch @@ -0,0 +1,43 @@ +diff -Naur spack-src/build/linux.gcc.inc spack-src.patched/build/linux.gcc.inc +--- spack-src/build/linux.gcc.inc 2020-07-10 09:18:01.000000000 -0400 ++++ spack-src.patched/build/linux.gcc.inc 2021-07-28 15:32:43.640185318 -0400 +@@ -25,7 +25,9 @@ + WARNING_KEY = -Wall + TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor + +-WARNING_SUPPRESS = -Wno-parentheses ++# Skip for nvhpc compilers ++# WARNING_SUPPRESS = -Wno-parentheses ++WARNING_SUPPRESS = + DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl +@@ -57,12 +59,11 @@ + WARNING_SUPPRESS += -Wno-sized-deallocation + endif + +-# gcc 6.0 and later have -flifetime-dse option that controls +-# elimination of stores done outside the object lifetime +-ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])")) +- # keep pre-contruction stores for zero initialization +- DSE_KEY = -flifetime-dse=1 +-endif ++#Skip for nvhpc compilers ++#ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])")) ++# # keep pre-contruction stores for zero initialization ++# DSE_KEY = -flifetime-dse=1 ++#endif + + ifeq ($(cfg), release) + # -g is set intentionally in the release mode. It should not affect performance. +@@ -149,7 +150,9 @@ + # Setting tbbmalloc data. + #------------------------------------------------------------------------------ + +-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++# Drop -fno-rtti for nvhpc compilers ++# M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-exceptions + + #------------------------------------------------------------------------------ + # End of setting tbbmalloc data. diff --git a/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.patch b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.patch new file mode 100644 index 00000000000..eb1ffff9a74 --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-remove-flags.2019.patch @@ -0,0 +1,41 @@ +diff -Naur spack-src/build/linux.gcc.inc spack-src.patched/build/linux.gcc.inc +--- spack-src/build/linux.gcc.inc 2018-08-29 10:37:51.000000000 -0400 ++++ spack-src.patched/build/linux.gcc.inc 2021-07-28 15:52:03.235813820 -0400 +@@ -27,7 +27,9 @@ + WARNING_KEY = -Wall + TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor + +-WARNING_SUPPRESS = -Wno-parentheses ++# Skip for nvhpc compilers ++#WARNING_SUPPRESS = -Wno-parentheses ++WARNING_SUPPRESS = + DYLIB_KEY = -shared + EXPORT_KEY = -Wl,--version-script, + LIBDL = -ldl +@@ -63,10 +65,11 @@ + + # gcc 6.0 and later have -flifetime-dse option that controls + # elimination of stores done outside the object lifetime +-ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) +- # keep pre-contruction stores for zero initialization +- DSE_KEY = -flifetime-dse=1 +-endif ++# Skip for nvhpc compilers ++#ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])")) ++# # keep pre-contruction stores for zero initialization ++# DSE_KEY = -flifetime-dse=1 ++#endif + + ifeq ($(cfg), release) + CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD +@@ -149,7 +152,9 @@ + # Setting tbbmalloc data. + #------------------------------------------------------------------------------ + +-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++# Drop -fno-rtti flag for nvhpc compilers ++#M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions ++M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-exceptions + + #------------------------------------------------------------------------------ + # End of setting tbbmalloc data. diff --git a/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-version-script-fix.2017.patch b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-version-script-fix.2017.patch new file mode 100644 index 00000000000..eb5dc47799b --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-tbb/intel-tbb.nvhpc-version-script-fix.2017.patch @@ -0,0 +1,14 @@ +diff -Naur spack-src/build/linux.gcc.inc spack-src.patched/build/linux.gcc.inc +--- spack-src/build/linux.gcc.inc 2018-03-30 11:55:05.000000000 -0400 ++++ spack-src.patched/build/linux.gcc.inc 2021-07-22 15:58:22.876292608 -0400 +@@ -17,7 +17,9 @@ + # + + COMPILE_ONLY = -c -MMD +-PREPROC_ONLY = -E -x c++ ++# For nvc++, need --no_preincludes as well to avoid issues with ++# pre-included content interfering with version scripts, etc. ++PREPROC_ONLY = -E -x c++ --no_preincludes + INCLUDE_KEY = -I + DEFINE_KEY = -D + OUTPUT_KEY = -o # diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py index 50c674543de..89276ec5ca5 100644 --- a/var/spack/repos/builtin/packages/intel-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-tbb/package.py @@ -120,6 +120,27 @@ class IntelTbb(Package): # https://github.com/oneapi-src/oneTBB/commit/86f6dcdc17a8f5ef2382faaef860cfa5243984fe.patch?full_index=1 patch("macos-arm64.patch", when="@:2021.0") + # Support for building with %nvhpc + # 1) remove flags nvhpc compilers do not recognize + patch("intel-tbb.nvhpc-remove-flags.2017.patch", + when="@2017:2018.9 %nvhpc") + patch("intel-tbb.nvhpc-remove-flags.2019.patch", + when="@2019:2019.0 %nvhpc") + patch("intel-tbb.nvhpc-remove-flags.2019.1.patch", + when="@2019.1:2019.6 %nvhpc") + patch("intel-tbb.nvhpc-remove-flags.2019.7.patch", + when="@2019.7:2019.8 %nvhpc") + # The 2019.9 patch below was tested successfully + # on @2019.9, @2020.0, and @2020.3 + patch("intel-tbb.nvhpc-remove-flags.2019.9.patch", + when="@2019.9: %nvhpc") + # 2) Fix generation of version script tbb.def for ld (nvc++ -E + # appears to produce more output than g++ -E which was causing problems) + # The 2017 patch below was tested on @2017, @2017.8, @2018, + # @2018.3, @2018.6, 2019, @2019.[1-9], and @2020.[0-3] + patch("intel-tbb.nvhpc-version-script-fix.2017.patch", + when="@2017 %nvhpc") + # Version and tar file names: # 2020.0 --> v2020.0.tar.gz starting with 2020 # 2017.1 --> 2017_U1.tar.gz starting with 2017 From 5698850dc47b20a6fc648a7b15b1ee37fa170c16 Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Tue, 3 Aug 2021 17:18:19 +0530 Subject: [PATCH 065/414] aocc 3.1.0: fix version detection for v3.1.0 (#25084) --- lib/spack/spack/compilers/aocc.py | 7 ++----- lib/spack/spack/test/compilers/detection.py | 5 +++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/spack/spack/compilers/aocc.py b/lib/spack/spack/compilers/aocc.py index dcb6589861c..b544a42e79d 100644 --- a/lib/spack/spack/compilers/aocc.py +++ b/lib/spack/spack/compilers/aocc.py @@ -98,15 +98,12 @@ def fc_pic_flag(self): @classmethod @llnl.util.lang.memoized def extract_version_from_output(cls, output): - loc_ver = 'unknown' - match = re.search( - r'AMD clang version ([^ )]+)', + r'AOCC_(\d+)[._](\d+)[._](\d+)', output ) if match: - loc_ver = output.split('AOCC_')[1].split('-')[0] - return loc_ver + return '.'.join(match.groups()) @classmethod def fc_version(cls, fortran_compiler): diff --git a/lib/spack/spack/test/compilers/detection.py b/lib/spack/spack/test/compilers/detection.py index 58d03fbfe46..06095c4bf4a 100644 --- a/lib/spack/spack/test/compilers/detection.py +++ b/lib/spack/spack/test/compilers/detection.py @@ -345,6 +345,11 @@ def _module(cmd, *args): @pytest.mark.parametrize('version_str,expected_version', [ # This applies to C,C++ and FORTRAN compiler + ('AMD clang version 12.0.0 (CLANG: AOCC_3_1_0-Build#126 2021_06_07)' + '(based on LLVM Mirror.Version.12.0.0)\n' + 'Target: x86_64-unknown-linux-gnu\n' + 'Thread model: posix\n', '3.1.0' + ), ('AMD clang version 12.0.0 (CLANG: AOCC_3.0.0-Build#78 2020_12_10)' '(based on LLVM Mirror.Version.12.0.0)\n' 'Target: x86_64-unknown-linux-gnu\n' From 420a8c2eb2295e0b9bc6e0d501fb48bc254cb7ea Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 3 Aug 2021 04:52:35 -0700 Subject: [PATCH 066/414] openPMD-api: make v0.13.4 preferred (#25188) Keep the previous patch release as preferred as we investigate a few regressions. --- var/spack/repos/builtin/packages/openpmd-api/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index 17afd946199..8a3fb905cc5 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -20,7 +20,8 @@ class OpenpmdApi(CMakePackage): version('0.14.0', sha256='7bb561c1a6f54e9a6a1b56aaf1d4d098bbe290d204f84ebe5a6f11b3cab2be6e') # temporary, pre 0.14.0 version for HiPACE++ version('hipace', commit='ac083025ee662469b8cad1adf93eef48cde35f58') - version('0.13.4', sha256='46c013be5cda670f21969675ce839315d4f5ada0406a6546a91ec3441402cf5e') + version('0.13.4', preferred=True, + sha256='46c013be5cda670f21969675ce839315d4f5ada0406a6546a91ec3441402cf5e') version('0.13.3', sha256='4b8f84bd89cd540c73ffe8c21085970453cb7f0e4f125f11a4e288433f64b58c') version('0.13.2', sha256='2e5170d41bb7b2c0608ec833eee7f9adf8175b46734743f6e46dcce6f6685fb0') version('0.13.1', sha256='81ff79419982eb1b0865d1736f73f950f5d4c356d3c78200ceeab7f54dc07fd7') From 88d24150e65507e896f368943ab96f5af647a7c6 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 3 Aug 2021 07:00:14 -0500 Subject: [PATCH 067/414] py-scipy: add v1.7.1 (#25187) --- var/spack/repos/builtin/packages/py-scipy/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py index f531c56278f..33d1001f6dd 100644 --- a/var/spack/repos/builtin/packages/py-scipy/package.py +++ b/var/spack/repos/builtin/packages/py-scipy/package.py @@ -18,6 +18,7 @@ class PyScipy(PythonPackage): maintainers = ['adamjstewart'] version('master', branch='master') + version('1.7.1', sha256='6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764') version('1.7.0', sha256='998c5e6ea649489302de2c0bc026ed34284f531df89d2bdc8df3a0d44d165739') version('1.6.3', sha256='a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707') version('1.6.2', sha256='e9da33e21c9bc1b92c20b5328adb13e5f193b924c9b969cd700c8908f315aa59') From d1ee325ecd4898cc66640bec9043c01acac3a483 Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Tue, 3 Aug 2021 17:36:38 +0530 Subject: [PATCH 068/414] AOCC support for CloverLeaf (#25106) * AOCC support for CloverLeaf * removing patch as it is upstreamed to source Co-authored-by: mohan002 --- .../builtin/packages/cloverleaf/package.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/var/spack/repos/builtin/packages/cloverleaf/package.py b/var/spack/repos/builtin/packages/cloverleaf/package.py index a4a0c43d3a3..3d2125e1480 100644 --- a/var/spack/repos/builtin/packages/cloverleaf/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf/package.py @@ -12,14 +12,18 @@ class Cloverleaf(MakefilePackage): homepage = "http://uk-mac.github.io/CloverLeaf" url = "http://downloads.mantevo.org/releaseTarballs/miniapps/CloverLeaf/CloverLeaf-1.1.tar.gz" + git = "https://github.com/UK-MAC/CloverLeaf.git" tags = ['proxy-app'] + version('master', tag='master', submodules=True) version('1.1', sha256='de87f7ee6b917e6b3d243ccbbe620370c62df890e3ef7bdbab46569b57be132f') variant('build', default='ref', description='Type of Parallelism Build', values=('cuda', 'mpi_only', 'openacc_cray', 'openmp_only', 'ref', 'serial')) + variant('ieee', default=False, description='Build with IEEE standards') + variant('debug', default=False, description='Build with DEBUG flags') depends_on('mpi', when='build=cuda') depends_on('mpi', when='build=mpi_only') @@ -27,6 +31,11 @@ class Cloverleaf(MakefilePackage): depends_on('mpi', when='build=ref') depends_on('cuda', when='build=cuda') + conflicts('build=cuda', when='%aocc', msg="Currently AOCC supports only ref variant") + conflicts('build=openacc_cray', when='%aocc', msg="Currently AOCC supports only ref variant") + conflicts('build=serial', when='%aocc', msg="Currently AOCC supports only ref variant") + conflicts('@1.1', when='%aocc', msg="AOCC support is provided from version v.1.3 and above") + @property def type_of_build(self): build = 'ref' @@ -67,6 +76,8 @@ def build_targets(self): targets.append('COMPILER=INTEL') targets.append('FLAGS_INTEL=') targets.append('CFLAGS_INTEL=') + elif '%aocc' in self.spec: + targets.append('COMPILER=AOCC') elif '%pgi' in self.spec: targets.append('COMPILER=PGI') targets.append('FLAGS_PGI=') @@ -76,6 +87,14 @@ def build_targets(self): targets.append('FLAGS_XLF=') targets.append('CFLAGS_XLF=') + # Explicit mention of else clause is not working as expected + # So, not mentioning them + if '+debug' in self.spec: + targets.append('DEBUG=1') + + if '+ieee' in self.spec: + targets.append('IEEE=1') + return targets def install(self, spec, prefix): From a62210efb92137b9fee46d6ed582e939687e688e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Tue, 3 Aug 2021 14:11:41 +0200 Subject: [PATCH 069/414] midnight-commander: add v4.8.26 (#25178) --- var/spack/repos/builtin/packages/mc/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/mc/package.py b/var/spack/repos/builtin/packages/mc/package.py index b9cf4a664b3..e897d2158f3 100644 --- a/var/spack/repos/builtin/packages/mc/package.py +++ b/var/spack/repos/builtin/packages/mc/package.py @@ -12,6 +12,7 @@ class Mc(AutotoolsPackage): homepage = "https://midnight-commander.org" url = "http://ftp.midnight-commander.org/mc-4.8.20.tar.bz2" + version('4.8.26', sha256='9d6358d0a351a455a1410aab57f33b6b48b0fcf31344b9a10b0ff497595979d1') version('4.8.23', sha256='238c4552545dcf3065359bd50753abbb150c1b22ec5a36eaa02c82808293267d') version('4.8.21', sha256='251d9f0ef9309ef3eea0fdc4c12b8b61149e5056bef1b2de2ccc7f015d973444') version('4.8.20', sha256='2d85daaa6ab26e524946df4823ac2f69802bc16bc967781b5e28d5b86fc3b979') From 62d59f0fb71be581247ec1195f1a2da71f736903 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 14:13:08 +0200 Subject: [PATCH 070/414] scrot: use tarball with configure script (#25176) --- var/spack/repos/builtin/packages/scrot/package.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/scrot/package.py b/var/spack/repos/builtin/packages/scrot/package.py index 8c47b0176f4..7e511db5434 100644 --- a/var/spack/repos/builtin/packages/scrot/package.py +++ b/var/spack/repos/builtin/packages/scrot/package.py @@ -13,13 +13,12 @@ class Scrot(AutotoolsPackage): dynamic saver modules.""" homepage = "https://github.com/resurrecting-open-source-projects/scrot" - url = "https://github.com/resurrecting-open-source-projects/scrot/archive/refs/tags/1.5.tar.gz" + url = "https://github.com/resurrecting-open-source-projects/scrot/releases/download/1.5/scrot-1.5.tar.gz" - version('1.5', sha256='87afba3998aac097f13231f3b0452c21188bf4b5cc6ac0747693a1da1a0ae40f') + version('1.6', sha256='42f64d38f04ec530c8b4ebdae04cce8b6893b2f8d30627391d390edcba917090') + version('1.5', sha256='42fcf1c97940f4b4e34ca69990a0fc9b98991357bd6a4b67f30ebe0ccc10f093') - depends_on('autoconf-archive', type='build') - depends_on('automake', type='build') - depends_on('giblib', when='@:1.5') # @master already has this dependency removed + depends_on('giblib', when='@:1.5') depends_on('imlib2') depends_on('libtool') depends_on('libxcomposite') From fa729858ac0c27131aaf51dde213240e619a3909 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Tue, 3 Aug 2021 14:46:38 +0200 Subject: [PATCH 071/414] h5bench: new package (#25190) --- .../repos/builtin/packages/h5bench/package.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 var/spack/repos/builtin/packages/h5bench/package.py diff --git a/var/spack/repos/builtin/packages/h5bench/package.py b/var/spack/repos/builtin/packages/h5bench/package.py new file mode 100644 index 00000000000..46fcc530214 --- /dev/null +++ b/var/spack/repos/builtin/packages/h5bench/package.py @@ -0,0 +1,29 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class H5bench(CMakePackage): + """A benchmark suite for measuring HDF5 performance.""" + + homepage = "https://github.com/hpc-io/h5bench" + git = "https://github.com/hpc-io/h5bench.git" + + version('master', branch='master') + + depends_on('cmake@3.10:', type='build') + depends_on('mpi') + depends_on('hdf5+mpi@1.12.0:1.99.99,develop-1.12:') + + @run_after('install') + def install_config(self): + install_tree('h5bench_patterns/sample_config', + self.prefix.share.patterns) + install('metadata_stress/hdf5_iotest.ini', + self.prefix.share) + + def setup_build_environment(self, env): + env.set('HDF5_HOME', self.spec['hdf5'].prefix) From 73923f1e931aed16e77ac9e411d5d9fcb44423dc Mon Sep 17 00:00:00 2001 From: Sebastian Schmitt Date: Tue, 3 Aug 2021 15:04:39 +0200 Subject: [PATCH 072/414] fmt: add v8.0.1 (#25201) --- var/spack/repos/builtin/packages/fmt/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/fmt/package.py b/var/spack/repos/builtin/packages/fmt/package.py index 47ea7e2513c..78dba39d282 100644 --- a/var/spack/repos/builtin/packages/fmt/package.py +++ b/var/spack/repos/builtin/packages/fmt/package.py @@ -14,6 +14,7 @@ class Fmt(CMakePackage): homepage = "https://fmt.dev/" url = "https://github.com/fmtlib/fmt/releases/download/7.1.3/fmt-7.1.3.zip" + version('8.0.1', sha256='a627a56eab9554fc1e5dd9a623d0768583b3a383ff70a4312ba68f94c9d415bf') version('7.1.3', sha256='5d98c504d0205f912e22449ecdea776b78ce0bb096927334f80781e720084c9f') version('7.1.2', sha256='4d6968ab7c01e95cc76df136755703defb985105a117b83057e4fd5d53680ea7') version('7.1.0', sha256='308af4e36ee3ab527b51014a2a5d862682c84f5d16f7a597aea34c84853cbcb0') From a76365c72b23c183f0e062da4956becb92674254 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Tue, 3 Aug 2021 15:13:19 +0200 Subject: [PATCH 073/414] Bump Arbor package to v0.5.2 (#24519) --- .../repos/builtin/packages/arbor/package.py | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/var/spack/repos/builtin/packages/arbor/package.py b/var/spack/repos/builtin/packages/arbor/package.py index 9adacf477f8..94b9e78cfab 100644 --- a/var/spack/repos/builtin/packages/arbor/package.py +++ b/var/spack/repos/builtin/packages/arbor/package.py @@ -10,13 +10,14 @@ class Arbor(CMakePackage, CudaPackage): """Arbor is a high-performance library for computational neuroscience simulations.""" - homepage = "https://github.com/arbor-sim/arbor/" - git = "https://github.com/arbor-sim/arbor.git" - url = "https://github.com/arbor-sim/arbor/releases/download/v0.5/arbor-v0.5-full.tar.gz" - maintainers = ['bcumming', 'halfflat'] + homepage = 'https://arbor-sim.org' + git = 'https://github.com/arbor-sim/arbor.git' + url = 'https://github.com/arbor-sim/arbor/releases/download/v0.5.2/arbor-v0.5.2-full.tar.gz' + maintainers = ['bcumming', 'brenthuisman', 'haampie', 'halfflat'] version('master', branch='master', submodules=True) - version('0.5', 'd0c8a4c7f97565d7c30493c66249be794d1dc424de266fc79cecbbf0e313df59') + version('0.5.2', sha256='290e2ad8ca8050db1791cabb6b431e7c0409c305af31b559e397e26b300a115d', url='https://github.com/arbor-sim/arbor/releases/download/v0.5.2/arbor-v0.5.2-full.tar.gz') + version('0.5', sha256='d0c8a4c7f97565d7c30493c66249be794d1dc424de266fc79cecbbf0e313df59', url='https://github.com/arbor-sim/arbor/releases/download/v0.5/arbor-v0.5-full.tar.gz') variant('assertions', default=False, description='Enable arb_assert() assertions in code.') variant('doc', default=False, description='Build documentation.') @@ -25,9 +26,9 @@ class Arbor(CMakePackage, CudaPackage): variant('python', default=True, description='Enable Python frontend support') variant('vectorize', default=False, description='Enable vectorization of computational kernels') - # https://arbor.readthedocs.io/en/latest/install/build_install.html?highlight=requirements#compilers + # https://docs.arbor-sim.org/en/latest/install/build_install.html?highlight=requirements#compilers conflicts('%gcc@:8.3') - conflicts('%clang@:8.0') + conflicts('%clang@:7') # Cray compiler v9.2 and later is Clang-based. conflicts('%cce@:9.1') conflicts('%intel') @@ -47,7 +48,7 @@ class Arbor(CMakePackage, CudaPackage): extends('python', when='+python') depends_on('python@3.6:', when="+python", type=('build', 'run')) depends_on('py-numpy', when='+python', type=('build', 'run')) - depends_on('py-pybind11', when='+python', type=('build', 'run')) + depends_on('py-pybind11@2.6:', when='+python', type=('build', 'run')) # sphinx based documentation depends_on('python@3.6:', when="+doc", type='build') @@ -70,7 +71,11 @@ def cmake_args(self): if '+cuda' in self.spec: args.append('-DARB_GPU=cuda') - # rely on spack's compiler wrapper to set architecture - args.append('-DARB_ARCH=') + # query spack for the architecture-specific compiler flags set by its wrapper + args.append('-DARB_ARCH=none') + opt_flags = self.spec.target.optimization_flags( + self.spec.compiler.name, + self.spec.compiler.version) + args.append('-DARB_CXX_FLAGS_TARGET=' + opt_flags) return args From 7d0878f5c44b64777339816020f14724dd4485b3 Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Tue, 3 Aug 2021 16:20:06 +0200 Subject: [PATCH 074/414] py-datalad: add new package (#25181) --- .../builtin/packages/py-datalad/package.py | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-datalad/package.py diff --git a/var/spack/repos/builtin/packages/py-datalad/package.py b/var/spack/repos/builtin/packages/py-datalad/package.py new file mode 100644 index 00000000000..6a5a63515db --- /dev/null +++ b/var/spack/repos/builtin/packages/py-datalad/package.py @@ -0,0 +1,108 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyDatalad(PythonPackage): + """data distribution geared toward scientific datasets. + + DataLad makes data management and data distribution more accessible. To do + that, it stands on the shoulders of Git and Git-annex to deliver a + decentralized system for data exchange. This includes automated ingestion + of data from online portals and exposing it in readily usable form as + Git(-annex) repositories, so-called datasets. The actual data storage and + permission management, however, remains with the original data providers. + """ + + homepage = "http://datalad.org/" + pypi = "datalad/datalad-0.14.6.tar.gz" + + version('0.14.6', sha256='149b25a00da133a81be3cbdc041a1985418f0918fa5961ba979e23b5b3c08c63') + + variant('downloaders-extra', default=False, description="Enable extra downloaders support") + variant('misc', default=False, description="Enable misc") + variant('tests', default=False, description="Enable tests") + variant('metadata-extra', default=False, description="Enable extra metadata support") + variant('duecredit', default=False, description="Enable duecredit support") + variant('full', default=False, description="Enable support for all available variants") + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools@40.8.0:', type='build') + depends_on('git', type=('build', 'run')) + depends_on('git-annex', type=('build', 'run')) + + # core + depends_on('py-appdirs', type=('build', 'run')) + depends_on('py-chardet@3.0.4:', type=('build', 'run')) + depends_on('py-distro', type=('build', 'run'), when='^python@3.8:') + depends_on('py-importlib-metadata', type=('build', 'run'), when='^python@:3.7') + depends_on('py-iso8601', type=('build', 'run')) + depends_on('py-humanize', type=('build', 'run')) + depends_on('py-fasteners@0.14:', type=('build', 'run')) + depends_on('py-patool@1.7:', type=('build', 'run')) + depends_on('py-tqdm', type=('build', 'run')) + depends_on('py-wrapt', type=('build', 'run')) + depends_on('py-annexremote', type=('build', 'run')) + # additional dependency on 'colorama' if platform_system=="Windows"' + + # downloaders + depends_on('py-boto', type=('build', 'run')) + depends_on('py-keyring@8.0:', type=('build', 'run')) + depends_on('py-keyrings-alt', type=('build', 'run')) + depends_on('py-msgpack', type=('build', 'run')) + depends_on('py-requests@1.2:', type=('build', 'run')) + + # puplish + depends_on('py-jsmin', type=('build', 'run')) + depends_on('py-pygithub', type=('build', 'run')) + + # metadata + depends_on('py-simplejson', type=('build', 'run')) + depends_on('py-whoosh', type=('build', 'run')) + + with when('+downloaders-extra'): + depends_on('py-requests-ftp', type=('build', 'run')) + + with when('+misc'): + depends_on('py-pyperclip', type=('build', 'run')) + depends_on('py-python-dateutil', type=('build', 'run')) + + with when('+tests'): + depends_on('py-beautifulsoup4', type=('build', 'run')) + depends_on('py-httpretty@0.9.4:', type=('build', 'run')) + depends_on('py-nose@1.3.4:', type=('build', 'run')) + depends_on('py-vcrpy', type=('build', 'run')) + + with when('+metadata-extra'): + depends_on('py-pyyaml', type=('build', 'run')) + depends_on('py-mutagen@1.36:', type=('build', 'run')) + depends_on('py-exifread', type=('build', 'run')) + depends_on('py-python-xmp-toolkit', type=('build', 'run')) + depends_on('py-pillow', type=('build', 'run')) + + with when('+duecredit'): + depends_on('py-duecredit', type=('build', 'run')) + + with when('+full'): + # all the above + # downloader-extra + depends_on('py-requests-ftp', type=('build', 'run')) + # misc + depends_on('py-pyperclip', type=('build', 'run')) + depends_on('py-python-dateutil', type=('build', 'run')) + # tests + depends_on('py-beautifulsoup4', type=('build', 'run')) + depends_on('py-httpretty@0.9.4:', type=('build', 'run')) + depends_on('py-nose@1.3.4:', type=('build', 'run')) + depends_on('py-vcrpy', type=('build', 'run')) + # metadata-extra + depends_on('py-pyyaml', type=('build', 'run')) + depends_on('py-mutagen@1.36:', type=('build', 'run')) + depends_on('py-exifread', type=('build', 'run')) + depends_on('py-python-xmp-toolkit', type=('build', 'run')) + depends_on('py-pillow', type=('build', 'run')) + # duecredit + depends_on('py-duecredit', type=('build', 'run')) From 15bc4faf2d042bc166c1b1a326dc3c9221e49d34 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 16:49:24 +0200 Subject: [PATCH 075/414] py-s3tranfer: add v0.5.0, v0.4.2 (#25208) --- var/spack/repos/builtin/packages/py-s3transfer/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-s3transfer/package.py b/var/spack/repos/builtin/packages/py-s3transfer/package.py index 1c7c71e378e..f683e94820d 100644 --- a/var/spack/repos/builtin/packages/py-s3transfer/package.py +++ b/var/spack/repos/builtin/packages/py-s3transfer/package.py @@ -12,6 +12,12 @@ class PyS3transfer(PythonPackage): homepage = "https://github.com/boto/s3transfer" pypi = "s3transfer/s3transfer-0.2.1.tar.gz" + depends_on('python@3.6:', when='@0.5.0', type=('build', 'run')) + depends_on('python@2.7:2.8,3.6:', when='@0.4.2', type=('build', 'run')) + depends_on('python@2.7:2.8,3.4:', when='@0.3.4', type=('build', 'run')) + + version('0.5.0', sha256='50ed823e1dc5868ad40c8dc92072f757aa0e653a192845c94a3b676f4a62da4c') + version('0.4.2', sha256='cb022f4b16551edebbb31a377d3f09600dbada7363d8c5db7976e7f47732e1b2') version('0.3.4', sha256='7fdddb4f22275cf1d32129e21f056337fd2a80b6ccef1664528145b72c49e6d2') version('0.2.1', sha256='6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d') From 0026d60b607f4e6ab67026dfe1126cfcc6afe1c4 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 3 Aug 2021 16:53:40 +0200 Subject: [PATCH 076/414] Test bootstrapping in a workflow (#25138) Add a workflow to test bootstrapping clingo on different platforms so that we can detect changes that break it. Compute `site_packages_dir` in `bootstrap.py` as it was before #24095, until we figure a better way to override that attribute. --- .github/workflows/bootstrap.yml | 113 ++++++++++++++++++ lib/spack/spack/bootstrap.py | 23 ++-- .../repos/builtin/packages/python/package.py | 8 +- 3 files changed, 135 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/bootstrap.yml diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml new file mode 100644 index 00000000000..70fe9bf58a1 --- /dev/null +++ b/.github/workflows/bootstrap.yml @@ -0,0 +1,113 @@ +name: Bootstrapping + +on: + pull_request: + branches: + - develop + - releases/** + paths-ignore: + # Don't run if we only modified packages in the + # built-in repository or documentation + - 'var/spack/repos/builtin/**' + - '!var/spack/repos/builtin/packages/clingo-bootstrap/**' + - '!var/spack/repos/builtin/packages/python/**' + - 'lib/spack/docs/**' + schedule: + # nightly at 2:16 AM + - cron: '16 2 * * *' + +jobs: + + fedora: + runs-on: ubuntu-latest + container: "fedora:latest" + steps: + - name: Install dependencies + run: | + dnf install -y \ + bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \ + make patch unzip which xz python3 python3-devel tree \ + cmake bison bison-devel libstdc++-static + - uses: actions/checkout@v2 + - name: Setup repo and non-root user + run: | + git --version + git fetch --unshallow + . .github/workflows/setup_git.sh + useradd spack-test + chown -R spack-test . + - name: Bootstrap clingo + shell: runuser -u spack-test -- bash {0} + run: | + source share/spack/setup-env.sh + spack external find cmake bison + spack -d solve zlib + tree ~/.spack/bootstrap/store/ + + ubuntu: + runs-on: ubuntu-latest + container: "ubuntu:latest" + steps: + - name: Install dependencies + env: + DEBIAN_FRONTEND: noninteractive + run: | + apt-get update -y && apt-get upgrade -y + apt-get install -y \ + bzip2 curl file g++ gcc gfortran git gnupg2 gzip \ + make patch unzip xz-utils python3 python3-dev tree \ + cmake bison + - uses: actions/checkout@v2 + - name: Setup repo and non-root user + run: | + git --version + git fetch --unshallow + . .github/workflows/setup_git.sh + useradd -m spack-test + chown -R spack-test . + - name: Bootstrap clingo + shell: runuser -u spack-test -- bash {0} + run: | + source share/spack/setup-env.sh + spack external find cmake bison + spack -d solve zlib + tree ~/.spack/bootstrap/store/ + + opensuse: + runs-on: ubuntu-latest + container: "opensuse/tumbleweed:latest" + steps: + - name: Install dependencies + run: | + zypper update -y + zypper install -y \ + bzip2 curl file gcc-c++ gcc gcc-fortran tar git gpg2 gzip \ + make patch unzip which xz python3 python3-devel tree \ + cmake bison + - uses: actions/checkout@v2 + - name: Setup repo and non-root user + run: | + git --version + git fetch --unshallow + . .github/workflows/setup_git.sh + - name: Bootstrap clingo + run: | + source share/spack/setup-env.sh + spack external find cmake bison + spack -d solve zlib + tree ~/.spack/bootstrap/store/ + + macos: + runs-on: macos-latest + steps: + - name: Install dependencies + run: | + brew install cmake bison@2.7 tree + - uses: actions/checkout@v2 + - name: Bootstrap clingo + run: | + source share/spack/setup-env.sh + export PATH=/usr/local/opt/bison@2.7/bin:$PATH + spack external find --not-buildable cmake bison + spack -d solve zlib + tree ~/.spack/bootstrap/store/ diff --git a/lib/spack/spack/bootstrap.py b/lib/spack/spack/bootstrap.py index 92bbb2fa420..09088c3eb6e 100644 --- a/lib/spack/spack/bootstrap.py +++ b/lib/spack/spack/bootstrap.py @@ -92,15 +92,19 @@ def make_module_available(module, spec=None, install=False): installed_specs = spack.store.db.query(spec, installed=True) for ispec in installed_specs: - # TODO: make sure run-environment is appropriate - module_path = ispec['python'].package.get_python_lib(prefix=ispec.prefix) + lib_spd = ispec['python'].package.default_site_packages_dir + lib64_spd = lib_spd.replace('lib/', 'lib64/') + module_paths = [ + os.path.join(ispec.prefix, lib_spd), + os.path.join(ispec.prefix, lib64_spd) + ] try: - sys.path.append(module_path) + sys.path.extend(module_paths) __import__(module) return except ImportError: tty.warn("Spec %s did not provide module %s" % (ispec, module)) - sys.path = sys.path[:-1] + sys.path = sys.path[:-2] def _raise_error(module_name, module_spec): error_msg = 'cannot import module "{0}"'.format(module_name) @@ -117,13 +121,18 @@ def _raise_error(module_name, module_spec): spec.concretize() spec.package.do_install() - module_path = spec['python'].package.get_python_lib(prefix=spec.prefix) + lib_spd = spec['python'].package.default_site_packages_dir + lib64_spd = lib_spd.replace('lib/', 'lib64/') + module_paths = [ + os.path.join(spec.prefix, lib_spd), + os.path.join(spec.prefix, lib64_spd) + ] try: - sys.path.append(module_path) + sys.path.extend(module_paths) __import__(module) return except ImportError: - sys.path = sys.path[:-1] + sys.path = sys.path[:-2] _raise_error(module, spec) diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index 61f42aaad39..760dc422c2c 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -920,8 +920,12 @@ def site_packages_dir(self): try: return self.get_python_lib(prefix='') except (ProcessError, RuntimeError): - return os.path.join( - 'lib', 'python{0}'.format(self.version.up_to(2)), 'site-packages') + return self.default_site_packages_dir + + @property + def default_site_packages_dir(self): + python_dir = 'python{0}'.format(self.version.up_to(2)) + return os.path.join('lib', python_dir, 'site-packages') @property def easy_install_file(self): From d734bfda1878bf99ed0dfe9895099cf188f21dc6 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 17:07:51 +0200 Subject: [PATCH 077/414] py-urllib3: add v1.26.6 (#25207) --- .../repos/builtin/packages/py-urllib3/package.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-urllib3/package.py b/var/spack/repos/builtin/packages/py-urllib3/package.py index 233e1a65ee4..b60f8279094 100644 --- a/var/spack/repos/builtin/packages/py-urllib3/package.py +++ b/var/spack/repos/builtin/packages/py-urllib3/package.py @@ -13,21 +13,28 @@ class PyUrllib3(PythonPackage): homepage = "https://urllib3.readthedocs.io/" pypi = "urllib3/urllib3-1.25.6.tar.gz" + version('1.26.6', sha256='f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f') version('1.25.6', sha256='9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86') version('1.25.3', sha256='dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232') version('1.21.1', sha256='b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5') version('1.20', sha256='97ef2b6e2878d84c0126b9f4e608e37a951ca7848e4855a7f7f4437d5c34a72f') version('1.14', sha256='dd4fb13a4ce50b18338c7e4d665b21fd38632c5d4b1d9f1a1379276bd3c08d37') - depends_on('python@2.7:2.8,3.4:', type=('build', 'run')) + variant('socks', default=False, description='SOCKS and HTTP proxy support') + variant('secure', default=False, description='Add SSL/TLS support') + variant('brotli', default=False, description='Add Brotli support') + + depends_on('python@2.7:2.8,3.4:', when='@:1.25', type=('build', 'run')) + depends_on('python@2.7:2.8,3.5:', when='@1.26.6', type=('build', 'run')) + depends_on('py-setuptools', type='build') - variant('secure', default=False, description='Add SSL/TLS support') depends_on('py-pyopenssl@0.14:', when='+secure') depends_on('py-cryptography@1.3.4:', when='+secure') depends_on('py-idna@2:', when='+secure') depends_on('py-certifi', when='+secure') depends_on('py-ipaddress', when='+secure ^python@2.7:2.8') - variant('socks', default=False, description='SOCKS and HTTP proxy support') depends_on('py-pysocks@1.5.6,1.5.8:1.999', when='+socks') + + depends_on('py-brotlipy@0.6:', when='+brotli') From 1f191ef37cf441043dc44e7d5e21d5deccb67497 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 17:29:04 +0200 Subject: [PATCH 078/414] Add py-netaddr (#25214) --- .../builtin/packages/py-netaddr/package.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-netaddr/package.py diff --git a/var/spack/repos/builtin/packages/py-netaddr/package.py b/var/spack/repos/builtin/packages/py-netaddr/package.py new file mode 100644 index 00000000000..1231a1e0893 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-netaddr/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyNetaddr(PythonPackage): + """A system-independent network address manipulation library for Python""" + + homepage = "https://netaddr.readthedocs.io/en/latest/" + pypi = "netaddr/netaddr-0.8.0.tar.gz" + + maintainers = ['haampie'] + + version('0.8.0', sha256='d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243') + + depends_on('python@2.7:2.8,3.5:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + + depends_on('py-importlib-resources', when='^python@:3.6', type=('build', 'run')) From d92eff7e89e09167b126f99243986eae5792f705 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 17:40:02 +0200 Subject: [PATCH 079/414] Add py-debtcollector (#25212) * Add py-debtcollector * Fix missing dependencies --- .../packages/py-debtcollector/package.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-debtcollector/package.py diff --git a/var/spack/repos/builtin/packages/py-debtcollector/package.py b/var/spack/repos/builtin/packages/py-debtcollector/package.py new file mode 100644 index 00000000000..89598c845fc --- /dev/null +++ b/var/spack/repos/builtin/packages/py-debtcollector/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyDebtcollector(PythonPackage): + """ + A collection of Python deprecation patterns and strategies that help you + collect your technical debt in a non-destructive manner. + """ + + homepage = "https://docs.openstack.org/debtcollector/latest" + pypi = "debtcollector/debtcollector-2.2.0.tar.gz" + + maintainers = ['haampie'] + + version('2.2.0', sha256='787981f4d235841bf6eb0467e23057fb1ac7ee24047c32028a8498b9128b6829') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pbr@2.0.0:2.0.999,2.1.1:', type='build') + + depends_on('py-six@1.10.0:', type=('build', 'run')) + depends_on('py-wrapt@1.7.0:', type=('build', 'run')) From 4e9bccf2ef3f5433cb1bfb12d45bcfe64f1a7eb0 Mon Sep 17 00:00:00 2001 From: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com> Date: Tue, 3 Aug 2021 09:30:14 -0700 Subject: [PATCH 080/414] e4s ci stack: update package preferences (#25163) --- .../cloud_pipelines/stacks/e4s/spack.yaml | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml index e9d8365b459..4a28f31e431 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml @@ -45,13 +45,16 @@ spack: - 1.21.0 cmake: version: - - 3.20.3 + - 3.20.5 curl: version: - 7.76.1 diffutils: version: - 3.7 + doxygen: + version: + - 1.8.20 elfutils: version: - 0.185 @@ -71,6 +74,9 @@ spack: git: version: - 2.31.1 + glib: + version: + - 2.68.2 hdf5: variants: +fortran +hl +shared version: @@ -133,8 +139,11 @@ spack: - 2.0.14 openblas: version: - - 0.3.15 + - 0.3.17 variants: threads=openmp + openssl: + version: + - 1.1.1k perl: version: - 5.34.0 @@ -156,6 +165,10 @@ spack: texinfo: version: - 6.5 + trilinos: + version: + - 13.0.1 + variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long xz: version: - 5.2.5 @@ -225,7 +238,7 @@ spack: - faodel - flecsi@1.4.2 +external_cinch - flit - - fortrilinos ^trilinos +nox +superlu-dist +stratimikos + - fortrilinos - gasnet - ginkgo - globalarrays @@ -284,7 +297,7 @@ spack: - sz - tasmanian - tau - - trilinos@13.0.1 +amesos +amesos2 +anasazi +aztec +belos +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +boost +superlu-dist gotype=long + - trilinos@13.0.1 +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long - turbine - umap - unifyfs@0.9.1 From bdc3bde74b7964e8abdfb6a913f49014805aede0 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 18:57:56 +0200 Subject: [PATCH 081/414] Bump py-botocore and add python constraints (#25210) * Bump py-botocore and add python constraints * Update var/spack/repos/builtin/packages/py-botocore/package.py Co-authored-by: Adam J. Stewart Co-authored-by: Adam J. Stewart --- var/spack/repos/builtin/packages/py-botocore/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-botocore/package.py b/var/spack/repos/builtin/packages/py-botocore/package.py index 8fbba5ebf51..1d8fa81362f 100644 --- a/var/spack/repos/builtin/packages/py-botocore/package.py +++ b/var/spack/repos/builtin/packages/py-botocore/package.py @@ -12,12 +12,18 @@ class PyBotocore(PythonPackage): homepage = "https://github.com/boto/botocore" pypi = "botocore/botocore-1.13.44.tar.gz" + version('1.21.12', sha256='8710d03b9de3e3d94ed410f3e83809ca02050b091100d68c22ff7bf986f29fb6') version('1.20.27', sha256='4477803f07649f4d80b17d054820e7a09bb2cb0792d0decc2812108bc3759c4a') version('1.19.52', sha256='dc5ec23deadbe9327d3c81d03fddf80805c549059baabd80dea605941fe6a221') version('1.13.44', sha256='a4409008c32a3305b9c469c5cc92edb5b79d6fcbf6f56fe126886b545f0a4f3f') version('1.13.38', sha256='15766a367f39dba9de3c6296aaa7da31030f08a0117fd12685e7df682d8acee2') version('1.12.169', sha256='25b44c3253b5ed1c9093efb57ffca440c5099a2d62fa793e8b6c52e72f54b01e') + depends_on('python@2.6:', when='@1.12:1.13', type=('build', 'run')) + depends_on('python@2.7:', when='@1.19', type=('build', 'run')) + depends_on('python@2.7:2.8,3.6:', when='@1.20', type=('build', 'run')) + depends_on('python@3.6:', when='@1.21:', type=('build', 'run')) + depends_on('py-setuptools', type='build') depends_on('py-jmespath@0.7.1:0.999', type=('build', 'run')) depends_on('py-docutils@0.10:0.15', type=('build', 'run'), when='@:1.17.999') From b172b43fa964d682946d39b597079bd459d53fc9 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 19:12:51 +0200 Subject: [PATCH 082/414] Add py-oslo-i18n (#25217) * Add py-oslo-i18n * Update var/spack/repos/builtin/packages/py-oslo-i18n/package.py Co-authored-by: Adam J. Stewart Co-authored-by: Adam J. Stewart --- .../builtin/packages/py-oslo-i18n/package.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-oslo-i18n/package.py diff --git a/var/spack/repos/builtin/packages/py-oslo-i18n/package.py b/var/spack/repos/builtin/packages/py-oslo-i18n/package.py new file mode 100644 index 00000000000..1b0196095cb --- /dev/null +++ b/var/spack/repos/builtin/packages/py-oslo-i18n/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyOsloI18n(PythonPackage): + """ + The oslo.i18n library contain utilities for working with + internationalization (i18n) features, especially translation for text + strings in an application or library. + """ + + homepage = "https://docs.openstack.org/oslo.i18n" + pypi = "oslo.i18n/oslo.i18n-5.0.1.tar.gz" + + maintainers = ['haampie'] + + version('5.0.1', sha256='3484b71e30f75c437523302d1151c291caf4098928269ceec65ce535456e035b') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pbr@2.0.0:2.0.999,2.1.1:', type=('build', 'run')) + + depends_on('py-six@1.10.0:', type=('build', 'run')) From ccdf418e52b12d9cf03088e885454098420d4c62 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 19:57:46 +0200 Subject: [PATCH 083/414] Add py-os-service-types (#25215) * Add py-os-service-types * Update var/spack/repos/builtin/packages/py-os-service-types/package.py Co-authored-by: Adam J. Stewart Co-authored-by: Adam J. Stewart --- .../packages/py-os-service-types/package.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-os-service-types/package.py diff --git a/var/spack/repos/builtin/packages/py-os-service-types/package.py b/var/spack/repos/builtin/packages/py-os-service-types/package.py new file mode 100644 index 00000000000..7f405ce3839 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-os-service-types/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyOsServiceTypes(PythonPackage): + """Python library for consuming OpenStack sevice-types-authority data""" + + homepage = "https://docs.openstack.org/os-service-types/" + pypi = "os-service-types/os-service-types-1.7.0.tar.gz" + + maintainers = ['haampie'] + + version('1.7.0', sha256='31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c') + + depends_on('python@2.7:2.8,3.5:', type=('build', 'run')) + depends_on('py-pbr@2.0.0:2.0.999,2.1.1:', type='build') + depends_on('py-setuptools', type='build') From 468823d1b98a82578e8a454512ffcfa9eb152a61 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 20:00:29 +0200 Subject: [PATCH 084/414] Fix typo (#25223) --- lib/spack/spack/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py index 7ea89b7c984..8df9e514c3c 100644 --- a/lib/spack/spack/config.py +++ b/lib/spack/spack/config.py @@ -536,7 +536,7 @@ def update_config(self, section, update_data, scope=None, force=False): msg = ('The "{0}" section of the configuration needs to be written' ' to disk, but is currently using a deprecated format. ' 'Please update it using:\n\n' - '\tspack config [--scope=] update {0}\n\n' 'Note that previous versions of Spack will not be able to ' 'use the updated configuration.') msg = msg.format(section) From 196a0a91a524b1fff4b5b6ca855b246615978d6f Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 20:04:11 +0200 Subject: [PATCH 085/414] Bump py-boto3, add python constraints, bump deps (#25211) * Bump py-boto3, add python constraints, bump deps * Update var/spack/repos/builtin/packages/py-boto3/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-boto3/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-boto3/package.py Co-authored-by: Adam J. Stewart Co-authored-by: Adam J. Stewart --- var/spack/repos/builtin/packages/py-boto3/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-boto3/package.py b/var/spack/repos/builtin/packages/py-boto3/package.py index d529d6e8622..29b679bb594 100644 --- a/var/spack/repos/builtin/packages/py-boto3/package.py +++ b/var/spack/repos/builtin/packages/py-boto3/package.py @@ -12,12 +12,17 @@ class PyBoto3(PythonPackage): homepage = "https://github.com/boto/boto3" pypi = "boto3/boto3-1.10.44.tar.gz" + version('1.18.12', sha256='596fb9df00a816780db8620d9f62982eb783b3eb63a75947e172101d0785e6aa') version('1.17.27', sha256='fa41987f9f71368013767306d9522b627946a01b4843938a26fb19cc8adb06c0') version('1.10.44', sha256='adc0c0269bd65967fd528d7cd826304f381d40d94f2bf2b09f58167e5ac05d86') version('1.10.38', sha256='6cdb063b2ae5ac7b93ded6b6b17e3da1325b32232d5ff56e6800018d4786bba6') version('1.9.169', sha256='9d8bd0ca309b01265793b7e8d7b88c1df439737d77c8725988f0277bbf58d169') + depends_on('python@3.6:', when='@1.18:', type=('build', 'run')) + depends_on('python@2.7:2.8,3.6:', when='@1.17.27', type=('build', 'run')) + depends_on('python@2.6:', when='@1.9:1.10', type=('build', 'run')) depends_on('py-setuptools', type='build') + depends_on('py-botocore@1.21.12:1.21.999', when='@1.18.12:', type=('build', 'run')) depends_on('py-botocore@1.20.27:1.20.999', when='@1.17.27', type=('build', 'run')) depends_on('py-botocore@1.13.44:1.13.999', when='@1.10.44', type=('build', 'run')) depends_on('py-botocore@1.13.38:1.13.999', when='@1.10.38', type=('build', 'run')) @@ -25,5 +30,6 @@ class PyBoto3(PythonPackage): depends_on('py-jmespath@0.7.1:0.999', type=('build', 'run')) + depends_on('py-s3transfer@0.5.0:0.5.999', when='@1.18.12:', type=('build', 'run')) depends_on('py-s3transfer@0.3.0:0.3.999', when='@1.17.27', type=('build', 'run')) depends_on('py-s3transfer@0.2.0:0.2.999', when='@:1.10', type=('build', 'run')) From 269b6ced99ac36154aa776108c9a07b28fd5d645 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 3 Aug 2021 20:12:26 +0200 Subject: [PATCH 086/414] py-python-dateutil: add v2.8.2 (#25209) --- var/spack/repos/builtin/packages/py-python-dateutil/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-python-dateutil/package.py b/var/spack/repos/builtin/packages/py-python-dateutil/package.py index 263a5549590..50e207dd8ad 100644 --- a/var/spack/repos/builtin/packages/py-python-dateutil/package.py +++ b/var/spack/repos/builtin/packages/py-python-dateutil/package.py @@ -12,6 +12,7 @@ class PyPythonDateutil(PythonPackage): homepage = "https://dateutil.readthedocs.io/" pypi = "python-dateutil/python-dateutil-2.8.0.tar.gz" + version('2.8.2', sha256='0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86') version('2.8.1', sha256='73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c') version('2.8.0', sha256='c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e') version('2.7.5', sha256='88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02') @@ -20,7 +21,7 @@ class PyPythonDateutil(PythonPackage): version('2.4.0', sha256='439df33ce47ef1478a4f4765f3390eab0ed3ec4ae10be32f2930000c8d19f417') version('2.2', sha256='eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468') - depends_on('python@2.7:2.8,3.4:', type=('build', 'run')) + depends_on('python@2.7:2.8,3.3:', when='@2.7.5:', type=('build', 'run')) depends_on('py-setuptools@24.3:', type='build') depends_on('py-setuptools-scm', type='build', when='@2.7.0:') depends_on('py-six@1.5:', type=('build', 'run')) From 70b32b53fcf415a8f9d5adeaaa7156c8485617e3 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Tue, 3 Aug 2021 21:35:15 +0200 Subject: [PATCH 087/414] py-sympy: Add new versions and python versions they work with (#25226) --- .../repos/builtin/packages/py-sympy/package.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-sympy/package.py b/var/spack/repos/builtin/packages/py-sympy/package.py index 2e799497995..0a66ac6025a 100644 --- a/var/spack/repos/builtin/packages/py-sympy/package.py +++ b/var/spack/repos/builtin/packages/py-sympy/package.py @@ -10,11 +10,23 @@ class PySympy(PythonPackage): """SymPy is a Python library for symbolic mathematics.""" pypi = "sympy/sympy-0.7.6.tar.gz" + version('1.8', sha256='1ca588a9f6ce6a323c5592f9635159c2093572826668a1022c75c75bdf0297cb') + version('1.7.1', sha256='a3de9261e97535b83bb8607b0da2c7d03126650fafea2b2789657b229c246b2e') + version('1.7', sha256='9104004669cda847f38cfd8cd16dd174952c537349dbae740fea5331d2b3a51b') + version('1.6.2', sha256='1cfadcc80506e4b793f5b088558ca1fcbeaec24cd6fc86f1fdccaa3ee1d48708') + version('1.6.1', sha256='7386dba4f7e162e90766b5ea7cab5938c2fe3c620b310518c8ff504b283cb15b') + version('1.6', sha256='9769e3d2952e211b1245f1d0dfdbfbdde1f7779a3953832b7dd2b88a21ca6cc6') + version('1.5.1', sha256='d77901d748287d15281f5ffe5b0fef62dd38f357c2b827c44ff07f35695f4e7e') + version('1.5', sha256='31567dc010bff0967ef7a87210acf3f938c6ab24481581fc143536fb103e9ce8') version('1.4', sha256='71a11e5686ae7ab6cb8feb5bd2651ef4482f8fd43a7c27e645a165e4353b23e1') version('1.3', sha256='e1319b556207a3758a0efebae14e5e52c648fc1db8975953b05fff12b6871b54') version('1.1.1', sha256='ac5b57691bc43919dcc21167660a57cc51797c28a4301a6144eff07b751216a4') version('1.0', sha256='3eacd210d839e4db911d216a9258a3ac6f936992f66db211e22767983297ffae') version('0.7.6', sha256='dfa3927e9befdfa7da7a18783ccbc2fe489ce4c46aa335a879e49e48fc03d7a7') - depends_on('python@2.7:2.8,3.4:', type=('build', 'run')) + depends_on('python@2.7:2.8,3.4:', when='@:1.4', type=('build', 'run')) + depends_on('python@2.7:2.8,3.5:', when='@1.5', type=('build', 'run')) + depends_on('python@3.5:', when='@1.6', type=('build', 'run')) + depends_on('python@3.6:', when='@1.7:', type=('build', 'run')) + depends_on('py-mpmath@0.19:', when='@1.0:', type=('build', 'run')) From b21649e6b8d4fe711327992bfdd0b269c6565dea Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Tue, 3 Aug 2021 16:28:05 -0400 Subject: [PATCH 088/414] [py-efficientnet-pytorch] added version 0.7.1 (#25230) --- .../repos/builtin/packages/py-efficientnet-pytorch/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-efficientnet-pytorch/package.py b/var/spack/repos/builtin/packages/py-efficientnet-pytorch/package.py index 1da4280680a..b2904d76d62 100644 --- a/var/spack/repos/builtin/packages/py-efficientnet-pytorch/package.py +++ b/var/spack/repos/builtin/packages/py-efficientnet-pytorch/package.py @@ -12,6 +12,7 @@ class PyEfficientnetPytorch(PythonPackage): homepage = "https://github.com/lukemelas/efficientnet_pytorch" pypi = "efficientnet_pytorch/efficientnet_pytorch-0.6.3.tar.gz" + version('0.7.1', sha256='00b9b261effce59d2d47aae2ad238c29a2a65175470f41ada7ecac439b7c1ee1') version('0.6.3', sha256='6667459336893e9bf6367de3788ba449fed97f65da3b6782bf2204b6273a319f') depends_on('python@3.5.0:', type=('build', 'run')) From 929eb311c735ec596ab67a4ff3eaa3549a27eb50 Mon Sep 17 00:00:00 2001 From: Tomoyasu Nojiri <68096132+t-nojiri@users.noreply.github.com> Date: Wed, 4 Aug 2021 05:28:26 +0900 Subject: [PATCH 089/414] poplddecay: fix checksum for v3.41 (#20896) --- var/spack/repos/builtin/packages/poplddecay/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/poplddecay/package.py b/var/spack/repos/builtin/packages/poplddecay/package.py index 4a90da46b06..16d39d9e58d 100644 --- a/var/spack/repos/builtin/packages/poplddecay/package.py +++ b/var/spack/repos/builtin/packages/poplddecay/package.py @@ -17,7 +17,7 @@ class Poplddecay(MakefilePackage): maintainers = ['robqiao'] - version('3.41', sha256='09a1ad01581520b84ef73eaa0b199879c84e77b259ba6ff06dbca5fcfc090457') + version('3.41', sha256='b84fe5c9a1e1f6798eebbe4445b0b4bc7d02ac9f03fd01cb9cdcc8ee4db71040') version('3.40', sha256='5070930166fb90f7eaaa4b87c4430caa8a827d79c54683e2f56434a4daf69778') build_directory = 'src' From 56bb98c542f6bfdd6de8e081a6466f5806dfb40e Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 4 Aug 2021 00:10:32 +0200 Subject: [PATCH 090/414] Add py-oslo-utils (#25219) --- .../builtin/packages/py-oslo-utils/package.py | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-oslo-utils/package.py diff --git a/var/spack/repos/builtin/packages/py-oslo-utils/package.py b/var/spack/repos/builtin/packages/py-oslo-utils/package.py new file mode 100644 index 00000000000..adf936142a7 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-oslo-utils/package.py @@ -0,0 +1,34 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyOsloUtils(PythonPackage): + """ + The oslo.utils library provides support for common utility type functions, + such as encoding, exception handling, string manipulation, and time + handling. + """ + + homepage = "https://docs.openstack.org/oslo.utils/" + pypi = "oslo.utils/oslo.utils-4.9.2.tar.gz" + + maintainers = ['haampie'] + + version('4.9.2', sha256='20db285734ff6c3b50d5a6afcb2790ade0c7ba02fbc876feed43733f2c41a5c9') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pbr@2.0.0:2.0.999,2.1.1:', type='build') + + depends_on('py-iso8601@0.1.11:', type=('build', 'run')) + depends_on('py-oslo-i18n@3.15.3:', type=('build', 'run')) + depends_on('py-pytz@2013.6:', type=('build', 'run')) + depends_on('py-netaddr@0.7.18:', type=('build', 'run')) + depends_on('py-netifaces@0.10.4:', type=('build', 'run')) + depends_on('py-debtcollector@1.2.0:', type=('build', 'run')) + depends_on('py-pyparsing@2.1.0:', type=('build', 'run')) + depends_on('py-packaging@20.4:', type=('build', 'run')) From 574ade6f7671a5be61ee7880aecce3f7bc436be1 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 4 Aug 2021 09:28:54 +0200 Subject: [PATCH 091/414] Add py-keystoneauth1 (#25213) Co-authored-by: Adam J. Stewart --- .../packages/py-keystoneauth1/package.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-keystoneauth1/package.py diff --git a/var/spack/repos/builtin/packages/py-keystoneauth1/package.py b/var/spack/repos/builtin/packages/py-keystoneauth1/package.py new file mode 100644 index 00000000000..2f1b4714ab8 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-keystoneauth1/package.py @@ -0,0 +1,31 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyKeystoneauth1(PythonPackage): + """ + This package contains tools for authenticating to an OpenStack-based + cloud + """ + + homepage = "https://docs.openstack.org/keystoneauth/" + pypi = "keystoneauth1/keystoneauth1-4.3.1.tar.gz" + + maintainers = ['haampie'] + + version('4.3.1', sha256='93605430a6d1424f31659bc5685e9dc1be9a6254e88c99f00cffc0a60c648a64') + + depends_on('python@3.6:', type=('build', 'run')) + + depends_on('py-pbr@2.0.0:2.0.999,2.1.1:', type='build') + depends_on('py-setuptools', type='build') + + depends_on('py-iso8601@0.1.11:', type=('build', 'run')) + depends_on('py-requests@2.14.2:', type=('build', 'run')) + depends_on('py-six@1.10.0:', type=('build', 'run')) + depends_on('py-stevedore@1.20.0:', type=('build', 'run')) + depends_on('py-os-service-types@1.2.0:', type=('build', 'run')) From 63ac1b66203c218499442ae2a4bb4d77452dc150 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 4 Aug 2021 09:31:44 +0200 Subject: [PATCH 092/414] Add py-oslo-config (#25216) --- .../packages/py-oslo-config/package.py | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-oslo-config/package.py diff --git a/var/spack/repos/builtin/packages/py-oslo-config/package.py b/var/spack/repos/builtin/packages/py-oslo-config/package.py new file mode 100644 index 00000000000..b637a589854 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-oslo-config/package.py @@ -0,0 +1,33 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyOsloConfig(PythonPackage): + """ + The Oslo configuration API supports parsing command line arguments and .ini + style configuration files. + """ + + homepage = "https://docs.openstack.org/oslo.config/" + pypi = "oslo.config/oslo.config-8.7.1.tar.gz" + + maintainers = ['haampie'] + + version('8.7.1', sha256='a0c346d778cdc8870ab945e438bea251b5f45fae05d6d99dfe4953cca2277b60') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pbr@2.0.0:', type='build') + + depends_on('py-debtcollector@1.2.0:', type=('build', 'run')) + depends_on('py-netaddr@0.7.18:', type=('build', 'run')) + depends_on('py-stevedore@1.20.0:', type=('build', 'run')) + depends_on('py-oslo-i18n@3.15.3:', type=('build', 'run')) + depends_on('py-rfc3986@1.2.0:', type=('build', 'run')) + depends_on('py-pyyaml@5.1:', type=('build', 'run')) + depends_on('py-requests@2.18.0:', type=('build', 'run')) + depends_on('py-importlib-metadata@1.7.0:', when='^python@:3.7', type=('build', 'run')) From 20394a97da91af7ca53b983ea39b645315c4f905 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 4 Aug 2021 09:36:11 +0200 Subject: [PATCH 093/414] Add py-oslo-serialization (#25218) Co-authored-by: Adam J. Stewart --- .../packages/py-oslo-serialization/package.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-oslo-serialization/package.py diff --git a/var/spack/repos/builtin/packages/py-oslo-serialization/package.py b/var/spack/repos/builtin/packages/py-oslo-serialization/package.py new file mode 100644 index 00000000000..438c40ff611 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-oslo-serialization/package.py @@ -0,0 +1,28 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyOsloSerialization(PythonPackage): + """ + The oslo.serialization library provides support for representing objects in + transmittable and storable formats, such as Base64, JSON and MessagePack. + """ + + homepage = "https://docs.openstack.org/oslo.serialization/" + pypi = "oslo.serialization/oslo.serialization-4.1.0.tar.gz" + + maintainers = ['haampie'] + + version('4.1.0', sha256='cecc7794df806c85cb70dbd6c2b3af19bc68047ad29e3c6442be90a0a4de5379') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pbr@2.0.0:2.0.999,2.1.1:', type='build') + + depends_on('py-msgpack@0.5.2:', type=('build', 'run')) + depends_on('py-oslo-utils@3.33.0:', type=('build', 'run')) + depends_on('py-pytz@2013.6:', type=('build', 'run')) From 575e321cc51c5839935b8f0db56f4a8571a1cb92 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 4 Aug 2021 09:55:53 +0200 Subject: [PATCH 094/414] Add py-python-keystoneclient (#25220) Co-authored-by: Adam J. Stewart --- .../py-python-keystoneclient/package.py | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-python-keystoneclient/package.py diff --git a/var/spack/repos/builtin/packages/py-python-keystoneclient/package.py b/var/spack/repos/builtin/packages/py-python-keystoneclient/package.py new file mode 100644 index 00000000000..dc61adb66b9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-python-keystoneclient/package.py @@ -0,0 +1,35 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyPythonKeystoneclient(PythonPackage): + """ + This is a client for the OpenStack Identity API, implemented by the + Keystone team + """ + + homepage = "https://docs.openstack.org/python-keystoneclient" + pypi = "python-keystoneclient/python-keystoneclient-4.2.0.tar.gz" + + maintainers = ['haampie'] + + version('4.2.0', sha256='0248426e483b95de395086482c077d48e45990d3b1a3e334b2ec8b2e108f5a8a') + + depends_on('python@3.6:', type=('build', 'run')) + + depends_on('py-pbr@2.0.0:2.0.999,2.1.1:', type='build') + depends_on('py-setuptools', type='build') + + depends_on('py-debtcollector@1.2.0:', type=('build', 'run')) + depends_on('py-keystoneauth1@3.4.0:', type=('build', 'run')) + depends_on('py-oslo-config@5.2.0:', type=('build', 'run')) + depends_on('py-oslo-i18n@3.15.3:', type=('build', 'run')) + depends_on('py-oslo-serialization@2.18.0:2.19.0,2.19.2:', type=('build', 'run')) + depends_on('py-oslo-utils@3.33.0:', type=('build', 'run')) + depends_on('py-requests@2.14.2:', type=('build', 'run')) + depends_on('py-six@1.10.0:', type=('build', 'run')) + depends_on('py-stevedore@1.20.0:', type=('build', 'run')) From 4b870196c0c7f12358ee3efb1388fb7e1af0d837 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 4 Aug 2021 10:09:01 +0200 Subject: [PATCH 095/414] Bump py-python-swiftclient and add keystone support (#25221) --- .../builtin/packages/py-python-swiftclient/package.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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 54636016953..d8c4c472701 100644 --- a/var/spack/repos/builtin/packages/py-python-swiftclient/package.py +++ b/var/spack/repos/builtin/packages/py-python-swiftclient/package.py @@ -14,15 +14,22 @@ class PyPythonSwiftclient(PythonPackage): maintainers = ['ajkotobi'] + version('3.12.0', sha256='313b444a14d0f9b628cbf3e8c52f2c4271658f9e8a33d4222851c2e4f0f7b7a0') + version('3.11.1', sha256='06919d59676d3e215f4da4f3f930d71880dda3528289842b25199509df712411') version('3.10.0', sha256='66227eaf29a691c70675fb9982022980b92797c273dd5e6dc7e680425e9a3634') version('3.9.0', sha256='4f2097492e4c76e948882fc859bfa033ade09bed72f8e6b328e34a3467d9a377') version('3.8.1', sha256='3a013303643f77a99befa05582dfb93671e1fba1aed9f4a517418129700aedb8') version('3.8.0', sha256='107a9d5356663365a9f7c0b3a2b55da97a0a9ba7f10da2319b3972481510f33d') version('3.7.1', sha256='06bda5a6f81ea132e5cb52d0eb0616a0ab0958b4ec0d1cb7f850f04bf178852f') - depends_on('py-setuptools', type=('build', 'run')) + variant('keystone', default=False, description='Enable keystone authentication') + depends_on('python@2.7:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pbr', type='build') + depends_on('py-futures@3:', type=('build', 'run'), when='^python@:2') depends_on('py-requests@1.1.0:', type=('build', 'run')) depends_on('py-six@1.9:', type=('build', 'run')) - depends_on('py-pbr', type='build') + + depends_on('py-python-keystoneclient@0.7.0:', when='+keystone', type=('build', 'run')) From 978191aff56f068d50f201108aa4439665227243 Mon Sep 17 00:00:00 2001 From: Michele Mesiti Date: Wed, 4 Aug 2021 12:02:30 +0200 Subject: [PATCH 096/414] Added new versions for Sombrero (#25243) --- var/spack/repos/builtin/packages/sombrero/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/sombrero/package.py b/var/spack/repos/builtin/packages/sombrero/package.py index 8e117a1e2cb..4ff571d0a88 100644 --- a/var/spack/repos/builtin/packages/sombrero/package.py +++ b/var/spack/repos/builtin/packages/sombrero/package.py @@ -14,9 +14,12 @@ class Sombrero(MakefilePackage): homepage = "https://github.com/sa2c/sombrero" url = "https://github.com/sa2c/sombrero/archive/refs/tags/1.0.tar.gz" + version('2021-07-31', + sha256='9c59693f330904b1f444187d1974a179c61d801f063581acb94a7a77955151e0') + version('2021-07-14', + sha256='d2801a4efea312a14fc34775b0dea862e958ccb9b7721a63b6c29e1224e12257') version('2021-07-08', sha256='816b0f0a684a421fa620f11c21649ac162e85d1febd6a7e10cfd07604760c0d6') - # Version 1 is incompatible with spack # as CFLAGS and the like are hardcoded in the makefile. version('1.0', From 5f3c25f6e938c1f94761ca3d71be0bf26404e6a1 Mon Sep 17 00:00:00 2001 From: lukebroskop Date: Wed, 4 Aug 2021 07:43:18 -0500 Subject: [PATCH 097/414] libcircle fix for CCE (#25224) --- var/spack/repos/builtin/packages/libcircle/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/libcircle/package.py b/var/spack/repos/builtin/packages/libcircle/package.py index 019e2a68aa4..0e9bc3437c9 100644 --- a/var/spack/repos/builtin/packages/libcircle/package.py +++ b/var/spack/repos/builtin/packages/libcircle/package.py @@ -21,8 +21,9 @@ class Libcircle(AutotoolsPackage): depends_on('mpi') depends_on('pkgconfig', type='build') depends_on('libpciaccess', type='link') - depends_on('autoconf', when='%cce') - depends_on('automake', when='%cce') + depends_on('autoconf', when='%cce', type='build') + depends_on('automake', when='%cce', type='build') + depends_on('libtool', when='%cce', type='build') patch('CrayPE_configure-ac.patch', when='%cce') From b5c82aa986a5446605eb9480b3a838610da90d7e Mon Sep 17 00:00:00 2001 From: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> Date: Wed, 4 Aug 2021 10:22:50 -0700 Subject: [PATCH 098/414] Caliper: Add E4S testsuite stand alone test (#25094) --- .../repos/builtin/packages/caliper/package.py | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py index ec47b873c83..b424c0e693e 100644 --- a/var/spack/repos/builtin/packages/caliper/package.py +++ b/var/spack/repos/builtin/packages/caliper/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os import sys from spack import * @@ -21,6 +22,8 @@ class Caliper(CMakePackage, CudaPackage): maintainers = ["daboehme"] + test_requires_compiler = True + version('master', branch='master') version('2.6.0', sha256='6efcd3e4845cc9a6169e0d934840766b12182c6d09aa3ceca4ae776e23b6360f') version('2.5.0', sha256='d553e60697d61c53de369b9ca464eb30710bda90fba9671201543b64eeac943c') @@ -137,3 +140,35 @@ def cmake_args(self): args.append('-DWITH_CUPTI=Off') return args + + @run_after('install') + def cache_test_sources(self): + """Copy the example source files after the package is installed to an + install test subdirectory for use during `spack test run`.""" + self.cache_extra_test_sources([join_path('examples', 'apps')]) + + def run_cxx_example_test(self): + """Run stand alone test: cxx_example""" + + test_dir = join_path(self.test_suite.current_test_cache_dir, 'examples', 'apps') + + if not os.path.exists(test_dir): + print('Skipping caliper test') + return + + exe = 'cxx-example' + + self.run_test(exe='gcc', + options=['{0}'.format(join_path(test_dir, 'cxx-example.cpp')), + '-L{0}'.format(join_path(self.prefix, 'lib64')), + '-I{0}'.format(join_path(self.prefix, 'include')), + '-std=c++11', '-lcaliper', '-lstdc++', '-o', exe], + purpose='test: compile {0} example'.format(exe), + work_dir=test_dir) + + self.run_test(exe, + purpose='test: run {0} example'.format(exe), + work_dir=test_dir) + + def test(self): + self.run_cxx_example_test() From 988c67fff28c627a828241f311e485cd637d9f7d Mon Sep 17 00:00:00 2001 From: iarspider Date: Wed, 4 Aug 2021 23:31:07 +0200 Subject: [PATCH 099/414] Add checksum for py-astor@0.8.1 (#25256) --- var/spack/repos/builtin/packages/py-astor/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-astor/package.py b/var/spack/repos/builtin/packages/py-astor/package.py index e476301facf..0e56bb39553 100644 --- a/var/spack/repos/builtin/packages/py-astor/package.py +++ b/var/spack/repos/builtin/packages/py-astor/package.py @@ -10,8 +10,9 @@ class PyAstor(PythonPackage): astor is designed to allow easy manipulation of Python source via the AST. """ - pypi = "astor/astor-0.8.0.tar.gz" + pypi = "astor/astor-0.8.1.tar.gz" + version('0.8.1', sha256='6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e') version('0.8.0', sha256='37a6eed8b371f1228db08234ed7f6cfdc7817a3ed3824797e20cbb11dc2a7862') version('0.6', sha256='175ec395cde36aa0178c5a3120d03954c65d1ef4bb19ec4aa30e9d7a7cc426c4') From e2fe415ae658f00a446e8ba612d3ec7cce9eeaa4 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 4 Aug 2021 16:37:40 -0500 Subject: [PATCH 100/414] Spack version: 0.16.1 -> 0.16.2 (#25255) 17473a08ff merged `v0.16.1` back into `develop` but somehow lost the version bump. Fix it here. --- lib/spack/spack/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/spack/__init__.py b/lib/spack/spack/__init__.py index 1b14a7d5ff6..8b5c7a94c6b 100644 --- a/lib/spack/spack/__init__.py +++ b/lib/spack/spack/__init__.py @@ -4,7 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) #: major, minor, patch version for Spack, in a tuple -spack_version_info = (0, 16, 1) +spack_version_info = (0, 16, 2) #: String containing Spack version joined with .'s spack_version = '.'.join(str(v) for v in spack_version_info) From 63f950768f89442392a5ca2bf4a8bb7163ff051c Mon Sep 17 00:00:00 2001 From: iarspider Date: Wed, 4 Aug 2021 23:47:23 +0200 Subject: [PATCH 101/414] Add checksums for new protobuf versions (#25259) --- .../repos/builtin/packages/py-protobuf/package.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py index 4ad2b3a331b..e4d32cd6cff 100644 --- a/var/spack/repos/builtin/packages/py-protobuf/package.py +++ b/var/spack/repos/builtin/packages/py-protobuf/package.py @@ -20,6 +20,16 @@ class PyProtobuf(PythonPackage): variant('cpp', default=False, description='Enable the cpp implementation') + version('3.17.3', sha256='3253c6d17ec0bb6f6382e555cf5ca0a9ffab8d81b691f100f96ce9f5e753018e') + version('3.17.2', sha256='1edd5de2cf5bc3807ba14abdf475c3e7597007f116a68702be5d59bb3eb77b0c') + version('3.17.1', sha256='644b759b76824b13397f1ad6708e720edf4aea2a2b1570ea06824df620d978c7') + version('3.17.0', sha256='3011bfbc18d1c695ee393cb0dc1042282cfa33ef6573fe82732aefc9f7286121') + version('3.16.0', sha256='7f1b19ff546e1f7417361c70028e6da7a4978eaac254e8cc67a570f6459ff9dd') + version('3.15.8', sha256='26496db804123bc8b058054e8b1fabc592e7648729e4f92ff60d120c7803eaeb') + version('3.15.7', sha256='2d03fc2591543cd2456d0b72230b50c4519546a8d379ac6fd3ecd84c6df61e5d') + version('3.15.6', sha256='2b974519a2ae83aa1e31cff9018c70bbe0e303a46a598f982943c49ae1d4fcd3') + version('3.15.5', sha256='be8a929c6178bb6cbe9e2c858be62fa08966a39ae758a8493a88f0ed1efb6097') + version('3.15.1', sha256='824dbae3390fcc3ea1bf96748e6da951a601802894cf7e1465e72b4732538cab') version('3.12.2', sha256='49ef8ab4c27812a89a76fa894fe7a08f42f2147078392c0dee51d4a444ef6df5') version('3.11.2', sha256='3d7a7d8d20b4e7a8f63f62de2d192cfd8b7a53c56caba7ece95367ca2b80c574') version('3.11.1', sha256='aecdf12ef6dc7fd91713a6da93a86c2f2a8fe54840a3b1670853a2b7402e77c9') From 4ac246760e9c7b9b06018b2e587ddcba44d5ebc6 Mon Sep 17 00:00:00 2001 From: iarspider Date: Wed, 4 Aug 2021 23:55:48 +0200 Subject: [PATCH 102/414] Add checksum for py-gast 0.5.1 and 0.5.2 (#25258) --- var/spack/repos/builtin/packages/py-gast/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-gast/package.py b/var/spack/repos/builtin/packages/py-gast/package.py index 12260e33c62..83706e5056d 100644 --- a/var/spack/repos/builtin/packages/py-gast/package.py +++ b/var/spack/repos/builtin/packages/py-gast/package.py @@ -12,6 +12,8 @@ class PyGast(PythonPackage): homepage = "https://github.com/serge-sans-paille/gast" pypi = "gast/gast-0.3.2.tar.gz" + version('0.5.2', sha256='f81fcefa8b982624a31c9e4ec7761325a88a0eba60d36d1da90e47f8fe3c67f7') + version('0.5.1', sha256='b00e63584db482ffe6107b5832042bbe5c5bf856e3c7279b6e93201b3dcfcb46') version('0.5.0', sha256='8109cbe7aa0f7bf7e4348379da05b8137ea1f059f073332c3c1cedd57db8541f') version('0.4.0', sha256='40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1') version('0.3.3', sha256='b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57') From b11f8aa4ea5582eb3d9eb200061ed267a986b157 Mon Sep 17 00:00:00 2001 From: iarspider Date: Wed, 4 Aug 2021 23:56:52 +0200 Subject: [PATCH 103/414] Update py-typing-extensions (#25262) --- .../repos/builtin/packages/py-typing-extensions/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-typing-extensions/package.py b/var/spack/repos/builtin/packages/py-typing-extensions/package.py index 4afb44e7561..39b34f88366 100644 --- a/var/spack/repos/builtin/packages/py-typing-extensions/package.py +++ b/var/spack/repos/builtin/packages/py-typing-extensions/package.py @@ -15,6 +15,8 @@ class PyTypingExtensions(PythonPackage): homepage = "https://github.com/python/typing/tree/master/typing_extensions" pypi = "typing_extensions/typing_extensions-3.7.4.tar.gz" + version('3.10.0.0', sha256='50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342') + version('3.7.4.3', sha256='99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c') version('3.7.4', sha256='2ed632b30bb54fc3941c382decfd0ee4148f5c591651c9272473fea2c6397d95') version('3.7.2', sha256='fb2cd053238d33a8ec939190f30cfd736c00653a85a2919415cecf7dc3d9da71') version('3.6.6', sha256='51e7b7f3dcabf9ad22eed61490f3b8d23d9922af400fe6656cb08e66656b701f') From 159ac3e3fb2d41735eade22c771b2904e0d28a76 Mon Sep 17 00:00:00 2001 From: iarspider Date: Thu, 5 Aug 2021 10:01:22 +0200 Subject: [PATCH 104/414] Add checksum for py-wheel 0.33.6 (#25257) --- var/spack/repos/builtin/packages/py-wheel/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-wheel/package.py b/var/spack/repos/builtin/packages/py-wheel/package.py index 43822ece1d4..a5737d5b92c 100644 --- a/var/spack/repos/builtin/packages/py-wheel/package.py +++ b/var/spack/repos/builtin/packages/py-wheel/package.py @@ -15,6 +15,7 @@ class PyWheel(PythonPackage): version('0.36.2', sha256='e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e') version('0.35.1', sha256='99a22d87add3f634ff917310a3d87e499f19e663413a52eb9232c447aa646c9f') version('0.34.2', sha256='8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96') + version('0.33.6', sha256='10c9da68765315ed98850f8e048347c3eb06dd81822dc2ab1d4fde9dc9702646') version('0.33.4', sha256='62fcfa03d45b5b722539ccbc07b190e4bfff4bb9e3a4d470dd9f6a0981002565') version('0.33.1', sha256='66a8fd76f28977bb664b098372daef2b27f60dc4d1688cfab7b37a09448f0e9d') version('0.32.3', sha256='029703bf514e16c8271c3821806a1c171220cc5bdd325cbf4e7da1e056a01db6') From 15653868c88700f2b05c9a82e4dc0df2c64bf211 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 5 Aug 2021 15:30:17 +0200 Subject: [PATCH 105/414] patchelf: add v0.13 (#25271) --- var/spack/repos/builtin/packages/patchelf/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/patchelf/package.py b/var/spack/repos/builtin/packages/patchelf/package.py index 46c8bd1a4d6..6a28465031b 100644 --- a/var/spack/repos/builtin/packages/patchelf/package.py +++ b/var/spack/repos/builtin/packages/patchelf/package.py @@ -16,6 +16,7 @@ class Patchelf(AutotoolsPackage): list_url = "https://nixos.org/releases/patchelf/" list_depth = 1 + version('0.13', sha256='4c7ed4bcfc1a114d6286e4a0d3c1a90db147a4c3adda1814ee0eee0f9ee917ed') version('0.12', sha256='699a31cf52211cf5ad6e35a8801eb637bc7f3c43117140426400d67b7babd792') version('0.11', sha256='e52378cc2f9379c6e84a04ac100a3589145533a7b0cd26ef23c79dfd8a9038f9') version('0.10', sha256='b2deabce05c34ce98558c0efb965f209de592197b2c88e930298d740ead09019') From 8f238c03ad63d72fdf2f6fe419dffe04c27a5f4d Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 5 Aug 2021 15:36:41 +0200 Subject: [PATCH 106/414] Add py-fastcov (#25268) * Add py-fastcov * Update var/spack/repos/builtin/packages/py-fastcov/package.py --- .../builtin/packages/py-fastcov/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-fastcov/package.py diff --git a/var/spack/repos/builtin/packages/py-fastcov/package.py b/var/spack/repos/builtin/packages/py-fastcov/package.py new file mode 100644 index 00000000000..1c3b57aeaf4 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fastcov/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyFastcov(PythonPackage): + """ + A parallelized gcov wrapper for generating intermediate coverage formats + fast + """ + + homepage = "https://github.com/RPGillespie6/fastcov" + pypi = "fastcov/fastcov-1.13.tar.gz" + + maintainers = ['haampie'] + + version('1.13', sha256='ec8a5271f90a2f8b894cb999e262c33e225ed6072d9a6ca38f636f88cc0543e8') + + # Depends on gcov too, but that's installed with the compiler + depends_on('python@3.5:', type=('build', 'run')) + depends_on('py-setuptools@38.3:', type='build') From 4af6d6bb1b11d9b167307d842d1652f4d462eee8 Mon Sep 17 00:00:00 2001 From: gpotter2 Date: Thu, 5 Aug 2021 17:55:03 +0200 Subject: [PATCH 107/414] Add libvpx to ffmpeg (#25155) --- .../repos/builtin/packages/ffmpeg/package.py | 5 ++- .../repos/builtin/packages/libvpx/package.py | 31 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 var/spack/repos/builtin/packages/libvpx/package.py diff --git a/var/spack/repos/builtin/packages/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py index 9589712cab0..0e7e66f562f 100644 --- a/var/spack/repos/builtin/packages/ffmpeg/package.py +++ b/var/spack/repos/builtin/packages/ffmpeg/package.py @@ -15,7 +15,7 @@ class Ffmpeg(AutotoolsPackage): maintainers = ['xjrc'] - version('4.3.2', sha256='ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a') + version('4.3.2', sha256='ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a') version('4.2.2', sha256='b620d187c26f76ca19e74210a0336c3b8380b97730df5cdf45f3e69e89000e5c') version('4.1.1', sha256='0cb40e3b8acaccd0ecb38aa863f66f0c6e02406246556c2992f67bf650fab058') version('4.1', sha256='b684fb43244a5c4caae652af9022ed5d85ce15210835bce054a33fb26033a1a5') @@ -52,6 +52,7 @@ class Ffmpeg(AutotoolsPackage): variant('libspeex', default=False, description='Speex de/encoding') variant('libssh', default=False, description='SFTP protocol') variant('libvorbis', default=False, description='Vorbis en/decoding') + variant('libvpx', default=False, description='VP9 en/decoding') variant('libwebp', default=False, description='WebP encoding via libwebp') # TODO: There is an issue with the spack headers property in the libxml2 # package recipe. Comment out the libxml2 variant until that is resolved. @@ -77,6 +78,7 @@ class Ffmpeg(AutotoolsPackage): depends_on('lame', when='+libmp3lame') depends_on('libssh', when='+libssh') depends_on('libvorbis', when='+libvorbis') + depends_on('libvpx', when='+libvpx') depends_on('libwebp', when='+libwebp') # TODO: enable libxml2 when libxml2 header issue is resolved # depends_on('libxml2', when='+libxml2') @@ -164,6 +166,7 @@ def configure_args(self): 'libopus', 'libspeex', 'libvorbis', + 'libvpx', 'avresample', 'openssl', 'shared', diff --git a/var/spack/repos/builtin/packages/libvpx/package.py b/var/spack/repos/builtin/packages/libvpx/package.py new file mode 100644 index 00000000000..f6a4c11bfad --- /dev/null +++ b/var/spack/repos/builtin/packages/libvpx/package.py @@ -0,0 +1,31 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Libvpx(AutotoolsPackage): + """libvpx is a free software video codec library from Google and the + Alliance for Open Media. + It serves as the reference software implementation for the VP8 and VP9 + video coding formats, and for AV1 a special fork named libaom that was + stripped of backwards compatibility. + """ + + homepage = "https://chromium.googlesource.com/webm/libvpx" + url = "https://github.com/webmproject/libvpx/archive/refs/tags/v1.10.0.tar.gz" + + version('1.10.0', sha256='85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a') + + variant('pic', default=True, + description='Produce position-independent code (for shared libs)') + + depends_on('yasm') + + def configure_args(self): + extra_args = [] + if "+pic" in self.spec: + extra_args.append('--enable-pic') + return extra_args From c178000d18a0a62a7cd85378a599990f2298c25a Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Thu, 5 Aug 2021 12:49:23 -0400 Subject: [PATCH 108/414] [sentencepiece] added version 0.1.91 (#25274) --- var/spack/repos/builtin/packages/sentencepiece/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/sentencepiece/package.py b/var/spack/repos/builtin/packages/sentencepiece/package.py index d96c99ad9e4..0cf364e6618 100644 --- a/var/spack/repos/builtin/packages/sentencepiece/package.py +++ b/var/spack/repos/builtin/packages/sentencepiece/package.py @@ -14,6 +14,7 @@ class Sentencepiece(CMakePackage): maintainers = ['adamjstewart'] + version('0.1.91', sha256='acbc7ea12713cd2a8d64892f8d2033c7fd2bb4faecab39452496120ace9a4b1b') version('0.1.85', sha256='dd4956287a1b6af3cbdbbd499b7227a859a4e3f41c9882de5e6bdd929e219ae6') depends_on('cmake@3.1:', type='build') From 0053117ac8cefc9db3556bd1b25e7626c64f1e9b Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Thu, 5 Aug 2021 18:05:21 -0400 Subject: [PATCH 109/414] New package: r-gparotation (#25277) --- .../builtin/packages/r-gparotation/package.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-gparotation/package.py diff --git a/var/spack/repos/builtin/packages/r-gparotation/package.py b/var/spack/repos/builtin/packages/r-gparotation/package.py new file mode 100644 index 00000000000..d4364e0b8c2 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-gparotation/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RGparotation(RPackage): + """Gradient Projection Algorithm Rotation for Factor Analysis. See + ?GPArotation.Intro for more details.""" + + homepage = "https://cloud.r-project.org/package=GPArotation" + url = "https://cloud.r-project.org/src/contrib/GPArotation_2014.11-1.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/GPArotation" + + version('2014.11-1', sha256='351bc15fc8dc6c8ea5045fbba22180d1e68314fc34d267545687748e312e5096') + + depends_on('r@2.0.0:', type=('build', 'run')) From 2aea624dca5e05028529f7ff5d480d100764c226 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Thu, 5 Aug 2021 18:12:15 -0400 Subject: [PATCH 110/414] New package: r-elemstatlearn (#25276) --- .../packages/r-elemstatlearn/package.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-elemstatlearn/package.py diff --git a/var/spack/repos/builtin/packages/r-elemstatlearn/package.py b/var/spack/repos/builtin/packages/r-elemstatlearn/package.py new file mode 100644 index 00000000000..b42a4b67ca7 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-elemstatlearn/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RElemstatlearn(RPackage): + """ElemStatLearn: Data Sets, Functions and Examples from the Book: "The + Elements of Statistical Learning, Data Mining, Inference, and Prediction" by + Trevor Hastie, Robert Tibshirani and Jerome Friedman""" + + homepage = "https://cloud.r-project.org/package=ElemStatLearn" + url = "https://cloud.r-project.org/src/contrib/Archive/ElemStatLearn/ElemStatLearn_2015.6.26.2.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/ElemStatLearn" + + version('2015.6.26.2', sha256='a0f94a72f6188a0a5c855e3362b6b849bf7fd14efc2d824a8d2581f8bb1bd7fa') + + depends_on('r@2.10.0:', type=('build', 'run')) From 0a6e98cdb5c902543ff7c285216a7aece2eef0c0 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Thu, 5 Aug 2021 23:29:49 -0700 Subject: [PATCH 111/414] refactor: rename `colorful` kwarg to `color` (#25292) `compare_specs()` had a `colorful` keyword argument, but everything else in spack uses `color` for this. - [x] rename the argument - [x] make the default follow spack's `--color=always/never/auto` setting --- lib/spack/spack/cmd/diff.py | 48 ++++++++++++++----------------------- 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/lib/spack/spack/cmd/diff.py b/lib/spack/spack/cmd/diff.py index 79ba13b5685..6029363af86 100644 --- a/lib/spack/spack/cmd/diff.py +++ b/lib/spack/spack/cmd/diff.py @@ -7,7 +7,7 @@ import sys import llnl.util.tty as tty -import llnl.util.tty.color as color +from llnl.util.tty.color import cprint, get_color_when import spack.cmd import spack.cmd.common.arguments as arguments @@ -46,22 +46,7 @@ def setup_parser(subparser): ) -def boldblue(string): - """ - Make a header string bold and blue we can easily see it - """ - return color.colorize("@*b{%s}" % string) - - -def green(string): - return color.colorize("@G{%s}" % string) - - -def red(string): - return color.colorize("@R{%s}" % string) - - -def compare_specs(a, b, to_string=False, colorful=True): +def compare_specs(a, b, to_string=False, color=None): """ Generate a comparison, including diffs (for each side) and an intersection. @@ -75,8 +60,11 @@ def compare_specs(a, b, to_string=False, colorful=True): a_name (str): the name of spec a b_name (str): the name of spec b to_string (bool): return an object that can be json dumped - colorful (bool): do not format the names for the console + color (bool): whether to format the names for the console """ + if color is None: + color = get_color_when() + # Prepare a solver setup to parse differences setup = asp.SpackSolverSetup() @@ -90,16 +78,16 @@ def compare_specs(a, b, to_string=False, colorful=True): # Format the spec names to be colored fmt = "{name}{@version}{/hash}" - a_name = a.format(fmt, color=color.get_color_when()) - b_name = b.format(fmt, color=color.get_color_when()) + a_name = a.format(fmt, color=color) + b_name = b.format(fmt, color=color) # We want to show what is the same, and then difference for each return { "intersect": flatten(intersect) if to_string else intersect, "a_not_b": flatten(spec1_not_spec2) if to_string else spec1_not_spec2, "b_not_a": flatten(spec2_not_spec1) if to_string else spec2_not_spec1, - "a_name": a_name if colorful else a.format("{name}{@version}{/hash}"), - "b_name": b_name if colorful else b.format("{name}{@version}{/hash}") + "a_name": a_name, + "b_name": b_name, } @@ -129,8 +117,8 @@ def print_difference(c, attributes="all", out=None): A = c['b_not_a'] B = c['a_not_b'] - out.write(red("--- %s\n" % c["a_name"])) - out.write(green("+++ %s\n" % c["b_name"])) + cprint("@R{--- %s}" % c["a_name"]) # bright red + cprint("@G{+++ %s}" % c["b_name"]) # bright green # Cut out early if we don't have any differences! if not A and not B: @@ -173,17 +161,17 @@ def group_by_type(diffset): category = key # print category in bold, colorized - out.write(boldblue("@@ %s @@\n" % category)) + cprint("@*b{@@ %s @@}" % category) # bold blue # Print subtractions first while subtraction: - out.write(red("- %s\n" % subtraction.pop(0))) + cprint("@R{- %s}" % subtraction.pop(0)) # bright red if addition: - out.write(green("+ %s\n" % addition.pop(0))) + cprint("@G{+ %s}" % addition.pop(0)) # bright green # Any additions left? while addition: - out.write(green("+ %s\n" % addition.pop(0))) + cprint("@G{+ %s}" % addition.pop(0)) def diff(parser, args): @@ -196,8 +184,8 @@ def diff(parser, args): for spec in spack.cmd.parse_specs(args.specs)] # Calculate the comparison (c) - c = compare_specs(specs[0], specs[1], to_string=True, - colorful=not args.dump_json) + color = False if args.dump_json else get_color_when() + c = compare_specs(specs[0], specs[1], to_string=True, color=color) # Default to all attributes attributes = args.attribute or ["all"] From ad66b758e4388fcf6e0a51b31b742f46239ddbff Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 6 Aug 2021 01:33:12 -0700 Subject: [PATCH 112/414] codecov: allow coverage offsets for more base commit flexibility (#25293) This is an attempt to fix "Missing base commit" messages in the codecov UI. Because we do not run full tests on package PRs, package PRs' merge commits on `develop` don't have coverage info. It appears that codecov will give you an error if the pseudo-base's coverage data doesn't all apply properly to the real PR base, unless the `allow_coverage_offsets` option is set. * See here for docs: https://docs.codecov.com/docs/comparing-commits#pseudo-comparison * See here for another potential solution: https://community.codecov.com/t/2480/15 --- .codecov.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.codecov.yml b/.codecov.yml index 998b66ce7ed..fead3ad004f 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -19,3 +19,16 @@ comment: off # annotations in files that seemingly have nothing to do with the PR. github_checks: annotations: false + +# Attempt to fix "Missing base commit" messages in the codecov UI. +# Because we do not run full tests on package PRs, package PRs' merge +# commits on `develop` don't have coverage info. It appears that +# codecov will give you an error if the pseudo-base's coverage data +# doesn't all apply properly to the real PR base. +# +# See here for docs: +# https://docs.codecov.com/docs/comparing-commits#pseudo-comparison +# See here for another potential solution: +# https://community.codecov.com/t/2480/15 +codecov: + allow_coverage_offsets: true From 97993ac38afdd488fcd785717a658fa418f070d8 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Fri, 6 Aug 2021 11:41:27 -0400 Subject: [PATCH 113/414] [py-sentencepiece] added veriosn 0.1.91 (#25275) --- var/spack/repos/builtin/packages/py-sentencepiece/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-sentencepiece/package.py b/var/spack/repos/builtin/packages/py-sentencepiece/package.py index 02c99cc9fe5..1f34573442d 100644 --- a/var/spack/repos/builtin/packages/py-sentencepiece/package.py +++ b/var/spack/repos/builtin/packages/py-sentencepiece/package.py @@ -14,10 +14,12 @@ class PySentencepiece(PythonPackage): maintainers = ['adamjstewart'] + version('0.1.91', sha256='acbc7ea12713cd2a8d64892f8d2033c7fd2bb4faecab39452496120ace9a4b1b') version('0.1.85', sha256='dd4956287a1b6af3cbdbbd499b7227a859a4e3f41c9882de5e6bdd929e219ae6') depends_on('sentencepiece') depends_on('sentencepiece@0.1.85', when='@0.1.85') + depends_on('sentencepiece@0.1.91', when='@0.1.91') depends_on('pkgconfig', type='build') depends_on('py-setuptools', type='build') From b92fa6bbf9a40629320e326d714b9ee3085394e4 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Fri, 6 Aug 2021 15:53:46 -0700 Subject: [PATCH 114/414] Add New Build Containers Workflow (#24257) This pull request adds a new workflow to build and deploy Spack Docker containers from GitHub Actions. In comparison with our current system where we use Dockerhub's CI to build our Docker containers, this workflow will allow us to now build for multiple architectures and deploy to multiple registries. (At the moment x86_64 and Arm64 because ppc64le is throwing an error within archspec.) As currently set up, the PR will build all of the current containers (minus Centos6 because those yum repositories are no longer available?) as both x86_64 and Arm64 variants. The workflow is currently setup to build and deploy containers nightly from develop as well as on tagged releases. The workflow will also build, but NOT deploy containers on a pull request for the purposes of testing this PR. At the moment it is setup to deploy the built containers to GitHub's Container Registry although, support for also uploading to Dockerhub/Quay can be included easily if we decide to keep releasing on Dockerhub/want to begin releasing on Quay. --- .github/workflows/build-containers.yml | 79 +++++++++++++++++++++++ share/spack/docker/ubuntu-1804.dockerfile | 2 +- 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build-containers.yml diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml new file mode 100644 index 00000000000..27ecf591bef --- /dev/null +++ b/.github/workflows/build-containers.yml @@ -0,0 +1,79 @@ +name: Build & Deploy Docker Containers +on: + # Build new Spack develop containers nightly. + schedule: + - cron: '34 0 * * *' + # Let's also build & tag Spack containers on releases. + release: + types: [published] + +jobs: + deploy-images: + runs-on: ubuntu-latest + strategy: + # Even if one container fails to build we still want the others + # to continue their builds. + fail-fast: false + # A matrix of Dockerfile paths, associated tags, and which architectures + # they support. + matrix: + dockerfile: [[amazon-linux, amazonlinux-2.dockerfile, 'linux/amd64,linux/arm64'], + [centos7, centos-7.dockerfile, 'linux/amd64,linux/arm64'], + [leap15, leap-15.dockerfile, 'linux/amd64,linux/arm64'], + [ubuntu-xenial, ubuntu-1604.dockerfile, 'linux/amd64,linux/arm64'], + [ubuntu-bionic, ubuntu-1804.dockerfile, 'linux/amd64,linux/arm64']] + name: Build ${{ matrix.dockerfile[0] }} + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set Container Tag Normal (Nightly) + run: | + container="ghcr.io/spack/${{ matrix.dockerfile[0]}}:latest" + echo "container=${container}" >> $GITHUB_ENV + echo "versioned=${container}" >> $GITHUB_ENV + + # On a new release create a container with the same tag as the release. + - name: Set Container Tag on Release + if: github.event_name == 'release' + run: | + versioned="ghcr.io/spack/${{matrix.dockerfile[0]}}:${GITHUB_REF##*/}" + echo "versioned=${versioned}" >> $GITHUB_ENV + + - name: Check ${{ matrix.dockerfile[1] }} Exists + run: | + printf "Preparing to build ${{ env.container }} from ${{ matrix.dockerfile[1] }}" + if [ ! -f "share/spack/docker/${{ matrix.dockerfile[1]}}" ]; then + printf "Dockerfile ${{ matrix.dockerfile[0]}} does not exist" + exit 1; + fi + + - name: Log in to GitHub Container Registry + # Don't log into registry on pull request. + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: spack + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build ${{ matrix.dockerfile[1] }} + uses: docker/build-push-action@v2 + with: + file: share/spack/docker/${{matrix.dockerfile[1]}} + platforms: ${{ matrix.dockerfile[2] }} + push: false + tags: | + ${{ env.container }} + ${{ env.versioned }} + + - name: Deploy ${{ matrix.dockerfile[1] }} + # And don't push the container on a pull request. + if: github.event_name != 'pull_request' + run: docker push ghcr.io/spack/${{ matrix.dockerfile[0]}} --all-tags diff --git a/share/spack/docker/ubuntu-1804.dockerfile b/share/spack/docker/ubuntu-1804.dockerfile index 1ecef106528..9ba3bc61799 100644 --- a/share/spack/docker/ubuntu-1804.dockerfile +++ b/share/spack/docker/ubuntu-1804.dockerfile @@ -67,7 +67,7 @@ RUN [ -f ~/.profile ] \ # [WORKAROUND] # https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082 -RUN ln -s posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so +RUN ln -s posix_c.so /usr/lib/$(uname -m)-linux-gnu/lua/5.2/posix.so WORKDIR /root SHELL ["docker-shell"] From d69a22f160c0812ac96934022453dde58727b3fb Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Fri, 6 Aug 2021 16:42:58 -0700 Subject: [PATCH 115/414] WarpX: 21.08 (#25234) Add the latest WarpX release. --- var/spack/repos/builtin/packages/py-warpx/package.py | 3 ++- var/spack/repos/builtin/packages/warpx/package.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-warpx/package.py b/var/spack/repos/builtin/packages/py-warpx/package.py index 0936da9b2f4..829e9e34297 100644 --- a/var/spack/repos/builtin/packages/py-warpx/package.py +++ b/var/spack/repos/builtin/packages/py-warpx/package.py @@ -25,6 +25,7 @@ class PyWarpx(PythonPackage): # NOTE: if you update the versions here, also see warpx version('develop', branch='development') + version('21.08', sha256='6128a32cfd075bc63d08eebea6d4f62d33ce0570f4fd72330a71023ceacccc86') version('21.07', sha256='a8740316d813c365715f7471201499905798b50bd94950d33f1bd91478d49561') version('21.06', sha256='a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30') version('21.05', sha256='f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc') @@ -33,7 +34,7 @@ class PyWarpx(PythonPackage): variant('mpi', default=True, description='Enable MPI support') - for v in ['21.07', '21.06', '21.05', '21.04', 'develop']: + for v in ['21.08', '21.07', '21.06', '21.05', '21.04', 'develop']: depends_on('warpx@{0}'.format(v), when='@{0}'.format(v), type=['build', 'link']) diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py index 06ab9e65112..bf2b12c8f30 100644 --- a/var/spack/repos/builtin/packages/warpx/package.py +++ b/var/spack/repos/builtin/packages/warpx/package.py @@ -24,6 +24,7 @@ class Warpx(CMakePackage): # NOTE: if you update the versions here, also see py-warpx version('develop', branch='development') + version('21.08', sha256='6128a32cfd075bc63d08eebea6d4f62d33ce0570f4fd72330a71023ceacccc86') version('21.07', sha256='a8740316d813c365715f7471201499905798b50bd94950d33f1bd91478d49561') version('21.06', sha256='a26039dc4061da45e779dd5002467c67a533fc08d30841e01e7abb3a890fbe30') version('21.05', sha256='f835f0ae6c5702550d23191aa0bb0722f981abb1460410e3d8952bc3d945a9fc') From 91b3dcca26f60688adcb2598d8700b297af30999 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Fri, 6 Aug 2021 16:43:46 -0700 Subject: [PATCH 116/414] openPMD-api: 0.14.1 (#25265) * openPMD-api: 0.14.1 Add the latest bugfix release. * Keep 0.13.4 still preferred More regressions to mitigate... --- var/spack/repos/builtin/packages/openpmd-api/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index 8a3fb905cc5..36b86182fa9 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -17,6 +17,7 @@ class OpenpmdApi(CMakePackage): # C++14 up until here version('develop', branch='dev') + version('0.14.1', sha256='172fd1d785627d01c77f1170adc5a18bd8a6302e804d0f271dc0d616a5156791') version('0.14.0', sha256='7bb561c1a6f54e9a6a1b56aaf1d4d098bbe290d204f84ebe5a6f11b3cab2be6e') # temporary, pre 0.14.0 version for HiPACE++ version('hipace', commit='ac083025ee662469b8cad1adf93eef48cde35f58') From 98d4a7af24e3e69ee1dabce6f2a9ae94e01f166a Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Fri, 6 Aug 2021 16:55:32 -0700 Subject: [PATCH 117/414] openPMD-api: CTest & Install Tests (#25300) Run CTest at build time with: ``` spack install --test=root openpmd-api@ ``` and run smoke-tests after install and loading of the package via ``` spack load -r / spack test run / ``` --- .../builtin/packages/openpmd-api/package.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index 36b86182fa9..1b85c85a124 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -130,3 +130,23 @@ def setup_dependent_build_environment(self, env, dependent_spec): env.prepend_path('CMAKE_PREFIX_PATH', self.spec['mpark-variant'].prefix) env.prepend_path('CPATH', self.spec['mpark-variant'].prefix.include) + + def check(self): + """CTest checks after the build phase""" + # note: for MPI-parallel tests, you can overwrite the standard CMake + # option -DMPIEXEC_EXECUTABLE=$(which jsrun) for jsrun or srun, + # etc.. Alternatively, you can also use -E to exclude + # parallel and MPI tests + with working_dir(self.build_directory): + # -j1 because individual tests create files that are read again by + # later tests + ctest('--output-on-failure', '-j1') + + def test(self): + """Perform smoke tests on the installed package.""" + exes = ['openpmd-ls'] # in 0.11.1+ + for exe in exes: + spec_vers_str = '{0}'.format(self.spec.version) + reason = 'test version of {0} is {1}'.format(exe, spec_vers_str) + self.run_test(exe, ['--version'], [spec_vers_str], + installed=True, purpose=reason, skip_missing=False) From cfbefee0facd260975f9ecc7b20404b36ae2a07f Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Fri, 6 Aug 2021 17:25:36 -0700 Subject: [PATCH 118/414] Fix GHCR Username in Container Builder (#25301) --- .github/workflows/build-containers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index 27ecf591bef..e9006b32e81 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -54,7 +54,7 @@ jobs: uses: docker/login-action@v1 with: registry: ghcr.io - username: spack + username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up QEMU From 9b66053d9917b322112b3efb86a8208570188ff9 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 8 Aug 2021 09:05:19 -0500 Subject: [PATCH 119/414] vecgeom: new version 1.1.16 (#25266) Diff 1.1.15 to 1.1.16 at https://gitlab.cern.ch/VecGeom/VecGeom/-/compare/v1.1.15...v1.1.16?from_project_id=981, no changes to build dependencies. --- var/spack/repos/builtin/packages/vecgeom/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/vecgeom/package.py b/var/spack/repos/builtin/packages/vecgeom/package.py index 75b57ff27fd..7d56d574b53 100644 --- a/var/spack/repos/builtin/packages/vecgeom/package.py +++ b/var/spack/repos/builtin/packages/vecgeom/package.py @@ -20,6 +20,7 @@ class Vecgeom(CMakePackage, CudaPackage): maintainers = ['drbenmorgan', 'sethrj'] version('master', branch='master') + version('1.1.16', sha256='2fa636993156d9d06750586e8a1ac1701ae2be62dea07964e2369698ae521d02') version('1.1.15', sha256='0ee9897eb12d8d560dc0c9e56e8fdb78d0111f651a984df24e983da035bd1c70') version('1.1.13', sha256='6bb364cc74bdab2e64e2fe132debd7f1e192da0a103f5149df7ab25b7c19a205') version('1.1.12', sha256='fec4495aac4a9d583f076551da61a68b956bba1dd1ebe1cd48c00ef95c962049') From 1c204bef8ad29b565325b20ee6d9d5a2b6548ff3 Mon Sep 17 00:00:00 2001 From: lukebroskop Date: Sun, 8 Aug 2021 09:16:57 -0500 Subject: [PATCH 120/414] trilinos: flag_handler logic fix (#25290) * Do not allow cray build system patch for later version of otf2 * Modify flag_handler logic in the trilinos package Modify flag_handler logic in the trilinos package to work better with compilers other than CCE --- var/spack/repos/builtin/packages/trilinos/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index ec16906cc13..afab660794e 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -440,7 +440,8 @@ def flag_handler(self, name, flags): if self.spec.satisfies('%cce'): if name == 'ldflags': flags.append('-fuse-ld=gold') - return (None, None, flags) + return (None, None, flags) + return (flags, None, None) def url_for_version(self, version): url = "https://github.com/trilinos/Trilinos/archive/trilinos-release-{0}.tar.gz" From 1c90b259335c64d9381bc8b42ad35babd4e1318c Mon Sep 17 00:00:00 2001 From: "Edgar A. Leon" <800736+eleon@users.noreply.github.com> Date: Fri, 6 Aug 2021 14:26:25 -0700 Subject: [PATCH 121/414] hwloc: Adding opencl and rocm (AMD GPUs) variants to hwloc. --- .../repos/builtin/packages/hwloc/package.py | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py index ca59d8e922b..78bfb2252f2 100644 --- a/var/spack/repos/builtin/packages/hwloc/package.py +++ b/var/spack/repos/builtin/packages/hwloc/package.py @@ -72,6 +72,10 @@ class Hwloc(AutotoolsPackage): default=False, description="Enable netloc [requires MPI]" ) + variant('opencl', default=False, + description="Support an OpenCL library at run time") + variant('rocm', default=False, + description="Support ROCm devices") # netloc isn't available until version 2.0.0 conflicts('+netloc', when="@:1.99.99") @@ -109,16 +113,27 @@ class Hwloc(AutotoolsPackage): # See https://github.com/spack/spack/issues/15836 for details depends_on('mpi', when='+netloc') + with when('+rocm'): + depends_on('rocm-smi-lib') + depends_on('rocm-opencl', when='+opencl') + # Avoid a circular dependency since the openmp + # variant of llvm-amdgpu depends on hwloc. + depends_on('llvm-amdgpu~openmp', when='+opencl') + def url_for_version(self, version): return "http://www.open-mpi.org/software/hwloc/v%s/downloads/hwloc-%s.tar.gz" % (version.up_to(2), version) def configure_args(self): - args = [ - # Disable OpenCL, since hwloc might pick up an OpenCL - # library at build time that is then not found at run time - # (Alternatively, we could require OpenCL as dependency.) - "--disable-opencl", - ] + args = [] + + # If OpenCL is not enabled, disable it since hwloc might + # pick up an OpenCL library at build time that is then + # not found at run time. + # The OpenCl variant allows OpenCl providers such as + # 'cuda' and 'rocm-opencl' to be used. + if '+opencl' not in self.spec: + args.append('--disable-opencl') + if '+netloc' in self.spec: args.append('--enable-netloc') From 0dd6b1e1341d1b3ac65027e4f7d9e007b0c8f71b Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Sat, 7 Aug 2021 11:02:02 -0700 Subject: [PATCH 122/414] Clean Up PR from Container Builder --- .github/workflows/build-containers.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index e9006b32e81..d2dd2d825ee 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -49,8 +49,6 @@ jobs: fi - name: Log in to GitHub Container Registry - # Don't log into registry on pull request. - if: github.event_name != 'pull_request' uses: docker/login-action@v1 with: registry: ghcr.io @@ -63,17 +61,12 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Build ${{ matrix.dockerfile[1] }} + - name: Build & Deploy ${{ matrix.dockerfile[1] }} uses: docker/build-push-action@v2 with: file: share/spack/docker/${{matrix.dockerfile[1]}} platforms: ${{ matrix.dockerfile[2] }} - push: false + push: true tags: | ${{ env.container }} ${{ env.versioned }} - - - name: Deploy ${{ matrix.dockerfile[1] }} - # And don't push the container on a pull request. - if: github.event_name != 'pull_request' - run: docker push ghcr.io/spack/${{ matrix.dockerfile[0]}} --all-tags From 6ed4cf401672eb38af36b2196e1ddc5bca1fe936 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Sun, 8 Aug 2021 12:16:42 -0500 Subject: [PATCH 123/414] petsc: cleanup test code to support 'spack test run' and add a 'cuda' test (#25099) --- .../repos/builtin/packages/petsc/package.py | 97 ++++++++++--------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 9726adf95e1..9ac0eab56f4 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -478,54 +478,9 @@ def install(self, spec, prefix): make('MAKE_NP=%s' % make_jobs, parallel=False) make("install") - # solve Poisson equation in 2D to make sure nothing is broken: - if ('mpi' in spec) and self.run_tests: - with working_dir('src/ksp/ksp/examples/tutorials'): - env['PETSC_DIR'] = self.prefix - cc = Executable(spec['mpi'].mpicc) - cc('ex50.c', '-I%s' % prefix.include, '-L%s' % prefix.lib, - '-lpetsc', '-lm', '-o', 'ex50') - run = Executable(join_path(spec['mpi'].prefix.bin, 'mpirun')) - # For Spectrum MPI, if -np is omitted, the default behavior is - # to assign one process per process slot, where the default - # process slot allocation is one per core. On systems with - # many cores, the number of processes can exceed the size of - # the grid specified when the testcase is run and the test case - # fails. Specify a small number of processes to prevent - # failure. - # For more information about Spectrum MPI invocation, see URL - # https://www.ibm.com/support/knowledgecenter/en/SSZTET_10.1.0/smpi02/smpi02_mpirun_options.html - if ('spectrum-mpi' in spec): - run.add_default_arg('-np') - run.add_default_arg('4') - run('ex50', '-da_grid_x', '4', '-da_grid_y', '4') - if 'superlu-dist' in spec: - run('ex50', - '-da_grid_x', '4', - '-da_grid_y', '4', - '-pc_type', 'lu', - '-pc_factor_mat_solver_package', 'superlu_dist') - - if 'mumps' in spec: - run('ex50', - '-da_grid_x', '4', - '-da_grid_y', '4', - '-pc_type', 'lu', - '-pc_factor_mat_solver_package', 'mumps') - - if 'hypre' in spec: - run('ex50', - '-da_grid_x', '4', - '-da_grid_y', '4', - '-pc_type', 'hypre', - '-pc_hypre_type', 'boomeramg') - - if 'mkl-pardiso' in spec: - run('ex50', - '-da_grid_x', '4', - '-da_grid_y', '4', - '-pc_type', 'lu', - '-pc_factor_mat_solver_package', 'mkl_pardiso') + if self.run_tests: + make('check PETSC_ARCH="" PETSC_DIR={0}'.format(self.prefix), + parallel=False) def setup_build_environment(self, env): # configure fails if these env vars are set outside of Spack @@ -548,3 +503,49 @@ def headers(self): or None # return None to indicate failure # For the 'libs' property - use the default handler. + + @run_after('install') + def setup_build_tests(self): + """Copy the build test files after the package is installed to an + install test subdirectory for use during `spack test run`.""" + self.cache_extra_test_sources('src/ksp/ksp/tutorials') + + def test(self): + # solve Poisson equation in 2D to make sure nothing is broken: + spec = self.spec + env['PETSC_DIR'] = self.prefix + env['PETSC_ARCH'] = '' + if ('+mpi' in spec): + runexe = Executable(join_path(spec['mpi'].prefix.bin, + 'mpiexec')).command + runopt = ['-n', '4'] + else: + runexe = Executable(join_path(self.prefix, + 'lib/petsc/bin/petsc-mpiexec.uni')).command + runopt = ['-n', '1'] + w_dir = join_path(self.install_test_root, 'src/ksp/ksp/tutorials') + with working_dir(w_dir): + testexe = ['ex50', '-da_grid_x', '4', '-da_grid_y', '4'] + testdict = { + None: [], + '+superlu-dist': + ['-pc_type', 'lu', '-pc_factor_mat_solver_type', 'superlu_dist'], + '+mumps': + ['-pc_type', 'lu', '-pc_factor_mat_solver_type', 'mumps'], + '+hypre': + ['-pc_type', 'hypre', '-pc_hypre_type', 'boomeramg'], + '+mkl-pardiso': + ['-pc_type', 'lu', '-pc_factor_mat_solver_type', 'mkl_pardiso'], + } + make('ex50', parallel=False) + for feature, featureopt in testdict.items(): + if not feature or feature in spec: + self.run_test(runexe, runopt + testexe + featureopt) + if '+cuda' in spec: + make('ex7', parallel=False) + testexe = ['ex7', '-mat_type', 'aijcusparse', + '-sub_pc_factor_mat_solver_type', 'cusparse', + '-sub_ksp_type', 'preonly', '-sub_pc_type', 'ilu', + '-use_gpu_aware_mpi', '0'] + self.run_test(runexe, runopt + testexe) + make('clean', parallel=False) From 38803e35970eeb70c4e26c1d47aee39a4e99e6d9 Mon Sep 17 00:00:00 2001 From: Seth R Johnson Date: Fri, 16 Jul 2021 07:33:46 -0400 Subject: [PATCH 124/414] trilinos: remove develop version, change xsdk name With the previous naming scheme, `trilinos@:10` concretizes to `trilinos@xsdk-0.2.0`. Now, it's clear what the xsdk version is closest to. Changed from tag to the corresponding commit SHA for safety. --- .../builtin/packages/trilinos/package.py | 21 +++++++++---------- .../repos/builtin/packages/xsdk/package.py | 4 ++-- .../builtin/packages/xsdktrilinos/package.py | 4 ++-- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index afab660794e..e135f2d8631 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -34,14 +34,13 @@ class Trilinos(CMakePackage, CudaPackage): # ###################### Versions ########################## - version('xsdk-0.2.0', tag='xsdk-0.2.0') - version('develop', branch='develop') version('master', branch='master') version('13.0.1', commit='4796b92fb0644ba8c531dd9953e7a4878b05c62d') # tag trilinos-release-13-0-1 version('13.0.0', commit='9fec35276d846a667bc668ff4cbdfd8be0dfea08') # tag trilinos-release-13-0-0 version('12.18.1', commit='55a75997332636a28afc9db1aee4ae46fe8d93e7') # tag trilinos-release-12-8-1 version('12.14.1', sha256='52a4406cca2241f5eea8e166c2950471dd9478ad6741cbb2a7fc8225814616f0') version('12.12.1', sha256='5474c5329c6309224a7e1726cf6f0d855025b2042959e4e2be2748bd6bb49e18') + version('12.11.xsdk-0-2-0', commit='e8210776222ef277a06451ef934dc1138ecdafe6') # tag xsdk-0.2.0 version('12.10.1', sha256='ab81d917196ffbc21c4927d42df079dd94c83c1a08bda43fef2dd34d0c1a5512') version('12.8.1', sha256='d20fe60e31e3ba1ef36edecd88226240a518f50a4d6edcc195b88ee9dda5b4a1') version('12.6.4', sha256='1c7104ba60ee8cc4ec0458a1c4f6a26130616bae7580a7b15f2771a955818b73') @@ -230,7 +229,7 @@ class Trilinos(CMakePackage, CudaPackage): branch='master', placement='DataTransferKit', submodules=True, - when='+dtk @develop') + when='+dtk @master') resource(name='scorec', git='https://github.com/SCOREC/core.git', commit='73c16eae073b179e45ec625a5abe4915bc589af2', # tag v2.2.5 @@ -250,7 +249,7 @@ class Trilinos(CMakePackage, CudaPackage): git='https://github.com/trilinos/mesquite.git', tag='develop', placement='packages/mesquite', - when='+mesquite @develop') + when='+mesquite @master') # ###################### Conflicts ########################## @@ -302,10 +301,10 @@ class Trilinos(CMakePackage, CudaPackage): # Only allow DTK with Trilinos 12 conflicts('+dtk', when='~boost') conflicts('+dtk', when='~intrepid2') - conflicts('+dtk', when='@0:12.12.99,develop,master') + conflicts('+dtk', when='@:12.12.99,develop,master') - # Only allow Mesquite with older Trilinos 12.12 up to 13 - conflicts('+mesquite', when='@0:12.10.99,master,develop') + # Only allow Mesquite with Trilinos 12.12 and up, and master + conflicts('+mesquite', when='@:12.10.99,master') # Can only use one type of SuperLU conflicts('+superlu-dist', when='+superlu') # For Trilinos v11 we need to force SuperLUDist=OFF, since only the @@ -334,7 +333,7 @@ class Trilinos(CMakePackage, CudaPackage): conflicts('+cuda_rdc', when='~cuda') conflicts('+wrapper', when='~cuda') conflicts('+wrapper', when='%clang') - conflicts('cxxstd=11', when='@develop') + conflicts('cxxstd=11', when='@master') conflicts('cxxstd=11', when='+wrapper ^cuda@6.5.14') conflicts('cxxstd=14', when='+wrapper ^cuda@6.5.14:8.0.61') conflicts('cxxstd=17', when='+wrapper ^cuda@6.5.14:10.2.89') @@ -392,15 +391,15 @@ class Trilinos(CMakePackage, CudaPackage): depends_on('superlu-dist@4.4:5.3', when='@12.6.2:12.12.1+superlu-dist') depends_on('superlu-dist@5.4:6.2.0', when='@12.12.2:13.0.0+superlu-dist') depends_on('superlu-dist@6.3.0:', when='@13.0.1:+superlu-dist') - depends_on('superlu-dist@develop', when='@develop+superlu-dist') - depends_on('superlu-dist@xsdk-0.2.0', when='@xsdk-0.2.0+superlu-dist') + depends_on('superlu-dist@develop', when='@master+superlu-dist') + depends_on('superlu-dist@xsdk-0.2.0', when='@12.10.xsdk-0-2-0+superlu-dist') depends_on('superlu+pic@4.3', when='+superlu') depends_on('strumpack+shared', when='+strumpack') depends_on('scalapack', when='+strumpack+mpi') # Trilinos can not be built against 64bit int hypre depends_on('hypre~internal-superlu~int64', when='+hypre') depends_on('hypre@xsdk-0.2.0~internal-superlu', when='@xsdk-0.2.0+hypre') - depends_on('hypre@develop~internal-superlu', when='@develop+hypre') + depends_on('hypre@develop~internal-superlu', when='@master+hypre') depends_on('python', when='+python') depends_on('py-mpi4py', when='+mpi +python', type=('build', 'run')) depends_on('py-numpy', when='+python', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py index 2c9cde37d05..f08676f9d89 100644 --- a/var/spack/repos/builtin/packages/xsdk/package.py +++ b/var/spack/repos/builtin/packages/xsdk/package.py @@ -64,7 +64,7 @@ class Xsdk(BundlePackage): depends_on('superlu-dist@5.2.2', when='@0.3.0') depends_on('superlu-dist@xsdk-0.2.0', when='@xsdk-0.2.0') - depends_on('trilinos@develop+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards+stratimikos gotype=int cxxstd=14', + depends_on('trilinos@master+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards+stratimikos gotype=int cxxstd=14', when='@develop +trilinos') depends_on('trilinos@13.0.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards gotype=int', when='@0.6.0 +trilinos') @@ -74,7 +74,7 @@ class Xsdk(BundlePackage): when='@0.4.0 +trilinos') depends_on('trilinos@12.12.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2~exodus', when='@0.3.0 +trilinos') - depends_on('trilinos@xsdk-0.2.0+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2~exodus', + depends_on('trilinos@12.10.xsdk-0-2-0+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2~exodus', when='@xsdk-0.2.0 +trilinos') depends_on('datatransferkit@master', when='@develop +trilinos +datatransferkit') diff --git a/var/spack/repos/builtin/packages/xsdktrilinos/package.py b/var/spack/repos/builtin/packages/xsdktrilinos/package.py index e5c1b408e5b..8d7effccce7 100644 --- a/var/spack/repos/builtin/packages/xsdktrilinos/package.py +++ b/var/spack/repos/builtin/packages/xsdktrilinos/package.py @@ -35,8 +35,8 @@ class Xsdktrilinos(CMakePackage): depends_on('petsc@main+mpi~complex', when='@develop+petsc') depends_on('trilinos@12.6.4', when='@12.6.4') depends_on('trilinos@12.8.1', when='@12.8.1') - depends_on('trilinos@xsdk-0.2.0', when='@xsdk-0.2.0') - depends_on('trilinos@develop', when='@develop') + depends_on('trilinos@12.11.xsdk-0-2-0', when='@xsdk-0.2.0') + depends_on('trilinos@master', when='@develop') def url_for_version(self, version): url = "https://github.com/trilinos/xSDKTrilinos/archive/trilinos-release-{0}.tar.gz" From 66a8993092754cc78783ad99c1345f944da56086 Mon Sep 17 00:00:00 2001 From: Seth R Johnson Date: Thu, 22 Jul 2021 08:00:16 -0400 Subject: [PATCH 125/414] Remove xsdk@0.2.0 and associated versions and xsdktrilinos These versions can cause weird concretizations, and it looks like the old version of xsdk may not even work because of xsdktrilinos being disabled. The hypre version tagged for xsdk@0.2 no longer exists at the described location. --- .../builtin/packages/alquimia/package.py | 2 - .../repos/builtin/packages/hypre/package.py | 1 - .../repos/builtin/packages/petsc/package.py | 1 - .../builtin/packages/pflotran/package.py | 2 - .../builtin/packages/superlu-dist/package.py | 1 - .../builtin/packages/trilinos/package.py | 4 - .../repos/builtin/packages/xsdk/package.py | 14 ---- .../builtin/packages/xsdktrilinos/package.py | 78 ------------------- 8 files changed, 103 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/xsdktrilinos/package.py diff --git a/var/spack/repos/builtin/packages/alquimia/package.py b/var/spack/repos/builtin/packages/alquimia/package.py index eaa94afd09b..5462da1255a 100644 --- a/var/spack/repos/builtin/packages/alquimia/package.py +++ b/var/spack/repos/builtin/packages/alquimia/package.py @@ -20,7 +20,6 @@ class Alquimia(CMakePackage): version('xsdk-0.5.0', commit='8397c3b00a09534c5473ff3ab21f0e32bb159380') version('xsdk-0.4.0', commit='2edad6733106142d014bb6e6a73c2b21d5e3cf2d') version('xsdk-0.3.0', tag='xsdk-0.3.0') - version('xsdk-0.2.0', tag='xsdk-0.2.0') variant('shared', default=True, description='Enables the build of shared libraries') @@ -35,7 +34,6 @@ class Alquimia(CMakePackage): depends_on('pflotran@develop', when='@develop') depends_on('petsc@3.10.0:3.10.99', when='@xsdk-0.4.0') depends_on('petsc@3.8.0:3.8.99', when='@xsdk-0.3.0') - depends_on('petsc@xsdk-0.2.0', when='@xsdk-0.2.0') depends_on('petsc@3.10:', when='@develop') def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py index 674cf7f98c3..15eaa19e353 100644 --- a/var/spack/repos/builtin/packages/hypre/package.py +++ b/var/spack/repos/builtin/packages/hypre/package.py @@ -41,7 +41,6 @@ class Hypre(Package, CudaPackage): version('2.11.1', sha256='6bb2ff565ff694596d0e94d0a75f0c3a2cd6715b8b7652bc71feb8698554db93') version('2.10.1', sha256='a4a9df645ebdc11e86221b794b276d1e17974887ead161d5050aaf0b43bb183a') version('2.10.0b', sha256='b55dbdc692afe5a00490d1ea1c38dd908dae244f7bdd7faaf711680059824c11') - version('xsdk-0.2.0', tag='xsdk-0.2.0', git='https://github.com/LLNL/hypre.git') # Versions 2.13.0 and later can be patched to build shared # libraries on Darwin; the patch for this capability does not diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 9ac0eab56f4..10f476228ba 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -17,7 +17,6 @@ class Petsc(Package, CudaPackage, ROCmPackage): maintainers = ['balay', 'barrysmith', 'jedbrown'] version('main', branch='main') - version('xsdk-0.2.0', tag='xsdk-0.2.0') version('3.15.2', sha256='3b10c19c69fc42e01a38132668724a01f1da56f5c353105cd28f1120cc9041d8') version('3.15.1', sha256='c0ac6566e69d1d70b431e07e7598e9de95e84891c2452db1367c846b75109deb') diff --git a/var/spack/repos/builtin/packages/pflotran/package.py b/var/spack/repos/builtin/packages/pflotran/package.py index a51299d4418..e6f4b64468e 100644 --- a/var/spack/repos/builtin/packages/pflotran/package.py +++ b/var/spack/repos/builtin/packages/pflotran/package.py @@ -22,7 +22,6 @@ class Pflotran(AutotoolsPackage): version('xsdk-0.5.0', commit='98a959c591b72f73373febf5f9735d2c523b4c20') version('xsdk-0.4.0', commit='c851cbc94fc56a32cfdb0678f3c24b9936a5584e') version('xsdk-0.3.0', branch='release/xsdk-0.3.0') - version('xsdk-0.2.0', commit='4da763c6136df57caff43f98c926433958cfdea6') depends_on('mpi') depends_on('hdf5@1.8.12:+mpi+fortran+hl') @@ -30,7 +29,6 @@ class Pflotran(AutotoolsPackage): depends_on('petsc@3.14:+hdf5+metis', when='@xsdk-0.6.0') depends_on('petsc@3.12:+hdf5+metis', when='@xsdk-0.5.0') depends_on('petsc@3.10:+hdf5+metis', when='@xsdk-0.4.0') - depends_on('petsc@xsdk-0.2.0+hdf5+metis', when='@xsdk-0.2.0') depends_on('petsc@3.8.0:+hdf5+metis', when='@xsdk-0.3.0') @property diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py index adb53a740e5..a757ee71021 100644 --- a/var/spack/repos/builtin/packages/superlu-dist/package.py +++ b/var/spack/repos/builtin/packages/superlu-dist/package.py @@ -17,7 +17,6 @@ class SuperluDist(CMakePackage, CudaPackage): maintainers = ['xiaoye', 'gchavez2', 'balay', 'pghysels'] version('develop', branch='master') - version('xsdk-0.2.0', tag='xsdk-0.2.0') version('6.4.0', sha256='cb9c0b2ba4c28e5ed5817718ba19ae1dd63ccd30bc44c8b8252b54f5f04a44cc') version('6.3.1', sha256='3787c2755acd6aadbb4d9029138c293a7570a2ed228806676edcc7e1d3f5a1d3') version('6.3.0', sha256='daf3264706caccae2b8fd5a572e40275f1e128fa235cb7c21ee2f8051c11af95') diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index e135f2d8631..fdbf6ff6c4d 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -40,7 +40,6 @@ class Trilinos(CMakePackage, CudaPackage): version('12.18.1', commit='55a75997332636a28afc9db1aee4ae46fe8d93e7') # tag trilinos-release-12-8-1 version('12.14.1', sha256='52a4406cca2241f5eea8e166c2950471dd9478ad6741cbb2a7fc8225814616f0') version('12.12.1', sha256='5474c5329c6309224a7e1726cf6f0d855025b2042959e4e2be2748bd6bb49e18') - version('12.11.xsdk-0-2-0', commit='e8210776222ef277a06451ef934dc1138ecdafe6') # tag xsdk-0.2.0 version('12.10.1', sha256='ab81d917196ffbc21c4927d42df079dd94c83c1a08bda43fef2dd34d0c1a5512') version('12.8.1', sha256='d20fe60e31e3ba1ef36edecd88226240a518f50a4d6edcc195b88ee9dda5b4a1') version('12.6.4', sha256='1c7104ba60ee8cc4ec0458a1c4f6a26130616bae7580a7b15f2771a955818b73') @@ -327,7 +326,6 @@ class Trilinos(CMakePackage, CudaPackage): msg='Cannot build Trilinos with STK as a shared library on Darwin.' ) conflicts('+adios2', when='@:12.14.1') - conflicts('+adios2', when='@xsdk-0.2.0') conflicts('+pnetcdf', when='~netcdf') conflicts('+pnetcdf', when='~mpi') conflicts('+cuda_rdc', when='~cuda') @@ -392,13 +390,11 @@ class Trilinos(CMakePackage, CudaPackage): depends_on('superlu-dist@5.4:6.2.0', when='@12.12.2:13.0.0+superlu-dist') depends_on('superlu-dist@6.3.0:', when='@13.0.1:+superlu-dist') depends_on('superlu-dist@develop', when='@master+superlu-dist') - depends_on('superlu-dist@xsdk-0.2.0', when='@12.10.xsdk-0-2-0+superlu-dist') depends_on('superlu+pic@4.3', when='+superlu') depends_on('strumpack+shared', when='+strumpack') depends_on('scalapack', when='+strumpack+mpi') # Trilinos can not be built against 64bit int hypre depends_on('hypre~internal-superlu~int64', when='+hypre') - depends_on('hypre@xsdk-0.2.0~internal-superlu', when='@xsdk-0.2.0+hypre') depends_on('hypre@develop~internal-superlu', when='@master+hypre') depends_on('python', when='+python') depends_on('py-mpi4py', when='+mpi +python', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py index f08676f9d89..078aaa296a3 100644 --- a/var/spack/repos/builtin/packages/xsdk/package.py +++ b/var/spack/repos/builtin/packages/xsdk/package.py @@ -24,7 +24,6 @@ class Xsdk(BundlePackage): version('0.5.0') version('0.4.0') version('0.3.0') - version('xsdk-0.2.0') variant('debug', default=False, description='Compile in debug mode') variant('cuda', default=False, description='Enable CUDA dependent packages') @@ -49,7 +48,6 @@ class Xsdk(BundlePackage): depends_on('hypre@2.18.2+superlu-dist+shared', when='@0.5.0') depends_on('hypre@2.15.1~internal-superlu', when='@0.4.0') depends_on('hypre@2.12.1~internal-superlu', when='@0.3.0') - depends_on('hypre@xsdk-0.2.0~internal-superlu', when='@xsdk-0.2.0') depends_on('mfem@develop+mpi+superlu-dist+petsc+sundials+examples+miniapps', when='@develop') depends_on('mfem@4.2.0+mpi+superlu-dist+petsc+sundials+examples+miniapps', when='@0.6.0') @@ -62,7 +60,6 @@ class Xsdk(BundlePackage): depends_on('superlu-dist@6.1.1', when='@0.5.0') depends_on('superlu-dist@6.1.0', when='@0.4.0') depends_on('superlu-dist@5.2.2', when='@0.3.0') - depends_on('superlu-dist@xsdk-0.2.0', when='@xsdk-0.2.0') depends_on('trilinos@master+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards+stratimikos gotype=int cxxstd=14', when='@develop +trilinos') @@ -74,8 +71,6 @@ class Xsdk(BundlePackage): when='@0.4.0 +trilinos') depends_on('trilinos@12.12.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2~exodus', when='@0.3.0 +trilinos') - depends_on('trilinos@12.10.xsdk-0-2-0+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse~tpetra~ifpack2~zoltan~zoltan2~amesos2~exodus', - when='@xsdk-0.2.0 +trilinos') depends_on('datatransferkit@master', when='@develop +trilinos +datatransferkit') depends_on('datatransferkit@3.1-rc2', when='@0.6.0 +trilinos +datatransferkit') @@ -93,8 +88,6 @@ class Xsdk(BundlePackage): when='@0.4.0') depends_on('petsc@3.8.2+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64', when='@0.3.0') - depends_on('petsc@xsdk-0.2.0+mpi+hypre+superlu-dist+metis+hdf5~mumps+double~int64', - when='@xsdk-0.2.0') depends_on('dealii +trilinos~adol-c', when='+trilinos +dealii') depends_on('dealii ~trilinos', when='~trilinos +dealii') @@ -108,14 +101,12 @@ class Xsdk(BundlePackage): depends_on('pflotran@xsdk-0.5.0', when='@0.5.0') depends_on('pflotran@xsdk-0.4.0', when='@0.4.0') depends_on('pflotran@xsdk-0.3.0', when='@0.3.0') - depends_on('pflotran@xsdk-0.2.0', when='@xsdk-0.2.0') depends_on('alquimia@develop', when='@develop +alquimia') depends_on('alquimia@xsdk-0.6.0', when='@0.6.0 +alquimia') depends_on('alquimia@xsdk-0.5.0', when='@0.5.0 +alquimia ') depends_on('alquimia@xsdk-0.4.0', when='@0.4.0 +alquimia') depends_on('alquimia@xsdk-0.3.0', when='@0.3.0 +alquimia') - depends_on('alquimia@xsdk-0.2.0', when='@xsdk-0.2.0 +alquimia') depends_on('sundials +cuda', when='+cuda @0.6.0:') depends_on('sundials +trilinos', when='+trilinos @0.6.0:') @@ -226,10 +217,5 @@ class Xsdk(BundlePackage): depends_on('slate@2020.10.00 ~cuda', when='@0.6.0 ~cuda +slate %gcc@6.0:') depends_on('slate@2020.10.00 +cuda', when='@0.6.0 +cuda +slate %gcc@6.0:') - # xSDKTrilinos depends on the version of Trilinos built with - # +tpetra which is turned off for faster xSDK - # depends_on('xsdktrilinos@xsdk-0.2.0', when='@xsdk-0.2.0') - # depends_on('xsdktrilinos@develop', when='@develop') - # How do we propagate debug flag to all depends on packages ? # If I just do spack install xsdk+debug will that propogate it down? diff --git a/var/spack/repos/builtin/packages/xsdktrilinos/package.py b/var/spack/repos/builtin/packages/xsdktrilinos/package.py deleted file mode 100644 index 8d7effccce7..00000000000 --- a/var/spack/repos/builtin/packages/xsdktrilinos/package.py +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other -# Spack Project Developers. See the top-level COPYRIGHT file for details. -# -# SPDX-License-Identifier: (Apache-2.0 OR MIT) - -import os - -from spack import * - - -class Xsdktrilinos(CMakePackage): - """xSDKTrilinos contains the portions of Trilinos that depend on PETSc - because they would cause a circular dependency if built as part of - Trilinos. - """ - homepage = "https://trilinos.org/" - url = "https://github.com/trilinos/xSDKTrilinos/archive/trilinos-release-12-8-1.tar.gz" - git = "https://github.com/trilinos/xSDKTrilinos.git" - - version('develop', tag='master') - version('xsdk-0.2.0', tag='xsdk-0.2.0') - version('12.8.1', sha256='f545c0821743f23af3b48f242c66bbc4593e3804436336db4eb3bb08622ad794') - version('12.6.4', sha256='a7664afeab37ccfcbb5aae0bb03cb73ca8e511e0fecc365b9ccd32ba208318e3') - - variant('hypre', default=True, description='Compile with Hypre preconditioner') - variant('petsc', default=True, description='Compile with PETSc solvers') - variant('shared', default=True, description='Enables the build of shared libraries') - - # MPI related dependencies - depends_on('mpi') - depends_on('hypre~internal-superlu', when='+hypre') - depends_on('hypre@xsdk-0.2.0~internal-superlu', when='@xsdk-0.2.0+hypre') - depends_on('hypre@develop~internal-superlu', when='@develop+hypre') - depends_on('petsc@xsdk-0.2.0+mpi~complex', when='@xsdk-0.2.0+petsc') - depends_on('petsc@main+mpi~complex', when='@develop+petsc') - depends_on('trilinos@12.6.4', when='@12.6.4') - depends_on('trilinos@12.8.1', when='@12.8.1') - depends_on('trilinos@12.11.xsdk-0-2-0', when='@xsdk-0.2.0') - depends_on('trilinos@master', when='@develop') - - def url_for_version(self, version): - url = "https://github.com/trilinos/xSDKTrilinos/archive/trilinos-release-{0}.tar.gz" - return url.format(version.dashed) - - def cmake_args(self): - spec = self.spec - - options = [] - - mpi_bin = spec['mpi'].prefix.bin - options.extend([ - '-DxSDKTrilinos_VERBOSE_CONFIGURE:BOOL=OFF', - '-DxSDKTrilinos_ENABLE_TESTS:BOOL=ON', - '-DxSDKTrilinos_ENABLE_EXAMPLES:BOOL=ON', - '-DTrilinos_INSTALL_DIR=%s' % spec['trilinos'].prefix, - self.define_from_variant('BUILD_SHARED_LIBS', 'shared'), - '-DTPL_ENABLE_MPI:BOOL=ON', - '-DMPI_BASE_DIR:PATH=%s' % spec['mpi'].prefix, - '-DxSDKTrilinos_ENABLE_CXX11:BOOL=ON', - self.define_from_variant('TPL_ENABLE_HYPRE', 'hypre'), - self.define_from_variant('TPL_ENABLE_PETSC', 'petsc'), - '-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % self.prefix - ]) - - # Fortran lib - if (spec.satisfies('%gcc') or - spec.satisfies('%clang') or - spec.satisfies('%apple-clang')): - libgfortran = os.path.dirname(os.popen( - '%s --print-file-name libgfortran.a' % - join_path(mpi_bin, 'mpif90')).read()) - options.extend([ - '-DxSDKTrilinos_EXTRA_LINK_FLAGS:STRING=-L%s/ -lgfortran' % ( - libgfortran), - '-DxSDKTrilinos_ENABLE_Fortran=ON' - ]) - - return options From 420113d5ab505d0b7ba6190938e4c5a8c2a40e43 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 9 Aug 2021 08:51:39 +0200 Subject: [PATCH 126/414] libtree: add v1.2.3 (#25270) --- var/spack/repos/builtin/packages/libtree/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/libtree/package.py b/var/spack/repos/builtin/packages/libtree/package.py index 2abaa0ca9bf..2f6c3850732 100644 --- a/var/spack/repos/builtin/packages/libtree/package.py +++ b/var/spack/repos/builtin/packages/libtree/package.py @@ -15,6 +15,7 @@ class Libtree(CMakePackage): maintainers = ['haampie'] + version('1.2.3', sha256='4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf') version('1.2.2', sha256='4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd') version('1.2.1', sha256='26791c0f418b93d502879db0e1fd2fd3081b885ad87326611d992a5f8977a9b0') version('1.2.0', sha256='3e74655f22b1dcc19e8a1b9e7796b8ad44bc37f29e9a99134119e8521e28be97') From 4384ff8e41ac7f239104d0a68c858699d1eec655 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 9 Aug 2021 09:03:03 +0200 Subject: [PATCH 127/414] Use __skip_rocmclang for cmake 3.21 in rocblas/rocfft to avoid incomplete compiler support (#25253) --- var/spack/repos/builtin/packages/rocblas/package.py | 4 ++++ var/spack/repos/builtin/packages/rocfft/package.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index b2a6ccb094a..ebb90461b0c 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -106,4 +106,8 @@ def cmake_args(self): arch = arch + ':xnack-' args.append(self.define('Tensile_ARCHITECTURE', arch)) + # See https://github.com/ROCmSoftwarePlatform/rocBLAS/issues/1196 + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index eb4ac7c464a..44d191ec324 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -63,4 +63,8 @@ def cmake_args(self): if tgt_sram[0] != 'none' and '@3.9.0:' in self.spec: args.append(self.define('AMDGPU_TARGETS_SRAM_ECC', ";".join(tgt_sram))) + # See https://github.com/ROCmSoftwarePlatform/rocFFT/issues/322 + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args From c37aee4620d14140582fd5d951605ff0988c131e Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 9 Aug 2021 09:19:29 +0200 Subject: [PATCH 128/414] hip: fix broken tests with ^cmake@3.21: (#25246) --- .../hip/0005-Disable-tests-3.5.0.patch | 53 +++++++++++++++ .../hip/0005-Disable-tests-3.6.0.patch | 65 ++++++++++++++++++ .../hip/0005-Disable-tests-3.9.0.patch | 68 +++++++++++++++++++ .../hip/0005-Disable-tests-4.1.0.patch | 42 ++++++++++++ .../repos/builtin/packages/hip/package.py | 8 +++ 5 files changed, 236 insertions(+) create mode 100644 var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.5.0.patch create mode 100644 var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.6.0.patch create mode 100644 var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.9.0.patch create mode 100644 var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.5.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.5.0.patch new file mode 100644 index 00000000000..500504e6577 --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.5.0.patch @@ -0,0 +1,53 @@ +From 52f389bc39e6f3d1eb76225a82c23312dd6006ee Mon Sep 17 00:00:00 2001 +From: Harmen Stoppels +Date: Wed, 4 Aug 2021 15:12:10 +0200 +Subject: [PATCH] tests + +--- + CMakeLists.txt | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4a34b02..37e1c3f 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -641,36 +641,6 @@ if(CLANGFORMAT_EXE) + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + +-############################# +-# Testing steps +-############################# +-# Target: test +-set(HIP_ROOT_DIR ${CMAKE_INSTALL_PREFIX}) +-set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-if(${RUN_HIT} EQUAL 0) +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-if(${RUN_HIT} EQUAL 0) +- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) +- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) +- +- # Add tests +- include_directories(${HIP_SRC_PATH}/tests/src) +- hit_add_directory_recursive(${HIP_SRC_PATH}/tests/src "directed_tests") +- +- # Add unit tests +- include_directories(${HIP_SRC_PATH}/tests/unit) +- hit_add_directory_recursive(${HIP_SRC_PATH}/tests/unit "unit_tests") +- +- # Add top-level tests to build_tests +- add_custom_target(build_tests DEPENDS directed_tests unit_tests) +- +- # Add custom target: check +- add_custom_target(check COMMAND "${CMAKE_COMMAND}" --build . --target test DEPENDS build_tests) +-else() +- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") +-endif() + + ############################# + # Code analysis +-- +2.25.1 + diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.6.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.6.0.patch new file mode 100644 index 00000000000..7adf7e35cca --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.6.0.patch @@ -0,0 +1,65 @@ +From 400797728d50d335c2399bc44ab2b1330d0c6dc4 Mon Sep 17 00:00:00 2001 +From: Harmen Stoppels +Date: Wed, 4 Aug 2021 15:10:00 +0200 +Subject: [PATCH] tests + +--- + CMakeLists.txt | 42 ------------------------------------------ + 1 file changed, 42 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 055543a..7e408b6 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -661,48 +661,6 @@ if(CLANGFORMAT_EXE) + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + +-############################# +-# Testing steps +-############################# +-# Target: test +-set(HIP_ROOT_DIR ${CMAKE_INSTALL_PREFIX}) +-set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-if(${RUN_HIT} EQUAL 0) +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-if(${RUN_HIT} EQUAL 0) +- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) +- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) +- +- # Add tests +- include_directories(${HIP_SRC_PATH}/tests/src) +- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/src "directed_tests") +- +- # Add unit tests +- include_directories(${HIP_SRC_PATH}/tests/unit) +- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/unit "unit_tests") +- +- # Add performance tests +- include_directories(${HIP_SRC_PATH}/tests/performance) +- hit_add_directory_recursive(${HIP_CTEST_CONFIG_PERFORMANCE} ${HIP_SRC_PATH}/tests/performance "performance_tests") +- +- # Add top-level tests to build_tests +- add_custom_target(build_tests DEPENDS directed_tests unit_tests) +- +- # Add top-level tests to build performance_tests. +- # To build performance tests, just run "make build_perf" +- add_custom_target(build_perf DEPENDS performance_tests) +- +- # Add custom target: perf. +- # To run performance tests, just run "make perf" +- add_custom_target(perf COMMAND "${CMAKE_CTEST_COMMAND}" -C "${HIP_CTEST_CONFIG_PERFORMANCE}" -R "performance_tests/" --verbose) +- +- # Add custom target: check +- add_custom_target(check COMMAND "${CMAKE_COMMAND}" --build . --target test DEPENDS build_tests) +-else() +- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") +-endif() + + ############################# + # Code analysis +-- +2.25.1 + diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.9.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.9.0.patch new file mode 100644 index 00000000000..fdc4a5ffa67 --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-3.9.0.patch @@ -0,0 +1,68 @@ +From 823d25faf479a83879a0faf73bf95eaae9ae9fff Mon Sep 17 00:00:00 2001 +From: Harmen Stoppels +Date: Wed, 4 Aug 2021 15:06:53 +0200 +Subject: [PATCH] Disable testing + +--- + CMakeLists.txt | 45 --------------------------------------------- + 1 file changed, 45 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7831bb4..b8f420c 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -696,51 +696,6 @@ if(CLANGFORMAT_EXE) + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + +-############################# +-# Testing steps +-############################# +-# Target: test +-set(HIP_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}) +-set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +-if(HIP_PLATFORM STREQUAL "nvcc") +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/include" "${CMAKE_CURRENT_BINARY_DIR}/include" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-if(${RUN_HIT} EQUAL 0) +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-if(${RUN_HIT} EQUAL 0) +- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) +- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) +- +- # Add tests +- include_directories(${HIP_SRC_PATH}/tests/src) +- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/src "directed_tests") +- +- # Add unit tests +- include_directories(${HIP_SRC_PATH}/tests/unit) +- hit_add_directory_recursive(${HIP_CTEST_CONFIG_DEFAULT} ${HIP_SRC_PATH}/tests/unit "unit_tests") +- +- # Add performance tests +- include_directories(${HIP_SRC_PATH}/tests/performance) +- hit_add_directory_recursive(${HIP_CTEST_CONFIG_PERFORMANCE} ${HIP_SRC_PATH}/tests/performance "performance_tests") +- +- # Add top-level tests to build_tests +- add_custom_target(build_tests DEPENDS directed_tests unit_tests) +- +- # Add top-level tests to build performance_tests. +- # To build performance tests, just run "make build_perf" +- add_custom_target(build_perf DEPENDS performance_tests) +- +- # Add custom target: perf. +- # To run performance tests, just run "make perf" +- add_custom_target(perf COMMAND "${CMAKE_CTEST_COMMAND}" -C "${HIP_CTEST_CONFIG_PERFORMANCE}" -R "performance_tests/" --verbose) +- +- # Add custom target: check +- add_custom_target(check COMMAND "${CMAKE_COMMAND}" --build . --target test DEPENDS build_tests) +-else() +- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") +-endif() + + ############################# + # Code analysis +-- +2.25.1 + diff --git a/var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch new file mode 100644 index 00000000000..e5829514588 --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/0005-Disable-tests-4.1.0.patch @@ -0,0 +1,42 @@ +From 0c097d01b70f479acc7c40cde35a057fafa072ba Mon Sep 17 00:00:00 2001 +From: Harmen Stoppels +Date: Wed, 4 Aug 2021 15:00:14 +0200 +Subject: [PATCH] Disable tests + +--- + CMakeLists.txt | 19 ------------------- + 1 file changed, 19 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a059c42..471fa97 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -488,25 +488,6 @@ if(CLANGFORMAT_EXE) + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + +-############################# +-# Testing steps +-############################# +-set(HIP_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}) +-set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +-if(HIP_PLATFORM STREQUAL "nvidia") +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/include" "${HIP_ROOT_DIR}/include" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-if(${RUN_HIT} EQUAL 0) +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/bin" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-if(${RUN_HIT} EQUAL 0) +- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) +- include(${HIP_SRC_PATH}/tests/hit/HIT.cmake) +- include(${HIP_SRC_PATH}/tests/Tests.cmake) +-else() +- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") +-endif() + + ############################# + # Code analysis +-- +2.25.1 + diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index 2343c4d6028..d2819019cef 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -63,10 +63,18 @@ class Hip(CMakePackage): patch('0003-Improve-compilation-without-git-repo.3.10.0.patch', when='@3.10.0:4.0.0') patch('0003-Improve-compilation-without-git-repo.4.1.0.patch', when='@4.1.0') patch('0003-Improve-compilation-without-git-repo-and-remove-compiler-rt-linkage-for-host.4.2.0.patch', when='@4.2.0') + # See https://github.com/ROCm-Developer-Tools/HIP/pull/2219 patch('0004-Drop-clang-rt-builtins-linking-on-hip-host.3.7.0.patch', when='@3.7.0:3.9.0') patch('0004-Drop-clang-rt-builtins-linking-on-hip-host.3.10.0.patch', when='@3.10.0:4.1.0') + # Tests are broken when using cmake 3.21 + with when('^cmake@3.21:'): + patch('0005-Disable-tests-3.5.0.patch', when='@3.5.0') + patch('0005-Disable-tests-3.6.0.patch', when='@3.6.0:3.8.0') + patch('0005-Disable-tests-3.9.0.patch', when='@3.9.0:4.0.0') + patch('0005-Disable-tests-4.1.0.patch', when='@4.1.0:') + def get_paths(self): if self.spec.external: # For external packages we only assume the `hip` prefix is known, From ff9c7380e809ff830e8d6d05339987f7de9f3943 Mon Sep 17 00:00:00 2001 From: Glenn Johnson Date: Mon, 9 Aug 2021 02:27:57 -0500 Subject: [PATCH 129/414] r-cairo: add an explicit dependency on libxt (#25309) Since r-cairo will always look for X libraries, and likely find them on the system, make it always depend on r+X. --- var/spack/repos/builtin/packages/r-cairo/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/r-cairo/package.py b/var/spack/repos/builtin/packages/r-cairo/package.py index c2a48a953ca..e600f0d7acd 100644 --- a/var/spack/repos/builtin/packages/r-cairo/package.py +++ b/var/spack/repos/builtin/packages/r-cairo/package.py @@ -31,5 +31,7 @@ class RCairo(RPackage): version('1.5-10', sha256='7837f0c384cd49bb3342cb39a916d7a80b02fffbf123913a58014e597f69b5d5') version('1.5-9', sha256='2a867b6cae96671d6bc3acf9334d6615dc01f6ecf1953a27cde8a43c724a38f4') + depends_on('r+X', type=('build', 'run')) depends_on('r@2.4.0:', type=('build', 'run')) depends_on('cairo@1.2:') + depends_on('libxt') From 24ea784dc42f9f93b7d7e08908276d446eb091e9 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Mon, 9 Aug 2021 02:43:35 -0500 Subject: [PATCH 130/414] petsc, petsc4py: add version 3.15.3 (#25307) --- var/spack/repos/builtin/packages/petsc/package.py | 1 + var/spack/repos/builtin/packages/py-petsc4py/package.py | 1 + 2 files changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 10f476228ba..ff99da1feb4 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -18,6 +18,7 @@ class Petsc(Package, CudaPackage, ROCmPackage): version('main', branch='main') + version('3.15.3', sha256='483028088020001e6f8d57b78a7fc880ed52d6693f57d627779c428f55cff73d') version('3.15.2', sha256='3b10c19c69fc42e01a38132668724a01f1da56f5c353105cd28f1120cc9041d8') version('3.15.1', sha256='c0ac6566e69d1d70b431e07e7598e9de95e84891c2452db1367c846b75109deb') version('3.15.0', sha256='ac46db6bfcaaec8cd28335231076815bd5438f401a4a05e33736b4f9ff12e59a') diff --git a/var/spack/repos/builtin/packages/py-petsc4py/package.py b/var/spack/repos/builtin/packages/py-petsc4py/package.py index 2b02c4f0f6e..94bb8c98ddd 100644 --- a/var/spack/repos/builtin/packages/py-petsc4py/package.py +++ b/var/spack/repos/builtin/packages/py-petsc4py/package.py @@ -17,6 +17,7 @@ class PyPetsc4py(PythonPackage): maintainers = ['balay'] version('main', branch='main') + version('3.15.3', sha256='06e7a5de3509067d8625330b10c1ab200b36df1dfdc2e93922038784b2722f8e') version('3.15.2', sha256='d7ed1d79d88b35da563d25e733f276595ba538c52756225f79ba92e1cc4658d3') version('3.15.1', sha256='4ec8f42081e4d6a61157b32869b352dcb18c69077f2d1e4160f3837efd9e150f') version('3.15.0', sha256='87dcc5ef63a1f0e1a963619f7527e623f52341b2806056b0ef5fdfb0b8b287ad') From ea71eb35d3ad81e37222db7023ebce00b5e88655 Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Mon, 9 Aug 2021 00:48:05 -0700 Subject: [PATCH 131/414] Update rocm ecosystem to v4.3.0 (#25299) --- var/spack/repos/builtin/packages/atmi/package.py | 5 +++-- var/spack/repos/builtin/packages/comgr/package.py | 5 +++-- var/spack/repos/builtin/packages/hip-rocclr/package.py | 4 +++- var/spack/repos/builtin/packages/hipify-clang/package.py | 5 +++-- var/spack/repos/builtin/packages/hsa-rocr-dev/package.py | 3 ++- .../repos/builtin/packages/rocm-bandwidth-test/package.py | 6 +++--- var/spack/repos/builtin/packages/rocm-dbgapi/package.py | 5 +++-- .../repos/builtin/packages/rocm-device-libs/package.py | 3 ++- var/spack/repos/builtin/packages/rocm-gdb/package.py | 6 +++--- var/spack/repos/builtin/packages/rocm-opencl/package.py | 4 +++- var/spack/repos/builtin/packages/rocprofiler-dev/package.py | 5 +++-- .../repos/builtin/packages/roctracer-dev-api/package.py | 3 ++- 12 files changed, 33 insertions(+), 21 deletions(-) diff --git a/var/spack/repos/builtin/packages/atmi/package.py b/var/spack/repos/builtin/packages/atmi/package.py index 2bea4d852c2..42fc3f62ee3 100644 --- a/var/spack/repos/builtin/packages/atmi/package.py +++ b/var/spack/repos/builtin/packages/atmi/package.py @@ -15,10 +15,11 @@ class Atmi(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/atmi" git = "https://github.com/RadeonOpenCompute/atmi.git" - url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='1cbe0e9258ce7cce7b7ccc288335dffbac821ceb745c4f3fd48e2a258abada89') version('4.2.0', sha256='c1c89c00d2dc3e764c63b2e51ff7fd5c06d5881ed56aed0adf639582d3389585') version('4.1.0', sha256='b31849f86c79f90466a9d67f0a28a93c1675181e38e2a5f571ffc963e4b06f5f') version('4.0.0', sha256='8a2e5789ee7165aff0f0669eecd23ac0a5c8a5bfbc1acd9380fe9a8ed5bffe3a') @@ -32,7 +33,7 @@ class Atmi(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('comgr@' + ver, type='link', when='@' + ver) depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver) depends_on('libelf@0.8:', type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/comgr/package.py b/var/spack/repos/builtin/packages/comgr/package.py index ed1963655da..aaa45d19a5e 100644 --- a/var/spack/repos/builtin/packages/comgr/package.py +++ b/var/spack/repos/builtin/packages/comgr/package.py @@ -19,6 +19,7 @@ class Comgr(CMakePackage): version('master', branch='amd-stg-open') + version('4.3.0', sha256='f77b505abb474078374701dfc49e651ad3eeec5349ce6edda54549943a3775ee') version('4.2.0', sha256='40a1ea50d2aea0cf75c4d17cdd6a7fe44ae999bf0147d24a756ca4675ce24e36') version('4.1.0', sha256='ffb625978555c63582aa46857672431793261166aa31761eff4fe5c2cab661ae') version('4.0.0', sha256='f389601fb70b2d9a60d0e2798919af9ddf7b8376a2e460141507fe50073dfb31') @@ -32,7 +33,7 @@ class Comgr(CMakePackage): # Disable the hip compile tests. Spack should not be using # /opt/rocm, and this breaks the build when /opt/rocm exists. - patch('hip-tests.patch') + patch('hip-tests.patch', when='@:4.2.0') depends_on('cmake@3.2.0:', type='build', when='@:3.8.99') depends_on('cmake@3.13.4:', type='build', when='@3.9.0:') @@ -42,7 +43,7 @@ class Comgr(CMakePackage): depends_on('ncurses', type='link') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: # llvm libs are linked statically, so this *could* be a build dep depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hip-rocclr/package.py b/var/spack/repos/builtin/packages/hip-rocclr/package.py index a62d6657470..3ff8e889d2e 100644 --- a/var/spack/repos/builtin/packages/hip-rocclr/package.py +++ b/var/spack/repos/builtin/packages/hip-rocclr/package.py @@ -27,6 +27,7 @@ def url_for_version(self, version): version('master', branch='main') + version('4.3.0', sha256='8a86b4f2a1b1c7ac628262e5b11b07ff42a224e62e594a4e0683aeb616062538') version('4.2.0', sha256='c57525af32c59becf56fd83cdd61f5320a95024d9baa7fb729a01e7a9fcdfd78') version('4.1.0', sha256='9eb1d88cfc9474979aaf29b99bcf9d3769a0f7f1f8f10660941aabf83d9eeb0c') version('4.0.0', sha256='8db502d0f607834e3b882f939d33e8abe2f9b55ddafaf1b0c2cd29a0425ed76a') @@ -42,7 +43,7 @@ def url_for_version(self, version): depends_on('numactl', type='link', when="@3.7.0:") for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) @@ -61,6 +62,7 @@ def url_for_version(self, version): # Add opencl sources thru the below for d_version, d_shasum in [ + ('4.3.0', 'd37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9'), ('4.2.0', '18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730'), ('4.1.0', '0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c'), ('4.0.0', 'd43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1'), diff --git a/var/spack/repos/builtin/packages/hipify-clang/package.py b/var/spack/repos/builtin/packages/hipify-clang/package.py index 129fe1e26be..b4277529398 100644 --- a/var/spack/repos/builtin/packages/hipify-clang/package.py +++ b/var/spack/repos/builtin/packages/hipify-clang/package.py @@ -12,11 +12,12 @@ class HipifyClang(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/HIPIFY" git = "https://github.com/ROCm-Developer-Tools/HIPIFY.git" - url = "https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-4.1.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.3.0', sha256='182b336a994e3de0dfbce935dc35091388d18a29e3cfdadb2ab7da8a2dc121a2') version('4.2.0', sha256='afdc82ae00e14e8e742be6cd47d8fb120d18fc52fe96cba8d8ac4c56176a432e') version('4.1.0', sha256='ec9cc410167b6ab31706742f3d7a77dbd29eb548e7371134b3aace8597665475') version('4.0.0', sha256='9d3906d606fca2bcb58f5f2a70cc4b9e298ca0e12a84ee5f18e42b7df97b38a4') @@ -30,5 +31,5 @@ class HipifyClang(CMakePackage): depends_on('cmake@3.5:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py index ba570b766e1..c5004e7427c 100644 --- a/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py +++ b/var/spack/repos/builtin/packages/hsa-rocr-dev/package.py @@ -20,6 +20,7 @@ class HsaRocrDev(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='master') + version('4.3.0', sha256='2a08657a517971447fc233cb2c8ee2e117c6ab5efc31af147b28b3ef59b3847d') version('4.2.0', sha256='fa0e7bcd64e97cbff7c39c9e87c84a49d2184dc977b341794770805ec3f896cc') version('4.1.0', sha256='c223a5f7ccac280520abb6ea49fdd36fa9468718098a9d984be6ef839ccbc6db') version('4.0.0', sha256='e84c48e80ea38698a5bd5da3940048ad3cab3696d10a53132acad07ca357f17c') @@ -41,7 +42,7 @@ class HsaRocrDev(CMakePackage): depends_on('libelf@0.8:', type='link') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) # allow standalone rocm-device-libs (useful for aomp) diff --git a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py index 5dc95cfed83..12b88bdce36 100644 --- a/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py +++ b/var/spack/repos/builtin/packages/rocm-bandwidth-test/package.py @@ -12,12 +12,12 @@ class RocmBandwidthTest(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test" git = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test.git" - url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') - + version('4.3.0', sha256='c6eb406cd2836af61dd5987f6b761340a1be20f66a9325f480423d10b9d3ec1b') version('4.2.0', sha256='d268365e3bb8031c1201c05e705074d1fd794d236843f80064855cf31e4412f5') version('4.1.0', sha256='4e34b60a7e4090d6475f0cdd86594b1b9a7b85d4e343999b9e148e196f0c2f4c') version('4.0.0', sha256='bde2aa743979eac195dd13ec8d0fcb7da183fff489da32c28b872eed7f6681b3') @@ -32,7 +32,7 @@ class RocmBandwidthTest(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('hsakmt-roct@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py index 72d29f517dc..cab391f3af5 100644 --- a/var/spack/repos/builtin/packages/rocm-dbgapi/package.py +++ b/var/spack/repos/builtin/packages/rocm-dbgapi/package.py @@ -15,12 +15,13 @@ class RocmDbgapi(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/ROCdbgapi" git = "https://github.com/ROCm-Developer-Tools/ROCdbgapi.git" - url = "https://github.com/ROCm-Developer-Tools/ROCdbgapi/archive/rocm-4.1.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/ROCdbgapi/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='amd-master') + version('4.3.0', sha256='4255d83d218bb0db8be9fef18e03a955ea1c6de1c635c31685ee5fc1540ddde6') version('4.2.0', sha256='fcdee5aaf5ed40c0377ce007a2947da9e718eeee86ca3e13192ff9e96a1b7373') version('4.1.0', sha256='d04fd9b2005691313547c4134b027b56b0ec6089f67d3bccbdb8fb1c92cde9bd') version('4.0.0', sha256='e87f31b3a22861397eb62d8363dd1e153596097ccfe68c6eefc1a83a2432ae18') @@ -33,7 +34,7 @@ class RocmDbgapi(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) depends_on('comgr@' + ver, type=('build', 'link'), when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-device-libs/package.py b/var/spack/repos/builtin/packages/rocm-device-libs/package.py index ebe54108c2e..dab53828b0f 100644 --- a/var/spack/repos/builtin/packages/rocm-device-libs/package.py +++ b/var/spack/repos/builtin/packages/rocm-device-libs/package.py @@ -17,6 +17,7 @@ class RocmDeviceLibs(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='amd-stg-open') + version('4.3.0', sha256='055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2') version('4.2.0', sha256='34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f') version('4.1.0', sha256='f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b') version('4.0.0', sha256='d0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a') @@ -37,7 +38,7 @@ class RocmDeviceLibs(CMakePackage): depends_on('llvm-amdgpu ~rocm-device-libs') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-gdb/package.py b/var/spack/repos/builtin/packages/rocm-gdb/package.py index 970c98d0398..eb0f274183b 100644 --- a/var/spack/repos/builtin/packages/rocm-gdb/package.py +++ b/var/spack/repos/builtin/packages/rocm-gdb/package.py @@ -12,10 +12,10 @@ class RocmGdb(AutotoolsPackage): 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-4.2.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/ROCgdb/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] - + version('4.3.0', sha256='8ee0667ab2cd91b2cc41d3a7af046d36a6b4e2007f050265aa65e0aedec83fd7') version('4.2.0', sha256='4bc579584a1f8614111e7e44d8aa1c6d5d06be3f5db055aba2cf1abc140122ac') version('4.1.0', sha256='28dc806e48695d654d52fb1a634df6d4c1243f00846ae90161e7a5e9f4d88b24') version('4.0.0', sha256='b90291b0a8409fe66d8a65d2731dcb87b9f5a22bac9ce3ffbab726eb129ba13d') @@ -36,7 +36,7 @@ class RocmGdb(AutotoolsPackage): depends_on('babeltrace@1.2.4', type='link') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-dbgapi@' + ver, type='link', when='@' + ver) depends_on('comgr@' + ver, type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-opencl/package.py b/var/spack/repos/builtin/packages/rocm-opencl/package.py index c8b440926ae..febd3b5a54d 100644 --- a/var/spack/repos/builtin/packages/rocm-opencl/package.py +++ b/var/spack/repos/builtin/packages/rocm-opencl/package.py @@ -21,6 +21,8 @@ def url_for_version(self, version): url = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz" return url.format(version) version('master', branch='main') + + version('4.3.0', sha256='d37bddcc6835b6c0fecdf4d02c204ac1d312076f3eef2b1faded1c4c1bc651e9') version('4.2.0', sha256='18133451948a83055ca5ebfb5ba1bd536ed0bcb611df98829f1251a98a38f730') version('4.1.0', sha256='0729e6c2adf1e3cf649dc6e679f9cb936f4f423f4954ad9852857c0a53ef799c') version('4.0.0', sha256='d43ea5898c6b9e730b5efabe8367cc136a9260afeac5d0fe85b481d625dd7df1') @@ -35,7 +37,7 @@ def url_for_version(self, version): depends_on('numactl', type='link', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('hip-rocclr@' + ver, type='build', when='@' + ver) depends_on('comgr@' + ver, type='build', when='@' + ver) depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py index c7e6cd5962c..41a8855b39b 100644 --- a/var/spack/repos/builtin/packages/rocprofiler-dev/package.py +++ b/var/spack/repos/builtin/packages/rocprofiler-dev/package.py @@ -12,10 +12,11 @@ class RocprofilerDev(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/rocprofiler" git = "https://github.com/ROCm-Developer-Tools/rocprofiler.git" - url = "https://github.com/ROCm-Developer-Tools/rocprofiler/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/rocprofiler/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='3b876a0e601d2c6ae56ddf2a6027afe45b3533f4445b0c2da748d020b6b00cf2') version('4.2.0', sha256='c5888eda1404010f88219055778cfeb00d9c21901e172709708720008b1af80f') version('4.1.0', sha256='2eead5707016da606d636b97f3af1c98cb471da78659067d5a77d4a2aa43ef4c') version('4.0.0', sha256='e9960940d1ec925814a0e55ee31f5fc2fb23fa839d1c6a909f72dd83f657fb25') @@ -27,7 +28,7 @@ class RocprofilerDev(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('rocminfo@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py index eb23b4f152b..fb07dd7a9ec 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev-api/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev-api/package.py @@ -13,10 +13,11 @@ class RoctracerDevApi(Package): homepage = "https://github.com/ROCm-Developer-Tools/roctracer" git = "https://github.com/ROCm-Developer-Tools/roctracer.git" - url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3') version('4.2.0', sha256='62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37') version('4.1.0', sha256='5d93de4e92895b6eb5f9d098f5dbd182d33923bd9b2ab69cf5a1abbf91d70695') version('4.0.0', sha256='f47859a46173228b597c463eda850b870e810534af5efd5f2a746067ef04edee') From f6cb0762290f319b927d85dc9f3cafd30b6a4375 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Mon, 9 Aug 2021 03:02:47 -0500 Subject: [PATCH 132/414] petsc: fix build with trilinos (#25289) --- var/spack/repos/builtin/packages/petsc/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index ff99da1feb4..40283927238 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -395,7 +395,7 @@ def install(self, spec, prefix): ('hdf5:hl,fortran', 'hdf5', True, True), 'zlib', 'mumps', - 'trilinos', + ('trilinos', 'trilinos', False, False), ('fftw:mpi', 'fftw', True, True), ('valgrind', 'valgrind', False, False), 'gmp', From 874a35e30d589507af46a1cf1ad514398e09eece Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Mon, 9 Aug 2021 03:05:52 -0500 Subject: [PATCH 133/414] trilinos: fix +hypre build (#25291) --- var/spack/repos/builtin/packages/trilinos/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index fdbf6ff6c4d..656dad4aaba 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -634,7 +634,7 @@ def define_tpl_enable(cmake_var, spec_var=None): continue depspec = spec[dep_name] options.extend([ - define('TPL_' + tpl_name + '_INCLUDE_DIRS', depspec.prefix.include), + define(tpl_name + '_INCLUDE_DIRS', depspec.prefix.include), define(tpl_name + '_ROOT', depspec.prefix), define(tpl_name + '_LIBRARY_NAMES', depspec.libs.names), define(tpl_name + '_LIBRARY_DIRS', depspec.libs.directories), From 4cd2cfc7e7675ad1071e4d6ad82c74fe5bdfe274 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Mon, 9 Aug 2021 01:06:56 -0700 Subject: [PATCH 134/414] ci pipelines: expand the list of RADIUSS packages (#25282) --- .../cloud_pipelines/stacks/radiuss/spack.yaml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml index 7508d797797..e5b336183e3 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml @@ -23,8 +23,8 @@ spack: # Note skipping spot since no spack package for it - radiuss: - #- ascent # ^conduit@0.6.0 - #- axom + - ascent # ^conduit@0.6.0 + - axom - blt - caliper #- care @@ -35,17 +35,17 @@ spack: #- glvis # ^mesa-glu@9.0.0 ^mesa18~llvm - hypre - lbann - #- lvarray ^raja~openmp # per Ben Corbett Issue #23192 + #- lvarray # ^raja~openmp # per Ben Corbett Issue #23192 - mfem - #- py-hatchet - #- py-maestrowf - #- py-merlin - #- py-shroud + - py-hatchet + - py-maestrowf + - py-merlin + - py-shroud #- raja - #- samrai + - samrai - scr - #- sundials - #- umpire ~openmp + - sundials + #- umpire #~openmp #- visit # ^mesa-glu@9.0.0 - xbraid - zfp From 25a4c5ad18392ce9c140f40e2e7957ee939ae1a5 Mon Sep 17 00:00:00 2001 From: Tom Stitt Date: Mon, 9 Aug 2021 01:08:33 -0700 Subject: [PATCH 135/414] mfem: add v4.3 (#25158) Co-authored-by: Veselin Dobrev --- var/spack/repos/builtin/packages/mfem/package.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py index 05481e62167..ecd470c4cb7 100644 --- a/var/spack/repos/builtin/packages/mfem/package.py +++ b/var/spack/repos/builtin/packages/mfem/package.py @@ -49,10 +49,13 @@ class Mfem(Package, CudaPackage, ROCmPackage): # other version. version('develop', branch='master') + version('4.3.0', + sha256='3a495602121b986049286ea0b23512279cdbdfb43c15c42a1511b521051fbe38', + url='https://bit.ly/mfem-4-3', extension='tar.gz') + version('4.2.0', '4352a225b55948d2e73a5ee88cece0e88bdbe7ba6726a23d68b2736d3221a86d', - url='https://bit.ly/mfem-4-2', extension='tar.gz', - preferred=True) + url='https://bit.ly/mfem-4-2', extension='tar.gz') version('4.1.0', '4c83fdcf083f8e2f5b37200a755db843cdb858811e25a8486ad36b2cbec0e11d', From 053fa2a47baee91d44aa374978f20ed018a68812 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Mon, 9 Aug 2021 10:30:31 +0200 Subject: [PATCH 136/414] netcdf-fortran: fix building with AOCC (#25186) --- .../packages/netcdf-fortran/package.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/var/spack/repos/builtin/packages/netcdf-fortran/package.py b/var/spack/repos/builtin/packages/netcdf-fortran/package.py index 1eca31d8497..add133d56ef 100644 --- a/var/spack/repos/builtin/packages/netcdf-fortran/package.py +++ b/var/spack/repos/builtin/packages/netcdf-fortran/package.py @@ -141,11 +141,50 @@ def configure_args(self): def patch_libtool(self): """AOCC support for NETCDF-F""" if '%aocc' in self.spec: + # Libtool does not fully support the compiler toolchain, therefore + # we have to patch the script. The C compiler normally gets + # configured correctly, the variables of interest in the + # 'BEGIN LIBTOOL CONFIG' section are set to non-empty values and, + # therefore, are not affected by the replacements below. A more + # robust solution would be to extend the filter_file function with + # an additional argument start_at and perform the replacements + # between the '# ### BEGIN LIBTOOL TAG CONFIG: FC' and + # '# ### END LIBTOOL TAG CONFIG: FC' markers for the Fortran + # compiler, and between the '# ### BEGIN LIBTOOL TAG CONFIG: F77' + # and '# ### END LIBTOOL TAG CONFIG: F77' markers for the Fortran 77 + # compiler. + + # How to pass a linker flag through the compiler: + filter_file(r'^wl=""$', + 'wl="{0}"'.format(self.compiler.linker_arg), + 'libtool') + + # Additional compiler flags for building library objects (we need + # this to enable shared libraries when building with ~pic). Note + # that the following will set fc_pic_flag for both FC and F77, which + # in the case of AOCC, should not be a problem. If it is, the + # aforementioned modification of the filter_file function could be + # a solution. + filter_file(r'^pic_flag=""$', + 'pic_flag=" {0}"'.format(self.compiler.fc_pic_flag), + 'libtool') + + # The following is supposed to tell the compiler to use the GNU + # linker. However, the replacement does not happen (at least for + # NetCDF-Fortran 4.5.3) because the replaced substring (i.e. the + # first argument passed to the filter_file function) is not present + # in the file. The flag should probably be added to 'ldflags' in the + # flag_handler method above (another option is to add the flag to + # 'ldflags' in compilers.yaml automatically as it was done for other + # flags in https://github.com/spack/spack/pull/22219). filter_file( r'\${wl}-soname \$wl\$soname', r'-fuse-ld=ld -Wl,-soname,\$soname', 'libtool', string=True) + # TODO: resolve the NAG-related issues in a similar way: remove the + # respective patch files and tune the generated libtool script instead. + @when('@:4.4.5') def check(self): with working_dir(self.build_directory): From 29098a1e07ba68c4e0eb85ad2cdff27478495222 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 9 Aug 2021 04:31:21 -0400 Subject: [PATCH 137/414] py-speech-recognition: new package (#25273) --- .../packages/py-speech-recognition/package.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-speech-recognition/package.py diff --git a/var/spack/repos/builtin/packages/py-speech-recognition/package.py b/var/spack/repos/builtin/packages/py-speech-recognition/package.py new file mode 100644 index 00000000000..e8dfa4ced21 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-speech-recognition/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PySpeechRecognition(PythonPackage): + """Library for performing speech recognition, with support + for several engines and APIs, online and offline.""" + + homepage = "https://github.com/Uberi/speech_recognition" + url = "https://github.com/Uberi/speech_recognition/archive/refs/tags/3.8.1.tar.gz" + + version('3.8.1', sha256='82d3313db383409ddaf3e42625fb0c3518231a1feb5e2ed5473b10b3d5ece7bd') + + depends_on('python@2.6:2.999,3.3:', type=('build', 'run')) + depends_on('py-setuptools', type='build') From 7ddd6ad4614316143b8af7e13a9668e22b8dabe7 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 6 Aug 2021 17:31:27 -0700 Subject: [PATCH 138/414] installation: filter padding from all `tty` output This is both a bugfix and a generalization of #25168. In #25168, we attempted to filter padding *just* from the debug output of `spack.util.executable.Executable` objects. It turns out we got it wrong -- filtering the command line string instead of the arg list resulted in output like this: ``` ==> [2021-08-05-21:34:19.918576] ["'", '/', 'b', 'i', 'n', '/', 't', 'a', 'r', "'", ' ', "'", '-', 'o', 'x', 'f', "'", ' ', "'", '/', 't', 'm', 'p', '/', 'r', 'o', 'o', 't', '/', 's', 'p', 'a', 'c', 'k', '-', 's', 't', 'a', 'g', 'e', '/', 's', 'p', 'a', 'c', 'k', '-', 's', 't', 'a', 'g', 'e', '-', 'p', 'a', 't', 'c', 'h', 'e', 'l', 'f', '-', '0', '.', '1', '3', '-', 'w', 'p', 'h', 'p', 't', 'l', 'h', 'w', 'u', 's', 'e', 'i', 'a', '4', 'k', 'p', 'g', 'y', 'd', 'q', 'l', 'l', 'i', '2', '4', 'q', 'b', '5', '5', 'q', 'u', '4', '/', 'p', 'a', 't', 'c', 'h', 'e', 'l', 'f', '-', '0', '.', '1', '3', '.', 't', 'a', 'r', '.', 'b', 'z', '2', "'"] ``` Additionally, plenty of builds output padded paths in other plcaes -- e.g., not just command arguments, but in other `tty` messages via `llnl.util.filesystem` and other places. `Executable` isn't really the right place for this. This PR reverts the changes to `Executable` and moves the filtering into `llnl.util.tty`. There is now a context manager there that you can use to install a filter for all output. `spack.installer.build_process()` now uses this context manager to make `tty` do path filtering when padding is enabled. - [x] revert filtering in `Executable` - [x] add ability for `tty` to filter output - [x] install output filter in `build_process()` - [x] tests --- lib/spack/llnl/util/tty/__init__.py | 57 +++++++++++++++++++++++------ lib/spack/spack/installer.py | 2 +- lib/spack/spack/test/util/path.py | 40 ++++++++++++++++++++ lib/spack/spack/util/executable.py | 39 ++++---------------- lib/spack/spack/util/path.py | 17 +++++++++ 5 files changed, 111 insertions(+), 44 deletions(-) diff --git a/lib/spack/llnl/util/tty/__init__.py b/lib/spack/llnl/util/tty/__init__.py index 987e226d5d1..ca3b5c4b8d6 100644 --- a/lib/spack/llnl/util/tty/__init__.py +++ b/lib/spack/llnl/util/tty/__init__.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals +import contextlib import fcntl import os import struct @@ -28,6 +29,7 @@ _msg_enabled = True _warn_enabled = True _error_enabled = True +_output_filter = lambda s: s indent = " " @@ -90,6 +92,18 @@ def error_enabled(): return _error_enabled +@contextlib.contextmanager +def output_filter(filter_fn): + """Context manager that applies a filter to all output.""" + global _output_filter + saved_filter = _output_filter + try: + _output_filter = filter_fn + yield + finally: + _output_filter = saved_filter + + class SuppressOutput: """Class for disabling output in a scope using 'with' keyword""" @@ -166,13 +180,23 @@ def msg(message, *args, **kwargs): if _stacktrace: st_text = process_stacktrace(2) if newline: - cprint("@*b{%s==>} %s%s" % ( - st_text, get_timestamp(), cescape(message))) + cprint( + "@*b{%s==>} %s%s" % ( + st_text, + get_timestamp(), + cescape(_output_filter(message)) + ) + ) else: - cwrite("@*b{%s==>} %s%s" % ( - st_text, get_timestamp(), cescape(message))) + cwrite( + "@*b{%s==>} %s%s" % ( + st_text, + get_timestamp(), + cescape(_output_filter(message)) + ) + ) for arg in args: - print(indent + six.text_type(arg)) + print(indent + _output_filter(six.text_type(arg))) def info(message, *args, **kwargs): @@ -188,18 +212,29 @@ def info(message, *args, **kwargs): st_text = "" if _stacktrace: st_text = process_stacktrace(st_countback) - cprint("@%s{%s==>} %s%s" % ( - format, st_text, get_timestamp(), cescape(six.text_type(message)) - ), stream=stream) + cprint( + "@%s{%s==>} %s%s" % ( + format, + st_text, + get_timestamp(), + cescape(_output_filter(six.text_type(message))) + ), + stream=stream + ) for arg in args: if wrap: lines = textwrap.wrap( - six.text_type(arg), initial_indent=indent, - subsequent_indent=indent, break_long_words=break_long_words) + _output_filter(six.text_type(arg)), + initial_indent=indent, + subsequent_indent=indent, + break_long_words=break_long_words + ) for line in lines: stream.write(line + '\n') else: - stream.write(indent + six.text_type(arg) + '\n') + stream.write( + indent + _output_filter(six.text_type(arg)) + '\n' + ) def verbose(message, *args, **kwargs): diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index 5ba5b3a70d8..baeaac70fb7 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -1886,7 +1886,7 @@ def build_process(pkg, install_args): installer = BuildProcessInstaller(pkg, install_args) # don't print long padded paths in executable debug output. - with spack.util.executable.filter_padding(): + with spack.util.path.filter_padding(): return installer.run() diff --git a/lib/spack/spack/test/util/path.py b/lib/spack/spack/test/util/path.py index 532bf031782..8795af33532 100644 --- a/lib/spack/spack/test/util/path.py +++ b/lib/spack/spack/test/util/path.py @@ -5,6 +5,9 @@ import pytest +import llnl.util.tty as tty + +import spack.config import spack.util.path as sup #: Some lines with lots of placeholders @@ -57,3 +60,40 @@ def test_longest_prefix_re(): assert "(?:s(?:t(?:r(?:i(?:ng?)?)?)?)?)" == sup.longest_prefix_re( "string", capture=False ) + + +def test_output_filtering(capfd, install_mockery, mutable_config): + """Test filtering padding out of tty messages.""" + long_path = "/" + "/".join([sup.SPACK_PATH_PADDING_CHARS] * 200) + padding_string = "[padded-to-%d-chars]" % len(long_path) + + # test filtering when padding is enabled + with spack.config.override('config:install_tree', {"padded_length": 256}): + # tty.msg with filtering on the first argument + with sup.filter_padding(): + tty.msg("here is a long path: %s/with/a/suffix" % long_path) + out, err = capfd.readouterr() + assert padding_string in out + + # tty.msg with filtering on a laterargument + with sup.filter_padding(): + tty.msg("here is a long path:", "%s/with/a/suffix" % long_path) + out, err = capfd.readouterr() + assert padding_string in out + + # tty.error with filtering on the first argument + with sup.filter_padding(): + tty.error("here is a long path: %s/with/a/suffix" % long_path) + out, err = capfd.readouterr() + assert padding_string in err + + # tty.error with filtering on a later argument + with sup.filter_padding(): + tty.error("here is a long path:", "%s/with/a/suffix" % long_path) + out, err = capfd.readouterr() + assert padding_string in err + + # test no filtering + tty.msg("here is a long path: %s/with/a/suffix" % long_path) + out, err = capfd.readouterr() + assert padding_string not in out diff --git a/lib/spack/spack/util/executable.py b/lib/spack/spack/util/executable.py index 94fc7f16a71..e615ccdcfd8 100644 --- a/lib/spack/spack/util/executable.py +++ b/lib/spack/spack/util/executable.py @@ -2,7 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import contextlib + import os import re import shlex @@ -17,27 +17,6 @@ __all__ = ['Executable', 'which', 'ProcessError'] -#: optionally filter padding on debug output in spack.util.executable -_filter_padding = False - - -@contextlib.contextmanager -def filter_padding(): - """Context manager to safely disable path padding in debug output. - - This is needed because Spack's debug output gets extremely long when we use a - long padded installation path. - """ - global _filter_padding - try: - # don't bother filtering if padding isn't actually enabled - padding = spack.config.get("config:install_tree:padded_length", None) - if padding: - _filter_padding = True - yield - finally: - _filter_padding = False - class Executable(object): """Class representing a program that can be run on the command line.""" @@ -206,13 +185,9 @@ def streamify(arg, mode): cmd = self.exe + list(args) - cmd_line = "'%s'" % "' '".join( - map(lambda arg: arg.replace("'", "'\"'\"'"), cmd)) - - debug_cmd_line = cmd_line - if _filter_padding: - debug_cmd_line = [spack.util.path.padding_filter(elt) for elt in cmd_line] - tty.debug(debug_cmd_line) + escaped_cmd = ["'%s'" % arg.replace("'", "'\"'\"'") for arg in cmd] + cmd_line_string = " ".join(escaped_cmd) + tty.debug(cmd_line_string) try: proc = subprocess.Popen( @@ -239,7 +214,7 @@ def streamify(arg, mode): rc = self.returncode = proc.returncode if fail_on_error and rc != 0 and (rc not in ignore_errors): - long_msg = cmd_line + long_msg = cmd_line_string if result: # If the output is not captured in the result, it will have # been stored either in the specified files (e.g. if @@ -254,13 +229,13 @@ def streamify(arg, mode): except OSError as e: raise ProcessError( - '%s: %s' % (self.exe[0], e.strerror), 'Command: ' + cmd_line) + '%s: %s' % (self.exe[0], e.strerror), 'Command: ' + cmd_line_string) except subprocess.CalledProcessError as e: if fail_on_error: raise ProcessError( str(e), '\nExit status %d when invoking command: %s' % - (proc.returncode, cmd_line)) + (proc.returncode, cmd_line_string)) finally: if close_ostream: diff --git a/lib/spack/spack/util/path.py b/lib/spack/spack/util/path.py index 1848af1440a..04d45a012bd 100644 --- a/lib/spack/spack/util/path.py +++ b/lib/spack/spack/util/path.py @@ -7,6 +7,7 @@ TODO: this is really part of spack.config. Consolidate it. """ +import contextlib import getpass import os import re @@ -232,3 +233,19 @@ def replacer(match): len(match.group(0)) ) return _filter_re.sub(replacer, string) + + +@contextlib.contextmanager +def filter_padding(): + """Context manager to safely disable path padding in all Spack output. + + This is needed because Spack's debug output gets extremely long when we use a + long padded installation path. + """ + padding = spack.config.get("config:install_tree:padded_length", None) + if padding: + # filter out all padding from the intsall command output + with tty.output_filter(padding_filter): + yield + else: + yield # no-op: don't filter unless padding is actually enabled From 22bc189e0e3dd8dbc9423bd2a840ba5cfcaf211f Mon Sep 17 00:00:00 2001 From: Martin Pokorny Date: Mon, 9 Aug 2021 03:13:26 -0600 Subject: [PATCH 139/414] casacore: add variant for ADIOS2 support (#25251) --- var/spack/repos/builtin/packages/casacore/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/casacore/package.py b/var/spack/repos/builtin/packages/casacore/package.py index 7ce957d3d9e..7b113638f6c 100644 --- a/var/spack/repos/builtin/packages/casacore/package.py +++ b/var/spack/repos/builtin/packages/casacore/package.py @@ -32,6 +32,7 @@ class Casacore(CMakePackage): variant('readline', default=True, description='Build readline support') # see note below about the reason for disabling the "sofa" variant # variant('sofa', default=False, description='Build SOFA support') + variant('adios2', default=False, description='Build ADIOS2 support') variant('fftpack', default=False, description='Build FFTPack') variant('hdf5', default=False, description='Build HDF5 support') variant('python', default=False, description='Build python support') @@ -55,6 +56,8 @@ class Casacore(CMakePackage): # force a dependency when building unit tests depends_on('sofa-c', type='test') depends_on('hdf5', when='+hdf5') + depends_on('adios2+mpi', when='+adios2') + depends_on('mpi', when='+adios2') depends_on('python@2.6:', when='+python') depends_on('boost+python', when='+python') depends_on('py-numpy', when='+python') @@ -67,6 +70,10 @@ def cmake_args(self): args.append(self.define_from_variant('USE_OPENMP', 'openmp')) args.append(self.define_from_variant('USE_READLINE', 'readline')) args.append(self.define_from_variant('USE_HDF5', 'hdf5')) + args.append(self.define_from_variant('USE_ADIOS2', 'adios2')) + args.append(self.define_from_variant('USE_MPI', 'adios2')) + if spec.satisfies('+adios2'): + args.append(self.define('ENABLE_TABLELOCKING', False)) # fftw3 is required by casacore starting with v3.4.0, but the # old fftpack is still available. For v3.4.0 and later, we From f67d3b127c01ea67ad6237c3e9341a4831837230 Mon Sep 17 00:00:00 2001 From: Severin Strobl Date: Mon, 9 Aug 2021 11:14:55 +0200 Subject: [PATCH 140/414] apex: add v2.4.1 (#25248) Also updated the URLs for APEX according to the recent move. --- var/spack/repos/builtin/packages/apex/package.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py index 79e7b0e7421..19c06dce0e2 100644 --- a/var/spack/repos/builtin/packages/apex/package.py +++ b/var/spack/repos/builtin/packages/apex/package.py @@ -12,12 +12,13 @@ class Apex(CMakePackage): """Autonomic Performance Environment for eXascale (APEX).""" maintainers = ['khuck'] - homepage = "https://github.com/khuck/xpress-apex" - url = "https://github.com/khuck/xpress-apex/archive/v2.3.1.tar.gz" - git = "https://github.com/khuck/xpress-apex" + homepage = "https://uo-oaciss.github.io/apex" + url = "https://github.com/UO-OACISS/apex/archive/v2.3.1.tar.gz" + git = "https://github.com/UO-OACISS/apex" version('develop', branch='develop') version('master', branch='master') + version('2.4.1', sha256='055d09dd36c529ebd3bab4defbec4ad1d227c004a291faf26e77e4ab79ce470c') version('2.4.0', sha256='15d8957da7b37d2c684a6f0f32aef65b0b26be6558da17963cf71f3fd3cfdf2f') version('2.3.2', sha256='acf37c024a2283cafbf206f508929208b62c8f800af22ad7c74c570863a31bb4') version('2.3.1', sha256='86bf6933f2c53531fcb24cda9fc7dc9919909bed54740d1e0bc3e7ce6ed78091') From bd8ae72146aae52bab81b6ae084ae5ab6e668b14 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Mon, 9 Aug 2021 05:15:38 -0400 Subject: [PATCH 141/414] dcm2niix: new package (at version 1.0.20210317) (#25250) --- .../repos/builtin/packages/dcm2niix/package.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 var/spack/repos/builtin/packages/dcm2niix/package.py diff --git a/var/spack/repos/builtin/packages/dcm2niix/package.py b/var/spack/repos/builtin/packages/dcm2niix/package.py new file mode 100644 index 00000000000..3074f8a5f58 --- /dev/null +++ b/var/spack/repos/builtin/packages/dcm2niix/package.py @@ -0,0 +1,16 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack import * + + +class Dcm2niix(CMakePackage): + """DICOM to NIfTI converter""" + + homepage = "https://github.com/rordenlab/dcm2niix" + url = "https://github.com/rordenlab/dcm2niix/archive/refs/tags/v1.0.20210317.tar.gz" + + version('1.0.20210317', sha256='42fb22458ebfe44036c3d6145dacc6c1dc577ebbb067bedc190ed06f546ee05a') From 20698f8f7e4ae57ca26573cc30129e9696834a39 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 9 Aug 2021 05:35:38 -0500 Subject: [PATCH 142/414] py-setuptools: add v57.4.0 (#25239) --- .../builtin/packages/py-scipy/package.py | 5 +++-- .../builtin/packages/py-setuptools/package.py | 22 ++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py index 33d1001f6dd..54d367324c4 100644 --- a/var/spack/repos/builtin/packages/py-scipy/package.py +++ b/var/spack/repos/builtin/packages/py-scipy/package.py @@ -52,8 +52,9 @@ class PyScipy(PythonPackage): depends_on('python@3.6:', when='@1.5:1.5.999', type=('build', 'link', 'run')) depends_on('python@3.7:', when='@1.6:1.6.1', type=('build', 'link', 'run')) depends_on('python@3.7:3.9.999', when='@1.6.2:', type=('build', 'link', 'run')) - depends_on('py-setuptools', when='@:1.6.1', type='build') - depends_on('py-setuptools@:51.0.0', when='@1.6.2:', type='build') + depends_on('py-setuptools', when='@:1.5', type='build') + depends_on('py-setuptools@:51.0.0', when='@1.6', type='build') + depends_on('py-setuptools@:57', when='@1.7:', type='build') depends_on('py-pybind11@2.2.4:', when='@1.4.0', type=('build', 'link')) depends_on('py-pybind11@2.4.0:', when='@1.4.1:1.4.999', type=('build', 'link')) depends_on('py-pybind11@2.4.3:', when='@1.5:1.6.1', type=('build', 'link')) diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py index dfd1c7a4a10..ea293112395 100644 --- a/var/spack/repos/builtin/packages/py-setuptools/package.py +++ b/var/spack/repos/builtin/packages/py-setuptools/package.py @@ -11,8 +11,10 @@ class PySetuptools(PythonPackage): upgrading, installing, and uninstalling Python packages.""" homepage = "https://github.com/pypa/setuptools" - pypi = "setuptools/setuptools-49.2.0.zip" + pypi = "setuptools/setuptools-57.4.0.tar.gz" + version('57.4.0', sha256='6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465') + version('51.0.0', sha256='029c49fd713e9230f6a41c0298e6e1f5839f2cde7104c0ad5e053a37777e7688') version('50.3.2', sha256='ed0519d27a243843b05d82a5e9d01b0b083d9934eaa3d02779a23da18077bd3c') version('50.1.0', sha256='4a7708dafd2d360ce5e2ac7577374da9fb65fc867bc4cdaf461f9f834dfa6ac3') version('49.6.0', sha256='46bd862894ed22c2edff033c758c2dc026324788d758e96788e8f7c11f4e9707') @@ -36,17 +38,17 @@ class PySetuptools(PythonPackage): version('16.0', sha256='aa86255dee2c4a0056509750008007667c29306b7a6c13801468515b2c672845') version('11.3.1', sha256='bd25f17de4ecf00116a9f7368b614a54ca1612d7945d2eafe5d97bc08c138bc5') - depends_on('python@3.5:', type=('build', 'run'), when='@45.0.0:') - depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@44.0.0:44.99.99') - depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@:43.99.99') + depends_on('python@3.6:', type=('build', 'run'), when='@51:') + depends_on('python@3.5:', type=('build', 'run'), when='@45:50') + depends_on('python@2.7:2.8,3.5:', type=('build', 'run'), when='@44') + depends_on('python@2.7:2.8,3.4:', type=('build', 'run'), when='@:43') def url_for_version(self, version): - url = 'https://pypi.io/packages/source/s/setuptools/setuptools-{0}' - url = url.format(version) + url = 'https://pypi.io/packages/source/s/setuptools/setuptools-{0}.{1}' - if version > Version('32.1.2'): - url += '.zip' + if Version('32.1.2') <= version <= Version('51.0.0'): + ext = 'zip' else: - url += '.tar.gz' + ext = 'tar.gz' - return url + return url.format(version, ext) From 534b5d28e8db4484f895e7a219364e0dc4811939 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Mon, 9 Aug 2021 06:36:12 -0400 Subject: [PATCH 143/414] ssht: add v1.5.0 (#25247) --- var/spack/repos/builtin/packages/ssht/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/ssht/package.py b/var/spack/repos/builtin/packages/ssht/package.py index db8bb435be6..b76e1c2c8cf 100644 --- a/var/spack/repos/builtin/packages/ssht/package.py +++ b/var/spack/repos/builtin/packages/ssht/package.py @@ -21,6 +21,7 @@ class Ssht(CMakePackage): maintainers = ['eschnett'] + version('1.5.0', sha256='ff42103463c973a11da84b757d2a6661679c8a60745e44f0ccf697f88593083a') version('1.4.0', sha256='b33f1b763a240df773a1900139aad6f6b5c676bb2b64a8c1062077fd95c08769') version('1.3.7', sha256='947c11b104734acb124171ff5115d14279b4d09bc297ac989204633919df422e') version('1.3.6', sha256='db652e0f550229a630643bbf4bdb270def25c158be5ccdcf594a24fd8054430d') From 250a08ab7ae1ebb9a2c106d8da3d14039ebf69a2 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 9 Aug 2021 05:40:10 -0500 Subject: [PATCH 144/414] py-requests-unixsocket: add missing py-pbr dependency (#25241) --- .../repos/builtin/packages/py-requests-unixsocket/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-requests-unixsocket/package.py b/var/spack/repos/builtin/packages/py-requests-unixsocket/package.py index f8e3fee7b1c..f2e5c41a1ef 100644 --- a/var/spack/repos/builtin/packages/py-requests-unixsocket/package.py +++ b/var/spack/repos/builtin/packages/py-requests-unixsocket/package.py @@ -15,5 +15,6 @@ class PyRequestsUnixsocket(PythonPackage): version('0.2.0', sha256='9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea') depends_on('py-setuptools', type='build') + depends_on('py-pbr', type='build') depends_on('py-requests@1.1:', type=('build', 'run')) depends_on('py-urllib3@1.8:', type=('build', 'run')) From c513ba25f1ce2733e7de2fe15f8f2517c4b3a766 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 9 Aug 2021 05:41:12 -0500 Subject: [PATCH 145/414] py-pytest: add v6.2.4 (#25240) --- .../builtin/packages/py-pytest/package.py | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pytest/package.py b/var/spack/repos/builtin/packages/py-pytest/package.py index 4de83b358df..6dce964724e 100644 --- a/var/spack/repos/builtin/packages/py-pytest/package.py +++ b/var/spack/repos/builtin/packages/py-pytest/package.py @@ -12,6 +12,7 @@ class PyPytest(PythonPackage): homepage = "http://pytest.org/" pypi = "pytest/pytest-5.2.1.tar.gz" + version('6.2.4', sha256='50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b') version('6.2.1', sha256='66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306') version('6.1.1', sha256='8f593023c1a0f916110285b6efd7f99db07d59546e3d8c36fc60e2ab05d3be92') version('5.3.4', sha256='1d122e8be54d1a709e56f82e2d85dcba3018313d64647f38a91aec88c239b600') @@ -28,35 +29,26 @@ class PyPytest(PythonPackage): version('3.0.7', sha256='b70696ebd1a5e6b627e7e3ac1365a4bc60aaf3495e843c1e70448966c5224cab') version('3.0.2', sha256='64d8937626dd2a4bc15ef0edd307d26636a72a3f3f9664c424d78e40efb1e339') - depends_on('python@3.6:', when='@6.2.0', type=('build', 'run')) - depends_on('python@3.5:', when='@5:6.1.999', type=('build', 'run')) + # python_requires + depends_on('python@3.6:', when='@6.2:', type=('build', 'run')) + depends_on('python@3.5:', when='@5:6.1', type=('build', 'run')) depends_on('python@2.7:2.8,3.4:', when='@3.3:4', type=('build', 'run')) depends_on('python@2.6:2.8,3.3:', when='@:3.2', type=('build', 'run')) - # Most Python packages only require setuptools as a build dependency. - # However, pytest requires setuptools during runtime as well. - # FIXME: May no longer be needed at runtime, see: - # https://github.com/pytest-dev/pytest/pull/5063 + # setup_requires depends_on('py-setuptools@42.0:', when='@6.2:', type=('build', 'run')) depends_on('py-setuptools@40.0:', when='@3.9.2:6.1.999', type=('build', 'run')) depends_on('py-setuptools@30.3:', when='@3.9.0:3.9.1', type=('build', 'run')) depends_on('py-setuptools', type=('build', 'run')) - depends_on('py-setuptools-scm@3.4:', when='@6.2:', type=('build', 'run')) + depends_on('py-setuptools-scm@3.4:', when='@6.2:', type='build') depends_on('py-setuptools-scm', when='@3.1:', type='build') - depends_on('py-py@1.8.2:', when='@6:', type=('build', 'run')) - depends_on('py-py@1.5.0:', when='@3.3:5.999', type=('build', 'run')) - depends_on('py-py@1.4.33:', when='@3.1.2:3.2.3,3.2.5:3.2.999', type=('build', 'run')) - depends_on('py-py@1.4.33:1.4.999', when='@3.2.4', type=('build', 'run')) - depends_on('py-py@1.4.29:', when='@:3.1.1', type=('build', 'run')) - depends_on('py-six@1.10.0:', when='@3.3:4', type=('build', 'run')) - depends_on('py-packaging', when='@4.6:', type=('build', 'run')) + + # install_requires depends_on('py-attrs@19.2.0:', when='@6.2:', type=('build', 'run')) depends_on('py-attrs@17.4.0:', when='@3.5:6.1.999', type=('build', 'run')) depends_on('py-attrs@17.2.0:', when='@3.3:3.4', type=('build', 'run')) - depends_on('py-more-itertools@4.0.0:', when='@3.5.1:5.999', type=('build', 'run')) - depends_on('py-more-itertools@4.0.0:6.0.0', when='@4.2.1:4.6.9 ^python@:2', type=('build', 'run')) - depends_on('py-atomicwrites@1.0:', when='@3.6:5.2.999', type=('build', 'run')) - depends_on('py-pluggy@0.12:1.0.0', when='@6.2.1.', type=('build', 'run')) + depends_on('py-iniconfig', when='@6.0:', type=('build', 'run')) + depends_on('py-packaging', when='@4.6:', type=('build', 'run')) depends_on('py-pluggy@0.12:0.999', when='@4.6:', type=('build', 'run')) depends_on('py-pluggy@0.9.0:0.9.999,0.11:0.999', when='@4.5.0:4.5.999', type=('build', 'run')) depends_on('py-pluggy@0.11:', when='@4.4.2:4.4.999', type=('build', 'run')) @@ -64,12 +56,24 @@ class PyPytest(PythonPackage): depends_on('py-pluggy@0.7:', when='@3.7:4.3', type=('build', 'run')) depends_on('py-pluggy@0.5:0.7', when='@3.6.4:3.6.999', type=('build', 'run')) depends_on('py-pluggy@0.5:0.6', when='@:3.6.3', type=('build', 'run')) + depends_on('py-py@1.8.2:', when='@6:', type=('build', 'run')) + depends_on('py-py@1.5.0:', when='@3.3:5.999', type=('build', 'run')) + depends_on('py-py@1.4.33:', when='@3.1.2:3.2.3,3.2.5:3.2.999', type=('build', 'run')) + depends_on('py-py@1.4.33:1.4.999', when='@3.2.4', type=('build', 'run')) + depends_on('py-py@1.4.29:', when='@:3.1.1', type=('build', 'run')) + depends_on('py-toml', when='@6.0:', type=('build', 'run')) + depends_on('py-atomicwrites@1.0:', when='@5.3: platform=win32', type=('build', 'run')) + depends_on('py-atomicwrites@1.0:', when='@3.6:5.2.999', type=('build', 'run')) + depends_on('py-colorama', when='platform=win32', type=('build', 'run')) + depends_on('py-importlib-metadata@0.12:', when='@4.6:5.0', type=('build', 'run')) + depends_on('py-importlib-metadata@0.12:', when='@5.1: ^python@:3.7', type=('build', 'run')) + + # Historic dependencies + depends_on('py-six@1.10.0:', when='@3.3:4', type=('build', 'run')) + depends_on('py-more-itertools@4.0.0:', when='@3.5.1:5.999', type=('build', 'run')) + depends_on('py-more-itertools@4.0.0:6.0.0', when='@4.2.1:4.6.9 ^python@:2', type=('build', 'run')) depends_on('py-funcsigs@1.0:', when='@4.4: ^python@:2', type=('build', 'run')) depends_on('py-funcsigs', when='@3.3:4.3 ^python@:2', type=('build', 'run')) depends_on('py-pathlib2@2.2.0:', when='@3.7.1: ^python@:3.5', type=('build', 'run')) depends_on('py-pathlib2', when='@3.7.0 ^python@:3.5', type=('build', 'run')) - depends_on('py-importlib-metadata@0.12:', when='@4.6:5.0', type=('build', 'run')) - depends_on('py-importlib-metadata@0.12:', when='@5.1: ^python@:3.7', type=('build', 'run')) depends_on('py-wcwidth', when='@4.5:5.999', type=('build', 'run')) - depends_on('py-iniconfig', when='@6.0:', type=('build', 'run')) - depends_on('py-toml', when='@6.0:', type=('build', 'run')) From 0f514a390acda767f8f6b5696f36a0db85f3b4d0 Mon Sep 17 00:00:00 2001 From: Tom Stitt Date: Mon, 9 Aug 2021 04:20:57 -0700 Subject: [PATCH 146/414] xproperty: add new package (#25236) --- .../builtin/packages/xproperty/package.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 var/spack/repos/builtin/packages/xproperty/package.py diff --git a/var/spack/repos/builtin/packages/xproperty/package.py b/var/spack/repos/builtin/packages/xproperty/package.py new file mode 100644 index 00000000000..80b7e8c14bc --- /dev/null +++ b/var/spack/repos/builtin/packages/xproperty/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Xproperty(CMakePackage): + """C++ library providing traitlets-style properties""" + + homepage = "https://github.com/jupyter-xeus/xproperty" + url = "https://github.com/jupyter-xeus/xproperty/archive/0.11.0.tar.gz" + git = "https://github.com/jupyter-xeus/xproperty.git" + + maintainers = ['tomstitt'] + + version('master', branch='master') + version('0.11.0', sha256='bf86a11c6758308aa0aa0f64d8dd24cd3e9d78378467b74002f552bfb75fc0eb') + + depends_on('xtl@0.7.0:0.7.999', when='@0.11.0:') + + # C++14 support + conflicts('%gcc@:4.8') + conflicts('%clang@:3.3') From df0d86d795c4efed385ab0332890ea2d461ebb0b Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 9 Aug 2021 06:23:38 -0500 Subject: [PATCH 147/414] py-pytorch-lightning: add v1.4.1 (#25232) --- .../packages/py-pytorch-lightning/package.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py b/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py index 7dd74c3b597..4c2578b6abf 100644 --- a/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py +++ b/var/spack/repos/builtin/packages/py-pytorch-lightning/package.py @@ -12,6 +12,8 @@ class PyPytorchLightning(PythonPackage): homepage = "https://github.com/PyTorchLightning/pytorch-lightning" pypi = "pytorch-lightning/pytorch-lightning-1.2.10.tar.gz" + version('1.4.1', sha256='1d1128aeb5d0e523d2204c4d9399d65c4e5f41ff0370e96d694a823af5e8e6f3') + version('1.4.0', sha256='6529cf064f9dc323c94f3ce84b56ee1a05db1b0ab17db77c4d15aa36e34da81f') version('1.3.8', sha256='60b0a3e464d394864dae4c8d251afa7aa453644a19bb7672f5ee400343cdf7b0') version('1.2.10', sha256='2d8365e30ded0c20e73ce6e5b6028478ae460b8fd33727df2275666df005a301') @@ -19,17 +21,22 @@ class PyPytorchLightning(PythonPackage): depends_on('py-setuptools', type='build') depends_on('py-numpy@1.17.2:', when='@1.3:', type=('build', 'run')) depends_on('py-numpy@1.16.6:', when='@:1.2', type=('build', 'run')) - depends_on('py-torch@1.4:', type=('build', 'run')) + depends_on('py-torch@1.6:', when='@1.4:', type=('build', 'run')) + depends_on('py-torch@1.4:', when='@:1.3', type=('build', 'run')) depends_on('py-future@0.17.1:', type=('build', 'run')) depends_on('py-tqdm@4.41.0:', type=('build', 'run')) - depends_on('py-pyyaml@5.1:5.4.1', when='@1.3:', type=('build', 'run')) + depends_on('py-pyyaml@5.1:', when='@1.4:', type=('build', 'run')) + depends_on('py-pyyaml@5.1:5.4.1', when='@1.3', type=('build', 'run')) depends_on('py-pyyaml@5.1:5.3,5.5:', when='@:1.2', type=('build', 'run')) - depends_on('py-fsspec@2021.05.0:2021.05.999,2021.06.1:', when='@1.3:', type=('build', 'run')) + depends_on('py-fsspec@2021.05.0:2021.05.999,2021.06.1:+http', when='@1.3:', type=('build', 'run')) depends_on('py-fsspec@0.8.1:+http', when='@:1.2', type=('build', 'run')) depends_on('py-tensorboard@2.2.0:2.4.999,2.5.1:', type=('build', 'run')) - depends_on('py-torchmetrics@0.2.0:', when='@1.3:', type=('build', 'run')) + depends_on('py-torchmetrics@0.4.0:', when='@1.4:', type=('build', 'run')) + depends_on('py-torchmetrics@0.2.0:', when='@1.3', type=('build', 'run')) depends_on('py-torchmetrics@0.2.0', when='@:1.2', type=('build', 'run')) - depends_on('py-pydeprecate@0.3.0', when='@1.3:', type=('build', 'run')) + depends_on('py-pydeprecate@0.3.1', when='@1.4:', type=('build', 'run')) + depends_on('py-pydeprecate@0.3.0', when='@1.3', type=('build', 'run')) depends_on('py-packaging@17.0:', when='@1.3:', type=('build', 'run')) depends_on('py-packaging', type=('build', 'run')) - depends_on('pil@:8.2.999,8.3.1:', when='@1.3:', type=('build', 'run')) + depends_on('py-typing-extensions', when='@1.4:', type=('build', 'run')) + depends_on('pil@:8.2.999,8.3.1:', when='@1.3', type=('build', 'run')) From 21e2ba13dccbb0692284608acc39a588177c2975 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 9 Aug 2021 06:24:12 -0500 Subject: [PATCH 148/414] py-pydeprecate: add v0.3.1 (#25231) --- var/spack/repos/builtin/packages/py-pydeprecate/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-pydeprecate/package.py b/var/spack/repos/builtin/packages/py-pydeprecate/package.py index 1cd50f7151a..241e6da4763 100644 --- a/var/spack/repos/builtin/packages/py-pydeprecate/package.py +++ b/var/spack/repos/builtin/packages/py-pydeprecate/package.py @@ -13,6 +13,7 @@ class PyPydeprecate(PythonPackage): homepage = "https://borda.github.io/pyDeprecate/" pypi = "pyDeprecate/pyDeprecate-0.3.0.tar.gz" + version('0.3.1', sha256='fa26870924d3475621c344045c2c01a16ba034113a902600c78e75b3fac5f72c') version('0.3.0', sha256='335742ec53b9d22a0a9ff4f3470300c94935f6e169c74b08aee14d871ca40e00') depends_on('python@3.6:', type=('build', 'run')) From 80473283f3baa3e03021ccbad995892118b757c2 Mon Sep 17 00:00:00 2001 From: Tom Stitt Date: Mon, 9 Aug 2021 04:42:46 -0700 Subject: [PATCH 149/414] xeus: add v1.0.4, improved package recipe (#24984) Co-authored-by: Massimiliano Culpo Co-authored-by: Adam J. Stewart --- .../repos/builtin/packages/xeus/package.py | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/var/spack/repos/builtin/packages/xeus/package.py b/var/spack/repos/builtin/packages/xeus/package.py index b4601508f5c..8f3c899a051 100644 --- a/var/spack/repos/builtin/packages/xeus/package.py +++ b/var/spack/repos/builtin/packages/xeus/package.py @@ -13,31 +13,52 @@ class Xeus(CMakePackage): url = "https://github.com/QuantStack/xeus/archive/0.14.1.tar.gz" git = "https://github.com/QuantStack/xeus.git" + maintainers = ['tomstitt'] + version('develop', branch='master') + version('1.0.4', sha256='7324ff013eb97d579fd3b6f9770a13f8863d6046c8bbcdbe2fc7d2ac02f0161f') version('0.15.0', sha256='bc99235b24d5757dc129f3ed531501fb0d0667913927ed39ee24281952649183') version('0.14.1', sha256='a6815845d4522ec279f142d3b4e92ef52cd80847b512146a65f256a77e058cfe') variant('examples', default=False, description="Build examples") + variant('shared', default=True, description="Build shared libraries") conflicts('%gcc@:4.8') conflicts('%clang@:3.6') conflicts('%intel@:17') depends_on('libzmq@4.2.5:-libsodium') - depends_on('cppzmq@4.3.0:') - depends_on('cryptopp@7.0.0:') - depends_on('xtl@0.4.0:') - depends_on('nlohmann-json@3.2.0', when='@develop,0.15.0:') + depends_on('cppzmq@4.7.1:', when='@1.0.4:') + depends_on('cppzmq@4.3.0:', when='@:0.15.0') + + depends_on('cryptopp@7.0.0:', when='@:0.15.0') + + depends_on('openssl@1.0.1:', when='@1.0.4:') + + depends_on('xtl@0.4.0:', when='@:0.15.0') + depends_on('xtl@0.7.0:0.7.999', when='@1.0.4:') + + depends_on('nlohmann-json@3.4.0:', when='@1.0.4:') + depends_on('nlohmann-json@3.2.0', when='@0.15.0') depends_on('nlohmann-json@3.1.1', when='@0.14.1') - depends_on('uuid') + + depends_on('uuid', when='platform=linux') # finds cryptopp not built with cmake, removes c++17 attribute # in check_cxx_source_compiles - patch('cmake_find_cryptopp_and_check_cxx_compatibility.patch') + patch('cmake_find_cryptopp_and_check_cxx_compatibility.patch', when='@:0.15.0') def cmake_args(self): - args = [ - self.define_from_variant('BUILD_EXAMPLES', 'examples') - ] + args = [] + + if "@:0.15.0" in self.spec: + args.append(self.define_from_variant('BUILD_EXAMPLES', 'examples')) + + elif "@1.0.4:" in self.spec: + args.extend([ + self.define_from_variant('XEUS_BUILD_SHARED_LIBS', 'shared'), + self.define('XEUS_BUILD_TESTS', self.run_tests), + self.define('XEUS_DOWNLOAD_GTEST', self.run_tests) + ]) return args From fa715c9892073fcfae5369ec740dd9d95b2ac20f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiziano=20M=C3=BCller?= Date: Mon, 9 Aug 2021 13:46:15 +0200 Subject: [PATCH 150/414] cp2k: update elpa and sirius dependencies, fix build with mpich and gcc@10 (#24376) * cp2k: fix build with GCC-10+ and MPICH * cp2k: update SIRIUS and ELPA dependencies * elpa: add version 2021.05.001, add ROCm support, include SVE flags --- .../repos/builtin/packages/cp2k/package.py | 11 ++- .../repos/builtin/packages/elpa/package.py | 69 ++++++++++++------- 2 files changed, 52 insertions(+), 28 deletions(-) diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py index ee18aa026d8..2d086d22a38 100644 --- a/var/spack/repos/builtin/packages/cp2k/package.py +++ b/var/spack/repos/builtin/packages/cp2k/package.py @@ -120,7 +120,8 @@ class Cp2k(MakefilePackage, CudaPackage): depends_on('elpa~openmp', when='~openmp') depends_on('elpa@2011.12:2016.13', when='@:5.999') depends_on('elpa@2011.12:2017.11', when='@6.0:6.999') - depends_on('elpa@2018.05:', when='@7.0:') + depends_on('elpa@2018.05:2020.11.001', when='@7.0:8.2') + depends_on('elpa@2021.05:', when='@8.3:') with when('+plumed'): depends_on('plumed+shared') @@ -138,11 +139,12 @@ class Cp2k(MakefilePackage, CudaPackage): # like ELPA, SCALAPACK are independent and Spack will ensure that # a consistent/compatible combination is pulled into the dependency graph. with when('+sirius'): - depends_on('sirius+fortran+vdwxc+shared') + depends_on('sirius+fortran+shared') depends_on('sirius+openmp', when='+openmp') depends_on('sirius~openmp', when='~openmp') depends_on('sirius@:6.999', when='@:7.999') - depends_on('sirius@7:', when='@8:') + depends_on('sirius@7:7.0.999', when='@8:8.2') + depends_on('sirius@7.2:', when='@8.3:') conflicts('~mpi') # sirius support was introduced in 7+ conflicts('@:6.999') @@ -299,6 +301,9 @@ def edit(self, spec, prefix): fcflags += ['-qpreprocess', '-qstrict', '-q64'] ldflags += ['-Wl,--allow-multiple-definition'] + if '%gcc@10: +mpi' in spec and spec['mpi'].name in ['mpich', 'cray-mpich']: + fcflags += ['-fallow-argument-mismatch'] # https://github.com/pmodels/mpich/issues/4300 + if '+openmp' in spec: cflags.append(self.compiler.openmp_flag) cxxflags.append(self.compiler.openmp_flag) diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py index 6ab1dab6fa6..6ab9ba299aa 100644 --- a/var/spack/repos/builtin/packages/elpa/package.py +++ b/var/spack/repos/builtin/packages/elpa/package.py @@ -8,12 +8,13 @@ from spack import * -class Elpa(AutotoolsPackage, CudaPackage): +class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): """Eigenvalue solvers for Petaflop-Applications (ELPA)""" homepage = 'https://elpa.mpcdf.mpg.de/' - url = 'https://elpa.mpcdf.mpg.de/elpa-2015.11.001.tar.gz' + url = 'https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/2015.11.001/elpa-2015.11.001.tar.gz' + version('2021.05.001', sha256='a4f1a4e3964f2473a5f8177f2091a9da5c6b5ef9280b8272dfefcbc3aad44d41') version('2020.05.001', sha256='66ff1cf332ce1c82075dc7b5587ae72511d2bcb3a45322c94af6b01996439ce5') version('2019.11.001', sha256='10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357') version('2019.05.002', sha256='d2eab5e5d74f53601220b00d18185670da8c00c13e1c1559ecfb0cd7cb2c4e8d') @@ -28,23 +29,31 @@ class Elpa(AutotoolsPackage, CudaPackage): version('2016.05.003', sha256='c8da50c987351514e61491e14390cdea4bdbf5b09045261991876ed5b433fca4') version('2015.11.001', sha256='c0761a92a31c08a4009c9688c85fc3fc8fde9b6ce05e514c3e1587cf045e9eba') - variant('openmp', default=False, description='Activates OpenMP support') + variant('openmp', default=True, description='Activates OpenMP support') + variant('mpi', default=True, description='Activates MPI support') - depends_on('mpi') depends_on('blas') depends_on('lapack') - depends_on('scalapack') + depends_on('mpi', when='+mpi') + depends_on('scalapack', when='+mpi') + depends_on('rocblas', when='+rocm') depends_on('libtool', type='build') depends_on('python@:2', type='build', when='@:2020.05.001') depends_on('python@3:', type='build', when='@2020.11.001:') patch('python_shebang.patch', when='@:2020.05.001') + # fails to build due to broken type-bound procedures in OMP parallel regions + conflicts('+openmp', when='@2021.05.001: %gcc@:7.999', + msg='ELPA-2021.05.001+ requires GCC-8+ for OpenMP support') + conflicts('+rocm', when='@:2020.99', + msg='ROCm support was introduced in ELPA 2021.05.001') + conflicts('+mpi', when='+rocm', + msg='ROCm support and MPI are not yet compatible') + def url_for_version(self, version): - t = 'https://elpa.mpcdf.mpg.de/html/Releases/{0}/elpa-{0}.tar.gz' - if version < Version('2016.05.003'): - t = 'https://elpa.mpcdf.mpg.de/elpa-{0}.tar.gz' - return t.format(str(version)) + return ('https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/{0}/elpa-{0}.tar.gz' + .format(str(version))) # override default implementation which returns static lib @property @@ -73,8 +82,11 @@ def configure_args(self): spec = self.spec options = [] + options += self.with_or_without('mpi') + # TODO: --disable-sse-assembly, --enable-sparc64, --enable-neon-arch64 - simd_features = ['vsx', 'sse', 'avx', 'avx2', 'avx512'] + simd_features = ['vsx', 'sse', 'avx', 'avx2', 'avx512', + 'sve128', 'sve256', 'sve512'] for feature in simd_features: msg = '--enable-{0}' if feature in spec.target else '--disable-{0}' @@ -111,34 +123,41 @@ def configure_args(self): 'CFLAGS=-O3' ]) + cuda_flag = 'nvidia-gpu' if '@2021.05.001:' in self.spec else 'gpu' if '+cuda' in spec: prefix = spec['cuda'].prefix - options.append('--enable-gpu') + options.append('--enable-{0}'.format(cuda_flag)) 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)) + options.append('--with-{0}-compute-capability=sm_{1}'. + format(cuda_flag.upper(), cuda_arch)) else: - options.append('--disable-gpu') + options.append('--disable-{0}'.format(cuda_flag)) - if '+openmp' in spec: - options.append('--enable-openmp') - else: - options.append('--disable-openmp') + if '+rocm' in spec: + options.append('--enable-amd-gpu') + options.append('CXX={0}'.format(self.spec['hip'].hipcc)) + elif '@2021.05.001:' in self.spec: + options.append('--disable-amd-gpu') - options.extend([ - 'CC={0}'.format(spec['mpi'].mpicc), - 'FC={0}'.format(spec['mpi'].mpifc), - 'CXX={0}'.format(spec['mpi'].mpicxx), + options += self.enable_or_disable('openmp') + + options += [ 'LDFLAGS={0}'.format(spec['lapack'].libs.search_flags), 'LIBS={0} {1}'.format( - spec['lapack'].libs.link_flags, spec['blas'].libs.link_flags), - 'SCALAPACK_LDFLAGS={0}'.format(spec['scalapack'].libs.joined()) - ]) + spec['lapack'].libs.link_flags, spec['blas'].libs.link_flags)] + + if '+mpi' in self.spec: + options += [ + 'CC={0}'.format(spec['mpi'].mpicc), + 'CXX={0}'.format(spec['mpi'].mpicxx), + 'FC={0}'.format(spec['mpi'].mpifc), + 'SCALAPACK_LDFLAGS={0}'.format(spec['scalapack'].libs.joined()) + ] options.append('--disable-silent-rules') From 597358e7359bc3eb0b3cd7f1131172546dfc814c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= Date: Mon, 9 Aug 2021 14:02:58 +0200 Subject: [PATCH 151/414] ispc: add v1.16 and v1.16.1 (#25206) Aso adapt dependencies for older versions --- var/spack/repos/builtin/packages/ispc/package.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/ispc/package.py b/var/spack/repos/builtin/packages/ispc/package.py index 160eb8be23c..2bfbab8abaa 100644 --- a/var/spack/repos/builtin/packages/ispc/package.py +++ b/var/spack/repos/builtin/packages/ispc/package.py @@ -26,6 +26,8 @@ class Ispc(CMakePackage): executables = ['^ispc$'] version('master', branch='master') + version('1.16.1', sha256='b32dbd374eea5f1b5f535bfd79c5cc35591c0df2e7bf1f86dec96b74e4ebf661') + version('1.16.0', sha256='12db1a90046b51752a65f50426e1d99051c6d55e30796ddd079f7bc97d5f6faf') version('1.15.0', sha256='3b634aaa10c9bf0e82505d1af69cb307a3a00182d57eae019680ccfa62338af9') version('1.14.1', sha256='ca12f26dafbc4ef9605487d03a2156331c1351a4ffefc9bab4d896a466880794') version('1.14.0', sha256='1ed72542f56738c632bb02fb0dd56ad8aec3e2487839ebbc0def8334f305a4c7') @@ -36,9 +38,10 @@ class Ispc(CMakePackage): depends_on('flex', type='build') depends_on('ncurses', type='link') depends_on('zlib', type='link') - depends_on('llvm~libcxx') - depends_on('llvm@10:', when='@1.14:') - depends_on('llvm@10:10.999', when='@1.13:1.13.999') + depends_on('llvm+clang') + depends_on('llvm@11:', when='@1.16:') + depends_on('llvm@10:11.999', when='@1.15:1.15.999') + depends_on('llvm@10:10.999', when='@1.13:1.14.999') patch('don-t-assume-that-ncurses-zlib-are-system-libraries.patch', when='@1.14:1.14.999', From d4df3b31fb5580233afbb4bf652d3dde86315ba9 Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Mon, 9 Aug 2021 14:04:33 +0200 Subject: [PATCH 152/414] dd4hep: fixes to run tests (#25204) --- var/spack/repos/builtin/packages/dd4hep/package.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/var/spack/repos/builtin/packages/dd4hep/package.py b/var/spack/repos/builtin/packages/dd4hep/package.py index 2748bba8032..51a615aba81 100644 --- a/var/spack/repos/builtin/packages/dd4hep/package.py +++ b/var/spack/repos/builtin/packages/dd4hep/package.py @@ -71,6 +71,7 @@ class Dd4hep(CMakePackage): depends_on('hepmc3', when="+hepmc3") depends_on('lcio', when="+lcio") depends_on('edm4hep', when="+edm4hep") + depends_on('py-pytest', type="test") # See https://github.com/AIDASoft/DD4hep/pull/771 conflicts('^cmake@3.16:3.17.0', when='@1.15', @@ -130,3 +131,15 @@ def url_for_version(self, version): version_str = 'v%02d-%02d-%02d.tar.gz' % (major, minor, patch) return base_url + '/' + version_str + + # dd4hep tests need to run after install step: + # disable the usual check + def check(self): + pass + + # instead add custom check step that runs after installation + @run_after('install') + def install_check(self): + with working_dir(self.build_directory): + if self.run_tests: + ninja('test') From be59f2bff0ca9f45db7fd102a276f86f38381829 Mon Sep 17 00:00:00 2001 From: downloadico Date: Mon, 9 Aug 2021 06:05:42 -0600 Subject: [PATCH 153/414] libxc: add std flag for Intel (#25281) --- var/spack/repos/builtin/packages/libxc/package.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/libxc/package.py b/var/spack/repos/builtin/packages/libxc/package.py index eeec410f9d5..cdfcc52433d 100644 --- a/var/spack/repos/builtin/packages/libxc/package.py +++ b/var/spack/repos/builtin/packages/libxc/package.py @@ -79,8 +79,10 @@ def setup_build_environment(self, env): env.append_flags('CFLAGS', optflags) env.append_flags('FCFLAGS', optflags) - if '%intel' in self.spec and which('xiar'): - env.set('AR', 'xiar') + if '%intel' in self.spec: + env.append_flags('CFLAGS', '-std=c99') + if which('xiar'): + env.set('AR', 'xiar') if '%aocc' in self.spec: env.append_flags('FCFLAGS', '-fPIC') From a3f76740e7e4fac0bde7245502df8c5b77177f51 Mon Sep 17 00:00:00 2001 From: Tom Stitt Date: Mon, 9 Aug 2021 05:16:43 -0700 Subject: [PATCH 154/414] xwidgets: add new package (#25237) --- .../builtin/packages/xwidgets/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 var/spack/repos/builtin/packages/xwidgets/package.py diff --git a/var/spack/repos/builtin/packages/xwidgets/package.py b/var/spack/repos/builtin/packages/xwidgets/package.py new file mode 100644 index 00000000000..836f2b2fc7e --- /dev/null +++ b/var/spack/repos/builtin/packages/xwidgets/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Xwidgets(CMakePackage): + """A C++ backend for Jupyter interactive widgets""" + + homepage = "https://github.com/jupyter-xeus/xwidgets" + url = "https://github.com/jupyter-xeus/xwidgets/archive/0.25.0.tar.gz" + git = "https://github.com/jupyter-xeus/xwidgets.git" + + maintainers = ['tomstitt'] + + version('master', branch='master') + version('0.25.0', sha256='7b6d36999e3b926c40389167c48b33f234a075365f089f89571b33a160421d8e') + + depends_on('xtl@0.7.0:0.7.999', when='@0.25.0:') + depends_on('xproperty@0.11.0:0.11.999', when='@0.25.0:') + depends_on('xeus@1.0:1.999', when='@0.25.0:') + depends_on('nlohmann-json@3.6.1:3.999.999', when='@0.25.0:') From ce199e1c67c74e6ea94183ba57e22e039d42810b Mon Sep 17 00:00:00 2001 From: Vasily Danilin Date: Mon, 9 Aug 2021 16:04:06 +0300 Subject: [PATCH 155/414] intel-oneapi-vtune: new package + remove danvev from maintainers (#25311) --- .../packages/intel-oneapi-ccl/package.py | 2 +- .../intel-oneapi-compilers/package.py | 2 +- .../packages/intel-oneapi-dal/package.py | 2 +- .../packages/intel-oneapi-dnn/package.py | 2 +- .../packages/intel-oneapi-dpl/package.py | 2 +- .../packages/intel-oneapi-ipp/package.py | 2 +- .../packages/intel-oneapi-ippcp/package.py | 2 +- .../packages/intel-oneapi-mkl/package.py | 2 +- .../packages/intel-oneapi-mpi/package.py | 2 +- .../packages/intel-oneapi-tbb/package.py | 2 +- .../packages/intel-oneapi-vpl/package.py | 2 +- .../packages/intel-oneapi-vtune/package.py | 29 +++++++++++++++++++ 12 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py index c5e43599796..acd9e10ac27 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py @@ -11,7 +11,7 @@ class IntelOneapiCcl(IntelOneApiLibraryPackage): """Intel oneAPI CCL.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/oneccl.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py index 919cb43510e..c28753dcd18 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py @@ -15,7 +15,7 @@ class IntelOneapiCompilers(IntelOneApiPackage): """Intel OneAPI compilers Provides Classic and Beta compilers for: Fortran, C, C++""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = "https://software.intel.com/content/www/us/en/develop/tools/oneapi.html" diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py index 91b9855f9de..17094fcb72a 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py @@ -12,7 +12,7 @@ class IntelOneapiDal(IntelOneApiLibraryPackage): """Intel oneAPI DAL.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onedal.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py index 94d064de2f8..0412ccd770d 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py @@ -12,7 +12,7 @@ class IntelOneapiDnn(IntelOneApiLibraryPackage): """Intel oneAPI DNN.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onednn.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py index fa027629890..c583a31b827 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py @@ -12,7 +12,7 @@ class IntelOneapiDpl(IntelOneApiLibraryPackage): """Intel oneAPI DPL.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://github.com/oneapi-src/oneDPL' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py index 00baf88f319..85eb6793515 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py @@ -11,7 +11,7 @@ class IntelOneapiIpp(IntelOneApiLibraryPackage): """Intel oneAPI IPP.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py index ea44573b353..f783b770a5f 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py @@ -12,7 +12,7 @@ class IntelOneapiIppcp(IntelOneApiLibraryPackage): """Intel oneAPI IPP Crypto.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py index 81ec236f587..6d9ee6dd913 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py @@ -12,7 +12,7 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): """Intel oneAPI MKL.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py index 4a013c2b2f0..05e14018429 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py @@ -13,7 +13,7 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage): """Intel oneAPI MPI.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2', ] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/mpi-library.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py index c184d95aaca..d177f18e262 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py @@ -12,7 +12,7 @@ class IntelOneapiTbb(IntelOneApiLibraryPackage): """Intel oneAPI TBB.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py index f0ab170c5b4..c1524b4b982 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py @@ -11,7 +11,7 @@ class IntelOneapiVpl(IntelOneApiLibraryPackage): """Intel oneAPI VPL.""" - maintainers = ['rscohn2', 'danvev'] + maintainers = ['rscohn2'] homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html' diff --git a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py new file mode 100644 index 00000000000..cf6ba649dfb --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py @@ -0,0 +1,29 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import platform + +from spack import * + + +class IntelOneapiVtune(IntelOneApiPackage): + """Intel oneAPI VTune Profiler. + Installed in Perf driverless mode, detailed here: https://software.intel.com/content/www/us/en/develop/documentation/vtune-cookbook/top/configuration-recipes/profiling-hardware-without-sampling-drivers.html + Users can manually install drivers, please read the instructions here: https://software.intel.com/content/www/us/en/develop/documentation/vtune-help/top/set-up-analysis-target/linux-targets/building-and-installing-the-sampling-drivers-for-linux-targets.html + """ + + maintainers = ['rscohn2'] + + homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/vtune-profiler.html' + + if platform.system() == 'Linux': + version('2021.6.0', + url='https://registrationcenter-download.intel.com/akdlm/irc_nas/18012/l_oneapi_vtune_p_2021.6.0.411_offline.sh', + sha256='6b1df7da713337aa665bcc6ff23e4a006695b5bfaf71dffd305cbadca2e5560c', + expand=False) + + @property + def component_dir(self): + return 'vtune' From 2738bc17a144490328e0c7c57dd6ef630880d4e7 Mon Sep 17 00:00:00 2001 From: Robert Cohn Date: Mon, 9 Aug 2021 09:16:19 -0400 Subject: [PATCH 156/414] sos: add xpmem variant (#25260) Co-authored-by: Massimiliano Culpo --- var/spack/repos/builtin/packages/sos/package.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/sos/package.py b/var/spack/repos/builtin/packages/sos/package.py index 474e11a41a2..a8f883a3829 100644 --- a/var/spack/repos/builtin/packages/sos/package.py +++ b/var/spack/repos/builtin/packages/sos/package.py @@ -18,12 +18,17 @@ class Sos(AutotoolsPackage): version('1.5.0', sha256='02679da6085cca2919f900022c46bad48479690586cb4e7f971ec3a735bab4d4') version('1.4.5', sha256='42778ba3cedb632ac3fbbf8917f415a804f8ca3b67fb3da6d636e6c50c501906') + variant('xpmem', default=False, description='Enable xpmem for transport') + variant('ofi', default=True, description='Enable ofi for transport') + variant('shr-atomics', default=False, description='Enable shared memory atomic operations') + depends_on('autoconf', type='build') depends_on('automake', type='build') depends_on('libtool', type='build') depends_on('m4', type='build') - depends_on('libfabric', type='link') + depends_on('libfabric', type='link', when='+ofi') + depends_on('xpmem', type='link', when='+xpmem') # Enable use of the OSH wrappers outside of Spack by preventing # them from using the spack wrappers @@ -46,6 +51,9 @@ def autoreconf(self, spec, prefix): def configure_args(self): args = [] - args.append('--with-ofi') + args.extend(self.with_or_without('xpmem')) + args.extend(self.with_or_without('ofi')) + # This option is not compatiable with remote atomics + args.extend(self.with_or_without('shr-atomics')) args.append('--enable-pmi-simple') return args From 8c8b934fd8953c8451152dc391fbaca9f06bcd25 Mon Sep 17 00:00:00 2001 From: iarspider Date: Mon, 9 Aug 2021 15:32:38 +0200 Subject: [PATCH 157/414] giflib: define prefix and libversion also when building (#25263) --- .../repos/builtin/packages/giflib/package.py | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/giflib/package.py b/var/spack/repos/builtin/packages/giflib/package.py index 8dbf7af34b1..eebeb8e696e 100644 --- a/var/spack/repos/builtin/packages/giflib/package.py +++ b/var/spack/repos/builtin/packages/giflib/package.py @@ -24,14 +24,24 @@ class Giflib(MakefilePackage, SourceforgePackage): patch('bsd-head.patch') + def prefix_and_libversion_args(self): + args = [] + if self.spec.satisfies('@5.2.0:'): + args.extend([ + 'PREFIX={0}'.format(self.spec.prefix), + 'LIBMAJOR={0}'.format(self.spec.version.up_to(1)), + 'LIBVER={0}'.format(self.spec.version) + ]) + return args + + @property + def build_targets(self): + targets = ['all'] + self.prefix_and_libversion_args() + return targets + @property def install_targets(self): - targets = ['install'] - if self.spec.satisfies('@5.2.0:'): - targets.append('PREFIX={0}'.format(self.spec.prefix)) - targets.append('LIBMAJOR={0}'.format(self.spec.version.up_to(1))) - targets.append('LIBVER={0}'.format(self.spec.version)) - + targets = ['install'] + self.prefix_and_libversion_args() return targets def check(self): From fc46db226971e76698750826f1e0da00cbd8f84c Mon Sep 17 00:00:00 2001 From: Robert Cohn Date: Mon, 9 Aug 2021 10:05:06 -0400 Subject: [PATCH 158/414] sos: shr-atomics is a disable/enable (#25315) --- var/spack/repos/builtin/packages/sos/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/sos/package.py b/var/spack/repos/builtin/packages/sos/package.py index a8f883a3829..9663da0528d 100644 --- a/var/spack/repos/builtin/packages/sos/package.py +++ b/var/spack/repos/builtin/packages/sos/package.py @@ -54,6 +54,6 @@ def configure_args(self): args.extend(self.with_or_without('xpmem')) args.extend(self.with_or_without('ofi')) # This option is not compatiable with remote atomics - args.extend(self.with_or_without('shr-atomics')) + args.extend(self.enable_or_disable('shr-atomics')) args.append('--enable-pmi-simple') return args From 81be31aee091a6d108a40e0f3dc7ff3bdfa93f26 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 9 Aug 2021 16:07:39 +0200 Subject: [PATCH 159/414] Make spack env activate x idempotent (#25222) * Make spack env activate x idempotent * Update lib/spack/spack/cmd/env.py --- lib/spack/spack/cmd/env.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/cmd/env.py b/lib/spack/spack/cmd/env.py index 64b9a2411d0..fe40da4412f 100644 --- a/lib/spack/spack/cmd/env.py +++ b/lib/spack/spack/cmd/env.py @@ -103,7 +103,8 @@ def env_activate(args): tty.die("No such environment: '%s'" % env) if spack_env == os.environ.get('SPACK_ENV'): - tty.die("Environment %s is already active" % args.activate_env) + tty.debug("Environment %s is already active" % args.activate_env) + return active_env = ev.get_env(namedtuple('args', ['env'])(env), 'activate') From 5916afec849ae40fd2924364a77da72d262d4118 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Mon, 9 Aug 2021 21:45:01 +0200 Subject: [PATCH 160/414] Add a badge for the Boostrapping workflow (#25318) This workflow is run daily on `develop`. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 577ff81c828..7c55157ebac 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Spack Spack [![Unit Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions) +[![Bootstrapping](https://github.com/spack/spack/actions/workflows/bootstrap.yml/badge.svg)](https://github.com/spack/spack/actions/workflows/bootstrap.yml) [![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22) [![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack) [![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io) From e44de970f8b6b713955417c9e0b514bef41bfa81 Mon Sep 17 00:00:00 2001 From: Paul Adamson <5460406+padamson@users.noreply.github.com> Date: Tue, 10 Aug 2021 02:05:26 -0400 Subject: [PATCH 161/414] uqtk: add pyqutk variant to uqtk (#25298) Co-authored-by: Massimiliano Culpo --- .../repos/builtin/packages/uqtk/package.py | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/uqtk/package.py b/var/spack/repos/builtin/packages/uqtk/package.py index 846b5bbfa7a..43b07498113 100644 --- a/var/spack/repos/builtin/packages/uqtk/package.py +++ b/var/spack/repos/builtin/packages/uqtk/package.py @@ -18,11 +18,21 @@ class Uqtk(CMakePackage): version('3.1.0', sha256='56ecd3d13bdd908d568e9560dc52cc0f66d7bdcdbe64ab2dd0147a7cf1734f97') version('3.0.4', sha256='0a72856438134bb571fd328d1d30ce3d0d7aead32eda9b7fb6e436a27d546d2e') + variant('pyuqtk', default=True, + description='Compile Python scripts and interface to C++ libraries') + depends_on('expat') depends_on('sundials', when='@3.1.0:') depends_on('blas', when='@3.1.0:') depends_on('lapack', when='@3.1.0:') + extends('python', when='+pyuqtk') + depends_on('py-numpy', when='+pyuqtk') + depends_on('py-scipy', when='+pyuqtk') + depends_on('py-matplotlib', when='+pyuqtk') + depends_on('py-pymc3', when='+pyuqtk') + depends_on('swig', when='+pyuqtk') + # Modify the process of directly specifying blas/lapack # as the library name. patch('remove_unique_libname.patch', when='@3.1.0:') @@ -38,8 +48,19 @@ def cmake_args(self): lapack_libs = spec['lapack'].libs.joined(';') blas_libs = spec['blas'].libs.joined(';') - return [ - '-DCMAKE_SUNDIALS_DIR={0}'.format(spec['sundials'].prefix), - '-DLAPACK_LIBRARIES={0}'.format(lapack_libs), - '-DBLAS_LIBRARIES={0}'.format(blas_libs) + args = [ + self.define('CMAKE_SUNDIALS_DIR', spec['sundials'].prefix), + self.define('LAPACK_LIBRARIES', lapack_libs), + self.define('BLAS_LIBRARIES', blas_libs), + self.define_from_variant('PyUQTk', 'pyuqtk') ] + + return args + + def setup_run_environment(self, env): + if '+pyuqtk' in self.spec: + env.prepend_path('PYTHONPATH', self.prefix) + env.prepend_path('PYTHONPATH', '{0}/PyUQTk'.format(self.prefix)) + env.prepend_path('LD_LIBRARY_PATH', '{0}/PyUQTk/'.format(self.prefix)) + env.set('UQTK_SRC', self.prefix) + env.set('UQTK_INS', self.prefix) From d3f67a48552691b4846ccc4a10f76740b154090c Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Tue, 10 Aug 2021 01:02:19 -0600 Subject: [PATCH 162/414] openmpi:add pandoc dependency when building master (#25319) related to #25304 Signed-off-by: Howard Pritchard --- var/spack/repos/builtin/packages/openmpi/package.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py index d98d829c04b..10ccc3a11f4 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -176,7 +176,7 @@ class Openmpi(AutotoolsPackage): patch('nag_pthread/2.0.0_2.1.1.patch', when='@2.0.0:2.1.1%nag') patch('nag_pthread/1.10.4_1.10.999.patch', when='@1.10.4:1.10.999%nag') - patch('nvhpc-libtool.patch', when='@develop %nvhpc') + patch('nvhpc-libtool.patch', when='@master %nvhpc') patch('nvhpc-configure.patch', when='%nvhpc') # Fix MPI_Sizeof() in the "mpi" Fortran module for compilers that do not @@ -266,10 +266,11 @@ class Openmpi(AutotoolsPackage): if sys.platform != 'darwin': depends_on('numactl') - depends_on('autoconf', type='build', when='@develop') - depends_on('automake', type='build', when='@develop') - depends_on('libtool', type='build', when='@develop') - depends_on('m4', type='build', when='@develop') + depends_on('autoconf', type='build', when='@master') + depends_on('automake', type='build', when='@master') + depends_on('libtool', type='build', when='@master') + depends_on('m4', type='build', when='@master') + depends_on('pandoc', type='build', when='@master') depends_on('perl', type='build') depends_on('pkgconfig', type='build') From 8dff43b8ea41886e5983f283f178763cbb23eb45 Mon Sep 17 00:00:00 2001 From: permeakra Date: Tue, 10 Aug 2021 17:51:45 +0300 Subject: [PATCH 163/414] Elk update (#24432) * elk package updated to handle 3 latest versions support for older versions is dropped * fixed typos * openmp dependency handling added * and for blis too * Retain support for elk 3, deprecate Co-authored-by: Adam J. Stewart --- .../repos/builtin/packages/elk/package.py | 155 ++++++++++++------ 1 file changed, 108 insertions(+), 47 deletions(-) diff --git a/var/spack/repos/builtin/packages/elk/package.py b/var/spack/repos/builtin/packages/elk/package.py index 3d2aa767fdb..8bcfbb53165 100644 --- a/var/spack/repos/builtin/packages/elk/package.py +++ b/var/spack/repos/builtin/packages/elk/package.py @@ -10,44 +10,96 @@ class Elk(MakefilePackage): """An all-electron full-potential linearised augmented-plane wave (FP-LAPW) code with many advanced features.""" - homepage = 'http://elk.sourceforge.net/' + homepage = 'https://elk.sourceforge.io/' url = 'https://sourceforge.net/projects/elk/files/elk-3.3.17.tgz' - version('3.3.17', sha256='c9b87ae4ef367ed43afc2d43eb961745668e40670995e8e24c13db41b7e85d73') + version('7.2.42', sha256='73f03776dbf9b2147bfcc5b7c062af5befa0944608f6fc4b6a1e590615400fc6') + version('7.1.14', sha256='7c2ff30f4b1d72d5dc116de9d70761f2c206700c69d85dd82a17a5a6374453d2') + version('7.0.12', sha256='9995387c681d0e5a9bd52cb274530b23c0370468b6be86f6c90a6ec445cb8a01') + version('3.3.17', sha256='c9b87ae4ef367ed43afc2d43eb961745668e40670995e8e24c13db41b7e85d73', deprecated=True) - # Elk provides these libraries, but allows you to specify your own - variant('blas', default=True, - description='Build with custom BLAS library') - variant('lapack', default=True, - description='Build with custom LAPACK library') - variant('fft', default=True, - description='Build with custom FFT library') + # what linear algebra packages to use? the choices are + # internal - use internal libraries + # generic - use spack-provided blas and lapack + # openblas - use openblas specifically, with special support for multithreading. + # mkl - use mkl specifically, with special support for multithreading + # should be used with fft=mkl + # blis - use internal lapack and blas implementation from blis + variant('linalg', default='internal', multi=False, + description='Build with custom BLAS library', + values=('internal', 'generic', 'openblas', 'mkl', 'blis')) + # what FFT package to use? The choices are + # internal - use internal library + # fftw - fftw3 with special code + # mkl - use mklr with fft code + # should be used with linalg=mkls + variant('fft', default='internal', multi=False, + description='Build with custom FFT library', + values=('internal', 'fftw', 'mkl')) + # check that if fft=mkl then linalg=mkl and vice versa. - # Elk does not provide these libraries, but allows you to use them - variant('mpi', default=True, + conflicts('linalg=mkl', when='fft=fftw') + conflicts('linalg=mkl', when='fft=internal') + conflicts('linalg=blis', when='@:3') + conflicts('fft=mkl', when='linalg=internal') + conflicts('fft=mkl', when='linalg=generic') + conflicts('fft=mkl', when='linalg=openblas') + conflicts('fft=mkl', when='linalg=blis') + + variant('mpi', default=True, description='Enable MPI parallelism') variant('openmp', default=True, description='Enable OpenMP support') variant('libxc', default=True, description='Link to Libxc functional library') + variant('w90', default=False, + description='wannier90 support, requires wannier90 library') + + depends_on('blas', when='linalg=generic') + depends_on('lapack', when='linalg=generic') + + depends_on('mkl', when='linalg=mkl') + depends_on('mkl threads=openmp', when='linalg=mkl +openmp') + + depends_on('openblas', when='linalg=openblas') + depends_on('openblas threads=openmp', when='linalg=openblas +openmp') + + depends_on('blis', when='linalg=blis') + depends_on('blis threads=openmp', when='linalg=blis +openmp') + + depends_on('fftw', when='fft=fftw') + depends_on('fftw +openmp', when='fft=fftw +openmp') + depends_on('mkl', when='fft=mkl') - depends_on('blas', when='+blas') - depends_on('lapack', when='+lapack') - depends_on('fftw', when='+fft') depends_on('mpi@2:', when='+mpi') - depends_on('libxc', when='+libxc') + depends_on('libxc@5:', when='@7:+libxc') + depends_on('libxc@:3', when='@:3+libxc') + depends_on('wannier90', when='+w90') # Cannot be built in parallel parallel = False def edit(self, spec, prefix): - # Dictionary of configuration options + # Dictionary of configuration options with default values assigned config = { - 'MAKE': 'make', - 'AR': 'ar' - } + 'MAKE': 'make', + 'AR': 'ar', + 'LIB_LPK': 'lapack.a blas.a', + 'LIB_FFT': 'fftlib.a', + 'SRC_MPI': 'mpi_stub.f90', + 'SRC_MKL': 'mkl_stub.f90', + 'SRC_OBLAS': 'oblas_stub.f90', + 'SRC_OMP': 'omp_stub.f90', + 'SRC_BLIS': 'blis_stub.f90', + 'SRC_libxc': 'libxcifc_stub.f90', + 'SRC_FFT': 'zfftifc.f90', + 'SRC_W90S': 'w90_stub.f90', + 'F90': spack_fc, + 'F77': spack_f77 + } # Compiler-specific flags + flags = '' if self.compiler.name == 'intel': flags = '-O3 -ip -unroll -no-prec-div' @@ -64,26 +116,40 @@ def edit(self, spec, prefix): config['F90_OPTS'] = flags config['F77_OPTS'] = flags - # BLAS/LAPACK support - # Note: BLAS/LAPACK must be compiled with OpenMP support - # if the +openmp variant is chosen - blas = 'blas.a' - lapack = 'lapack.a' - if '+blas' in spec: - blas = spec['blas'].libs.joined() - if '+lapack' in spec: - lapack = spec['lapack'].libs.joined() - # lapack must come before blas - config['LIB_LPK'] = ' '.join([lapack, blas]) + if '+mpi' in spec: + config['F90'] = spec['mpi'].mpifc + config['F77'] = spec['mpi'].mpif77 + config['SRC_MPI'] = ' ' - # FFT support - if '+fft' in spec: - config['LIB_FFT'] = join_path(spec['fftw'].prefix.lib, - 'libfftw3.so') + # OpenMP support + if '+openmp' in spec: + config['F90_OPTS'] += ' ' + self.compiler.openmp_flag + config['F77_OPTS'] += ' ' + self.compiler.openmp_flag + config['SRC_OMP'] = ' ' + + # BLAS/LAPACK support + # Note: openblas must be compiled with OpenMP support + # if the +openmp variant is chosen + if 'linalg=generic' in spec: + blas = spec['blas'].libs.joined() + lapack = spec['lapack'].libs.joined() + config['LIB_LPK'] = ' '.join([lapack, blas]) + if 'linalg=openblas' in spec: + config['LIB_LPK'] = spec['openblas'].libs.ld_flags + config['SRC_OBLAS'] = ' ' + if 'linalg=mkl' in spec: + config['LIB_LPK'] = spec['mkl'].libs.ld_flags + config['SRC_MKL'] = ' ' + if 'linalg=blis' in spec: + config['LIB_LPK'] = ' '.join(['lapack.a ', spec['blis'].libs.ld_flags]) + config['SRC_BLIS'] = ' ' + # FFT + if 'fft=fftw' in spec: + config['LIB_FFT'] = spec['fftw'].libs.ld_flags config['SRC_FFT'] = 'zfftifc_fftw.f90' - else: - config['LIB_FFT'] = 'fftlib.a' - config['SRC_FFT'] = 'zfftifc.f90' + if 'fftw=mkl' in spec: + config['LIB_FFT'] = spec['mkl'].libs.ld_flags + config['SRC_FFT'] = ' ' # MPI support if '+mpi' in spec: @@ -93,13 +159,11 @@ def edit(self, spec, prefix): config['F90'] = spack_fc config['F77'] = spack_f77 config['SRC_MPI'] = 'mpi_stub.f90' - # OpenMP support if '+openmp' in spec: config['F90_OPTS'] += ' ' + self.compiler.openmp_flag config['F77_OPTS'] += ' ' + self.compiler.openmp_flag - else: - config['SRC_OMP'] = 'omp_stub.f90' + config['SRC_OMP'] = ' ' # Libxc support if '+libxc' in spec: @@ -107,13 +171,10 @@ def edit(self, spec, prefix): join_path(spec['libxc'].prefix.lib, 'libxcf90.so'), join_path(spec['libxc'].prefix.lib, 'libxc.so') ]) - config['SRC_libxc'] = ' '.join([ - 'libxc_funcs.f90', - 'libxc.f90', - 'libxcifc.f90' - ]) - else: - config['SRC_libxc'] = 'libxcifc_stub.f90' + if self.spec.satisfies('@7:'): + config['SRC_libxc'] = 'libxcf90.f90 libxcifc.f90' + else: + config['SRC_libxc'] = 'libxc_funcs.f90 libxc.f90 libxcifc.f90' # Write configuration options to include file with open('make.inc', 'w') as inc: From afc1134fe6047e64fd743506eabccfa5c572cb1f Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 10 Aug 2021 18:39:55 +0200 Subject: [PATCH 164/414] cpp-termcolor: new package (#25336) --- .../builtin/packages/cpp-termcolor/package.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/cpp-termcolor/package.py diff --git a/var/spack/repos/builtin/packages/cpp-termcolor/package.py b/var/spack/repos/builtin/packages/cpp-termcolor/package.py new file mode 100644 index 00000000000..3fb447f3757 --- /dev/null +++ b/var/spack/repos/builtin/packages/cpp-termcolor/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class CppTermcolor(CMakePackage): + """ + Termcolor is a header-only C++ library for printing colored messages to the + terminal. + """ + + homepage = "https://github.com/ikalnytskyi/termcolor" + url = "https://github.com/ikalnytskyi/termcolor/archive/refs/tags/v2.0.0.tar.gz" + + maintainers = ['haampie'] + + version('2.0.0', sha256='4a73a77053822ca1ed6d4a2af416d31028ec992fb0ffa794af95bd6216bb6a20') + + depends_on('cmake@3.0:', type='build') + + def cmake_args(self): + return [ + self.define('TERMCOLOR_TESTS', 'OFF') + ] From 4ec70ca2ffb3f96e577d0c0c53e3c4390c7ecf21 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 10 Aug 2021 18:41:33 +0200 Subject: [PATCH 165/414] elfio: new package (#25335) --- .../repos/builtin/packages/elfio/package.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 var/spack/repos/builtin/packages/elfio/package.py diff --git a/var/spack/repos/builtin/packages/elfio/package.py b/var/spack/repos/builtin/packages/elfio/package.py new file mode 100644 index 00000000000..72a937552ab --- /dev/null +++ b/var/spack/repos/builtin/packages/elfio/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Elfio(CMakePackage): + """ + ELFIO is a header-only C++ library intended for reading and generating + files in the ELF binary format. + """ + + homepage = "https://github.com/serge1/ELFIO" + url = "https://github.com/serge1/ELFIO/releases/download/Release_3.9/elfio-3.9.tar.gz" + + maintainers = ['haampie'] + + version('3.9', sha256='767b269063fc35aba6d361139f830aa91c45dc6b77942f082666876c1aa0be0f') + version('3.8', sha256='9553ce2b8d8aa2fb43f0e9be9bcbd10cd52f40b385110ea54173889c982f9ac4') + version('3.7', sha256='0af2452214c32639f8dbe520b31e03802be184581ab5ad65e99ed745274dbd5d') + + depends_on('cmake@3.10:', type='build') + + def cmake_args(self): + return [ + self.define('ELFIO_BUILD_EXAMPLES', 'OFF'), + self.define('ELFIO_BUILD_TESTS', 'OFF'), + ] From 3fafbafab09967d55301b2f8c1879c5ee3b86d2f Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 10 Aug 2021 18:42:18 +0200 Subject: [PATCH 166/414] cxxopts: add v2.2.1 and clean package.py (#25334) --- .../repos/builtin/packages/cxxopts/package.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/var/spack/repos/builtin/packages/cxxopts/package.py b/var/spack/repos/builtin/packages/cxxopts/package.py index ad0927727e2..7a2f64e61e3 100644 --- a/var/spack/repos/builtin/packages/cxxopts/package.py +++ b/var/spack/repos/builtin/packages/cxxopts/package.py @@ -11,7 +11,9 @@ class Cxxopts(CMakePackage): homepage = "https://github.com/jarro2783/cxxopts" url = "https://github.com/jarro2783/cxxopts/archive/v2.2.0.tar.gz" + maintainers = ['haampie'] + version('2.2.1', sha256='984aa3c8917d649b14d7f6277104ce38dd142ce378a9198ec926f03302399681') version('2.2.0', sha256='447dbfc2361fce9742c5d1c9cfb25731c977b405f9085a738fbd608626da8a4d') version('2.1.2', sha256='95f524c6615a2067e935e02ef74b013b17efa339df0a3c9db3e91fc0afbaf269') version('2.1.1', sha256='e19216251427d04f0273e6487c0246ae2dbb4154bf178f43896af8fa1ef89f3f') @@ -30,13 +32,9 @@ class Cxxopts(CMakePackage): depends_on('icu4c', when='+unicode') def cmake_args(self): - args = ['-DCXXOPTS_ENABLE_INSTALL=ON', - '-DCXXOPTS_BUILD_EXAMPLES=OFF', - '-DCXXOPTS_BUILD_TESTS=OFF'] - - if '+unicode' in self.spec: - args.append('-DCXXOPTS_USE_UNICODE_HELP=ON') - else: - args.append('-DCXXOPTS_USE_UNICODE_HELP=OFF') - - return args + return [ + self.define('CXXOPTS_ENABLE_INSTALL', 'ON'), + self.define('CXXOPTS_BUILD_EXAMPLES', 'OFF'), + self.define('CXXOPTS_BUILD_TESTS', 'OFF'), + self.define_from_variant('CXXOPTS_USE_UNICODE_HELP', 'unicode') + ] From 371bc37dd4536009787fa4370b5fd7539e6e0478 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 10 Aug 2021 23:15:45 +0200 Subject: [PATCH 167/414] Rework rules for provider weights (#25331) Preferred providers had a non-zero weight because in an earlier formulation of the logic program that was needed to prefer external providers over default providers. With the current formulation for externals this is not needed anymore, so we can give a weight of zero to both default choices and providers that are externals. _Using zero ensures that we don't introduce any drift towards having less providers, which was happening when minimizing positive weights_. Modifications: - [x] Default weight for providers starts at 0 (instead of 10, needed before to prefer externals) - [x] Rules to compute the `provider_weight` have been refactored. There are multiple possible weights for a given `Virtual`. Only one gets selected by the solver (the one that minimizes the objective function). - [x] `provider_weight` are now accounting for each different `Virtual`. Before there was a single weight per provider, even if the package was providing multiple virtuals. * Give preferred providers a weight of zero Preferred providers had a non-zero weight because in an earlier formulation of the logic program that was needed to prefer external providers over default providers. With the current formulation for externals this is not needed anymore, so we can give a weight of zero to default choices. Using zero ensures that we don't introduce any drift towards having less providers, which was happening when minimizing positive weights. * Simplify how we compute weights for providers Rewrite rules so that specific events (i.e. being an external) unlock the possibility to use certain weights. The weight being considered is then selected by the minimization process to be the one that gives the best score. * Allow providers to have different weights for different virtuals Before this change we didn't differentiate providers based on the virtual they provide, which meant that packages providing more than one virtual had nonetheless a single weight. With this change there will be a weight per virtual. --- lib/spack/spack/solver/asp.py | 2 +- lib/spack/spack/solver/concretize.lp | 68 ++++++++----------- lib/spack/spack/test/concretize.py | 14 ++++ .../spack/test/data/config/packages.yaml | 1 + .../packages/leaf-adds-virtual/package.py | 9 +++ .../packages/middle-adds-virtual/package.py | 7 ++ .../packages/root-adds-virtual/package.py | 8 +++ 7 files changed, 70 insertions(+), 39 deletions(-) create mode 100644 var/spack/repos/builtin.mock/packages/leaf-adds-virtual/package.py create mode 100644 var/spack/repos/builtin.mock/packages/middle-adds-virtual/package.py create mode 100644 var/spack/repos/builtin.mock/packages/root-adds-virtual/package.py diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index 35181d69c9b..2c0a0725489 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -767,7 +767,7 @@ def virtual_preferences(self, pkg_name, func): for i, provider in enumerate(providers): provider_name = spack.spec.Spec(provider).name - func(vspec, provider_name, i + 10) + func(vspec, provider_name, i) def provider_defaults(self): self.gen.h2("Default virtual providers") diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 9bc0d425169..0ee2e08a186 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -193,45 +193,37 @@ provides_virtual(Provider, Virtual) :- %----------------------------------------------------------------------------- % Virtual dependency weights %----------------------------------------------------------------------------- -% give dependents the virtuals they want -provider_weight(Dependency, 0) - :- virtual(Virtual), depends_on(Package, Dependency), - provider(Dependency, Virtual), - external(Dependency). -provider_weight(Dependency, Weight) - :- virtual(Virtual), depends_on(Package, Dependency), - provider(Dependency, Virtual), - pkg_provider_preference(Package, Virtual, Dependency, Weight), - not external(Dependency). +% A provider may have different possible weights depending on whether it's an external +% or not, or on preferences expressed in packages.yaml etc. This rule ensures that +% we select the weight, among the possible ones, that minimizes the overall objective function. +1 { provider_weight(Dependency, Virtual, Weight, Reason) : + possible_provider_weight(Dependency, Virtual, Weight, Reason) } 1 + :- provider(Dependency, Virtual). -provider_weight(Dependency, Weight) - :- virtual(Virtual), depends_on(Package, Dependency), - provider(Dependency, Virtual), - not pkg_provider_preference(Package, Virtual, Dependency, _), - not external(Dependency), - default_provider_preference(Virtual, Dependency, Weight). +% Get rid or the reason for enabling the possible weight (useful for debugging) +provider_weight(Dependency, Virtual, Weight) :- provider_weight(Dependency, Virtual, Weight, _). -% if there's no preference for something, it costs 100 to discourage its -% use with minimization -provider_weight(Dependency, 100) - :- virtual(Virtual), - provider(Dependency, Virtual), - depends_on(Package, Dependency), - not external(Dependency), - not pkg_provider_preference(Package, Virtual, Dependency, _), - not default_provider_preference(Virtual, Dependency, _). +% A provider that is an external can use a weight of 0 +possible_provider_weight(Dependency, Virtual, 0, "external") + :- provider(Dependency, Virtual), + external(Dependency). -% Do the same for virtual roots -provider_weight(Package, Weight) - :- virtual_root(Virtual), - provider(Package, Virtual), - default_provider_preference(Virtual, Package, Weight). +% A provider mentioned in packages.yaml can use a weight +% according to its priority in the list of providers +possible_provider_weight(Dependency, Virtual, Weight, "packages_yaml") + :- provider(Dependency, Virtual), + depends_on(Package, Dependency), + pkg_provider_preference(Package, Virtual, Dependency, Weight). -provider_weight(Package, 100) - :- virtual_root(Virtual), - provider(Package, Virtual), - not default_provider_preference(Virtual, Package, _). +% A provider mentioned in the default configuration can use a weight +% according to its priority in the list of providers +possible_provider_weight(Dependency, Virtual, Weight, "default") + :- provider(Dependency, Virtual), + default_provider_preference(Virtual, Dependency, Weight). + +% Any provider can use 100 as a weight, which is very high and discourage its use +possible_provider_weight(Dependency, Virtual, 100, "fallback") :- provider(Dependency, Virtual). #defined possible_provider/2. #defined provider_condition/3. @@ -747,8 +739,8 @@ opt_criterion(13, "multi-valued variants"). opt_criterion(12, "preferred providers for roots"). #minimize{ 0@12 : #true }. #minimize{ - Weight@12,Provider - : provider_weight(Provider, Weight), root(Provider) + Weight@12,Provider,Virtual + : provider_weight(Provider, Virtual, Weight), root(Provider) }. % Try to use default variants or variants that have been set @@ -764,8 +756,8 @@ opt_criterion(11, "number of non-default variants (non-roots)"). opt_criterion(9, "preferred providers (non-roots)"). #minimize{ 0@9 : #true }. #minimize{ - Weight@9,Provider - : provider_weight(Provider, Weight), not root(Provider) + Weight@9,Provider,Virtual + : provider_weight(Provider, Virtual, Weight), not root(Provider) }. % Try to minimize the number of compiler mismatches in the DAG. diff --git a/lib/spack/spack/test/concretize.py b/lib/spack/spack/test/concretize.py index 757fdc27069..0becb4d55be 100644 --- a/lib/spack/spack/test/concretize.py +++ b/lib/spack/spack/test/concretize.py @@ -1260,3 +1260,17 @@ def test_provider_must_meet_requirements(self): s = spack.spec.Spec('unsat-virtual-dependency') with pytest.raises((RuntimeError, spack.error.UnsatisfiableSpecError)): s.concretize() + + @pytest.mark.regression('23951') + def test_newer_dependency_adds_a_transitive_virtual(self): + # Ensure that a package doesn't concretize any of its transitive + # dependencies to an old version because newer versions pull in + # a new virtual dependency. The possible concretizations here are: + # + # root@1.0 <- middle@1.0 <- leaf@2.0 <- blas + # root@1.0 <- middle@1.0 <- leaf@1.0 + # + # and "blas" is pulled in only by newer versions of "leaf" + s = spack.spec.Spec('root-adds-virtual').concretized() + assert s['leaf-adds-virtual'].satisfies('@2.0') + assert 'blas' in s diff --git a/lib/spack/spack/test/data/config/packages.yaml b/lib/spack/spack/test/data/config/packages.yaml index 496c3623ccb..b2c3a33b42a 100644 --- a/lib/spack/spack/test/data/config/packages.yaml +++ b/lib/spack/spack/test/data/config/packages.yaml @@ -2,6 +2,7 @@ packages: all: providers: mpi: [openmpi, mpich] + blas: [openblas] externaltool: buildable: False externals: diff --git a/var/spack/repos/builtin.mock/packages/leaf-adds-virtual/package.py b/var/spack/repos/builtin.mock/packages/leaf-adds-virtual/package.py new file mode 100644 index 00000000000..be4cc177110 --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/leaf-adds-virtual/package.py @@ -0,0 +1,9 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +class LeafAddsVirtual(Package): + version('2.0', sha256='abcde') + version('1.0', sha256='abcde') + + depends_on('blas', when='@2.0') diff --git a/var/spack/repos/builtin.mock/packages/middle-adds-virtual/package.py b/var/spack/repos/builtin.mock/packages/middle-adds-virtual/package.py new file mode 100644 index 00000000000..884d8737c07 --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/middle-adds-virtual/package.py @@ -0,0 +1,7 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +class MiddleAddsVirtual(Package): + version('1.0', sha256='abcde') + depends_on('leaf-adds-virtual') diff --git a/var/spack/repos/builtin.mock/packages/root-adds-virtual/package.py b/var/spack/repos/builtin.mock/packages/root-adds-virtual/package.py new file mode 100644 index 00000000000..167a81ca674 --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/root-adds-virtual/package.py @@ -0,0 +1,8 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +class RootAddsVirtual(Package): + version('1.0', sha256='abcde') + + depends_on('middle-adds-virtual') From d88d887ed0fa69ebbd3a6f10e70f1cfa3abcdf6a Mon Sep 17 00:00:00 2001 From: arjun-raj-kuppala <60718144+arjun-raj-kuppala@users.noreply.github.com> Date: Wed, 11 Aug 2021 04:12:31 +0530 Subject: [PATCH 168/414] AMD ROCm 4.3.0 - bump up version for llvmamdgpu, hsakmt-roct, rocm-cmake, rocm-smi-lib (#25228) Co-authored-by: Harmen Stoppels --- .../builtin/packages/hsakmt-roct/package.py | 3 ++- .../builtin/packages/llvm-amdgpu/package.py | 25 +++++++++++++++---- .../builtin/packages/rocm-cmake/package.py | 3 ++- .../builtin/packages/rocm-smi-lib/package.py | 3 ++- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/var/spack/repos/builtin/packages/hsakmt-roct/package.py b/var/spack/repos/builtin/packages/hsakmt-roct/package.py index a46e9f767e3..a0601be0272 100644 --- a/var/spack/repos/builtin/packages/hsakmt-roct/package.py +++ b/var/spack/repos/builtin/packages/hsakmt-roct/package.py @@ -14,11 +14,12 @@ class HsakmtRoct(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface" git = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git" - url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.3.0', sha256='1ef5fe687bc23ffda17841fe354c1fb94e9aaf276ca9e5757488852f9066f231') version('4.2.0', sha256='cc325d4b9a96062f2ad0515fce724a8c64ba56a7d7f1ac4a0753941b8599c52e') version('4.1.0', sha256='8443ed5907a7ba9ad4003a49d90ff7b8886e1b2a5e90f14e4035765a7f64d7ca') version('4.0.0', sha256='a6960fffc8388731ee18953faae12d1449c582e3b3594418845a544455895f42') diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index 507c3f7569c..840182d2302 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -15,11 +15,12 @@ class LlvmAmdgpu(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/llvm-project" git = "https://github.com/RadeonOpenCompute/llvm-project.git" - url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-4.1.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] version('master', branch='amd-stg-open') + version('4.3.0', sha256='1567d349cd3bcd2c217b3ecec2f70abccd5e9248bd2c3c9f21d4cdb44897fc87') version('4.2.0', sha256='751eca1d18595b565cfafa01c3cb43efb9107874865a60c80d6760ba83edb661') version('4.1.0', sha256='244e38d824fa7dfa8d0edf3c036b3c84e9c17a16791828e4b745a8d31eb374ae') version('4.0.0', sha256='aa1f80f429fded465e86bcfaef72255da1af1c5c52d58a4c979bc2f6c2da5a69') @@ -50,7 +51,7 @@ class LlvmAmdgpu(CMakePackage): patch('fix-ncurses-3.9.0.patch', when='@3.9.0:4.0.0') # This is already fixed in upstream but not in 4.2.0 rocm release - patch('fix-spack-detection-4.2.0.patch', when='@4.2.0') + patch('fix-spack-detection-4.2.0.patch', when='@4.2.0:') conflicts('^cmake@3.19.0') @@ -59,6 +60,7 @@ class LlvmAmdgpu(CMakePackage): # Add device libs sources so they can be an external LLVM project for d_version, d_shasum in [ + ('4.3.0', '055a67e63da6491c84cd45865500043553fb33c44d538313dd87040a6f3826f2'), ('4.2.0', '34a2ac39b9bb7cfa8175cbab05d30e7f3c06aaffce99eed5f79c616d0f910f5f'), ('4.1.0', 'f5f5aa6bfbd83ff80a968fa332f80220256447c4ccb71c36f1fbd2b4a8e9fc1b'), ('4.0.0', 'd0aa495f9b63f6d8cf8ac668f4dc61831d996e9ae3f15280052a37b9d7670d2a'), @@ -92,12 +94,25 @@ def cmake_args(self): 'compiler-rt' ] + args = [] + if self.spec.satisfies('@4.3.0:'): + llvm_projects.append('libcxx') + llvm_projects.append('libcxxabi') + + args = [ + self.define('LIBCXX_ENABLE_SHARED', 'OFF'), + self.define('LIBCXX_ENABLE_STATIC', 'ON'), + self.define('LIBCXX_INSTALL_LIBRARY', 'OFF'), + self.define('LIBCXX_INSTALL_HEADERS', 'OFF'), + self.define('LIBCXXABI_ENABLE_SHARED', 'OFF'), + self.define('LIBCXXABI_ENABLE_STATIC', 'ON'), + self.define('LIBCXXABI_INSTALL_STATIC_LIBRARY', 'OFF'), + ] + if '+openmp' in self.spec: llvm_projects.append('openmp') - args = [ - self.define('LLVM_ENABLE_PROJECTS', ';'.join(llvm_projects)) - ] + args.extend([self.define('LLVM_ENABLE_PROJECTS', ';'.join(llvm_projects))]) # Enable rocm-device-libs as a external project if '+rocm-device-libs' in self.spec: diff --git a/var/spack/repos/builtin/packages/rocm-cmake/package.py b/var/spack/repos/builtin/packages/rocm-cmake/package.py index 4b8657a064c..3218a66c45c 100644 --- a/var/spack/repos/builtin/packages/rocm-cmake/package.py +++ b/var/spack/repos/builtin/packages/rocm-cmake/package.py @@ -13,11 +13,12 @@ class RocmCmake(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/rocm-cmake" git = "https://github.com/RadeonOpenCompute/rocm-cmake.git" - url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.3.0', sha256='bb752d8d2727b7ef2754838e389075dd4212cf5439d099392141f93d05391415') version('4.2.0', sha256='299e190ec3d38c2279d9aec762469628f0b2b1867adc082edc5708d1ac785c3b') version('4.1.0', sha256='a4521d119fa07954e529d5e717ad1b338992c0694690dbce00fee26c01129c8c') version('4.0.0', sha256='4577487acaa6e041a1316145867584f31caaf0d4aa2dd8fd7f82f81c269cada6') diff --git a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py index 00a6b57b403..a837a00bb88 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -16,11 +16,12 @@ class RocmSmiLib(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/rocm_smi_lib" git = "https://github.com/RadeonOpenCompute/rocm_smi_lib.git" - url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.3.0', sha256='c3ff56a14d334cb688a2e9a748dac46d9c2f7f576fe1f53416b1a0edbe842f8b') version('4.2.0', sha256='c31bf91c492f00d0c5ab21e45afbd7baa990e4a8d7ce9b01e3b988e5fdd53f50') version('4.1.0', sha256='0c1d2152e40e14bb385071ae16e7573290fb9f74afa5ab887c54f4dd75849a6b') version('4.0.0', sha256='93d19229b5a511021bf836ddc2a9922e744bf8ee52ee0e2829645064301320f4') From 26ed2776e7cfe0c782d9ccefc3bb20ff4f5d4832 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 11 Aug 2021 08:21:17 +0200 Subject: [PATCH 169/414] Add __skip_rocmclang to more rocm packages for cmake 3.21 (#25328) --- var/spack/repos/builtin/packages/hipblas/package.py | 4 +++- var/spack/repos/builtin/packages/hipcub/package.py | 7 ++++++- var/spack/repos/builtin/packages/hipfft/package.py | 8 +++++++- var/spack/repos/builtin/packages/hipfort/package.py | 8 ++++++++ var/spack/repos/builtin/packages/hipsparse/package.py | 7 ++++++- var/spack/repos/builtin/packages/rccl/package.py | 4 ++++ .../repos/builtin/packages/rocalution/package.py | 7 ++++++- .../repos/builtin/packages/rocm-tensile/package.py | 3 +++ var/spack/repos/builtin/packages/rocprim/package.py | 7 ++++++- var/spack/repos/builtin/packages/rocrand/package.py | 10 ++++++++-- var/spack/repos/builtin/packages/rocsolver/package.py | 3 +++ var/spack/repos/builtin/packages/rocsparse/package.py | 8 ++++++++ var/spack/repos/builtin/packages/rocthrust/package.py | 11 +++++++---- 13 files changed, 75 insertions(+), 12 deletions(-) diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index c5d77e3fdd3..657d37053c9 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -42,10 +42,12 @@ def cmake_args(self): # installed... if self.spec.satisfies('@:3.9.0'): args.append(self.define('TRY_CUDA', 'OFF')) - else: args.append(self.define('USE_CUDA', 'OFF')) + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index 8178e3d93f0..6c200e84bc5 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -39,6 +39,11 @@ def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) def cmake_args(self): - return [ + args = [ self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake) ] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + + return args diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index addb29aec9d..3aa47da0275 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -36,5 +36,11 @@ def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) def cmake_args(self): - args = ['-DBUILD_CLIENTS_SAMPLES=OFF'] + args = [ + self.define('BUILD_CLIENTS_SAMPLES', 'OFF') + ] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index e5bfc2afc4a..a536c557f4c 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -32,3 +32,11 @@ class Hipfort(CMakePackage): def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) + + def cmake_args(self): + args = [] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + + return args diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index 341569921b4..4f5cb34dbfd 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -41,11 +41,16 @@ class Hipsparse(CMakePackage): patch('530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch', when='@3.5.0') def cmake_args(self): - return [ + args = [ self.define('CMAKE_CXX_STANDARD', '14'), self.define('BUILD_CLIENTS_SAMPLES', 'OFF'), self.define('BUILD_CLIENTS_TESTS', 'OFF'), ] + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + + return args + def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index 2c973cd8ed6..2d8c700e4df 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -50,4 +50,8 @@ def cmake_args(self): 'NUMACTL_DIR', self.spec['numactl'].prefix )) + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index 2517847d418..d51539a6c56 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -60,8 +60,13 @@ def patch(self): filter_file(match, substitute, *files, **kwargs) def cmake_args(self): - return [ + args = [ self.define('SUPPORT_HIP', 'ON'), self.define('SUPPORT_MPI', 'OFF'), self.define('BUILD_CLIENTS_SAMPLES', 'OFF') ] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + + return args diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index a3dec71ead3..bda8b1be380 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -82,6 +82,9 @@ def cmake_args(self): arch = arch + ':xnack-' args.append(self.define('Tensile_ARCHITECTURE', arch)) + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index ba84bdec23a..6c36ba055ef 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -41,10 +41,15 @@ def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) def cmake_args(self): - return [ + args = [ self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake), self.define('ONLY_INSTALL', 'ON'), self.define('BUILD_TEST', 'OFF'), self.define('BUILD_BENCHMARK', 'OFF'), self.define('BUILD_EXAMPLE', 'OFF') ] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + + return args diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index b150f3dcd3f..6ad6a8cc741 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -66,6 +66,12 @@ def fix_library_locations(self): join_path(self.prefix.lib, lib)) def cmake_args(self): - args = ['-DBUILD_BENCHMARK=OFF', - '-DBUILD_TEST=OFF'] + args = [ + self.define('BUILD_BENCHMARK', 'OFF'), + self.define('BUILD_TEST', 'OFF') + ] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index d10e9518bf9..114eabedef4 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -59,6 +59,9 @@ def cmake_args(self): if self.spec.satisfies('@3.7.0:'): args.append(self.define_from_variant('OPTIMAL', 'optimal')) + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + return args def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index fc3246984d2..cbdde33a694 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -38,3 +38,11 @@ class Rocsparse(CMakePackage): def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) + + def cmake_args(self): + args = [] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + + return args diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index 41e7d663995..5c491788913 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -43,11 +43,14 @@ def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) def cmake_args(self): - spec = self.spec - - return [ + args = [ self.define( 'CMAKE_MODULE_PATH', - '{0}/cmake'.format(spec['hip'].prefix) + '{0}/cmake'.format(self.spec['hip'].prefix) ) ] + + if self.spec.satisfies('^cmake@3.21:'): + args.append(self.define('__skip_rocmclang', 'ON')) + + return args From 128d788363a3c9b9acc91fb019d6e51ab6ffd7c5 Mon Sep 17 00:00:00 2001 From: Brian Van Essen Date: Wed, 11 Aug 2021 00:12:59 -0700 Subject: [PATCH 170/414] Changed the LBANN software stack to not explicitly set the Host (#25351) Transfer protocol in the Aluminum library. If required the Host Transfer variant +ht should be explicity set. --- var/spack/repos/builtin/packages/dihydrogen/package.py | 4 ++-- var/spack/repos/builtin/packages/hydrogen/package.py | 4 ++-- var/spack/repos/builtin/packages/lbann/package.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py index 1e596cd9faa..338389fee64 100644 --- a/var/spack/repos/builtin/packages/dihydrogen/package.py +++ b/var/spack/repos/builtin/packages/dihydrogen/package.py @@ -68,8 +68,8 @@ class Dihydrogen(CMakePackage, CudaPackage, ROCmPackage): depends_on('aluminum@0.7.0:', when='@:0.0,0.2.1: +al') # Add Aluminum variants - depends_on('aluminum +cuda +nccl +ht +cuda_rma', when='+al +cuda') - depends_on('aluminum +rocm +rccl +ht', when='+al +rocm') + depends_on('aluminum +cuda +nccl +cuda_rma', when='+al +cuda') + depends_on('aluminum +rocm +rccl', when='+al +rocm') for arch in CudaPackage.cuda_arch_values: depends_on('aluminum cuda_arch=%s' % arch, when='+al +cuda cuda_arch=%s' % arch) diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index a00895fceec..597624f67e6 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -100,8 +100,8 @@ class Hydrogen(CMakePackage, CudaPackage, ROCmPackage): depends_on('aluminum@0.7.0:', when='@:1.0,1.5.2: +al') # Add Aluminum variants - depends_on('aluminum +cuda +nccl +ht +cuda_rma', when='+al +cuda') - depends_on('aluminum +rocm +rccl +ht', when='+al +rocm') + depends_on('aluminum +cuda +nccl +cuda_rma', when='+al +cuda') + depends_on('aluminum +rocm +rccl', when='+al +rocm') for arch in CudaPackage.cuda_arch_values: depends_on('aluminum cuda_arch=%s' % arch, when='+al +cuda cuda_arch=%s' % arch) diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index e1a965c6161..e8c37790e79 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -135,8 +135,8 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage): depends_on('aluminum@0.5.0:', when='@:0.90,0.102: +al') # Add Aluminum variants - depends_on('aluminum +cuda +nccl +ht +cuda_rma', when='+al +cuda') - depends_on('aluminum +rocm +rccl +ht', when='+al +rocm') + depends_on('aluminum +cuda +nccl +cuda_rma', when='+al +cuda') + depends_on('aluminum +rocm +rccl', when='+al +rocm') depends_on('dihydrogen@0.2.0:', when='@:0.90,0.102:') depends_on('dihydrogen +openmp', when='+dihydrogen') From 41ae83463e03a6fa0343b62638163819ffbba949 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Wed, 11 Aug 2021 00:14:04 -0700 Subject: [PATCH 171/414] doc: def llnl.util.filesystem.find fix rst (#25350) The star was not rendered in the docs. --- lib/spack/llnl/util/filesystem.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py index 3cf6553165a..a81425fe962 100644 --- a/lib/spack/llnl/util/filesystem.py +++ b/lib/spack/llnl/util/filesystem.py @@ -1102,14 +1102,14 @@ def find(root, files, recursive=True): Accepts any glob characters accepted by fnmatch: - ======= ==================================== - Pattern Meaning - ======= ==================================== - * matches everything - ? matches any single character - [seq] matches any character in ``seq`` - [!seq] matches any character not in ``seq`` - ======= ==================================== + ========== ==================================== + Pattern Meaning + ========== ==================================== + ``*`` matches everything + ``?`` matches any single character + ``[seq]`` matches any character in ``seq`` + ``[!seq]`` matches any character not in ``seq`` + ========== ==================================== Parameters: root (str): The root directory to start searching from From ffbc00de21d46786625664a8c166410a50410ce9 Mon Sep 17 00:00:00 2001 From: Sinan Date: Wed, 11 Aug 2021 00:14:48 -0700 Subject: [PATCH 172/414] libaec: add v1.0.3, v1.0.4, v1.0.5 (#25348) Co-authored-by: sbulut --- var/spack/repos/builtin/packages/libaec/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/libaec/package.py b/var/spack/repos/builtin/packages/libaec/package.py index c80c40acdf2..38899129a90 100644 --- a/var/spack/repos/builtin/packages/libaec/package.py +++ b/var/spack/repos/builtin/packages/libaec/package.py @@ -19,6 +19,9 @@ class Libaec(CMakePackage): provides('szip') + version('1.0.5', sha256='7bf7be828dc3caefcc968e98a59b997b6b3b06e4123137e9e0b0988dc1be3b2f') + version('1.0.4', sha256='7456adff4e817f94fc57a3eca824db1c203770ffb7a9253c435093ac5e239e31') + version('1.0.3', sha256='c28b340b20dcc0ad352970143e01718bd68dd5ef2a07a971736368805972f562') version('1.0.2', sha256='b9e5bbbc8bf9cbfd3b9b4ce38b3311f2c88d3d99f476edb35590eb0006aa1fc5') version('1.0.1', sha256='3668eb4ed36724441e488a7aadc197426afef4b1e8bd139af6d3e36023906459') version('1.0.0', sha256='849f08b08ddaaffe543d06d0ced5e4ee3e526b13a67c5f422d126b1c9cf1b546') From b686b73d6f0035fb1c1661f6fd9f08821064dba5 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Wed, 11 Aug 2021 00:15:16 -0700 Subject: [PATCH 173/414] moab: add 5.3.0 and use https (#25345) --- var/spack/repos/builtin/packages/moab/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/moab/package.py b/var/spack/repos/builtin/packages/moab/package.py index 118b822d324..3d4f470c1a6 100644 --- a/var/spack/repos/builtin/packages/moab/package.py +++ b/var/spack/repos/builtin/packages/moab/package.py @@ -18,12 +18,13 @@ class Moab(AutotoolsPackage): homepage = "https://bitbucket.org/fathomteam/moab" git = "https://bitbucket.org/fathomteam/moab.git" - url = "http://ftp.mcs.anl.gov/pub/fathom/moab-5.0.0.tar.gz" + url = "https://ftp.mcs.anl.gov/pub/fathom/moab-5.0.0.tar.gz" maintainers = ['vijaysm', 'iulian787'] version('develop', branch='develop') version('master', branch='master') + version('5.3.0', sha256='51c31ccbcaa76d9658a44452b9a39f076b795b27a1c9f408fc3d0eea97e032ef') version('5.2.1', sha256='60d31762be3f0e5c89416c764e844ec88dac294169b59a5ead3c316b50f85c29') version('5.2.0', sha256='805ed3546deff39e076be4d1f68aba1cf0dda8c34ce43e1fc179d1aff57c5d5d') version('5.1.0', sha256='0371fc25d2594589e95700739f01614f097b6157fb6023ed8995e582726ca658') From c3370897cf684df117bc267a256e19fd0956fdf9 Mon Sep 17 00:00:00 2001 From: Edgar Leon <800736+eleon@users.noreply.github.com> Date: Wed, 11 Aug 2021 00:22:37 -0700 Subject: [PATCH 174/414] mpibind: add new package (#25322) --- .../repos/builtin/packages/mpibind/package.py | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 var/spack/repos/builtin/packages/mpibind/package.py diff --git a/var/spack/repos/builtin/packages/mpibind/package.py b/var/spack/repos/builtin/packages/mpibind/package.py new file mode 100644 index 00000000000..f448d9b9521 --- /dev/null +++ b/var/spack/repos/builtin/packages/mpibind/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) + +import sys + +from spack import * + + +class Mpibind(AutotoolsPackage): + """A memory-driven algorithm to map parallel codes + to heterogeneous architectures""" + + homepage = "https://github.com/LLNL/mpibind" + url = "https://github.com/LLNL/mpibind/archive/refs/tags/v0.5.0.tar.gz" + git = "https://github.com/LLNL/mpibind.git" + + maintainers = ['eleon'] + + # The build process uses 'git describe --tags' to get the + # package version, thus we need 'get_full_repo' + version('master', branch='master', get_full_repo=True) + version('0.5.0', sha256='51bb27341109aeef121a8630bd56f5551c70ebfd337a459fb70ef9015d97d2b7') + + variant('cuda', default=False, + description='Build w/support for NVIDIA GPUs.') + variant('rocm', default=False, + description='Build w/support for AMD GPUs.') + + depends_on('autoconf', type='build') + depends_on('automake', type='build') + depends_on('libtool', type='build') + depends_on('m4', type='build') + depends_on('pkgconf', type='build') + + depends_on('hwloc@2:+libxml2', type='link') + depends_on('hwloc@2:+pci', when=(sys.platform != 'darwin'), type='link') + depends_on('hwloc@2:+cuda+nvml', when='+cuda', type='link') + depends_on('hwloc@2.4:+rocm+opencl', when='+rocm', type='link') + + def autoreconf(self, spec, prefix): + autoreconf('--install', '--verbose', '--force') + + # To build and run the tests, make sure 'libtap' is installed + # on the target system and is recognized by pkg-config. + # Unfortunately, libtap is not in Spack. From 0d4f69f28c6d7c194b7fdb0f7b7f99aab50dd94d Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Wed, 11 Aug 2021 09:28:30 +0200 Subject: [PATCH 175/414] py-particle: add v0.15.1 (#25333) --- var/spack/repos/builtin/packages/py-particle/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-particle/package.py b/var/spack/repos/builtin/packages/py-particle/package.py index d16ea9eccc1..c293d9e04a5 100644 --- a/var/spack/repos/builtin/packages/py-particle/package.py +++ b/var/spack/repos/builtin/packages/py-particle/package.py @@ -20,6 +20,7 @@ class PyParticle(PythonPackage): tags = ['hep'] version('master', branch='master') + version('0.15.1', sha256='6b05cdc4b76c70f785e89258a470504ad87ca119057c65da30a7d4412cca824f') version('0.14.1', sha256='05b345f8fbfdb12a0aa744c788b6e1b22326b5a6ad95230596e0fc9ebad56621') version('0.11.0', sha256='e90dc36c8b7d7431bd14ee5a28486d28b6c0708555845d1d7bdf59a165405f12') From e89f2c0e913d42b5e689c40f7a34be67763e31aa Mon Sep 17 00:00:00 2001 From: Alexander Jaust Date: Wed, 11 Aug 2021 09:29:48 +0200 Subject: [PATCH 176/414] fenics: updates to allow newer versions of Boost (#25329) --- var/spack/repos/builtin/packages/fenics/package.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py index 36eeaef4702..9631f0307df 100644 --- a/var/spack/repos/builtin/packages/fenics/package.py +++ b/var/spack/repos/builtin/packages/fenics/package.py @@ -96,11 +96,8 @@ class Fenics(CMakePackage): depends_on('pkgconfig', type='build') depends_on('zlib', when='+zlib') - for ver in dolfin_versions: - if Version(ver) == Version('2019.1.0'): - depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono') - else: - depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono@1.68.0') + depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono') + depends_on('boost+filesystem+program_options+system+iostreams+timer+regex+chrono@1.68.0', when='@:2018.99') depends_on('mpi', when='+mpi') depends_on('hdf5+hl+fortran', when='+hdf5+petsc') From fb8c954e2ea2e4827ff9930838d7afdb85724f31 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Wed, 11 Aug 2021 00:30:22 -0700 Subject: [PATCH 177/414] Switch to settings option used in latest *and* oldest listed version (#25340) --- lib/spack/spack/cmd/style.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/spack/cmd/style.py b/lib/spack/spack/cmd/style.py index b2961261161..eb95904dfb4 100644 --- a/lib/spack/spack/cmd/style.py +++ b/lib/spack/spack/cmd/style.py @@ -312,7 +312,7 @@ def run_mypy(mypy_cmd, file_list, args): @tool("isort") def run_isort(isort_cmd, file_list, args): # always run with config from running spack prefix - isort_args = ("--settings-file", os.path.join(spack.paths.prefix, "pyproject.toml")) + isort_args = ("--settings-path", os.path.join(spack.paths.prefix, "pyproject.toml")) if not args.fix: isort_args += ("--check", "--diff") From 2ca44a6f6dd3f91544d23d86fce23cb2bdc4fa70 Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Wed, 11 Aug 2021 00:52:22 -0700 Subject: [PATCH 178/414] update version for rocm-4.3.0 release (#25349) --- var/spack/repos/builtin/packages/hipblas/package.py | 5 +++-- var/spack/repos/builtin/packages/hipcub/package.py | 5 +++-- var/spack/repos/builtin/packages/hipfft/package.py | 5 +++-- var/spack/repos/builtin/packages/hipfort/package.py | 6 ++++-- var/spack/repos/builtin/packages/rccl/package.py | 8 +++++--- var/spack/repos/builtin/packages/rocblas/package.py | 10 ++++++---- var/spack/repos/builtin/packages/rocfft/package.py | 5 +++-- .../repos/builtin/packages/rocm-tensile/package.py | 7 ++++--- var/spack/repos/builtin/packages/rocprim/package.py | 5 +++-- var/spack/repos/builtin/packages/rocrand/package.py | 7 ++++--- var/spack/repos/builtin/packages/rocsolver/package.py | 8 +++++--- var/spack/repos/builtin/packages/rocthrust/package.py | 5 +++-- 12 files changed, 46 insertions(+), 30 deletions(-) diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index 657d37053c9..86aee29b8cd 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -12,8 +12,9 @@ class Hipblas(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipBLAS" git = "https://github.com/ROCmSoftwarePlatform/hipBLAS.git" - url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-4.3.0.tar.gz" + version('4.3.0', sha256='0631e21c588794ea1c8413ef8ff293606bcf7a52c0c3ff88da824f103395a76a') version('4.2.0', sha256='c7ce7f69c7596b5a54e666fb1373ef41d1f896dd29260a691e2eadfa863e2b1a') version('4.1.0', sha256='876efe80a4109ad53d290d2921b3fb425b4cb857b32920819f10dcd4deee4ef8') version('4.0.0', sha256='6cc03af891b36cce8266d32ba8dfcf7fdfcc18afa7a6cc058fbe28bcf8528d94') @@ -26,7 +27,7 @@ class Hipblas(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocsolver@' + ver, when='@' + ver) depends_on('rocblas@' + ver, type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipcub/package.py b/var/spack/repos/builtin/packages/hipcub/package.py index 6c200e84bc5..7335524740a 100644 --- a/var/spack/repos/builtin/packages/hipcub/package.py +++ b/var/spack/repos/builtin/packages/hipcub/package.py @@ -11,10 +11,11 @@ class Hipcub(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipCUB" git = "https://github.com/ROCmSoftwarePlatform/hipCUB.git" - url = "https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='733499a8d55e2d73bf874d43a98ee7425e4325f77e03fb0c80debf36c740cb70') version('4.2.0', sha256='56b50e185b7cdf4615d2f56d3a4e86fe76f885e9ad04845f3d0671afcb315c69') version('4.1.0', sha256='6d33cc371b9a5ac9c0ab9853bac736f6cea0d2192f4dc9e6d8175d207ee4b4f2') version('4.0.0', sha256='656bd6ec547810fd74bcebba41453e6e729f3fdb7346f5564ab71fc0346c3fb5') @@ -30,7 +31,7 @@ class Hipcub(CMakePackage): depends_on('numactl', type='link', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index 3aa47da0275..3359af11d43 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -16,18 +16,19 @@ class Hipfft(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipFFT" git = "https://github.com/ROCmSoftwarePlatform/hipFFT.git" - url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-4.1.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-4.3.0.tar.gz" maintainers = ['arjun-raj-kuppala', 'srekolam'] version('master', branch='master') + version('4.3.0', sha256='6e52e0eb5b2a13adaf317fe5b20b3e059589aabf2af87e4c67cb1022b861ba84') version('4.2.0', sha256='74253b0d92feff55ebb39b3fe4a22a6454160a60bdad37384aa5340fd8843f8a') version('4.1.0', sha256='885ffd4813f2c271150f1b8b386f0af775b38fc82b96ce6fd94eb4ba0c0180be') depends_on('cmake@3:', type='build') - for ver in ['4.1.0', '4.2.0']: + for ver in ['4.1.0', '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocfft@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/hipfort/package.py b/var/spack/repos/builtin/packages/hipfort/package.py index a536c557f4c..fc4a5485470 100644 --- a/var/spack/repos/builtin/packages/hipfort/package.py +++ b/var/spack/repos/builtin/packages/hipfort/package.py @@ -11,10 +11,11 @@ class Hipfort(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipfort" git = "https://github.com/ROCmSoftwarePlatform/hipfort.git" - url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='fd0ffdafdc17ac42c7dae3f89991651f15affdef9b2354da05c7493d09d8974e') version('4.2.0', sha256='b411cb32bf87927eba4c5573b412c56d75d15165e2f1c8ac5ac18e624ed3a4b4') version('4.1.0', sha256='2d335ae068d0cbb480575de7d3ea4868362af32cb195f911ee1aeced499f3974') version('4.0.0', sha256='a497645c33e0eff39abd5344756de63424733cde2837b7376c924b44ed5ae9c9') @@ -26,7 +27,8 @@ class Hipfort(CMakePackage): depends_on('cmake@3:', type='build') - for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', + '4.3.0']: depends_on('hip@' + ver, type='build', when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rccl/package.py b/var/spack/repos/builtin/packages/rccl/package.py index 2d8c700e4df..70b7b2359f6 100644 --- a/var/spack/repos/builtin/packages/rccl/package.py +++ b/var/spack/repos/builtin/packages/rccl/package.py @@ -14,10 +14,11 @@ class Rccl(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/rccl" git = "https://github.com/RadeonOpenCompute/rccl.git" - url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='b5231d8c5ab034a583feceebcef68d0cc0b05ec5a683f802fc7747c89f27d5f6') version('4.2.0', sha256='2829fae40ebc1d8be201856d2193a941c87e9cf38dca0a2f4414e675c1742f20') version('4.1.0', sha256='88ec9b43c31cb054fe6aa28bcc0f4b510213635268f951939d6980eee5bb3680') version('4.0.0', sha256='0632a15b3d6b5981c05377cf4aeb51546f4c4901fd7c37fb0c98071851ad531a') @@ -31,13 +32,14 @@ class Rccl(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) - for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', + '4.3.0']: depends_on('numactl@2:', when='@' + ver) def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rocblas/package.py b/var/spack/repos/builtin/packages/rocblas/package.py index ebb90461b0c..4b18f12496e 100644 --- a/var/spack/repos/builtin/packages/rocblas/package.py +++ b/var/spack/repos/builtin/packages/rocblas/package.py @@ -12,10 +12,11 @@ class Rocblas(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS/" git = "https://github.com/ROCmSoftwarePlatform/rocBLAS.git" - url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.3.0', sha256='b15a66c861b3394cb83c56b64530b2c7e57b2b4c50f55d0e66bb3d1483b50ec4') version('4.2.0', sha256='547f6d5d38a41786839f01c5bfa46ffe9937b389193a8891f251e276a1a47fb0') version('4.1.0', sha256='8be20c722bab169bc4badd79a9eab9a1aa338e0e5ff58ad85ba6bf09e8ac60f4') version('4.0.0', sha256='78e37a7597b581d90a29e4b956fa65d0f8d1c8fb51667906b5fe2a223338d401') @@ -32,7 +33,7 @@ class Rocblas(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) @@ -41,7 +42,7 @@ class Rocblas(CMakePackage): for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0']: depends_on('rocm-smi@' + ver, type='build', when='@' + ver) - for ver in ['4.0.0', '4.1.0', '4.2.0']: + for ver in ['4.0.0', '4.1.0', '4.2.0', '4.3.0']: depends_on('rocm-smi-lib@' + ver, type='build', when='@' + ver) # This is the default library format since 3.7.0 @@ -63,7 +64,8 @@ class Rocblas(CMakePackage): ('@3.10.0', 'ab44bf46b609b5a40053f310bef2ab7511f726ae'), ('@4.0.0', 'ab44bf46b609b5a40053f310bef2ab7511f726ae'), ('@4.1.0', 'd175277084d3253401583aa030aba121e8875bfd'), - ('@4.2.0', '3438af228dc812768b20a068b0285122f327fa5b') + ('@4.2.0', '3438af228dc812768b20a068b0285122f327fa5b'), + ('@4.3.0', '9cbabb07f81e932b9c98bf5ae48fbd7fcef615cf') ]: resource(name='Tensile', git='https://github.com/ROCmSoftwarePlatform/Tensile.git', diff --git a/var/spack/repos/builtin/packages/rocfft/package.py b/var/spack/repos/builtin/packages/rocfft/package.py index 44d191ec324..26805a41eee 100644 --- a/var/spack/repos/builtin/packages/rocfft/package.py +++ b/var/spack/repos/builtin/packages/rocfft/package.py @@ -12,10 +12,11 @@ class Rocfft(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT/" git = "https://github.com/ROCmSoftwarePlatform/rocFFT.git" - url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.3.0', sha256='cb5b8f62330bc61b17a3a2fd1500068ee05d48cb51797901dd259dbc84610478') version('4.2.0', sha256='db29c9067f0cfa98bddd3574f6aa7200cfc790cc6da352d19e4696c3f3982163') version('4.1.0', sha256='df23fcb05aae72557461ae3687be7e3b8b78be4132daf1aa9dc07339f4eba0cc') version('4.0.0', sha256='d1d10d270f822e0bab64307313ef163ba449b058bf3352962bbb26d4f4db89d0') @@ -38,7 +39,7 @@ class Rocfft(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocm-tensile/package.py b/var/spack/repos/builtin/packages/rocm-tensile/package.py index bda8b1be380..f460cacf1fb 100644 --- a/var/spack/repos/builtin/packages/rocm-tensile/package.py +++ b/var/spack/repos/builtin/packages/rocm-tensile/package.py @@ -12,10 +12,11 @@ class RocmTensile(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/Tensile/" git = "https://github.com/ROCmSoftwarePlatform/Tensile.git" - url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.3.0', sha256='911c0cdb0146d43a2a59170e6a803f414a2b68df7d9ff369ab784d11a08d7264') version('4.2.0', sha256='198e357a14a79366b27b1097856d4821996bc36163be0cd2668910b253721060') version('4.1.0', sha256='92b8ee13dfc11a67d5136227ee985622685790fd3f0f0e1ec6db411d4e9a3419') version('4.0.0', sha256='cf105ce8c3e352d19713b3bf8bda77f25c1a692c4f2ca82d631ba15523ecc1cd') @@ -36,7 +37,7 @@ class RocmTensile(CMakePackage): depends_on('boost', type=('build', 'link')) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) @@ -47,7 +48,7 @@ class RocmTensile(CMakePackage): for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0']: depends_on('rocm-smi@' + ver, type='build', when='@' + ver) - for ver in ['4.0.0', '4.1.0', '4.2.0']: + for ver in ['4.0.0', '4.1.0', '4.2.0', '4.3.0']: depends_on('rocm-smi-lib@' + ver, type='build', when='@' + ver) root_cmakelists_dir = 'Tensile/Source' diff --git a/var/spack/repos/builtin/packages/rocprim/package.py b/var/spack/repos/builtin/packages/rocprim/package.py index 6c36ba055ef..827a28544df 100644 --- a/var/spack/repos/builtin/packages/rocprim/package.py +++ b/var/spack/repos/builtin/packages/rocprim/package.py @@ -11,10 +11,11 @@ class Rocprim(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocPRIM" git = "https://github.com/ROCmSoftwarePlatform/rocPRIM.git" - url = "https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='f6cf53b5fa07a0d6f508e39c7da5b11f562c0cac4b041ec5c41a8fc733f707c7') version('4.2.0', sha256='3932cd3a532eea0d227186febc56747dd95841732734d9c751c656de9dd770c8') version('4.1.0', sha256='c46d789f85d15f8ec97f90d67b9d49fb87239912fe8d5f60a7b4c59f9d0e3da8') version('4.0.0', sha256='61abf4d51853ae71e54258f43936bbbb096bf06f5891d224d359bfe3104015d0') @@ -30,7 +31,7 @@ class Rocprim(CMakePackage): depends_on('numactl', type='link', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('comgr@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocrand/package.py b/var/spack/repos/builtin/packages/rocrand/package.py index 6ad6a8cc741..d593d049069 100644 --- a/var/spack/repos/builtin/packages/rocrand/package.py +++ b/var/spack/repos/builtin/packages/rocrand/package.py @@ -15,10 +15,11 @@ class Rocrand(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocRAND" git = "https://github.com/ROCmSoftwarePlatform/rocRAND.git" - url = "https://github.com/ROCmSoftwarePlatform/rocRAND/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocRAND/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='a85ced6c155befb7df8d58365518f4d9afc4407ee4e01d4640b5fd94604ca3e0') version('4.2.0', sha256='15725c89e9cc9cc76bd30415fd2c0c5b354078831394ab8b23fe6633497b92c8') version('4.1.0', sha256='94327e38739030ab6719a257f5a928a35842694750c7f46d9e11ff2164c2baed') version('4.0.0', sha256='1cafdbfa15cde635bd424d2a858dc5cc94d668f9a211ff39606ee01ed1715f41') @@ -32,14 +33,14 @@ class Rocrand(CMakePackage): depends_on('numactl', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, type='build', when='@' + ver) depends_on('comgr@' + ver, type='build', when='@' + ver) depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver) depends_on('rocminfo@' + ver, type='build', when='@' + ver) depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['4.1.0', '4.2.0']: + for ver in ['4.1.0', '4.2.0', '4.3.0']: depends_on('hip-rocclr@' + ver, when='@' + ver) def setup_build_environment(self, env): diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index 114eabedef4..b45176d6af8 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -12,7 +12,7 @@ class Rocsolver(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocSOLVER" git = "https://github.com/ROCmSoftwarePlatform/rocSOLVER.git" - url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocSOLVER/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] @@ -21,6 +21,7 @@ class Rocsolver(CMakePackage): size and compile time by adding specialized kernels \ for small matrix sizes') + version('4.3.0', sha256='63cc88dd285c0fe01ec2394321ec3b4e1e59bb98ce05b06e4b4d8fadcf1ff028') version('4.2.0', sha256='e9ef72d7c29e7c36bf02be63a64ca23b444e1ca71751749f7d66647873d9fdea') version('4.1.0', sha256='da5cc800dabf7367b02b73c93780b2967f112bb45232e4b06e5fd07b4d5b8d88') version('4.0.0', sha256='be9a52644c276813f76d78f2c11eddaf8c2d7f9dd04f4570f23d328ad30d5880') @@ -33,11 +34,12 @@ class Rocsolver(CMakePackage): depends_on('cmake@3:', type='build') depends_on('numactl', type='link', when='@3.7.0:') - for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', + '4.3.0']: depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, type='build', when='@' + ver) depends_on('comgr@' + ver, type='build', when='@' + ver) depends_on('rocblas@' + ver, type='link', when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocthrust/package.py b/var/spack/repos/builtin/packages/rocthrust/package.py index 5c491788913..00e380ecc46 100644 --- a/var/spack/repos/builtin/packages/rocthrust/package.py +++ b/var/spack/repos/builtin/packages/rocthrust/package.py @@ -14,10 +14,11 @@ class Rocthrust(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocThrust" git = "https://github.com/ROCmSoftwarePlatform/rocThrust.git" - url = "https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocThrust/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='a50eb6500687b4ea9e0b3affb1daff8bbc56199d39fbed3ee61d2d5bfc1a0271') version('4.2.0', sha256='da2b6c831c26c26058218b0c5b7b2e43fd7f0dac3b2e3a8e39a839145592c727') version('4.1.0', sha256='e3d06c0387a2a6880776c7423b1acf0808fb8833bc822be75793da8c2f521efd') version('4.0.0', sha256='120c87316f44ce8e8975e57c9b9bf1246b1ffc00879d31d744289ba9438a976c') @@ -34,7 +35,7 @@ class Rocthrust(CMakePackage): depends_on('numactl', when='@3.7.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) From 84e2469e41a5a6fb3d02f6e4bcca22f6566757cc Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Wed, 11 Aug 2021 00:55:20 -0700 Subject: [PATCH 179/414] update the version for rocm-4.3.0 release (#25343) --- var/spack/repos/builtin/packages/migraphx/package.py | 5 +++-- var/spack/repos/builtin/packages/miopen-hip/package.py | 5 +++-- var/spack/repos/builtin/packages/miopen-opencl/package.py | 7 ++++--- var/spack/repos/builtin/packages/miopengemm/package.py | 5 +++-- var/spack/repos/builtin/packages/mivisionx/package.py | 6 ++++-- var/spack/repos/builtin/packages/rdc/package.py | 5 +++-- var/spack/repos/builtin/packages/roctracer-dev/package.py | 7 ++++--- 7 files changed, 24 insertions(+), 16 deletions(-) diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py index 7261e464b29..ffccce80578 100644 --- a/var/spack/repos/builtin/packages/migraphx/package.py +++ b/var/spack/repos/builtin/packages/migraphx/package.py @@ -11,10 +11,11 @@ class Migraphx(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX" git = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX.git" - url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='99cf202a5e86cf5502b0f8bf12f152dbd5a6aacc204b3d9d5efca67a54793408') version('4.2.0', sha256='93f22f6c641dde5d7fb8abcbd99621b3c81e332e125a6f3a258d5e4cf2055f55') version('4.1.0', sha256='f9b1d2e25cdbaf5d0bfb07d4c8ccef0abaa291757c4bce296c3b5b9488174045') version('4.0.0', sha256='b8b845249626e9169353dbfa2530db468972a7569b248c8118ff19e029a12e55') @@ -48,7 +49,7 @@ def url_for_version(self, version): depends_on('py-pybind11@2.6:', type='build', when='@4.1.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/miopen-hip/package.py b/var/spack/repos/builtin/packages/miopen-hip/package.py index e08d349128c..fe35848761c 100644 --- a/var/spack/repos/builtin/packages/miopen-hip/package.py +++ b/var/spack/repos/builtin/packages/miopen-hip/package.py @@ -12,10 +12,11 @@ class MiopenHip(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen" git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git" - url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d') version('4.2.0', sha256='8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c') version('4.1.0', sha256='068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee') version('4.0.0', sha256='84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6') @@ -38,7 +39,7 @@ class MiopenHip(CMakePackage): patch('0001-Add-rocm-path-and-rocm-device-lib-path-flags.patch', when='@3.9.0:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-clang-ocl@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/miopen-opencl/package.py b/var/spack/repos/builtin/packages/miopen-opencl/package.py index 66f9b87ccd3..5dc553acd07 100644 --- a/var/spack/repos/builtin/packages/miopen-opencl/package.py +++ b/var/spack/repos/builtin/packages/miopen-opencl/package.py @@ -12,10 +12,11 @@ class MiopenOpencl(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen" git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git" - url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='034445470cfd44480a1d9854f9fdfe92cfb8efa3f002dee508eb9585e338486d') version('4.2.0', sha256='8ab02e784c8b3471159794766ed6303c333b33c69dc5186c0930e56504373b7c') version('4.1.0', sha256='068b1bc33f90fe21d3aab5697d2b3b7b930e613c54d6c5ee820768579b2b41ee') version('4.0.0', sha256='84c6c17be9c1a9cd0d3a2af283433f64b07a4b9941349f498e40fed82fb205a6') @@ -36,13 +37,13 @@ class MiopenOpencl(CMakePackage): depends_on('miopengemm@1.1.6', type='link', when='@3.5.0') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocm-opencl@' + ver, when='@' + ver) for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('miopengemm@' + ver, when='@' + ver) def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/miopengemm/package.py b/var/spack/repos/builtin/packages/miopengemm/package.py index cfbd3643593..c751607c038 100644 --- a/var/spack/repos/builtin/packages/miopengemm/package.py +++ b/var/spack/repos/builtin/packages/miopengemm/package.py @@ -12,7 +12,7 @@ class Miopengemm(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM" git = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM.git" - url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] @@ -22,6 +22,7 @@ def url_for_version(self, version): url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-{0}.tar.gz" return url.format(version) + version('4.3.0', sha256='d32b3b98e695b7db2fd2faa6587a57728d1252d6d649dcb2db3102f98cd5930e') version('4.2.0', sha256='a11fa063248ed339fe897ab4c5d338b7279035fa37fcbe0909e2c4c352aaefb1') version('4.1.0', sha256='389328eb4a16565853691bd5b01a0eab978d99e3217329236ddc63a38b8dd4eb') version('4.0.0', sha256='366d03facb1ec5f6f4894aa88859df1d7fea00fee0cbac5173d7577e9a8ba799') @@ -38,6 +39,6 @@ def url_for_version(self, version): depends_on('rocm-opencl@3.5.0', when='@1.1.6') for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('rocm-opencl@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/mivisionx/package.py b/var/spack/repos/builtin/packages/mivisionx/package.py index c5e5700e228..44d444d4a15 100644 --- a/var/spack/repos/builtin/packages/mivisionx/package.py +++ b/var/spack/repos/builtin/packages/mivisionx/package.py @@ -13,7 +13,7 @@ class Mivisionx(CMakePackage): homepage = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX" git = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX.git" - url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] @@ -24,6 +24,7 @@ def url_for_version(self, version): url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz" return url.format(version) + version('4.3.0', sha256='31f6ab9fb7f40b23d4b24c9a70f809623720943e0492c3d357dd22dcfa50efb2') version('4.2.0', sha256='172857b1b340373ae81ed6aa241559aa781e32250e75c82d7ba3c002930a8a3a') version('4.1.0', sha256='0b431a49807682b9a81adac6a64160a0712ddaa3963e0f05595c93b92be777ea') version('4.0.0', sha256='e09d4890b729740ded056b3974daea84c8eb1fc93714c52bf89f853c2eef1fb5') @@ -63,7 +64,8 @@ def flag_handler(self, name, flags): depends_on('miopengemm@1.1.6', when='@1.7') depends_on('openssl', when='@4.0.0:4.2.0') - for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', + '4.3.0']: depends_on('rocm-opencl@' + ver, when='@' + ver) depends_on('miopengemm@' + ver, when='@' + ver) depends_on('miopen-opencl@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rdc/package.py b/var/spack/repos/builtin/packages/rdc/package.py index 0fdbefe2e69..a5042fb6072 100644 --- a/var/spack/repos/builtin/packages/rdc/package.py +++ b/var/spack/repos/builtin/packages/rdc/package.py @@ -11,7 +11,7 @@ class Rdc(CMakePackage): """ROCm Data Center Tool""" homepage = "https://github.com/RadeonOpenCompute/rdc" - url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] @@ -22,6 +22,7 @@ def url_for_version(self, version): url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-{0}.tar.gz" return url.format(version) + version('4.3.0', sha256='d3dda2022ec1f8c7de4de64696009125a903fcb2f82c38b3ac07e4ab35bf9190') version('4.2.0', sha256='ea2c7c07d55f607968f58d7e30326cae5db5b48c1ba354caa5727394d5bad258') version('4.1.0', sha256='dc81ee9727c8913c05dcf20a00669ce611339ef6d6db8af34e57f42bcfa804ac') version('4.0.0', sha256='e9ebfc46dfa983400909ed8a9da4fa37869ab118a8426c2e4f793e21174ca07f') @@ -34,7 +35,7 @@ def url_for_version(self, version): depends_on('protobuf', type=('build', 'link')) depends_on('libcap', type=('build', 'link')) - for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0']: depends_on('rocm-smi-lib@' + ver, type=('build', 'link'), when='@' + ver) def patch(self): diff --git a/var/spack/repos/builtin/packages/roctracer-dev/package.py b/var/spack/repos/builtin/packages/roctracer-dev/package.py index f02f0f715d0..a3452f288e6 100644 --- a/var/spack/repos/builtin/packages/roctracer-dev/package.py +++ b/var/spack/repos/builtin/packages/roctracer-dev/package.py @@ -14,10 +14,11 @@ class RoctracerDev(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/roctracer" git = "https://github.com/ROCm-Developer-Tools/roctracer.git" - url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='c3d9f408df8d4dc0e9c0026217b8c684f68e775da80b215fecb3cd24419ee6d3') version('4.2.0', sha256='62a9c0cb1ba50b1c39a0636c886ac86e75a1a71cbf5fec05801517ceb0e67a37') version('4.1.0', sha256='5d93de4e92895b6eb5f9d098f5dbd182d33923bd9b2ab69cf5a1abbf91d70695') version('4.0.0', sha256='f47859a46173228b597c463eda850b870e810534af5efd5f2a746067ef04edee') @@ -33,13 +34,13 @@ class RoctracerDev(CMakePackage): depends_on('py-cppheaderparser', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('rocminfo@' + ver, when='@' + ver) depends_on('hip@' + ver, when='@' + ver) - for ver in ['4.2.0']: + for ver in ['4.2.0', '4.3.0']: depends_on('rocprofiler-dev@' + ver, when='@' + ver) def setup_build_environment(self, build_env): From 3b23b4251937a9e593de9eec4107284cbecc39f3 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 11 Aug 2021 10:14:01 +0200 Subject: [PATCH 180/414] libtree: add "master" version, variants and dependencies (#25337) --- .../repos/builtin/packages/libtree/package.py | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/libtree/package.py b/var/spack/repos/builtin/packages/libtree/package.py index 2f6c3850732..65a124be613 100644 --- a/var/spack/repos/builtin/packages/libtree/package.py +++ b/var/spack/repos/builtin/packages/libtree/package.py @@ -11,10 +11,11 @@ class Libtree(CMakePackage): single folder""" homepage = "https://github.com/haampie/libtree" + git = "https://github.com/haampie/libtree.git" url = "https://github.com/haampie/libtree/releases/download/v1.0.3/sources.tar.gz" - maintainers = ['haampie'] + version('master', branch='master') version('1.2.3', sha256='4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf') version('1.2.2', sha256='4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd') version('1.2.1', sha256='26791c0f418b93d502879db0e1fd2fd3081b885ad87326611d992a5f8977a9b0') @@ -26,3 +27,33 @@ class Libtree(CMakePackage): version('1.1.0', sha256='6cf36fb9a4c8c3af01855527d4931110732bb2d1c19be9334c689f1fd1c78536') version('1.0.4', sha256='b15a54b6f388b8bd8636e288fcb581029f1e65353660387b0096a554ad8e9e45') version('1.0.3', sha256='67ce886c191d50959a5727246cdb04af38872cd811c9ed4e3822f77a8f40b20b') + + variant('chrpath', default=False, description='Use chrpath for deployment') + variant('strip', default=False, description='Use binutils strip for deployment') + + # header only dependencies + depends_on('cpp-termcolor', when='@2.0:', type='build') + depends_on('cxxopts', when='@2.0:', type='build') + depends_on('elfio', when='@2.0:', type='build') + + # runtime deps + depends_on('chrpath', when='+chrpath', type='run') + depends_on('binutils', when='+strip', type='run') + + # testing + depends_on('googletest', type='test') + + def cmake_args(self): + tests_enabled = 'ON' if self.run_tests else 'OFF' + if self.spec.satisfies('@2.0:'): + tests_define = 'LIBTREE_BUILD_TESTS' + else: + tests_define = 'BUILD_TESTING' + + return [ + self.define(tests_define, tests_enabled) + ] + + def check(self): + with working_dir(self.build_directory): + ctest('--output-on-failure') From a5fbf8fbae8dc2da1ac8923b00b7682e41b4ccd7 Mon Sep 17 00:00:00 2001 From: Sinan Date: Wed, 11 Aug 2021 02:40:41 -0700 Subject: [PATCH 181/414] pango: add versions up to v1.48 (#25355) Co-authored-by: sbulut --- var/spack/repos/builtin/packages/pango/package.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py index e7c5d6d297b..824f8115ed3 100644 --- a/var/spack/repos/builtin/packages/pango/package.py +++ b/var/spack/repos/builtin/packages/pango/package.py @@ -16,6 +16,13 @@ class Pango(AutotoolsPackage): list_url = "http://ftp.gnome.org/pub/gnome/sources/pango/" list_depth = 1 + version('1.48.0', sha256='391f26f3341c2d7053e0fb26a956bd42360dadd825efe7088b1e9340a65e74e6') + version('1.47.0', sha256='730db8652fc43188e03218c3374db9d152351f51fc7011b9acae6d0a6c92c367') + version('1.46.0', sha256='9a81572ebb946187fbdd69d5ffc57e2f7a1f768cd8d2fd89dbb03fb9002a99b5') + version('1.45.0', sha256='381347c6f7696e64d5a7e29c93867c804ae556092b45778310b368066e089015') + version('1.44.0', sha256='004fffebb2ab4f89b375f4720c54b285d569526969ba791dfa20757a7f2f1d1b') + version('1.43.0', sha256='d2c0c253a5328a0eccb00cdd66ce2c8713fabd2c9836000b6e22a8b06ba3ddd2') + version('1.42.0', sha256='9924d88a3dcedff753f0763814a1605307c5c9c931413b8b47ea7267d1b19446') version('1.41.0', sha256='1f76ef95953dc58ee5d6a53e5f1cb6db913f3e0eb489713ee9266695cae580ba') version('1.40.3', sha256='abba8b5ce728520c3a0f1535eab19eac3c14aeef7faa5aded90017ceac2711d3') version('1.40.1', sha256='e27af54172c72b3ac6be53c9a4c67053e16c905e02addcf3a603ceb2005c1a40') @@ -33,6 +40,7 @@ class Pango(AutotoolsPackage): depends_on('gobject-introspection') depends_on('fontconfig') depends_on('freetype@2:') + depends_on('fribidi', when='@1.42:') depends_on('libffi') depends_on('harfbuzz@1.2.3:', when='@1.41.0') From 6fb81221872645a4ce37cd319ae5ebd774e17499 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 11 Aug 2021 11:52:42 +0200 Subject: [PATCH 182/414] binutils: add v2.37 (#25356) --- var/spack/repos/builtin/packages/binutils/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py index bd3b64394c2..8868c634243 100644 --- a/var/spack/repos/builtin/packages/binutils/package.py +++ b/var/spack/repos/builtin/packages/binutils/package.py @@ -10,6 +10,9 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage): homepage = "http://www.gnu.org/software/binutils/" gnu_mirror_path = "binutils/binutils-2.28.tar.bz2" + maintainers = ['alalazo'] + + version('2.37', sha256='67fc1a4030d08ee877a4867d3dcab35828148f87e1fd05da6db585ed5a166bd4') version('2.36.1', sha256='5b4bd2e79e30ce8db0abd76dd2c2eae14a94ce212cfc59d3c37d23e24bc6d7a3') version('2.35.2', sha256='cfa7644dbecf4591e136eb407c1c1da16578bd2b03f0c2e8acdceba194bb9d61') version('2.35.1', sha256='320e7a1d0f46fcd9f413f1046e216cbe23bb2bce6deb6c6a63304425e48b1942') From 345617ecb5adbae080254a6bb6aa3824e03f99c9 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Wed, 11 Aug 2021 07:05:13 -0700 Subject: [PATCH 183/414] umpire: develop version requires camp at develop (#25347) --- var/spack/repos/builtin/packages/umpire/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py index a957368700f..c0a26f07b28 100644 --- a/var/spack/repos/builtin/packages/umpire/package.py +++ b/var/spack/repos/builtin/packages/umpire/package.py @@ -74,6 +74,7 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage): depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val) depends_on('camp') + depends_on('camp@master', when='@develop') depends_on('camp+cuda', when='+cuda') for sm_ in CudaPackage.cuda_arch_values: depends_on('camp cuda_arch={0}'.format(sm_), From 229bcd9f036ffca43aae53af998f4f3ffe70fec8 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Wed, 11 Aug 2021 07:05:37 -0700 Subject: [PATCH 184/414] raja: develop version requires camp at master (#25346) --- var/spack/repos/builtin/packages/raja/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py index 9d3cb56f52c..03ee784c753 100644 --- a/var/spack/repos/builtin/packages/raja/package.py +++ b/var/spack/repos/builtin/packages/raja/package.py @@ -47,6 +47,7 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage): depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val) depends_on('camp') + depends_on('camp@master', when='@develop') depends_on('camp+cuda', when='+cuda') for sm_ in CudaPackage.cuda_arch_values: depends_on('camp cuda_arch={0}'.format(sm_), From aef4696593d1661e4b97a3876da25d784745a30f Mon Sep 17 00:00:00 2001 From: Vasileios Karakasis Date: Thu, 12 Aug 2021 08:16:32 +0200 Subject: [PATCH 185/414] ReFrame: add v3.7.x (#25372) --- var/spack/repos/builtin/packages/reframe/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/reframe/package.py b/var/spack/repos/builtin/packages/reframe/package.py index 81d9cbaf8dd..b96015bfe88 100644 --- a/var/spack/repos/builtin/packages/reframe/package.py +++ b/var/spack/repos/builtin/packages/reframe/package.py @@ -24,6 +24,10 @@ class Reframe(Package): maintainers = ['victorusu', 'vkarak'] version('master', branch='master') + version('3.7.3', sha256='52427fbbaa558082b71f73b2b8aea37340584d14dc3b1aca1e9bdd8923fa4c65') + version('3.7.2', sha256='b4ba0f0a8788ee43471202d40be43157ec2687ad510c3b02c0869af6c48bb7d0') + version('3.7.1', sha256='fb2efc3ad31056156e797f1d4fe705c79d20ebf66472b2144e84d4e2f4b2b125') + version('3.7.0', sha256='aa2513fafef44ce31120c7d0e3e3788b6c8a57535499e646086bd01af88f2013') version('3.6.3', sha256='3616478c886c89385385d04f5bce625a690eec6bdca603cd5ac3a6f443168ac2') version('3.6.2', sha256='b4725e434f4cd721ca825a56a652e67aa77e7af5ed7ca00f281747585827060d') version('3.6.1', sha256='1ee35a2de42cdd2476c17cc15caf6a7795d976ba7b058d518da7d314e7af2136') @@ -62,6 +66,7 @@ class Reframe(Package): depends_on('py-setuptools', type='build') # runtime dependencies + depends_on('py-archspec', when='@3.7.0:', type='run') depends_on('py-argcomplete', when='@3.4.1:', type='run') depends_on('py-importlib-metadata', when='^python@:3.7', type='run') depends_on('py-jsonschema', type='run') From 66fc6940a0845b5eb1af33c6493ead0e4352fb2f Mon Sep 17 00:00:00 2001 From: Aurelien Bouteiller Date: Thu, 12 Aug 2021 02:22:46 -0400 Subject: [PATCH 186/414] parsec: add missing build deps on flex/bison (#25373) Signed-off-by: Aurelien Bouteiller --- var/spack/repos/builtin/packages/parsec/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/parsec/package.py b/var/spack/repos/builtin/packages/parsec/package.py index ab154e71b6b..014b8e02561 100644 --- a/var/spack/repos/builtin/packages/parsec/package.py +++ b/var/spack/repos/builtin/packages/parsec/package.py @@ -39,6 +39,8 @@ class Parsec(CMakePackage, CudaPackage): depends_on('cmake@3.16:', type='build') depends_on('python', type='build') + depends_on('flex', type='build') + depends_on('bison', type='build') depends_on('hwloc') depends_on('mpi') depends_on('papi', when='+profile') From 524d4e5071db88fd0f1dcbf217cd9cc3e0a2335d Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Thu, 12 Aug 2021 01:17:03 -0700 Subject: [PATCH 187/414] update version for rocm-4.3.0 release (#25374) --- .../repos/builtin/packages/hipsparse/package.py | 7 ++++--- .../repos/builtin/packages/rocalution/package.py | 7 ++++--- .../repos/builtin/packages/rocm-clang-ocl/package.py | 5 +++-- .../repos/builtin/packages/rocsparse/package.py | 12 ++++++++---- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index 4f5cb34dbfd..afc1c0fe393 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -12,10 +12,11 @@ class Hipsparse(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/hipSPARSE" git = "https://github.com/ROCmSoftwarePlatform/hipSPARSE.git" - url = "https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + version('4.3.0', sha256='194fbd589ce34471f3255f71ea5fca2d27bee47a464558a86d0713b4d26237ea') version('4.2.0', sha256='cdedf3766c10200d3ebabe86cbb9c0fe6504e4b3317dccca289327d7c189bb3f') version('4.1.0', sha256='66710c390489922f0bd1ac38fd8c32fcfb5b7760b92c2d282f7d1abf214742ee') version('4.0.0', sha256='fc3736b2ea203209021616b2ffbcdd664781d692b07b8e8bb7f78b42dabbd5e5') @@ -29,12 +30,12 @@ class Hipsparse(CMakePackage): depends_on('git', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('hip@' + ver, when='@' + ver) depends_on('rocsparse@' + ver, when='@' + ver) - for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0']: depends_on('rocprim@' + ver, when='@' + ver) patch('e79985dccde22d826aceb3badfc643a3227979d2.patch', when='@3.5.0') diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index d51539a6c56..48a215d70d6 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -17,10 +17,11 @@ class Rocalution(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocALUTION" git = "https://github.com/ROCmSoftwarePlatform/rocALUTION.git" - url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='f064b96f9f04cf22b89f95f72147fcfef28e2c56ecd764008c060f869c74c144') version('4.2.0', sha256='0424adf522ded41de5b77666e04464a25c73c92e34025762f30837f90a797445') version('4.1.0', sha256='3f61be18a02dff0c152a0ad7eb4779c43dd744b0ba172aa6a4267fc596d582e4') version('4.0.0', sha256='80a224a5c19dea290e6edc0e170c3dff2e726c2b3105d599ec6858cc66f076a9') @@ -32,7 +33,7 @@ class Rocalution(CMakePackage): depends_on('cmake@3.5:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocblas@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) @@ -41,7 +42,7 @@ class Rocalution(CMakePackage): depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) - for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0']: depends_on('rocrand@' + ver, when='@' + ver) patch('0001-fix-hip-build-error.patch') diff --git a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py index 84d09f5bcc1..3e2b7964f45 100644 --- a/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py +++ b/var/spack/repos/builtin/packages/rocm-clang-ocl/package.py @@ -11,11 +11,12 @@ class RocmClangOcl(CMakePackage): homepage = "https://github.com/RadeonOpenCompute/clang-ocl" git = "https://github.com/RadeonOpenCompute/clang-ocl.git" - url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] version('master', branch='master') + version('4.3.0', sha256='bc5650f2f105b10a1e22d8e5cc9464b0f960252a08e5e1fdee222af1fc5c022c') version('4.2.0', sha256='702796f4e31f6119173d915db9bee13c060a75d9eb5b1f8e3d20779d6702dfdc') version('4.1.0', sha256='c6e65da5541df9ee940caeeffe1b87c92547edc1770538fd2010c9c998a593b5') version('4.0.0', sha256='c8f9091396ee0096f6d7c1cd13d80532c424e838bec1e4cebf903ebaf649e82e') @@ -30,7 +31,7 @@ class RocmClangOcl(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) depends_on('llvm-amdgpu@' + ver, when='@' + ver) diff --git a/var/spack/repos/builtin/packages/rocsparse/package.py b/var/spack/repos/builtin/packages/rocsparse/package.py index cbdde33a694..78f52eeef3e 100644 --- a/var/spack/repos/builtin/packages/rocsparse/package.py +++ b/var/spack/repos/builtin/packages/rocsparse/package.py @@ -15,10 +15,11 @@ class Rocsparse(CMakePackage): homepage = "https://github.com/ROCmSoftwarePlatform/rocSPARSE" git = "https://github.com/ROCmSoftwarePlatform/rocSPARSE.git" - url = "https://github.com/ROCmSoftwarePlatform/rocSPARSE/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCmSoftwarePlatform/rocSPARSE/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='1a8109bdc8863b3acfe991449360c9361cae7cabdbe753c553bc57872cd0ad5e') version('4.2.0', sha256='8a86ed49d278e234c82e406a1430dc28f50d416f8f1065cf5bdf25cc5721129c') version('4.1.0', sha256='7514968ed2342dc274acce8b269c128a6aa96cce769a37fd3880b5269c2ed17f') version('4.0.0', sha256='2b41bc6623d204ad7f351a902810f34cd32b762d1bf59081dbb00f83e689a794') @@ -31,7 +32,7 @@ class Rocsparse(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('rocprim@' + ver, when='@' + ver) depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) @@ -40,8 +41,11 @@ def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) def cmake_args(self): - args = [] - + args = [ + self.define('BUILD_CLIENTS_SAMPLES', 'OFF'), + self.define('BUILD_CLIENTS_TESTS', 'OFF'), + self.define('BUILD_CLIENTS_BENCHMARKS', 'OFF') + ] if self.spec.satisfies('^cmake@3.21:'): args.append(self.define('__skip_rocmclang', 'ON')) From cc8bb38aab99f5fe6a675281b99a5196a9e44528 Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Thu, 12 Aug 2021 04:09:36 -0700 Subject: [PATCH 188/414] update version for rocm-4.3.0 release for hip recipe (#25342) Co-authored-by: Harmen Stoppels --- ...issing_open_cl_header_file_for_4.3.0.patch | 125 ++++++++++++++++++ .../repos/builtin/packages/hip/package.py | 9 +- .../builtin/packages/rocminfo/package.py | 3 +- 3 files changed, 133 insertions(+), 4 deletions(-) create mode 100644 var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch diff --git a/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch b/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch new file mode 100644 index 00000000000..236d591c51a --- /dev/null +++ b/var/spack/repos/builtin/packages/hip/Add_missing_open_cl_header_file_for_4.3.0.patch @@ -0,0 +1,125 @@ +diff --git a/amdocl/cl_vk_amd.hpp b/amdocl/cl_vk_amd.hpp +new file mode 100644 +index 0000000..8b6212b +--- /dev/null ++++ b/amdocl/cl_vk_amd.hpp +@@ -0,0 +1,119 @@ ++/* Copyright (c) 2010-present Advanced Micro Devices, Inc. ++ ++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. */ ++ ++#pragma once ++ ++#include "platform/context.hpp" ++#include "platform/memory.hpp" ++ ++namespace amd ++{ ++ class VkObject : public InteropObject ++ { ++ protected: ++ amd::Os::FileDesc handleVk_; ++ ++ public: ++ //! GLObject constructor initializes member variables ++ VkObject( ++ amd::Os::FileDesc handle ++ ) // Initialization of member variables ++ ++ { ++ handleVk_ = handle; ++ } ++ ++ virtual ~VkObject() {} ++ VkObject* asVkObject() { return this; } ++ amd::Os::FileDesc getVkSharedHandle() const { return handleVk_; } ++ ++ ++ }; ++ ++ class BufferVk : public Buffer, public VkObject ++ { ++ protected: ++ //! Initializes the device memory array which is nested ++ // after'BufferVk' object in memory layout. ++ void initDeviceMemory() { ++ deviceMemories_ = ++ reinterpret_cast(reinterpret_cast(this) + sizeof(BufferVk)); ++ memset(deviceMemories_, 0, context_().devices().size() * sizeof(DeviceMemory)); ++ } ++ public: ++ //! BufferVk constructor just calls constructors of base classes ++ //! to pass down the parameters ++ BufferVk( ++ Context& amdContext, ++ size_t uiSizeInBytes, ++ amd::Os::FileDesc handle) ++ : // Call base classes constructors ++ Buffer( ++ amdContext, ++ 0, ++ uiSizeInBytes ++ ), ++ VkObject( ++ handle ++ ) ++ { ++ setInteropObj(this); ++ } ++ virtual ~BufferVk() {} ++ ++ BufferVk* asBufferVk() { return this; } ++ }; ++ ++ // to be modified once image requirments are known, for now, implement like buffer ++ ++ class ImageVk : public Buffer, public VkObject ++ { ++ protected: ++ //! Initializes the device memory array which is nested ++ // after'ImageVk' object in memory layout. ++ void initDeviceMemory() { ++ deviceMemories_ = ++ reinterpret_cast(reinterpret_cast(this) + sizeof(ImageVk)); ++ memset(deviceMemories_, 0, context_().devices().size() * sizeof(DeviceMemory)); ++ } ++ public: ++ //! ImageVk constructor just calls constructors of base classes ++ //! to pass down the parameters ++ ImageVk( ++ Context& amdContext, ++ size_t uiSizeInBytes, ++ amd::Os::FileDesc handle) ++ : // Call base classes constructors ++ Buffer( ++ amdContext, ++ 0, ++ uiSizeInBytes ++ ), ++ VkObject( ++ handle ++ ) ++ { ++ setInteropObj(this); ++ } ++ virtual ~ImageVk() {} ++ ++ ImageVk* asImageVk() { return this; } ++ }; ++} diff --git a/var/spack/repos/builtin/packages/hip/package.py b/var/spack/repos/builtin/packages/hip/package.py index d2819019cef..491b537e191 100644 --- a/var/spack/repos/builtin/packages/hip/package.py +++ b/var/spack/repos/builtin/packages/hip/package.py @@ -16,10 +16,11 @@ class Hip(CMakePackage): homepage = "https://github.com/ROCm-Developer-Tools/HIP" git = "https://github.com/ROCm-Developer-Tools/HIP.git" - url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-4.2.0.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-4.3.0.tar.gz" maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] - + version('master', branch='master') + version('4.3.0', sha256='293b5025b5e153f2f25e465a2e0006a2b4606db7b7ec2ae449f8a4c0b52d491b') version('4.2.0', sha256='ecb929e0fc2eaaf7bbd16a1446a876a15baf72419c723734f456ee62e70b4c24') version('4.1.0', sha256='e21c10b62868ece7aa3c8413ec0921245612d16d86d81fe61797bf9a64bc37eb') version('4.0.0', sha256='d7b78d96cec67c55b74ea3811ce861b16d300410bc687d0629e82392e8d7c857') @@ -34,7 +35,7 @@ class Hip(CMakePackage): depends_on('mesa18~llvm@18.3:') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip-rocclr@' + ver, when='@' + ver) depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) @@ -75,6 +76,8 @@ class Hip(CMakePackage): patch('0005-Disable-tests-3.9.0.patch', when='@3.9.0:4.0.0') patch('0005-Disable-tests-4.1.0.patch', when='@4.1.0:') + patch('Add_missing_open_cl_header_file_for_4.3.0.patch', when='@4.3.0') + def get_paths(self): if self.spec.external: # For external packages we only assume the `hip` prefix is known, diff --git a/var/spack/repos/builtin/packages/rocminfo/package.py b/var/spack/repos/builtin/packages/rocminfo/package.py index 4dadcda9dff..8c946df3852 100644 --- a/var/spack/repos/builtin/packages/rocminfo/package.py +++ b/var/spack/repos/builtin/packages/rocminfo/package.py @@ -18,6 +18,7 @@ class Rocminfo(CMakePackage): version('master', branch='master') + version('4.3.0', sha256='2cc1f251c0ed9c3ea413cc15cb5ce11559e4497540eebbf5e8dcfd52b03e53d1') version('4.2.0', sha256='6952b6e28128ab9f93641f5ccb66201339bb4177bb575b135b27b69e2e241996') version('4.1.0', sha256='5b994ad02b6d250160770f6f7730835f3a52127193ac9a8dee40c53aec911f4f') version('4.0.0', sha256='0b3d692959dd4bc2d1665ab3a838592fcd08d2b5e373593b9192ca369e2c4aa7') @@ -30,7 +31,7 @@ class Rocminfo(CMakePackage): depends_on('cmake@3:', type='build') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0', 'master']: + '4.2.0', '4.3.0', 'master']: depends_on('hsakmt-roct@' + ver, when='@' + ver) depends_on('hsa-rocr-dev@' + ver, when='@' + ver) From 78850f38eb8b361557250f4212e1d92b0ae741d8 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 12 Aug 2021 14:08:53 +0200 Subject: [PATCH 189/414] Fix typos in fixture use. Mention fixtures in pytest.ini (#25381) --- lib/spack/spack/test/config_values.py | 4 ++-- pytest.ini | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/test/config_values.py b/lib/spack/spack/test/config_values.py index 367138f098d..4933c5b95f5 100644 --- a/lib/spack/spack/test/config_values.py +++ b/lib/spack/spack/test/config_values.py @@ -9,7 +9,7 @@ @pytest.mark.parametrize('hash_length', [1, 2, 3, 4, 5, 9]) -@pytest.mark.use_fixtures('mock_packages') +@pytest.mark.usefixtures('mock_packages') def test_set_install_hash_length(hash_length, mutable_config, tmpdir): mutable_config.set('config:install_hash_length', hash_length) mutable_config.set('config:install_tree', {'root': str(tmpdir)}) @@ -24,7 +24,7 @@ def test_set_install_hash_length(hash_length, mutable_config, tmpdir): assert len(hash_str) == hash_length -@pytest.mark.use_fixtures('mock_packages') +@pytest.mark.usefixtures('mock_packages') def test_set_install_hash_length_upper_case(mutable_config, tmpdir): mutable_config.set('config:install_hash_length', 5) mutable_config.set( diff --git a/pytest.ini b/pytest.ini index 71f563954a0..c381e070618 100644 --- a/pytest.ini +++ b/pytest.ini @@ -7,3 +7,8 @@ markers = db: tests that require creating a DB maybeslow: tests that may be slow (e.g. access a lot the filesystem, etc.) regression: tests that fix a reported bug + requires_executables: tests that requires certain executables in PATH to run + nomockstage: use a stage area specifically created for this test, instead of relying on a common mock stage + enable_compiler_verification: enable compiler verification within unit tests + enable_compiler_link_paths: verifies compiler link paths within unit tests + disable_clean_stage_check: avoid failing tests if there are leftover files in the stage area From b008d2b1fe03273156b37bab4f388bc738aaddb2 Mon Sep 17 00:00:00 2001 From: messense Date: Thu, 12 Aug 2021 22:37:56 +0800 Subject: [PATCH 190/414] py-py-spy: upgrade to 0.3.8 and build with cargo (#25375) --- .../repos/builtin/packages/py-py-spy/package.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-py-spy/package.py b/var/spack/repos/builtin/packages/py-py-spy/package.py index f7c048af109..1e8bc727544 100644 --- a/var/spack/repos/builtin/packages/py-py-spy/package.py +++ b/var/spack/repos/builtin/packages/py-py-spy/package.py @@ -3,18 +3,24 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * -class PyPySpy(PythonPackage): + +class PyPySpy(Package): """A Sampling Profiler for Python.""" homepage = "https://github.com/benfred/py-spy" - url = "https://github.com/benfred/py-spy/archive/v0.3.3.tar.gz" + url = "https://github.com/benfred/py-spy/archive/v0.3.8.tar.gz" + version('0.3.8', sha256='9dbfd0ea79ef31a2966891e86cf6238ed3831938cf562e71848e07b7009cf57d') version('0.3.3', sha256='41454d3d9132da45c72f7574faaff65f40c757720293a277ffa5ec5a4b44f902') - depends_on('py-setuptools', type='build') # TODO: uses cargo to download and build dozens of dependencies. # Need to figure out how to manage these with Spack once we have a # CargoPackage base class. depends_on('rust', type='build') depends_on('unwind') + + def install(self, spec, prefix): + cargo = which('cargo') + cargo('install', '--root', prefix, '--path', '.') From 264b00bff4220fcb5470e1b80f80e543306ae991 Mon Sep 17 00:00:00 2001 From: Pieter Ghysels Date: Thu, 12 Aug 2021 10:51:43 -0700 Subject: [PATCH 191/414] strumpack: Patch for building shared lib when enabling ROCm. (#25252) * Fix for building shared lib when enabling ROCm, for STRUMPACK 5.1.1. * Update patch for shared lib with STRUMPACK 5.1.1 and ROCm, also update FindHIP.cmake * update patch for shared libs with ROCm --- .../builtin/packages/strumpack/package.py | 1 + .../packages/strumpack/shared-rocm.patch | 141 ++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 var/spack/repos/builtin/packages/strumpack/shared-rocm.patch diff --git a/var/spack/repos/builtin/packages/strumpack/package.py b/var/spack/repos/builtin/packages/strumpack/package.py index 79375d88c70..746cb203108 100644 --- a/var/spack/repos/builtin/packages/strumpack/package.py +++ b/var/spack/repos/builtin/packages/strumpack/package.py @@ -93,6 +93,7 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): msg='STRUMPACK requires openblas with OpenMP threading support') patch('intel-19-compile.patch', when='@3.1.1') + patch('shared-rocm.patch', when='@5.1.1') def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/strumpack/shared-rocm.patch b/var/spack/repos/builtin/packages/strumpack/shared-rocm.patch new file mode 100644 index 00000000000..a7ebba24adb --- /dev/null +++ b/var/spack/repos/builtin/packages/strumpack/shared-rocm.patch @@ -0,0 +1,141 @@ +From dea93a02299c9c2ac6143d7f6f170310316d5989 Mon Sep 17 00:00:00 2001 +From: Pieter Ghysels +Date: Wed, 4 Aug 2021 15:15:21 -0700 +Subject: [PATCH 1/2] patch for building shared lib with ROCm + +--- + CMakeLists.txt | 7 ++++++- + cmake/Modules/FindHIP.cmake | 31 ++++++++++++++++++++++++++++--- + 2 files changed, 34 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c63e8f0..e362d4c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -439,7 +439,12 @@ if(STRUMPACK_USE_HIP) + set_source_files_properties( + src/sparse/fronts/FrontalMatrixHIP.hip.cpp + PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1) +- hip_add_library(strumpack "src/sparse/fronts/FrontalMatrixHIP.hip.cpp") ++ if (BUILD_SHARED_LIBS) ++ set(STATIC_OR_SHARED SHARED) ++ else() ++ set(STATIC_OR_SHARED STATIC) ++ endif() ++ hip_add_library(strumpack "src/sparse/fronts/FrontalMatrixHIP.hip.cpp" ${STATIC_OR_SHARED}) + else() + add_library(strumpack "") + endif() +diff --git a/cmake/Modules/FindHIP.cmake b/cmake/Modules/FindHIP.cmake +index b4a5cb2..6b69837 100644 +--- a/cmake/Modules/FindHIP.cmake ++++ b/cmake/Modules/FindHIP.cmake +@@ -11,6 +11,7 @@ set(HIP_HCC_FLAGS "" CACHE STRING "Semicolon delimited flags for HCC") + set(HIP_CLANG_FLAGS "" CACHE STRING "Semicolon delimited flags for CLANG") + set(HIP_NVCC_FLAGS "" CACHE STRING "Semicolon delimted flags for NVCC") + mark_as_advanced(HIP_HIPCC_FLAGS HIP_HCC_FLAGS HIP_CLANG_FLAGS HIP_NVCC_FLAGS) ++ + set(_hip_configuration_types ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE} Debug MinSizeRel Release RelWithDebInfo) + list(REMOVE_DUPLICATES _hip_configuration_types) + foreach(config ${_hip_configuration_types}) +@@ -205,8 +206,13 @@ set(CMAKE_SHARED_LIBRARY_LINK_DYNAMIC_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_DYNA + set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "") + set(HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS "") + +-if("${HIP_COMPILER}" STREQUAL "hcc") +- # Set the CMake Flags to use the HCC Compiler. ++if("${HIP_COMPILER}" STREQUAL "nvcc") ++ # Set the CMake Flags to use the nvcc Compiler. ++ set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} -o ") ++ set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} -o -shared" ) ++ set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} -o ") ++elseif("${HIP_COMPILER}" STREQUAL "hcc") ++ # Set the CMake Flags to use the hcc Compiler. + set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} -o ") + set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} -o -shared" ) + set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} -o ") +@@ -221,7 +227,7 @@ elseif("${HIP_COMPILER}" STREQUAL "clang") + endif() + if(HIP_CLANG_NUM_PARALLEL_JOBS GREATER 1) + if(${HIP_CLANG_SUPPORTS_PARALLEL_JOBS}) +- set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "-parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS} -Wno-format-nonliteral") ++ set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "-Wno-format-nonliteral -parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS}") + set(HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS "-parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS}") + else() + message("clang compiler doesn't support parallel jobs") +@@ -232,6 +238,13 @@ elseif("${HIP_COMPILER}" STREQUAL "clang") + set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o ") + set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o -shared" ) + set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o ") ++ ++ if("${HIP_RUNTIME}" STREQUAL "rocclr") ++ if(TARGET host) ++ message(STATUS "host interface - found") ++ set(HIP_HOST_INTERFACE host) ++ endif() ++ endif() + endif() + + ############################################################################### +@@ -637,6 +650,8 @@ macro(HIP_ADD_EXECUTABLE hip_target) + endif() + endif() + set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o ") ++ else() ++ set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} -o ") + endif() + if ("${_sources}" STREQUAL "") + add_executable(${hip_target} ${_cmake_options} ${_generated_files} "") +@@ -644,6 +659,11 @@ macro(HIP_ADD_EXECUTABLE hip_target) + add_executable(${hip_target} ${_cmake_options} ${_generated_files} ${_sources}) + endif() + set_target_properties(${hip_target} PROPERTIES LINKER_LANGUAGE HIP) ++ # Link with host ++ if (HIP_HOST_INTERFACE) ++ # hip rt should be rocclr, compiler should be clang ++ target_link_libraries(${hip_target} ${HIP_HOST_INTERFACE}) ++ endif() + endmacro() + + ############################################################################### +@@ -662,6 +682,11 @@ macro(HIP_ADD_LIBRARY hip_target) + add_library(${hip_target} ${_cmake_options} ${_generated_files} ${_sources}) + endif() + set_target_properties(${hip_target} PROPERTIES LINKER_LANGUAGE ${HIP_C_OR_CXX}) ++ # Link with host ++ if (HIP_HOST_INTERFACE) ++ # hip rt should be rocclr, compiler should be clang ++ target_link_libraries(${hip_target} ${HIP_HOST_INTERFACE}) ++ endif() + endmacro() + + # vim: ts=4:sw=4:expandtab:smartindent +-- +2.30.2 + + +From 66c79092ee9aabd8b76f2c510d6ac1310cf3646b Mon Sep 17 00:00:00 2001 +From: Pieter Ghysels +Date: Wed, 11 Aug 2021 15:45:04 -0700 +Subject: [PATCH 2/2] extra fix for HIP + +--- + cmake/Modules/FindHIP/run_hipcc.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/Modules/FindHIP/run_hipcc.cmake b/cmake/Modules/FindHIP/run_hipcc.cmake +index 63c7bb3..ce0b406 100644 +--- a/cmake/Modules/FindHIP/run_hipcc.cmake ++++ b/cmake/Modules/FindHIP/run_hipcc.cmake +@@ -48,7 +48,7 @@ execute_process(COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --compiler OUTPUT_VARIABLE H + execute_process(COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --runtime OUTPUT_VARIABLE HIP_RUNTIME OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT host_flag) + set(__CC ${HIP_HIPCC_EXECUTABLE}) +- if("${HIP_PLATFORM}" STREQUAL "hcc") ++ if("${HIP_PLATFORM}" STREQUAL "amd") + if("${HIP_COMPILER}" STREQUAL "hcc") + if(NOT "x${HCC_HOME}" STREQUAL "x") + set(ENV{HCC_HOME} ${HCC_HOME}) +-- +2.30.2 + From 4784ec67b27c5b9b5d903dcb61e5be8f3f124de2 Mon Sep 17 00:00:00 2001 From: arjun-raj-kuppala <60718144+arjun-raj-kuppala@users.noreply.github.com> Date: Fri, 13 Aug 2021 13:50:25 +0530 Subject: [PATCH 192/414] AMD ROCm 4.3: Bump up rvs version to 4.3 and fix hip patch (#25382) --- ...02-remove-force-setting-hip-inc-path.patch | 7 +- ...e-change-to-remove-installs-and-sudo.patch | 88 +++++++++++++++++++ .../packages/rocm-validation-suite/package.py | 4 +- 3 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 var/spack/repos/builtin/packages/rocm-validation-suite/003-cmake-change-to-remove-installs-and-sudo.patch diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/002-remove-force-setting-hip-inc-path.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/002-remove-force-setting-hip-inc-path.patch index a95e0836b08..e1a40ac16d3 100644 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/002-remove-force-setting-hip-inc-path.patch +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/002-remove-force-setting-hip-inc-path.patch @@ -1,11 +1,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a3301ec..f62005a 100644 +index 07048b8..2bfb6c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -33,7 +33,7 @@ set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") +@@ -32,8 +32,7 @@ set(ROCM_PATH "/opt/rocm" CACHE PATH "ROCM install path") + set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) set(ROCR_LIB_DIR "${ROCM_PATH}/lib" CACHE PATH "Contains library files exported by ROC Runtime" FORCE) - set(HIP_INC_DIR "${ROCM_PATH}/hip" ) +-set(HIP_INC_DIR "${ROCM_PATH}/hip" ) -set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) +set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime") set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk" FORCE) diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/003-cmake-change-to-remove-installs-and-sudo.patch b/var/spack/repos/builtin/packages/rocm-validation-suite/003-cmake-change-to-remove-installs-and-sudo.patch new file mode 100644 index 00000000000..edd95076737 --- /dev/null +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/003-cmake-change-to-remove-installs-and-sudo.patch @@ -0,0 +1,88 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 780e1f17..35a2b391 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,10 +24,21 @@ + ################################################################################ + + cmake_minimum_required ( VERSION 3.5.0 ) ++project ("rocm-validation-suite") + if ( ${CMAKE_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + message(FATAL "In-source build is not allowed") + endif () + ++enable_testing() ++ ++# Prerequisite - Check if rocblas was already installed ++find_package (rocblas) ++if(rocblas_FOUND) ++ message(STATUS "rocblas found") ++else() ++ message(FATAL_ERROR "rocblas not found !!! Install rocblas to proceed ...") ++endif(rocblas_FOUND) ++ + set(ROCM_PATH "/opt/rocm" CACHE PATH "ROCM install path") + set(CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE PATH "CMAKE installation directory") + set(ROCR_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) +@@ -36,7 +47,6 @@ set(HIP_INC_DIR "${ROCM_PATH}/hip" ) + set(HIP_INC_DIR "${ROCM_PATH}/hip" CACHE PATH "Contains header files exported by ROC Runtime" FORCE) + set(ROCT_INC_DIR "${ROCM_PATH}/include" CACHE PATH "Contains header files exported by ROC Trunk" FORCE) + +-execute_process(COMMAND ln -s /usr/bin/python3 /usr/bin/python) + + # + # If the user specifies -DCMAKE_BUILD_TYPE on the command line, take their +@@ -45,20 +55,17 @@ execute_process(COMMAND ln -s /usr/bin/python3 /usr/bin/python) + # + if(DEFINED CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose the type of +-build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug +-Release RelWithDebInfo MinSizeRel.") ++ build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug ++ Release RelWithDebInfo MinSizeRel.") + else() + set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build, +-options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release +-RelWithDebInfo MinSizeRel.") ++ options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release ++ RelWithDebInfo MinSizeRel.") + endif() + +-project ("rocm-validation-suite") +-enable_testing() + #include ( CTest ) + +-if (NOT CMAKE_CONFIGURATION_TYPES) +-# message( "CMAKE_CONFIGURATION_TYPES not set") ++if(NOT CMAKE_CONFIGURATION_TYPES) + # Set the possible values of build type for cmake-gui + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Release" "MinSizeRel" "RelWithDebInfo") +@@ -70,17 +77,15 @@ execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rvs_os_helper.sh + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +-if(result) ++if (result) + message(FATAL_ERROR "Could not obtain OS type: ${result}") + endif() + message(STATUS "RVS_OS_TYPE: ${RVS_OS_TYPE}") + if (${RVS_OS_TYPE} STREQUAL "ubuntu") + set(RVS_OS_TYPE_NUM 1) +- execute_process(COMMAND sudo apt-get install rocblas --assume-yes) + elseif ((${RVS_OS_TYPE} STREQUAL "centos") OR (${RVS_OS_TYPE} STREQUAL "rhel") + OR (${RVS_OS_TYPE} STREQUAL "sles")) + set(RVS_OS_TYPE_NUM 2) +- execute_process(COMMAND sudo yum -y install rocblas ) + else() + set(RVS_OS_TYPE_NUM 0) + endif() +@@ -89,7 +94,7 @@ message(STATUS "RVS_OS_TYPE_NUM: ${RVS_OS_TYPE_NUM}") + ## Set default module path if not already set + if ( NOT DEFINED CMAKE_MODULE_PATH ) + set ( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/" ) +-endif () ++endif() + + ## Include common cmake modules + include ( utils ) diff --git a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py index 999581d55ef..76b7d7c29f0 100644 --- a/var/spack/repos/builtin/packages/rocm-validation-suite/package.py +++ b/var/spack/repos/builtin/packages/rocm-validation-suite/package.py @@ -19,6 +19,7 @@ class RocmValidationSuite(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='f7a918b513c51dd5eadce3f2e091679b2dfe6544a913960ac483567792a06a4c') version('4.2.0', sha256='b25e58a842a8eb90bfd6c4ae426ca5cfdd5de2f8a091761f83597f7cfc2cd0f3') version('4.1.0', sha256='f9618f89384daa0ae897b36638a3737bcfa47e98778e360338267cd1fe2bbc66') version('4.0.0', sha256='04743ca8901b94a801759a3c13c8caf3e6ea950ffcda6408173e6f9ef7b86e74') @@ -32,6 +33,7 @@ class RocmValidationSuite(CMakePackage): patch('001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch') patch('002-remove-force-setting-hip-inc-path.patch', when='@4.1.0:') + patch('003-cmake-change-to-remove-installs-and-sudo.patch', when='@4.1.0:') depends_on('cmake@3.5:', type='build') depends_on('zlib', type='link') @@ -41,7 +43,7 @@ def setup_build_environment(self, build_env): build_env.set("HIPCC_PATH", spec['hip'].prefix) for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hip@' + ver, when='@' + ver) depends_on('hip-rocclr@' + ver, when='@' + ver) depends_on('rocminfo@' + ver, when='@' + ver) From 06eda406ccaf4937ea875d8f18fe228b443e6a8c Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Fri, 13 Aug 2021 01:23:09 -0700 Subject: [PATCH 193/414] append CMAKE_MODULE_PATH to include hip for rocalution (#25407) --- .../rocalution/0001-fix-hip-build-error.patch | 926 ------------------ .../builtin/packages/rocalution/package.py | 3 +- 2 files changed, 1 insertion(+), 928 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/rocalution/0001-fix-hip-build-error.patch diff --git a/var/spack/repos/builtin/packages/rocalution/0001-fix-hip-build-error.patch b/var/spack/repos/builtin/packages/rocalution/0001-fix-hip-build-error.patch deleted file mode 100644 index 9be3e0895db..00000000000 --- a/var/spack/repos/builtin/packages/rocalution/0001-fix-hip-build-error.patch +++ /dev/null @@ -1,926 +0,0 @@ -From 91a08e1a412e60a718641b1a43cd88da23ff2d49 Mon Sep 17 00:00:00 2001 -From: sreenivasaMurthy Kolam -Date: Tue, 18 Aug 2020 12:27:32 -0700 -Subject: [PATCH] fix spack error - ---- - cmake/FindHIP.cmake | 659 +++++++++++++++++++++++++++++ - cmake/FindHIP/run_hipcc.cmake | 182 ++++++++ - cmake/FindHIP/run_make2cmake.cmake | 50 +++ - 3 files changed, 891 insertions(+) - create mode 100644 cmake/FindHIP.cmake - create mode 100644 cmake/FindHIP/run_hipcc.cmake - create mode 100644 cmake/FindHIP/run_make2cmake.cmake - -diff --git a/cmake/FindHIP.cmake b/cmake/FindHIP.cmake -new file mode 100644 -index 0000000..498b5e4 ---- /dev/null -+++ b/cmake/FindHIP.cmake -@@ -0,0 +1,659 @@ -+############################################################################### -+# FindHIP.cmake -+############################################################################### -+include(CheckCXXCompilerFlag) -+############################################################################### -+# SET: Variable defaults -+############################################################################### -+# User defined flags -+set(HIP_HIPCC_FLAGS "" CACHE STRING "Semicolon delimited flags for HIPCC") -+set(HIP_HCC_FLAGS "" CACHE STRING "Semicolon delimited flags for HCC") -+set(HIP_CLANG_FLAGS "" CACHE STRING "Semicolon delimited flags for CLANG") -+set(HIP_NVCC_FLAGS "" CACHE STRING "Semicolon delimted flags for NVCC") -+mark_as_advanced(HIP_HIPCC_FLAGS HIP_HCC_FLAGS HIP_CLANG_FLAGS HIP_NVCC_FLAGS) -+set(_hip_configuration_types ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE} Debug MinSizeRel Release RelWithDebInfo) -+list(REMOVE_DUPLICATES _hip_configuration_types) -+foreach(config ${_hip_configuration_types}) -+ string(TOUPPER ${config} config_upper) -+ set(HIP_HIPCC_FLAGS_${config_upper} "" CACHE STRING "Semicolon delimited flags for HIPCC") -+ set(HIP_HCC_FLAGS_${config_upper} "" CACHE STRING "Semicolon delimited flags for HCC") -+ set(HIP_CLANG_FLAGS_${config_upper} "" CACHE STRING "Semicolon delimited flags for CLANG") -+ set(HIP_NVCC_FLAGS_${config_upper} "" CACHE STRING "Semicolon delimited flags for NVCC") -+ mark_as_advanced(HIP_HIPCC_FLAGS_${config_upper} HIP_HCC_FLAGS_${config_upper} HIP_CLANG_FLAGS_${config_upper} HIP_NVCC_FLAGS_${config_upper}) -+endforeach() -+option(HIP_HOST_COMPILATION_CPP "Host code compilation mode" ON) -+option(HIP_VERBOSE_BUILD "Print out the commands run while compiling the HIP source file. With the Makefile generator this defaults to VERBOSE variable specified on the command line, but can be forced on with this option." OFF) -+mark_as_advanced(HIP_HOST_COMPILATION_CPP) -+ -+############################################################################### -+# FIND: HIP and associated helper binaries -+############################################################################### -+ -+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../" REALPATH) -+ -+# HIP is supported on Linux only -+if(UNIX AND NOT APPLE AND NOT CYGWIN) -+ # Search for HIP installation -+ if(NOT HIP_ROOT_DIR) -+ # Search in user specified path first -+ find_path( -+ HIP_ROOT_DIR -+ NAMES bin/hipconfig -+ PATHS -+ "$ENV{ROCM_PATH}/hip" -+ ENV HIP_PATH -+ ${_IMPORT_PREFIX} -+ /opt/rocm/hip -+ DOC "HIP installed location" -+ NO_DEFAULT_PATH -+ ) -+ if(NOT EXISTS ${HIP_ROOT_DIR}) -+ if(HIP_FIND_REQUIRED) -+ message(FATAL_ERROR "Specify HIP_ROOT_DIR") -+ elseif(NOT HIP_FIND_QUIETLY) -+ message("HIP_ROOT_DIR not found or specified") -+ endif() -+ endif() -+ # And push it back to the cache -+ set(HIP_ROOT_DIR ${HIP_ROOT_DIR} CACHE PATH "HIP installed location" FORCE) -+ endif() -+ -+ # Find HIPCC executable -+ find_program( -+ HIP_HIPCC_EXECUTABLE -+ NAMES hipcc -+ PATHS -+ "${HIP_ROOT_DIR}" -+ ENV ROCM_PATH -+ ENV HIP_PATH -+ /opt/rocm -+ /opt/rocm/hip -+ PATH_SUFFIXES bin -+ NO_DEFAULT_PATH -+ ) -+ if(NOT HIP_HIPCC_EXECUTABLE) -+ # Now search in default paths -+ find_program(HIP_HIPCC_EXECUTABLE hipcc) -+ endif() -+ mark_as_advanced(HIP_HIPCC_EXECUTABLE) -+ -+ # Find HIPCONFIG executable -+ find_program( -+ HIP_HIPCONFIG_EXECUTABLE -+ NAMES hipconfig -+ PATHS -+ "${HIP_ROOT_DIR}" -+ ENV ROCM_PATH -+ ENV HIP_PATH -+ /opt/rocm -+ /opt/rocm/hip -+ PATH_SUFFIXES bin -+ NO_DEFAULT_PATH -+ ) -+ if(NOT HIP_HIPCONFIG_EXECUTABLE) -+ # Now search in default paths -+ find_program(HIP_HIPCONFIG_EXECUTABLE hipconfig) -+ endif() -+ mark_as_advanced(HIP_HIPCONFIG_EXECUTABLE) -+ -+ # Find HIPCC_CMAKE_LINKER_HELPER executable -+ find_program( -+ HIP_HIPCC_CMAKE_LINKER_HELPER -+ NAMES hipcc_cmake_linker_helper -+ PATHS -+ "${HIP_ROOT_DIR}" -+ ENV ROCM_PATH -+ ENV HIP_PATH -+ /opt/rocm -+ /opt/rocm/hip -+ PATH_SUFFIXES bin -+ NO_DEFAULT_PATH -+ ) -+ if(NOT HIP_HIPCC_CMAKE_LINKER_HELPER) -+ # Now search in default paths -+ find_program(HIP_HIPCC_CMAKE_LINKER_HELPER hipcc_cmake_linker_helper) -+ endif() -+ mark_as_advanced(HIP_HIPCC_CMAKE_LINKER_HELPER) -+ -+ if(HIP_HIPCONFIG_EXECUTABLE AND NOT HIP_VERSION) -+ # Compute the version -+ execute_process( -+ COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --version -+ OUTPUT_VARIABLE _hip_version -+ ERROR_VARIABLE _hip_error -+ OUTPUT_STRIP_TRAILING_WHITESPACE -+ ERROR_STRIP_TRAILING_WHITESPACE -+ ) -+ if(NOT _hip_error) -+ set(HIP_VERSION ${_hip_version} CACHE STRING "Version of HIP as computed from hipcc") -+ else() -+ set(HIP_VERSION "0.0.0" CACHE STRING "Version of HIP as computed by FindHIP()") -+ endif() -+ mark_as_advanced(HIP_VERSION) -+ endif() -+ if(HIP_VERSION) -+ string(REPLACE "." ";" _hip_version_list "${HIP_VERSION}") -+ list(GET _hip_version_list 0 HIP_VERSION_MAJOR) -+ list(GET _hip_version_list 1 HIP_VERSION_MINOR) -+ list(GET _hip_version_list 2 HIP_VERSION_PATCH) -+ set(HIP_VERSION_STRING "${HIP_VERSION}") -+ endif() -+ -+ if(HIP_HIPCONFIG_EXECUTABLE AND NOT HIP_PLATFORM) -+ # Compute the platform -+ execute_process( -+ COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --platform -+ OUTPUT_VARIABLE _hip_platform -+ OUTPUT_STRIP_TRAILING_WHITESPACE -+ ) -+ set(HIP_PLATFORM ${_hip_platform} CACHE STRING "HIP platform as computed by hipconfig") -+ mark_as_advanced(HIP_PLATFORM) -+ endif() -+ -+ if(HIP_HIPCONFIG_EXECUTABLE AND NOT HIP_COMPILER) -+ # Compute the compiler -+ execute_process( -+ COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --compiler -+ OUTPUT_VARIABLE _hip_compiler -+ OUTPUT_STRIP_TRAILING_WHITESPACE -+ ) -+ set(HIP_COMPILER ${_hip_compiler} CACHE STRING "HIP compiler as computed by hipconfig") -+ mark_as_advanced(HIP_COMPILER) -+ endif() -+ -+ if(HIP_HIPCONFIG_EXECUTABLE AND NOT HIP_RUNTIME) -+ # Compute the runtime -+ execute_process( -+ COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --runtime -+ OUTPUT_VARIABLE _hip_runtime -+ OUTPUT_STRIP_TRAILING_WHITESPACE -+ ) -+ set(HIP_RUNTIME ${_hip_runtime} CACHE STRING "HIP runtime as computed by hipconfig") -+ mark_as_advanced(HIP_RUNTIME) -+ endif() -+endif() -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args( -+ HIP -+ REQUIRED_VARS -+ HIP_ROOT_DIR -+ HIP_HIPCC_EXECUTABLE -+ HIP_HIPCONFIG_EXECUTABLE -+ HIP_PLATFORM -+ HIP_COMPILER -+ HIP_RUNTIME -+ VERSION_VAR HIP_VERSION -+ ) -+ -+############################################################################### -+# Set HIP CMAKE Flags -+############################################################################### -+# Copy the invocation styles from CXX to HIP -+set(CMAKE_HIP_ARCHIVE_CREATE ${CMAKE_CXX_ARCHIVE_CREATE}) -+set(CMAKE_HIP_ARCHIVE_APPEND ${CMAKE_CXX_ARCHIVE_APPEND}) -+set(CMAKE_HIP_ARCHIVE_FINISH ${CMAKE_CXX_ARCHIVE_FINISH}) -+set(CMAKE_SHARED_LIBRARY_SONAME_HIP_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG}) -+set(CMAKE_SHARED_LIBRARY_CREATE_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}) -+set(CMAKE_SHARED_LIBRARY_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) -+#set(CMAKE_SHARED_LIBRARY_LINK_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS}) -+set(CMAKE_SHARED_LIBRARY_RUNTIME_HIP_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG}) -+set(CMAKE_SHARED_LIBRARY_RUNTIME_HIP_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP}) -+set(CMAKE_SHARED_LIBRARY_LINK_STATIC_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_STATIC_CXX_FLAGS}) -+set(CMAKE_SHARED_LIBRARY_LINK_DYNAMIC_HIP_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_DYNAMIC_CXX_FLAGS}) -+ -+set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "") -+set(HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS "") -+ -+if("${HIP_COMPILER}" STREQUAL "hcc") -+ # Set the CMake Flags to use the HCC Compiler. -+ set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} -o ") -+ set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} -o -shared" ) -+ set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} -o ") -+elseif("${HIP_COMPILER}" STREQUAL "clang") -+ #Number of parallel jobs by default is 1 -+ if(NOT DEFINED HIP_CLANG_NUM_PARALLEL_JOBS) -+ set(HIP_CLANG_NUM_PARALLEL_JOBS 1) -+ endif() -+ #Add support for parallel build and link -+ if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") -+ check_cxx_compiler_flag("-parallel-jobs=1" HIP_CLANG_SUPPORTS_PARALLEL_JOBS) -+ endif() -+ if(HIP_CLANG_NUM_PARALLEL_JOBS GREATER 1) -+ if(${HIP_CLANG_SUPPORTS_PARALLEL_JOBS}) -+ set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "-parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS} -Wno-format-nonliteral") -+ set(HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS "-parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS}") -+ else() -+ message("clang compiler doesn't support parallel jobs") -+ endif() -+ endif() -+ -+ # Set the CMake Flags to use the HIP-Clang Compiler. -+ set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o ") -+ set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o -shared" ) -+ set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o ") -+endif() -+ -+############################################################################### -+# MACRO: Locate helper files -+############################################################################### -+macro(HIP_FIND_HELPER_FILE _name _extension) -+ set(_hip_full_name "${_name}.${_extension}") -+ get_filename_component(CMAKE_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -+ set(HIP_${_name} "${CMAKE_CURRENT_LIST_DIR}/FindHIP/${_hip_full_name}") -+ if(NOT EXISTS "${HIP_${_name}}") -+ set(error_message "${_hip_full_name} not found in ${CMAKE_CURRENT_LIST_DIR}/FindHIP") -+ if(HIP_FIND_REQUIRED) -+ message(FATAL_ERROR "${error_message}") -+ else() -+ if(NOT HIP_FIND_QUIETLY) -+ message(STATUS "${error_message}") -+ endif() -+ endif() -+ endif() -+ # Set this variable as internal, so the user isn't bugged with it. -+ set(HIP_${_name} ${HIP_${_name}} CACHE INTERNAL "Location of ${_full_name}" FORCE) -+endmacro() -+ -+############################################################################### -+hip_find_helper_file(run_make2cmake cmake) -+hip_find_helper_file(run_hipcc cmake) -+############################################################################### -+ -+############################################################################### -+# MACRO: Reset compiler flags -+############################################################################### -+macro(HIP_RESET_FLAGS) -+ unset(HIP_HIPCC_FLAGS) -+ unset(HIP_HCC_FLAGS) -+ unset(HIP_CLANG_FLAGS) -+ unset(HIP_NVCC_FLAGS) -+ foreach(config ${_hip_configuration_types}) -+ string(TOUPPER ${config} config_upper) -+ unset(HIP_HIPCC_FLAGS_${config_upper}) -+ unset(HIP_HCC_FLAGS_${config_upper}) -+ unset(HIP_CLANG_FLAGS_${config_upper}) -+ unset(HIP_NVCC_FLAGS_${config_upper}) -+ endforeach() -+endmacro() -+ -+############################################################################### -+# MACRO: Separate the options from the sources -+############################################################################### -+macro(HIP_GET_SOURCES_AND_OPTIONS _sources _cmake_options _hipcc_options _hcc_options _clang_options _nvcc_options) -+ set(${_sources}) -+ set(${_cmake_options}) -+ set(${_hipcc_options}) -+ set(${_hcc_options}) -+ set(${_clang_options}) -+ set(${_nvcc_options}) -+ set(_hipcc_found_options FALSE) -+ set(_hcc_found_options FALSE) -+ set(_clang_found_options FALSE) -+ set(_nvcc_found_options FALSE) -+ foreach(arg ${ARGN}) -+ if("x${arg}" STREQUAL "xHIPCC_OPTIONS") -+ set(_hipcc_found_options TRUE) -+ set(_hcc_found_options FALSE) -+ set(_clang_found_options FALSE) -+ set(_nvcc_found_options FALSE) -+ elseif("x${arg}" STREQUAL "xHCC_OPTIONS") -+ set(_hipcc_found_options FALSE) -+ set(_hcc_found_options TRUE) -+ set(_clang_found_options FALSE) -+ set(_nvcc_found_options FALSE) -+ elseif("x${arg}" STREQUAL "xCLANG_OPTIONS") -+ set(_hipcc_found_options FALSE) -+ set(_hcc_found_options FALSE) -+ set(_clang_found_options TRUE) -+ set(_nvcc_found_options FALSE) -+ elseif("x${arg}" STREQUAL "xNVCC_OPTIONS") -+ set(_hipcc_found_options FALSE) -+ set(_hcc_found_options FALSE) -+ set(_clang_found_options FALSE) -+ set(_nvcc_found_options TRUE) -+ elseif( -+ "x${arg}" STREQUAL "xEXCLUDE_FROM_ALL" OR -+ "x${arg}" STREQUAL "xSTATIC" OR -+ "x${arg}" STREQUAL "xSHARED" OR -+ "x${arg}" STREQUAL "xMODULE" -+ ) -+ list(APPEND ${_cmake_options} ${arg}) -+ else() -+ if(_hipcc_found_options) -+ list(APPEND ${_hipcc_options} ${arg}) -+ elseif(_hcc_found_options) -+ list(APPEND ${_hcc_options} ${arg}) -+ elseif(_clang_found_options) -+ list(APPEND ${_clang_options} ${arg}) -+ elseif(_nvcc_found_options) -+ list(APPEND ${_nvcc_options} ${arg}) -+ else() -+ # Assume this is a file -+ list(APPEND ${_sources} ${arg}) -+ endif() -+ endif() -+ endforeach() -+endmacro() -+ -+############################################################################### -+# MACRO: Add include directories to pass to the hipcc command -+############################################################################### -+set(HIP_HIPCC_INCLUDE_ARGS_USER "") -+macro(HIP_INCLUDE_DIRECTORIES) -+ foreach(dir ${ARGN}) -+ list(APPEND HIP_HIPCC_INCLUDE_ARGS_USER $<$:-I${dir}>) -+ endforeach() -+endmacro() -+ -+############################################################################### -+# FUNCTION: Helper to avoid clashes of files with the same basename but different paths -+############################################################################### -+function(HIP_COMPUTE_BUILD_PATH path build_path) -+ # Convert to cmake style paths -+ file(TO_CMAKE_PATH "${path}" bpath) -+ if(IS_ABSOLUTE "${bpath}") -+ string(FIND "${bpath}" "${CMAKE_CURRENT_BINARY_DIR}" _binary_dir_pos) -+ if(_binary_dir_pos EQUAL 0) -+ file(RELATIVE_PATH bpath "${CMAKE_CURRENT_BINARY_DIR}" "${bpath}") -+ else() -+ file(RELATIVE_PATH bpath "${CMAKE_CURRENT_SOURCE_DIR}" "${bpath}") -+ endif() -+ endif() -+ -+ # Remove leading / -+ string(REGEX REPLACE "^[/]+" "" bpath "${bpath}") -+ # Avoid absolute paths by removing ':' -+ string(REPLACE ":" "_" bpath "${bpath}") -+ # Avoid relative paths that go up the tree -+ string(REPLACE "../" "__/" bpath "${bpath}") -+ # Avoid spaces -+ string(REPLACE " " "_" bpath "${bpath}") -+ # Strip off the filename -+ get_filename_component(bpath "${bpath}" PATH) -+ -+ set(${build_path} "${bpath}" PARENT_SCOPE) -+endfunction() -+ -+############################################################################### -+# MACRO: Parse OPTIONS from ARGN & set variables prefixed by _option_prefix -+############################################################################### -+macro(HIP_PARSE_HIPCC_OPTIONS _option_prefix) -+ set(_hip_found_config) -+ foreach(arg ${ARGN}) -+ # Determine if we are dealing with a per-configuration flag -+ foreach(config ${_hip_configuration_types}) -+ string(TOUPPER ${config} config_upper) -+ if(arg STREQUAL "${config_upper}") -+ set(_hip_found_config _${arg}) -+ # Clear arg to prevent it from being processed anymore -+ set(arg) -+ endif() -+ endforeach() -+ if(arg) -+ list(APPEND ${_option_prefix}${_hip_found_config} "${arg}") -+ endif() -+ endforeach() -+endmacro() -+ -+############################################################################### -+# MACRO: Try and include dependency file if it exists -+############################################################################### -+macro(HIP_INCLUDE_HIPCC_DEPENDENCIES dependency_file) -+ set(HIP_HIPCC_DEPEND) -+ set(HIP_HIPCC_DEPEND_REGENERATE FALSE) -+ -+ # Create the dependency file if it doesn't exist -+ if(NOT EXISTS ${dependency_file}) -+ file(WRITE ${dependency_file} "# Generated by: FindHIP.cmake. Do not edit.\n") -+ endif() -+ # Include the dependency file -+ include(${dependency_file}) -+ -+ # Verify the existence of all the included files -+ if(HIP_HIPCC_DEPEND) -+ foreach(f ${HIP_HIPCC_DEPEND}) -+ if(NOT EXISTS ${f}) -+ # If they aren't there, regenerate the file again -+ set(HIP_HIPCC_DEPEND_REGENERATE TRUE) -+ endif() -+ endforeach() -+ else() -+ # No dependencies, so regenerate the file -+ set(HIP_HIPCC_DEPEND_REGENERATE TRUE) -+ endif() -+ -+ # Regenerate the dependency file if needed -+ if(HIP_HIPCC_DEPEND_REGENERATE) -+ set(HIP_HIPCC_DEPEND ${dependency_file}) -+ file(WRITE ${dependency_file} "# Generated by: FindHIP.cmake. Do not edit.\n") -+ endif() -+endmacro() -+ -+############################################################################### -+# MACRO: Prepare cmake commands for the target -+############################################################################### -+macro(HIP_PREPARE_TARGET_COMMANDS _target _format _generated_files _source_files) -+ set(_hip_flags "") -+ string(TOUPPER "${CMAKE_BUILD_TYPE}" _hip_build_configuration) -+ if(HIP_HOST_COMPILATION_CPP) -+ set(HIP_C_OR_CXX CXX) -+ else() -+ set(HIP_C_OR_CXX C) -+ endif() -+ set(generated_extension ${CMAKE_${HIP_C_OR_CXX}_OUTPUT_EXTENSION}) -+ -+ # Initialize list of includes with those specified by the user. Append with -+ # ones specified to cmake directly. -+ set(HIP_HIPCC_INCLUDE_ARGS ${HIP_HIPCC_INCLUDE_ARGS_USER}) -+ -+ # Add the include directories -+ set(include_directories_generator "$") -+ list(APPEND HIP_HIPCC_INCLUDE_ARGS "$<$:-I$>") -+ -+ get_directory_property(_hip_include_directories INCLUDE_DIRECTORIES) -+ list(REMOVE_DUPLICATES _hip_include_directories) -+ if(_hip_include_directories) -+ foreach(dir ${_hip_include_directories}) -+ list(APPEND HIP_HIPCC_INCLUDE_ARGS $<$:-I${dir}>) -+ endforeach() -+ endif() -+ -+ HIP_GET_SOURCES_AND_OPTIONS(_hip_sources _hip_cmake_options _hipcc_options _hcc_options _clang_options _nvcc_options ${ARGN}) -+ HIP_PARSE_HIPCC_OPTIONS(HIP_HIPCC_FLAGS ${_hipcc_options}) -+ HIP_PARSE_HIPCC_OPTIONS(HIP_HCC_FLAGS ${_hcc_options}) -+ HIP_PARSE_HIPCC_OPTIONS(HIP_CLANG_FLAGS ${_clang_options}) -+ HIP_PARSE_HIPCC_OPTIONS(HIP_NVCC_FLAGS ${_nvcc_options}) -+ -+ # Add the compile definitions -+ set(compile_definition_generator "$") -+ list(APPEND HIP_HIPCC_FLAGS "$<$:-D$>") -+ -+ # Check if we are building shared library. -+ set(_hip_build_shared_libs FALSE) -+ list(FIND _hip_cmake_options SHARED _hip_found_SHARED) -+ list(FIND _hip_cmake_options MODULE _hip_found_MODULE) -+ if(_hip_found_SHARED GREATER -1 OR _hip_found_MODULE GREATER -1) -+ set(_hip_build_shared_libs TRUE) -+ endif() -+ list(FIND _hip_cmake_options STATIC _hip_found_STATIC) -+ if(_hip_found_STATIC GREATER -1) -+ set(_hip_build_shared_libs FALSE) -+ endif() -+ -+ # If we are building a shared library, add extra flags to HIP_HIPCC_FLAGS -+ if(_hip_build_shared_libs) -+ list(APPEND HIP_HCC_FLAGS "-fPIC") -+ list(APPEND HIP_CLANG_FLAGS "-fPIC") -+ list(APPEND HIP_NVCC_FLAGS "--shared -Xcompiler '-fPIC'") -+ endif() -+ -+ # Set host compiler -+ set(HIP_HOST_COMPILER "${CMAKE_${HIP_C_OR_CXX}_COMPILER}") -+ -+ # Set compiler flags -+ set(_HIP_HOST_FLAGS "set(CMAKE_HOST_FLAGS ${CMAKE_${HIP_C_OR_CXX}_FLAGS})") -+ set(_HIP_HIPCC_FLAGS "set(HIP_HIPCC_FLAGS ${HIP_HIPCC_FLAGS})") -+ set(_HIP_HCC_FLAGS "set(HIP_HCC_FLAGS ${HIP_HCC_FLAGS})") -+ set(_HIP_CLANG_FLAGS "set(HIP_CLANG_FLAGS ${HIP_CLANG_FLAGS})") -+ set(_HIP_NVCC_FLAGS "set(HIP_NVCC_FLAGS ${HIP_NVCC_FLAGS})") -+ foreach(config ${_hip_configuration_types}) -+ string(TOUPPER ${config} config_upper) -+ set(_HIP_HOST_FLAGS "${_HIP_HOST_FLAGS}\nset(CMAKE_HOST_FLAGS_${config_upper} ${CMAKE_${HIP_C_OR_CXX}_FLAGS_${config_upper}})") -+ set(_HIP_HIPCC_FLAGS "${_HIP_HIPCC_FLAGS}\nset(HIP_HIPCC_FLAGS_${config_upper} ${HIP_HIPCC_FLAGS_${config_upper}})") -+ set(_HIP_HCC_FLAGS "${_HIP_HCC_FLAGS}\nset(HIP_HCC_FLAGS_${config_upper} ${HIP_HCC_FLAGS_${config_upper}})") -+ set(_HIP_CLANG_FLAGS "${_HIP_CLANG_FLAGS}\nset(HIP_CLANG_FLAGS_${config_upper} ${HIP_CLANG_FLAGS_${config_upper}})") -+ set(_HIP_NVCC_FLAGS "${_HIP_NVCC_FLAGS}\nset(HIP_NVCC_FLAGS_${config_upper} ${HIP_NVCC_FLAGS_${config_upper}})") -+ endforeach() -+ -+ # Reset the output variable -+ set(_hip_generated_files "") -+ set(_hip_source_files "") -+ -+ # Iterate over all arguments and create custom commands for all source files -+ foreach(file ${ARGN}) -+ # Ignore any file marked as a HEADER_FILE_ONLY -+ get_source_file_property(_is_header ${file} HEADER_FILE_ONLY) -+ # Allow per source file overrides of the format. Also allows compiling non .cu files. -+ get_source_file_property(_hip_source_format ${file} HIP_SOURCE_PROPERTY_FORMAT) -+ if((${file} MATCHES "\\.cu$" OR _hip_source_format) AND NOT _is_header) -+ set(host_flag FALSE) -+ else() -+ set(host_flag TRUE) -+ endif() -+ -+ if(NOT host_flag) -+ # Determine output directory -+ HIP_COMPUTE_BUILD_PATH("${file}" hip_build_path) -+ set(hip_compile_output_dir "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${_target}.dir/${hip_build_path}") -+ -+ get_filename_component(basename ${file} NAME) -+ set(generated_file_path "${hip_compile_output_dir}/${CMAKE_CFG_INTDIR}") -+ set(generated_file_basename "${_target}_generated_${basename}${generated_extension}") -+ -+ # Set file names -+ set(generated_file "${generated_file_path}/${generated_file_basename}") -+ set(cmake_dependency_file "${hip_compile_output_dir}/${generated_file_basename}.depend") -+ set(custom_target_script_pregen "${hip_compile_output_dir}/${generated_file_basename}.cmake.pre-gen") -+ set(custom_target_script "${hip_compile_output_dir}/${generated_file_basename}.cmake") -+ -+ # Set properties for object files -+ set_source_files_properties("${generated_file}" -+ PROPERTIES -+ EXTERNAL_OBJECT true # This is an object file not to be compiled, but only be linked -+ ) -+ -+ # Don't add CMAKE_CURRENT_SOURCE_DIR if the path is already an absolute path -+ get_filename_component(file_path "${file}" PATH) -+ if(IS_ABSOLUTE "${file_path}") -+ set(source_file "${file}") -+ else() -+ set(source_file "${CMAKE_CURRENT_SOURCE_DIR}/${file}") -+ endif() -+ -+ # Bring in the dependencies -+ HIP_INCLUDE_HIPCC_DEPENDENCIES(${cmake_dependency_file}) -+ -+ # Configure the build script -+ configure_file("${HIP_run_hipcc}" "${custom_target_script_pregen}" @ONLY) -+ file(GENERATE -+ OUTPUT "${custom_target_script}" -+ INPUT "${custom_target_script_pregen}" -+ ) -+ set(main_dep DEPENDS ${source_file}) -+ if(CMAKE_GENERATOR MATCHES "Makefiles") -+ set(verbose_output "$(VERBOSE)") -+ elseif(HIP_VERBOSE_BUILD) -+ set(verbose_output ON) -+ else() -+ set(verbose_output OFF) -+ endif() -+ -+ # Create up the comment string -+ file(RELATIVE_PATH generated_file_relative_path "${CMAKE_BINARY_DIR}" "${generated_file}") -+ set(hip_build_comment_string "Building HIPCC object ${generated_file_relative_path}") -+ -+ # Build the generated file and dependency file -+ add_custom_command( -+ OUTPUT ${generated_file} -+ # These output files depend on the source_file and the contents of cmake_dependency_file -+ ${main_dep} -+ DEPENDS ${HIP_HIPCC_DEPEND} -+ DEPENDS ${custom_target_script} -+ # Make sure the output directory exists before trying to write to it. -+ COMMAND ${CMAKE_COMMAND} -E make_directory "${generated_file_path}" -+ COMMAND ${CMAKE_COMMAND} ARGS -+ -D verbose:BOOL=${verbose_output} -+ -D build_configuration:STRING=${_hip_build_configuration} -+ -D "generated_file:STRING=${generated_file}" -+ -P "${custom_target_script}" -+ WORKING_DIRECTORY "${hip_compile_output_dir}" -+ COMMENT "${hip_build_comment_string}" -+ ) -+ -+ # Make sure the build system knows the file is generated -+ set_source_files_properties(${generated_file} PROPERTIES GENERATED TRUE) -+ list(APPEND _hip_generated_files ${generated_file}) -+ list(APPEND _hip_source_files ${file}) -+ endif() -+ endforeach() -+ -+ # Set the return parameter -+ set(${_generated_files} ${_hip_generated_files}) -+ set(${_source_files} ${_hip_source_files}) -+endmacro() -+ -+############################################################################### -+# HIP_ADD_EXECUTABLE -+############################################################################### -+macro(HIP_ADD_EXECUTABLE hip_target) -+ # Separate the sources from the options -+ HIP_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _hipcc_options _hcc_options _clang_options _nvcc_options ${ARGN}) -+ HIP_PREPARE_TARGET_COMMANDS(${hip_target} OBJ _generated_files _source_files ${_sources} HIPCC_OPTIONS ${_hipcc_options} HCC_OPTIONS ${_hcc_options} CLANG_OPTIONS ${_clang_options} NVCC_OPTIONS ${_nvcc_options}) -+ if(_source_files) -+ list(REMOVE_ITEM _sources ${_source_files}) -+ endif() -+ if("${HIP_COMPILER}" STREQUAL "hcc") -+ if("x${HCC_HOME}" STREQUAL "x") -+ if (DEFINED ENV{ROCM_PATH}) -+ set(HCC_HOME "$ENV{ROCM_PATH}/hcc") -+ elseif(DEFINED ENV{HIP_PATH}) -+ set(HCC_HOME "$ENV{HIP_PATH}/../hcc") -+ else() -+ set(HCC_HOME "/opt/rocm/hcc") -+ endif() -+ endif() -+ set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} -o ") -+ elseif("${HIP_COMPILER}" STREQUAL "clang") -+ if("x${HIP_CLANG_PATH}" STREQUAL "x") -+ if(DEFINED ENV{HIP_CLANG_PATH}) -+ set(HIP_CLANG_PATH $ENV{HIP_CLANG_PATH}) -+ elseif(DEFINED ENV{ROCM_PATH}) -+ set(HIP_CLANG_PATH "$ENV{ROCM_PATH}/llvm/bin") -+ elseif(DEFINED ENV{HIP_PATH}) -+ set(HIP_CLANG_PATH "$ENV{HIP_PATH}/../llvm/bin") -+ else() -+ set(HIP_CLANG_PATH "/opt/rocm/llvm/bin") -+ endif() -+ endif() -+ set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} -o ") -+ endif() -+ add_executable(${hip_target} ${_cmake_options} ${_generated_files} ${_sources}) -+ set_target_properties(${hip_target} PROPERTIES LINKER_LANGUAGE HIP) -+endmacro() -+ -+############################################################################### -+# HIP_ADD_LIBRARY -+############################################################################### -+macro(HIP_ADD_LIBRARY hip_target) -+ # Separate the sources from the options -+ HIP_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _hipcc_options _hcc_options _clang_options _nvcc_options ${ARGN}) -+ HIP_PREPARE_TARGET_COMMANDS(${hip_target} OBJ _generated_files _source_files ${_sources} ${_cmake_options} HIPCC_OPTIONS ${_hipcc_options} HCC_OPTIONS ${_hcc_options} CLANG_OPTIONS ${_clang_options} NVCC_OPTIONS ${_nvcc_options}) -+ if(_source_files) -+ list(REMOVE_ITEM _sources ${_source_files}) -+ endif() -+ add_library(${hip_target} ${_cmake_options} ${_generated_files} ${_sources}) -+ set_target_properties(${hip_target} PROPERTIES LINKER_LANGUAGE ${HIP_C_OR_CXX}) -+endmacro() -+ -+# vim: ts=4:sw=4:expandtab:smartindent -diff --git a/cmake/FindHIP/run_hipcc.cmake b/cmake/FindHIP/run_hipcc.cmake -new file mode 100644 -index 0000000..63c7bb3 ---- /dev/null -+++ b/cmake/FindHIP/run_hipcc.cmake -@@ -0,0 +1,182 @@ -+############################################################################### -+# Runs commands using HIPCC -+############################################################################### -+ -+############################################################################### -+# This file runs the hipcc commands to produce the desired output file -+# along with the dependency file needed by CMake to compute dependencies. -+# -+# Input variables: -+# -+# verbose:BOOL=<> OFF: Be as quiet as possible (default) -+# ON : Describe each step -+# build_configuration:STRING=<> Build configuration. Defaults to Debug. -+# generated_file:STRING=<> File to generate. Mandatory argument. -+ -+if(NOT build_configuration) -+ set(build_configuration Debug) -+endif() -+if(NOT generated_file) -+ message(FATAL_ERROR "You must specify generated_file on the command line") -+endif() -+ -+# Set these up as variables to make reading the generated file easier -+set(HIP_HIPCC_EXECUTABLE "@HIP_HIPCC_EXECUTABLE@") # path -+set(HIP_HIPCONFIG_EXECUTABLE "@HIP_HIPCONFIG_EXECUTABLE@") #path -+set(HIP_HOST_COMPILER "@HIP_HOST_COMPILER@") # path -+set(CMAKE_COMMAND "@CMAKE_COMMAND@") # path -+set(HIP_run_make2cmake "@HIP_run_make2cmake@") # path -+set(HCC_HOME "@HCC_HOME@") #path -+set(HIP_CLANG_PATH "@HIP_CLANG_PATH@") #path -+set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "@HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS@") -+ -+@HIP_HOST_FLAGS@ -+@_HIP_HIPCC_FLAGS@ -+@_HIP_HCC_FLAGS@ -+@_HIP_CLANG_FLAGS@ -+@_HIP_NVCC_FLAGS@ -+#Needed to bring the HIP_HIPCC_INCLUDE_ARGS variable in scope -+set(HIP_HIPCC_INCLUDE_ARGS @HIP_HIPCC_INCLUDE_ARGS@) # list -+ -+set(cmake_dependency_file "@cmake_dependency_file@") # path -+set(source_file "@source_file@") # path -+set(host_flag "@host_flag@") # bool -+ -+# Determine compiler and compiler flags -+execute_process(COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --platform OUTPUT_VARIABLE HIP_PLATFORM OUTPUT_STRIP_TRAILING_WHITESPACE) -+execute_process(COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --compiler OUTPUT_VARIABLE HIP_COMPILER OUTPUT_STRIP_TRAILING_WHITESPACE) -+execute_process(COMMAND ${HIP_HIPCONFIG_EXECUTABLE} --runtime OUTPUT_VARIABLE HIP_RUNTIME OUTPUT_STRIP_TRAILING_WHITESPACE) -+if(NOT host_flag) -+ set(__CC ${HIP_HIPCC_EXECUTABLE}) -+ if("${HIP_PLATFORM}" STREQUAL "hcc") -+ if("${HIP_COMPILER}" STREQUAL "hcc") -+ if(NOT "x${HCC_HOME}" STREQUAL "x") -+ set(ENV{HCC_HOME} ${HCC_HOME}) -+ endif() -+ set(__CC_FLAGS ${HIP_HIPCC_FLAGS} ${HIP_HCC_FLAGS} ${HIP_HIPCC_FLAGS_${build_configuration}} ${HIP_HCC_FLAGS_${build_configuration}}) -+ elseif("${HIP_COMPILER}" STREQUAL "clang") -+ if(NOT "x${HIP_CLANG_PATH}" STREQUAL "x") -+ set(ENV{HIP_CLANG_PATH} ${HIP_CLANG_PATH}) -+ endif() -+ # Temporarily include HIP_HCC_FLAGS for HIP-Clang for PyTorch builds -+ set(__CC_FLAGS ${HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS} ${HIP_HIPCC_FLAGS} ${HIP_HCC_FLAGS} ${HIP_CLANG_FLAGS} ${HIP_HIPCC_FLAGS_${build_configuration}} ${HIP_HCC_FLAGS_${build_configuration}} ${HIP_CLANG_FLAGS_${build_configuration}}) -+ endif() -+ else() -+ set(__CC_FLAGS ${HIP_HIPCC_FLAGS} ${HIP_NVCC_FLAGS} ${HIP_HIPCC_FLAGS_${build_configuration}} ${HIP_NVCC_FLAGS_${build_configuration}}) -+ endif() -+else() -+ set(__CC ${HIP_HOST_COMPILER}) -+ set(__CC_FLAGS ${CMAKE_HOST_FLAGS} ${CMAKE_HOST_FLAGS_${build_configuration}}) -+endif() -+set(__CC_INCLUDES ${HIP_HIPCC_INCLUDE_ARGS}) -+ -+# hip_execute_process - Executes a command with optional command echo and status message. -+# status - Status message to print if verbose is true -+# command - COMMAND argument from the usual execute_process argument structure -+# ARGN - Remaining arguments are the command with arguments -+# HIP_result - Return value from running the command -+macro(hip_execute_process status command) -+ set(_command ${command}) -+ if(NOT "x${_command}" STREQUAL "xCOMMAND") -+ message(FATAL_ERROR "Malformed call to hip_execute_process. Missing COMMAND as second argument. (command = ${command})") -+ endif() -+ if(verbose) -+ execute_process(COMMAND "${CMAKE_COMMAND}" -E echo -- ${status}) -+ # Build command string to print -+ set(hip_execute_process_string) -+ foreach(arg ${ARGN}) -+ # Escape quotes if any -+ string(REPLACE "\"" "\\\"" arg ${arg}) -+ # Surround args with spaces with quotes -+ if(arg MATCHES " ") -+ list(APPEND hip_execute_process_string "\"${arg}\"") -+ else() -+ list(APPEND hip_execute_process_string ${arg}) -+ endif() -+ endforeach() -+ # Echo the command -+ execute_process(COMMAND ${CMAKE_COMMAND} -E echo ${hip_execute_process_string}) -+ endif() -+ # Run the command -+ execute_process(COMMAND ${ARGN} RESULT_VARIABLE HIP_result) -+endmacro() -+ -+# Delete the target file -+hip_execute_process( -+ "Removing ${generated_file}" -+ COMMAND "${CMAKE_COMMAND}" -E remove "${generated_file}" -+ ) -+ -+# Generate the dependency file -+hip_execute_process( -+ "Generating dependency file: ${cmake_dependency_file}.pre" -+ COMMAND "${__CC}" -+ -M -+ "${source_file}" -+ -o "${cmake_dependency_file}.pre" -+ ${__CC_FLAGS} -+ ${__CC_INCLUDES} -+ ) -+ -+if(HIP_result) -+ message(FATAL_ERROR "Error generating ${generated_file}") -+endif() -+ -+# Generate the cmake readable dependency file to a temp file -+hip_execute_process( -+ "Generating temporary cmake readable file: ${cmake_dependency_file}.tmp" -+ COMMAND "${CMAKE_COMMAND}" -+ -D "input_file:FILEPATH=${cmake_dependency_file}.pre" -+ -D "output_file:FILEPATH=${cmake_dependency_file}.tmp" -+ -D "verbose=${verbose}" -+ -P "${HIP_run_make2cmake}" -+ ) -+ -+if(HIP_result) -+ message(FATAL_ERROR "Error generating ${generated_file}") -+endif() -+ -+# Copy the file if it is different -+hip_execute_process( -+ "Copy if different ${cmake_dependency_file}.tmp to ${cmake_dependency_file}" -+ COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${cmake_dependency_file}.tmp" "${cmake_dependency_file}" -+ ) -+ -+if(HIP_result) -+ message(FATAL_ERROR "Error generating ${generated_file}") -+endif() -+ -+# Delete the temporary file -+hip_execute_process( -+ "Removing ${cmake_dependency_file}.tmp and ${cmake_dependency_file}.pre" -+ COMMAND "${CMAKE_COMMAND}" -E remove "${cmake_dependency_file}.tmp" "${cmake_dependency_file}.pre" -+ ) -+ -+if(HIP_result) -+ message(FATAL_ERROR "Error generating ${generated_file}") -+endif() -+ -+# Generate the output file -+hip_execute_process( -+ "Generating ${generated_file}" -+ COMMAND "${__CC}" -+ -c -+ "${source_file}" -+ -o "${generated_file}" -+ ${__CC_FLAGS} -+ ${__CC_INCLUDES} -+ ) -+ -+if(HIP_result) -+ # Make sure that we delete the output file -+ hip_execute_process( -+ "Removing ${generated_file}" -+ COMMAND "${CMAKE_COMMAND}" -E remove "${generated_file}" -+ ) -+ message(FATAL_ERROR "Error generating file ${generated_file}") -+else() -+ if(verbose) -+ message("Generated ${generated_file} successfully.") -+ endif() -+endif() -+# vim: ts=4:sw=4:expandtab:smartindent -diff --git a/cmake/FindHIP/run_make2cmake.cmake b/cmake/FindHIP/run_make2cmake.cmake -new file mode 100644 -index 0000000..d2e3eb5 ---- /dev/null -+++ b/cmake/FindHIP/run_make2cmake.cmake -@@ -0,0 +1,50 @@ -+############################################################################### -+# Computes dependencies using HIPCC -+############################################################################### -+ -+############################################################################### -+# This file converts dependency files generated using hipcc to a format that -+# cmake can understand. -+ -+# Input variables: -+# -+# input_file:STRING=<> Dependency file to parse. Required argument -+# output_file:STRING=<> Output file to generate. Required argument -+ -+if(NOT input_file OR NOT output_file) -+ message(FATAL_ERROR "You must specify input_file and output_file on the command line") -+endif() -+ -+file(READ ${input_file} depend_text) -+ -+if (NOT "${depend_text}" STREQUAL "") -+ string(REPLACE " /" "\n/" depend_text ${depend_text}) -+ string(REGEX REPLACE "^.*:" "" depend_text ${depend_text}) -+ string(REGEX REPLACE "[ \\\\]*\n" ";" depend_text ${depend_text}) -+ -+ set(dependency_list "") -+ -+ foreach(file ${depend_text}) -+ string(REGEX REPLACE "^ +" "" file ${file}) -+ if(NOT EXISTS "${file}") -+ message(WARNING " Removing non-existent dependency file: ${file}") -+ set(file "") -+ endif() -+ -+ if(NOT IS_DIRECTORY "${file}") -+ get_filename_component(file_absolute "${file}" ABSOLUTE) -+ list(APPEND dependency_list "${file_absolute}") -+ endif() -+ endforeach() -+endif() -+ -+# Remove the duplicate entries and sort them. -+list(REMOVE_DUPLICATES dependency_list) -+list(SORT dependency_list) -+ -+foreach(file ${dependency_list}) -+ set(hip_hipcc_depend "${hip_hipcc_depend} \"${file}\"\n") -+endforeach() -+ -+file(WRITE ${output_file} "# Generated by: FindHIP.cmake. Do not edit.\nSET(HIP_HIPCC_DEPEND\n ${hip_hipcc_depend})\n\n") -+# vim: ts=4:sw=4:expandtab:smartindent --- -2.22.0 - diff --git a/var/spack/repos/builtin/packages/rocalution/package.py b/var/spack/repos/builtin/packages/rocalution/package.py index 48a215d70d6..a1936ed5727 100644 --- a/var/spack/repos/builtin/packages/rocalution/package.py +++ b/var/spack/repos/builtin/packages/rocalution/package.py @@ -45,8 +45,6 @@ class Rocalution(CMakePackage): for ver in ['3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', '4.3.0']: depends_on('rocrand@' + ver, when='@' + ver) - patch('0001-fix-hip-build-error.patch') - def setup_build_environment(self, env): env.set('CXX', self.spec['hip'].hipcc) @@ -62,6 +60,7 @@ def patch(self): def cmake_args(self): args = [ + self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake), self.define('SUPPORT_HIP', 'ON'), self.define('SUPPORT_MPI', 'OFF'), self.define('BUILD_CLIENTS_SAMPLES', 'OFF') From 6cd858316592430dc5c0087d7e61d9eb6a653997 Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Fri, 13 Aug 2021 11:50:28 +0200 Subject: [PATCH 194/414] recola: add new package (including dependencies) (#25383) --- .../repos/builtin/packages/collier/package.py | 6 ++- .../builtin/packages/recola-sm/package.py | 26 +++++++++++++ .../repos/builtin/packages/recola/package.py | 37 +++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 var/spack/repos/builtin/packages/recola-sm/package.py create mode 100644 var/spack/repos/builtin/packages/recola/package.py diff --git a/var/spack/repos/builtin/packages/collier/package.py b/var/spack/repos/builtin/packages/collier/package.py index 5c3b3dd2b6b..089ed9f4ca1 100644 --- a/var/spack/repos/builtin/packages/collier/package.py +++ b/var/spack/repos/builtin/packages/collier/package.py @@ -7,13 +7,17 @@ class Collier(CMakePackage): - """COLLIER: A Complex One-Loop LIbrary with Extended Regularizations """ + """COLLIER: A Complex One-Loop LIbrary with Extended Regularizations + for the numerical evaluation of one-loop scalar and tensor integrals + appearing in perturbative relativistic quantum field theory. """ homepage = "https://collier.hepforge.org" url = "https://collier.hepforge.org/downloads/?f=collier-1.2.5.tar.gz" tags = ['hep'] + maintainers = ['vvolkl'] + version('1.2.5', sha256='3ec58a975ff0c3b1ca870bc38973476c923ff78fd3dd5850e296037852b94a8b') version('1.2.4', sha256='92ae8f61461b232fbd47a6d8e832e1a726d504f9390b7edc49a68fceedff8857') version('1.2.3', sha256='e6f72df223654df59113b0067a4bebe9f8c20227bb81371d3193e1557bdf56fb') diff --git a/var/spack/repos/builtin/packages/recola-sm/package.py b/var/spack/repos/builtin/packages/recola-sm/package.py new file mode 100644 index 00000000000..04113ca8af3 --- /dev/null +++ b/var/spack/repos/builtin/packages/recola-sm/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack import * + + +class RecolaSm(CMakePackage): + """Standard Model files for the Recola generator.""" + + tags = ['hep'] + + homepage = "https://recola.gitlab.io/recola2/modelfiles/modelfiles.html" + url = "https://recola.hepforge.org/downloads/?f=SM_2.2.3.tar.gz" + + maintainers = ['vvolkl'] + + version('2.2.3', sha256='9ebdc4fd8ca48789de0b6bbb2ab7e4845c92d19dfe0c3f67866cbf114d6242a5') + + depends_on('collier') + + def cmake_args(self): + args = ['-Dstatic=ON'] + return args diff --git a/var/spack/repos/builtin/packages/recola/package.py b/var/spack/repos/builtin/packages/recola/package.py new file mode 100644 index 00000000000..549563ed0b7 --- /dev/null +++ b/var/spack/repos/builtin/packages/recola/package.py @@ -0,0 +1,37 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack import * + + +class Recola(CMakePackage): + """REcursive Computation of One-Loop Amplitudes: + a fortran library for the perturbative computation of + next-to-leading-order transition amplitudes in the + Standard Model of particle physics.""" + + tags = ['hep'] + + homepage = "https://recola.hepforge.org" + url = "https://recola.hepforge.org/downloads/?f=recola2-2.2.3.tar.gz" + + maintainers = ['vvolkl'] + + variant('python', default=True, + description="Build py-recola python bindings.") + + version('2.2.3', sha256='db0f5e448ed603ac4073d4bbf36fd74f401a22876ad390c0d02c815a78106c5f') + + depends_on('collier') + depends_on('recola-sm') + depends_on('python@3:', when='+python') + + def cmake_args(self): + args = [ + '-DCMAKE_VERBOSE_MAKEFILE=ON', + self.define_from_variant("with_python3", 'python'), + ] + return args From 607f2a0c1c12159069208902b2c9ca10ea532256 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 13 Aug 2021 14:54:37 +0200 Subject: [PATCH 195/414] libtree: add v2.0.0 (#25360) --- var/spack/repos/builtin/packages/libtree/package.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/libtree/package.py b/var/spack/repos/builtin/packages/libtree/package.py index 65a124be613..5d5aaa78abd 100644 --- a/var/spack/repos/builtin/packages/libtree/package.py +++ b/var/spack/repos/builtin/packages/libtree/package.py @@ -12,10 +12,11 @@ class Libtree(CMakePackage): homepage = "https://github.com/haampie/libtree" git = "https://github.com/haampie/libtree.git" - url = "https://github.com/haampie/libtree/releases/download/v1.0.3/sources.tar.gz" + url = "https://github.com/haampie/libtree/archive/refs/tags/v2.0.0.tar.gz" maintainers = ['haampie'] version('master', branch='master') + version('2.0.0', sha256='099e85d8ba3c3d849ce05b8ba2791dd25cd042a813be947fb321b0676ef71883') version('1.2.3', sha256='4a912cf97109219fe931942a30579336b6ab9865395447bd157bbfa74bf4e8cf') version('1.2.2', sha256='4ccf09227609869b85a170550b636defcf0b0674ecb0785063b81785b1c29bdd') version('1.2.1', sha256='26791c0f418b93d502879db0e1fd2fd3081b885ad87326611d992a5f8977a9b0') @@ -28,6 +29,12 @@ class Libtree(CMakePackage): version('1.0.4', sha256='b15a54b6f388b8bd8636e288fcb581029f1e65353660387b0096a554ad8e9e45') version('1.0.3', sha256='67ce886c191d50959a5727246cdb04af38872cd811c9ed4e3822f77a8f40b20b') + def url_for_version(self, version): + if version < Version("2.0.0"): + return "https://github.com/haampie/libtree/releases/download/v{0}/sources.tar.gz".format(version) + + return "https://github.com/haampie/libtree/archive/refs/tags/v{0}.tar.gz".format(version) + variant('chrpath', default=False, description='Use chrpath for deployment') variant('strip', default=False, description='Use binutils strip for deployment') From 920f695d1d0933168f0feaca0e7e9281bbda908e Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 13 Aug 2021 16:28:29 +0200 Subject: [PATCH 196/414] Mention bash in prerequisites (#25379) Isn't installed on Alpine. --- lib/spack/docs/getting_started.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index 3d0e90d3ab7..f15277e9534 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -17,7 +17,8 @@ Spack has the following minimum requirements, which must be installed before Spack is run: #. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.9) to run Spack -#. A C/C++ compiler for building +#. A C/C++ compiler for building and the ``bash`` shell for Spack's compiler + wrapper #. The ``make`` executable for building #. The ``tar``, ``gzip``, ``unzip``, ``bzip2``, ``xz`` and optionally ``zstd`` executables for extracting source code From f0875b2fef8e495809854141785c1fc7f5d86407 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 13 Aug 2021 16:51:56 +0200 Subject: [PATCH 197/414] Remove handling for deprecated module commands (#25411) The commands have been deprecated in #7098, and have been failing with an error message since then. Cleaning the code since it is unlikely that somebody is still using them. --- lib/spack/spack/cmd/module.py | 42 +----------------------------- lib/spack/spack/test/cmd/module.py | 11 -------- 2 files changed, 1 insertion(+), 52 deletions(-) diff --git a/lib/spack/spack/cmd/module.py b/lib/spack/spack/cmd/module.py index a03df1b787c..1df0bf920a6 100644 --- a/lib/spack/spack/cmd/module.py +++ b/lib/spack/spack/cmd/module.py @@ -3,11 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import argparse from typing import Callable, Dict # novm -import llnl.util.tty as tty - import spack.cmd.modules.lmod import spack.cmd.modules.tcl @@ -18,49 +15,12 @@ _subcommands = {} # type: Dict[str, Callable] -_deprecated_commands = ('refresh', 'find', 'rm', 'loads') - def setup_parser(subparser): sp = subparser.add_subparsers(metavar='SUBCOMMAND', dest='module_command') spack.cmd.modules.lmod.add_command(sp, _subcommands) spack.cmd.modules.tcl.add_command(sp, _subcommands) - for name in _deprecated_commands: - add_deprecated_command(sp, name) - - -def add_deprecated_command(subparser, name): - parser = subparser.add_parser(name) - parser.add_argument( - '-m', '--module-type', help=argparse.SUPPRESS, - choices=spack.modules.module_types.keys(), action='append' - ) - - -def handle_deprecated_command(args, unknown_args): - command = args.module_command - unknown = ' '.join(unknown_args) - - module_types = args.module_type or ['tcl'] - - msg = '`spack module {0} {1}` has moved. Use these commands instead:\n' - msg = msg.format(command, ' '.join('-m ' + x for x in module_types)) - for x in module_types: - msg += '\n\t$ spack module {0} {1} {2}'.format(x, command, unknown) - msg += '\n' - tty.die(msg) - - -def module(parser, args, unknown_args): - - # Here we permit unknown arguments to intercept deprecated calls - if args.module_command in _deprecated_commands: - handle_deprecated_command(args, unknown_args) - - # Fail if unknown arguments are present, once we excluded a deprecated - # command - if unknown_args: - tty.die('unrecognized arguments: {0}'.format(' '.join(unknown_args))) +def module(parser, args): _subcommands[args.module_command](parser, args) diff --git a/lib/spack/spack/test/cmd/module.py b/lib/spack/spack/test/cmd/module.py index 7b281eeba31..3bced1d335f 100644 --- a/lib/spack/spack/test/cmd/module.py +++ b/lib/spack/spack/test/cmd/module.py @@ -65,17 +65,6 @@ def test_exit_with_failure(database, module_type, failure_args): module(module_type, *failure_args) -@pytest.mark.db -@pytest.mark.parametrize('deprecated_command', [ - ('refresh', '-m', 'tcl', 'mpileaks'), - ('rm', '-m', 'tcl', '-m', 'lmod', 'mpileaks'), - ('find', 'mpileaks'), -]) -def test_deprecated_command(database, deprecated_command): - with pytest.raises(spack.main.SpackCommandError): - module(*deprecated_command) - - @pytest.mark.db def test_remove_and_add(database, module_type): """Tests adding and removing a tcl module file.""" From 1c7aa1261534533ef789ed9a9d4a96f802aae0f6 Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Fri, 13 Aug 2021 12:08:25 -0700 Subject: [PATCH 198/414] cleanup opt-rocm references when using spack (#25264) Co-authored-by: Harmen Stoppels --- var/spack/repos/builtin/packages/hipblas/package.py | 3 +++ var/spack/repos/builtin/packages/hipfft/package.py | 2 ++ var/spack/repos/builtin/packages/hipsparse/package.py | 2 ++ 3 files changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/hipblas/package.py b/var/spack/repos/builtin/packages/hipblas/package.py index 86aee29b8cd..4836e47699b 100644 --- a/var/spack/repos/builtin/packages/hipblas/package.py +++ b/var/spack/repos/builtin/packages/hipblas/package.py @@ -32,9 +32,12 @@ class Hipblas(CMakePackage): depends_on('rocsolver@' + ver, when='@' + ver) depends_on('rocblas@' + ver, type='link', when='@' + ver) depends_on('comgr@' + ver, type='build', when='@' + ver) + depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) def cmake_args(self): args = [ + # Make sure find_package(HIP) finds the module. + self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake), self.define('BUILD_CLIENTS_SAMPLES', 'OFF'), self.define('BUILD_CLIENTS_TESTS', 'OFF') ] diff --git a/var/spack/repos/builtin/packages/hipfft/package.py b/var/spack/repos/builtin/packages/hipfft/package.py index 3359af11d43..69f9514edc8 100644 --- a/var/spack/repos/builtin/packages/hipfft/package.py +++ b/var/spack/repos/builtin/packages/hipfft/package.py @@ -38,6 +38,8 @@ def setup_build_environment(self, env): def cmake_args(self): args = [ + # Make sure find_package(HIP) finds the module. + self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake), self.define('BUILD_CLIENTS_SAMPLES', 'OFF') ] diff --git a/var/spack/repos/builtin/packages/hipsparse/package.py b/var/spack/repos/builtin/packages/hipsparse/package.py index afc1c0fe393..c939b686edc 100644 --- a/var/spack/repos/builtin/packages/hipsparse/package.py +++ b/var/spack/repos/builtin/packages/hipsparse/package.py @@ -43,6 +43,8 @@ class Hipsparse(CMakePackage): def cmake_args(self): args = [ + # Make sure find_package(HIP) finds the module. + self.define('CMAKE_MODULE_PATH', self.spec['hip'].prefix.cmake), self.define('CMAKE_CXX_STANDARD', '14'), self.define('BUILD_CLIENTS_SAMPLES', 'OFF'), self.define('BUILD_CLIENTS_TESTS', 'OFF'), From e911f8ab3cfc073f77ea874871a95cb63dd928f4 Mon Sep 17 00:00:00 2001 From: Mikhail Titov Date: Fri, 13 Aug 2021 17:59:03 -0400 Subject: [PATCH 199/414] New packages: RADICAL-Cybertools (#25415) * rct: new packages (core packages and some dependencies) * rct: new packages (core packages and some dependencies) * radical-entk: updated dependencies (according to comments) * radical-gtod: updated version name * radical-pilot: updated dependencies (according to comments) * radical-saga: updated dependencies (according to comments) * radical-utils: updated dependencies and set old versions deprecated * saga-python: removed due to absence of packages (in PyPI, GitHub), this project was replaced by `radical-saga` and corresponding package `py-radical-saga` should be used * saga-python: rolled back, but with deprecation status * ntplib: removed maintainer * pika: removed maintainer --- .../builtin/packages/py-ntplib/package.py | 19 +++++++++++ .../repos/builtin/packages/py-pika/package.py | 23 +++++++++++++ .../packages/py-radical-entk/package.py | 27 ++++++++++++++++ .../packages/py-radical-gtod/package.py | 25 +++++++++++++++ .../packages/py-radical-pilot/package.py | 29 +++++++++++++++++ .../packages/py-radical-saga/package.py | 30 +++++++++++++++++ .../packages/py-radical-utils/package.py | 32 ++++++++++++++----- .../packages/py-saga-python/package.py | 18 +++++++---- 8 files changed, 188 insertions(+), 15 deletions(-) create mode 100755 var/spack/repos/builtin/packages/py-ntplib/package.py create mode 100755 var/spack/repos/builtin/packages/py-pika/package.py create mode 100755 var/spack/repos/builtin/packages/py-radical-entk/package.py create mode 100755 var/spack/repos/builtin/packages/py-radical-gtod/package.py create mode 100755 var/spack/repos/builtin/packages/py-radical-pilot/package.py create mode 100755 var/spack/repos/builtin/packages/py-radical-saga/package.py mode change 100644 => 100755 var/spack/repos/builtin/packages/py-radical-utils/package.py diff --git a/var/spack/repos/builtin/packages/py-ntplib/package.py b/var/spack/repos/builtin/packages/py-ntplib/package.py new file mode 100755 index 00000000000..5fe6aa25a0f --- /dev/null +++ b/var/spack/repos/builtin/packages/py-ntplib/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyNtplib(PythonPackage): + """Simple interface to query NTP servers from Python.""" + + homepage = 'https://github.com/cf-natali/ntplib' + git = 'https://github.com/cf-natali/ntplib.git' + pypi = 'ntplib/ntplib-0.4.0.tar.gz' + + version('0.4.0', sha256='899d8fb5f8c2555213aea95efca02934c7343df6ace9d7628a5176b176906267') + + depends_on('python@2.7,3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-pika/package.py b/var/spack/repos/builtin/packages/py-pika/package.py new file mode 100755 index 00000000000..236c81c2c47 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pika/package.py @@ -0,0 +1,23 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyPika(PythonPackage): + """Pika is a RabbitMQ (AMQP 0-9-1) client library for Python.""" + + homepage = 'https://pika.readthedocs.io/' + git = 'https://github.com/pika/pika.git' + pypi = 'pika/pika-1.2.0.tar.gz' + + version('1.2.0', sha256='f023d6ac581086b124190cb3dc81dd581a149d216fa4540ac34f9be1e3970b89') + version('1.1.0', sha256='9fa76ba4b65034b878b2b8de90ff8660a59d925b087c5bb88f8fdbb4b64a1dbf') + version('1.0.0', sha256='fba41293b35c845bd96cfdd29981f0eeff91f705ac0c3ba361a771c4bfbc3485') + version('0.13.1', sha256='b0640085f1d6398fd47bb16a17713053e26578192821ea5d928772b8e6a28789') + version('0.13.0', sha256='5338d829d1edb3e5bcf1523b4a9e32c56dea5a8bda7018825849e35325580484') + + depends_on('python@2.7,3.4:', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-radical-entk/package.py b/var/spack/repos/builtin/packages/py-radical-entk/package.py new file mode 100755 index 00000000000..2cbd6a1ac4f --- /dev/null +++ b/var/spack/repos/builtin/packages/py-radical-entk/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyRadicalEntk(PythonPackage): + """RADICAL Ensemble Toolkit is used for developing and executing + large-scale ensemble-based workflows.""" + + homepage = 'https://radical-cybertools.github.io' + git = 'https://github.com/radical-cybertools/radical.entk.git' + pypi = 'radical.entk/radical.entk-1.6.7.tar.gz' + + maintainers = ['andre-merzky'] + + version('develop', branch='devel') + version('1.6.7', sha256='9384568279d29b9619a565c075f287a08bca8365e2af55e520af0c2f3595f8a2') + + depends_on('py-radical-utils', type=('build', 'run')) + depends_on('py-radical-pilot', type=('build', 'run')) + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-pika@0.13.0', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-radical-gtod/package.py b/var/spack/repos/builtin/packages/py-radical-gtod/package.py new file mode 100755 index 00000000000..4e8eda7ea21 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-radical-gtod/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyRadicalGtod(PythonPackage): + """RADICAL-GTOD provides a single method, gtod, which returns the current + time in seconds since epoch (01.01.1970) with sub-second resolution and a + binary tool, radical-gtod, which is a compiled binary and does not require + the invocation of the Python interpreter.""" + + homepage = 'https://radical-cybertools.github.io' + git = 'https://github.com/radical-cybertools/radical.gtod.git' + pypi = 'radical.gtod/radical.gtod-1.6.7.tar.gz' + + maintainers = ['andre-merzky'] + + version('develop', branch='devel') + version('1.6.7', sha256='8d7d32e3d0bcf6d7cf176454a9892a46919b03e1ed96bee389380e6d75d6eff8') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-radical-pilot/package.py b/var/spack/repos/builtin/packages/py-radical-pilot/package.py new file mode 100755 index 00000000000..20a08e41878 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-radical-pilot/package.py @@ -0,0 +1,29 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyRadicalPilot(PythonPackage): + """RADICAL-Pilot is a Pilot system specialized in executing applications + composed of many computational tasks on high performance computing (HPC) + platforms.""" + + homepage = 'https://radical-cybertools.github.io' + git = 'https://github.com/radical-cybertools/radical.pilot.git' + pypi = 'radical.pilot/radical.pilot-1.6.7.tar.gz' + + maintainers = ['andre-merzky'] + + version('develop', branch='devel') + version('1.6.7', sha256='6ca0a3bd3cda65034fa756f37fa05681d5a43441c1605408a58364f89c627970') + + depends_on('py-radical-utils@1.6.7:', type=('build', 'run')) + depends_on('py-radical-saga@1.6.6:', type=('build', 'run')) + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-pymongo', type=('build', 'run')) + depends_on('py-setproctitle', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-radical-saga/package.py b/var/spack/repos/builtin/packages/py-radical-saga/package.py new file mode 100755 index 00000000000..cf72b75aab4 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-radical-saga/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyRadicalSaga(PythonPackage): + """RADICAL-SAGA (RS) implements the interface specification of the Open + Grid Forum (OGF) Simple API for Grid Applications (SAGA) standard. RS works + as a light-weight access layer for distributed computing infrastructures, + providing adaptors for different middleware systems and services.""" + + homepage = 'https://radical-cybertools.github.io' + git = 'https://github.com/radical-cybertools/radical.saga.git' + pypi = 'radical.saga/radical.saga-1.6.10.tar.gz' + + maintainers = ['andre-merzky'] + + version('develop', branch='devel') + version('1.6.10', sha256='8fe7e281e9f81234f34f5c7c7986871761e9e37230d2a874c65d18daeccd976a') + version('1.6.8', sha256='d5e9f95a027087fb637cef065ff3af848e5902e403360189e36c9aa7c3f6f29b') + + depends_on('py-radical-utils', type=('build', 'run')) + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-apache-libcloud', type=('build', 'run')) + depends_on('py-parse', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-radical-utils/package.py b/var/spack/repos/builtin/packages/py-radical-utils/package.py old mode 100644 new mode 100755 index 995dfbfd5d6..d8c02763201 --- a/var/spack/repos/builtin/packages/py-radical-utils/package.py +++ b/var/spack/repos/builtin/packages/py-radical-utils/package.py @@ -7,14 +7,30 @@ class PyRadicalUtils(PythonPackage): - """Shared code and tools for various RADICAL Projects""" + """RADICAL-Utils contains shared code and tools for various + RADICAL-Cybertools packages.""" - homepage = "http://radical.rutgers.edu" - pypi = "radical.utils/radical.utils-0.45.tar.gz" + homepage = 'https://radical-cybertools.github.io' + git = 'https://github.com/radical-cybertools/radical.utils.git' + pypi = 'radical.utils/radical.utils-1.6.7.tar.gz' - version('0.45', sha256='1333cff1a69532e51d4484fbac3fad6b172d415d2055a3141117c7cf8bdee6c5') - version('0.41.1', sha256='582900e0434f49b69885a89bc65dc787362756e1014d52a4afac0bb61bcaa3ce') + maintainers = ['andre-merzky'] - depends_on('py-setuptools', type='build') - depends_on('py-colorama', type=('build', 'run')) - depends_on('py-netifaces', type=('build', 'run')) + version('develop', branch='devel') + version('1.6.7', sha256='552f6c282f960ccd9d2401d686b0b3bfab35dfa94a26baeb2d3b4e45211f05a9') + + version('0.45', sha256='1333cff1a69532e51d4484fbac3fad6b172d415d2055a3141117c7cf8bdee6c5', deprecated=True) + version('0.41.1', sha256='582900e0434f49b69885a89bc65dc787362756e1014d52a4afac0bb61bcaa3ce', deprecated=True) + + depends_on('py-radical-gtod', type=('build', 'run')) + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-colorama', type=('build', 'run')) + depends_on('py-msgpack', type=('build', 'run')) + depends_on('py-netifaces', type=('build', 'run')) + depends_on('py-ntplib', type=('build', 'run')) + depends_on('py-pymongo', type=('build', 'run')) + depends_on('py-pyzmq', type=('build', 'run')) + depends_on('py-regex', type=('build', 'run')) + depends_on('py-setproctitle', type=('build', 'run')) + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-saga-python/package.py b/var/spack/repos/builtin/packages/py-saga-python/package.py index 2dc71720236..8eb16622dd7 100644 --- a/var/spack/repos/builtin/packages/py-saga-python/package.py +++ b/var/spack/repos/builtin/packages/py-saga-python/package.py @@ -7,13 +7,17 @@ class PySagaPython(PythonPackage): - """A light-weight access layer for distributed computing infrastructure""" + """A light-weight access layer for distributed computing infrastructure. + DEPRECATED (Please use `py-radical-saga`)""" - homepage = "http://radical.rutgers.edu" - pypi = "saga-python/saga-python-0.41.3.tar.gz" + homepage = 'https://radical-cybertools.github.io' + pypi = 'saga-python/saga-python-0.41.3.tar.gz' - version('0.41.3', sha256='b30961e634f32f6008e292aa1fe40560f257d5294b0cda95baac1cf5391feb5d') + maintainers = ['andre-merzky'] - depends_on('py-setuptools', type='build') - depends_on('py-apache-libcloud', type=('build', 'run')) - depends_on('py-radical-utils', type=('build', 'run')) + version('0.41.3', sha256='b30961e634f32f6008e292aa1fe40560f257d5294b0cda95baac1cf5391feb5d', deprecated=True) + + depends_on('py-radical-utils@:0.45', type=('build', 'run')) + + depends_on('py-apache-libcloud', type=('build', 'run')) + depends_on('py-setuptools', type='build') From c7ba2e9663ef1be7c03f02c6d3fbe66870477500 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Sat, 14 Aug 2021 20:06:18 -0500 Subject: [PATCH 200/414] xsdk: deprecate versions 0.4.0, 0.5.0 (#25428) --- var/spack/repos/builtin/packages/xsdk/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py index 078aaa296a3..18ff86e0fe9 100644 --- a/var/spack/repos/builtin/packages/xsdk/package.py +++ b/var/spack/repos/builtin/packages/xsdk/package.py @@ -22,8 +22,8 @@ class Xsdk(BundlePackage): version('develop') version('0.6.0') version('0.5.0') - version('0.4.0') - version('0.3.0') + version('0.4.0', deprecated=True) + version('0.3.0', deprecated=True) variant('debug', default=False, description='Compile in debug mode') variant('cuda', default=False, description='Enable CUDA dependent packages') From 8d881cb7eef8e90a8a2ae2f3d9c0ee0ee7dff02a Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Sat, 14 Aug 2021 20:09:17 -0500 Subject: [PATCH 201/414] py-matplotlib: add v3.4.3 (#25413) --- var/spack/repos/builtin/packages/py-matplotlib/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index 21d71e9585c..916b2fac636 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -24,6 +24,7 @@ class PyMatplotlib(PythonPackage): 'matplotlib.testing.jpl_units', 'pylab' ] + version('3.4.3', sha256='fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318') version('3.4.2', sha256='d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219') version('3.4.1', sha256='84d4c4f650f356678a5d658a43ca21a41fca13f9b8b00169c0b76e6a6a948908') version('3.4.0', sha256='424ddb3422c65b284a38a97eb48f5cb64b66a44a773e0c71281a347f1738f146') From 2965c501a5fa7937b78794d01ed3603444cb8d36 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Sun, 15 Aug 2021 08:59:19 -0400 Subject: [PATCH 202/414] openpbs: add provider, new version, new name (#25429) --- .../repos/builtin/packages/openpbs/package.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/openpbs/package.py b/var/spack/repos/builtin/packages/openpbs/package.py index f12685ef88e..7a45467d13e 100644 --- a/var/spack/repos/builtin/packages/openpbs/package.py +++ b/var/spack/repos/builtin/packages/openpbs/package.py @@ -9,17 +9,15 @@ class Openpbs(AutotoolsPackage): - """PBS Professional software optimizes job scheduling and workload + """OpenPBS software optimizes job scheduling and workload management in high-performance computing (HPC) environments - clusters, clouds, and supercomputers - improving system efficiency and people's productivity.""" - # TODO: update the description and the homepage url once the renaming is - # finished: http://community.pbspro.org/t/openpbs-and-version-20-0/2075 - - homepage = "https://www.pbspro.org" + homepage = "https://www.openpbs.org" url = "https://github.com/openpbs/openpbs/archive/v19.1.3.tar.gz" + version('20.0.1', sha256='685a4abcea92bf518df02b544d25e237ae8cef76f86525f7bf3554812e9f50fa') version('19.1.3', sha256='6e9d2614f839ff3d91d0ace3de04752b7c075da60c72fe6def76437aa05c9857') depends_on('autoconf', type='build') @@ -33,7 +31,8 @@ class Openpbs(AutotoolsPackage): depends_on('ssmtp', type=('build', 'run')) depends_on('xauth', type=('build', 'run')) - depends_on('python@2.6:2.7', type=('build', 'link', 'run')) + depends_on('python@3.5:3.9', type=('build', 'link', 'run'), when='@20:') + depends_on('python@2.6:2.7', type=('build', 'link', 'run'), when='@:19') depends_on('libx11') depends_on('libice') @@ -64,6 +63,9 @@ class Openpbs(AutotoolsPackage): # Link to the dynamic library of Python instead of the static one. patch('python.patch') + # Provides PBS functionality + provides('pbs') + def autoreconf(self, spec, prefix): Executable('./autogen.sh')() From 44e251d9747c5369c53d330cad4dd524a959baab Mon Sep 17 00:00:00 2001 From: wspear Date: Sun, 15 Aug 2021 08:40:24 -0700 Subject: [PATCH 203/414] PDT accepts oneapi as provider of icpc compiler (#25157) * PDT accepts oneapi as provider of icpc compiler * Add maintainers section (same as for tau) * Whitespace formatting fix --- var/spack/repos/builtin/packages/pdt/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py index 86a10b92b4c..e5c3c4c1edc 100644 --- a/var/spack/repos/builtin/packages/pdt/package.py +++ b/var/spack/repos/builtin/packages/pdt/package.py @@ -17,6 +17,7 @@ class Pdt(AutotoolsPackage): through a class library supporting common PDB operations. """ + maintainers = ['wspear', 'eugeneswalker', 'khuck', 'sameershende'] homepage = "https://www.cs.uoregon.edu/research/pdt/home.php" url = "http://www.cs.uoregon.edu/research/paracomp/pdtoolkit/Download/pdtoolkit-3.25.1.tar.gz" @@ -45,7 +46,7 @@ def configure(self, spec, prefix): options = ['-prefix=%s' % prefix] if self.compiler.name == 'xl': options.append('-XLC') - elif self.compiler.name == 'intel': + elif self.compiler.name == 'intel' or self.compiler.name == 'oneapi': options.append('-icpc') elif self.compiler.name == 'pgi': options.append('-pgCC') From fbed679dd074e7453535c5ed8f5f536a9642f03c Mon Sep 17 00:00:00 2001 From: Geoffrey Gunter <12984092+gmgunter@users.noreply.github.com> Date: Sun, 15 Aug 2021 12:42:30 -0700 Subject: [PATCH 204/414] Add date v3.0.1 (#25432) --- var/spack/repos/builtin/packages/date/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/date/package.py b/var/spack/repos/builtin/packages/date/package.py index 390498fe71d..b8df610a4c2 100644 --- a/var/spack/repos/builtin/packages/date/package.py +++ b/var/spack/repos/builtin/packages/date/package.py @@ -12,6 +12,7 @@ class Date(CMakePackage): homepage = "https://github.com/HowardHinnant/date" url = "https://github.com/HowardHinnant/date/archive/v3.0.0.zip" + version('3.0.1', sha256='f4300b96f7a304d4ef9bf6e0fa3ded72159f7f2d0f605bdde3e030a0dba7cf9f') version('3.0.0', sha256='ddbec664607bb6ec7dd4c7be1f9eefc3d8ce88293ffc9391486ce6ce887ec9b2') variant('cxxstd', From e42af64e24b69b3e1ed7e4dff191e88140f51bf5 Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Mon, 16 Aug 2021 11:56:56 +0530 Subject: [PATCH 205/414] WRF: v3.9.1.1 and v4.2 can be built with aocc@3.1 (#25384) Co-authored-by: mohan002 --- .../repos/builtin/packages/wrf/package.py | 6 ++- .../wrf/patches/3.9/configure_aocc_3.1.patch | 53 +++++++++++++++++++ .../packages/wrf/patches/4.2/hdf5_fix.patch | 20 +++++++ 3 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 var/spack/repos/builtin/packages/wrf/patches/3.9/configure_aocc_3.1.patch create mode 100644 var/spack/repos/builtin/packages/wrf/patches/4.2/hdf5_fix.patch diff --git a/var/spack/repos/builtin/packages/wrf/package.py b/var/spack/repos/builtin/packages/wrf/package.py index a6706aa08c3..609dadde12c 100644 --- a/var/spack/repos/builtin/packages/wrf/package.py +++ b/var/spack/repos/builtin/packages/wrf/package.py @@ -108,6 +108,7 @@ class Wrf(Package): patch("patches/3.9/add_aarch64.patch", when="@3.9.1.1") patch("patches/3.9/configure_aocc_2.3.patch", when="@3.9.1.1 %aocc@:2.4.0") patch("patches/3.9/configure_aocc_3.0.patch", when="@3.9.1.1 %aocc@3.0.0") + patch("patches/3.9/configure_aocc_3.1.patch", when="@3.9.1.1 %aocc@3.1.0") # These patches deal with netcdf & netcdf-fortran being two diff things # Patches are based on: @@ -133,7 +134,8 @@ class Wrf(Package): patch("patches/4.2/tirpc_detect.patch", when="@4.2") patch("patches/4.2/add_aarch64.patch", when="@4.2") patch("patches/4.2/configure_aocc_2.3.patch", when="@4.2 %aocc@:2.4.0") - patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2 %aocc@3.0.0") + patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2 %aocc@3.0.0:3.2.0") + patch("patches/4.2/hdf5_fix.patch", when="@4.2 %aocc") patch("patches/4.2/derf_fix.patch", when="@4.2 %aocc") depends_on("pkgconfig", type=("build")) @@ -339,7 +341,7 @@ def configure(self, spec, prefix): @run_after("configure") def patch_for_libmvec(self): - if self.spec.satisfies("@3.9.1.1 %aocc@:3.0"): + if self.spec.satisfies("@3.9.1.1 %aocc"): fp = self.package_dir + "/patches/3.9/aocc_lmvec.patch" which('patch')('-s', '-p1', '-i', '{0}'.format(fp), '-d', '.') diff --git a/var/spack/repos/builtin/packages/wrf/patches/3.9/configure_aocc_3.1.patch b/var/spack/repos/builtin/packages/wrf/patches/3.9/configure_aocc_3.1.patch new file mode 100644 index 00000000000..4d6a0ae90c3 --- /dev/null +++ b/var/spack/repos/builtin/packages/wrf/patches/3.9/configure_aocc_3.1.patch @@ -0,0 +1,53 @@ +--- WRF-3.9.1.1/arch/configure_new.defaults 2021-03-10 10:08:07.885236847 +0530 ++++ WRF-3.9.1.1/arch/configure_new_aocc.defaults 2021-08-12 08:58:35.442165745 +0530 +@@ -1917,6 +1917,50 @@ + CC_TOOLS = $(SCC) + + #insert new stanza here ++############################################################## ++#ARCH AMD EPYC Linux x86_64 AOCC Compilers #dm+sm ++# ++DESCRIPTION = AMD AOCC ($SFC/$SCC): EPYC ++DMPARALLEL = 1 ++OMPCPP = -D_OPENMP ++OMP = -fopenmp ++OMPCC = -fopenmp -Mpreprocess ++SFC = flang ++SCC = clang ++CCOMP = clang ++DM_FC = mpif90 -DMPI2_SUPPORT ++DM_CC = mpicc -DMPI2_SUPPORT ++FC = $(DM_FC) ++CC = $(DM_CC) -DFSEEKO64_OK ++LD = $(FC) ++RWORDSIZE = $(NATIVE_RWORDSIZE) ++PROMOTION = ++ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM ++LIBMVEC = -mllvm -vector-library=LIBMVEC-X86 -mllvm -enable-loop-vectorization-with-conditions -Mstack_arrays ++AOCCOPT = -O3 -m64 -Ofast -ffast-math ++CFLAGS_LOCAL = -w $(AOCCOPT) ++LDFLAGS_LOCAL = -lm -ltirpc -lamdlibm -ljemalloc -lmvec $(AOCCOPT) ++CPLUSPLUSLIB = ++ESMF_LDFLAG = $(CPLUSPLUSLIB) ++FCOPTIM = $(AOCCOPT) -fopenmp ++FCREDUCEDOPT = -O2 -Ofast -ffast-math ++FCNOOPT = -O0 -DFCNOOPT -fopenmp ++FCDEBUG = #-g ++FORMAT_FIXED = -Mfixed ++FORMAT_FREE = -Mfreeform ++FCSUFFIX = ++BYTESWAPIO = -Mbyteswapio ++FCBASEOPTS_NO_G = $(FORMAT_FREE) $(BYTESWAPIO) -fopenmp ++FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) -DBASEOPTS -fopenmp ++MODULE_SRCH_FLAG = ++TRADFLAG = -traditional ++CPP = /lib/cpp -P ++AR = llvm-ar ++ARFLAGS = ru ++M4 = m4 ++RANLIB = llvm-ranlib ++RLFLAGS = ++CC_TOOLS = $(SCC) + + ########################################################### + #ARCH Fujitsu FX10/FX100 Linux x86_64 SPARC64IXfx/SPARC64Xlfx, mpifrtpx and mpifccpx compilers #serial smpar dmpar dm+sm diff --git a/var/spack/repos/builtin/packages/wrf/patches/4.2/hdf5_fix.patch b/var/spack/repos/builtin/packages/wrf/patches/4.2/hdf5_fix.patch new file mode 100644 index 00000000000..d3206fe9519 --- /dev/null +++ b/var/spack/repos/builtin/packages/wrf/patches/4.2/hdf5_fix.patch @@ -0,0 +1,20 @@ +--- WRF-4.2/arch/Config.pl 2021-08-12 16:39:02.339226280 +0530 ++++ WRF-4.2/arch/Config_hdf5.pl 2021-08-12 18:17:17.362452577 +0530 +@@ -514,7 +514,7 @@ + } + + if ( $sw_hdf5_path ) +- { $_ =~ s:CONFIGURE_HDF5_LIB_PATH:-L$sw_hdf5_path/lib -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -lm -lz: ; ++ { $_ =~ s:CONFIGURE_HDF5_LIB_PATH:-L$sw_hdf5_path/lib -lhdf5_hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -lm -lz: ; + $_ =~ s:CONFIGURE_HDF5_FLAG:-DHDF5: ; + } + else +@@ -836,7 +836,7 @@ + } + + if ( $sw_hdf5_path ) +- { $_ =~ s:CONFIGURE_HDF5_LIB_PATH:-L$sw_hdf5_path/lib -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -lm -lz: ; ++ { $_ =~ s:CONFIGURE_HDF5_LIB_PATH:-L$sw_hdf5_path/lib -lhdf5_hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -lm -lz: ; + $_ =~ s:CONFIGURE_HDF5_FLAG:-DHDF5: ; + } + else From 77a9004c31adfdadc5913521735053eec179bb40 Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Mon, 16 Aug 2021 09:08:04 +0200 Subject: [PATCH 206/414] vtk: add patch for missing includes (#25437) --- var/spack/repos/builtin/packages/vtk/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py index 6f94e10d128..b531e31e395 100644 --- a/var/spack/repos/builtin/packages/vtk/package.py +++ b/var/spack/repos/builtin/packages/vtk/package.py @@ -43,6 +43,11 @@ class Vtk(CMakePackage): variant('mpi', default=True, description='Enable MPI support') patch('gcc.patch', when='@6.1.0') + # patch to fix some missing stl includes + # which lead to build errors on newer compilers + # version range to be updated once the linked patch is released + patch('https://gitlab.kitware.com/vtk/vtk/-/commit/e066c3f4fbbfe7470c6207db0fc3f3952db633c.diff', + when="@9:", sha256='0546696bd02f3a99fccb9b7c49533377bf8179df16d901cefe5abf251173716d') # At the moment, we cannot build with both osmesa and qt, but as of # VTK 8.1, that should change From cd25599ebac1ae45661011d5eba389877568f4f5 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 16 Aug 2021 02:08:32 -0500 Subject: [PATCH 207/414] py-cython: add v0.29.24 (#25435) --- var/spack/repos/builtin/packages/py-cython/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-cython/package.py b/var/spack/repos/builtin/packages/py-cython/package.py index 834087f5399..40d31f8eaf4 100644 --- a/var/spack/repos/builtin/packages/py-cython/package.py +++ b/var/spack/repos/builtin/packages/py-cython/package.py @@ -11,6 +11,7 @@ class PyCython(PythonPackage): pypi = "cython/Cython-0.29.21.tar.gz" + version('0.29.24', sha256='cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443') version('0.29.23', sha256='6a0d31452f0245daacb14c979c77e093eb1a546c760816b5eed0047686baad8e') version('0.29.22', sha256='df6b83c7a6d1d967ea89a2903e4a931377634a297459652e4551734c48195406') version('0.29.21', sha256='e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad') From 0b7aff2ad724437a63590955ad7e6b15d4cbe2c2 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 16 Aug 2021 02:10:55 -0500 Subject: [PATCH 208/414] py-pandas: add v1.3.2 (#25434) --- var/spack/repos/builtin/packages/py-pandas/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-pandas/package.py b/var/spack/repos/builtin/packages/py-pandas/package.py index 2fc49754e85..1d5d4f4b343 100644 --- a/var/spack/repos/builtin/packages/py-pandas/package.py +++ b/var/spack/repos/builtin/packages/py-pandas/package.py @@ -29,6 +29,7 @@ class PyPandas(PythonPackage): 'pandas._config' ] + version('1.3.2', sha256='cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87') version('1.3.1', sha256='341935a594db24f3ff07d1b34d1d231786aa9adfa84b76eab10bf42907c8aed3') version('1.3.0', sha256='c554e6c9cf2d5ea1aba5979cc837b3649539ced0e18ece186f055450c86622e2') version('1.2.5', sha256='14abb8ea73fce8aebbb1fb44bec809163f1c55241bcc1db91c2c780e97265033') From c02539bd290e9d723de772981b0366b30c113d1f Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Mon, 16 Aug 2021 09:18:48 +0200 Subject: [PATCH 209/414] root: external find can now determine variants (#25427) --- .../repos/builtin/packages/root/package.py | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/var/spack/repos/builtin/packages/root/package.py b/var/spack/repos/builtin/packages/root/package.py index 9111ab2e599..620bdc998a7 100644 --- a/var/spack/repos/builtin/packages/root/package.py +++ b/var/spack/repos/builtin/packages/root/package.py @@ -326,6 +326,79 @@ def determine_version(cls, exe): # into the format used in this recipe (6.22.06) return output.strip().replace('/', '.') + @classmethod + def determine_variants(cls, exes, version_str): + v = [] # list of determined variants + # there is a fairly direct mapping between build options ( which + # root-config helpfully outputs) and variants + output = Executable(exes[0])('--features', output=str, error=str) + f = set(output.strip().split()) # features as reported by root-config + # only multivalued variant: cxxstd + if "cxx11" in f: + v.append("cxxstd=11") + elif "cxx14" in f: + v.append("cxxstd=14") + elif "cxx17" in f: + v.append("cxxstd=17") + + # helper function: check if featurename is in features, and if it is, + # append variantname to variants. featurename may be a list/tuple, in + # which case the variant is only added if all of them are present + def _add_variant(variants, features, featurename, variantname): + if isinstance(featurename, str): + if featurename in features: + variants.append('%s' % variantname) + else: + variants.append('~%s' % variantname[1:]) + else: + if set(featurename).issubset(features): + variants.append('%s' % variantname) + else: + variants.append('~%s' % variantname[1:]) + + _add_variant(v, f, 'cocoa', '+aqua') + _add_variant(v, f, 'davix', '+davix') + _add_variant(v, f, 'dcache', '+dcache') + _add_variant(v, f, 'fftw3', '+fftw') + _add_variant(v, f, 'fitsio', '+fits') + _add_variant(v, f, ('ftgl', 'opengl'), '+opengl') + _add_variant(v, f, 'gdml', '+gdml') + _add_variant(v, f, 'mathmore', '+math') + _add_variant(v, f, 'gviz', '+graphviz') + _add_variant(v, f, 'http', '+http') + _add_variant(v, f, ('imt', 'tbb'), '+tbb') + _add_variant(v, f, 'jemalloc', '+jemalloc') + _add_variant(v, f, 'memstat', '+memstat') + _add_variant(v, f, ('minuit', 'minuit2'), '+minuit') + _add_variant(v, f, 'mlp', '+mlp') + _add_variant(v, f, 'mysql', '+mysql') + _add_variant(v, f, 'oracle', '+oracle') + _add_variant(v, f, 'pgsql', '+postgres') + _add_variant(v, f, 'pythia6', '+pythia6') + _add_variant(v, f, 'pythia8', '+pythia8') + _add_variant(v, f, 'pyroot', '+python') + _add_variant(v, f, ('qt', 'qtgsi'), '+qt4') + _add_variant(v, f, 'r', '+r') + _add_variant(v, f, 'roofit', '+roofit') + _add_variant(v, f, ('root7', 'webui'), '+root7') + _add_variant(v, f, 'rpath', '+rpath') + _add_variant(v, f, 'shadowpw', '+shadow') + _add_variant(v, f, 'spectrum', '+spectrum') + _add_variant(v, f, 'sqlite', '+sqlite') + _add_variant(v, f, 'ssl', '+ssl') + _add_variant(v, f, 'table', '+table') + _add_variant(v, f, 'thread', '+threads') + _add_variant(v, f, 'tmva', '+tmva') + _add_variant(v, f, 'unuran', '+unuran') + _add_variant(v, f, 'vc', '+vc') + _add_variant(v, f, 'vdt', '+vdt') + _add_variant(v, f, 'veccore', '+veccore') + _add_variant(v, f, 'vmc', '+vmc') + _add_variant(v, f, ('x11', 'xft'), '+x') + _add_variant(v, f, 'xml', '+xml') + _add_variant(v, f, 'xrootd', '+xrootd') + return " ".join(v) + def cmake_args(self): spec = self.spec define = self.define From 83110cfd4cbdcdfa9cc9ec569a257fd22f427387 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 16 Aug 2021 02:19:32 -0500 Subject: [PATCH 210/414] Python: update dependencies for 3.10 (#25430) --- var/spack/repos/builtin/packages/python/package.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index 760dc422c2c..1f5f2046f02 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -164,7 +164,9 @@ class Python(AutotoolsPackage): # https://docs.python.org/3.5/whatsnew/changelog.html#python-3-5-4rc1 depends_on('openssl@:1.0.2z', when='@:2.7.13,3.0.0:3.5.2+ssl') depends_on('openssl@1.0.2:', when='@3.7:+ssl') # https://docs.python.org/3/whatsnew/3.7.html#build-changes - depends_on('sqlite@3.0.8:', when='+sqlite3') + depends_on('openssl@1.1.1:', when='@3.10:+ssl') # https://docs.python.org/3.10/whatsnew/3.10.html#build-changes + depends_on('sqlite@3.0.8:', when='@:3.9+sqlite3') + depends_on('sqlite@3.7.15:', when='@3.10:+sqlite3') # https://docs.python.org/3.10/whatsnew/3.10.html#build-changes depends_on('gdbm', when='+dbm') # alternatively ndbm or berkeley-db depends_on('libnsl', when='+nis') depends_on('zlib@1.1.3:', when='+zlib') From 7f77ca4efbcf80e70f5a3d894574481bf3c42dac Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Mon, 16 Aug 2021 09:26:03 +0200 Subject: [PATCH 211/414] Update package.py (#25412) --- var/spack/repos/builtin/packages/hpx/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py index 0269a4b47b6..8643f735f64 100644 --- a/var/spack/repos/builtin/packages/hpx/package.py +++ b/var/spack/repos/builtin/packages/hpx/package.py @@ -18,6 +18,7 @@ class Hpx(CMakePackage, CudaPackage): version('master', git='https://github.com/STEllAR-GROUP/hpx.git', branch='master') version('stable', git='https://github.com/STEllAR-GROUP/hpx.git', tag='stable') + version('1.7.1', sha256='008a0335def3c551cba31452eda035d7e914e3e4f77eec679eea070ac71bd83b') version('1.7.0', sha256='05099b860410aa5d8a10d6915b1a8818733aa1aa2d5f2b9774730ca7e6de5fac') version('1.6.0', sha256='4ab715613c1e1808edc93451781cc9bc98feec4e422ccd4322858a680f6d9017') version('1.5.1', sha256='b2f9358ce2a9446b9d8fb1998c30913e7199b007aa82e46d0aa05c763331c635') From 51a22d5db7ae9635742e11923e9e19e101a553f9 Mon Sep 17 00:00:00 2001 From: Ethan Stam <33101855+EthanS94@users.noreply.github.com> Date: Mon, 16 Aug 2021 01:27:20 -0600 Subject: [PATCH 212/414] ParaView: paraview should build its own IOSS (#25284) --- var/spack/repos/builtin/packages/paraview/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py index ad321736d31..b9a9eee959d 100644 --- a/var/spack/repos/builtin/packages/paraview/package.py +++ b/var/spack/repos/builtin/packages/paraview/package.py @@ -274,7 +274,10 @@ def nvariant_bool(feature): '-DOpenGL_GL_PREFERENCE:STRING=LEGACY'] if spec.satisfies('@5.10:'): - cmake_args.append('-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst:BOOL=OFF') + cmake_args.extend([ + '-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst:BOOL=OFF', + '-DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF' + ]) if spec.satisfies('@:5.7') and spec['cmake'].satisfies('@3.17:'): cmake_args.append('-DFPHSA_NAME_MISMATCHED:BOOL=ON') From 2ccbc00fd9565d1caba88468d1f56e19ca16e5bf Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Mon, 16 Aug 2021 00:28:44 -0700 Subject: [PATCH 213/414] Second pass at increasing RADIUSS cloud CI packages (#25321) --- .../cloud_pipelines/stacks/radiuss/spack.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml index e5b336183e3..2cde6ea6ee5 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml @@ -27,25 +27,25 @@ spack: - axom - blt - caliper - #- care - #- chai + #- care ## ~benchmarks ~examples ~tests + #- chai ## ~benchmarks ~examples ~tests - conduit # ^hdf5+shared - flux-core #- flux-sched - #- glvis # ^mesa-glu@9.0.0 ^mesa18~llvm + #- glvis # ^mesa-glu@9.0.0 ^mesa18~llvm # same issue w/chai - hypre - lbann - #- lvarray # ^raja~openmp # per Ben Corbett Issue #23192 + - lvarray ~tests # per Spack issue #23192 # ~examples - mfem - py-hatchet - py-maestrowf - py-merlin - py-shroud - #- raja + - raja # ~examples # ~tests - samrai - scr - sundials - #- umpire #~openmp + - umpire # ~openmp #- visit # ^mesa-glu@9.0.0 - xbraid - zfp @@ -71,7 +71,7 @@ spack: - match: [ascent, axom, sundials, umpire, vtk-h, vtk-m] runner-attributes: tags: ["spack", "public", "xlarge", "x86_64"] - - match: ['@:'] + - match: ['os=ubuntu18.04'] runner-attributes: tags: ["spack", "public", "large", "x86_64"] temporary-storage-url-prefix: "s3://spack-binaries-prs/pipeline-storage" From de0d618730f89488c99bf623485c01b6e32834cd Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 16 Aug 2021 09:34:59 +0200 Subject: [PATCH 214/414] libiconv: add libs variant to allow share and static builds (#25357) --- var/spack/repos/builtin/packages/libiconv/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py index 8343d6e68c0..7bd1649d932 100644 --- a/var/spack/repos/builtin/packages/libiconv/package.py +++ b/var/spack/repos/builtin/packages/libiconv/package.py @@ -17,6 +17,9 @@ class Libiconv(AutotoolsPackage, GNUMirrorPackage): version('1.15', sha256='ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178') version('1.14', sha256='72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613') + variant('libs', default='shared,static', values=('shared', 'static'), + multi=True, description='Build shared libs, static libs or both') + # We cannot set up a warning for gets(), since gets() is not part # of C11 any more and thus might not exist. patch('gets.patch', when='@1.14') @@ -27,6 +30,8 @@ class Libiconv(AutotoolsPackage, GNUMirrorPackage): def configure_args(self): args = ['--enable-extra-encodings'] + args += self.enable_or_disable('libs') + # A hack to patch config.guess in the libcharset sub directory copy('./build-aux/config.guess', 'libcharset/build-aux/config.guess') From 09fa9cdaaee5649ef914bec19cae428e87cb3f8e Mon Sep 17 00:00:00 2001 From: Brian Van Essen Date: Mon, 16 Aug 2021 00:47:27 -0700 Subject: [PATCH 215/414] C++17 support for LBANN and HIP (#25406) * Added logic to explicitly pass the c++17 language flags to the HIP/ROCm software stack to ensure that HIP complies with the C++17 requirements. --- var/spack/repos/builtin/packages/aluminum/package.py | 12 ++++++++---- .../repos/builtin/packages/dihydrogen/package.py | 3 ++- var/spack/repos/builtin/packages/hydrogen/package.py | 4 +++- var/spack/repos/builtin/packages/lbann/package.py | 1 + 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py index ea8d9e83172..4bf96ebc801 100644 --- a/var/spack/repos/builtin/packages/aluminum/package.py +++ b/var/spack/repos/builtin/packages/aluminum/package.py @@ -60,13 +60,16 @@ class Aluminum(CMakePackage, CudaPackage, ROCmPackage): def cmake_args(self): spec = self.spec args = [ - '-DCMAKE_CXX_STANDARD=14', + '-DCMAKE_CXX_STANDARD:STRING=17', '-DALUMINUM_ENABLE_CUDA:BOOL=%s' % ('+cuda' in spec), '-DALUMINUM_ENABLE_NCCL:BOOL=%s' % ('+nccl' in spec or '+rccl' in spec), '-DALUMINUM_ENABLE_ROCM:BOOL=%s' % ('+rocm' in spec)] if '+cuda' in spec: - args.append('-DCMAKE_CUDA_STANDARD=14') + if spec.satisfies('^cuda@11.0:'): + args.append('-DCMAKE_CUDA_STANDARD=17') + else: + args.append('-DCMAKE_CUDA_STANDARD=14') archs = spec.variants['cuda_arch'].value if archs != 'none': arch_str = ";".join(archs) @@ -98,13 +101,14 @@ def cmake_args(self): if '+rocm' in spec: args.extend([ '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix), - '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)]) + '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc), + '-DCMAKE_CXX_FLAGS=-std=c++17']) archs = self.spec.variants['amdgpu_target'].value if archs != 'none': arch_str = ",".join(archs) args.append( '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}' - ' -g -fsized-deallocation -fPIC'.format(arch_str) + ' -g -fsized-deallocation -fPIC -std=c++17'.format(arch_str) ) return args diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py index 338389fee64..82844e8c4ec 100644 --- a/var/spack/repos/builtin/packages/dihydrogen/package.py +++ b/var/spack/repos/builtin/packages/dihydrogen/package.py @@ -187,6 +187,7 @@ def cmake_args(self): if '+rocm' in spec: args.extend([ + '-DCMAKE_CXX_FLAGS=-std=c++17', '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix), '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)]) archs = self.spec.variants['amdgpu_target'].value @@ -194,7 +195,7 @@ def cmake_args(self): arch_str = ",".join(archs) args.append( '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}' - ' -g -fsized-deallocation -fPIC'.format(arch_str) + ' -g -fsized-deallocation -fPIC -std=c++17'.format(arch_str) ) return args diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index 597624f67e6..f31213d1244 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -172,6 +172,7 @@ def cmake_args(self): if '+rocm' in spec: args.extend([ + '-DCMAKE_CXX_FLAGS=-std=c++17', '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix), '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)]) archs = self.spec.variants['amdgpu_target'].value @@ -180,7 +181,8 @@ def cmake_args(self): cxxflags_str = " ".join(self.spec.compiler_flags['cxxflags']) args.append( '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}' - ' -g -fsized-deallocation -fPIC {1}'.format(arch_str, cxxflags_str) + ' -g -fsized-deallocation -fPIC {1}' + ' -std=c++17'.format(arch_str, cxxflags_str) ) # Add support for OS X to find OpenMP (LLVM installed via brew) diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index e8c37790e79..43f83812e16 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -249,6 +249,7 @@ def common_config_args(self): # Environment variables cppflags = [] cppflags.append('-DLBANN_SET_EL_RNG') + cppflags.append('-std=c++17') args = [] args.extend([ '-DCMAKE_CXX_FLAGS=%s' % ' '.join(cppflags), From 09cc439572cedd1a25af6dc47aad18c6b0966867 Mon Sep 17 00:00:00 2001 From: lukebroskop Date: Mon, 16 Aug 2021 02:49:10 -0500 Subject: [PATCH 216/414] cray-libsci package update: add and addition function to access libraries. (#25386) Co-authored-by: Luke Roskop --- var/spack/repos/builtin/packages/cray-libsci/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/cray-libsci/package.py b/var/spack/repos/builtin/packages/cray-libsci/package.py index 85bfb9fa32b..bb21ecdfefc 100755 --- a/var/spack/repos/builtin/packages/cray-libsci/package.py +++ b/var/spack/repos/builtin/packages/cray-libsci/package.py @@ -84,6 +84,10 @@ def lapack_libs(self): def scalapack_libs(self): return self.blas_libs + @property + def libs(self): + return self.blas_libs + def install(self, spec, prefix): raise InstallError( self.spec.format('{name} is not installable, you need to specify ' From 1fa5642858062ff2a4d337d50d057c30a4b0ccde Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 16 Aug 2021 03:59:39 -0400 Subject: [PATCH 217/414] r-pvclust: new package (#25394) Co-authored-by: Alex C Leute --- .../builtin/packages/r-pvclust/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-pvclust/package.py diff --git a/var/spack/repos/builtin/packages/r-pvclust/package.py b/var/spack/repos/builtin/packages/r-pvclust/package.py new file mode 100644 index 00000000000..415eb40922f --- /dev/null +++ b/var/spack/repos/builtin/packages/r-pvclust/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RPvclust(RPackage): + """pvclust: Hierarchical Clustering with P-Values via Multiscale Bootstrap + Resampling + + An implementation of multiscale bootstrap resampling for assessing the + uncertainty in hierarchical cluster analysis. It provides SI (selective + inference) p-value, AU (approximately unbiased) p-value and BP (bootstrap + probability) value for each cluster in a dendrogram.""" + + homepage = "https://cloud.r-project.org/package=pvclust" + url = "https://cloud.r-project.org/src/contrib/pvclust_2.2-0.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/pvclust" + + version('2.2-0', sha256='7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201') + + depends_on('r@2.10.0:', type=('build', 'run')) From 5f50f3329f964208b7dc7b21d1d6c10b3eca2e3f Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 16 Aug 2021 04:13:28 -0400 Subject: [PATCH 218/414] r-viennacl: new package (#25398) Co-authored-by: Alex C Leute --- .../builtin/packages/r-rviennacl/package.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-rviennacl/package.py diff --git a/var/spack/repos/builtin/packages/r-rviennacl/package.py b/var/spack/repos/builtin/packages/r-rviennacl/package.py new file mode 100644 index 00000000000..79bc9086259 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-rviennacl/package.py @@ -0,0 +1,16 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RRviennacl(RPackage): + """RViennaCL: 'ViennaCL' C++ Header Files""" + + homepage = "https://cloud.r-project.org/package=RViennaCL" + url = "https://cloud.r-project.org/src/contrib/RViennaCL_1.7.1.8.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/RViennaCL" + + version('1.7.1.8', sha256='adcc74537337582153d5b11d281e391e91a7f3afae116aa1b9a034ffd11b0252') From 2d047d1f51de2bd61ab787ac17d3a096205b3ee6 Mon Sep 17 00:00:00 2001 From: Sreenivasa Murthy Kolam <67086238+srekolam@users.noreply.github.com> Date: Mon, 16 Aug 2021 04:06:09 -0700 Subject: [PATCH 219/414] enable the variant AMDGPU_TARGETS in rocsolver (#25423) --- .../repos/builtin/packages/rocsolver/package.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/var/spack/repos/builtin/packages/rocsolver/package.py b/var/spack/repos/builtin/packages/rocsolver/package.py index b45176d6af8..fd179ffb429 100644 --- a/var/spack/repos/builtin/packages/rocsolver/package.py +++ b/var/spack/repos/builtin/packages/rocsolver/package.py @@ -16,6 +16,11 @@ class Rocsolver(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala', 'haampie'] + amdgpu_targets = ( + 'none', 'gfx803', 'gfx900', 'gfx906:xnack-', 'gfx908:xnack-', + 'gfx90a:xnack-', 'gfx90a:xnack+', 'gfx1010', 'gfx1011', 'gfx1012', 'gfx1030' + ) + variant('amdgpu_target', default='gfx906:xnack-', multi=True, values=amdgpu_targets) variant('optimal', default=True, description='This option improves performance at the cost of increased binary \ size and compile time by adding specialized kernels \ @@ -46,6 +51,7 @@ class Rocsolver(CMakePackage): depends_on('rocm-cmake@' + ver, type='build', when='@' + ver) def cmake_args(self): + tgt = self.spec.variants['amdgpu_target'].value args = [ self.define('BUILD_CLIENTS_SAMPLES', 'OFF'), self.define('BUILD_CLIENTS_TESTS', 'OFF'), @@ -61,6 +67,13 @@ def cmake_args(self): if self.spec.satisfies('@3.7.0:'): args.append(self.define_from_variant('OPTIMAL', 'optimal')) + if tgt[0] != 'none': + if '@:3.8.0' in self.spec: + args.append(self.define('CMAKE_CXX_FLAGS', + '--amdgpu-target={0}'.format(",".join(tgt)))) + else: + args.append(self.define('AMDGPU_TARGETS', ";".join(tgt))) + if self.spec.satisfies('^cmake@3.21:'): args.append(self.define('__skip_rocmclang', 'ON')) From 6110aa374c5077278852ca2c427ad883e80d0de5 Mon Sep 17 00:00:00 2001 From: Michele Mesiti Date: Mon, 16 Aug 2021 13:22:30 +0200 Subject: [PATCH 220/414] SOMBRERO - tests now in $PATH (#25421) --- var/spack/repos/builtin/packages/sombrero/package.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/sombrero/package.py b/var/spack/repos/builtin/packages/sombrero/package.py index 4ff571d0a88..84459c4a416 100644 --- a/var/spack/repos/builtin/packages/sombrero/package.py +++ b/var/spack/repos/builtin/packages/sombrero/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from os import symlink + from llnl.util.filesystem import join_path from spack import * @@ -44,5 +46,7 @@ def install(self, spec, prefix): install('sombrero.sh', prefix.bin) # Install all executables for i in range(1, 7): - install(join_path('sombrero', 'sombrero{0}'.format(i)), - sombrero_dir) + src = join_path('sombrero', 'sombrero{0}'.format(i)) + install(src, sombrero_dir) + symlink(join_path(sombrero_dir, 'sombrero{0}'.format(i)), + join_path(prefix.bin, 'sombrero{0}'.format(i))) From 42c230dfbe15c71c98ae918cf99a3260e2765558 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Mon, 16 Aug 2021 07:34:03 -0400 Subject: [PATCH 221/414] trilinos: simplify variants (#25359) --- .../repos/builtin/packages/albany/package.py | 2 +- .../builtin/packages/camellia/package.py | 2 +- .../repos/builtin/packages/dealii/package.py | 7 +- .../builtin/packages/nalu-wind/package.py | 2 +- .../repos/builtin/packages/nalu/package.py | 4 +- .../repos/builtin/packages/percept/package.py | 2 +- .../repos/builtin/packages/quinoa/package.py | 2 +- .../builtin/packages/trilinos/package.py | 77 +++++-------------- 8 files changed, 30 insertions(+), 68 deletions(-) diff --git a/var/spack/repos/builtin/packages/albany/package.py b/var/spack/repos/builtin/packages/albany/package.py index 3f2f9094efb..32acd3c832a 100644 --- a/var/spack/repos/builtin/packages/albany/package.py +++ b/var/spack/repos/builtin/packages/albany/package.py @@ -54,7 +54,7 @@ class Albany(CMakePackage): # Add dependencies depends_on('mpi') - depends_on('trilinos~superlu-dist+isorropia+tempus+rythmos+teko+intrepid+intrepid2+minitensor+phalanx+pnetcdf+nox+piro+rol+shards+stk+superlu@master,develop') + depends_on('trilinos~superlu-dist+isorropia+tempus+rythmos+teko+intrepid+intrepid2+minitensor+phalanx+nox+piro+rol+shards+stk+superlu@master') def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/camellia/package.py b/var/spack/repos/builtin/packages/camellia/package.py index 654c3a8dfba..241c0add79b 100644 --- a/var/spack/repos/builtin/packages/camellia/package.py +++ b/var/spack/repos/builtin/packages/camellia/package.py @@ -20,7 +20,7 @@ class Camellia(CMakePackage): variant('moab', default=True, description='Compile with MOAB to include support for reading standard mesh formats') - depends_on('trilinos+amesos+amesos2+belos+epetra+epetraext+exodus+ifpack+ifpack2+intrepid+intrepid2+kokkos+ml+muelu+sacado+shards+tpetra+zoltan+mumps+superlu-dist+hdf5+zlib+mpi+netcdf+pnetcdf@master,12.12.1:') + depends_on('trilinos+amesos+amesos2+belos+epetra+epetraext+exodus+ifpack+ifpack2+intrepid+intrepid2+kokkos+ml+muelu+sacado+shards+tpetra+zoltan+mumps+superlu-dist+hdf5+zlib+mpi@master,12.12.1:') depends_on('moab@:4', when='+moab') # Cameilla needs hdf5 but the description "hdf5@:1.8" is diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py index 7c34fc1d1a9..f0b8b51a664 100644 --- a/var/spack/repos/builtin/packages/dealii/package.py +++ b/var/spack/repos/builtin/packages/dealii/package.py @@ -197,7 +197,7 @@ class Dealii(CMakePackage, CudaPackage): # depends_on('taskflow', when='@9.3:+taskflow') depends_on('trilinos gotype=int', when='+trilinos@12.18.1:') # TODO: next line fixes concretization with trilinos and adol-c - depends_on('trilinos~exodus~netcdf', when='@9.0:+adol-c+trilinos') + depends_on('trilinos~exodus', when='@9.0:+adol-c+trilinos') # Both Trilinos and SymEngine bundle the Teuchos RCP library. # This leads to conflicts between macros defined in the included # headers when they are not compiled in the same mode. @@ -296,12 +296,9 @@ class Dealii(CMakePackage, CudaPackage): conflicts('+adol-c', when='^trilinos+chaco', msg='Symbol clash between the ADOL-C library and ' 'Trilinos SEACAS Chaco.') - conflicts('+adol-c', when='^trilinos+netcdf', + conflicts('+adol-c', when='^trilinos+exodus', msg='Symbol clash between the ADOL-C library and ' 'Trilinos Netcdf.') - conflicts('+adol-c', when='^trilinos+pnetcdf', - msg='Symbol clash between the ADOL-C library and ' - 'Trilinos parallel Netcdf.') conflicts('+slepc', when='~petsc', msg='It is not possible to enable slepc interfaces ' diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py index 203d69b8306..ab1a0c3c264 100644 --- a/var/spack/repos/builtin/packages/nalu-wind/package.py +++ b/var/spack/repos/builtin/packages/nalu-wind/package.py @@ -56,7 +56,7 @@ class NaluWind(CMakePackage, CudaPackage): depends_on('tioga@master,develop', when='+tioga') depends_on('hypre@develop,2.18.2: +int64+mpi~superlu-dist', when='+hypre') depends_on('kokkos-nvcc-wrapper', type='build', when='+cuda') - depends_on('trilinos@master,develop +exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+zlib+pnetcdf+shards~hypre cxxstd=14') + depends_on('trilinos@master +exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+zlib+shards~hypre cxxstd=14') # Cannot build Trilinos as a shared library with STK on Darwin # https://github.com/trilinos/Trilinos/issues/2994 depends_on('trilinos~shared', when=(sys.platform == 'darwin')) diff --git a/var/spack/repos/builtin/packages/nalu/package.py b/var/spack/repos/builtin/packages/nalu/package.py index acda4934e68..f6973b86105 100644 --- a/var/spack/repos/builtin/packages/nalu/package.py +++ b/var/spack/repos/builtin/packages/nalu/package.py @@ -35,8 +35,8 @@ class Nalu(CMakePackage): # Cannot build Trilinos as a shared library with STK on Darwin # which is why we have a 'shared' variant for Nalu # https://github.com/trilinos/Trilinos/issues/2994 - depends_on('trilinos+mpi+netcdf+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+pnetcdf+shards~hypre@master,develop', when='+shared') - depends_on('trilinos~shared+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+pnetcdf+shards~hypre@master,develop', when='~shared') + depends_on('trilinos+mpi+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+shards~hypre@master') + depends_on('trilinos~shared', when='~shared') # Optional dependencies depends_on('tioga', when='+tioga+shared') depends_on('tioga~shared', when='+tioga~shared') diff --git a/var/spack/repos/builtin/packages/percept/package.py b/var/spack/repos/builtin/packages/percept/package.py index 99e204a7d29..13c4e1a667e 100644 --- a/var/spack/repos/builtin/packages/percept/package.py +++ b/var/spack/repos/builtin/packages/percept/package.py @@ -25,7 +25,7 @@ class Percept(CMakePackage): depends_on('opennurbs@percept') depends_on('boost+graph+mpi') depends_on('yaml-cpp+pic~shared@0.5.3:') - depends_on('trilinos~shared+exodus+netcdf+mpi+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+pnetcdf+aztec+sacado~openmp+shards+intrepid+cgns@master,12.14.1:') + depends_on('trilinos~shared+exodus+mpi+tpetra+epetra+epetraext+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist+superlu+hdf5+zlib+aztec+sacado~openmp+shards+intrepid@master,12.14.1:') def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/quinoa/package.py b/var/spack/repos/builtin/packages/quinoa/package.py index aabda89fac5..0fb326c7b5e 100644 --- a/var/spack/repos/builtin/packages/quinoa/package.py +++ b/var/spack/repos/builtin/packages/quinoa/package.py @@ -21,7 +21,7 @@ class Quinoa(CMakePackage): depends_on('hdf5+mpi') depends_on("charmpp backend=mpi") - depends_on("trilinos+exodus+mpi+netcdf") + depends_on("trilinos+exodus+mpi") depends_on("boost") depends_on("hypre~internal-superlu") depends_on("random123") diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index 656dad4aaba..b951779d542 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -89,24 +89,16 @@ class Trilinos(CMakePackage, CudaPackage): # TPLs (alphabet order) variant('boost', default=False, description='Compile with Boost') - variant('cgns', default=False, - description='Enable CGNS') variant('adios2', default=False, description='Enable ADIOS2') variant('hdf5', default=False, description='Compile with HDF5') variant('hypre', default=False, description='Compile with Hypre preconditioner') - variant('matio', default=False, - description='Compile with Matio') variant('mpi', default=True, description='Compile with MPI parallelism') variant('mumps', default=False, description='Compile with support for MUMPS solvers') - variant('netcdf', default=False, - description='Compile with netcdf') - variant('pnetcdf', default=False, - description='Compile with parallel-netcdf') variant('suite-sparse', default=False, description='Compile with SuiteSparse solvers') variant('superlu-dist', default=False, @@ -138,7 +130,6 @@ class Trilinos(CMakePackage, CudaPackage): description='Compile with Epetra') variant('epetraext', default=True, description='Compile with EpetraExt') - # Disable Exodus by default as it requires netcdf variant('exodus', default=False, description='Compile with Exodus from SEACAS') variant('ifpack', default=True, @@ -285,7 +276,6 @@ class Trilinos(CMakePackage, CudaPackage): conflicts('+zoltan2') conflicts('+basker', when='~amesos2') - conflicts('+exodus', when='~netcdf') conflicts('+ifpack2', when='~belos') conflicts('+intrepid', when='~sacado') conflicts('+intrepid', when='~shards') @@ -300,7 +290,7 @@ class Trilinos(CMakePackage, CudaPackage): # Only allow DTK with Trilinos 12 conflicts('+dtk', when='~boost') conflicts('+dtk', when='~intrepid2') - conflicts('+dtk', when='@:12.12.99,develop,master') + conflicts('+dtk', when='@:12.12.99,master') # Only allow Mesquite with Trilinos 12.12 and up, and master conflicts('+mesquite', when='@:12.10.99,master') @@ -318,16 +308,12 @@ class Trilinos(CMakePackage, CudaPackage): # https://trilinos.org/pipermail/trilinos-users/2015-March/004802.html conflicts('+superlu-dist', when='+complex+amesos2') conflicts('+strumpack', when='@:13.0.99') - # PnetCDF was only added after v12.10.1 - conflicts('+pnetcdf', when='@0:12.10.1') # https://github.com/trilinos/Trilinos/issues/2994 conflicts( '+shared', when='+stk platform=darwin', msg='Cannot build Trilinos with STK as a shared library on Darwin.' ) conflicts('+adios2', when='@:12.14.1') - conflicts('+pnetcdf', when='~netcdf') - conflicts('+pnetcdf', when='~mpi') conflicts('+cuda_rdc', when='~cuda') conflicts('+wrapper', when='~cuda') conflicts('+wrapper', when='%clang') @@ -361,16 +347,12 @@ class Trilinos(CMakePackage, CudaPackage): depends_on('adios2', when='+adios2') depends_on('blas') depends_on('boost', when='+boost') - depends_on('cgns', when='+cgns') + depends_on('cgns', when='+exodus') depends_on('hdf5+hl', when='+hdf5') depends_on('hdf5~mpi', when='+hdf5~mpi') depends_on('hdf5+mpi', when="+hdf5+mpi") depends_on('lapack') - depends_on('matio', when='+matio') depends_on('mpi', when='+mpi') - depends_on('netcdf-c+mpi+parallel-netcdf', when="+netcdf+pnetcdf@master,12.12.1:") - depends_on('netcdf-c+mpi', when="+netcdf~pnetcdf+mpi") - depends_on('netcdf-c', when="+netcdf") depends_on('suite-sparse', when='+suite-sparse') depends_on('zlib', when="+zlib") @@ -407,18 +389,19 @@ class Trilinos(CMakePackage, CudaPackage): # Variant requirements from packages depends_on('metis', when='+zoltan') depends_on('libx11', when='+exodus') + depends_on('matio', when='+exodus') + depends_on('netcdf-c', when="+exodus") + depends_on('netcdf-c+mpi+parallel-netcdf', when="+exodus+mpi@12.12.1:") + depends_on('parallel-netcdf', when='+exodus+mpi') depends_on('parmetis', when='+mpi +zoltan') depends_on('parmetis', when='+scorec') # ###################### Patches ########################## patch('umfpack_from_suitesparse.patch', when='@11.14.1:12.8.1') - patch('xlf_seacas.patch', when='@12.10.1:12.12.1 %xl') - patch('xlf_seacas.patch', when='@12.10.1:12.12.1 %xl_r') - patch('xlf_seacas.patch', when='@12.10.1:12.12.1 %clang') - patch('xlf_tpetra.patch', when='@12.12.1%xl') - patch('xlf_tpetra.patch', when='@12.12.1%xl_r') - patch('xlf_tpetra.patch', when='@12.12.1%clang') + for _compiler in ['xl', 'xl_r', 'clang']: + patch('xlf_seacas.patch', when='@12.10.1:12.12.1 %' + _compiler) + patch('xlf_tpetra.patch', when='@12.12.1 %' + _compiler) patch('fix_clang_errors_12_18_1.patch', when='@12.18.1%clang') patch('cray_secas_12_12_1.patch', when='@12.12.1%cce') patch('cray_secas.patch', when='@12.14.1:%cce') @@ -620,13 +603,19 @@ def define_tpl_enable(cmake_var, spec_var=None): ('Matio', 'matio'), ('METIS', 'metis'), ('Netcdf', 'netcdf-c'), - ('STRUMPACK', 'strumpack'), ('SuperLU', 'superlu'), + ('SuperLUDist', 'superlu-dist'), ('X11', 'libx11'), ('Zlib', 'zlib'), ] + if spec.satisfies('@12.12.1:'): + tpl_dep_map.append(('Pnetcdf', 'parallel-netcdf')) if spec.satisfies('@13:'): - tpl_dep_map.append(('HWLOC', 'hwloc')) + tpl_dep_map.extend([ + ('HWLOC', 'hwloc'), + ('STRUMPACK', 'strumpack'), + ]) + for tpl_name, dep_name in tpl_dep_map: have_dep = (dep_name in spec) options.append(define('TPL_ENABLE_' + tpl_name, have_dep)) @@ -665,18 +654,7 @@ def define_tpl_enable(cmake_var, spec_var=None): define('TPL_ENABLE_UMFPACK', False), ]) - # METIS and ParMETIS mostly depend on transitive dependencies - # STRUMPACK and SuperLU-dist, so don't provide a separate variant for - # them. - have_metis = 'metis' in spec - options.append(define('TPL_ENABLE_METIS', have_metis)) - if have_metis: - options.extend([ - define('METIS_LIBRARY_DIRS', spec['metis'].prefix.lib), - define('METIS_LIBRARY_NAMES', 'metis'), - define('TPL_METIS_INCLUDE_DIRS', spec['metis'].prefix.include), - ]) - + # ParMETIS dependencies have to be transitive explicitly have_parmetis = 'parmetis' in spec options.append(define('TPL_ENABLE_ParMETIS', have_parmetis)) if have_parmetis: @@ -710,26 +688,15 @@ def define_tpl_enable(cmake_var, spec_var=None): '-DMUMPS_5_0' ]) - options.append(define_tpl_enable('SuperLUDist', 'superlu-dist')) - if '+superlu-dist' in spec: + if spec.satisfies('^superlu-dist@4.0:'): options.extend([ - define('KokkosTSQR_ENABLE_Complex', False), - define('TPL_ENABLE_SuperLUDist', True), - define('SuperLUDist_LIBRARY_DIRS', - spec['superlu-dist'].prefix.lib), - define('SuperLUDist_INCLUDE_DIRS', - spec['superlu-dist'].prefix.include), + define('HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG', True), ]) - if spec.satisfies('^superlu-dist@4.0:'): - options.extend([ - define('HAVE_SUPERLUDIST_LUSTRUCTINIT_2ARG', True), - ]) if '+strumpack' in spec: options.append(define('Amesos2_ENABLE_STRUMPACK', True)) - options.append(define_tpl_enable('Pnetcdf')) - if '+pnetcdf' in spec: + if spec.satisfies('^parallel-netcdf'): options.extend([ define('TPL_Netcdf_Enables_Netcdf4', True), define('TPL_Netcdf_PARALLEL', True), @@ -784,8 +751,6 @@ def define_tpl_enable(cmake_var, spec_var=None): )) # Explicit Template Instantiation (ETI) in Tpetra - # NOTE: Trilinos will soon move to fixed std::uint64_t for GO and - # std::int32_t or std::int64_t for local. options.append(define_from_variant( 'Trilinos_ENABLE_EXPLICIT_INSTANTIATION', 'explicit_template_instantiation')) From 3555446f73d14539a2fafc14df8c56e31f8812e5 Mon Sep 17 00:00:00 2001 From: Michael Will <57011129+m-s-will@users.noreply.github.com> Date: Mon, 16 Aug 2021 14:46:36 +0200 Subject: [PATCH 222/414] FEniCS: Added byte order patch (#25417) --- var/spack/repos/builtin/packages/fenics/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py index 9631f0307df..1cd9ff22ed8 100644 --- a/var/spack/repos/builtin/packages/fenics/package.py +++ b/var/spack/repos/builtin/packages/fenics/package.py @@ -72,6 +72,11 @@ class Fenics(CMakePackage): patch('hdf5~cxx-detection.patch', when='@:1.6.0') patch('header_fix.patch', when='@2019.1.0.post0') + # endian.hpp for byte order detection was removed with Boost 1.73, + # use __BYTE_ORDER__ instead + patch('https://bitbucket.org/fenics-project/dolfin/issues/attachments/1116/fenics-project/dolfin/1602778118.04/1116/0001-Use-__BYTE_ORDER__-instead-of-removed-Boost-endian.h.patch', + sha256='1cc69e612df18feb5ebdc78cd902cfefda5ffc077735f0b67a1dcb1bf82e63c9', + when='@2019.1.0.post0') patch('petsc_3_11.patch', when='@2018.1.0.post1') # enable extension support for fenics package From f22f857ecedc3f457a5c7422c456941ac087a6f6 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Mon, 16 Aug 2021 08:19:55 -0500 Subject: [PATCH 223/414] pythia6: update url (#25414) --- var/spack/repos/builtin/packages/pythia6/package.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/pythia6/package.py b/var/spack/repos/builtin/packages/pythia6/package.py index 45186b97ae4..3fca50a2406 100644 --- a/var/spack/repos/builtin/packages/pythia6/package.py +++ b/var/spack/repos/builtin/packages/pythia6/package.py @@ -33,11 +33,13 @@ class Pythia6(CMakePackage): """ homepage = 'https://pythiasix.hepforge.org/' - url = 'http://www.hepforge.org/archive/pythiasix/pythia-6.4.28.tgz' + url = 'https://pythia.org/download/pythia6/pythia6428-split.tgz' tags = ['hep'] - version('6.4.28', + maintainers = ['gartung', 'chissg'] + + version('6.4.28', url='https://pythia.org/download/pythia6/pythia6428-split.tgz', sha256='01cbff47e99365b5e46f6d62c1735d3cae1932c4710604850d59f538cb758020') # Root's TPythia6 interface requires extra sources to be built into From 37731856395699956093d02a6ff64bf7cbf0f969 Mon Sep 17 00:00:00 2001 From: Jean-Paul Pelteret Date: Mon, 16 Aug 2021 15:58:55 +0200 Subject: [PATCH 224/414] gmsh: remove gl2ps dependency (#25425) --- var/spack/repos/builtin/packages/gmsh/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/gmsh/package.py b/var/spack/repos/builtin/packages/gmsh/package.py index ea168d50916..f37dc87f00e 100644 --- a/var/spack/repos/builtin/packages/gmsh/package.py +++ b/var/spack/repos/builtin/packages/gmsh/package.py @@ -89,7 +89,10 @@ class Gmsh(CMakePackage): depends_on('metis', when='+metis+external') depends_on('cgns', when='+cgns') # Gmsh's high quality vector PostScript, PDF and SVG output is produced by GL2PS. - depends_on('gl2ps') + # But Gmsh ships with its own version of this library, so it is not a + # dependency of this package. + # See https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/Graphics/gl2ps.h + # and https://gitlab.onelab.info/gmsh/gmsh/-/blob/master/Graphics/gl2ps.cpp conflicts('+slepc', when='~petsc') conflicts('+oce', when='+opencascade') From 39cf1b273670287d4710045a3ed8c98c2e6d77f4 Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Mon, 16 Aug 2021 18:07:38 +0200 Subject: [PATCH 225/414] freeglut: add patch for clang@11: (#25438) --- .../builtin/packages/freeglut/common-gcc10.patch | 11 ----------- var/spack/repos/builtin/packages/freeglut/package.py | 9 ++++++++- 2 files changed, 8 insertions(+), 12 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/freeglut/common-gcc10.patch diff --git a/var/spack/repos/builtin/packages/freeglut/common-gcc10.patch b/var/spack/repos/builtin/packages/freeglut/common-gcc10.patch deleted file mode 100644 index bae46326016..00000000000 --- a/var/spack/repos/builtin/packages/freeglut/common-gcc10.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt 2019-09-25 15:43:34.000000000 -0500 -+++ b/CMakeLists.txt 2020-01-31 09:26:24.104743210 -0600 -@@ -302,7 +302,7 @@ - ENDIF() - - IF(CMAKE_COMPILER_IS_GNUCC) -- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") -+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fcommon") - IF(NOT(ANDROID OR BLACKBERRY OR FREEGLUT_WAYLAND)) - # not setting -ansi as EGL/KHR headers doesn't support it - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic") diff --git a/var/spack/repos/builtin/packages/freeglut/package.py b/var/spack/repos/builtin/packages/freeglut/package.py index aa6d8509d67..4685f7f746b 100644 --- a/var/spack/repos/builtin/packages/freeglut/package.py +++ b/var/spack/repos/builtin/packages/freeglut/package.py @@ -26,7 +26,14 @@ class Freeglut(CMakePackage, SourceforgePackage): depends_on('xrandr') depends_on('inputproto') - patch('common-gcc10.patch', when="@3.2.1: %gcc@10.0:") + # freeglut fails to build with -fno-common (default with newer compilers) + # see https://bugs.gentoo.org/705840 and https://github.com/dcnieho/FreeGLUT/pull/76 + patch('https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/freeglut/files/freeglut-3.2.1-gcc10-fno-common.patch?id=f9102571b69d9fc05471a592fda252681fdfdef1', + sha256='898e8fb314cbe728d791e9ea69829313143cda039c008f0ca06c1b5730922aa7', + when="@3.2.1: %gcc@10.0:") + patch('https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/freeglut/files/freeglut-3.2.1-gcc10-fno-common.patch?id=f9102571b69d9fc05471a592fda252681fdfdef1', + sha256='898e8fb314cbe728d791e9ea69829313143cda039c008f0ca06c1b5730922aa7', + when="@3.2.1: %clang@11.0:") def cmake_args(self): return [ From 538744c9ac0adfed0203c36b23f4bd410e16cc7c Mon Sep 17 00:00:00 2001 From: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com> Date: Mon, 16 Aug 2021 10:21:20 -0700 Subject: [PATCH 226/414] e4s ci: further expand power stack (#25405) --- .../stacks/e4s-on-power/spack.yaml | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-on-power/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-on-power/spack.yaml index a131d8402ec..6662bd4695b 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-on-power/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-on-power/spack.yaml @@ -251,30 +251,29 @@ spack: - omega-h - openmpi - openpmd-api ^hdf5@1.12.0 +fortran +shared +hl api=default - + - papi + - papyrus@1.0.1 + - parallel-netcdf + - pdt + - petsc + - plasma + - precice + - pumi + - py-jupyterhub + - py-libensemble + - py-petsc4py + - py-warpx ^warpx dims=2 ^hdf5@1.12.0 +fortran +shared +hl api=default + - py-warpx ^warpx dims=3 ^hdf5@1.12.0 +fortran +shared +hl api=default + - py-warpx ^warpx dims=rz ^hdf5@1.12.0 +fortran +shared +hl api=default + - qthreads scheduler=distrib + - raja + - rempi + - scr + - slate ~cuda + - slepc + - stc + - strumpack ~slate # holding off on the specs until infrastructure is ready - # - papi - # - papyrus@1.0.1 - # - parallel-netcdf - # - pdt - # - petsc - # - plasma - # - precice - # - pumi - # - py-jupyterhub - # - py-libensemble - # - py-petsc4py - # - py-warpx ^warpx dims=2 ^hdf5@1.12.0 +fortran +shared +hl api=default - # - py-warpx ^warpx dims=3 ^hdf5@1.12.0 +fortran +shared +hl api=default - # - py-warpx ^warpx dims=rz ^hdf5@1.12.0 +fortran +shared +hl api=default - # - qthreads scheduler=distrib - # - raja - # - rempi - # - scr - # - slate ~cuda - # - slepc - # - stc - # - strumpack ~slate # - sundials # - superlu # - superlu-dist From 1fd15703cdc3de96f4289f4802cf30c1f070117d Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 16 Aug 2021 13:42:48 -0400 Subject: [PATCH 227/414] New package: r-islr (#25389) --- .../repos/builtin/packages/r-islr/package.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-islr/package.py diff --git a/var/spack/repos/builtin/packages/r-islr/package.py b/var/spack/repos/builtin/packages/r-islr/package.py new file mode 100644 index 00000000000..e5996a98f6a --- /dev/null +++ b/var/spack/repos/builtin/packages/r-islr/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RIslr(RPackage): + """ISLR: Data for an Introduction to Statistical Learning with Applications + in R + + We provide the collection of data-sets used in the book 'An Introduction to + Statistical Learning with Applications in R'.""" + + homepage = "https://cloud.r-project.org/package=ISLR" + url = "https://cloud.r-project.org/src/contrib/ISLR_1.2.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/ISLR" + + version('1.2', sha256='b00f7a06d2fb646917e629cc2dbdab71c7de3eb17a8a4d06849901a299f1caad') + + depends_on('r@2.10:', type=('build', 'run')) From 9d05c7ba76de8bc93cdcfc609f3e5afdbfde6229 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 16 Aug 2021 13:50:07 -0400 Subject: [PATCH 228/414] New package: r-labelled (#25391) --- .../builtin/packages/r-labelled/package.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-labelled/package.py diff --git a/var/spack/repos/builtin/packages/r-labelled/package.py b/var/spack/repos/builtin/packages/r-labelled/package.py new file mode 100644 index 00000000000..0ee6d638073 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-labelled/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RLabelled(RPackage): + """Work with labelled data imported from 'SPSS' or 'Stata' with 'haven' or + 'foreign'. This package provides useful functions to deal with + "haven_labelled" and "haven_labelled_spss" classes introduced by 'haven' + package.""" + + homepage = "https://cloud.r-project.org/package=labelled" + url = "https://cloud.r-project.org/src/contrib/labelled_2.7.0.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/labelled" + + version('2.7.0', sha256='b1b66b34d3ad682e492fc5bb6431780760576d29dbac40d87bef3c0960054bdb') + + depends_on('r-haven@2.3.1:', type=('build', 'run')) + depends_on('r-dplyr', type=('build', 'run')) + depends_on('r-lifecycle', type=('build', 'run')) + depends_on('r-rlang', type=('build', 'run')) + depends_on('r-vctrs', type=('build', 'run')) + depends_on('r-pillar', type=('build', 'run')) + depends_on('r-tidyr', type=('build', 'run')) From 51ad841f1ed9b18b7cbb0066c054a522fc6e85a8 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 16 Aug 2021 13:51:27 -0400 Subject: [PATCH 229/414] New package: r-neuralnet (#25392) --- .../builtin/packages/r-neuralnet/package.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-neuralnet/package.py diff --git a/var/spack/repos/builtin/packages/r-neuralnet/package.py b/var/spack/repos/builtin/packages/r-neuralnet/package.py new file mode 100644 index 00000000000..b02110ff914 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-neuralnet/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RNeuralnet(RPackage): + """Training of neural networks using backpropagation, resilient + backpropagation with (Riedmiller, 1994) or without weight backtracking + (Riedmiller and Braun, 1993) or the modified globally convergent version by + Anastasiadis et al. (2005). The package allows flexible settings through + custom-choice of error and activation function. Furthermore, the calculation of + generalized weights (Intrator O & Intrator N, 1993) is implemented.""" + + homepage = "https://cloud.r-project.org/package=neuralnet" + url = "https://cloud.r-project.org/src/contrib/neuralnet_1.44.2.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/neuralnet" + + version('1.44.2', sha256='5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826') + + depends_on('r@2.9.0:', type=('build', 'run')) + depends_on('r-mass', type=('build', 'run')) + depends_on('r-deriv', type=('build', 'run')) From e64659b008a0cef9aaee6120f6c318c13f315800 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 16 Aug 2021 13:52:47 -0400 Subject: [PATCH 230/414] New package: r-nfactors (#25393) --- .../builtin/packages/r-nfactors/package.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-nfactors/package.py diff --git a/var/spack/repos/builtin/packages/r-nfactors/package.py b/var/spack/repos/builtin/packages/r-nfactors/package.py new file mode 100644 index 00000000000..5f6f1bfc37d --- /dev/null +++ b/var/spack/repos/builtin/packages/r-nfactors/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RNfactors(RPackage): + """nFactors: Parallel Analysis and Other Non Graphical Solutions to the + Cattell Scree Test""" + + homepage = "https://cloud.r-project.org/package=nFactors" + url = "https://cloud.r-project.org/src/contrib/nFactors_2.4.1.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/nFactors" + + version('2.4.1', sha256='028eb4ebd42a29f6a01297d728c7e353cabb37b46701639b4a52f17ba25a3eb6') + + depends_on('r@3.5.0:', type=('build', 'run')) + depends_on('r-lattice', type=('build', 'run')) + depends_on('r-mass', type=('build', 'run')) + depends_on('r-psych', type=('build', 'run')) From 79c2d558309f6bfe9ae4fcca59de1a2438ea3307 Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Mon, 16 Aug 2021 12:12:18 -0600 Subject: [PATCH 231/414] coreutils: patch for 8.32 for aarch64 (#25320) Signed-off-by: Howard Pritchard --- var/spack/repos/builtin/packages/coreutils/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/coreutils/package.py b/var/spack/repos/builtin/packages/coreutils/package.py index e73a8e47e3d..e5dab499e3f 100644 --- a/var/spack/repos/builtin/packages/coreutils/package.py +++ b/var/spack/repos/builtin/packages/coreutils/package.py @@ -25,6 +25,10 @@ class Coreutils(AutotoolsPackage, GNUMirrorPackage): variant("gprefix", default=False, description="prefix commands with 'g', to avoid conflicts with OS utilities") + patch('https://src.fedoraproject.org/rpms/coreutils/raw/6b50cb9f/f/coreutils-8.32-ls-removed-dir.patch', + when='@8.32 target=aarch64:', + sha256='5878894375a8fda98150783430b30c0b7104899dc5522034ebcaf8c961183b7e') + build_directory = 'spack-build' def configure_args(self): From bfb811b7d382c609cf31a81ef8fbee6ec07bac69 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 16 Aug 2021 15:51:40 -0400 Subject: [PATCH 232/414] New package: r-reams (#25396) --- .../repos/builtin/packages/r-reams/package.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 var/spack/repos/builtin/packages/r-reams/package.py diff --git a/var/spack/repos/builtin/packages/r-reams/package.py b/var/spack/repos/builtin/packages/r-reams/package.py new file mode 100644 index 00000000000..6cf6323dbb2 --- /dev/null +++ b/var/spack/repos/builtin/packages/r-reams/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RReams(RPackage): + """reams: Resampling-Based Adaptive Model Selection""" + + homepage = "https://cloud.r-project.org/package=reams" + url = "https://cloud.r-project.org/src/contrib/reams_0.1.tar.gz" + list_url = "https://cloud.r-project.org/src/contrib/Archive/reams" + + version('0.1', sha256='ac24ea875b24bd18152afd87538b1f807f442cf2bd1c6ac1a365cf543c88181e') + + depends_on('r@2.9.0:', type=('build', 'run')) + depends_on('r-leaps', type=('build', 'run')) + depends_on('r-mgcv', type=('build', 'run')) From 437a272854f5de3148a738128203003f3a8a068d Mon Sep 17 00:00:00 2001 From: robgics <32717310+robgics@users.noreply.github.com> Date: Mon, 16 Aug 2021 17:25:19 -0400 Subject: [PATCH 233/414] ampl: Add missing ampl_lic install and improve look of resources (#25205) * ampl: Add missing ampl_lic install and improve look of resources * ampl: Add myself as maintainer * ampl: Remove unused variable and delete extra lines Co-authored-by: Rob Groner --- .../repos/builtin/packages/ampl/package.py | 47 ++++++++++++------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/var/spack/repos/builtin/packages/ampl/package.py b/var/spack/repos/builtin/packages/ampl/package.py index 6672dc04c11..be3b55405b0 100644 --- a/var/spack/repos/builtin/packages/ampl/package.py +++ b/var/spack/repos/builtin/packages/ampl/package.py @@ -17,6 +17,8 @@ class Ampl(Package): homepage = "https://ampl.com/" manual_download = True + maintainers = ['robgics'] + # Use the version as you would expect the user to know it, not necessarily the # version as it appears in the file name. To get the checksum, use sha256sum. version('20210226', sha256='d9ffaed591c0491e311a44c2b246d9d81785f6c0b2747a7e32a783e522e18450') @@ -28,22 +30,27 @@ class Ampl(Package): license_files = ['ampl.lic'] license_url = 'https://ampl.com/resources/floating-licenses/installation/' - resourceList = [ - # [version, name, destination, placement, url ,sha256sum] - ('20210226', 'amplapi', '', 'amplapi', 'file://{0}/amplapi-linux64.2.0.0.zip'.format(os.getcwd()), 'a4abe111f142b862f11fcd8700f964b688d5d2291e9e055f6e7adbd92b0e243a'), - ('20210226', 'amplide', '', 'amplide', 'file://{0}/amplide-linux64.3.5.tgz'.format(os.getcwd()), 'c2163896df672b71901d2e46cd5cf1c1c4f0451e478ef32d0971705aaf86d6ac'), - ('20190529', 'amplapi', '', 'amplapi', 'file://{0}/amplapi-linux64.2.0.0.zip'.format(os.getcwd()), 'a4abe111f142b862f11fcd8700f964b688d5d2291e9e055f6e7adbd92b0e243a'), - ('20190529', 'amplide', '', 'amplide', 'file://{0}/amplide-linux64.3.5.tgz'.format(os.getcwd()), 'c2163896df672b71901d2e46cd5cf1c1c4f0451e478ef32d0971705aaf86d6ac'), - ] - - for rsver, rsname, rsdest, rsplace, rsurl, rschecksum in resourceList: - resource(when='@{0}'.format(rsver), - name=rsname, - url=rsurl, - sha256=rschecksum, - destination=rsdest, - placement=rsplace - ) + resource( + name='amplapi', + url='file://{0}/amplapi-linux64.2.0.0.zip'.format(os.getcwd()), + sha256='a4abe111f142b862f11fcd8700f964b688d5d2291e9e055f6e7adbd92b0e243a', + destination='', + placement='amplapi' + ) + resource( + name='amplide', + url='file://{0}/amplide-linux64.3.5.tgz'.format(os.getcwd()), + sha256='c2163896df672b71901d2e46cd5cf1c1c4f0451e478ef32d0971705aaf86d6ac', + destination='', + placement='amplide' + ) + resource( + name='ampl_lic', + url='file://{0}/ampl_lic.linux-intel64.20210618.tgz'.format(os.getcwd()), + sha256='f5c38638d6cc99c85e0d6de001722b64a03e2adeaf5aed9ed622401654d9ff33', + destination='', + placement='' + ) def url_for_version(self, version): return "file://{0}/ampl.linux-intel64.{1}.tgz".format(os.getcwd(), version) @@ -54,5 +61,9 @@ def setup_run_environment(self, env): def install(self, spec, prefix): install_tree('.', prefix) - install_tree('amplapi', prefix) - install_tree('amplide', prefix) + + for key in self.resources: + for res in self.resources[key]: + if res.name == 'ampl_lic': + res_path = join_path(res.fetcher.stage.source_path, res.name) + install(res_path, prefix) From 657a5c85cc45ce8c9ccd33de80aebd652aea742c Mon Sep 17 00:00:00 2001 From: robgics <32717310+robgics@users.noreply.github.com> Date: Mon, 16 Aug 2021 17:25:41 -0400 Subject: [PATCH 234/414] Improve license err msg (#24117) * Add to the error message to help determine failure source. * Break up long line to keep under 80 chars. Co-authored-by: Rob Groner --- lib/spack/spack/cmd/license.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/cmd/license.py b/lib/spack/spack/cmd/license.py index 8af0f4fa269..3627b353917 100644 --- a/lib/spack/spack/cmd/license.py +++ b/lib/spack/spack/cmd/license.py @@ -175,7 +175,8 @@ def wrong_spdx_identifier(line, path): if error: return error - print('{0}: the license does not match the expected format'.format(path)) + print('{0}: the license header at the top of the file does not match the \ + expected format'.format(path)) return GENERAL_MISMATCH From a81ec88c6cfc009346232fbb26b807bb47c64430 Mon Sep 17 00:00:00 2001 From: psakievich Date: Mon, 16 Aug 2021 20:21:57 -0600 Subject: [PATCH 235/414] Allow environment views to be sym/hard link and copy types (#24832) Add link type to spack.yaml format Add tests to verify link behavior is correct for installed files for all three view types Co-authored-by: vsoch --- lib/spack/spack/cmd/view.py | 15 ++++----------- lib/spack/spack/environment.py | 20 +++++++++++++++----- lib/spack/spack/filesystem_view.py | 23 +++++++++++++++++++++++ lib/spack/spack/schema/env.py | 3 +++ lib/spack/spack/test/cmd/env.py | 29 +++++++++++++++++++++++++++++ 5 files changed, 74 insertions(+), 16 deletions(-) diff --git a/lib/spack/spack/cmd/view.py b/lib/spack/spack/cmd/view.py index 7c745a4da0b..f795c17a1ce 100644 --- a/lib/spack/spack/cmd/view.py +++ b/lib/spack/spack/cmd/view.py @@ -42,12 +42,7 @@ import spack.schema.projections import spack.store from spack.config import validate -from spack.filesystem_view import ( - YamlFilesystemView, - view_copy, - view_hardlink, - view_symlink, -) +from spack.filesystem_view import YamlFilesystemView, view_func_parser from spack.util import spack_yaml as s_yaml description = "project packages to a compact naming scheme on the filesystem." @@ -187,12 +182,10 @@ def view(parser, args): ordered_projections = {} # What method are we using for this view - if args.action in ("hardlink", "hard"): - link_fn = view_hardlink - elif args.action in ("copy", "relocate"): - link_fn = view_copy + if args.action in actions_link: + link_fn = view_func_parser(args.action) else: - link_fn = view_symlink + link_fn = view_func_parser('symlink') view = YamlFilesystemView( path, spack.store.layout, diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py index cc5a066abb9..6fa7f62553b 100644 --- a/lib/spack/spack/environment.py +++ b/lib/spack/spack/environment.py @@ -34,7 +34,11 @@ import spack.util.path import spack.util.spack_json as sjson import spack.util.spack_yaml as syaml -from spack.filesystem_view import YamlFilesystemView +from spack.filesystem_view import ( + YamlFilesystemView, + inverse_view_func_parser, + view_func_parser, +) from spack.spec import Spec from spack.spec_list import InvalidSpecConstraintError, SpecList from spack.util.path import substitute_path_variables @@ -456,12 +460,13 @@ def _eval_conditional(string): class ViewDescriptor(object): def __init__(self, base_path, root, projections={}, select=[], exclude=[], - link=default_view_link): + link=default_view_link, link_type='symlink'): self.base = base_path self.root = spack.util.path.canonicalize_path(root) self.projections = projections self.select = select self.exclude = exclude + self.link_type = view_func_parser(link_type) self.link = link def select_fn(self, spec): @@ -475,7 +480,8 @@ def __eq__(self, other): self.projections == other.projections, self.select == other.select, self.exclude == other.exclude, - self.link == other.link]) + self.link == other.link, + self.link_type == other.link_type]) def to_dict(self): ret = syaml.syaml_dict([('root', self.root)]) @@ -490,6 +496,8 @@ def to_dict(self): ret['select'] = self.select if self.exclude: ret['exclude'] = self.exclude + if self.link_type: + ret['link_type'] = inverse_view_func_parser(self.link_type) if self.link != default_view_link: ret['link'] = self.link return ret @@ -501,7 +509,8 @@ def from_dict(base_path, d): d.get('projections', {}), d.get('select', []), d.get('exclude', []), - d.get('link', default_view_link)) + d.get('link', default_view_link), + d.get('link_type', 'symlink')) @property def _current_root(self): @@ -565,7 +574,8 @@ def view(self, new=None): raise SpackEnvironmentViewError(msg) return YamlFilesystemView(root, spack.store.layout, ignore_conflicts=True, - projections=self.projections) + projections=self.projections, + link=self.link_type) def __contains__(self, spec): """Is the spec described by the view descriptor diff --git a/lib/spack/spack/filesystem_view.py b/lib/spack/spack/filesystem_view.py index dd872d712f1..68cf7c156c8 100644 --- a/lib/spack/spack/filesystem_view.py +++ b/lib/spack/spack/filesystem_view.py @@ -98,6 +98,29 @@ def view_copy(src, dst, view, spec=None): ) +def view_func_parser(parsed_name): + # What method are we using for this view + if parsed_name in ("hardlink", "hard"): + return view_hardlink + elif parsed_name in ("copy", "relocate"): + return view_copy + elif parsed_name in ("add", "symlink", "soft"): + return view_symlink + else: + raise ValueError("invalid link type for view: '%s'" % parsed_name) + + +def inverse_view_func_parser(view_type): + # get string based on view type + if view_type is view_hardlink: + link_name = 'hardlink' + elif view_type is view_copy: + link_name = 'copy' + else: + link_name = 'symlink' + return link_name + + class FilesystemView(object): """ Governs a filesystem view that is located at certain root-directory. diff --git a/lib/spack/spack/schema/env.py b/lib/spack/spack/schema/env.py index 82971505e47..de6a5d9568e 100644 --- a/lib/spack/spack/schema/env.py +++ b/lib/spack/spack/schema/env.py @@ -126,6 +126,9 @@ 'type': 'string', 'pattern': '(roots|all)', }, + 'link_type': { + 'type': 'string' + }, 'select': { 'type': 'array', 'items': { diff --git a/lib/spack/spack/test/cmd/env.py b/lib/spack/spack/test/cmd/env.py index e6805073228..8ead9666556 100644 --- a/lib/spack/spack/test/cmd/env.py +++ b/lib/spack/spack/test/cmd/env.py @@ -1948,6 +1948,35 @@ def test_view_link_roots(tmpdir, mock_fetch, mock_packages, mock_archive, (spec.version, spec.compiler.name))) +@pytest.mark.parametrize('link_type', ['hardlink', 'copy', 'symlink']) +def test_view_link_type(link_type, tmpdir, mock_fetch, mock_packages, mock_archive, + install_mockery): + filename = str(tmpdir.join('spack.yaml')) + viewdir = str(tmpdir.join('view')) + with open(filename, 'w') as f: + f.write("""\ +env: + specs: + - mpileaks + view: + default: + root: %s + link_type: %s""" % (viewdir, link_type)) + with tmpdir.as_cwd(): + env('create', 'test', './spack.yaml') + with ev.read('test'): + install() + + test = ev.read('test') + + for spec in test.roots(): + file_path = test.default_view.view()._root + file_to_test = os.path.join( + file_path, spec.name) + assert os.path.isfile(file_to_test) + assert os.path.islink(file_to_test) == (link_type == 'symlink') + + def test_view_link_all(tmpdir, mock_fetch, mock_packages, mock_archive, install_mockery): filename = str(tmpdir.join('spack.yaml')) From 4c0f1bf4e43022828f1e0fd76c4bb3c99d3190df Mon Sep 17 00:00:00 2001 From: Vicente Bolea Date: Tue, 17 Aug 2021 07:55:16 -0400 Subject: [PATCH 236/414] Paraview: uses canonical cuda_arch variant (#23257) cuda_arch in ParaView will no longer accept CUDA architecture names --- .../builtin/packages/paraview/package.py | 56 ++++++++++++++++--- 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py index b9a9eee959d..f93848c9134 100644 --- a/var/spack/repos/builtin/packages/paraview/package.py +++ b/var/spack/repos/builtin/packages/paraview/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import itertools import os from spack import * @@ -53,10 +54,7 @@ class Paraview(CMakePackage, CudaPackage): description='Builds a shared version of the library') variant('kits', default=True, description='Use module kits') - variant('cuda_arch', default='native', multi=False, - values=('native', 'fermi', 'kepler', 'maxwell', - 'pascal', 'volta', 'turing', 'ampere', 'all', 'none'), - description='CUDA architecture') + variant('advanced_debug', default=False, description="Enable all other debug flags beside build_type, such as VTK_DEBUG_LEAK") conflicts('+python', when='+python3') @@ -68,6 +66,17 @@ class Paraview(CMakePackage, CudaPackage): # See commit: https://gitlab.kitware.com/paraview/paraview/-/commit/798d328c conflicts('~opengl2', when='@5.5:') + # We only support one single Architecture + for _arch, _other_arch in itertools.permutations(CudaPackage.cuda_arch_values, 2): + conflicts( + 'cuda_arch={0}'.format(_arch), + when='cuda_arch={0}'.format(_other_arch), + msg='Paraview only accepts one architecture value' + ) + + for _arch in range(10, 14): + conflicts('cuda_arch=%d' % _arch, when="+cuda", msg='ParaView requires cuda_arch >= 20') + depends_on('cmake@3.3:', type='build') # Workaround for @@ -366,9 +375,42 @@ def nvariant_bool(feature): else: cmake_args.append('-DVTKm_ENABLE_CUDA:BOOL=%s' % variant_bool('+cuda')) - if spec.satisfies('+cuda') and not spec.satisfies('cuda_arch=native'): - cmake_args.append('-DVTKm_CUDA_Architecture=%s' % - spec.variants['cuda_arch'].value) + + # VTK-m expects cuda_arch to be the arch name vs. the arch version. + if spec.satisfies('+cuda'): + supported_cuda_archs = { + + # VTK-m and transitively ParaView does not support Tesla Arch + '20': 'fermi', + '21': 'fermi', + '30': 'kepler', + '32': 'kepler', + '35': 'kepler', + '37': 'kepler', + '50': 'maxwel', + '52': 'maxwel', + '53': 'maxwel', + '60': 'pascal', + '61': 'pascal', + '62': 'pascal', + '70': 'volta', + '72': 'volta', + '75': 'turing', + '80': 'ampere', + '86': 'ampere', + } + + cuda_arch_value = 'native' + requested_arch = spec.variants['cuda_arch'].value + + # ParaView/VTK-m only accepts one arch, default to first element + if requested_arch[0] != 'none': + try: + cuda_arch_value = supported_cuda_archs[requested_arch[0]] + except KeyError: + raise InstallError("Incompatible cuda_arch=" + requested_arch[0]) + + cmake_args.append(self.define('VTKm_CUDA_Architecture', cuda_arch_value)) if 'darwin' in spec.architecture: cmake_args.extend([ From f444303ce5c1fd274192dbc10e6783ddd601e0bd Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 17 Aug 2021 16:19:31 +0200 Subject: [PATCH 237/414] Add new pygments (#25455) --- var/spack/repos/builtin/packages/py-pygments/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py index 6bd338b88d1..f75b28ebce8 100644 --- a/var/spack/repos/builtin/packages/py-pygments/package.py +++ b/var/spack/repos/builtin/packages/py-pygments/package.py @@ -12,6 +12,7 @@ class PyPygments(PythonPackage): homepage = "http://pygments.org/" pypi = "Pygments/Pygments-2.4.2.tar.gz" + version('2.10.0', sha256='f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6') version('2.6.1', sha256='647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44') version('2.4.2', sha256='881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297') version('2.3.1', sha256='5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a') From 09378f56c090786177e05f376e1119faa1596f15 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 17 Aug 2021 17:52:51 +0200 Subject: [PATCH 238/414] Use a patched argparse only in Python 2.X (#25376) Spack is internally using a patched version of `argparse` mainly to backport Python 3 functionality into Python 2. This PR makes it such that for the supported Python 3 versions we use `argparse` from the standard Python library. This PR has been extracted from #25371 where it was needed to be able to use recent versions of `pytest`. * Fixed formatting issues when using a pristine argparse.py * Fix error message for Python 3.X when missing positional arguments * Account for the change of API in Python 3.7 * Layout multi-valued args into columns in error messages * Seamless transition in develop if argparse.pyc is in external * Be more defensive in case we can't remove the file. --- bin/spack | 23 +++++++++++++++++++ lib/spack/external/{ => py2}/argparse.py | 0 lib/spack/spack/main.py | 29 +++++++++++++++++++++--- 3 files changed, 49 insertions(+), 3 deletions(-) rename lib/spack/external/{ => py2}/argparse.py (100%) diff --git a/bin/spack b/bin/spack index a4c442227dd..dffcbd20262 100755 --- a/bin/spack +++ b/bin/spack @@ -28,6 +28,7 @@ exit 1 from __future__ import print_function import os +import os.path import sys min_python3 = (3, 5) @@ -70,6 +71,28 @@ if "ruamel.yaml" in sys.modules: if "ruamel" in sys.modules: del sys.modules["ruamel"] +# The following code is here to avoid failures when updating +# the develop version, due to spurious argparse.pyc files remaining +# in the libs/spack/external directory, see: +# https://github.com/spack/spack/pull/25376 +# TODO: Remove in v0.18.0 or later +try: + import argparse +except ImportError: + argparse_pyc = os.path.join(spack_external_libs, 'argparse.pyc') + if not os.path.exists(argparse_pyc): + raise + try: + os.remove(argparse_pyc) + import argparse # noqa + except Exception: + msg = ('The file\n\n\t{0}\n\nis corrupted and cannot be deleted by Spack. ' + 'Either delete it manually or ask some administrator to ' + 'delete it for you.') + print(msg.format(argparse_pyc)) + sys.exit(1) + + import spack.main # noqa # Once we've set up the system path, run the spack main method diff --git a/lib/spack/external/argparse.py b/lib/spack/external/py2/argparse.py similarity index 100% rename from lib/spack/external/argparse.py rename to lib/spack/external/py2/argparse.py diff --git a/lib/spack/spack/main.py b/lib/spack/spack/main.py index d237db8904d..d29988627e1 100644 --- a/lib/spack/spack/main.py +++ b/lib/spack/spack/main.py @@ -27,6 +27,7 @@ import llnl.util.filesystem as fs import llnl.util.tty as tty +import llnl.util.tty.colify import llnl.util.tty.color as color from llnl.util.tty.log import log_output @@ -173,14 +174,16 @@ def _format_actions_usage(self, actions, groups): usage = super( SpackHelpFormatter, self)._format_actions_usage(actions, groups) + # Eliminate any occurrence of two or more consecutive spaces + usage = re.sub(r'[ ]{2,}', ' ', usage) + # compress single-character flags that are not mutually exclusive # at the beginning of the usage string chars = ''.join(re.findall(r'\[-(.)\]', usage)) usage = re.sub(r'\[-.\] ?', '', usage) if chars: - return '[-%s] %s' % (chars, usage) - else: - return usage + usage = '[-%s] %s' % (chars, usage) + return usage.strip() class SpackArgumentParser(argparse.ArgumentParser): @@ -293,7 +296,18 @@ def add_subcommand_group(title, commands): def add_subparsers(self, **kwargs): """Ensure that sensible defaults are propagated to subparsers""" kwargs.setdefault('metavar', 'SUBCOMMAND') + + # From Python 3.7 we can require a subparser, earlier versions + # of argparse will error because required=True is unknown + if sys.version_info[:2] > (3, 6): + kwargs.setdefault('required', True) + sp = super(SpackArgumentParser, self).add_subparsers(**kwargs) + # This monkey patching is needed for Python 3.5 and 3.6, which support + # having a required subparser but don't expose the API used above + if sys.version_info[:2] == (3, 5) or sys.version_info[:2] == (3, 6): + sp.required = True + old_add_parser = sp.add_parser def add_parser(name, **kwargs): @@ -336,6 +350,15 @@ def format_help(self, level='short'): # in subparsers, self.prog is, e.g., 'spack install' return super(SpackArgumentParser, self).format_help() + def _check_value(self, action, value): + # converted value must be one of the choices (if specified) + if action.choices is not None and value not in action.choices: + cols = llnl.util.tty.colify.colified( + sorted(action.choices), indent=4, tty=True + ) + msg = 'invalid choice: %r choose from:\n%s' % (value, cols) + raise argparse.ArgumentError(action, msg) + def make_argument_parser(**kwargs): """Create an basic argument parser without any subcommands added.""" From d00fc55e419a6ed18546d4a8b3fe3f39de641abc Mon Sep 17 00:00:00 2001 From: psakievich Date: Tue, 17 Aug 2021 10:47:26 -0600 Subject: [PATCH 239/414] Add link_type documentation (#25451) --- lib/spack/docs/environments.rst | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/spack/docs/environments.rst b/lib/spack/docs/environments.rst index dbc1e23bf44..fd96698e971 100644 --- a/lib/spack/docs/environments.rst +++ b/lib/spack/docs/environments.rst @@ -732,13 +732,17 @@ Configuring environment views The Spack Environment manifest file has a top-level keyword ``view``. Each entry under that heading is a view descriptor, headed by a name. The view descriptor contains the root of the view, and -optionally the projections for the view, and ``select`` and -``exclude`` lists for the view. For example, in the following manifest +optionally the projections for the view, ``select`` and +``exclude`` lists for the view and link information via ``link`` and +``link_type``. For example, in the following manifest file snippet we define a view named ``mpis``, rooted at ``/path/to/view`` in which all projections use the package name, version, and compiler name to determine the path for a given package. This view selects all packages that depend on MPI, and excludes those built with the PGI compiler at version 18.5. +All the dependencies of each root spec in the environment will be linked +in the view due to the command ``link: all`` and the files in the view will +be symlinks to the spack install directories. .. code-block:: yaml @@ -751,11 +755,16 @@ excludes those built with the PGI compiler at version 18.5. exclude: ['%pgi@18.5'] projections: all: {name}/{version}-{compiler.name} + link: all + link_type: symlink For more information on using view projections, see the section on :ref:`adding_projections_to_views`. The default for the ``select`` and ``exclude`` values is to select everything and exclude nothing. The -default projection is the default view projection (``{}``). +default projection is the default view projection (``{}``). The ``link`` +defaults to ``all`` but can also be ``roots`` when only the root specs +in the environment are desired in the view. The ``link_type`` defaults +to ``symlink`` but can also take the value of ``hardlink`` or ``copy``. Any number of views may be defined under the ``view`` heading in a Spack Environment. From c869f3639dac638cb6cda3ca1fe67b56e9489614 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Tue, 17 Aug 2021 17:30:55 -0400 Subject: [PATCH 240/414] cmake.py: Improve documentation (#25467) Add missing `self.` prefixes when calling `define_from_variant` --- lib/spack/spack/build_systems/cmake.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/build_systems/cmake.py b/lib/spack/spack/build_systems/cmake.py index a3a1bb51e33..bf431e139d9 100644 --- a/lib/spack/spack/build_systems/cmake.py +++ b/lib/spack/spack/build_systems/cmake.py @@ -254,9 +254,9 @@ def define_from_variant(self, cmake_var, variant=None): .. code-block:: python - [define_from_variant('BUILD_SHARED_LIBS', 'shared'), - define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'), - define_from_variant('SWR')] + [self.define_from_variant('BUILD_SHARED_LIBS', 'shared'), + self.define_from_variant('CMAKE_CXX_STANDARD', 'cxxstd'), + self.define_from_variant('SWR')] will generate the following configuration options: From b22728d55c126a0034f70c7331b6fabc4d6ad095 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 18 Aug 2021 09:49:51 +0200 Subject: [PATCH 241/414] Support older py-pygments (#25456) `markdown` is only supported since py-pygments@2.8.0:, see https://github.com/pygments/pygments/commit/9647d2ae506b8e05ebabe9243df707bac901a6a3 Let's allow old versions too again. --- lib/spack/docs/basic_usage.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/docs/basic_usage.rst b/lib/spack/docs/basic_usage.rst index a4b7afe93b4..38c4f42571d 100644 --- a/lib/spack/docs/basic_usage.rst +++ b/lib/spack/docs/basic_usage.rst @@ -757,7 +757,7 @@ The output is colored, and written in the style of a git diff. This means that y can copy and paste it into a GitHub markdown as a code block with language "diff" and it will render nicely! Here is an example: -.. code-block:: markdown +.. code-block:: md ```diff --- zlib@1.2.11/efzjziyc3dmb5h5u5azsthgbgog5mj7g From 06c8fdafd4f139d8e92d1c9a06e3762b8329ed7e Mon Sep 17 00:00:00 2001 From: Christoph Conrads <22275833+christoph-conrads@users.noreply.github.com> Date: Wed, 18 Aug 2021 18:01:40 +0200 Subject: [PATCH 242/414] Serf: add Python dependency, sort dependencies (#25478) --- var/spack/repos/builtin/packages/serf/package.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/serf/package.py b/var/spack/repos/builtin/packages/serf/package.py index 8d15cbdb014..5367f5b6f2e 100644 --- a/var/spack/repos/builtin/packages/serf/package.py +++ b/var/spack/repos/builtin/packages/serf/package.py @@ -19,13 +19,13 @@ class Serf(SConsPackage): variant('debug', default=False, description='Enable debugging info and strict compile warnings') - depends_on('scons@2.3.0:', type='build') - depends_on('apr') depends_on('apr-util') depends_on('openssl') - depends_on('zlib') + depends_on('python+pythoncmd', type='build') + depends_on('scons@2.3.0:', type='build') depends_on('uuid') + depends_on('zlib') patch('py3syntax.patch') From 8a32f72829dd59c00a2a18bc9f57e08942d1ef4e Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Wed, 18 Aug 2021 10:08:44 -0700 Subject: [PATCH 243/414] openPMD-api: add v0.14.2 (#25473) --- var/spack/repos/builtin/packages/openpmd-api/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index 1b85c85a124..0221e9aa396 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -17,12 +17,12 @@ class OpenpmdApi(CMakePackage): # C++14 up until here version('develop', branch='dev') + version('0.14.2', sha256='25c6b4bcd0ae1ba668b633b8514e66c402da54901c26861fc754fca55717c836') version('0.14.1', sha256='172fd1d785627d01c77f1170adc5a18bd8a6302e804d0f271dc0d616a5156791') version('0.14.0', sha256='7bb561c1a6f54e9a6a1b56aaf1d4d098bbe290d204f84ebe5a6f11b3cab2be6e') # temporary, pre 0.14.0 version for HiPACE++ version('hipace', commit='ac083025ee662469b8cad1adf93eef48cde35f58') - version('0.13.4', preferred=True, - sha256='46c013be5cda670f21969675ce839315d4f5ada0406a6546a91ec3441402cf5e') + version('0.13.4', sha256='46c013be5cda670f21969675ce839315d4f5ada0406a6546a91ec3441402cf5e') version('0.13.3', sha256='4b8f84bd89cd540c73ffe8c21085970453cb7f0e4f125f11a4e288433f64b58c') version('0.13.2', sha256='2e5170d41bb7b2c0608ec833eee7f9adf8175b46734743f6e46dcce6f6685fb0') version('0.13.1', sha256='81ff79419982eb1b0865d1736f73f950f5d4c356d3c78200ceeab7f54dc07fd7') From 4318ceb2b3c5d34217769a24a7de039b1759b496 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 18 Aug 2021 20:14:02 +0200 Subject: [PATCH 244/414] Bootstrap clingo from binaries (#22720) * Bootstrap clingo from binaries * Move information on clingo binaries to a JSON file * Add support to bootstrap on Cray Bootstrapping on Cray requires, at the moment, to swap the platform when looking for binaries - due to #22800. * Add SHA256 verification for bootstrapped software Use sha256 verification for binaries necessary to bootstrap the concretizer and gpg for signature verification * patchelf: use Spec._old_concretize() to bootstrap As noted in #24450 we may happen to need the concretizer when bootstrapping clingo. In that case only the old concretizer is available. * Add a schema for bootstrapping methods Two fields have been added to bootstrap.yaml: "sources" which lists the methods available for bootstrapping software "trusted" which records if a source is trusted or not A subcommand has been added to "spack bootstrap" to list the sources currently available. * Methods used for bootstrapping are configurable from bootstrap:sources The function that tries to ensure a given Python module is importable now tries bootstrapping methods in the same order as they are defined in `bootstrap.yaml` * Permit to trust/untrust bootstrapping methods * Add binary tests for MacOS, Ubuntu * Add documentation * Add a note on bash --- .github/workflows/bootstrap.yml | 55 ++- .github/workflows/unit_tests.yaml | 4 +- etc/spack/defaults/bootstrap.yaml | 25 ++ lib/spack/docs/getting_started.rst | 214 ++++++++---- .../docs/tables/system_prerequisites.csv | 17 + lib/spack/spack/binary_distribution.py | 11 +- lib/spack/spack/bootstrap.py | 325 ++++++++++++++---- lib/spack/spack/cmd/bootstrap.py | 110 +++++- lib/spack/spack/cmd/buildcache.py | 14 +- lib/spack/spack/hooks/sbang.py | 1 - lib/spack/spack/relocate.py | 3 +- lib/spack/spack/schema/bootstrap.py | 21 ++ lib/spack/spack/solver/asp.py | 8 +- lib/spack/spack/test/cmd/bootstrap.py | 46 +++ .../spack/test/data/config/bootstrap.yaml | 12 + .../bootstrap/github-actions/clingo.json | 257 ++++++++++++++ share/spack/spack-completion.bash | 26 +- 17 files changed, 1001 insertions(+), 148 deletions(-) create mode 100644 lib/spack/docs/tables/system_prerequisites.csv create mode 100644 lib/spack/spack/test/data/config/bootstrap.yaml create mode 100644 share/spack/bootstrap/github-actions/clingo.json diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 70fe9bf58a1..eebdd9aa539 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -18,7 +18,7 @@ on: jobs: - fedora: + fedora-sources: runs-on: ubuntu-latest container: "fedora:latest" steps: @@ -40,11 +40,12 @@ jobs: shell: runuser -u spack-test -- bash {0} run: | source share/spack/setup-env.sh + spack bootstrap untrust github-actions spack external find cmake bison spack -d solve zlib tree ~/.spack/bootstrap/store/ - ubuntu: + ubuntu-sources: runs-on: ubuntu-latest container: "ubuntu:latest" steps: @@ -69,11 +70,12 @@ jobs: shell: runuser -u spack-test -- bash {0} run: | source share/spack/setup-env.sh + spack bootstrap untrust github-actions spack external find cmake bison spack -d solve zlib tree ~/.spack/bootstrap/store/ - opensuse: + opensuse-sources: runs-on: ubuntu-latest container: "opensuse/tumbleweed:latest" steps: @@ -93,11 +95,12 @@ jobs: - name: Bootstrap clingo run: | source share/spack/setup-env.sh + spack bootstrap untrust github-actions spack external find cmake bison spack -d solve zlib tree ~/.spack/bootstrap/store/ - macos: + macos-sources: runs-on: macos-latest steps: - name: Install dependencies @@ -108,6 +111,50 @@ jobs: run: | source share/spack/setup-env.sh export PATH=/usr/local/opt/bison@2.7/bin:$PATH + spack bootstrap untrust github-actions spack external find --not-buildable cmake bison spack -d solve zlib tree ~/.spack/bootstrap/store/ + + macos-clingo-binaries: + runs-on: macos-latest + strategy: + matrix: + python-version: ['3.5', '3.6', '3.7', '3.8', '3.9'] + steps: + - name: Install dependencies + run: | + brew install tree + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Bootstrap clingo + run: | + source share/spack/setup-env.sh + spack bootstrap untrust spack-install + spack -d solve zlib + tree ~/.spack/bootstrap/store/ + + + ubuntu-clingo-binaries: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9'] + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Setup repo and non-root user + run: | + git --version + git fetch --unshallow + . .github/workflows/setup_git.sh + - name: Bootstrap clingo + run: | + source share/spack/setup-env.sh + spack bootstrap untrust spack-install + spack -d solve zlib + tree ~/.spack/bootstrap/store/ diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index 32b1baf39a5..b45249f3713 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -159,13 +159,13 @@ jobs: mkdir -p ${KCOV_ROOT}/build cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd - make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install - - name: Bootstrap clingo from sources + - name: Bootstrap clingo if: ${{ matrix.concretizer == 'clingo' }} env: SPACK_PYTHON: python run: | . share/spack/setup-env.sh - spack external find --not-buildable cmake bison + spack bootstrap untrust spack-install spack -v solve zlib - name: Run unit tests (full suite with coverage) if: ${{ needs.changes.outputs.with_coverage == 'true' }} diff --git a/etc/spack/defaults/bootstrap.yaml b/etc/spack/defaults/bootstrap.yaml index 78bb43f4b17..392c48b7bbd 100644 --- a/etc/spack/defaults/bootstrap.yaml +++ b/etc/spack/defaults/bootstrap.yaml @@ -5,3 +5,28 @@ bootstrap: # Root directory for bootstrapping work. The software bootstrapped # by Spack is installed in a "store" subfolder of this root directory root: ~/.spack/bootstrap + # Methods that can be used to bootstrap software. Each method may or + # may not be able to bootstrap all of the software that Spack needs, + # depending on its type. + sources: + - name: 'github-actions' + type: buildcache + description: | + Buildcache generated from a public workflow using Github Actions. + The sha256 checksum of binaries is checked before installation. + info: + url: https://mirror.spack.io/bootstrap/github-actions/v0.1 + homepage: https://github.com/alalazo/spack-bootstrap-mirrors + releases: https://github.com/alalazo/spack-bootstrap-mirrors/releases + # This method is just Spack bootstrapping the software it needs from sources. + # It has been added here so that users can selectively disable bootstrapping + # from sources by "untrusting" it. + - name: spack-install + type: install + description: | + Specs built from sources by Spack. May take a long time. + trusted: + # By default we trust bootstrapping from sources and from binaries + # produced on Github via the workflow + github-actions: true + spack-install: true \ No newline at end of file diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index f15277e9534..c89b46d4411 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -9,22 +9,16 @@ Getting Started =============== -------------- -Prerequisites -------------- +-------------------- +System Prerequisites +-------------------- -Spack has the following minimum requirements, which must be installed -before Spack is run: +Spack has the following minimum system requirements, which are assumed to +be present on the machine where Spack is run: -#. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.9) to run Spack -#. A C/C++ compiler for building and the ``bash`` shell for Spack's compiler - wrapper -#. The ``make`` executable for building -#. The ``tar``, ``gzip``, ``unzip``, ``bzip2``, ``xz`` and optionally ``zstd`` - executables for extracting source code -#. The ``patch`` command to apply patches -#. The ``git`` and ``curl`` commands for fetching -#. If using the ``gpg`` subcommand, ``gnupg2`` is required +.. csv-table:: System prerequisites for Spack + :file: tables/system_prerequisites.csv + :header-rows: 1 These requirements can be easily installed on most modern Linux systems; on macOS, XCode is required. Spack is designed to run on HPC @@ -90,6 +84,151 @@ sourcing time, ensuring future invocations of the ``spack`` command will continue to use the same consistent python version regardless of changes in the environment. +^^^^^^^^^^^^^^^^^^^^ +Bootstrapping clingo +^^^^^^^^^^^^^^^^^^^^ + +Spack supports using ``clingo`` as an external solver to compute which software +needs to be installed. The default configuration allows Spack to install +``clingo`` from a public buildcache, created by a Github Action workflow. In this +case the bootstrapping procedure is transparent to the user, except for a +slightly long waiting time on the first concretization of a spec: + +.. code-block:: console + + $ spack find -b + ==> Showing internal bootstrap store at "/home/spack/.spack/bootstrap/store" + ==> 0 installed packages + + $ time spack solve zlib + ==> Best of 2 considered solutions. + ==> Optimization Criteria: + Priority Criterion Value + 1 deprecated versions used 0 + 2 version weight 0 + 3 number of non-default variants (roots) 0 + 4 multi-valued variants 0 + 5 preferred providers for roots 0 + 6 number of non-default variants (non-roots) 0 + 7 preferred providers (non-roots) 0 + 8 compiler mismatches 0 + 9 version badness 0 + 10 count of non-root multi-valued variants 0 + 11 non-preferred compilers 0 + 12 target mismatches 0 + 13 non-preferred targets 0 + + zlib@1.2.11%gcc@11.1.0+optimize+pic+shared arch=linux-ubuntu18.04-broadwell + + real 0m30,618s + user 0m27,278s + sys 0m1,549s + +After this command you'll see that ``clingo`` has been installed for Spack's own use: + +.. code-block:: console + + $ spack find -b + ==> Showing internal bootstrap store at "/home/spack/.spack/bootstrap/store" + ==> 2 installed packages + -- linux-rhel5-x86_64 / gcc@9.3.0 ------------------------------- + clingo-bootstrap@spack python@3.6 + +Subsequent calls to the concretizer will then be much faster: + +.. code-block:: console + + $ time spack solve zlib + [ ... ] + real 0m1,222s + user 0m1,146s + sys 0m0,059s + +If for security or for other reasons you don't want to or can't install precompiled +binaries, Spack can fall-back to bootstrap ``clingo`` from source files. To forbid +Spack from retrieving binaries from the bootstrapping buildcache, the following +command must be given: + +.. code-block:: console + + $ spack bootstrap untrust github-actions + ==> "github-actions" is now untrusted and will not be used for bootstrapping + +since an "untrusted" way of bootstrapping software will not be considered +by Spack. You can verify the new settings are effective with: + +.. code-block:: console + + $ spack bootstrap list + Name: github-actions UNTRUSTED + + Type: buildcache + + Info: + url: https://mirror.spack.io/bootstrap/github-actions/v0.1 + homepage: https://github.com/alalazo/spack-bootstrap-mirrors + releases: https://github.com/alalazo/spack-bootstrap-mirrors/releases + + Description: + Buildcache generated from a public workflow using Github Actions. + The sha256 checksum of binaries is checked before installation. + + + Name: spack-install TRUSTED + + Type: install + + Description: + Specs built from sources by Spack. May take a long time. + +When bootstrapping from sources, Spack requires a compiler with support +for C++14 (GCC on ``linux``, Apple Clang on ``darwin``) and static C++ +standard libraries on ``linux``. Spack will build the required software +on the first request to concretize a spec: + +.. code-block:: console + + $ spack solve zlib + [+] /usr (external bison-3.0.4-wu5pgjchxzemk5ya2l3ddqug2d7jv6eb) + [+] /usr (external cmake-3.19.4-a4kmcfzxxy45mzku4ipmj5kdiiz5a57b) + [+] /usr (external python-3.6.9-x4fou4iqqlh5ydwddx3pvfcwznfrqztv) + ==> Installing re2c-1.2.1-e3x6nxtk3ahgd63ykgy44mpuva6jhtdt + [ ... ] + ==> Optimization: [0, 0, 0, 0, 0, 1, 0, 0, 0] + zlib@1.2.11%gcc@10.1.0+optimize+pic+shared arch=linux-ubuntu18.04-broadwell + +.. tip:: + + If you want to speed-up bootstrapping ``clingo`` from sources, you may try to + search for ``cmake`` and ``bison`` on your system: + + .. code-block:: console + + $ spack external find cmake bison + ==> The following specs have been detected on this system and added to /home/spack/.spack/packages.yaml + bison@3.0.4 cmake@3.19.4 + +""""""""""""""""""" +The Bootstrap Store +""""""""""""""""""" + +All the tools Spack needs for its own functioning are installed in a separate store, which lives +under the ``${HOME}/.spack`` directory. The software installed there can be queried with: + +.. code-block:: console + + $ spack find --bootstrap + ==> Showing internal bootstrap store at "/home/spack/.spack/bootstrap/store" + ==> 3 installed packages + -- linux-ubuntu18.04-x86_64 / gcc@10.1.0 ------------------------ + clingo-bootstrap@spack python@3.6.9 re2c@1.2.1 + +In case it's needed the bootstrap store can also be cleaned with: + +.. code-block:: console + + $ spack clean -b + ==> Removing software in "/home/spack/.spack/bootstrap/store" ^^^^^^^^^^^^^^^^^^ Check Installation @@ -118,53 +257,6 @@ environment*, especially for ``PATH``. Only software that comes with the system, or that you know you wish to use with Spack, should be included. This procedure will avoid many strange build errors. -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Optional: Bootstrapping clingo -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Spack supports using clingo as an external solver to compute which software -needs to be installed. If you have a default compiler supporting C++14 Spack -can automatically bootstrap this tool from sources the first time it is -needed: - -.. code-block:: console - - $ spack solve zlib - [+] /usr (external bison-3.0.4-wu5pgjchxzemk5ya2l3ddqug2d7jv6eb) - [+] /usr (external cmake-3.19.4-a4kmcfzxxy45mzku4ipmj5kdiiz5a57b) - [+] /usr (external python-3.6.9-x4fou4iqqlh5ydwddx3pvfcwznfrqztv) - ==> Installing re2c-1.2.1-e3x6nxtk3ahgd63ykgy44mpuva6jhtdt - [ ... ] - ==> Optimization: [0, 0, 0, 0, 0, 1, 0, 0, 0] - zlib@1.2.11%gcc@10.1.0+optimize+pic+shared arch=linux-ubuntu18.04-broadwell - -If you want to speed-up bootstrapping, you may try to search for ``cmake`` and ``bison`` -on your system: - -.. code-block:: console - - $ spack external find cmake bison - ==> The following specs have been detected on this system and added to /home/spack/.spack/packages.yaml - bison@3.0.4 cmake@3.19.4 - -All the tools Spack needs for its own functioning are installed in a separate store, which lives -under the ``${HOME}/.spack`` directory. The software installed there can be queried with: - -.. code-block:: console - - $ spack find --bootstrap - ==> Showing internal bootstrap store at "/home/spack/.spack/bootstrap/store" - ==> 3 installed packages - -- linux-ubuntu18.04-x86_64 / gcc@10.1.0 ------------------------ - clingo-bootstrap@spack python@3.6.9 re2c@1.2.1 - -In case it's needed the bootstrap store can also be cleaned with: - -.. code-block:: console - - $ spack clean -b - ==> Removing software in "/home/spack/.spack/bootstrap/store" - ^^^^^^^^^^^^^^^^^^^^^^^^^^ Optional: Alternate Prefix ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/lib/spack/docs/tables/system_prerequisites.csv b/lib/spack/docs/tables/system_prerequisites.csv new file mode 100644 index 00000000000..398ae5aeaea --- /dev/null +++ b/lib/spack/docs/tables/system_prerequisites.csv @@ -0,0 +1,17 @@ +Name, Supported Versions, Notes, Requirement Reason +Python, 2.6/2.7/3.5-3.9, , Interpreter for Spack +C/C++ Compilers, , , Building software +make, , , Build software +patch, , , Build software +bash, , , Compiler wrappers +tar, , , Extract/create archives +gzip, , , Compress/Decompress archives +unzip, , , Compress/Decompress archives +bzip, , , Compress/Decompress archives +xz, , , Compress/Decompress archives +zstd, , Optional, Compress/Decompress archives +file, , , Create/Use Buildcaches +gnupg2, , , Sign/Verify Buildcaches +git, , , Manage Software Repositories +svn, , Optional, Manage Software Repositories +hg, , Optional, Manage Software Repositories diff --git a/lib/spack/spack/binary_distribution.py b/lib/spack/spack/binary_distribution.py index 647b71cfe3e..4ef5dee06ae 100644 --- a/lib/spack/spack/binary_distribution.py +++ b/lib/spack/spack/binary_distribution.py @@ -29,6 +29,7 @@ import spack.database as spack_db import spack.fetch_strategy as fs import spack.hash_types as ht +import spack.hooks.sbang import spack.mirror import spack.relocate as relocate import spack.util.file_cache as file_cache @@ -615,9 +616,8 @@ def write_buildinfo_file(spec, workdir, rel=False): prefix_to_hash[str(d.prefix)] = d.dag_hash() # Create buildinfo data and write it to disk - import spack.hooks.sbang as sbang buildinfo = {} - buildinfo['sbang_install_path'] = sbang.sbang_install_path() + buildinfo['sbang_install_path'] = spack.hooks.sbang.sbang_install_path() buildinfo['relative_rpaths'] = rel buildinfo['buildpath'] = spack.store.layout.root buildinfo['spackprefix'] = spack.paths.prefix @@ -1169,8 +1169,6 @@ def relocate_package(spec, allow_root): """ Relocate the given package """ - import spack.hooks.sbang as sbang - workdir = str(spec.prefix) buildinfo = read_buildinfo_file(workdir) new_layout_root = str(spack.store.layout.root) @@ -1209,7 +1207,8 @@ def relocate_package(spec, allow_root): prefix_to_prefix_bin = OrderedDict({}) if old_sbang_install_path: - prefix_to_prefix_text[old_sbang_install_path] = sbang.sbang_install_path() + install_path = spack.hooks.sbang.sbang_install_path() + prefix_to_prefix_text[old_sbang_install_path] = install_path prefix_to_prefix_text[old_prefix] = new_prefix prefix_to_prefix_bin[old_prefix] = new_prefix @@ -1223,7 +1222,7 @@ def relocate_package(spec, allow_root): # now a POSIX script that lives in the install prefix. Old packages # will have the old sbang location in their shebangs. orig_sbang = '#!/bin/bash {0}/bin/sbang'.format(old_spack_prefix) - new_sbang = sbang.sbang_shebang_line() + new_sbang = spack.hooks.sbang.sbang_shebang_line() prefix_to_prefix_text[orig_sbang] = new_sbang tty.debug("Relocating package from", diff --git a/lib/spack/spack/bootstrap.py b/lib/spack/spack/bootstrap.py index 09088c3eb6e..094d59395eb 100644 --- a/lib/spack/spack/bootstrap.py +++ b/lib/spack/spack/bootstrap.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) import contextlib +import json import os import sys @@ -18,7 +19,9 @@ import llnl.util.tty as tty import spack.architecture +import spack.binary_distribution import spack.config +import spack.main import spack.paths import spack.repo import spack.spec @@ -28,6 +31,214 @@ import spack.util.path from spack.util.environment import EnvironmentModifications +#: Map a bootstrapper type to the corresponding class +_bootstrap_methods = {} + + +def _bootstrapper(type): + """Decorator to register classes implementing bootstrapping + methods. + + Args: + type (str): string identifying the class + """ + def _register(cls): + _bootstrap_methods[type] = cls + return cls + return _register + + +def _try_import_from_store(module, abstract_spec_str): + """Return True if the module can be imported from an already + installed spec, False otherwise. + + Args: + module: Python module to be imported + abstract_spec_str: abstract spec that may provide the module + """ + bincache_platform = spack.architecture.real_platform() + if str(bincache_platform) == 'cray': + bincache_platform = spack.platforms.linux.Linux() + with spack.architecture.use_platform(bincache_platform): + abstract_spec_str = str(spack.spec.Spec(abstract_spec_str)) + + # We have to run as part of this python interpreter + abstract_spec_str += ' ^' + spec_for_current_python() + + installed_specs = spack.store.db.query(abstract_spec_str, installed=True) + + for candidate_spec in installed_specs: + lib_spd = candidate_spec['python'].package.default_site_packages_dir + lib64_spd = lib_spd.replace('lib/', 'lib64/') + module_paths = [ + os.path.join(candidate_spec.prefix, lib_spd), + os.path.join(candidate_spec.prefix, lib64_spd) + ] + sys.path.extend(module_paths) + + try: + if _python_import(module): + msg = ('[BOOTSTRAP MODULE {0}] The installed spec "{1}/{2}" ' + 'provides the "{0}" Python module').format( + module, abstract_spec_str, candidate_spec.dag_hash() + ) + tty.debug(msg) + return True + except Exception as e: + msg = ('unexpected error while trying to import module ' + '"{0}" from spec "{1}" [error="{2}"]') + tty.warn(msg.format(module, candidate_spec, str(e))) + else: + msg = "Spec {0} did not provide module {1}" + tty.warn(msg.format(candidate_spec, module)) + + sys.path = sys.path[:-2] + + return False + + +@_bootstrapper(type='buildcache') +class _BuildcacheBootstrapper(object): + """Install the software needed during bootstrapping from a buildcache.""" + def __init__(self, conf): + self.name = conf['name'] + self.url = conf['info']['url'] + + def try_import(self, module, abstract_spec_str): + # This import is local since it is needed only on Cray + import spack.platforms.linux + + if _try_import_from_store(module, abstract_spec_str): + return True + + # Try to install from an unsigned binary cache + abstract_spec = spack.spec.Spec( + abstract_spec_str + ' ^' + spec_for_current_python() + ) + + # On Cray we want to use Linux binaries if available from mirrors + bincache_platform = spack.architecture.real_platform() + if str(bincache_platform) == 'cray': + bincache_platform = spack.platforms.linux.Linux() + with spack.architecture.use_platform(bincache_platform): + abstract_spec = spack.spec.Spec( + abstract_spec_str + ' ^' + spec_for_current_python() + ) + + # Read information on verified clingo binaries + json_filename = '{0}.json'.format(module) + json_path = os.path.join( + spack.paths.share_path, 'bootstrap', self.name, json_filename + ) + with open(json_path) as f: + data = json.load(f) + + buildcache = spack.main.SpackCommand('buildcache') + # Ensure we see only the buildcache being used to bootstrap + mirror_scope = spack.config.InternalConfigScope( + 'bootstrap', {'mirrors:': {self.name: self.url}} + ) + with spack.config.override(mirror_scope): + # This index is currently needed to get the compiler used to build some + # specs that wwe know by dag hash. + spack.binary_distribution.binary_index.regenerate_spec_cache() + index = spack.binary_distribution.update_cache_and_get_specs() + for item in data['verified']: + candidate_spec = item['spec'] + python_spec = item['python'] + # Skip specs which are not compatible + if not abstract_spec.satisfies(candidate_spec): + continue + + if python_spec not in abstract_spec: + continue + + for pkg_name, pkg_hash, pkg_sha256 in item['binaries']: + msg = ('[BOOTSTRAP MODULE {0}] Try installing "{1}" from binary ' + 'cache at "{2}"') + tty.debug(msg.format(module, pkg_name, self.url)) + index_spec = next(x for x in index if x.dag_hash() == pkg_hash) + # Reconstruct the compiler that we need to use for bootstrapping + compiler_entry = { + "modules": [], + "operating_system": str(index_spec.os), + "paths": { + "cc": "/dev/null", + "cxx": "/dev/null", + "f77": "/dev/null", + "fc": "/dev/null" + }, + "spec": str(index_spec.compiler), + "target": str(index_spec.target.family) + } + with spack.architecture.use_platform(bincache_platform): + with spack.config.override( + 'compilers', [{'compiler': compiler_entry}] + ): + spec_str = '/' + pkg_hash + install_args = [ + 'install', + '--sha256', pkg_sha256, + '-a', '-u', '-o', '-f', spec_str + ] + buildcache(*install_args, fail_on_error=False) + # TODO: undo installations that didn't complete? + + if _try_import_from_store(module, abstract_spec_str): + return True + return False + + +@_bootstrapper(type='install') +class _SourceBootstrapper(object): + """Install the software needed during bootstrapping from sources.""" + def __init__(self, conf): + self.conf = conf + + @staticmethod + def try_import(module, abstract_spec_str): + if _try_import_from_store(module, abstract_spec_str): + return True + + # Try to build and install from sources + with spack_python_interpreter(): + # Add hint to use frontend operating system on Cray + if str(spack.architecture.platform()) == 'cray': + abstract_spec_str += ' os=fe' + + concrete_spec = spack.spec.Spec( + abstract_spec_str + ' ^' + spec_for_current_python() + ) + + if module == 'clingo': + # TODO: remove when the old concretizer is deprecated + concrete_spec._old_concretize() + else: + concrete_spec.concretize() + + msg = "[BOOTSTRAP MODULE {0}] Try installing '{1}' from sources" + tty.debug(msg.format(module, abstract_spec_str)) + + # Install the spec that should make the module importable + concrete_spec.package.do_install() + + return _try_import_from_store(module, abstract_spec_str=abstract_spec_str) + + +def _make_bootstrapper(conf): + """Return a bootstrap object built according to the + configuration argument + """ + btype = conf['type'] + return _bootstrap_methods[btype](conf) + + +def _source_is_trusted(conf): + trusted, name = spack.config.get('bootstrap:trusted'), conf['name'] + if name not in trusted: + return False + return trusted[name] + def spec_for_current_python(): """For bootstrapping purposes we are just interested in the Python @@ -68,72 +279,58 @@ def spack_python_interpreter(): yield -def make_module_available(module, spec=None, install=False): - """Ensure module is importable""" - # If we already can import it, that's great - try: - __import__(module) +def ensure_module_importable_or_raise(module, abstract_spec=None): + """Make the requested module available for import, or raise. + + This function tries to import a Python module in the current interpreter + using, in order, the methods configured in bootstrap.yaml. + + If none of the methods succeed, an exception is raised. The function exits + on first success. + + Args: + module (str): module to be imported in the current interpreter + abstract_spec (str): abstract spec that might provide the module. If not + given it defaults to "module" + + Raises: + ImportError: if the module couldn't be imported + """ + # If we can import it already, that's great + tty.debug("[BOOTSTRAP MODULE {0}] Try importing from Python".format(module)) + if _python_import(module): return - except ImportError: - pass - # If it's already installed, use it - # Search by spec - spec = spack.spec.Spec(spec or module) + abstract_spec = abstract_spec or module + source_configs = spack.config.get('bootstrap:sources', []) + for current_config in source_configs: + if not _source_is_trusted(current_config): + msg = ('[BOOTSTRAP MODULE {0}] Skipping source "{1}" since it is ' + 'not trusted').format(module, current_config['name']) + tty.debug(msg) + continue - # We have to run as part of this python - # We can constrain by a shortened version in place of a version range - # because this spec is only used for querying or as a placeholder to be - # replaced by an external that already has a concrete version. This syntax - # is not sufficient when concretizing without an external, as it will - # concretize to python@X.Y instead of python@X.Y.Z - python_requirement = '^' + spec_for_current_python() - spec.constrain(python_requirement) - installed_specs = spack.store.db.query(spec, installed=True) - - for ispec in installed_specs: - lib_spd = ispec['python'].package.default_site_packages_dir - lib64_spd = lib_spd.replace('lib/', 'lib64/') - module_paths = [ - os.path.join(ispec.prefix, lib_spd), - os.path.join(ispec.prefix, lib64_spd) - ] + b = _make_bootstrapper(current_config) try: - sys.path.extend(module_paths) - __import__(module) - return - except ImportError: - tty.warn("Spec %s did not provide module %s" % (ispec, module)) - sys.path = sys.path[:-2] + if b.try_import(module, abstract_spec): + return + except Exception as e: + msg = '[BOOTSTRAP MODULE {0}] Unexpected error "{1}"' + tty.debug(msg.format(module, str(e))) - def _raise_error(module_name, module_spec): - error_msg = 'cannot import module "{0}"'.format(module_name) - if module_spec: - error_msg += ' from spec "{0}'.format(module_spec) - raise ImportError(error_msg) + # We couldn't import in any way, so raise an import error + msg = 'cannot bootstrap the "{0}" Python module'.format(module) + if abstract_spec: + msg += ' from spec "{0}"'.format(abstract_spec) + raise ImportError(msg) - if not install: - _raise_error(module, spec) - with spack_python_interpreter(): - # We will install for ourselves, using this python if needed - # Concretize the spec - spec.concretize() - spec.package.do_install() - - lib_spd = spec['python'].package.default_site_packages_dir - lib64_spd = lib_spd.replace('lib/', 'lib64/') - module_paths = [ - os.path.join(spec.prefix, lib_spd), - os.path.join(spec.prefix, lib64_spd) - ] +def _python_import(module): try: - sys.path.extend(module_paths) __import__(module) - return except ImportError: - sys.path = sys.path[:-2] - _raise_error(module, spec) + return False + return True def get_executable(exe, spec=None, install=False): @@ -147,7 +344,8 @@ def get_executable(exe, spec=None, install=False): When ``install`` is True, Spack will use the python used to run Spack as an external. The ``install`` option should only be used with packages that install quickly (when using external python) or are guaranteed by Spack - organization to be in a binary mirror (clingo).""" + organization to be in a binary mirror (clingo). + """ # Search the system first runner = spack.util.executable.which(exe) if runner: @@ -260,14 +458,17 @@ def clingo_root_spec(): else: spec_str += ' %gcc' - # Add hint to use frontend operating system on Cray - if str(spack.architecture.platform()) == 'cray': - spec_str += ' os=fe' - # Add the generic target generic_target = archspec.cpu.host().family spec_str += ' target={0}'.format(str(generic_target)) tty.debug('[BOOTSTRAP ROOT SPEC] clingo: {0}'.format(spec_str)) - return spack.spec.Spec(spec_str) + return spec_str + + +def ensure_clingo_importable_or_raise(): + """Ensure that the clingo module is available for import.""" + ensure_module_importable_or_raise( + module='clingo', abstract_spec=clingo_root_spec() + ) diff --git a/lib/spack/spack/cmd/bootstrap.py b/lib/spack/spack/cmd/bootstrap.py index 2c95da117cb..b3e1c27698a 100644 --- a/lib/spack/spack/cmd/bootstrap.py +++ b/lib/spack/spack/cmd/bootstrap.py @@ -6,6 +6,7 @@ import shutil import llnl.util.tty +import llnl.util.tty.color import spack.cmd.common.arguments import spack.config @@ -51,6 +52,27 @@ def setup_parser(subparser): help='set the bootstrap directory to this value' ) + list = sp.add_parser( + 'list', help='list the methods available for bootstrapping' + ) + _add_scope_option(list) + + trust = sp.add_parser( + 'trust', help='trust a bootstrapping method' + ) + _add_scope_option(trust) + trust.add_argument( + 'name', help='name of the method to be trusted' + ) + + untrust = sp.add_parser( + 'untrust', help='untrust a bootstrapping method' + ) + _add_scope_option(untrust) + untrust.add_argument( + 'name', help='name of the method to be untrusted' + ) + def _enable_or_disable(args): # Set to True if we called "enable", otherwise set to false @@ -100,11 +122,97 @@ def _root(args): print(root) +def _list(args): + sources = spack.config.get( + 'bootstrap:sources', default=None, scope=args.scope + ) + + if not sources: + llnl.util.tty.msg( + "No method available for bootstrapping Spack's dependencies" + ) + return + + def _print_method(source, trusted): + color = llnl.util.tty.color + + def fmt(header, content): + header_fmt = "@*b{{{0}:}} {1}" + color.cprint(header_fmt.format(header, content)) + + trust_str = "@*y{UNKNOWN}" + if trusted is True: + trust_str = "@*g{TRUSTED}" + elif trusted is False: + trust_str = "@*r{UNTRUSTED}" + + fmt("Name", source['name'] + ' ' + trust_str) + print() + fmt(" Type", source['type']) + print() + + info_lines = ['\n'] + for key, value in source.get('info', {}).items(): + info_lines.append(' ' * 4 + '@*{{{0}}}: {1}\n'.format(key, value)) + if len(info_lines) > 1: + fmt(" Info", ''.join(info_lines)) + + description_lines = ['\n'] + for line in source['description'].split('\n'): + description_lines.append(' ' * 4 + line + '\n') + + fmt(" Description", ''.join(description_lines)) + + trusted = spack.config.get('bootstrap:trusted', {}) + for s in sources: + _print_method(s, trusted.get(s['name'], None)) + + +def _write_trust_state(args, value): + name = args.name + sources = spack.config.get('bootstrap:sources') + + matches = [s for s in sources if s['name'] == name] + if not matches: + names = [s['name'] for s in sources] + msg = ('there is no bootstrapping method named "{0}". Valid ' + 'method names are: {1}'.format(name, ', '.join(names))) + raise RuntimeError(msg) + + if len(matches) > 1: + msg = ('there is more than one bootstrapping method named "{0}". ' + 'Please delete all methods but one from bootstrap.yaml ' + 'before proceeding').format(name) + raise RuntimeError(msg) + + # Setting the scope explicitly is needed to not copy over to a new scope + # the entire default configuration for bootstrap.yaml + scope = args.scope or spack.config.default_modify_scope('bootstrap') + spack.config.add( + 'bootstrap:trusted:{0}:{1}'.format(name, str(value)), scope=scope + ) + + +def _trust(args): + _write_trust_state(args, value=True) + msg = '"{0}" is now trusted for bootstrapping' + llnl.util.tty.msg(msg.format(args.name)) + + +def _untrust(args): + _write_trust_state(args, value=False) + msg = '"{0}" is now untrusted and will not be used for bootstrapping' + llnl.util.tty.msg(msg.format(args.name)) + + def bootstrap(parser, args): callbacks = { 'enable': _enable_or_disable, 'disable': _enable_or_disable, 'reset': _reset, - 'root': _root + 'root': _root, + 'list': _list, + 'trust': _trust, + 'untrust': _untrust } callbacks[args.subcommand](args) diff --git a/lib/spack/spack/cmd/buildcache.py b/lib/spack/spack/cmd/buildcache.py index ea1297c726c..601b8b1476c 100644 --- a/lib/spack/spack/cmd/buildcache.py +++ b/lib/spack/spack/cmd/buildcache.py @@ -2,7 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - +import argparse import os import shutil import sys @@ -21,6 +21,7 @@ import spack.repo import spack.spec import spack.store +import spack.util.crypto import spack.util.url as url_util from spack.cmd import display_specs from spack.error import SpecError @@ -97,6 +98,8 @@ def setup_parser(subparser): install.add_argument('-o', '--otherarch', action='store_true', help="install specs from other architectures" + " instead of default platform and OS") + # This argument is needed by the bootstrapping logic to verify checksums + install.add_argument('--sha256', help=argparse.SUPPRESS) arguments.add_common_arguments(install, ['specs']) install.set_defaults(func=installtarball) @@ -495,6 +498,15 @@ def install_tarball(spec, args): else: tarball = bindist.download_tarball(spec) if tarball: + if args.sha256: + checker = spack.util.crypto.Checker(args.sha256) + msg = ('cannot verify checksum for "{0}"' + ' [expected={1}]') + msg = msg.format(tarball, args.sha256) + if not checker.check(tarball): + raise spack.binary_distribution.NoChecksumException(msg) + tty.debug('Verified SHA256 checksum of the build cache') + tty.msg('Installing buildcache for spec %s' % spec.format()) bindist.extract_tarball(spec, tarball, args.allow_root, args.unsigned, args.force) diff --git a/lib/spack/spack/hooks/sbang.py b/lib/spack/spack/hooks/sbang.py index b6e088e921d..7eff565618d 100644 --- a/lib/spack/spack/hooks/sbang.py +++ b/lib/spack/spack/hooks/sbang.py @@ -12,7 +12,6 @@ import llnl.util.filesystem as fs import llnl.util.tty as tty -import spack.modules import spack.paths import spack.store diff --git a/lib/spack/spack/relocate.py b/lib/spack/spack/relocate.py index c6af4d96e73..b77e254d4ff 100644 --- a/lib/spack/spack/relocate.py +++ b/lib/spack/spack/relocate.py @@ -88,7 +88,8 @@ def _patchelf(): return patchelf.path # Check if patchelf spec is installed - spec = spack.spec.Spec('patchelf').concretized() + spec = spack.spec.Spec('patchelf') + spec._old_concretize() exe_path = os.path.join(spec.prefix.bin, "patchelf") if spec.package.installed and os.path.exists(exe_path): return exe_path diff --git a/lib/spack/spack/schema/bootstrap.py b/lib/spack/spack/schema/bootstrap.py index 0505f090033..bd3c6630fb0 100644 --- a/lib/spack/spack/schema/bootstrap.py +++ b/lib/spack/spack/schema/bootstrap.py @@ -4,6 +4,19 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) """Schema for bootstrap.yaml configuration file.""" +#: Schema of a single source +_source_schema = { + 'type': 'object', + 'properties': { + 'name': {'type': 'string'}, + 'description': {'type': 'string'}, + 'type': {'type': 'string'}, + 'info': {'type': 'object'} + }, + 'additionalProperties': False, + 'required': ['name', 'description', 'type'] +} + properties = { 'bootstrap': { 'type': 'object', @@ -12,6 +25,14 @@ 'root': { 'type': 'string' }, + 'sources': { + 'type': 'array', + 'items': _source_schema + }, + 'trusted': { + 'type': 'object', + 'patternProperties': {r'\w[\w-]*': {'type': 'boolean'}} + } } } } diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index 2c0a0725489..3c090bdbbc0 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -267,14 +267,8 @@ def __init__(self, cores=True, asp=None): """ global clingo if not clingo: - # TODO: Find a way to vendor the concrete spec - # in a cross-platform way with spack.bootstrap.ensure_bootstrap_configuration(): - clingo_spec = spack.bootstrap.clingo_root_spec() - clingo_spec._old_concretize() - spack.bootstrap.make_module_available( - 'clingo', spec=clingo_spec, install=True - ) + spack.bootstrap.ensure_clingo_importable_or_raise() import clingo self.out = asp or llnl.util.lang.Devnull() self.cores = cores diff --git a/lib/spack/spack/test/cmd/bootstrap.py b/lib/spack/spack/test/cmd/bootstrap.py index 0537d85faa4..652721d721b 100644 --- a/lib/spack/spack/test/cmd/bootstrap.py +++ b/lib/spack/spack/test/cmd/bootstrap.py @@ -99,3 +99,49 @@ def test_reset_in_file_scopes_overwrites_backup_files(mutable_config): _bootstrap('reset', '-y') assert not os.path.exists(bootstrap_yaml) assert os.path.exists(backup_file) + + +def test_list_sources(capsys): + # Get the merged list and ensure we get our defaults + with capsys.disabled(): + output = _bootstrap('list') + assert "github-actions" in output + + # Ask for a specific scope and check that the list of sources is empty + with capsys.disabled(): + output = _bootstrap('list', '--scope', 'user') + assert "No method available" in output + + +@pytest.mark.parametrize('command,value', [ + ('trust', True), + ('untrust', False) +]) +def test_trust_or_untrust_sources(mutable_config, command, value): + key = 'bootstrap:trusted:github-actions' + trusted = spack.config.get(key, default=None) + assert trusted is None + + _bootstrap(command, 'github-actions') + trusted = spack.config.get(key, default=None) + assert trusted is value + + +def test_trust_or_untrust_fails_with_no_method(mutable_config): + with pytest.raises(RuntimeError, match='no bootstrapping method'): + _bootstrap('trust', 'foo') + + +def test_trust_or_untrust_fails_with_more_than_one_method(mutable_config): + wrong_config = {'sources': [ + {'name': 'github-actions', + 'type': 'buildcache', + 'description': ''}, + {'name': 'github-actions', + 'type': 'buildcache', + 'description': 'Another entry'}], + 'trusted': {} + } + with spack.config.override('bootstrap', wrong_config): + with pytest.raises(RuntimeError, match='more than one'): + _bootstrap('trust', 'github-actions') diff --git a/lib/spack/spack/test/data/config/bootstrap.yaml b/lib/spack/spack/test/data/config/bootstrap.yaml new file mode 100644 index 00000000000..9e78aa79467 --- /dev/null +++ b/lib/spack/spack/test/data/config/bootstrap.yaml @@ -0,0 +1,12 @@ +bootstrap: + sources: + - name: 'github-actions' + type: buildcache + description: | + Buildcache generated from a public workflow using Github Actions. + The sha256 checksum of binaries is checked before installation. + info: + url: file:///home/culpo/production/spack/mirrors/clingo + homepage: https://github.com/alalazo/spack-bootstrap-mirrors + releases: https://github.com/alalazo/spack-bootstrap-mirrors/releases + trusted: {} diff --git a/share/spack/bootstrap/github-actions/clingo.json b/share/spack/bootstrap/github-actions/clingo.json new file mode 100644 index 00000000000..3068ad1f191 --- /dev/null +++ b/share/spack/bootstrap/github-actions/clingo.json @@ -0,0 +1,257 @@ +{ + "verified": [ + { + "binaries": [ + [ + "clingo-bootstrap", + "m4ertsh3ooxdisc5tigglublasu4udfe", + "094548672362306d75012398a6f9b1e8c0f796c833163ca77cf644d84822f25f" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "iv4gr5vscx2io23ljgdueybwatxlk6wo", + "c8110c68ec339d05155392818b21ba87b27905ad798f5f3f194d6312385dbdc2" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "rwxcxsohrkp5iai3yushsltkdprjmexb", + "fbee764cac890a29bc03c472d3ba0401e915d6924a7cedac9fd8d961159b70e7" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "p5on7i4hejl775ezndzfdkhvwra3hatn", + "35e32f7c1f80e99da450b52643800fd2895ee2f895109f708b5cf0da6afbedff" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "omsvlh5v6fi2saw5qyqvzsbvqpvrf5yw", + "cef0e554737dbf22655094d8ae072c67539cce2a37cba1577aeb5aea18b5747c" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "qguh44xegb72y4q4lar3ufjddissoumv", + "68d2d0c06690d75a794aa2c50be9d6d501fec1b566784bf87b1fc5611f84f3c9" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "tsypkz7hyylmh5pwpykaf7wcmdunrdiv", + "3b8e3e6e21e399a90c4128776cc591734f9d533f0a7e64ed8babd9cbcf616e3d" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "2w6b4q5j2zgra6t3zfrjfbvsnoi5yqmk", + "4f335e02641f6ecc7ec7d9d2b8293d07d6e7a7234034531713b760aaa507fa7c" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "ij7udwpgeghdfoswljwdtwwaylvudze7", + "b5eedf593f198e523aebf6ce127fd8ffcf3d1c980a920cdf1c5a0d2a335e4892" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "a5ppijpzmk7ubjem4i3zttbxp545vjuz", + "8f9755c16c0c99b5c40c420f2c1c6aec2bdff99b25444e001506527af18dd94e" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "tsnva2bxjguosntz3tk5mqbdgrjvhfcc", + "bcd093c08110309e705beebccd012260a61215eda12c1d47f3a89d4734ec7170" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "rfu4la457mdbpoffk2g5hikj2hhoek4s", + "b6417b9b90f3f4e98caaa869393edee08fad3d3c7db37fad8b332c785d0e81e6" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "qg3utj2csbgtdwc2slqbjmwn25rkor5r", + "a1760e064d41d364cdf53f89248f7824dad9bf97c6b999df18343b57d21c06ed" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "uxkpc2euofdkgveonftklstnxyha5wsf", + "d6a04e7b15dae05eacce54806fa18356b392a5e2d212a55bf0960116b8e9dfef" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "i2uoawqsmmkr2uwb42oxfsnt4djzejrj", + "6511837f87e50c40a7f4aab2ec7454e5200594821e4d1fc4a441d3be647b9acb" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "p3bqplnwqo66lvvolmtaezck77jafrc4", + "436f9483e4028c12c32ba9f4e7e91e944bf9819ef487dfe4e42ddd1d487c93ee" + ] + ], + "python": "python@2.6", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "rpa6yyujr7ilnfcowq2pbmkmh7uzrijp", + "3be0f4ccd412d45506f9f305ef7f6621cd246fbde97aed081595d01dafe3c397" + ] + ], + "python": "python@2.7+ucs4", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "y32mbn7swer3yxvgf6tmkgekpo23uo5z", + "f6e0716bd97f2df123abcd96ec8884c525a9fd10b81e0062784e7b0d2df3f622" + ] + ], + "python": "python@2.7~ucs4", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "ohtmyp5c74xt75csx4llbjs5anobryp6", + "7d613ddbca1640d761311fb00403c0cb65e279534c44a2129b8d9610f6146e78" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "vcipwnf57slgoo7busvvkzjkk7vydeb5", + "db5222760045f20ad1e5c194179d31273b8e4bfa6ade38e15cd3182d685cc05b" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "ffoyoewfd6pdwbjniodfkqusyvkrbhyi", + "14cea5f6cfd86bcb8de38ad8c1a5e44cc22955de2e7c78b825b617dccd107dbe" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "kt74l7kjzrlp3cgtj2576o33mhsrgyrw", + "e71de4beb68bb3e58bd2dcb98dc3be3a375c82781b6f7cb01bc5d552c2240bd2" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "hmnv6gk5wha64k6r3s7hid35mzvhkuot", + "b08ff59357fa184ce39b8cc0a17aaf7f0a925a449ab389e1afa4eab6ae026f2e" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + } + ] +} \ No newline at end of file diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 03e9770c37a..1281ca73499 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -421,7 +421,7 @@ _spack_bootstrap() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="enable disable reset root" + SPACK_COMPREPLY="enable disable reset root list trust untrust" fi } @@ -446,6 +446,28 @@ _spack_bootstrap_root() { fi } +_spack_bootstrap_list() { + SPACK_COMPREPLY="-h --help --scope" +} + +_spack_bootstrap_trust() { + if $list_options + then + SPACK_COMPREPLY="-h --help --scope" + else + SPACK_COMPREPLY="" + fi +} + +_spack_bootstrap_untrust() { + if $list_options + then + SPACK_COMPREPLY="-h --help --scope" + else + SPACK_COMPREPLY="" + fi +} + _spack_build_env() { if $list_options then @@ -476,7 +498,7 @@ _spack_buildcache_create() { _spack_buildcache_install() { if $list_options then - SPACK_COMPREPLY="-h --help -f --force -m --multiple -a --allow-root -u --unsigned -o --otherarch" + SPACK_COMPREPLY="-h --help -f --force -m --multiple -a --allow-root -u --unsigned -o --otherarch --sha256" else _all_packages fi From c865aaaa0fbfe7b443d76bd8fed6b991068ddf06 Mon Sep 17 00:00:00 2001 From: tehyayi11 <89051494+tehyayi11@users.noreply.github.com> Date: Wed, 18 Aug 2021 17:11:46 -0700 Subject: [PATCH 245/414] seacas: add lib directory to pythonpath in run environment (#25453) --- var/spack/repos/builtin/packages/seacas/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index 1fa8fb193d9..d1959d61195 100644 --- a/var/spack/repos/builtin/packages/seacas/package.py +++ b/var/spack/repos/builtin/packages/seacas/package.py @@ -98,6 +98,9 @@ class Seacas(CMakePackage): depends_on('cmake@3.1:', type='build') + def setup_run_environment(self, env): + env.prepend_path('PYTHONPATH', self.prefix.lib) + def cmake_args(self): spec = self.spec from_variant = self.define_from_variant From cd91abcf880e61c63c10b0f51be67f482b2149fc Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Wed, 18 Aug 2021 18:01:14 -0700 Subject: [PATCH 246/414] WarpX: Check & Smoke Tests (#25352) Run an example at build time with: ``` spack install --test=root warpx@ ``` Ref.: https://spack.readthedocs.io/en/latest/packaging_guide.html#stand-alone-or-smoke-tests Run smoke-tests after install and loading of the package via ``` spack load -r / spack test run / ``` --- .../repos/builtin/packages/warpx/package.py | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py index bf2b12c8f30..03d0e3884df 100644 --- a/var/spack/repos/builtin/packages/warpx/package.py +++ b/var/spack/repos/builtin/packages/warpx/package.py @@ -135,3 +135,53 @@ def libs(self): ['libwarpx.' + libsuffix[dims]], root=self.prefix, recursive=True, shared=True ) + + # WarpX has many examples to serve as a suitable smoke check. One + # that is typical was chosen here + examples_src_dir = 'Examples/Physics_applications/laser_acceleration/' + + def _get_input_options(self, post_install): + examples_dir = join_path( + self.install_test_root if post_install else self.stage.source_path, + self.examples_src_dir) + dims = self.spec.variants['dims'].value + inputs_nD = {'2': 'inputs_2d', '3': 'inputs_3d', 'rz': 'inputs_2d_rz'} + inputs = join_path(examples_dir, inputs_nD[dims]) + + cli_args = [inputs, "max_step=50", "diag1.intervals=10"] + # test openPMD output if compiled in + if '+openpmd' in self.spec: + cli_args.append('diag1.format=openpmd') + return cli_args + + def check(self): + """Checks after the build phase""" + if '+app' not in self.spec: + print("WarpX check skipped: requires variant +app") + pass + + with working_dir("spack-check", create=True): + cli_args = self._get_input_options(False) + warpx = Executable(join_path(self.build_directory, 'bin/warpx')) + warpx(*cli_args) + + @run_after('install') + def copy_test_sources(self): + """Copy the example input files after the package is installed to an + install test subdirectory for use during `spack test run`.""" + self.cache_extra_test_sources([self.examples_src_dir]) + + def test(self): + """Perform smoke tests on the installed package.""" + if '+app' not in self.spec: + print("WarpX smoke tests skipped: requires variant +app") + pass + + # our executable names are a variant-dependent and naming evolves + exe = find(self.prefix.bin, 'warpx.*', recursive=False)[0] + + cli_args = self._get_input_options(True) + self.run_test(exe, + cli_args, + [], installed=True, purpose='Smoke test for WarpX', + skip_missing=False) From 350372e3bf9c1ac5de2e7e74a3ccd8a46f7e1d5d Mon Sep 17 00:00:00 2001 From: Scott Wittenburg Date: Thu, 19 Aug 2021 12:15:40 -0600 Subject: [PATCH 247/414] buildcache: Add environment-aware buildcache sync command (#25470) --- lib/spack/spack/cmd/buildcache.py | 151 +++++++++++++++++++++++++ lib/spack/spack/test/cmd/buildcache.py | 77 +++++++++++++ share/spack/spack-completion.bash | 6 +- 3 files changed, 233 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/cmd/buildcache.py b/lib/spack/spack/cmd/buildcache.py index 601b8b1476c..8fc0b6a04e0 100644 --- a/lib/spack/spack/cmd/buildcache.py +++ b/lib/spack/spack/cmd/buildcache.py @@ -6,6 +6,7 @@ import os import shutil import sys +import tempfile import llnl.util.tty as tty @@ -15,6 +16,7 @@ import spack.cmd.common.arguments as arguments import spack.config import spack.environment as ev +import spack.fetch_strategy as fs import spack.hash_types as ht import spack.mirror import spack.relocate @@ -23,9 +25,11 @@ import spack.store import spack.util.crypto import spack.util.url as url_util +import spack.util.web as web_util from spack.cmd import display_specs from spack.error import SpecError from spack.spec import Spec, save_dependency_spec_yamls +from spack.stage import Stage from spack.util.string import plural description = "create, download and install binary packages" @@ -226,6 +230,36 @@ def setup_parser(subparser): help='Destination mirror url') copy.set_defaults(func=buildcache_copy) + # Sync buildcache entries from one mirror to another + sync = subparsers.add_parser('sync', help=buildcache_sync.__doc__) + source = sync.add_mutually_exclusive_group(required=True) + source.add_argument('--src-directory', + metavar='DIRECTORY', + type=str, + help="Source mirror as a local file path") + source.add_argument('--src-mirror-name', + metavar='MIRROR_NAME', + type=str, + help="Name of the source mirror") + source.add_argument('--src-mirror-url', + metavar='MIRROR_URL', + type=str, + help="URL of the source mirror") + dest = sync.add_mutually_exclusive_group(required=True) + dest.add_argument('--dest-directory', + metavar='DIRECTORY', + type=str, + help="Destination mirror as a local file path") + dest.add_argument('--dest-mirror-name', + metavar='MIRROR_NAME', + type=str, + help="Name of the destination mirror") + dest.add_argument('--dest-mirror-url', + metavar='MIRROR_URL', + type=str, + help="URL of the destination mirror") + sync.set_defaults(func=buildcache_sync) + # Update buildcache index without copying any additional packages update_index = subparsers.add_parser( 'update-index', help=buildcache_update_index.__doc__) @@ -779,6 +813,123 @@ def buildcache_copy(args): shutil.copyfile(cdashid_src_path, cdashid_dest_path) +def buildcache_sync(args): + """ Syncs binaries (and associated metadata) from one mirror to another. + Requires an active environment in order to know which specs to sync. + + Args: + src (str): Source mirror URL + dest (str): Destination mirror URL + """ + # Figure out the source mirror + source_location = None + if args.src_directory: + source_location = args.src_directory + scheme = url_util.parse(source_location, scheme='').scheme + if scheme != '': + raise ValueError( + '"--src-directory" expected a local path; got a URL, instead') + # Ensure that the mirror lookup does not mistake this for named mirror + source_location = 'file://' + source_location + elif args.src_mirror_name: + source_location = args.src_mirror_name + result = spack.mirror.MirrorCollection().lookup(source_location) + if result.name == "": + raise ValueError( + 'no configured mirror named "{name}"'.format( + name=source_location)) + elif args.src_mirror_url: + source_location = args.src_mirror_url + scheme = url_util.parse(source_location, scheme='').scheme + if scheme == '': + raise ValueError( + '"{url}" is not a valid URL'.format(url=source_location)) + + src_mirror = spack.mirror.MirrorCollection().lookup(source_location) + src_mirror_url = url_util.format(src_mirror.fetch_url) + + # Figure out the destination mirror + dest_location = None + if args.dest_directory: + dest_location = args.dest_directory + scheme = url_util.parse(dest_location, scheme='').scheme + if scheme != '': + raise ValueError( + '"--dest-directory" expected a local path; got a URL, instead') + # Ensure that the mirror lookup does not mistake this for named mirror + dest_location = 'file://' + dest_location + elif args.dest_mirror_name: + dest_location = args.dest_mirror_name + result = spack.mirror.MirrorCollection().lookup(dest_location) + if result.name == "": + raise ValueError( + 'no configured mirror named "{name}"'.format( + name=dest_location)) + elif args.dest_mirror_url: + dest_location = args.dest_mirror_url + scheme = url_util.parse(dest_location, scheme='').scheme + if scheme == '': + raise ValueError( + '"{url}" is not a valid URL'.format(url=dest_location)) + + dest_mirror = spack.mirror.MirrorCollection().lookup(dest_location) + dest_mirror_url = url_util.format(dest_mirror.fetch_url) + + # Get the active environment + env = ev.get_env(args, 'buildcache sync', required=True) + + tty.msg('Syncing environment buildcache files from {0} to {1}'.format( + src_mirror_url, dest_mirror_url)) + + build_cache_dir = bindist.build_cache_relative_path() + buildcache_rel_paths = [] + + tty.debug('Syncing the following specs:') + for s in env.all_specs(): + tty.debug(' {0}{1}: {2}'.format( + '* ' if s in env.roots() else ' ', s.name, s.dag_hash())) + + buildcache_rel_paths.extend([ + os.path.join( + build_cache_dir, bindist.tarball_path_name(s, '.spack')), + os.path.join( + build_cache_dir, bindist.tarball_name(s, '.spec.yaml')), + os.path.join( + build_cache_dir, bindist.tarball_name(s, '.cdashid')) + ]) + + tmpdir = tempfile.mkdtemp() + + try: + for rel_path in buildcache_rel_paths: + src_url = url_util.join(src_mirror_url, rel_path) + local_path = os.path.join(tmpdir, rel_path) + dest_url = url_util.join(dest_mirror_url, rel_path) + + tty.debug('Copying {0} to {1} via {2}'.format( + src_url, dest_url, local_path)) + + stage = Stage(src_url, + name="temporary_file", + path=os.path.dirname(local_path), + keep=True) + + try: + stage.create() + stage.fetch() + web_util.push_to_url( + local_path, + dest_url, + keep_original=True) + except fs.FetchError as e: + tty.debug('spack buildcache unable to sync {0}'.format(rel_path)) + tty.debug(e) + finally: + stage.destroy() + finally: + shutil.rmtree(tmpdir) + + def update_index(mirror_url, update_keys=False): mirror = spack.mirror.MirrorCollection().lookup(mirror_url) outdir = url_util.format(mirror.push_url) diff --git a/lib/spack/spack/test/cmd/buildcache.py b/lib/spack/spack/test/cmd/buildcache.py index d67f709a6ba..bf615634e7a 100644 --- a/lib/spack/spack/test/cmd/buildcache.py +++ b/lib/spack/spack/test/cmd/buildcache.py @@ -6,6 +6,7 @@ import errno import os import platform +import shutil import pytest @@ -172,3 +173,79 @@ def test_update_key_index(tmpdir, mutable_mock_env_path, mirror('rm', 'test-mirror') assert 'index.json' in key_dir_list + + +def test_buildcache_sync(mutable_mock_env_path, install_mockery_mutable_config, + mock_packages, mock_fetch, mock_stage, tmpdir): + """ + Make sure buildcache sync works in an environment-aware manner, ignoring + any specs that may be in the mirror but not in the environment. + """ + working_dir = tmpdir.join('working_dir') + + src_mirror_dir = working_dir.join('src_mirror').strpath + src_mirror_url = 'file://{0}'.format(src_mirror_dir) + + dest_mirror_dir = working_dir.join('dest_mirror').strpath + dest_mirror_url = 'file://{0}'.format(dest_mirror_dir) + + in_env_pkg = 'trivial-install-test-package' + out_env_pkg = 'libdwarf' + + def verify_mirror_contents(): + dest_list = os.listdir( + os.path.join(dest_mirror_dir, 'build_cache')) + + found_pkg = False + + for p in dest_list: + assert(out_env_pkg not in p) + if in_env_pkg in p: + found_pkg = True + + if not found_pkg: + print('Expected to find {0} in {1}'.format( + in_env_pkg, dest_mirror_dir)) + assert(False) + + # Install a package and put it in the buildcache + s = Spec(out_env_pkg).concretized() + install(s.name) + buildcache( + 'create', '-u', '-f', '-a', '--mirror-url', src_mirror_url, s.name) + + env('create', 'test') + with ev.read('test'): + add(in_env_pkg) + install() + buildcache( + 'create', '-u', '-f', '-a', '--mirror-url', src_mirror_url, in_env_pkg) + + # Now run the spack buildcache sync command with all the various options + # for specifying mirrors + + # Use urls to specify mirrors + buildcache('sync', + '--src-mirror-url', src_mirror_url, + '--dest-mirror-url', dest_mirror_url) + + verify_mirror_contents() + shutil.rmtree(dest_mirror_dir) + + # Use local directory paths to specify fs locations + buildcache('sync', + '--src-directory', src_mirror_dir, + '--dest-directory', dest_mirror_dir) + + verify_mirror_contents() + shutil.rmtree(dest_mirror_dir) + + # Use mirror names to specify mirrors + mirror('add', 'src', src_mirror_url) + mirror('add', 'dest', dest_mirror_url) + + buildcache('sync', + '--src-mirror-name', 'src', + '--dest-mirror-name', 'dest') + + verify_mirror_contents() diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 1281ca73499..ef15f38c6b6 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -482,7 +482,7 @@ _spack_buildcache() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="create install list keys preview check download get-buildcache-name save-yaml copy update-index" + SPACK_COMPREPLY="create install list keys preview check download get-buildcache-name save-yaml copy sync update-index" fi } @@ -546,6 +546,10 @@ _spack_buildcache_copy() { SPACK_COMPREPLY="-h --help --base-dir --spec-yaml --destination-url" } +_spack_buildcache_sync() { + SPACK_COMPREPLY="-h --help --src-directory --src-mirror-name --src-mirror-url --dest-directory --dest-mirror-name --dest-mirror-url" +} + _spack_buildcache_update_index() { SPACK_COMPREPLY="-h --help -d --mirror-url -k --keys" } From 10695f1ed36bdaf6f813b261698e6a02b99d1f1c Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 19 Aug 2021 23:03:10 +0200 Subject: [PATCH 248/414] Use kcov from official Ubuntu 20.04 repository (#25385) * Ubuntu 20.04 provides kcov, so don't build from source * Use two undocumented options for kcov v3.8 --- .github/workflows/unit_tests.yaml | 48 ++----------------------------- share/spack/qa/bashcov | 5 +++- share/spack/qa/run-shell-tests | 4 +-- share/spack/qa/setup.sh | 4 +-- 4 files changed, 11 insertions(+), 50 deletions(-) diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index b45249f3713..6436b6f6ad2 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -131,10 +131,7 @@ jobs: # Needed for unit tests sudo apt-get -y install \ coreutils cvs gfortran graphviz gnupg2 mercurial ninja-build \ - patchelf - # Needed for kcov - sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev - sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev + patchelf cmake bison libbison-dev kcov - name: Install Python packages run: | pip install --upgrade pip six setuptools codecov coverage[toml] @@ -148,17 +145,6 @@ jobs: # Need this for the git tests to succeed. git --version . .github/workflows/setup_git.sh - - name: Install kcov for bash script coverage - if: ${{ needs.changes.outputs.with_coverage == 'true' }} - env: - KCOV_VERSION: 34 - run: | - KCOV_ROOT=$(mktemp -d) - wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz - tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz - mkdir -p ${KCOV_ROOT}/build - cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd - - make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install - name: Bootstrap clingo if: ${{ matrix.concretizer == 'clingo' }} env: @@ -204,10 +190,7 @@ jobs: run: | sudo apt-get -y update # Needed for shell tests - sudo apt-get install -y coreutils csh zsh tcsh fish dash bash - # Needed for kcov - sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev - sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev + sudo apt-get install -y coreutils kcov csh zsh tcsh fish dash bash - name: Install Python packages run: | pip install --upgrade pip six setuptools codecov coverage[toml] @@ -216,17 +199,6 @@ jobs: # Need this for the git tests to succeed. git --version . .github/workflows/setup_git.sh - - name: Install kcov for bash script coverage - if: ${{ needs.changes.outputs.with_coverage == 'true' }} - env: - KCOV_VERSION: 38 - run: | - KCOV_ROOT=$(mktemp -d) - wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz - tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz - mkdir -p ${KCOV_ROOT}/build - cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd - - make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install - name: Run shell tests (without coverage) if: ${{ needs.changes.outputs.with_coverage == 'false' }} run: | @@ -314,21 +286,7 @@ jobs: # Needed for unit tests sudo apt-get -y install \ coreutils cvs gfortran graphviz gnupg2 mercurial ninja-build \ - patchelf - # Needed for kcov - sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev - sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev - - name: Install kcov for bash script coverage - if: ${{ needs.changes.outputs.with_coverage == 'true' }} - env: - KCOV_VERSION: 34 - run: | - KCOV_ROOT=$(mktemp -d) - wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz - tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz - mkdir -p ${KCOV_ROOT}/build - cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd - - make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install + patchelf kcov - name: Install Python packages run: | pip install --upgrade pip six setuptools codecov coverage[toml] clingo diff --git a/share/spack/qa/bashcov b/share/spack/qa/bashcov index 58fa4fe0d05..4ca684f42bf 100755 --- a/share/spack/qa/bashcov +++ b/share/spack/qa/bashcov @@ -9,4 +9,7 @@ if [ -z "$SPACK_ROOT" ]; then exit 1 fi -kcov "$SPACK_ROOT/coverage" "$@" +# Using a -- to separate the script to be tested from kcov is not documented +# as of v38, but seems to work. The same is true for the "--debug-force-bash-stderr" +# option, see https://github.com/SimonKagstrom/kcov/issues/61 +kcov --debug-force-bash-stderr "$SPACK_ROOT/coverage" -- "$@" diff --git a/share/spack/qa/run-shell-tests b/share/spack/qa/run-shell-tests index 22bf4b8abab..ea67b4c8207 100755 --- a/share/spack/qa/run-shell-tests +++ b/share/spack/qa/run-shell-tests @@ -38,8 +38,8 @@ cd "$SPACK_ROOT" # Run bash tests with coverage enabled, but pipe output to /dev/null # because it seems that kcov seems to undo the script's redirection if [ "$COVERAGE" = true ]; then - "$QA_DIR/bashcov" "$QA_DIR/setup-env-test.sh" &> /dev/null - "$QA_DIR/bashcov" "$QA_DIR/completion-test.sh" &> /dev/null + kcov "$SPACK_ROOT/coverage" "$QA_DIR/setup-env-test.sh" &> /dev/null + kcov "$SPACK_ROOT/coverage" "$QA_DIR/completion-test.sh" &> /dev/null else bash "$QA_DIR/setup-env-test.sh" bash "$QA_DIR/completion-test.sh" diff --git a/share/spack/qa/setup.sh b/share/spack/qa/setup.sh index b15d3a4021f..9559f9b7936 100755 --- a/share/spack/qa/setup.sh +++ b/share/spack/qa/setup.sh @@ -31,10 +31,10 @@ if [[ "$COVERAGE" == "true" ]]; then bashcov=$(realpath ${QA_DIR}/bashcov) # instrument scripts requiring shell coverage - sed -i~ "s@#\!/bin/bash@#\!${bashcov}@" "$SPACK_ROOT/lib/spack/env/cc" + sed -i "s@#\!/bin/bash@#\!${bashcov}@" "$SPACK_ROOT/lib/spack/env/cc" if [ "$(uname -o)" != "Darwin" ]; then # On darwin, #! interpreters must be binaries, so no sbang for bashcov - sed -i~ "s@#\!/bin/sh@#\!${bashcov}@" "$SPACK_ROOT/bin/sbang" + sed -i "s@#\!/bin/sh@#\!${bashcov}@" "$SPACK_ROOT/bin/sbang" fi fi From 220a87812c0af395cb9e455d5aba8e0f6306715b Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 04:01:37 +0200 Subject: [PATCH 249/414] New `spack.environment.active_environment` api, and make spack.environment not depend on spack.cmd. (#25439) * Refactor active environment getters - Make `spack.environment.active_environment` a trivial getter for the active environment, replacing `spack.environment.get_env` when the arguments are not needed - New method `spack.cmd.require_active_environment(cmd_name)` for commands that require an environment (rather than abusing get_env/active_environment) - Clean up calling code to call spack.environment.active_environment or spack.cmd.require_active_environment as appropriate - Remove the `-e` parsing from `active_environment`, because `main.py` is responsible for processing `-e` and already activates the environment. - Move `spack.environment.find_environment` to `spack.cmd.find_environment`, to avoid having spack.environment aware of argparse. - Refactor `spack install` command so argument parsing is all handled in the command, no argparse in spack.environment or spack.installer - Update documentation * Python 2: toplevel import errors only with 'as ev' In two files, `import spack.environment as ev` leads to errors These errors are not well understood ("'module' object has no attribute 'environment'"). All other files standardize on the above syntax. --- lib/spack/llnl/util/lang.py | 16 +++ lib/spack/spack/architecture.py | 3 +- lib/spack/spack/cmd/__init__.py | 87 ++++++++++--- lib/spack/spack/cmd/activate.py | 3 +- lib/spack/spack/cmd/add.py | 3 +- lib/spack/spack/cmd/analyze.py | 2 +- lib/spack/spack/cmd/buildcache.py | 4 +- lib/spack/spack/cmd/ci.py | 6 +- lib/spack/spack/cmd/concretize.py | 3 +- lib/spack/spack/cmd/config.py | 2 +- lib/spack/spack/cmd/deactivate.py | 2 +- lib/spack/spack/cmd/dependencies.py | 2 +- lib/spack/spack/cmd/dependents.py | 2 +- lib/spack/spack/cmd/deprecate.py | 2 +- lib/spack/spack/cmd/develop.py | 3 +- lib/spack/spack/cmd/diff.py | 2 +- lib/spack/spack/cmd/env.py | 11 +- lib/spack/spack/cmd/extensions.py | 2 +- lib/spack/spack/cmd/fetch.py | 2 +- lib/spack/spack/cmd/find.py | 2 +- lib/spack/spack/cmd/gc.py | 4 +- lib/spack/spack/cmd/install.py | 14 +-- lib/spack/spack/cmd/load.py | 2 +- lib/spack/spack/cmd/location.py | 5 +- lib/spack/spack/cmd/mirror.py | 2 +- lib/spack/spack/cmd/remove.py | 3 +- lib/spack/spack/cmd/stage.py | 2 +- lib/spack/spack/cmd/test.py | 4 +- lib/spack/spack/cmd/undevelop.py | 3 +- lib/spack/spack/cmd/uninstall.py | 2 +- lib/spack/spack/cmd/verify.py | 2 +- lib/spack/spack/cmd/view.py | 2 +- lib/spack/spack/concretize.py | 3 +- lib/spack/spack/container/__init__.py | 4 +- lib/spack/spack/container/writers/__init__.py | 6 +- lib/spack/spack/environment.py | 117 ++---------------- .../spack/hooks/module_file_generation.py | 4 +- lib/spack/spack/main.py | 2 +- lib/spack/spack/modules/common.py | 6 +- lib/spack/spack/package.py | 3 +- lib/spack/spack/relocate.py | 1 - lib/spack/spack/solver/asp.py | 6 +- lib/spack/spack/stage.py | 4 +- lib/spack/spack/test/cmd/bootstrap.py | 4 +- lib/spack/spack/test/cmd/ci.py | 2 +- lib/spack/spack/test/cmd/common/arguments.py | 4 +- lib/spack/spack/test/cmd/env.py | 6 +- lib/spack/spack/test/config.py | 6 +- lib/spack/spack/test/conftest.py | 6 +- lib/spack/spack/util/path.py | 2 +- lib/spack/spack/util/web.py | 1 - 51 files changed, 176 insertions(+), 215 deletions(-) diff --git a/lib/spack/llnl/util/lang.py b/lib/spack/llnl/util/lang.py index abb889ee7b9..408648f1c1a 100644 --- a/lib/spack/llnl/util/lang.py +++ b/lib/spack/llnl/util/lang.py @@ -933,3 +933,19 @@ class Devnull(object): """ def write(self, *_): pass + + +def elide_list(line_list, max_num=10): + """Takes a long list and limits it to a smaller number of elements, + replacing intervening elements with '...'. For example:: + + elide_list([1,2,3,4,5,6], 4) + + gives:: + + [1, 2, 3, '...', 6] + """ + if len(line_list) > max_num: + return line_list[:max_num - 1] + ['...'] + line_list[-1:] + else: + return line_list diff --git a/lib/spack/spack/architecture.py b/lib/spack/spack/architecture.py index 44ce51ddfd2..c9217e09415 100644 --- a/lib/spack/spack/architecture.py +++ b/lib/spack/spack/architecture.py @@ -72,6 +72,7 @@ import spack.config import spack.error as serr import spack.paths +import spack.spec import spack.util.classes import spack.util.executable import spack.version @@ -197,7 +198,6 @@ def optimization_flags(self, compiler): contains both the name and the version of the compiler we want to use """ # Mixed toolchains are not supported yet - import spack.compilers if isinstance(compiler, spack.compiler.Compiler): if spack.compilers.is_mixed_toolchain(compiler): msg = ('microarchitecture specific optimizations are not ' @@ -218,7 +218,6 @@ def optimization_flags(self, compiler): # of its name in compilers.yaml. Depending on where this function # is called we might get either a CompilerSpec or a fully fledged # compiler object. - import spack.spec if isinstance(compiler, spack.spec.CompilerSpec): compiler = spack.compilers.compilers_for_spec(compiler).pop() try: diff --git a/lib/spack/spack/cmd/__init__.py b/lib/spack/spack/cmd/__init__.py index 3944d5450e5..f0a70308222 100644 --- a/lib/spack/spack/cmd/__init__.py +++ b/lib/spack/spack/cmd/__init__.py @@ -21,6 +21,7 @@ from llnl.util.tty.color import colorize import spack.config +import spack.environment as ev import spack.error import spack.extensions import spack.paths @@ -186,29 +187,13 @@ def matching_spec_from_env(spec): If no matching spec is found in the environment (or if no environment is active), this will return the given spec but concretized. """ - env = spack.environment.get_env({}, cmd_name) + env = ev.active_environment() if env: return env.matching_spec(spec) or spec.concretized() else: return spec.concretized() -def elide_list(line_list, max_num=10): - """Takes a long list and limits it to a smaller number of elements, - replacing intervening elements with '...'. For example:: - - elide_list([1,2,3,4,5,6], 4) - - gives:: - - [1, 2, 3, '...', 6] - """ - if len(line_list) > max_num: - return line_list[:max_num - 1] + ['...'] + line_list[-1:] - else: - return line_list - - def disambiguate_spec(spec, env, local=False, installed=True, first=False): """Given a spec, figure out which installed package it refers to. @@ -501,3 +486,71 @@ def extant_file(f): if not os.path.isfile(f): raise argparse.ArgumentTypeError('%s does not exist' % f) return f + + +def require_active_env(cmd_name): + """Used by commands to get the active environment + + If an environment is not found, print an error message that says the calling + command *needs* an active environment. + + Arguments: + cmd_name (str): name of calling command + + Returns: + (spack.environment.Environment): the active environment + """ + env = ev.active_environment() + + if env: + return env + else: + tty.die( + '`spack %s` requires an environment' % cmd_name, + 'activate an environment first:', + ' spack env activate ENV', + 'or use:', + ' spack -e ENV %s ...' % cmd_name) + + +def find_environment(args): + """Find active environment from args or environment variable. + + Check for an environment in this order: + 1. via ``spack -e ENV`` or ``spack -D DIR`` (arguments) + 2. via a path in the spack.environment.spack_env_var environment variable. + + If an environment is found, read it in. If not, return None. + + Arguments: + args (argparse.Namespace): argparse namespace with command arguments + + Returns: + (spack.environment.Environment): a found environment, or ``None`` + """ + + # treat env as a name + env = args.env + if env: + if ev.exists(env): + return ev.read(env) + + else: + # if env was specified, see if it is a directory otherwise, look + # at env_dir (env and env_dir are mutually exclusive) + env = args.env_dir + + # if no argument, look for the environment variable + if not env: + env = os.environ.get(ev.spack_env_var) + + # nothing was set; there's no active environment + if not env: + return None + + # if we get here, env isn't the name of a spack environment; it has + # to be a path to an environment, or there is something wrong. + if ev.is_env_dir(env): + return ev.Environment(env) + + raise ev.SpackEnvironmentError('no environment in %s' % env) diff --git a/lib/spack/spack/cmd/activate.py b/lib/spack/spack/cmd/activate.py index a6c27b2f1d6..9b96733faee 100644 --- a/lib/spack/spack/cmd/activate.py +++ b/lib/spack/spack/cmd/activate.py @@ -30,8 +30,7 @@ def activate(parser, args): if len(specs) != 1: tty.die("activate requires one spec. %d given." % len(specs)) - env = ev.get_env(args, 'activate') - spec = spack.cmd.disambiguate_spec(specs[0], env) + spec = spack.cmd.disambiguate_spec(specs[0], ev.active_environment()) if not spec.package.is_extension: tty.die("%s is not an extension." % spec.name) diff --git a/lib/spack/spack/cmd/add.py b/lib/spack/spack/cmd/add.py index 453b9cd886b..631038ff2b9 100644 --- a/lib/spack/spack/cmd/add.py +++ b/lib/spack/spack/cmd/add.py @@ -7,7 +7,6 @@ import spack.cmd import spack.cmd.common.arguments as arguments -import spack.environment as ev description = 'add a spec to an environment' section = "environments" @@ -22,7 +21,7 @@ def setup_parser(subparser): def add(parser, args): - env = ev.get_env(args, 'add', required=True) + env = spack.cmd.require_active_env(cmd_name='add') with env.write_transaction(): for spec in spack.cmd.parse_specs(args.specs): diff --git a/lib/spack/spack/cmd/analyze.py b/lib/spack/spack/cmd/analyze.py index 0bdf47e73f6..f584674ae27 100644 --- a/lib/spack/spack/cmd/analyze.py +++ b/lib/spack/spack/cmd/analyze.py @@ -95,7 +95,7 @@ def analyze(parser, args, **kwargs): sys.exit(0) # handle active environment, if any - env = ev.get_env(args, 'analyze') + env = ev.active_environment() # Get an disambiguate spec (we should only have one) specs = spack.cmd.parse_specs(args.spec) diff --git a/lib/spack/spack/cmd/buildcache.py b/lib/spack/spack/cmd/buildcache.py index 8fc0b6a04e0..0444091f4eb 100644 --- a/lib/spack/spack/cmd/buildcache.py +++ b/lib/spack/spack/cmd/buildcache.py @@ -457,7 +457,7 @@ def createtarball(args): """create a binary package from an existing install""" # restrict matching to current environment if one is active - env = ev.get_env(args, 'buildcache create') + env = ev.active_environment() output_location = None if args.directory: @@ -601,7 +601,7 @@ def check_binaries(args): if args.spec or args.spec_yaml: specs = [get_concrete_spec(args)] else: - env = ev.get_env(args, 'buildcache', required=True) + env = spack.cmd.require_active_env(cmd_name='buildcache') env.concretize() specs = env.all_specs() diff --git a/lib/spack/spack/cmd/ci.py b/lib/spack/spack/cmd/ci.py index a605f621c3f..a376d9ed957 100644 --- a/lib/spack/spack/cmd/ci.py +++ b/lib/spack/spack/cmd/ci.py @@ -118,7 +118,7 @@ def ci_generate(args): for creating a build group for the generated workload and registering all generated jobs under that build group. If this environment variable is not set, no build group will be created on CDash.""" - env = ev.get_env(args, 'ci generate', required=True) + env = spack.cmd.require_active_env(cmd_name='ci generate') output_file = args.output_file copy_yaml_to = args.copy_to @@ -152,7 +152,7 @@ def ci_generate(args): def ci_reindex(args): """Rebuild the buildcache index associated with the mirror in the active, gitlab-enabled environment. """ - env = ev.get_env(args, 'ci rebuild-index', required=True) + env = spack.cmd.require_active_env(cmd_name='ci rebuild-index') yaml_root = ev.config_dict(env.yaml) if 'mirrors' not in yaml_root or len(yaml_root['mirrors'].values()) < 1: @@ -169,7 +169,7 @@ def ci_rebuild(args): """Check a single spec against the remote mirror, and rebuild it from source if the mirror does not contain the full hash match of the spec as computed locally. """ - env = ev.get_env(args, 'ci rebuild', required=True) + env = spack.cmd.require_active_env(cmd_name='ci rebuild') # Make sure the environment is "gitlab-enabled", or else there's nothing # to do. diff --git a/lib/spack/spack/cmd/concretize.py b/lib/spack/spack/cmd/concretize.py index e6a8ecf6f50..433236b238b 100644 --- a/lib/spack/spack/cmd/concretize.py +++ b/lib/spack/spack/cmd/concretize.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import spack.cmd import spack.environment as ev description = 'concretize an environment and write a lockfile' @@ -23,7 +24,7 @@ def setup_parser(subparser): def concretize(parser, args): - env = ev.get_env(args, 'concretize', required=True) + env = spack.cmd.require_active_env(cmd_name='concretize') if args.test == 'all': tests = True diff --git a/lib/spack/spack/cmd/config.py b/lib/spack/spack/cmd/config.py index f1bdced6e02..2fc57a52c5e 100644 --- a/lib/spack/spack/cmd/config.py +++ b/lib/spack/spack/cmd/config.py @@ -118,7 +118,7 @@ def _get_scope_and_section(args): # w/no args and an active environment, point to env manifest if not section: - env = ev.get_env(args, 'config edit') + env = ev.active_environment() if env: scope = env.env_file_config_scope_name() diff --git a/lib/spack/spack/cmd/deactivate.py b/lib/spack/spack/cmd/deactivate.py index 0afa4af82b3..d67981cd9ee 100644 --- a/lib/spack/spack/cmd/deactivate.py +++ b/lib/spack/spack/cmd/deactivate.py @@ -36,7 +36,7 @@ def deactivate(parser, args): if len(specs) != 1: tty.die("deactivate requires one spec. %d given." % len(specs)) - env = ev.get_env(args, 'deactivate') + env = ev.active_environment() spec = spack.cmd.disambiguate_spec(specs[0], env) pkg = spec.package diff --git a/lib/spack/spack/cmd/dependencies.py b/lib/spack/spack/cmd/dependencies.py index 2f923fece03..e4d6c3fe566 100644 --- a/lib/spack/spack/cmd/dependencies.py +++ b/lib/spack/spack/cmd/dependencies.py @@ -41,7 +41,7 @@ def dependencies(parser, args): tty.die("spack dependencies takes only one spec.") if args.installed: - env = ev.get_env(args, 'dependencies') + env = ev.active_environment() spec = spack.cmd.disambiguate_spec(specs[0], env) format_string = '{name}{@version}{%compiler}{/hash:7}' diff --git a/lib/spack/spack/cmd/dependents.py b/lib/spack/spack/cmd/dependents.py index 6097f46ff91..76b308c295e 100644 --- a/lib/spack/spack/cmd/dependents.py +++ b/lib/spack/spack/cmd/dependents.py @@ -82,7 +82,7 @@ def dependents(parser, args): tty.die("spack dependents takes only one spec.") if args.installed: - env = ev.get_env(args, 'dependents') + env = ev.active_environment() spec = spack.cmd.disambiguate_spec(specs[0], env) format_string = '{name}{@version}{%compiler}{/hash:7}' diff --git a/lib/spack/spack/cmd/deprecate.py b/lib/spack/spack/cmd/deprecate.py index 2ab3cb17c8c..216095cb8ed 100644 --- a/lib/spack/spack/cmd/deprecate.py +++ b/lib/spack/spack/cmd/deprecate.py @@ -71,7 +71,7 @@ def setup_parser(sp): def deprecate(parser, args): """Deprecate one spec in favor of another""" - env = ev.get_env(args, 'deprecate') + env = ev.active_environment() specs = spack.cmd.parse_specs(args.specs) if len(specs) != 2: diff --git a/lib/spack/spack/cmd/develop.py b/lib/spack/spack/cmd/develop.py index 22bd6dad86d..efba1f2fd76 100644 --- a/lib/spack/spack/cmd/develop.py +++ b/lib/spack/spack/cmd/develop.py @@ -9,7 +9,6 @@ import spack.cmd import spack.cmd.common.arguments as arguments -import spack.environment as ev from spack.error import SpackError description = "add a spec to an environment's dev-build information" @@ -37,7 +36,7 @@ def setup_parser(subparser): def develop(parser, args): - env = ev.get_env(args, 'develop', required=True) + env = spack.cmd.require_active_env(cmd_name='develop') if not args.spec: if args.clone is False: diff --git a/lib/spack/spack/cmd/diff.py b/lib/spack/spack/cmd/diff.py index 6029363af86..85b73b6545c 100644 --- a/lib/spack/spack/cmd/diff.py +++ b/lib/spack/spack/cmd/diff.py @@ -175,7 +175,7 @@ def group_by_type(diffset): def diff(parser, args): - env = ev.get_env(args, 'diff') + env = ev.active_environment() if len(args.specs) != 2: tty.die("You must provide two specs to diff.") diff --git a/lib/spack/spack/cmd/env.py b/lib/spack/spack/cmd/env.py index fe40da4412f..75d573f6fef 100644 --- a/lib/spack/spack/cmd/env.py +++ b/lib/spack/spack/cmd/env.py @@ -6,7 +6,6 @@ import os import shutil import sys -from collections import namedtuple import llnl.util.filesystem as fs import llnl.util.tty as tty @@ -106,10 +105,8 @@ def env_activate(args): tty.debug("Environment %s is already active" % args.activate_env) return - active_env = ev.get_env(namedtuple('args', ['env'])(env), - 'activate') cmds = ev.activate( - active_env, add_view=args.with_view, shell=args.shell, + ev.Environment(spack_env), add_view=args.with_view, shell=args.shell, prompt=env_prompt if args.prompt else None ) sys.stdout.write(cmds) @@ -315,7 +312,7 @@ def env_view_setup_parser(subparser): def env_view(args): - env = ev.get_env(args, 'env view') + env = ev.active_environment() if env: if args.action == ViewAction.regenerate: @@ -342,7 +339,7 @@ def env_status_setup_parser(subparser): def env_status(args): - env = ev.get_env(args, 'env status') + env = ev.active_environment() if env: if env.path == os.getcwd(): tty.msg('Using %s in current directory: %s' @@ -373,7 +370,7 @@ def env_loads_setup_parser(subparser): def env_loads(args): - env = ev.get_env(args, 'env loads', required=True) + env = spack.cmd.require_active_env(cmd_name='env loads') # Set the module types that have been selected module_type = args.module_type diff --git a/lib/spack/spack/cmd/extensions.py b/lib/spack/spack/cmd/extensions.py index d80eb84b60a..0ef2137b1d8 100644 --- a/lib/spack/spack/cmd/extensions.py +++ b/lib/spack/spack/cmd/extensions.py @@ -67,7 +67,7 @@ def extensions(parser, args): if not spec[0].package.extendable: tty.die("%s is not an extendable package." % spec[0].name) - env = ev.get_env(args, 'extensions') + env = ev.active_environment() spec = cmd.disambiguate_spec(spec[0], env) if not spec.package.extendable: diff --git a/lib/spack/spack/cmd/fetch.py b/lib/spack/spack/cmd/fetch.py index bb4f535180c..4993c499127 100644 --- a/lib/spack/spack/cmd/fetch.py +++ b/lib/spack/spack/cmd/fetch.py @@ -47,7 +47,7 @@ def fetch(parser, args): # fetch all uninstalled specs from it otherwise fetch all. # If we are also not in an environment, complain to the # user that we don't know what to do. - env = ev.get_env(args, "fetch") + env = ev.active_environment() if env: if args.missing: specs = env.uninstalled_specs() diff --git a/lib/spack/spack/cmd/find.py b/lib/spack/spack/cmd/find.py index 875c236164d..13066578e34 100644 --- a/lib/spack/spack/cmd/find.py +++ b/lib/spack/spack/cmd/find.py @@ -220,7 +220,7 @@ def find(parser, args): added = set() removed = set() - env = ev.get_env(args, 'find') + env = ev.active_environment() if env: decorator, added, roots, removed = setup_env(env) diff --git a/lib/spack/spack/cmd/gc.py b/lib/spack/spack/cmd/gc.py index f85f27bfca9..08fcd928739 100644 --- a/lib/spack/spack/cmd/gc.py +++ b/lib/spack/spack/cmd/gc.py @@ -7,7 +7,7 @@ import spack.cmd.common.arguments import spack.cmd.uninstall -import spack.environment +import spack.environment as ev import spack.store description = "remove specs that are now no longer needed" @@ -24,7 +24,7 @@ def gc(parser, args): # Restrict garbage collection to the active environment # speculating over roots that are yet to be installed - env = spack.environment.get_env(args=None, cmd_name='gc') + env = ev.active_environment() if env: msg = 'Restricting the garbage collection to the "{0}" environment' tty.msg(msg.format(env.name)) diff --git a/lib/spack/spack/cmd/install.py b/lib/spack/spack/cmd/install.py index f71a788ec1a..98e150af509 100644 --- a/lib/spack/spack/cmd/install.py +++ b/lib/spack/spack/cmd/install.py @@ -204,7 +204,7 @@ def install_specs(cli_args, kwargs, specs): """ # handle active environment, if any - env = ev.get_env(cli_args, 'install') + env = ev.active_environment() try: if env: @@ -324,10 +324,14 @@ def get_tests(specs): else: return False + # Parse cli arguments and construct a dictionary + # that will be passed to the package installer + update_kwargs_from_args(args, kwargs) + if not args.spec and not args.specfiles: # if there are no args but an active environment # then install the packages from it. - env = ev.get_env(args, 'install') + env = ev.active_environment() if env: tests = get_tests(env.user_specs) kwargs['tests'] = tests @@ -352,7 +356,7 @@ def get_tests(specs): tty.msg("Installing environment {0}".format(env.name)) with reporter('build'): - env.install_all(args, **kwargs) + env.install_all(**kwargs) tty.debug("Regenerating environment views for {0}" .format(env.name)) @@ -381,10 +385,6 @@ def get_tests(specs): if args.deprecated: spack.config.set('config:deprecated', True, scope='command_line') - # Parse cli arguments and construct a dictionary - # that will be passed to the package installer - update_kwargs_from_args(args, kwargs) - # 1. Abstract specs from cli abstract_specs = spack.cmd.parse_specs(args.spec) tests = get_tests(abstract_specs) diff --git a/lib/spack/spack/cmd/load.py b/lib/spack/spack/cmd/load.py index 6749e169fac..8bfeac7e695 100644 --- a/lib/spack/spack/cmd/load.py +++ b/lib/spack/spack/cmd/load.py @@ -55,7 +55,7 @@ def setup_parser(subparser): def load(parser, args): - env = ev.get_env(args, 'load') + env = ev.active_environment() specs = [spack.cmd.disambiguate_spec(spec, env, first=args.load_first) for spec in spack.cmd.parse_specs(args.specs)] diff --git a/lib/spack/spack/cmd/location.py b/lib/spack/spack/cmd/location.py index 61687f02bc4..f844f51ed6c 100644 --- a/lib/spack/spack/cmd/location.py +++ b/lib/spack/spack/cmd/location.py @@ -11,7 +11,6 @@ import spack.cmd import spack.cmd.common.arguments as arguments -import spack.environment import spack.environment as ev import spack.paths import spack.repo @@ -73,7 +72,7 @@ def location(parser, args): return if args.location_env: - path = spack.environment.root(args.location_env) + path = ev.root(args.location_env) if not os.path.isdir(path): tty.die("no such environment: '%s'" % args.location_env) print(path) @@ -97,7 +96,7 @@ def location(parser, args): # install_dir command matches against installed specs. if args.install_dir: - env = ev.get_env(args, 'location') + env = ev.active_environment() spec = spack.cmd.disambiguate_spec(specs[0], env) print(spec.prefix) return diff --git a/lib/spack/spack/cmd/mirror.py b/lib/spack/spack/cmd/mirror.py index 84d7fa06498..fa202f09f08 100644 --- a/lib/spack/spack/cmd/mirror.py +++ b/lib/spack/spack/cmd/mirror.py @@ -253,7 +253,7 @@ def _determine_specs_to_mirror(args): "To mirror all packages, use the '--all' option" " (this will require significant time and space).") - env = ev.get_env(args, 'mirror') + env = ev.active_environment() if env: env_specs = env.all_specs() else: diff --git a/lib/spack/spack/cmd/remove.py b/lib/spack/spack/cmd/remove.py index 1f97e6e6e5d..a2417089dbb 100644 --- a/lib/spack/spack/cmd/remove.py +++ b/lib/spack/spack/cmd/remove.py @@ -7,7 +7,6 @@ import spack.cmd import spack.cmd.common.arguments as arguments -import spack.environment as ev description = 'remove specs from an environment' section = "environments" @@ -28,7 +27,7 @@ def setup_parser(subparser): def remove(parser, args): - env = ev.get_env(args, 'remove', required=True) + env = spack.cmd.require_active_env(cmd_name='remove') with env.write_transaction(): if args.all: diff --git a/lib/spack/spack/cmd/stage.py b/lib/spack/spack/cmd/stage.py index c3a3c21e68c..8903cb83e51 100644 --- a/lib/spack/spack/cmd/stage.py +++ b/lib/spack/spack/cmd/stage.py @@ -34,7 +34,7 @@ def stage(parser, args): spack.stage.create_stage_root(custom_path) if not args.specs: - env = ev.get_env(args, 'stage') + env = ev.active_environment() if env: tty.msg("Staging specs from environment %s" % env.name) for spec in env.specs_by_hash.values(): diff --git a/lib/spack/spack/cmd/test.py b/lib/spack/spack/cmd/test.py index c480b4394f2..d2a5e7214b1 100644 --- a/lib/spack/spack/cmd/test.py +++ b/lib/spack/spack/cmd/test.py @@ -155,7 +155,7 @@ def test_run(args): spack.config.set('config:fail_fast', True, scope='command_line') # Get specs to test - env = ev.get_env(args, 'test') + env = ev.active_environment() hashes = env.all_hashes() if env else None specs = spack.cmd.parse_specs(args.specs) if args.specs else [None] @@ -221,7 +221,7 @@ def test_list(args): # TODO: This can be extended to have all of the output formatting options # from `spack find`. - env = ev.get_env(args, 'test') + env = ev.active_environment() hashes = env.all_hashes() if env else None specs = spack.store.db.query(hashes=hashes) diff --git a/lib/spack/spack/cmd/undevelop.py b/lib/spack/spack/cmd/undevelop.py index 3f8288e09a3..a26519ac381 100644 --- a/lib/spack/spack/cmd/undevelop.py +++ b/lib/spack/spack/cmd/undevelop.py @@ -7,7 +7,6 @@ import spack.cmd import spack.cmd.common.arguments as arguments -import spack.environment as ev description = 'remove specs from an environment' section = "environments" @@ -22,7 +21,7 @@ def setup_parser(subparser): def undevelop(parser, args): - env = ev.get_env(args, 'undevelop', required=True) + env = spack.cmd.require_active_env(cmd_name='undevelop') if args.all: specs = env.dev_specs.keys() diff --git a/lib/spack/spack/cmd/uninstall.py b/lib/spack/spack/cmd/uninstall.py index ead4f8ac84c..fdd9986108f 100644 --- a/lib/spack/spack/cmd/uninstall.py +++ b/lib/spack/spack/cmd/uninstall.py @@ -311,7 +311,7 @@ def get_uninstall_list(args, specs, env): def uninstall_specs(args, specs): - env = ev.get_env(args, 'uninstall') + env = ev.active_environment() uninstall_list, remove_list = get_uninstall_list(args, specs, env) anything_to_do = set(uninstall_list).union(set(remove_list)) diff --git a/lib/spack/spack/cmd/verify.py b/lib/spack/spack/cmd/verify.py index 723aa2f9943..a1d8acdf153 100644 --- a/lib/spack/spack/cmd/verify.py +++ b/lib/spack/spack/cmd/verify.py @@ -74,7 +74,7 @@ def verify(parser, args): elif args.specs_or_files: # construct disambiguated spec list - env = ev.get_env(args, 'verify') + env = ev.active_environment() specs = list(map(lambda x: spack.cmd.disambiguate_spec(x, env, local=local), spec_args)) diff --git a/lib/spack/spack/cmd/view.py b/lib/spack/spack/cmd/view.py index f795c17a1ce..fc0c30c7e23 100644 --- a/lib/spack/spack/cmd/view.py +++ b/lib/spack/spack/cmd/view.py @@ -202,7 +202,7 @@ def view(parser, args): elif args.action in actions_link: # only link commands need to disambiguate specs - env = ev.get_env(args, 'view link') + env = ev.active_environment() specs = [spack.cmd.disambiguate_spec(s, env) for s in specs] elif args.action in actions_status: diff --git a/lib/spack/spack/concretize.py b/lib/spack/spack/concretize.py index 1048709297f..2e6e067c9d1 100644 --- a/lib/spack/spack/concretize.py +++ b/lib/spack/spack/concretize.py @@ -33,6 +33,7 @@ import spack.abi import spack.architecture import spack.compilers +import spack.environment import spack.error import spack.repo import spack.spec @@ -66,7 +67,7 @@ def concretize_develop(self, spec): """ Add ``dev_path=*`` variant to packages built from local source. """ - env = spack.environment.get_env(None, None) + env = spack.environment.active_environment() dev_info = env.dev_specs.get(spec.name, {}) if env else {} if not dev_info: return False diff --git a/lib/spack/spack/container/__init__.py b/lib/spack/spack/container/__init__.py index c57e0d0c519..f9212a574cd 100644 --- a/lib/spack/spack/container/__init__.py +++ b/lib/spack/spack/container/__init__.py @@ -7,7 +7,7 @@ """ import warnings -import spack.environment +import spack.environment as ev import spack.schema.env as env import spack.util.spack_yaml as syaml @@ -36,7 +36,7 @@ def validate(configuration_file): config = syaml.load(f) # Ensure we have a "container" attribute with sensible defaults set - env_dict = spack.environment.config_dict(config) + env_dict = ev.config_dict(config) env_dict.setdefault('container', { 'format': 'docker', 'images': {'os': 'ubuntu:18.04', 'spack': 'develop'} diff --git a/lib/spack/spack/container/writers/__init__.py b/lib/spack/spack/container/writers/__init__.py index 14bc5a77c4c..978e9996054 100644 --- a/lib/spack/spack/container/writers/__init__.py +++ b/lib/spack/spack/container/writers/__init__.py @@ -8,7 +8,7 @@ import collections import copy -import spack.environment +import spack.environment as ev import spack.schema.env import spack.tengine as tengine import spack.util.spack_yaml as syaml @@ -37,7 +37,7 @@ def create(configuration): Args: configuration: how to generate the current recipe """ - name = spack.environment.config_dict(configuration)['container']['format'] + name = ev.config_dict(configuration)['container']['format'] return _writer_factory[name](configuration) @@ -56,7 +56,7 @@ class PathContext(tengine.Context): directly via PATH. """ def __init__(self, config): - self.config = spack.environment.config_dict(config) + self.config = ev.config_dict(config) self.container_config = self.config['container'] @tengine.context_property diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py index 6fa7f62553b..dbe73185177 100644 --- a/lib/spack/spack/environment.py +++ b/lib/spack/spack/environment.py @@ -39,6 +39,7 @@ inverse_view_func_parser, view_func_parser, ) +from spack.installer import PackageInstaller from spack.spec import Spec from spack.spec_list import InvalidSpecConstraintError, SpecList from spack.util.path import substitute_path_variables @@ -263,100 +264,9 @@ def deactivate(shell='sh'): return cmds -def find_environment(args): - """Find active environment from args, spack.yaml, or environment variable. - - This is called in ``spack.main`` to figure out which environment to - activate. - - Check for an environment in this order: - 1. via ``spack -e ENV`` or ``spack -D DIR`` (arguments) - 2. as a spack.yaml file in the current directory, or - 3. via a path in the SPACK_ENV environment variable. - - If an environment is found, read it in. If not, return None. - - Arguments: - args (argparse.Namespace): argparse namespace wtih command arguments - - Returns: - (Environment): a found environment, or ``None`` - """ - # try arguments - env = getattr(args, 'env', None) - - # treat env as a name - if env: - if exists(env): - return read(env) - - else: - # if env was specified, see if it is a dirctory otherwise, look - # at env_dir (env and env_dir are mutually exclusive) - env = getattr(args, 'env_dir', None) - - # if no argument, look for the environment variable - if not env: - env = os.environ.get(spack_env_var) - - # nothing was set; there's no active environment - if not env: - return None - - # if we get here, env isn't the name of a spack environment; it has - # to be a path to an environment, or there is something wrong. - if is_env_dir(env): - return Environment(env) - - raise SpackEnvironmentError('no environment in %s' % env) - - -def get_env(args, cmd_name, required=False): - """Used by commands to get the active environment. - - This first checks for an ``env`` argument, then looks at the - ``active`` environment. We check args first because Spack's - subcommand arguments are parsed *after* the ``-e`` and ``-D`` - arguments to ``spack``. So there may be an ``env`` argument that is - *not* the active environment, and we give it precedence. - - This is used by a number of commands for determining whether there is - an active environment. - - If an environment is not found *and* is required, print an error - message that says the calling command *needs* an active environment. - - Arguments: - args (argparse.Namespace): argparse namespace wtih command arguments - cmd_name (str): name of calling command - required (bool): if ``True``, raise an exception when no environment - is found; if ``False``, just return ``None`` - - Returns: - (Environment): if there is an arg or active environment - """ - # try argument first - env = getattr(args, 'env', None) - if env: - if exists(env): - return read(env) - elif is_env_dir(env): - return Environment(env) - else: - raise SpackEnvironmentError('no environment in %s' % env) - - # try the active environment. This is set by find_environment() (above) - if _active_environment: - return _active_environment - elif not required: - return None - else: - tty.die( - '`spack %s` requires an environment' % cmd_name, - 'activate an environment first:', - ' spack env activate ENV', - 'or use:', - ' spack -e ENV %s ...' % cmd_name) +def active_environment(): + """Returns the active environment when there is any""" + return _active_environment def _root(name): @@ -1560,21 +1470,18 @@ def uninstalled_specs(self): uninstalled_specs.append(spec) return uninstalled_specs - def install_all(self, args=None, **install_args): + def install_all(self, **install_args): """Install all concretized specs in an environment. Note: this does not regenerate the views for the environment; that needs to be done separately with a call to write(). Args: - args (argparse.Namespace): argparse namespace with command arguments install_args (dict): keyword install arguments """ - self.install_specs(None, args=args, **install_args) - - def install_specs(self, specs=None, args=None, **install_args): - from spack.installer import PackageInstaller + self.install_specs(None, **install_args) + def install_specs(self, specs=None, **install_args): tty.debug('Assessing installation status of environment packages') # If "spack install" is invoked repeatedly for a large environment # where all specs are already installed, the operation can take @@ -1608,15 +1515,7 @@ def install_specs(self, specs=None, args=None, **install_args): installs = [] for spec in specs_to_install: - # Parse cli arguments and construct a dictionary - # that will be passed to the package installer - kwargs = dict() - if install_args: - kwargs.update(install_args) - if args: - spack.cmd.install.update_kwargs_from_args(args, kwargs) - - installs.append((spec.package, kwargs)) + installs.append((spec.package, install_args)) try: builder = PackageInstaller(installs) diff --git a/lib/spack/spack/hooks/module_file_generation.py b/lib/spack/spack/hooks/module_file_generation.py index b95040aed27..fa04a5a3a5d 100644 --- a/lib/spack/spack/hooks/module_file_generation.py +++ b/lib/spack/spack/hooks/module_file_generation.py @@ -37,8 +37,8 @@ def _for_each_enabled(spec, method_name): def post_install(spec): - import spack.environment # break import cycle - if spack.environment.get_env({}, ''): + import spack.environment as ev # break import cycle + if ev.active_environment(): # If the installed through an environment, we skip post_install # module generation and generate the modules on env_write so Spack # can manage interactions between env views and modules diff --git a/lib/spack/spack/main.py b/lib/spack/spack/main.py index d29988627e1..ee5b3d53435 100644 --- a/lib/spack/spack/main.py +++ b/lib/spack/spack/main.py @@ -743,7 +743,7 @@ def main(argv=None): # activate an environment if one was specified on the command line if not args.no_env: - env = ev.find_environment(args) + env = spack.cmd.find_environment(args) if env: ev.activate(env, args.use_env_repo, add_view=False) diff --git a/lib/spack/spack/modules/common.py b/lib/spack/spack/modules/common.py index 5d9ea366489..526d8a5cec3 100644 --- a/lib/spack/spack/modules/common.py +++ b/lib/spack/spack/modules/common.py @@ -698,7 +698,11 @@ def environment_modifications(self): if use_view is True: use_view = ev.default_view_name - env = ev.get_env({}, 'post_env_write_hook', required=True) + env = ev.active_environment() + if not env: + raise ev.SpackEnvironmentViewError("Module generation with views " + "requires active environment") + view = env.views[use_view] spec.prefix = view.get_projection_for_spec(spec) diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 40b77ee1241..10f4606972a 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -41,6 +41,7 @@ import spack.dependency import spack.directives import spack.directory_layout +import spack.environment import spack.error import spack.fetch_strategy as fs import spack.hooks @@ -1537,7 +1538,7 @@ def content_hash(self, content=None): # should this attempt to download the source and set one? This # probably only happens for source repositories which are # referenced by branch name rather than tag or commit ID. - env = spack.environment.get_env(None, None) + env = spack.environment.active_environment() from_local_sources = env and env.is_develop(self.spec) if not self.spec.external and not from_local_sources: message = 'Missing a source id for {s.name}@{s.version}' diff --git a/lib/spack/spack/relocate.py b/lib/spack/spack/relocate.py index b77e254d4ff..107b7cc87a1 100644 --- a/lib/spack/spack/relocate.py +++ b/lib/spack/spack/relocate.py @@ -16,7 +16,6 @@ import llnl.util.tty as tty import spack.architecture -import spack.cmd import spack.repo import spack.spec import spack.util.executable as executable diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index 3c090bdbbc0..d32713da697 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -37,6 +37,7 @@ import spack.config import spack.dependency import spack.directives +import spack.environment as ev import spack.error import spack.package import spack.package_prefs @@ -1396,7 +1397,7 @@ def setup(self, driver, specs, tests=False): self.preferred_versions(pkg) # Inject dev_path from environment - env = spack.environment.get_env(None, None) + env = ev.active_environment() if env: for spec in sorted(specs): for dep in spec.traverse(): @@ -1625,9 +1626,8 @@ def build_specs(self, function_tuples): for s in self._specs.values(): spack.spec.Spec.ensure_external_path_if_external(s) - env = spack.environment.get_env(None, None) for s in self._specs.values(): - _develop_specs_from_env(s, env) + _develop_specs_from_env(s, ev.active_environment()) for s in self._specs.values(): s._mark_concrete() diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py index e4d34a20df3..14413669f1a 100644 --- a/lib/spack/spack/stage.py +++ b/lib/spack/spack/stage.py @@ -18,6 +18,7 @@ from six import iteritems, string_types +import llnl.util.lang import llnl.util.tty as tty from llnl.util.filesystem import ( can_access, @@ -29,7 +30,6 @@ ) import spack.caches -import spack.cmd import spack.config import spack.error import spack.fetch_strategy as fs @@ -857,7 +857,7 @@ def get_checksums_for_versions( tty.msg('Found {0} version{1} of {2}:'.format( num_ver, '' if num_ver == 1 else 's', name), '', - *spack.cmd.elide_list( + *llnl.util.lang.elide_list( ['{0:{1}} {2}'.format(str(v), max_len, url_dict[v]) for v in sorted_versions])) print() diff --git a/lib/spack/spack/test/cmd/bootstrap.py b/lib/spack/spack/test/cmd/bootstrap.py index 652721d721b..3904b1019a4 100644 --- a/lib/spack/spack/test/cmd/bootstrap.py +++ b/lib/spack/spack/test/cmd/bootstrap.py @@ -7,7 +7,7 @@ import pytest import spack.config -import spack.environment +import spack.environment as ev import spack.main _bootstrap = spack.main.SpackCommand('bootstrap') @@ -65,7 +65,7 @@ def test_reset_in_file_scopes(mutable_config, scopes): def test_reset_in_environment(mutable_mock_env_path, mutable_config): env = spack.main.SpackCommand('env') env('create', 'bootstrap-test') - current_environment = spack.environment.read('bootstrap-test') + current_environment = ev.read('bootstrap-test') with current_environment: _bootstrap('disable') diff --git a/lib/spack/spack/test/cmd/ci.py b/lib/spack/spack/test/cmd/ci.py index 4a40d1fc010..a9891796ace 100644 --- a/lib/spack/spack/test/cmd/ci.py +++ b/lib/spack/spack/test/cmd/ci.py @@ -56,7 +56,7 @@ def _set_project_dir(path): @pytest.fixture() def env_deactivate(): yield - spack.environment._active_environment = None + ev._active_environment = None os.environ.pop('SPACK_ENV', None) diff --git a/lib/spack/spack/test/cmd/common/arguments.py b/lib/spack/spack/test/cmd/common/arguments.py index 8797626d605..d3279399785 100644 --- a/lib/spack/spack/test/cmd/common/arguments.py +++ b/lib/spack/spack/test/cmd/common/arguments.py @@ -90,9 +90,7 @@ def test_multiple_env_match_raises_error(mock_packages, mutable_mock_env_path): e.add('a foobar=fee') e.concretize() with e: - with pytest.raises( - spack.environment.SpackEnvironmentError) as exc_info: - + with pytest.raises(ev.SpackEnvironmentError) as exc_info: spack.cmd.matching_spec_from_env(spack.cmd.parse_specs(['a'])[0]) assert 'matches multiple specs' in exc_info.value.message diff --git a/lib/spack/spack/test/cmd/env.py b/lib/spack/spack/test/cmd/env.py index 8ead9666556..ea1c6608048 100644 --- a/lib/spack/spack/test/cmd/env.py +++ b/lib/spack/spack/test/cmd/env.py @@ -53,7 +53,7 @@ def check_viewdir_removal(viewdir): @pytest.fixture() def env_deactivate(): yield - spack.environment._active_environment = None + ev._active_environment = None os.environ.pop('SPACK_ENV', None) @@ -228,7 +228,7 @@ def test_activate_adds_transitive_run_deps_to_path( with e: install('depends-on-run-env') - cmds = spack.environment.activate(e) + cmds = ev.activate(e) assert 'DEPENDENCY_ENV_VAR=1' in cmds @@ -1143,7 +1143,7 @@ def test_env_without_view_install( env('create', '--without-view', 'test') test_env = ev.read('test') - with pytest.raises(spack.environment.SpackEnvironmentError): + with pytest.raises(ev.SpackEnvironmentError): test_env.default_view view_dir = tmpdir.join('view') diff --git a/lib/spack/spack/test/config.py b/lib/spack/spack/test/config.py index 94966c9fac0..704e9994ed3 100644 --- a/lib/spack/spack/test/config.py +++ b/lib/spack/spack/test/config.py @@ -14,7 +14,7 @@ from llnl.util.filesystem import mkdirp, touch import spack.config -import spack.environment +import spack.environment as ev import spack.main import spack.paths import spack.schema.compilers @@ -360,8 +360,8 @@ def test_substitute_config_variables(mock_low_high_config, monkeypatch): # Fake an active environment and $env is replaced properly fake_env_path = '/quux/quuux' - monkeypatch.setattr(spack.environment, 'get_env', - lambda x, y: MockEnv(fake_env_path)) + monkeypatch.setattr(ev, 'active_environment', + lambda: MockEnv(fake_env_path)) assert spack_path.canonicalize_path( '$env/foo/bar/baz' ) == os.path.join(fake_env_path, 'foo/bar/baz') diff --git a/lib/spack/spack/test/conftest.py b/lib/spack/spack/test/conftest.py index d579fe616f8..3f7a9f3a477 100644 --- a/lib/spack/spack/test/conftest.py +++ b/lib/spack/spack/test/conftest.py @@ -1267,11 +1267,11 @@ def get_rev(): @pytest.fixture() def mutable_mock_env_path(tmpdir_factory): """Fixture for mocking the internal spack environments directory.""" - saved_path = spack.environment.env_path + saved_path = ev.env_path mock_path = tmpdir_factory.mktemp('mock-env-path') - spack.environment.env_path = str(mock_path) + ev.env_path = str(mock_path) yield mock_path - spack.environment.env_path = saved_path + ev.env_path = saved_path @pytest.fixture() diff --git a/lib/spack/spack/util/path.py b/lib/spack/spack/util/path.py index 04d45a012bd..49bb65f7d3e 100644 --- a/lib/spack/spack/util/path.py +++ b/lib/spack/spack/util/path.py @@ -85,7 +85,7 @@ def substitute_config_variables(path): environment yaml files. """ import spack.environment as ev # break circular - env = ev.get_env({}, '') + env = ev.active_environment() if env: replacements.update({'env': env.path}) else: diff --git a/lib/spack/spack/util/web.py b/lib/spack/spack/util/web.py index 34140ed74a0..09225081550 100644 --- a/lib/spack/spack/util/web.py +++ b/lib/spack/spack/util/web.py @@ -24,7 +24,6 @@ import llnl.util.tty as tty from llnl.util.filesystem import mkdirp -import spack.cmd import spack.config import spack.error import spack.url From e8bcb436954e8df6904867a0ae0bd5737b7aaac2 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Fri, 20 Aug 2021 08:11:28 +0100 Subject: [PATCH 250/414] trilinos: restore develop branch for exawind (#25487) Exawind needs to build against trilinos@develop to sniff out errors before they are merged to master. --- .../builtin/packages/trilinos/package.py | 19 +++++++------------ .../repos/builtin/packages/xsdk/package.py | 2 +- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index b951779d542..7a2a1c8509c 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -35,6 +35,7 @@ class Trilinos(CMakePackage, CudaPackage): # ###################### Versions ########################## version('master', branch='master') + version('develop', branch='develop') version('13.0.1', commit='4796b92fb0644ba8c531dd9953e7a4878b05c62d') # tag trilinos-release-13-0-1 version('13.0.0', commit='9fec35276d846a667bc668ff4cbdfd8be0dfea08') # tag trilinos-release-13-0-0 version('12.18.1', commit='55a75997332636a28afc9db1aee4ae46fe8d93e7') # tag trilinos-release-12-8-1 @@ -214,12 +215,6 @@ class Trilinos(CMakePackage, CudaPackage): placement='DataTransferKit', submodules=True, when='+dtk @12.18:12.18.99') - resource(name='dtk', - git='https://github.com/ornl-cees/DataTransferKit.git', - branch='master', - placement='DataTransferKit', - submodules=True, - when='+dtk @master') resource(name='scorec', git='https://github.com/SCOREC/core.git', commit='73c16eae073b179e45ec625a5abe4915bc589af2', # tag v2.2.5 @@ -287,10 +282,10 @@ class Trilinos(CMakePackage, CudaPackage): conflicts('+tempus', when='~nox') conflicts('+zoltan2', when='~zoltan') - # Only allow DTK with Trilinos 12 + # Only allow DTK with Trilinos 12.14, 12.18 conflicts('+dtk', when='~boost') conflicts('+dtk', when='~intrepid2') - conflicts('+dtk', when='@:12.12.99,master') + conflicts('+dtk', when='@:12.12,13:') # Only allow Mesquite with Trilinos 12.12 and up, and master conflicts('+mesquite', when='@:12.10.99,master') @@ -317,7 +312,7 @@ class Trilinos(CMakePackage, CudaPackage): conflicts('+cuda_rdc', when='~cuda') conflicts('+wrapper', when='~cuda') conflicts('+wrapper', when='%clang') - conflicts('cxxstd=11', when='@master') + conflicts('cxxstd=11', when='@master:') conflicts('cxxstd=11', when='+wrapper ^cuda@6.5.14') conflicts('cxxstd=14', when='+wrapper ^cuda@6.5.14:8.0.61') conflicts('cxxstd=17', when='+wrapper ^cuda@6.5.14:10.2.89') @@ -370,14 +365,14 @@ class Trilinos(CMakePackage, CudaPackage): depends_on('superlu-dist@:4.3', when='@11.14.1:12.6.1+superlu-dist') depends_on('superlu-dist@4.4:5.3', when='@12.6.2:12.12.1+superlu-dist') depends_on('superlu-dist@5.4:6.2.0', when='@12.12.2:13.0.0+superlu-dist') - depends_on('superlu-dist@6.3.0:', when='@13.0.1:+superlu-dist') - depends_on('superlu-dist@develop', when='@master+superlu-dist') + depends_on('superlu-dist@6.3.0:', when='@13.0.1:99 +superlu-dist') + depends_on('superlu-dist@develop', when='@master: +superlu-dist') depends_on('superlu+pic@4.3', when='+superlu') depends_on('strumpack+shared', when='+strumpack') depends_on('scalapack', when='+strumpack+mpi') # Trilinos can not be built against 64bit int hypre depends_on('hypre~internal-superlu~int64', when='+hypre') - depends_on('hypre@develop~internal-superlu', when='@master+hypre') + depends_on('hypre@develop', when='@master: +hypre') depends_on('python', when='+python') depends_on('py-mpi4py', when='+mpi +python', type=('build', 'run')) depends_on('py-numpy', when='+python', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py index 18ff86e0fe9..2c07cd94de0 100644 --- a/var/spack/repos/builtin/packages/xsdk/package.py +++ b/var/spack/repos/builtin/packages/xsdk/package.py @@ -61,7 +61,7 @@ class Xsdk(BundlePackage): depends_on('superlu-dist@6.1.0', when='@0.4.0') depends_on('superlu-dist@5.2.2', when='@0.3.0') - depends_on('trilinos@master+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards+stratimikos gotype=int cxxstd=14', + depends_on('trilinos@develop+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards+stratimikos gotype=int cxxstd=14', when='@develop +trilinos') depends_on('trilinos@13.0.1+hypre+superlu-dist+hdf5~mumps+boost~suite-sparse+tpetra+nox+ifpack2+zoltan+zoltan2+amesos2~exodus~dtk+intrepid2+shards gotype=int', when='@0.6.0 +trilinos') From d52a1b8279bb7515669ae3bc6cf6dd5f6f6fca08 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 10:06:47 +0200 Subject: [PATCH 251/414] Fix broken develop as CI didn't run on latest merge commit (#25531) * CI for #25439 was not run on the latest merge commit, and fails after #25470 * Make it consistent --- lib/spack/spack/cmd/buildcache.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/spack/cmd/buildcache.py b/lib/spack/spack/cmd/buildcache.py index 0444091f4eb..64f24dcc346 100644 --- a/lib/spack/spack/cmd/buildcache.py +++ b/lib/spack/spack/cmd/buildcache.py @@ -876,7 +876,7 @@ def buildcache_sync(args): dest_mirror_url = url_util.format(dest_mirror.fetch_url) # Get the active environment - env = ev.get_env(args, 'buildcache sync', required=True) + env = spack.cmd.require_active_env(cmd_name='buildcache sync') tty.msg('Syncing environment buildcache files from {0} to {1}'.format( src_mirror_url, dest_mirror_url)) From ec720dd148f5621676e6be92102bf3bcd610a2d6 Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Fri, 20 Aug 2021 13:24:18 +0200 Subject: [PATCH 252/414] neuron: add v8.0.0 (#25533) --- var/spack/repos/builtin/packages/neuron/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/neuron/package.py b/var/spack/repos/builtin/packages/neuron/package.py index 27e6967da36..0934e1834f4 100644 --- a/var/spack/repos/builtin/packages/neuron/package.py +++ b/var/spack/repos/builtin/packages/neuron/package.py @@ -21,6 +21,7 @@ class Neuron(CMakePackage): maintainers = ['pramodk', 'nrnhines', 'iomaganaris', 'alexsavulescu'] version('develop', branch='master', submodules='True') + version("8.0.0", tag="8.0.0", submodules='True') version("7.8.2", tag="7.8.2", submodules='True') version("7.8.1", tag="7.8.1", submodules='True') @@ -43,6 +44,7 @@ class Neuron(CMakePackage): depends_on("ncurses") depends_on("python@2.7:", when="+python") depends_on("py-pytest", when="+python+tests") + depends_on("py-mpi4py", when="+mpi+python+tests") depends_on("readline") depends_on("caliper", when="+caliper") depends_on("py-numpy", type='run') From 6ce0d934cfe8b9e93a833ff1d31915ffd14c643d Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 06:31:58 -0500 Subject: [PATCH 253/414] py-pydantic: add new package (#25526) --- .../builtin/packages/py-pydantic/package.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-pydantic/package.py diff --git a/var/spack/repos/builtin/packages/py-pydantic/package.py b/var/spack/repos/builtin/packages/py-pydantic/package.py new file mode 100644 index 00000000000..4334e4a90e0 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pydantic/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyPydantic(PythonPackage): + """Data validation and settings management using Python type hinting.""" + + homepage = "https://github.com/samuelcolvin/pydantic" + pypi = "pydantic/pydantic-1.8.2.tar.gz" + + version('1.8.2', sha256='26464e57ccaafe72b7ad156fdaa4e9b9ef051f69e175dbbb463283000c05ab7b') + + depends_on('python@3.6.1:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-dataclasses@0.6:', when='^python@:3.6', type=('build', 'run')) + depends_on('py-typing-extensions@3.7.4.3:', type=('build', 'run')) From 1d2798dd77c261573d24b8e41775b0a1b98c2a5b Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 06:35:55 -0500 Subject: [PATCH 254/414] py-matplotlib-inline: add new package (#25524) --- .../packages/py-matplotlib-inline/package.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-matplotlib-inline/package.py diff --git a/var/spack/repos/builtin/packages/py-matplotlib-inline/package.py b/var/spack/repos/builtin/packages/py-matplotlib-inline/package.py new file mode 100644 index 00000000000..e4a2408f1d7 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-matplotlib-inline/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyMatplotlibInline(PythonPackage): + """Inline Matplotlib backend for Jupyter.""" + + homepage = "https://github.com/martinRenou/matplotlib-inline" + pypi = "matplotlib-inline/matplotlib-inline-0.1.2.tar.gz" + + version('0.1.2', sha256='f41d5ff73c9f5385775d5c0bc13b424535c8402fe70ea8210f93e11f3683993e') + + depends_on('python@3.5:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-traitlets', type=('build', 'run')) From 68d488546f04c371be1ce85f59ca3c3c13556d27 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 06:36:14 -0500 Subject: [PATCH 255/414] py-debugpy: add new package (#25523) --- .../builtin/packages/py-debugpy/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-debugpy/package.py diff --git a/var/spack/repos/builtin/packages/py-debugpy/package.py b/var/spack/repos/builtin/packages/py-debugpy/package.py new file mode 100644 index 00000000000..64dee06b769 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-debugpy/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyDebugpy(PythonPackage): + """An implementation of the Debug Adapter Protocol for Python.""" + + homepage = "https://github.com/microsoft/debugpy/" + pypi = "debugpy/debugpy-1.4.1.zip" + + # 'debugpy._vendored' requires additional dependencies, Windows-specific + import_modules = [ + 'debugpy', 'debugpy.adapter', 'debugpy.launcher', 'debugpy.server', + 'debugpy.common' + ] + + version('1.4.1', sha256='889316de0b8ff3732927cb058cfbd3371e4cd0002ecc170d34c755ad289c867c') + + depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run')) + depends_on('py-setuptools', type='build') From d699478ab87b82bdb9df8653a89b946e16fa11b1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 06:36:40 -0500 Subject: [PATCH 256/414] py-nbformat: add v5.1.3 (#25522) --- var/spack/repos/builtin/packages/py-nbformat/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-nbformat/package.py b/var/spack/repos/builtin/packages/py-nbformat/package.py index 64b860a0721..9ee100e72ad 100644 --- a/var/spack/repos/builtin/packages/py-nbformat/package.py +++ b/var/spack/repos/builtin/packages/py-nbformat/package.py @@ -10,12 +10,15 @@ class PyNbformat(PythonPackage): homepage = "https://github.com/jupyter/nbformat" pypi = "nbformat/nbformat-5.0.7.tar.gz" + version('5.1.3', sha256='b516788ad70771c6250977c1374fcca6edebe6126fd2adb5a69aa5c2356fd1c8') version('5.0.7', sha256='54d4d6354835a936bad7e8182dcd003ca3dc0cedfee5a306090e04854343b340') version('4.4.0', sha256='f7494ef0df60766b7cabe0a3651556345a963b74dbc16bc7c18479041170d402') version('4.1.0', sha256='dbf6c0ed0cb7c5a7184536368f1dd1ada2d48fd6f016e0f9e9b69236e28c0857') version('4.0.1', sha256='5261c957589b9dfcd387c338d59375162ba9ca82c69e378961a1f4e641285db5') version('4.0.0', sha256='daf9b990e96863d120aff123361156a316757757b81a8070eb6945e4a9774b2d') + depends_on('python@3.5:', when='@5:', type=('build', 'run')) + depends_on('python@2.7:2.8,3.3:', when='@:4', type=('build', 'run')) depends_on('py-ipython-genutils', type=('build', 'run')) depends_on('py-traitlets@4.1:', type=('build', 'run')) depends_on('py-jsonschema@2.4.0:2.4.999,2.5.1:', type=('build', 'run')) From a6d26598efd75fc6a34dfa7bec20f4f06e45bee8 Mon Sep 17 00:00:00 2001 From: miheer vaidya Date: Fri, 20 Aug 2021 05:43:56 -0600 Subject: [PATCH 257/414] p7zip build fails with gcc10+ (#25450) --- var/spack/repos/builtin/packages/p7zip/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/p7zip/package.py b/var/spack/repos/builtin/packages/p7zip/package.py index 74397233163..3de83333502 100644 --- a/var/spack/repos/builtin/packages/p7zip/package.py +++ b/var/spack/repos/builtin/packages/p7zip/package.py @@ -7,11 +7,13 @@ class P7zip(MakefilePackage): """A Unix port of the 7z file archiver""" + maintainers = ['vmiheer'] homepage = "http://p7zip.sourceforge.net" url = "https://downloads.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.tar.bz2" version('16.02', sha256='5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f') + conflicts('%gcc@10:') # all3 includes 7z, 7za, and 7zr build_targets = ['all3'] From 2f85d3cdb9e0a634e43c796b6cd3e7d6971eefad Mon Sep 17 00:00:00 2001 From: "Garth N. Wells" Date: Fri, 20 Aug 2021 12:44:39 +0100 Subject: [PATCH 258/414] pybind11: add v2.7.1 (#25519) --- var/spack/repos/builtin/packages/py-pybind11/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-pybind11/package.py b/var/spack/repos/builtin/packages/py-pybind11/package.py index f3b60ffa217..e007de58cef 100644 --- a/var/spack/repos/builtin/packages/py-pybind11/package.py +++ b/var/spack/repos/builtin/packages/py-pybind11/package.py @@ -25,6 +25,7 @@ class PyPybind11(CMakePackage): maintainers = ['ax3l'] version('master', branch='master') + version('2.7.1', sha256='616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020') version('2.7.0', sha256='6cd73b3d0bf3daf415b5f9b87ca8817cc2e2b64c275d65f9500250f9fee1677e') version('2.6.2', sha256='8ff2fff22df038f5cd02cea8af56622bc67f5b64534f1b83b9f133b8366acff2') version('2.6.1', sha256='cdbe326d357f18b83d10322ba202d69f11b2f49e2d87ade0dc2be0c5c34f8e2a') From b6f7fa6eb5aca9dcc2e6acc337182df20574cc4d Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 06:46:40 -0500 Subject: [PATCH 259/414] py-nbmake: add new package (#25525) --- .../builtin/packages/py-nbmake/package.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-nbmake/package.py diff --git a/var/spack/repos/builtin/packages/py-nbmake/package.py b/var/spack/repos/builtin/packages/py-nbmake/package.py new file mode 100644 index 00000000000..69f5287ddab --- /dev/null +++ b/var/spack/repos/builtin/packages/py-nbmake/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyNbmake(PythonPackage): + """Pytest plugin for testing notebooks.""" + + homepage = "https://github.com/treebeardtech/nbmake" + pypi = "nbmake/nbmake-0.5.tar.gz" + + version('0.5', sha256='da9bf1bbc377c9d1d697f99952834017c39b4983e7e482a038dec705955a8ae9') + + depends_on('python@3.6.1:3.999', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-pygments@2.7.3:2.999', type=('build', 'run')) + depends_on('py-ipykernel@5.4.0:5.999', type=('build', 'run')) + depends_on('py-nbclient@0.3:0.999', type=('build', 'run')) + depends_on('py-nbformat@5.0.8:5.999', type=('build', 'run')) + depends_on('py-pathlib@1.0.1:1.999', type=('build', 'run')) + depends_on('py-pydantic@1.7.2:1.999', type=('build', 'run')) + depends_on('py-pytest@6.1.2:6.999', type=('build', 'run')) From bdf77545522fee33073f26b74472737eccd12ecc Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Fri, 20 Aug 2021 13:49:00 +0200 Subject: [PATCH 260/414] ginkgo: update smoke test location (#25517) The `test_install` folder was moved to `test` with https://github.com/ginkgo-project/ginkgo/pull/733. --- var/spack/repos/builtin/packages/ginkgo/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py index e62a94e4710..49bdfcfcc91 100644 --- a/var/spack/repos/builtin/packages/ginkgo/package.py +++ b/var/spack/repos/builtin/packages/ginkgo/package.py @@ -132,7 +132,7 @@ def setup_build_tests(self): return with working_dir(self.build_directory): make("test_install") - smoke_test_path = join_path(self.build_directory, 'test_install') + smoke_test_path = join_path(self.build_directory, 'test', 'test_install') with working_dir(smoke_test_path): make("install") From 65a7ceb3ceb1b8f47acb6bb3b67c51facb01bab5 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Fri, 20 Aug 2021 07:50:03 -0400 Subject: [PATCH 261/414] mpitrampoline: new package (#25516) --- .../builtin/packages/mpitrampoline/package.py | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 var/spack/repos/builtin/packages/mpitrampoline/package.py diff --git a/var/spack/repos/builtin/packages/mpitrampoline/package.py b/var/spack/repos/builtin/packages/mpitrampoline/package.py new file mode 100644 index 00000000000..3c0b463aa37 --- /dev/null +++ b/var/spack/repos/builtin/packages/mpitrampoline/package.py @@ -0,0 +1,48 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Mpitrampoline(CMakePackage): + """MPItrampoline: A forwarding MPI implementation that can use any other + MPI implementation via an MPI ABI.""" + + homepage = "https://github.com/eschnett/MPItrampoline" + url = "https://github.com/eschnett/MPItrampoline/archive/v1.0.1.tar.gz" + git = "https://github.com/eschnett/MPItrampoline.git" + + maintainers = ['eschnett'] + + version('develop', branch='main') + version('1.0.1', sha256='4ce91b99fb6d2dab481b5e477b6b6a0709add48cf0f287afbbb440fdf3232500') + + variant('shared', default=True, + description='Build a shared version of the library') + + provides("mpi @3.1") + + def cmake_args(self): + return [self.define_from_variant('BUILD_SHARED_LIBS', 'shared')] + + def setup_run_environment(self, env): + # Because MPI implementations provide compilers, they have to add to + # their run environments the code to make the compilers available. + env.set('MPITRAMPOLINE_CC', self.compiler.cc_names[0]) + env.set('MPITRAMPOLINE_CXX', self.compiler.cxx_names[0]) + env.set('MPITRAMPOLINE_FC', self.compiler.fc_names[0]) + env.set('MPICC', join_path(self.prefix.bin, 'mpicc')) + env.set('MPICXX', join_path(self.prefix.bin, 'mpicxx')) + env.set('MPIF77', join_path(self.prefix.bin, 'mpifc')) + env.set('MPIF90', join_path(self.prefix.bin, 'mpifc')) + + def setup_dependent_build_environment(self, env, dependent_spec): + self.setup_run_environment(env) + + def setup_dependent_package(self, module, dependent_spec): + self.spec.mpicc = join_path(self.prefix.bin, 'mpicc') + self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx') + self.spec.mpif77 = join_path(self.prefix.bin, 'mpifc') + self.spec.mpifc = join_path(self.prefix.bin, 'mpifc') From 05e933d7af51bc8035e86ee941f7dfe44c34ccd5 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 06:50:32 -0500 Subject: [PATCH 262/414] py-nbsphinx: add v0.8.7 (#25515) --- var/spack/repos/builtin/packages/py-nbsphinx/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-nbsphinx/package.py b/var/spack/repos/builtin/packages/py-nbsphinx/package.py index 96f08cc0628..8044792297d 100644 --- a/var/spack/repos/builtin/packages/py-nbsphinx/package.py +++ b/var/spack/repos/builtin/packages/py-nbsphinx/package.py @@ -18,9 +18,11 @@ class PyNbsphinx(PythonPackage): homepage = "https://nbsphinx.readthedocs.io" pypi = "nbsphinx/nbsphinx-0.8.0.tar.gz" + version('0.8.7', sha256='ff91b5b14ceb1a9d44193b5fc3dd3617e7b8ab59c788f7710049ce5faff2750c') version('0.8.1', sha256='24d59aa3a1077ba58d9769c64c38fb05b761a1af21c1ac15f6393500cd008ea6') version('0.8.0', sha256='369c16fe93af14c878d61fb3e81d838196fb35b27deade2cd7b95efe1fe56ea0') + # https://nbsphinx.readthedocs.io/en/latest/installation.html depends_on('python@3.6:', type=('build', 'run')) depends_on('py-setuptools', type='build') depends_on('py-docutils', type=('build', 'run')) @@ -29,3 +31,4 @@ class PyNbsphinx(PythonPackage): depends_on('py-traitlets', type=('build', 'run')) depends_on('py-nbformat', type=('build', 'run')) depends_on('py-sphinx@1.8:', type=('build', 'run')) + depends_on('pandoc', type='run') From 9b239392b152d4ac5671a58af83f9171c6f0106f Mon Sep 17 00:00:00 2001 From: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Fri, 20 Aug 2021 07:03:37 -0500 Subject: [PATCH 263/414] Add MPI variant and fix python3 variant for cinema (#25513) --- var/spack/repos/builtin/packages/py-cinema-lib/package.py | 2 +- var/spack/repos/builtin/packages/py-cinemasci/package.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-cinema-lib/package.py b/var/spack/repos/builtin/packages/py-cinema-lib/package.py index 9e5e1fd30c0..d8d4b976237 100644 --- a/var/spack/repos/builtin/packages/py-cinema-lib/package.py +++ b/var/spack/repos/builtin/packages/py-cinema-lib/package.py @@ -37,5 +37,5 @@ class PyCinemaLib(PythonPackage): depends_on('py-numpy@1.13:', when='+opencv', type=('build', 'run')) depends_on('py-scikit-image@0.13.1:', when='+image', type=('build', 'run')) - depends_on('opencv@3.4:+python', when='+opencv', type=('build', 'run')) + depends_on('opencv@3.4:+python3', when='+opencv', type=('build', 'run')) depends_on('py-setuptools', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-cinemasci/package.py b/var/spack/repos/builtin/packages/py-cinemasci/package.py index 83ddb8b6485..3f70f828503 100644 --- a/var/spack/repos/builtin/packages/py-cinemasci/package.py +++ b/var/spack/repos/builtin/packages/py-cinemasci/package.py @@ -17,10 +17,14 @@ class PyCinemasci(PythonPackage): version('1.3', sha256='c024ca9791de9d78e5dad3fd11e8f87d8bc1afa5830f2697d7ec4116a5d23c20') - depends_on('hdf5~mpi') + variant('mpi', default=False, description='Enable MPI') + + depends_on('hdf5 ~mpi', when='~mpi') + depends_on('hdf5 +mpi', when='+mpi') depends_on('pil', type=('build', 'run')) depends_on('python@3:', type=('build', 'run')) - depends_on('py-h5py~mpi', type=('build', 'run')) + depends_on('py-h5py~mpi', when='~mpi', type=('build', 'run')) + depends_on('py-h5py+mpi', when='+mpi', type=('build', 'run')) depends_on('py-ipywidgets', type=('build', 'run')) depends_on('py-jupyterlab', type=('build', 'run')) depends_on('py-pandas', type=('build', 'run')) From b124fbb0c8f501f5cc186c970f8c184385df7f80 Mon Sep 17 00:00:00 2001 From: Christoph Conrads <22275833+christoph-conrads@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:05:21 +0200 Subject: [PATCH 264/414] melissa: new package (#25511) --- .../repos/builtin/packages/melissa/package.py | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 var/spack/repos/builtin/packages/melissa/package.py diff --git a/var/spack/repos/builtin/packages/melissa/package.py b/var/spack/repos/builtin/packages/melissa/package.py new file mode 100644 index 00000000000..5ad68fafe95 --- /dev/null +++ b/var/spack/repos/builtin/packages/melissa/package.py @@ -0,0 +1,41 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Melissa(CMakePackage): + """Melissa is a file-avoiding, adaptive, fault-tolerant and elastic + framework, to run large-scale sensitivity analysis on supercomputers. + """ + + homepage = 'https://gitlab.inria.fr/melissa/melissa' + url = 'https://gitlab.inria.fr/melissa/melissa/-/archive/v1.0/melissa-v1.0.tar.bz2' + git = 'https://gitlab.inria.fr/melissa/melissa.git' + + # attention: Git**Hub**.com accounts + maintainers = ['christoph-conrads', 'raffino'] + + version('master', branch='master') + version('develop', branch='develop') + version('0.7.0', sha256='a801d0b512e31a0750f98cfca80f8338985e06abf9b26e96f7645a022864e41c') + + variant('no_mpi_api', default=False, description="Enable the deprecated no-MPI API") + variant('shared', default=True, description="Build shared libraries") + + depends_on('cmake@3.7.2:', type='build') + depends_on('libzmq@4.1.5:') + depends_on('mpi') + depends_on('pkgconfig', type='build') + depends_on('python@3.5.3:', type=('build', 'run')) + + def cmake_args(self): + args = [ + self.define('BUILD_TESTING', self.run_tests), + self.define_from_variant('BUILD_SHARED_LIBS', 'shared'), + self.define_from_variant('MELISSA_ENABLE_NO_MPI_API', 'no_mpi_api') + ] + + return args From eb5061d54c63f534d3666598ac9d7ce0c0eafc6a Mon Sep 17 00:00:00 2001 From: Christoph Conrads <22275833+christoph-conrads@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:07:44 +0200 Subject: [PATCH 265/414] mercurial: complete spec of Python dependency (#25506) The list of required Python standard library components can be found in the Mercurial wiki, "Supported Python Versions": https://www.mercurial-scm.org/wiki/SupportedPythonVersions --- var/spack/repos/builtin/packages/mercurial/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/mercurial/package.py b/var/spack/repos/builtin/packages/mercurial/package.py index 2cee858c2ec..2041f79eef7 100644 --- a/var/spack/repos/builtin/packages/mercurial/package.py +++ b/var/spack/repos/builtin/packages/mercurial/package.py @@ -31,8 +31,8 @@ class Mercurial(PythonPackage): version('3.8.2', sha256='cb78b16956140625266a8a6d1fadc7c868969d994086e1ec60279a66bf20bffd') version('3.8.1', sha256='face1f058de5530b56b0dfd3b4d0b23d89590c588605c06f3d18b79e8c30d594') - depends_on('python@2.6:2.8', when='@:4.2.99', type=('build', 'run')) - depends_on('python@2.7:2.8,3.5.3:3.5.999,3.6.2:', when='@4.3:', type=('build', 'run')) + depends_on('python+bz2+ssl+zlib@2.6:2.8', when='@:4.2.99', type=('build', 'run')) + depends_on('python+bz2+ssl+zlib@2.7:2.8,3.5.3:3.5.999,3.6.2:', when='@4.3:', type=('build', 'run')) depends_on('py-setuptools', when='@3.6:', type='build') depends_on('py-docutils', type='build') depends_on('py-pygments', type=('build', 'run')) From 09b52c4f04f7ac26afa57ac76901fc3283083b6e Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 14:12:30 +0200 Subject: [PATCH 266/414] util-linux: add v2.37.2, v2.37.1 and v2.37 (#25503) --- var/spack/repos/builtin/packages/util-linux/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/util-linux/package.py b/var/spack/repos/builtin/packages/util-linux/package.py index 3b6b6d4c9c7..878a9a18b86 100644 --- a/var/spack/repos/builtin/packages/util-linux/package.py +++ b/var/spack/repos/builtin/packages/util-linux/package.py @@ -16,6 +16,9 @@ class UtilLinux(AutotoolsPackage): list_url = "https://www.kernel.org/pub/linux/utils/util-linux" list_depth = 1 + version('2.37.2', sha256='15db966474e459b33fa390a6b892190a92079a73ca45384cde4c86e6ed265a86') + version('2.37.1', sha256='0fe9ee8ee7f157be8abcfc2902ec8de9fe30b39173b84e4c458675cef4709b35') + version('2.37', sha256='faa8b46d080faa6f32c57da81eda871e38e1e27ba4e9b61cb2589334671aba50') version('2.36.2', sha256='f5dbe79057e7d68e1a46fc04083fc558b26a49499b1b3f50e4f4893150970463') version('2.36', sha256='82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3') version('2.35.1', sha256='37ac05d82c6410d89bc05d43cee101fefc8fe6cf6090b3ce7a1409a6f35db606') From e9e0cd072818e8d019d16096bdb6c6790ee13028 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 14:14:29 +0200 Subject: [PATCH 267/414] rsync: add v3.2.3 (#25501) --- var/spack/repos/builtin/packages/rsync/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/rsync/package.py b/var/spack/repos/builtin/packages/rsync/package.py index bac8e8a4945..b899aed17d9 100644 --- a/var/spack/repos/builtin/packages/rsync/package.py +++ b/var/spack/repos/builtin/packages/rsync/package.py @@ -13,6 +13,7 @@ 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.3', sha256='becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e') version('3.2.2', sha256='644bd3841779507665211fd7db8359c8a10670c57e305b4aab61b4e40037afa8') version('3.1.3', sha256='55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0') version('3.1.2', sha256='ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2') From e6d1485c285f52a8d6f3ca838571b6c4bf3f366d Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 14:19:32 +0200 Subject: [PATCH 268/414] openssh: add v8.6p1 (#25499) --- var/spack/repos/builtin/packages/openssh/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/openssh/package.py b/var/spack/repos/builtin/packages/openssh/package.py index e97e44a18fc..083cce47a3e 100644 --- a/var/spack/repos/builtin/packages/openssh/package.py +++ b/var/spack/repos/builtin/packages/openssh/package.py @@ -20,6 +20,7 @@ class Openssh(AutotoolsPackage): homepage = "https://www.openssh.com/" url = "https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz" + version('8.6p1', sha256='c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae') version('8.5p1', sha256='f52f3f41d429aa9918e38cf200af225ccdd8e66f052da572870c89737646ec25') version('8.4p1', sha256='5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24') version('8.3p1', sha256='f2befbe0472fe7eb75d23340eb17531cb6b3aac24075e2066b41f814e12387b2') From 0c25015fdc2701348dd608011234959cae8dd4cd Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 14:19:55 +0200 Subject: [PATCH 269/414] mbedtls: add v3.0.0 (#25498) --- var/spack/repos/builtin/packages/mbedtls/package.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py index bb641994358..a3063415e84 100644 --- a/var/spack/repos/builtin/packages/mbedtls/package.py +++ b/var/spack/repos/builtin/packages/mbedtls/package.py @@ -17,6 +17,7 @@ class Mbedtls(CMakePackage): url = "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.2.1.tar.gz" maintainers = ['mwkrentel'] + version('3.0.0', sha256='377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0') version('2.16.9', sha256='b7ca99ee10551b5b13242b7effebefd2a5cc38c287e5f5be1267d51ee45effe3') version('2.16.7', sha256='4786b7d1676f5e4d248f3a7f2d28446876d64962634f060ff21b92c690cfbe86') version('2.16.1', sha256='daf0d40f3016c34eb42d1e4b3b52be047e976d566aba8668977723c829af72f3') @@ -38,8 +39,9 @@ class Mbedtls(CMakePackage): variant('shared', default=False, description='Build shared libraries') + depends_on('cmake@3.10.2:', type='build', when='@3.0.0:') 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('cmake@2.6:', type='build') depends_on('perl', type='test') def cmake_args(self): From 737f09f2b0b6d12e64e2a8d3e3b129971d25f2af Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 14:22:21 +0200 Subject: [PATCH 270/414] libxml2: add v2.9.12 (#25497) --- var/spack/repos/builtin/packages/libxml2/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py index 781c4a9d3ed..3db52461329 100644 --- a/var/spack/repos/builtin/packages/libxml2/package.py +++ b/var/spack/repos/builtin/packages/libxml2/package.py @@ -16,6 +16,8 @@ class Libxml2(AutotoolsPackage): homepage = "http://xmlsoft.org" url = "http://xmlsoft.org/sources/libxml2-2.9.8.tar.gz" + version('2.9.12', sha256='c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92') + version('2.9.11', sha256='886f696d5d5b45d780b2880645edf9e0c62a4fd6841b853e824ada4e02b4d331') version('2.9.10', sha256='aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f') version('2.9.9', sha256='94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871') version('2.9.8', sha256='0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732') From 9ead83caa7c28c2323aaf56c0a50f6d2b72637e1 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 14:23:06 +0200 Subject: [PATCH 271/414] curl: add v7.78 (#25496) --- var/spack/repos/builtin/packages/curl/package.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py index deee1c1b66d..047b8bdb0b9 100644 --- a/var/spack/repos/builtin/packages/curl/package.py +++ b/var/spack/repos/builtin/packages/curl/package.py @@ -14,8 +14,10 @@ class Curl(AutotoolsPackage): homepage = "https://curl.se/" # URL must remain http:// so Spack can bootstrap curl - url = "http://curl.haxx.se/download/curl-7.74.0.tar.bz2" + url = "http://curl.haxx.se/download/curl-7.78.0.tar.bz2" + version('7.78.0', sha256='98530b317dc95ccb324bbe4f834f07bb642fbc393b794ddf3434f246a71ea44a') + version('7.77.0', sha256='6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea') version('7.76.1', sha256='7a8e184d7d31312c4ebf6a8cb59cd757e61b2b2833a9ed4f9bf708066e7695e9') version('7.76.0', sha256='e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a') version('7.75.0', sha256='50552d4501c178e4cc68baaecc487f466a3d6d19bbf4e50a01869effb316d026') @@ -79,11 +81,16 @@ def configure_args(self): # add variants for these in the future '--without-brotli', '--without-libgsasl', - '--without-libmetalink', '--without-libpsl', '--without-zstd', ] + # https://daniel.haxx.se/blog/2021/06/07/bye-bye-metalink-in-curl/ + # We always disable it explicitly, but the flag is gone in newer + # versions. + if spec.satisfies('@:7.77'): + args.append('--without-libmetalink') + if spec.satisfies('+darwinssl'): args.append('--with-darwinssl') else: From 89f442392e2771e3e997f29c4e257f5c3afb89a0 Mon Sep 17 00:00:00 2001 From: Dylan Simon Date: Fri, 20 Aug 2021 08:25:32 -0400 Subject: [PATCH 272/414] gtkplus: needs libepoxy+glx (#25488) build fails with ~glx --- var/spack/repos/builtin/packages/gtkplus/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py index e31df250754..a5db09d06c1 100644 --- a/var/spack/repos/builtin/packages/gtkplus/package.py +++ b/var/spack/repos/builtin/packages/gtkplus/package.py @@ -42,7 +42,7 @@ class Gtkplus(MesonPackage): depends_on('libxkbcommon') depends_on('librsvg') depends_on('xrandr') - depends_on('libepoxy', when='@3:') + depends_on('libepoxy+glx', when='@3:') depends_on('libxi', when='@3:') depends_on('inputproto', when='@3:') depends_on('fixesproto', when='@3:') From 2754f2f506601574d228f528458f52c8a2b1a21c Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Fri, 20 Aug 2021 07:26:03 -0500 Subject: [PATCH 273/414] podio:add v0.13.1 (#25492) This allows for fixed width integers in the fields, and other changes as in changelog https://github.com/AIDASoft/podio/releases/tag/v00-13-01. --- var/spack/repos/builtin/packages/podio/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/podio/package.py b/var/spack/repos/builtin/packages/podio/package.py index bec083e0c3f..a6e6e10a02d 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): tags = ["hep", "key4hep"] version('master', branch='master') + version('0.13.1', sha256='2ae561c2a0e46c44245aa2098772374ad246c9fcb1956875c95c69c963501353') version('0.13', sha256='e9cbd4e25730003d3706ad82e28b15cb5bdc524a78b0a26e90b89ea852101498') version('0.12', sha256='1729a2ce21e8b307fc37dfb9a9f5ae031e9f4be4992385cf99dba3e5fdf5323a') version('0.11', sha256='4b2765566a14f0ddece2c894634e0a8e4f42f3e44392addb9110d856f6267fb6') From ef32ff0e4ca5b0e9d8ed6d734f7e221f90a480ac Mon Sep 17 00:00:00 2001 From: Keita Iwabuchi Date: Fri, 20 Aug 2021 05:26:34 -0700 Subject: [PATCH 274/414] metall: add v0.16 and v0.14 (#25493) --- var/spack/repos/builtin/packages/metall/package.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/metall/package.py b/var/spack/repos/builtin/packages/metall/package.py index ee9495733f1..1409f173d45 100644 --- a/var/spack/repos/builtin/packages/metall/package.py +++ b/var/spack/repos/builtin/packages/metall/package.py @@ -9,14 +9,16 @@ class Metall(CMakePackage): homepage = "https://github.com/LLNL/metall" git = "https://github.com/LLNL/metall.git" - url = "https://github.com/LLNL/metall/archive/v0.15.tar.gz" + url = "https://github.com/LLNL/metall/archive/v0.16.tar.gz" maintainers = ['KIwabuchi', 'rogerpearce', 'mayagokhale'] version('master', branch='master') version('develop', branch='develop') + version('0.16', sha256='190fa6936cbbfad1844659eb1fcfd1ad8c5880f60e76e223e33c506d371ea3a3') version('0.15', sha256='a1ea475ce1297b0c4cdf450544dc60ecf1b0a30c548b08ba77ccda5585df7248') + version('0.14', sha256='386a6db0cfd3b3693cf8b0de323dcb60d43777aa5c871b744c9e8c19a572a917') version('0.13', sha256='959d37d0a7e7e5b4d5e6c0334aaaeef1b463e855fa8e807042f662c993ed60b1') version('0.12', sha256='b757b354b355e866bd6d42da53b0160442f3b7f663a19ba113da1ffc1a76176e') version('0.11', sha256='7cfa6a7eaaeb7fd11ecfbe43a172a36c8cde200601d6cd3b309d7a0acf752f3c') From 201f5bdfe8813e0b3995d72e07f00d8d7257586c Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Fri, 20 Aug 2021 05:27:12 -0700 Subject: [PATCH 275/414] WarpX: Actually skip tests when cannot be run (#25494) --- var/spack/repos/builtin/packages/warpx/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py index 03d0e3884df..b5cb9ef7efb 100644 --- a/var/spack/repos/builtin/packages/warpx/package.py +++ b/var/spack/repos/builtin/packages/warpx/package.py @@ -158,7 +158,7 @@ def check(self): """Checks after the build phase""" if '+app' not in self.spec: print("WarpX check skipped: requires variant +app") - pass + return with working_dir("spack-check", create=True): cli_args = self._get_input_options(False) @@ -175,7 +175,7 @@ def test(self): """Perform smoke tests on the installed package.""" if '+app' not in self.spec: print("WarpX smoke tests skipped: requires variant +app") - pass + return # our executable names are a variant-dependent and naming evolves exe = find(self.prefix.bin, 'warpx.*', recursive=False)[0] From 8be614729c1a4bb5a5c42c2e660730726e7f9ffb Mon Sep 17 00:00:00 2001 From: Christoph Conrads <22275833+christoph-conrads@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:31:31 +0200 Subject: [PATCH 276/414] sed: make package discoverable (#25481) --- var/spack/repos/builtin/packages/sed/package.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/var/spack/repos/builtin/packages/sed/package.py b/var/spack/repos/builtin/packages/sed/package.py index 98ac82b36fb..7ad00ea65e8 100644 --- a/var/spack/repos/builtin/packages/sed/package.py +++ b/var/spack/repos/builtin/packages/sed/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import re + from spack import * @@ -12,3 +14,12 @@ class Sed(AutotoolsPackage, GNUMirrorPackage): gnu_mirror_path = "sed/sed-4.2.2.tar.bz2" version('4.2.2', sha256='f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7') + + executables = ['^sed$'] + + @classmethod + def determine_version(cls, exe): + output = Executable(exe)('--version', output=str, error=str) + version_regexp = r'{:s} \(GNU sed\) (\S+)'.format(exe) + match = re.search(version_regexp, output) + return match.group(1) if match else None From dcd19e7982024f4f196f24b71fc2d73bef6723eb Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Fri, 20 Aug 2021 14:43:43 +0200 Subject: [PATCH 277/414] cupla: add new package (#25505) --- .../repos/builtin/packages/cupla/package.py | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 var/spack/repos/builtin/packages/cupla/package.py diff --git a/var/spack/repos/builtin/packages/cupla/package.py b/var/spack/repos/builtin/packages/cupla/package.py new file mode 100644 index 00000000000..99fb188e067 --- /dev/null +++ b/var/spack/repos/builtin/packages/cupla/package.py @@ -0,0 +1,42 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack import * + + +class Cupla(Package): + """C++ User interface for the Platform independent Library Alpaka""" + + homepage = "https://github.com/alpaka-group/cupla" + git = "https://github.com/alpaka-group/cupla.git" + url = "https://github.com/alpaka-group/cupla/archive/refs/tags/0.3.0.tar.gz" + + maintainers = ['vvolkl'] + + version('develop', branch='dev') + version('master', branch='master') + version('0.3.0', sha256='035512517167967697e73544c788453de5e3f0bc4e8d4864b41b2e287365cbaf') + + depends_on('alpaka@0.6.0:') + + def install(self, spec, prefix): + install_tree('include', self.prefix.include) + install_tree('src', self.prefix.src) + install_tree('doc', self.prefix.share.cupla.doc) + install_tree('example', self.prefix.example) + install_tree('cmake', self.prefix.cmake) + install('Findcupla.cmake', self.prefix) + install('cuplaConfig.cmake', self.prefix) + + def setup_run_environment(self, env): + env.set("CUPLA_ROOT", self.prefix) + env.prepend_path("CMAKE_PREFIX_PATH", self.prefix) + env.set("CUPLA", self.prefix.share.cupla) + + def setup_dependent_build_environment(self, env, dependent_spec): + env.set("CUPLA_ROOT", self.prefix) + env.prepend_path("CMAKE_PREFIX_PATH", self.prefix) + env.set("CUPLA", self.prefix.share.cupla) From 2474b9107811664f576031f6deed59533889ecd5 Mon Sep 17 00:00:00 2001 From: Christoph Conrads <22275833+christoph-conrads@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:54:43 +0200 Subject: [PATCH 278/414] file: make package discoverable (#25479) --- var/spack/repos/builtin/packages/file/package.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/var/spack/repos/builtin/packages/file/package.py b/var/spack/repos/builtin/packages/file/package.py index 582c15cf62c..13d1b59ec13 100644 --- a/var/spack/repos/builtin/packages/file/package.py +++ b/var/spack/repos/builtin/packages/file/package.py @@ -2,6 +2,9 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import re + from spack import * @@ -16,3 +19,11 @@ class File(AutotoolsPackage): version('5.39', sha256='f05d286a76d9556243d0cb05814929c2ecf3a5ba07963f8f70bfaaa70517fad1') version('5.38', sha256='593c2ffc2ab349c5aea0f55fedfe4d681737b6b62376a9b3ad1e77b2cc19fa34') version('5.37', sha256='e9c13967f7dd339a3c241b7710ba093560b9a33013491318e88e6b8b57bae07f') + + executables = ['^file$'] + + @classmethod + def determine_version(cls, exe): + output = Executable(exe)('--version', output=str, error=str) + match = re.search(r'file-(\S+)', output) + return match.group(1) if match else None From b1755c4fb32ade93321ce90c53a953e56d04251d Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 07:56:58 -0500 Subject: [PATCH 279/414] py-torch: add v1.8.2 (#25471) --- var/spack/repos/builtin/packages/py-torch/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-torch/package.py b/var/spack/repos/builtin/packages/py-torch/package.py index 468f1100b5f..487a619f20e 100644 --- a/var/spack/repos/builtin/packages/py-torch/package.py +++ b/var/spack/repos/builtin/packages/py-torch/package.py @@ -24,6 +24,7 @@ class PyTorch(PythonPackage, CudaPackage): version('master', branch='master', submodules=True) version('1.9.0', tag='v1.9.0', submodules=True) + version('1.8.2', tag='v1.8.2', submodules=True) version('1.8.1', tag='v1.8.1', submodules=True) version('1.8.0', tag='v1.8.0', submodules=True) version('1.7.1', tag='v1.7.1', submodules=True) From c0bb2b99433929ceb3e1ffdb45935de13e853a92 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Fri, 20 Aug 2021 15:00:14 +0200 Subject: [PATCH 280/414] hdf5: support for Cray Fortran Compiler (#25466) --- var/spack/repos/builtin/packages/hdf5/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index e188bb94b14..13a4f0746fd 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -202,6 +202,12 @@ def flag_handler(self, name, flags): if self.spec.satisfies('@:1.8.12+cxx~shared'): cmake_flags.append(self.compiler.cxx_pic_flag) elif name == "fflags": + if self.spec.satisfies('%cce+fortran'): + # Cray compiler generates module files with uppercase names by + # default, which is not handled by the CMake scripts. The + # following flag forces the compiler to produce module files + # with lowercase names. + cmake_flags.append('-ef') if self.spec.satisfies('@:1.8.12+fortran~shared'): cmake_flags.append(self.compiler.fc_pic_flag) elif name == "ldlibs": From 37e4d32d534c85e5c6bc8eee7008bf73afddadb1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 20 Aug 2021 08:03:33 -0500 Subject: [PATCH 281/414] py-protobuf: fix checksums (#25469) --- .../repos/builtin/packages/py-protobuf/package.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-protobuf/package.py b/var/spack/repos/builtin/packages/py-protobuf/package.py index e4d32cd6cff..bacad6f0183 100644 --- a/var/spack/repos/builtin/packages/py-protobuf/package.py +++ b/var/spack/repos/builtin/packages/py-protobuf/package.py @@ -20,12 +20,12 @@ class PyProtobuf(PythonPackage): variant('cpp', default=False, description='Enable the cpp implementation') - version('3.17.3', sha256='3253c6d17ec0bb6f6382e555cf5ca0a9ffab8d81b691f100f96ce9f5e753018e') - version('3.17.2', sha256='1edd5de2cf5bc3807ba14abdf475c3e7597007f116a68702be5d59bb3eb77b0c') - version('3.17.1', sha256='644b759b76824b13397f1ad6708e720edf4aea2a2b1570ea06824df620d978c7') - version('3.17.0', sha256='3011bfbc18d1c695ee393cb0dc1042282cfa33ef6573fe82732aefc9f7286121') - version('3.16.0', sha256='7f1b19ff546e1f7417361c70028e6da7a4978eaac254e8cc67a570f6459ff9dd') - version('3.15.8', sha256='26496db804123bc8b058054e8b1fabc592e7648729e4f92ff60d120c7803eaeb') + version('3.17.3', sha256='72804ea5eaa9c22a090d2803813e280fb273b62d5ae497aaf3553d141c4fdd7b') + version('3.17.2', sha256='5a3450acf046716e4a4f02a3f7adfb7b86f1b5b3ae392cec759915e79538d40d') + version('3.17.1', sha256='25bc4f1c23aced9b3a9e70eef7f03e63bcbd6cfbd881a91b5688412dce8992e1') + version('3.17.0', sha256='05dfe9319939a8473c21b469f34f6486646e54fb8542637cf7ed8e2fbfe21538') + version('3.16.0', sha256='228eecbedd46d75010f1e0f8ce34dbcd11ae5a40c165a9fc9d330a58aa302818') + version('3.15.8', sha256='0277f62b1e42210cafe79a71628c1d553348da81cbd553402a7f7549c50b11d0') version('3.15.7', sha256='2d03fc2591543cd2456d0b72230b50c4519546a8d379ac6fd3ecd84c6df61e5d') version('3.15.6', sha256='2b974519a2ae83aa1e31cff9018c70bbe0e303a46a598f982943c49ae1d4fcd3') version('3.15.5', sha256='be8a929c6178bb6cbe9e2c858be62fa08966a39ae758a8493a88f0ed1efb6097') @@ -45,7 +45,8 @@ class PyProtobuf(PythonPackage): version('3.4.0', sha256='ef02609ef445987976a3a26bff77119c518e0915c96661c3a3b17856d0ef6374') version('3.3.0', sha256='1cbcee2c45773f57cb6de7ee0eceb97f92b9b69c0178305509b162c0160c1f04') version('3.1.0', sha256='0bc10bfd00a9614fae58c86c21fbcf339790e48accf6d45f098034de985f5405', - url='https://github.com/protocolbuffers/protobuf/releases/download/v3.1.0/protobuf-python-3.1.0.tar.gz') + url='https://github.com/protocolbuffers/protobuf/releases/download/v3.1.0/protobuf-python-3.1.0.tar.gz', + deprecated=True) version('3.0.0', sha256='ecc40bc30f1183b418fe0ec0c90bc3b53fa1707c4205ee278c6b90479e5b6ff5') version('3.0.0b2', sha256='d5b560bbc4b7d97cc2455c05cad9299d9db02d7bd11193b05684e3a86303c229') version('3.0.0a3', sha256='b61622de5048415bfd3f2d812ad64606438ac9e25009ae84191405fe58e522c1') From 84100afc9162869fb169e79c8dcd566aba380bdd Mon Sep 17 00:00:00 2001 From: Scott Wittenburg Date: Fri, 20 Aug 2021 07:45:23 -0600 Subject: [PATCH 282/414] Pipelines: use shared pr mirror for pipeline generation and builds (#25529) Once PR binary graduation is deployed, the shared PR mirror will contain binaries just built by a merged PR, before the subsequent develop pipeline has had time to finish. Using the shared PR mirror as a source of binaries will reduce the number of times we have to rebuild the same full hash. --- lib/spack/spack/ci.py | 9 +++++++-- lib/spack/spack/test/cmd/ci.py | 12 ++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/ci.py b/lib/spack/spack/ci.py index 0ada128f649..6fbddf6385a 100644 --- a/lib/spack/spack/ci.py +++ b/lib/spack/spack/ci.py @@ -45,6 +45,8 @@ ] SPACK_PR_MIRRORS_ROOT_URL = 's3://spack-binaries-prs' +SPACK_SHARED_PR_MIRROR_URL = url_util.join(SPACK_PR_MIRRORS_ROOT_URL, + 'shared_pr_mirror') TEMP_STORAGE_MIRROR_NAME = 'ci_temporary_mirror' spack_gpg = spack.main.SpackCommand('gpg') @@ -612,11 +614,14 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file, 'strip-compilers': False, }) - # Add this mirror if it's enabled, as some specs might be up to date - # here and thus not need to be rebuilt. + # Add per-PR mirror (and shared PR mirror) if enabled, as some specs might + # be up to date in one of those and thus not need to be rebuilt. if pr_mirror_url: spack.mirror.add( 'ci_pr_mirror', pr_mirror_url, cfg.default_modify_scope()) + spack.mirror.add('ci_shared_pr_mirror', + SPACK_SHARED_PR_MIRROR_URL, + cfg.default_modify_scope()) pipeline_artifacts_dir = artifacts_root if not pipeline_artifacts_dir: diff --git a/lib/spack/spack/test/cmd/ci.py b/lib/spack/spack/test/cmd/ci.py index a9891796ace..fad1cd5351d 100644 --- a/lib/spack/spack/test/cmd/ci.py +++ b/lib/spack/spack/test/cmd/ci.py @@ -617,6 +617,8 @@ def test_ci_generate_for_pr_pipeline(tmpdir, mutable_mock_env_path, os.environ['SPACK_PR_BRANCH'] = 'fake-test-branch' monkeypatch.setattr( ci, 'SPACK_PR_MIRRORS_ROOT_URL', r"file:///fake/mirror") + monkeypatch.setattr( + ci, 'SPACK_SHARED_PR_MIRROR_URL', r"file:///fake/mirror_two") try: ci_cmd('generate', '--output-file', outputfile) finally: @@ -668,6 +670,8 @@ def test_ci_generate_with_external_pkg(tmpdir, mutable_mock_env_path, with ev.read('test'): monkeypatch.setattr( ci, 'SPACK_PR_MIRRORS_ROOT_URL', r"file:///fake/mirror") + monkeypatch.setattr( + ci, 'SPACK_SHARED_PR_MIRROR_URL', r"file:///fake/mirror_two") ci_cmd('generate', '--output-file', outputfile) with open(outputfile) as f: @@ -1153,6 +1157,8 @@ def test_ci_generate_override_runner_attrs(tmpdir, mutable_mock_env_path, spack.main, 'get_version', lambda: '0.15.3-416-12ad69eb1') monkeypatch.setattr( ci, 'SPACK_PR_MIRRORS_ROOT_URL', r"file:///fake/mirror") + monkeypatch.setattr( + ci, 'SPACK_SHARED_PR_MIRROR_URL', r"file:///fake/mirror_two") ci_cmd('generate', '--output-file', outputfile) with open(outputfile) as f: @@ -1257,6 +1263,8 @@ def test_ci_generate_with_workarounds(tmpdir, mutable_mock_env_path, with ev.read('test'): monkeypatch.setattr( ci, 'SPACK_PR_MIRRORS_ROOT_URL', r"file:///fake/mirror") + monkeypatch.setattr( + ci, 'SPACK_SHARED_PR_MIRROR_URL', r"file:///fake/mirror_two") ci_cmd('generate', '--output-file', outputfile, '--dependencies') with open(outputfile) as f: @@ -1417,6 +1425,8 @@ def fake_get_mirrors_for_spec(spec=None, full_hash_match=False, with ev.read('test'): monkeypatch.setattr( ci, 'SPACK_PR_MIRRORS_ROOT_URL', r"file:///fake/mirror") + monkeypatch.setattr( + ci, 'SPACK_SHARED_PR_MIRROR_URL', r"file:///fake/mirror_two") ci_cmd('generate', '--output-file', outputfile) @@ -1568,6 +1578,8 @@ def test_ci_generate_temp_storage_url(tmpdir, mutable_mock_env_path, monkeypatch.setattr( ci, 'SPACK_PR_MIRRORS_ROOT_URL', r"file:///fake/mirror") + monkeypatch.setattr( + ci, 'SPACK_SHARED_PR_MIRROR_URL', r"file:///fake/mirror_two") with ev.read('test'): ci_cmd('generate', '--output-file', outputfile) From caed90fcf2ba11191c73ac2f8ebc401e690cb041 Mon Sep 17 00:00:00 2001 From: Paul Spencer <32964672+pwablito@users.noreply.github.com> Date: Fri, 20 Aug 2021 07:52:02 -0600 Subject: [PATCH 283/414] Fix spelling mistake in the word "monitor" (#25486) --- lib/spack/spack/monitor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/spack/monitor.py b/lib/spack/spack/monitor.py index b75836b3d2d..43a97a81726 100644 --- a/lib/spack/spack/monitor.py +++ b/lib/spack/spack/monitor.py @@ -87,7 +87,7 @@ def get_monitor_group(subparser): monitor_group = subparser.add_argument_group() monitor_group.add_argument( '--monitor', action='store_true', dest='use_monitor', default=False, - help="interact with a montor server during builds.") + help="interact with a monitor server during builds.") monitor_group.add_argument( '--monitor-save-local', action='store_true', dest='monitor_save_local', default=False, help="save monitor results to .spack instead of server.") From c4e50c9efbc0c99ae272e27387a33fdc5f4aea23 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 20 Aug 2021 16:22:44 +0200 Subject: [PATCH 284/414] pkgconf: add v1.8.0 (#25480) --- var/spack/repos/builtin/packages/pkgconf/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/pkgconf/package.py b/var/spack/repos/builtin/packages/pkgconf/package.py index 7f2d039fcba..1523cd19aaf 100644 --- a/var/spack/repos/builtin/packages/pkgconf/package.py +++ b/var/spack/repos/builtin/packages/pkgconf/package.py @@ -16,6 +16,7 @@ class Pkgconf(AutotoolsPackage): # URL must remain http:// so Spack can bootstrap curl url = "http://distfiles.dereferenced.org/pkgconf/pkgconf-1.6.3.tar.xz" + version('1.8.0', sha256='ef9c7e61822b7cb8356e6e9e1dca58d9556f3200d78acab35e4347e9d4c2bbaf') version('1.7.4', sha256='d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab') version('1.7.3', sha256='b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0') version('1.6.3', sha256='61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210') From 7d666fc220f9bbb0ec42fcdbf2b534b53d453ccf Mon Sep 17 00:00:00 2001 From: Oliver Perks Date: Fri, 20 Aug 2021 16:19:56 +0100 Subject: [PATCH 285/414] rsbench: Version bump and added compiler support (#25464) Co-authored-by: Massimiliano Culpo --- .../repos/builtin/packages/rsbench/package.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/rsbench/package.py b/var/spack/repos/builtin/packages/rsbench/package.py index 5e16563e998..b3b5f852edf 100644 --- a/var/spack/repos/builtin/packages/rsbench/package.py +++ b/var/spack/repos/builtin/packages/rsbench/package.py @@ -14,26 +14,36 @@ class Rsbench(MakefilePackage): homepage = "https://github.com/ANL-CESAR/RSBench" url = "https://github.com/ANL-CESAR/RSBench/archive/v2.tar.gz" + version('12', sha256='2e437dbdaf7bf12bb9ade429d46a9e74fd519fc4686777a452770790d0546499') version('2', sha256='1e97a38a863836e98cedc5cc669f8fdcaed905fafdc921d2bce32319b3e157ff') version('0', sha256='95c06cf4cb6f396f9964d5e4b58a477bf9d7131cd39804480f1cb74e9310b271') tags = ['proxy-app'] - build_directory = 'src' + # To-Do: Add build support for other parallelism versions in v12: + # CUDA, Sycl, OpenCL, OpenMP Offload + + @property + def build_directory(self): + if self.spec.satisfies('@:2'): + return 'src' + return 'openmp-threading' @property def build_targets(self): targets = [] - cflags = '-std=gnu99' + cflags = '-std=gnu99 -O3' ldflags = '-lm' if self.compiler.name == 'gcc': cflags += ' -ffast-math ' elif self.compiler.name == 'intel': cflags += ' -xhost -ansi-alias -no-prec-div ' - elif self.compiler.name == 'pgi': + elif self.compiler.name == 'pgi' or self.compiler.name == 'nvhpc': cflags += ' -fastsse ' + elif self.compiler.name == 'arm': + cflags += ' -ffast-math ' cflags += self.compiler.openmp_flag @@ -44,4 +54,4 @@ def build_targets(self): def install(self, spec, prefix): mkdir(prefix.bin) - install('src/rsbench', prefix.bin) + install(join_path(self.build_directory, 'rsbench'), prefix.bin) From 81e4155eaf8de9c9369b6dcc33a8a1812b9a910b Mon Sep 17 00:00:00 2001 From: Gilles Grospellier <63445205+grospelliergilles@users.noreply.github.com> Date: Fri, 20 Aug 2021 19:25:41 +0200 Subject: [PATCH 286/414] mono: add v6.12.0.122, add maintainer (#25538) --- var/spack/repos/builtin/packages/mono/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/mono/package.py b/var/spack/repos/builtin/packages/mono/package.py index 80ab3c3db89..a1940cbed06 100644 --- a/var/spack/repos/builtin/packages/mono/package.py +++ b/var/spack/repos/builtin/packages/mono/package.py @@ -15,6 +15,7 @@ class Mono(AutotoolsPackage): homepage = "http://www.mono-project.com/" url = "https://download.mono-project.com/sources/mono/mono-5.0.1.1.tar.bz2" + maintainers = ['grospelliergilles'] # /usr/share/.mono/keypairs needs to exist or be able to be # created, e.g. https://github.com/gentoo/dotnet/issues/6 @@ -29,6 +30,8 @@ class Mono(AutotoolsPackage): depends_on('perl', type=('build')) depends_on('python', type=('build')) + version('6.12.0.122', sha256='29c277660fc5e7513107aee1cbf8c5057c9370a4cdfeda2fc781be6986d89d23', + url='https://download.mono-project.com/sources/mono/mono-6.12.0.122.tar.xz') version('6.8.0.123', sha256='e2e42d36e19f083fc0d82f6c02f7db80611d69767112af353df2f279744a2ac5', url='https://download.mono-project.com/sources/mono/mono-6.8.0.123.tar.xz') version('6.8.0.105', sha256='578799c44c3c86a9eb5daf6dec6c60a24341940fd376371956d4a46cf8612178', From 37a1885deb8142eaa8ec9bf5e2f18d14e81a1729 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Fri, 20 Aug 2021 12:49:56 -0500 Subject: [PATCH 287/414] py-libensemble: add maintainer (#25543) --- var/spack/repos/builtin/packages/py-libensemble/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-libensemble/package.py b/var/spack/repos/builtin/packages/py-libensemble/package.py index f14aad86699..f1f5235c269 100644 --- a/var/spack/repos/builtin/packages/py-libensemble/package.py +++ b/var/spack/repos/builtin/packages/py-libensemble/package.py @@ -12,7 +12,8 @@ class PyLibensemble(PythonPackage): homepage = "https://libensemble.readthedocs.io" pypi = "libensemble/libensemble-0.7.2.tar.gz" - git = "https://github.com/Libensemble/libensemble.git" + git = "https://github.com/Libensemble/libensemble.git" + maintainers = ['shuds13'] version('develop', branch='develop') version('0.7.2', sha256='69b64304d1ecce4d57687ea6062f89bd813ae93b2a290bb1f595c5626ab6f197') From a7a37e4de6c6a25d6f490831082a17edc9ae9164 Mon Sep 17 00:00:00 2001 From: Asher Mancinelli Date: Sat, 21 Aug 2021 03:00:14 -0600 Subject: [PATCH 288/414] hiop: add v0.4.6, v0.4.5, added maintainers (#25548) --- var/spack/repos/builtin/packages/hiop/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py index 031edafce1c..d4a76a706fa 100644 --- a/var/spack/repos/builtin/packages/hiop/package.py +++ b/var/spack/repos/builtin/packages/hiop/package.py @@ -15,8 +15,11 @@ class Hiop(CMakePackage, CudaPackage): homepage = "https://github.com/LLNL/hiop" git = "https://github.com/LLNL/hiop.git" + maintainers = ['ashermancinelli', 'CameronRutherford'] # Most recent tagged snapshot is the preferred version when profiling. + version('0.4.6', commit='b72d163d52c9225c3196ceb2baebdc7cf09a69de') + version('0.4.5', commit='c353580456c4776c50811b97cf8ff802dc27b90c') version('0.4.4', commit='e858eefa6b914f5c87c3717bbce811931ea69386') version('0.4.3', commit='c0394af4d84ebb84b7d2b95283ad65ffd84e0d45') version('0.4.2', commit='3fcb788d223eec24c0241680070c4a9a5ec71ef3') From 8c25b17d8eb80a246ac7314b89e9778fdd9f3643 Mon Sep 17 00:00:00 2001 From: Olli Lupton Date: Sat, 21 Aug 2021 11:02:49 +0200 Subject: [PATCH 289/414] ccache: add v4.4. (#25540) --- var/spack/repos/builtin/packages/ccache/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/ccache/package.py b/var/spack/repos/builtin/packages/ccache/package.py index 2d35df476fb..0dbc96b7426 100644 --- a/var/spack/repos/builtin/packages/ccache/package.py +++ b/var/spack/repos/builtin/packages/ccache/package.py @@ -18,6 +18,7 @@ class Ccache(CMakePackage): executables = ['^ccache$'] + version('4.4', sha256='61a993d62216aff35722a8d0e8ffef9b677fc3f6accd8944ffc2a6db98fb3142') version('4.3', sha256='b9789c42e52c73e99428f311a34def9ffec3462736439afd12dbacc7987c1533') version('4.2.1', sha256='320d2b17d2f76393e5d4bb28c8dee5ca783248e9cd23dff0654694d60f8a4b62') version('4.2', sha256='dbf139ff32031b54cb47f2d7983269f328df14b5a427882f89f7721e5c411b7e') @@ -36,6 +37,7 @@ class Ccache(CMakePackage): depends_on('zstd', when='@4.0:') depends_on('gperf', when='@:3.99') + depends_on('hiredis@0.13.3:', when='@4.4:') depends_on('libxslt', when='@:3.99') depends_on('zlib', when='@:3.99') From cf7e40f03cac5a5e1814f539a492efbbdf3275d3 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Sat, 21 Aug 2021 12:10:41 +0200 Subject: [PATCH 290/414] claw: add v2.0.3 (#25459) --- .../repos/builtin/packages/claw/package.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/var/spack/repos/builtin/packages/claw/package.py b/var/spack/repos/builtin/packages/claw/package.py index 753cadb4396..0876f1ffe83 100644 --- a/var/spack/repos/builtin/packages/claw/package.py +++ b/var/spack/repos/builtin/packages/claw/package.py @@ -13,17 +13,17 @@ class Claw(CMakePackage): homepage = 'https://claw-project.github.io/' git = 'https://github.com/claw-project/claw-compiler.git' - maintainers = ['clementval'] + maintainers = ['clementval', 'skosukhin'] - version('master', branch='master', submodules=True) - 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) - version('1.2.2', commit='fc27a267eef9f412dd6353dc0b358a05b3fb3e16', submodules=True) - version('1.2.1', commit='939989ab52edb5c292476e729608725654d0a59a', submodules=True) - version('1.2.0', commit='fc9c50fe02be97b910ff9c7015064f89be88a3a2', submodules=True) - version('1.1.0', commit='16b165a443b11b025a77cad830b1280b8c9bcf01', submodules=True) + version('2.0.3', tag='v2.0.3', submodules=True) + version('2.0.2', tag='v2.0.2', submodules=True) + version('2.0.1', tag='v2.0.1', submodules=True) + version('2.0', tag='v2.0', submodules=True) + version('1.2.3', tag='v1.2.3', submodules=True) + version('1.2.2', tag='v1.2.2', submodules=True) + version('1.2.1', tag='v1.2.1', submodules=True) + version('1.2.0', tag='v1.2.0', submodules=True) + version('1.1.0', tag='v1.1.0', submodules=True) depends_on('cmake@3.0:', type='build') depends_on('ant@1.9:', type='build') @@ -37,7 +37,7 @@ class Claw(CMakePackage): # Enable parsing of source files with calls to TRACEBACKQQ from the Intel # Fortran run-time library: patch('https://github.com/claw-project/claw-compiler/commit/e9fe6dbd291454ce34dd58f21d102f7f1bdff874.patch', - sha256='44a3e17bf6e972db9760fc50bc0948309ee441dab1cdb11816ba675de0138549', + sha256='82033a576966143f3b1fd66f4d5b5604704b615b3e08afa4901fc1c29caefbe2', when='@:2.0.2%intel') # Fix the dependency preprocessing for compilers that cannot use From 9b66138054b0e9558e639fa5e372dd74a30b2ad9 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Sat, 21 Aug 2021 05:19:38 -0500 Subject: [PATCH 291/414] py-ipython: add v7.26.0 (#25521) --- .../repos/builtin/packages/py-ipython/package.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-ipython/package.py b/var/spack/repos/builtin/packages/py-ipython/package.py index 2997c1eb051..ad8e73c3b41 100644 --- a/var/spack/repos/builtin/packages/py-ipython/package.py +++ b/var/spack/repos/builtin/packages/py-ipython/package.py @@ -22,6 +22,7 @@ class PyIpython(PythonPackage): 'IPython.external', 'IPython.external.decorators' ] + version('7.26.0', sha256='0cff04bb042800129348701f7bd68a430a844e8fb193979c08f6c99f28bb735e') version('7.21.0', sha256='04323f72d5b85b606330b6d7e2dc8d2683ad46c3905e955aa96ecc7a99388e70') version('7.18.1', sha256='a331e78086001931de9424940699691ad49dfb457cea31f5471eae7b78222d5e') version('7.5.0', sha256='e840810029224b56cd0d9e7719dc3b39cf84d577f8ac686547c8ba7a06eeab26') @@ -37,21 +38,23 @@ class PyIpython(PythonPackage): depends_on('python@3.3:', type=('build', 'run'), when='@6:') depends_on('python@2.7:2.8,3.3:', type=('build', 'run')) depends_on('py-setuptools@18.5:', type='run', when='@4.1:') - depends_on('py-jedi@0.10:', type=('build', 'run'), when='@7.5.0:') - depends_on('py-jedi@:0.17', type=('build', 'run'), when='@:7.18') # from release notes - depends_on('py-jedi@0.16:', type=('build', 'run'), when='@7.18:') + depends_on('py-jedi@0.10:', type=('build', 'run'), when='@7.5:7.17,7.19') + depends_on('py-jedi@0.16:', type=('build', 'run'), when='@7.18,7.20:') depends_on('py-decorator', type=('build', 'run')) depends_on('py-pickleshare', type=('build', 'run')) depends_on('py-traitlets@4.2:', type=('build', 'run')) depends_on('py-prompt-toolkit@1.0.4:1.999', when='@:7.0.0', type=('build', 'run')) depends_on('py-prompt-toolkit@2.0.0:2.999', when='@7.0.0:7.5.0', type=('build', 'run')) depends_on('py-prompt-toolkit@2.0.0:2.0.999', when='@7.5.0', type=('build', 'run')) - depends_on('py-prompt-toolkit@3.0.2:3.0.999', when='@7.18:', type=('build', 'run')) + depends_on('py-prompt-toolkit@3.0.2:3.0.999', when='@7.18:7.25', type=('build', 'run')) + depends_on('py-prompt-toolkit@2.0.0:2.999,3.0.2:3.0.999', when='@7.26:', type=('build', 'run')) depends_on('py-pygments', type=('build', 'run')) depends_on('py-backcall', type=('build', 'run'), when='@7.3.0:') + depends_on('py-matplotlib-inline', when='@7.23:', type=('build', 'run')) depends_on('py-pexpect', type=('build', 'run')) depends_on('py-pexpect@4.3:', type=('build', 'run'), when='@7.18:') depends_on('py-appnope', type=('build', 'run'), when='platform=darwin') + depends_on('py-colorama', when='platform=win32', type=('build', 'run')) depends_on('py-backports-shutil-get-terminal-size', type=('build', 'run'), when="^python@:3.2") depends_on('py-pathlib2', type=('build', 'run'), when="^python@:3.3") depends_on('py-simplegeneric@0.8:', type=('build', 'run'), when='@:7.0.0') From 768ea7e8f7c488b4d0e6fefd4b31bb260f7731fa Mon Sep 17 00:00:00 2001 From: Cyrus Harrison Date: Sat, 21 Aug 2021 09:01:27 -0700 Subject: [PATCH 292/414] ascent: a few small changes to the package (#25551) - provides the site packages fix - excludes the hdf5 linking changes (which are fixed in conduit@develop's build system) - relaxes constraints to allows building static ascent against shared python --- .../repos/builtin/packages/ascent/package.py | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py index 16226a36208..e3853bb42e3 100644 --- a/var/spack/repos/builtin/packages/ascent/package.py +++ b/var/spack/repos/builtin/packages/ascent/package.py @@ -93,27 +93,25 @@ class Ascent(Package, CudaPackage): # Certain CMake versions have been found to break for our use cases depends_on("cmake@3.14.1:3.14.99,3.18.2:", type='build') depends_on("conduit~python", when="~python") - depends_on("conduit+python", when="+python+shared") - depends_on("conduit~shared~python", when="~shared") - depends_on("conduit~python~mpi", when="~python~mpi") - depends_on("conduit+python~mpi", when="+python+shared~mpi") - depends_on("conduit~shared~python~mpi", when="~shared~mpi") + depends_on("conduit+python", when="+python") + depends_on("conduit+mpi", when="+mpi") + depends_on("conduit~mpi", when="~mpi") ####################### # Python ####################### # we need a shared version of python b/c linking with static python lib # causes duplicate state issues when running compiled python modules. - depends_on("python+shared", when="+python+shared") - extends("python", when="+python+shared") - depends_on("py-numpy", when="+python+shared", type=('build', 'run')) - depends_on("py-pip", when="+python+shared", type=('build', 'run')) + depends_on("python+shared", when="+python") + extends("python", when="+python") + depends_on("py-numpy", when="+python", type=('build', 'run')) + depends_on("py-pip", when="+python", type=('build', 'run')) ####################### # MPI ####################### depends_on("mpi", when="+mpi") - depends_on("py-mpi4py", when="+mpi+python+shared") + depends_on("py-mpi4py", when="+mpi+python") ####################### # BabelFlow @@ -185,7 +183,11 @@ def install(self, spec, prefix): with working_dir('spack-build', create=True): py_site_pkgs_dir = None if "+python" in spec: - py_site_pkgs_dir = site_packages_dir + try: + py_site_pkgs_dir = site_packages_dir + except NameError: + # spack's site_packages_dir won't exist in a subclass + pass host_cfg_fname = self.create_host_config(spec, prefix, From 1212847eeea7ce2b65bf0b439b8c3375e2d722f3 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Sat, 21 Aug 2021 13:05:42 -0500 Subject: [PATCH 293/414] Document how to handle changing build systems (#25174) --- lib/spack/docs/build_systems.rst | 1 + .../docs/build_systems/multiplepackage.rst | 350 ++++++++++++++++++ lib/spack/docs/packaging_guide.rst | 1 + 3 files changed, 352 insertions(+) create mode 100644 lib/spack/docs/build_systems/multiplepackage.rst diff --git a/lib/spack/docs/build_systems.rst b/lib/spack/docs/build_systems.rst index 59b9bb643a6..0411ce75bc6 100644 --- a/lib/spack/docs/build_systems.rst +++ b/lib/spack/docs/build_systems.rst @@ -63,6 +63,7 @@ on these ideas for each distinct build system that Spack supports: build_systems/intelpackage build_systems/rocmpackage build_systems/custompackage + build_systems/multiplepackage For reference, the :py:mod:`Build System API docs ` provide a list of build systems and methods/attributes that can be diff --git a/lib/spack/docs/build_systems/multiplepackage.rst b/lib/spack/docs/build_systems/multiplepackage.rst new file mode 100644 index 00000000000..ae3b4adaf30 --- /dev/null +++ b/lib/spack/docs/build_systems/multiplepackage.rst @@ -0,0 +1,350 @@ +.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other + Spack Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: (Apache-2.0 OR MIT) + +.. _multiplepackage: + +---------------------- +Multiple Build Systems +---------------------- + +Quite frequently, a package will change build systems from one version to the +next. For example, a small project that once used a single Makefile to build +may now require Autotools to handle the increased number of files that need to +be compiled. Or, a package that once used Autotools may switch to CMake for +Windows support. In this case, it becomes a bit more challenging to write a +single build recipe for this package in Spack. + +There are several ways that this can be handled in Spack: + +#. Subclass the new build system, and override phases as needed (preferred) +#. Subclass ``Package`` and implement ``install`` as needed +#. Create separate ``*-cmake``, ``*-autotools``, etc. packages for each build system +#. Rename the old package to ``*-legacy`` and create a new package +#. Move the old package to a ``legacy`` repository and create a new package +#. Drop older versions that only support the older build system + +Of these options, 1 is preferred, and will be demonstrated in this +documentation. Options 3-5 have issues with concretization, so shouldn't be +used. Options 4-5 also don't support more than two build systems. Option 6 only +works if the old versions are no longer needed. Option 1 is preferred over 2 +because it makes it easier to drop the old build system entirely. + +The exact syntax of the package depends on which build systems you need to +support. Below are a couple of common examples. + +^^^^^^^^^^^^^^^^^^^^^ +Makefile -> Autotools +^^^^^^^^^^^^^^^^^^^^^ + +Let's say we have the following package: + +.. code-block:: python + + class Foo(MakefilePackage): + version("1.2.0", sha256="...") + + def edit(self, spec, prefix): + filter_file("CC=", "CC=" + spack_cc, "Makefile") + + def install(self, spec, prefix): + install_tree(".", prefix) + + +The package subclasses from :ref:`makefilepackage`, which has three phases: + +#. ``edit`` (does nothing by default) +#. ``build`` (runs ``make`` by default) +#. ``install`` (runs ``make install`` by default) + +In this case, the ``install`` phase needed to be overridden because the +Makefile did not have an install target. We also modify the Makefile to use +Spack's compiler wrappers. The default ``build`` phase is not changed. + +Starting with version 1.3.0, we want to use Autotools to build instead. +:ref:`autotoolspackage` has four phases: + +#. ``autoreconf`` (does not if a configure script already exists) +#. ``configure`` (runs ``./configure --prefix=...`` by default) +#. ``build`` (runs ``make`` by default) +#. ``install`` (runs ``make install`` by default) + +If the only version we need to support is 1.3.0, the package would look as +simple as: + +.. code-block:: python + + class Foo(AutotoolsPackage): + version("1.3.0", sha256="...") + + def configure_args(self): + return ["--enable-shared"] + + +In this case, we use the default methods for each phase and only override +``configure_args`` to specify additional flags to pass to ``./configure``. + +If we wanted to write a single package that supports both versions 1.2.0 and +1.3.0, it would look something like: + +.. code-block:: python + + class Foo(AutotoolsPackage): + version("1.3.0", sha256="...") + version("1.2.0", sha256="...", deprecated=True) + + def configure_args(self): + return ["--enable-shared"] + + # Remove the following once version 1.2.0 is dropped + @when("@:1.2") + def patch(self): + filter_file("CC=", "CC=" + spack_cc, "Makefile") + + @when("@:1.2") + def autoreconf(self, spec, prefix): + pass + + @when("@:1.2") + def configure(self, spec, prefix): + pass + + @when("@:1.2") + def install(self, spec, prefix): + install_tree(".", prefix) + + +There are a few interesting things to note here: + +* We added ``deprecated=True`` to version 1.2.0. This signifies that version + 1.2.0 is deprecated and shouldn't be used. However, if a user still relies + on version 1.2.0, it's still there and builds just fine. +* We moved the contents of the ``edit`` phase to the ``patch`` function. Since + ``AutotoolsPackage`` doesn't have an ``edit`` phase, the only way for this + step to be executed is to move it to the ``patch`` function, which always + gets run. +* The ``autoreconf`` and ``configure`` phases become no-ops. Since the old + Makefile-based build system doesn't use these, we ignore these phases when + building ``foo@1.2.0``. +* The ``@when`` decorator is used to override these phases only for older + versions. The default methods are used for ``foo@1.3:``. + +Once a new Spack release comes out, version 1.2.0 and everything below the +comment can be safely deleted. The result is the same as if we had written a +package for version 1.3.0 from scratch. + +^^^^^^^^^^^^^^^^^^ +Autotools -> CMake +^^^^^^^^^^^^^^^^^^ + +Let's say we have the following package: + +.. code-block:: python + + class Bar(AutotoolsPackage): + version("1.2.0", sha256="...") + + def configure_args(self): + return ["--enable-shared"] + + +The package subclasses from :ref:`autotoolspackage`, which has four phases: + +#. ``autoreconf`` (does not if a configure script already exists) +#. ``configure`` (runs ``./configure --prefix=...`` by default) +#. ``build`` (runs ``make`` by default) +#. ``install`` (runs ``make install`` by default) + +In this case, we use the default methods for each phase and only override +``configure_args`` to specify additional flags to pass to ``./configure``. + +Starting with version 1.3.0, we want to use CMake to build instead. +:ref:`cmakepackage` has three phases: + +#. ``cmake`` (runs ``cmake ...`` by default) +#. ``build`` (runs ``make`` by default) +#. ``install`` (runs ``make install`` by default) + +If the only version we need to support is 1.3.0, the package would look as +simple as: + +.. code-block:: python + + class Bar(CMakePackage): + version("1.3.0", sha256="...") + + def cmake_args(self): + return [self.define("BUILD_SHARED_LIBS", True)] + + +In this case, we use the default methods for each phase and only override +``cmake_args`` to specify additional flags to pass to ``cmake``. + +If we wanted to write a single package that supports both versions 1.2.0 and +1.3.0, it would look something like: + +.. code-block:: python + + class Bar(CMakePackage): + version("1.3.0", sha256="...") + version("1.2.0", sha256="...", deprecated=True) + + def cmake_args(self): + return [self.define("BUILD_SHARED_LIBS", True)] + + # Remove the following once version 1.2.0 is dropped + def configure_args(self): + return ["--enable-shared"] + + @when("@:1.2") + def cmake(self, spec, prefix): + configure("--prefix=" + prefix, *self.configure_args()) + + +There are a few interesting things to note here: + +* We added ``deprecated=True`` to version 1.2.0. This signifies that version + 1.2.0 is deprecated and shouldn't be used. However, if a user still relies + on version 1.2.0, it's still there and builds just fine. +* Since CMake and Autotools are so similar, we only need to override the + ``cmake`` phase, we can use the default ``build`` and ``install`` phases. +* We override ``cmake`` to run ``./configure`` for older versions. + ``configure_args`` remains the same. +* The ``@when`` decorator is used to override these phases only for older + versions. The default methods are used for ``bar@1.3:``. + +Once a new Spack release comes out, version 1.2.0 and everything below the +comment can be safely deleted. The result is the same as if we had written a +package for version 1.3.0 from scratch. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Multiple build systems for the same version +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +During the transition from one build system to another, developers often +support multiple build systems at the same time. Spack can only use a single +build system for a single version. To decide which build system to use for a +particular version, take the following things into account: + +1. If the developers explicitly state that one build system is preferred over + another, use that one. +2. If one build system is considered "experimental" while another is considered + "stable", use the stable build system. +3. Otherwise, use the newer build system. + +The developer preference for which build system to use can change over time as +a newer build system becomes stable/recommended. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Dropping support for old build systems +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When older versions of a package don't support a newer build system, it can be +tempting to simply delete them from a package. This significantly reduces +package complexity and makes the build recipe much easier to maintain. However, +other packages or Spack users may rely on these older versions. The recommended +approach is to first support both build systems (as demonstrated above), +:ref:`deprecate ` versions that rely on the old build system, and +remove those versions and any phases that needed to be overridden in the next +Spack release. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Three or more build systems +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In rare cases, a package may change build systems multiple times. For example, +a package may start with Makefiles, then switch to Autotools, then switch to +CMake. The same logic used above can be extended to any number of build systems. +For example: + +.. code-block:: python + + class Baz(CMakePackage): + version("1.4.0", sha256="...") # CMake + version("1.3.0", sha256="...") # Autotools + version("1.2.0", sha256="...") # Makefile + + def cmake_args(self): + return [self.define("BUILD_SHARED_LIBS", True)] + + # Remove the following once version 1.3.0 is dropped + def configure_args(self): + return ["--enable-shared"] + + @when("@1.3") + def cmake(self, spec, prefix): + configure("--prefix=" + prefix, *self.configure_args()) + + # Remove the following once version 1.2.0 is dropped + @when("@:1.2") + def patch(self): + filter_file("CC=", "CC=" + spack_cc, "Makefile") + + @when("@:1.2") + def cmake(self, spec, prefix): + pass + + @when("@:1.2") + def install(self, spec, prefix): + install_tree(".", prefix) + + +^^^^^^^^^^^^^^^^^^^ +Additional examples +^^^^^^^^^^^^^^^^^^^ + +When writing new packages, it often helps to see examples of existing packages. +Here is an incomplete list of existing Spack packages that have changed build +systems before: + +================ ===================== ================ +Package Previous Build System New Build System +================ ===================== ================ +amber custom CMake +arpack-ng Autotools CMake +atk Autotools Meson +blast None Autotools +dyninst Autotools CMake +evtgen Autotools CMake +fish Autotools CMake +gdk-pixbuf Autotools Meson +glib Autotools Meson +glog Autotools CMake +gmt Autotools CMake +gtkplus Autotools Meson +hpl Makefile Autotools +interproscan Perl Maven +jasper Autotools CMake +kahip SCons CMake +kokkos Makefile CMake +kokkos-kernels Makefile CMake +leveldb Makefile CMake +libdrm Autotools Meson +libjpeg-turbo Autotools CMake +mesa Autotools Meson +metis None CMake +mpifileutils Autotools CMake +muparser Autotools CMake +mxnet Makefile CMake +nest Autotools CMake +neuron Autotools CMake +nsimd CMake nsconfig +opennurbs Makefile CMake +optional-lite None CMake +plasma Makefile CMake +preseq Makefile Autotools +protobuf Autotools CMake +py-pygobject Autotools Python +singularity Autotools Makefile +span-lite None CMake +ssht Makefile CMake +string-view-lite None CMake +superlu Makefile CMake +superlu-dist Makefile CMake +uncrustify Autotools CMake +================ ===================== ================ + +Packages that support multiple build systems can be a bit confusing to write. +Don't hesitate to open an issue or draft pull request and ask for advice from +other Spack developers! diff --git a/lib/spack/docs/packaging_guide.rst b/lib/spack/docs/packaging_guide.rst index 6616d2a331a..38689ca5825 100644 --- a/lib/spack/docs/packaging_guide.rst +++ b/lib/spack/docs/packaging_guide.rst @@ -612,6 +612,7 @@ it executable, then runs it with some arguments. installer = Executable(self.stage.archive_file) installer('--prefix=%s' % prefix, 'arg1', 'arg2', 'etc.') +.. _deprecate: ^^^^^^^^^^^^^^^^^^^^^^^^ Deprecating old versions From a68701c63652d1ed5cc5106916fd78afdd4ddd28 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Sun, 22 Aug 2021 02:02:21 -0500 Subject: [PATCH 294/414] py-pythran: add OpenMP dependency (#25137) --- .../builtin/packages/py-pythran/package.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-pythran/package.py b/var/spack/repos/builtin/packages/py-pythran/package.py index 121eee704c8..9042ec03267 100644 --- a/var/spack/repos/builtin/packages/py-pythran/package.py +++ b/var/spack/repos/builtin/packages/py-pythran/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import sys + from spack import * @@ -42,3 +44,33 @@ class PyPythran(PythonPackage): depends_on('py-beniget@0.2.1:0.2.999', when='@0.9.6', type=('build', 'run')) depends_on('py-beniget@0.2.0:', when='@0.9.4:0.9.5', type=('build', 'run')) depends_on('py-beniget', when='@:0.9.3', type=('build', 'run')) + depends_on('llvm-openmp', when='%apple-clang', type=('build', 'run')) + + patch('https://patch-diff.githubusercontent.com/raw/serge-sans-paille/pythran/pull/1856.patch', + sha256='18f5e8985d636ad9c73b2f96b601aae299e0c315aa4c0dbee7b2599a63177218', + when='@0.9.10:0.9.12') + + def patch(self): + # Compiler is used at run-time to determine name of OpenMP library to search for + cfg_file = join_path('pythran', 'pythran-{0}.cfg'.format(sys.platform)) + filter_file('CXX=', 'CXX=' + self.compiler.cxx, cfg_file) + + def setup_build_environment(self, env): + # Needed for `spack install --test=root py-pythran` + if self.spec.satisfies('%apple-clang'): + env.prepend_path( + 'DYLD_FALLBACK_LIBRARY_PATH', + self.spec['llvm-openmp'].libs.directories[0] + ) + + def setup_run_environment(self, env): + # Needed for `spack test run py-pythran` + self.setup_build_environment(env) + + def setup_dependent_build_environment(self, env, dependent_spec): + # Needed for `spack install py-scipy` + self.setup_build_environment(env) + + def setup_dependent_run_environment(self, env, dependent_spec): + # Probably needed for something? + self.setup_build_environment(env) From 9a8d7ea3cbad524168233c3c6214bf27b1043e13 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 23 Aug 2021 02:26:32 -0500 Subject: [PATCH 295/414] py-ipykernel: add v6.2.0 and v5.5.5 (#25520) --- .../builtin/packages/py-ipykernel/package.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-ipykernel/package.py b/var/spack/repos/builtin/packages/py-ipykernel/package.py index 3d3d98530b8..62eb5ad22ec 100644 --- a/var/spack/repos/builtin/packages/py-ipykernel/package.py +++ b/var/spack/repos/builtin/packages/py-ipykernel/package.py @@ -9,6 +9,8 @@ class PyIpykernel(PythonPackage): pypi = "ipykernel/ipykernel-5.3.4.tar.gz" + version('6.2.0', sha256='4439459f171d77f35b7f7e72dace5d7c2dd10a5c9e2c22b173ad9048fbfe7656') + version('5.5.5', sha256='e976751336b51082a89fc2099fb7f96ef20f535837c398df6eab1283c2070884') version('5.3.4', sha256='9b2652af1607986a1b231c62302d070bc0534f564c393a5d9d130db9abbbe89d') version('5.1.1', sha256='f0e962052718068ad3b1d8bcc703794660858f58803c3798628817f492a8769c') version('5.1.0', sha256='0fc0bf97920d454102168ec2008620066878848fcfca06c22b669696212e292f') @@ -27,13 +29,21 @@ class PyIpykernel(PythonPackage): depends_on('python@2.7:2.8,3.3:', type=('build', 'run')) depends_on('python@3.4:', when='@5.0:', type=('build', 'run')) depends_on('python@3.5:', when='@5.2:', type=('build', 'run')) + depends_on('python@3.7:', when='@6.0:', type=('build', 'run')) depends_on('py-setuptools', type='build', when='@5:') - depends_on('py-ipython@4.0:', when='@:4.999', type=('build', 'run')) - depends_on('py-ipython@5.0:', when='@5.0.0:', type=('build', 'run')) + depends_on('py-importlib-metadata@:4', when='@6:^python@:3.7', type=('build', 'run')) + depends_on('py-argcomplete@1.12.3:', when='@6:^python@:3.7', type=('build', 'run')) + depends_on('py-debugpy@1.0:1.999', when='@6:', type=('build', 'run')) + depends_on('py-ipython@4.0:', when='@:4', type=('build', 'run')) + depends_on('py-ipython@5.0:', when='@5', type=('build', 'run')) + depends_on('py-ipython@7.23.1:7.999', when='@6:', type=('build', 'run')) depends_on('py-traitlets@4.1.0:', type=('build', 'run')) + depends_on('py-traitlets@4.1.0:5', when='@6:', type=('build', 'run')) depends_on('py-jupyter-client', type=('build', 'run')) - depends_on('py-tornado@4.0:', when='@:4.999', type=('build', 'run')) - depends_on('py-tornado@4.2:', when='@5.0.0:', type=('build', 'run')) + depends_on('py-jupyter-client@:7', when='@6:', type=('build', 'run')) + depends_on('py-tornado@4.0:', when='@:4', type=('build', 'run')) + depends_on('py-tornado@4.2:', when='@5', type=('build', 'run')) + depends_on('py-tornado@4.2:6', when='@6:', type=('build', 'run')) depends_on('py-appnope', when='platform=darwin', type=('build', 'run')) phases = ['build', 'install', 'install_data'] From c5c809ee3e9d2f3bc1ce6baf427204f2dc007796 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 23 Aug 2021 02:26:51 -0500 Subject: [PATCH 296/414] py-numpy: add v1.21.2 (#25436) --- .../repos/builtin/packages/py-numpy/package.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py index d13f08813c2..4dfac98a8a8 100644 --- a/var/spack/repos/builtin/packages/py-numpy/package.py +++ b/var/spack/repos/builtin/packages/py-numpy/package.py @@ -24,6 +24,7 @@ class PyNumpy(PythonPackage): version('main', branch='main') version('master', branch='main', deprecated=True) + version('1.21.2', sha256='423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc') version('1.21.1', sha256='dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd') version('1.21.0', sha256='e80fe25cba41c124d04c662f33f6364909b985f2eb5998aaa5ae4b9587242cce') version('1.20.3', sha256='e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69') @@ -85,16 +86,18 @@ class PyNumpy(PythonPackage): variant('blas', default=True, description='Build with BLAS support') variant('lapack', default=True, description='Build with LAPACK support') - depends_on('python@2.7:2.8,3.4:', type=('build', 'link', 'run')) - depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'), when='@1.16:') - depends_on('python@3.5:', type=('build', 'link', 'run'), when='@1.17:') - depends_on('python@3.6:', type=('build', 'link', 'run'), when='@1.19:') - depends_on('python@3.7:', type=('build', 'link', 'run'), when='@1.20:') + depends_on('python@2.7:2.8,3.4:', type=('build', 'link', 'run'), when='@:1.15') + depends_on('python@2.7:2.8,3.5:', type=('build', 'link', 'run'), when='@1.16') + depends_on('python@3.5:', type=('build', 'link', 'run'), when='@1.17:1.18') + depends_on('python@3.6:', type=('build', 'link', 'run'), when='@1.19') + depends_on('python@3.7:', type=('build', 'link', 'run'), when='@1.20:1.21.1') + depends_on('python@3.7:3.10', type=('build', 'link', 'run'), when='@1.21.2:') depends_on('py-setuptools', type=('build', 'run')) # Check pyproject.toml for updates to the required cython version depends_on('py-cython@0.29.13:', when='@1.18.0:', type='build') depends_on('py-cython@0.29.14:', when='@1.18.1:', type='build') depends_on('py-cython@0.29.21:', when='@1.19.1:', type='build') + depends_on('py-cython@0.29.24:', when='@1.21.2:', type='build') depends_on('blas', when='+blas') depends_on('lapack', when='+lapack') From bf7ce7e4e96ada0c11716f5c1c455e0016a3b1b7 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 23 Aug 2021 02:38:06 -0500 Subject: [PATCH 297/414] curl: add tls multi-valued variant, fix macOS build (#25553) --- .../repos/builtin/packages/curl/package.py | 79 +++++++++++++++++-- 1 file changed, 71 insertions(+), 8 deletions(-) diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py index 047b8bdb0b9..6c14f344e8c 100644 --- a/var/spack/repos/builtin/packages/curl/package.py +++ b/var/spack/repos/builtin/packages/curl/package.py @@ -45,10 +45,29 @@ class Curl(AutotoolsPackage): version('7.43.0', sha256='baa654a1122530483ccc1c58cc112fec3724a82c11c6a389f1e6a37dc8858df9') version('7.42.1', sha256='e2905973391ec2dfd7743a8034ad10eeb58dab8b3a297e7892a41a7999cac887') + default_tls = 'openssl' + if sys.platform == 'darwin': + default_tls = 'secure_transport' + + # TODO: add dependencies for other possible TLS backends + values_tls = [ + # 'amissl', + # 'bearssl', + 'gnutls', + 'mbedtls', + # 'mesalink', + 'nss', + 'openssl', + # 'rustls', + # 'schannel', + 'secure_transport', + # 'wolfssl', + ] + + variant('tls', default=default_tls, description='TLS backend', values=values_tls, multi=True) variant('nghttp2', default=False, description='build nghttp2 library (requires C++11)') variant('libssh2', default=False, description='enable libssh2 support') variant('libssh', default=False, description='enable libssh support') # , when='7.58:') - variant('darwinssl', default=sys.platform == 'darwin', description="use Apple's SSL/TLS implementation") variant('gssapi', default=False, description='enable Kerberos support') variant('librtmp', default=False, description='enable Rtmp support') variant('ldap', default=False, description='enable ldap support') @@ -62,9 +81,14 @@ class Curl(AutotoolsPackage): # C.f. https://github.com/spack/spack/issues/7777 conflicts('platform=darwin', when='+libssh2') conflicts('platform=darwin', when='+libssh') - conflicts('platform=linux', when='+darwinssl') + conflicts('platform=cray', when='tls=secure_transport', msg='Only supported on macOS') + conflicts('platform=linux', when='tls=secure_transport', msg='Only supported on macOS') + conflicts('tls=mbedtls', when='@:7.45') - depends_on('openssl', when='~darwinssl') + depends_on('gnutls', when='tls=gnutls') + depends_on('mbedtls', when='tls=mbedtls') + depends_on('nss', when='tls=nss') + depends_on('openssl', when='tls=openssl') depends_on('libidn2', when='+libidn2') depends_on('zlib') depends_on('nghttp2', when='+nghttp2') @@ -91,16 +115,12 @@ def configure_args(self): if spec.satisfies('@:7.77'): args.append('--without-libmetalink') - if spec.satisfies('+darwinssl'): - args.append('--with-darwinssl') - else: - args.append('--with-ssl=' + spec['openssl'].prefix) - if spec.satisfies('+gssapi'): args.append('--with-gssapi=' + spec['krb5'].prefix) else: args.append('--without-gssapi') + args += self.with_or_without('tls') args += self.with_or_without('libidn2', 'prefix') args += self.with_or_without('librtmp') args += self.with_or_without('nghttp2') @@ -108,3 +128,46 @@ def configure_args(self): args += self.with_or_without('libssh') args += self.enable_or_disable('ldap') return args + + def with_or_without_gnutls(self, activated): + if activated: + return '--with-gnutls=' + self.spec['gnutls'].prefix + else: + return '--without-gnutls' + + def with_or_without_mbedtls(self, activated): + if self.spec.satisfies('@7.46:'): + if activated: + return '--with-mbedtls=' + self.spec['mbedtls'].prefix + else: + return '--without-mbedtls' + + def with_or_without_nss(self, activated): + if activated: + return '--with-nss=' + self.spec['nss'].prefix + else: + return '--without-nss' + + def with_or_without_openssl(self, activated): + if self.spec.satisfies('@7.77:'): + if activated: + return '--with-openssl=' + self.spec['openssl'].prefix + else: + return '--without-openssl' + else: + if activated: + return '--with-ssl=' + self.spec['openssl'].prefix + else: + return '--without-ssl' + + def with_or_without_secure_transport(self, activated): + if self.spec.satisfies('@7.65:'): + if activated: + return '--with-secure-transport' + else: + return '--without-secure-transport' + else: + if activated: + return '--with-darwinssl' + else: + return '--without-darwinssl' From 2971a630b815fa88b71152787eca4ce2deb2dc7c Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 23 Aug 2021 10:28:31 +0200 Subject: [PATCH 298/414] re2c: add versions up to v2.2 (#25500) --- .github/workflows/bootstrap.yml | 1 + .../repos/builtin/packages/re2c/package.py | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index eebdd9aa539..ac2215a7685 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -11,6 +11,7 @@ on: - 'var/spack/repos/builtin/**' - '!var/spack/repos/builtin/packages/clingo-bootstrap/**' - '!var/spack/repos/builtin/packages/python/**' + - '!var/spack/repos/builtin/packages/re2c/**' - 'lib/spack/docs/**' schedule: # nightly at 2:16 AM diff --git a/var/spack/repos/builtin/packages/re2c/package.py b/var/spack/repos/builtin/packages/re2c/package.py index d3849c5bfb9..0b2b3fbed9a 100644 --- a/var/spack/repos/builtin/packages/re2c/package.py +++ b/var/spack/repos/builtin/packages/re2c/package.py @@ -13,8 +13,23 @@ class Re2c(AutotoolsPackage): homepage = "http://re2c.org/index.html" url = "https://github.com/skvadrik/re2c/releases/download/1.2.1/re2c-1.2.1.tar.xz" + version('2.2', sha256='0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda') + version('2.1.1', sha256='036ee264fafd5423141ebd628890775aa9447a4c4068a6307385d7366fe711f8') + version('2.1', sha256='8cba0d95c246c670de8f97f57def83a9c0f2113eaa6f7e4867a941f48f633540') + version('2.0.3', sha256='b2bc1eb8aaaa21ff2fcd26507b7e6e72c5e3d887e58aa515c2155fb17d744278') + version('2.0.2', sha256='6cddbb558dbfd697a729cb4fd3f095524480283b89911ca5221835d8a67ae5e0') + version('2.0.1', sha256='aef8b50bb75905b2d55a7236380c0efdc756fa077fe16d808aaacbb10fb53531') + version('2.0', sha256='89a9d7ee14be10e3779ea7b2c8ea4a964afce6e76b8dbcd5479940681db46d20') + version('1.3', sha256='f37f25ff760e90088e7d03d1232002c2c2672646d5844fdf8e0d51a5cd75a503') version('1.2.1', sha256='1a4cd706b5b966aeffd78e3cf8b24239470ded30551e813610f9cd1a4e01b817') def configure_args(self): - args = ['--disable-dependency-tracking'] - return args + return [ + '--disable-benchmarks', + '--disable-debug', + '--disable-dependency-tracking', + '--disable-docs', + '--disable-lexers', # requires existing system re2c + '--disable-libs', # experimental + '--enable-golang', + ] From 6e68792ded1b678ee7941d292cc6c0d90e080162 Mon Sep 17 00:00:00 2001 From: Timothy Brown Date: Mon, 23 Aug 2021 10:55:36 -0600 Subject: [PATCH 299/414] Adding a heap of NOAA packages for UFS. (#25542) * Adding a heap of NOAA packages for UFS. Adding the Unified Forecast System (UFS) and all of the packages it depends on. * Fixing style tests. * Removing the package CMAKE_BUILD_TYPE override. * Removing compiler specs from `cmake_args()`. --- .../repos/builtin/packages/bacio/package.py | 19 + .../repos/builtin/packages/bufr/package.py | 19 + .../repos/builtin/packages/crtm/package.py | 20 + .../repos/builtin/packages/g2/package.py | 22 ++ .../repos/builtin/packages/g2tmpl/package.py | 17 + .../repos/builtin/packages/gfsio/package.py | 18 + .../repos/builtin/packages/ip/package.py | 21 ++ .../repos/builtin/packages/ip2/package.py | 21 ++ .../packages/ncep-post/cmake_findnetcdf.patch | 350 ++++++++++++++++++ .../builtin/packages/ncep-post/package.py | 49 +++ .../repos/builtin/packages/nemsio/package.py | 23 ++ .../repos/builtin/packages/sfcio/package.py | 18 + .../repos/builtin/packages/sigio/package.py | 18 + .../repos/builtin/packages/sp/package.py | 18 + .../builtin/packages/ufs-utils/package.py | 39 ++ .../packages/ufs-weather-model/package.py | 94 +++++ .../repos/builtin/packages/w3emc/package.py | 18 + .../repos/builtin/packages/w3nco/package.py | 18 + .../repos/builtin/packages/wgrib2/package.py | 29 ++ .../repos/builtin/packages/wrf-io/package.py | 22 ++ 20 files changed, 853 insertions(+) create mode 100644 var/spack/repos/builtin/packages/bacio/package.py create mode 100644 var/spack/repos/builtin/packages/bufr/package.py create mode 100644 var/spack/repos/builtin/packages/crtm/package.py create mode 100644 var/spack/repos/builtin/packages/g2/package.py create mode 100644 var/spack/repos/builtin/packages/g2tmpl/package.py create mode 100644 var/spack/repos/builtin/packages/gfsio/package.py create mode 100644 var/spack/repos/builtin/packages/ip/package.py create mode 100644 var/spack/repos/builtin/packages/ip2/package.py create mode 100644 var/spack/repos/builtin/packages/ncep-post/cmake_findnetcdf.patch create mode 100644 var/spack/repos/builtin/packages/ncep-post/package.py create mode 100644 var/spack/repos/builtin/packages/nemsio/package.py create mode 100644 var/spack/repos/builtin/packages/sfcio/package.py create mode 100644 var/spack/repos/builtin/packages/sigio/package.py create mode 100644 var/spack/repos/builtin/packages/sp/package.py create mode 100644 var/spack/repos/builtin/packages/ufs-utils/package.py create mode 100644 var/spack/repos/builtin/packages/ufs-weather-model/package.py create mode 100644 var/spack/repos/builtin/packages/w3emc/package.py create mode 100644 var/spack/repos/builtin/packages/w3nco/package.py create mode 100644 var/spack/repos/builtin/packages/wgrib2/package.py create mode 100644 var/spack/repos/builtin/packages/wrf-io/package.py diff --git a/var/spack/repos/builtin/packages/bacio/package.py b/var/spack/repos/builtin/packages/bacio/package.py new file mode 100644 index 00000000000..ebee5d6017b --- /dev/null +++ b/var/spack/repos/builtin/packages/bacio/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Bacio(CMakePackage): + """The bacio ibrary performs binary I/O for the NCEP models, processing + unformatted byte-addressable data records, and transforming the little + endian files and big endian files.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-bacio" + url = "https://github.com/NOAA-EMC/NCEPLIBS-bacio/archive/refs/tags/v2.4.1.tar.gz" + + maintainers = ['t-brown'] + + version('2.4.1', sha256='7b9b6ba0a288f438bfba6a08b6e47f8133f7dba472a74ac56a5454e2260a7200') diff --git a/var/spack/repos/builtin/packages/bufr/package.py b/var/spack/repos/builtin/packages/bufr/package.py new file mode 100644 index 00000000000..abea0861310 --- /dev/null +++ b/var/spack/repos/builtin/packages/bufr/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Bufr(CMakePackage): + """The NOAA bufr library contains subroutines, functions and other utilities + that can be used to read (decode) and write (encode) data in BUFR, which + is a WMO standard format for the exchange of meteorological data.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-bufr" + url = "https://github.com/NOAA-EMC/NCEPLIBS-bufr/archive/refs/tags/bufr_v11.5.0.tar.gz" + + maintainers = ['t-brown'] + + version('11.5.0', sha256='d154839e29ef1fe82e58cf20232e9f8a4f0610f0e8b6a394b7ca052e58f97f43') diff --git a/var/spack/repos/builtin/packages/crtm/package.py b/var/spack/repos/builtin/packages/crtm/package.py new file mode 100644 index 00000000000..1bcf15f7212 --- /dev/null +++ b/var/spack/repos/builtin/packages/crtm/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Crtm(CMakePackage): + """The Community Radiative Transfer Model (CRTM) package. + The CRTM is composed of four important modules for gaseous transmittance, + surface emission and reflection, cloud and aerosol absorption and + scattering, and a solver for a radiative transfer.""" + + homepage = "https://www.jcsda.org/jcsda-project-community-radiative-transfer-model" + url = "https://github.com/NOAA-EMC/EMC_crtm/archive/refs/tags/v2.3.0.tar.gz" + + maintainers = ['t-brown'] + + version('2.3.0', sha256='3e2c87ae5498c33dd98f9ede5c39e33ee7f298c7317b12adeb552e3a572700ce') diff --git a/var/spack/repos/builtin/packages/g2/package.py b/var/spack/repos/builtin/packages/g2/package.py new file mode 100644 index 00000000000..686a7bb7cc6 --- /dev/null +++ b/var/spack/repos/builtin/packages/g2/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class G2(CMakePackage): + """Utilities for coding/decoding GRIB2 messages. This library contains + Fortran 90 decoder/encoder routines for GRIB edition 2, as well as + indexing/searching utility routines.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-g2" + url = "https://github.com/NOAA-EMC/NCEPLIBS-g2/archive/refs/tags/v3.4.3.tar.gz" + + maintainers = ['t-brown'] + + version('3.4.3', sha256='679ea99b225f08b168cbf10f4b29f529b5b011232f298a5442ce037ea84de17c') + + depends_on('jasper') + depends_on('libpng') diff --git a/var/spack/repos/builtin/packages/g2tmpl/package.py b/var/spack/repos/builtin/packages/g2tmpl/package.py new file mode 100644 index 00000000000..084017564a5 --- /dev/null +++ b/var/spack/repos/builtin/packages/g2tmpl/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class G2tmpl(CMakePackage): + """Utilities for GRIB2 templates.""" + + homepage = "https://github.com/NOAA-EMC/NCEPLIBS-g2tmpl" + url = "https://github.com/NOAA-EMC/NCEPLIBS-g2tmpl/archive/refs/tags/v1.10.0.tar.gz" + + maintainers = ['t-brown'] + + version('1.10.0', sha256='dcc0e40b8952f91d518c59df7af64e099131c17d85d910075bfa474c8822649d') diff --git a/var/spack/repos/builtin/packages/gfsio/package.py b/var/spack/repos/builtin/packages/gfsio/package.py new file mode 100644 index 00000000000..bb71543945a --- /dev/null +++ b/var/spack/repos/builtin/packages/gfsio/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Gfsio(CMakePackage): + """The GFSIO library provides an API to convert GFS Gaussian output into + grib output.""" + + homepage = "https://github.com/NOAA-EMC/NCEPLIBS-gfsio" + url = "https://github.com/NOAA-EMC/NCEPLIBS-gfsio/archive/refs/tags/v1.4.1.tar.gz" + + maintainers = ['t-brown'] + + version('1.4.1', sha256='eab106302f520600decc4f9665d7c6a55e7b4901fab6d9ef40f29702b89b69b1') diff --git a/var/spack/repos/builtin/packages/ip/package.py b/var/spack/repos/builtin/packages/ip/package.py new file mode 100644 index 00000000000..807bbf6c6e5 --- /dev/null +++ b/var/spack/repos/builtin/packages/ip/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Ip(CMakePackage): + """The NCEP general interpolation library (iplib) contains Fortran 90 + subprograms to be used for interpolating between nearly all grids used at + NCEP.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-ip" + url = "https://github.com/NOAA-EMC/NCEPLIBS-ip/archive/refs/tags/v3.3.3.tar.gz" + + maintainers = ['t-brown'] + + version('3.3.3', sha256='d5a569ca7c8225a3ade64ef5cd68f3319bcd11f6f86eb3dba901d93842eb3633') + + depends_on('sp') diff --git a/var/spack/repos/builtin/packages/ip2/package.py b/var/spack/repos/builtin/packages/ip2/package.py new file mode 100644 index 00000000000..778c1f01bfc --- /dev/null +++ b/var/spack/repos/builtin/packages/ip2/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Ip2(CMakePackage): + """The NCEP general interpolation library 2 (ip2lib) contains Fortran 90 + subprograms to be used for interpolating between nearly all grids used at + NCEP.""" + + homepage = "https://github.com/NOAA-EMC/NCEPLIBS-ip2" + url = "https://github.com/NOAA-EMC/NCEPLIBS-ip2/archive/refs/tags/v1.1.2.tar.gz" + + maintainers = ['t-brown'] + + version('1.1.2', sha256='73c6beec8fd463ec7ccba3633d8c5d53d385c43d507367efde918c2db0af42ab') + + depends_on('sp') diff --git a/var/spack/repos/builtin/packages/ncep-post/cmake_findnetcdf.patch b/var/spack/repos/builtin/packages/ncep-post/cmake_findnetcdf.patch new file mode 100644 index 00000000000..880660f05c9 --- /dev/null +++ b/var/spack/repos/builtin/packages/ncep-post/cmake_findnetcdf.patch @@ -0,0 +1,350 @@ +--- a/CMakeModules/Modules/FindNetCDF.cmake 2021-07-26 07:16:22.760999830 -0600 ++++ b/CMakeModules/Modules/FindNetCDF.cmake 2021-05-21 09:22:26.000000000 -0600 +@@ -0,0 +1,347 @@ ++# (C) Copyright 2011- ECMWF. ++# ++# This software is licensed under the terms of the Apache Licence Version 2.0 ++# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. ++# In applying this licence, ECMWF does not waive the privileges and immunities ++# granted to it by virtue of its status as an intergovernmental organisation nor ++# does it submit to any jurisdiction. ++ ++# Try to find NetCDF includes and library. ++# Supports static and shared libaries and allows each component to be found in sepearte prefixes. ++# ++# This module defines ++# ++# - NetCDF_FOUND - System has NetCDF ++# - NetCDF_INCLUDE_DIRS - the NetCDF include directories ++# - NetCDF_VERSION - the version of NetCDF ++# - NetCDF_CONFIG_EXECUTABLE - the netcdf-config executable if found ++# - NetCDF_PARALLEL - Boolean True if NetCDF4 has parallel IO support via hdf5 and/or pnetcdf ++# - NetCDF_HAS_PNETCDF - Boolean True if NetCDF4 has pnetcdf support ++# ++# Deprecated Defines ++# - NetCDF_LIBRARIES - [Deprecated] Use NetCDF::NetCDF_ targets instead. ++# ++# ++# Following components are available: ++# ++# - C - C interface to NetCDF (netcdf) ++# - CXX - CXX4 interface to NetCDF (netcdf_c++4) ++# - Fortran - Fortran interface to NetCDF (netcdff) ++# ++# For each component the following are defined: ++# ++# - NetCDF__FOUND - whether the component is found ++# - NetCDF__LIBRARIES - the libraries for the component ++# - NetCDF__LIBRARY_SHARED - Boolean is true if libraries for component are shared ++# - NetCDF__INCLUDE_DIRS - the include directories for specified component ++# - NetCDF::NetCDF_ - target of component to be used with target_link_libraries() ++# ++# The following paths will be searched in order if set in CMake (first priority) or environment (second priority) ++# ++# - NetCDF_ROOT - root of NetCDF installation ++# - NetCDF_PATH - root of NetCDF installation ++# ++# The search process begins with locating NetCDF Include headers. If these are in a non-standard location, ++# set one of the following CMake or environment variables to point to the location: ++# ++# - NetCDF_INCLUDE_DIR or NetCDF_${comp}_INCLUDE_DIR ++# - NetCDF_INCLUDE_DIRS or NetCDF_${comp}_INCLUDE_DIR ++# ++# Notes: ++# ++# - Use "NetCDF::NetCDF_" targets only. NetCDF_LIBRARIES exists for backwards compatibility and should not be used. ++# - These targets have all the knowledge of include directories and library search directories, and a single ++# call to target_link_libraries will provide all these transitive properties to your target. Normally all that is ++# needed to build and link against NetCDF is, e.g.: ++# target_link_libraries(my_c_tgt PUBLIC NetCDF::NetCDF_C) ++# - "NetCDF" is always the preferred naming for this package, its targets, variables, and environment variables ++# - For compatibility, some variables are also set/checked using alternate names NetCDF4, NETCDF, or NETCDF4 ++# - Environments relying on these older environment variable names should move to using a "NetCDF_ROOT" environment variable ++# - Preferred component capitalization follows the CMake LANGUAGES variables: i.e., C, Fortran, CXX ++# - For compatibility, alternate capitalizations are supported but should not be used. ++# - If no components are defined, all components will be searched ++# ++ ++list( APPEND _possible_components C CXX Fortran ) ++ ++## Include names for each component ++set( NetCDF_C_INCLUDE_NAME netcdf.h ) ++set( NetCDF_CXX_INCLUDE_NAME netcdf ) ++set( NetCDF_Fortran_INCLUDE_NAME netcdf.mod ) ++ ++## Library names for each component ++set( NetCDF_C_LIBRARY_NAME netcdf ) ++set( NetCDF_CXX_LIBRARY_NAME netcdf_c++4 ) ++set( NetCDF_Fortran_LIBRARY_NAME netcdff ) ++ ++## Enumerate search components ++foreach( _comp ${_possible_components} ) ++ string( TOUPPER "${_comp}" _COMP ) ++ set( _arg_${_COMP} ${_comp} ) ++ set( _name_${_COMP} ${_comp} ) ++endforeach() ++ ++set( _search_components C) ++foreach( _comp ${${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS} ) ++ string( TOUPPER "${_comp}" _COMP ) ++ set( _arg_${_COMP} ${_comp} ) ++ list( APPEND _search_components ${_name_${_COMP}} ) ++ if( NOT _name_${_COMP} ) ++ message(SEND_ERROR "Find${CMAKE_FIND_PACKAGE_NAME}: COMPONENT ${_comp} is not a valid component. Valid components: ${_possible_components}" ) ++ endif() ++endforeach() ++list( REMOVE_DUPLICATES _search_components ) ++ ++## Search hints for finding include directories and libraries ++foreach( _comp IN ITEMS "_" "_C_" "_Fortran_" "_CXX_" ) ++ foreach( _name IN ITEMS NetCDF4 NetCDF NETCDF4 NETCDF ) ++ foreach( _var IN ITEMS ROOT PATH ) ++ list(APPEND _search_hints ${${_name}${_comp}${_var}} $ENV{${_name}${_comp}${_var}} ) ++ list(APPEND _include_search_hints ++ ${${_name}${_comp}INCLUDE_DIR} $ENV{${_name}${_comp}INCLUDE_DIR} ++ ${${_name}${_comp}INCLUDE_DIRS} $ENV{${_name}${_comp}INCLUDE_DIRS} ) ++ endforeach() ++ endforeach() ++endforeach() ++#Old-school HPC module env variable names ++foreach( _name IN ITEMS NetCDF4 NetCDF NETCDF4 NETCDF ) ++ foreach( _comp IN ITEMS "_C" "_Fortran" "_CXX" ) ++ list(APPEND _search_hints ${${_name}} $ENV{${_name}}) ++ list(APPEND _search_hints ${${_name}${_comp}} $ENV{${_name}${_comp}}) ++ endforeach() ++endforeach() ++ ++## Find headers for each component ++set(NetCDF_INCLUDE_DIRS) ++set(_new_search_components) ++foreach( _comp IN LISTS _search_components ) ++ if(NOT ${PROJECT_NAME}_NetCDF_${_comp}_FOUND) ++ list(APPEND _new_search_components ${_comp}) ++ endif() ++ find_file(NetCDF_${_comp}_INCLUDE_FILE ++ NAMES ${NetCDF_${_comp}_INCLUDE_NAME} ++ DOC "NetCDF ${_comp} include directory" ++ HINTS ${_include_search_hints} ${_search_hints} ++ PATH_SUFFIXES include include/netcdf ++ ) ++ mark_as_advanced(NetCDF_${_comp}_INCLUDE_FILE) ++ message(DEBUG "NetCDF_${_comp}_INCLUDE_FILE: ${NetCDF_${_comp}_INCLUDE_FILE}") ++ if( NetCDF_${_comp}_INCLUDE_FILE ) ++ get_filename_component(NetCDF_${_comp}_INCLUDE_FILE ${NetCDF_${_comp}_INCLUDE_FILE} ABSOLUTE) ++ get_filename_component(NetCDF_${_comp}_INCLUDE_DIR ${NetCDF_${_comp}_INCLUDE_FILE} DIRECTORY) ++ list(APPEND NetCDF_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIR}) ++ endif() ++endforeach() ++if(NetCDF_INCLUDE_DIRS) ++ list(REMOVE_DUPLICATES NetCDF_INCLUDE_DIRS) ++endif() ++set(NetCDF_INCLUDE_DIRS "${NetCDF_INCLUDE_DIRS}" CACHE STRING "NetCDF Include directory paths" FORCE) ++ ++## Find n*-config executables for search components ++foreach( _comp IN LISTS _search_components ) ++ if( _comp MATCHES "^(C)$" ) ++ set(_conf "c") ++ elseif( _comp MATCHES "^(Fortran)$" ) ++ set(_conf "f") ++ elseif( _comp MATCHES "^(CXX)$" ) ++ set(_conf "cxx4") ++ endif() ++ find_program( NetCDF_${_comp}_CONFIG_EXECUTABLE ++ NAMES n${_conf}-config ++ HINTS ${NetCDF_INCLUDE_DIRS} ${_include_search_hints} ${_search_hints} ++ PATH_SUFFIXES bin Bin ../bin ../../bin ++ DOC "NetCDF n${_conf}-config helper" ) ++ message(DEBUG "NetCDF_${_comp}_CONFIG_EXECUTABLE: ${NetCDF_${_comp}_CONFIG_EXECUTABLE}") ++endforeach() ++ ++set(_C_libs_flag --libs) ++set(_Fortran_libs_flag --flibs) ++set(_CXX_libs_flag --libs) ++set(_C_includes_flag --includedir) ++set(_Fortran_includes_flag --includedir) ++set(_CXX_includes_flag --includedir) ++function(netcdf_config exec flag output_var) ++ set(${output_var} False PARENT_SCOPE) ++ if( exec ) ++ execute_process( COMMAND ${exec} ${flag} RESULT_VARIABLE _ret OUTPUT_VARIABLE _val) ++ if( _ret EQUAL 0 ) ++ string( STRIP ${_val} _val ) ++ set( ${output_var} ${_val} PARENT_SCOPE ) ++ endif() ++ endif() ++endfunction() ++ ++## Detect additional package properties ++netcdf_config(${NetCDF_C_CONFIG_EXECUTABLE} --has-parallel4 _val) ++if( NOT _val MATCHES "^(yes|no)$" ) ++ netcdf_config(${NetCDF_C_CONFIG_EXECUTABLE} --has-parallel _val) ++endif() ++if( _val MATCHES "^(yes)$" ) ++ set(NetCDF_PARALLEL TRUE CACHE STRING "NetCDF has parallel IO capability via pnetcdf or hdf5." FORCE) ++else() ++ set(NetCDF_PARALLEL FALSE CACHE STRING "NetCDF has no parallel IO capability." FORCE) ++endif() ++ ++if(NetCDF_PARALLEL) ++ find_package(MPI REQUIRED) ++endif() ++ ++## Find libraries for each component ++set( NetCDF_LIBRARIES ) ++foreach( _comp IN LISTS _search_components ) ++ string( TOUPPER "${_comp}" _COMP ) ++ ++ find_library( NetCDF_${_comp}_LIBRARY ++ NAMES ${NetCDF_${_comp}_LIBRARY_NAME} ++ DOC "NetCDF ${_comp} library" ++ HINTS ${NetCDF_${_comp}_INCLUDE_DIRS} ${_search_hints} ++ PATH_SUFFIXES lib64 lib ../lib64 ../lib ../../lib64 ../../lib ) ++ mark_as_advanced( NetCDF_${_comp}_LIBRARY ) ++ get_filename_component(NetCDF_${_comp}_LIBRARY ${NetCDF_${_comp}_LIBRARY} ABSOLUTE) ++ set(NetCDF_${_comp}_LIBRARY ${NetCDF_${_comp}_LIBRARY} CACHE STRING "NetCDF ${_comp} library" FORCE) ++ message(DEBUG "NetCDF_${_comp}_LIBRARY: ${NetCDF_${_comp}_LIBRARY}") ++ ++ if( NetCDF_${_comp}_LIBRARY ) ++ if( NetCDF_${_comp}_LIBRARY MATCHES ".a$" ) ++ set( NetCDF_${_comp}_LIBRARY_SHARED FALSE ) ++ set( _library_type STATIC) ++ else() ++ list( APPEND NetCDF_LIBRARIES ${NetCDF_${_comp}_LIBRARY} ) ++ set( NetCDF_${_comp}_LIBRARY_SHARED TRUE ) ++ set( _library_type SHARED) ++ endif() ++ endif() ++ ++ #Use nc-config to set per-component LIBRARIES variable if possible ++ netcdf_config( ${NetCDF_${_comp}_CONFIG_EXECUTABLE} ${_${_comp}_libs_flag} _val ) ++ if( _val ) ++ set( NetCDF_${_comp}_LIBRARIES ${_val} ) ++ if(NOT NetCDF_${_comp}_LIBRARY_SHARED AND NOT NetCDF_${_comp}_FOUND) #Static targets should use nc_config to get a proper link line with all necessary static targets. ++ list( APPEND NetCDF_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) ++ endif() ++ else() ++ set( NetCDF_${_comp}_LIBRARIES ${NetCDF_${_comp}_LIBRARY} ) ++ if(NOT NetCDF_${_comp}_LIBRARY_SHARED) ++ message(SEND_ERROR "Unable to properly find NetCDF. Found static libraries at: ${NetCDF_${_comp}_LIBRARY} but could not run nc-config: ${NetCDF_CONFIG_EXECUTABLE}") ++ endif() ++ endif() ++ ++ #Use nc-config to set per-component INCLUDE_DIRS variable if possible ++ netcdf_config( ${NetCDF_${_comp}_CONFIG_EXECUTABLE} ${_${_comp}_includes_flag} _val ) ++ if( _val ) ++ string( REPLACE " " ";" _val ${_val} ) ++ set( NetCDF_${_comp}_INCLUDE_DIRS ${_val} ) ++ else() ++ set( NetCDF_${_comp}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIR} ) ++ endif() ++ ++ if( NetCDF_${_comp}_LIBRARIES AND NetCDF_${_comp}_INCLUDE_DIRS ) ++ set( ${CMAKE_FIND_PACKAGE_NAME}_${_arg_${_COMP}}_FOUND TRUE ) ++ if (NOT TARGET NetCDF::NetCDF_${_comp}) ++ add_library(NetCDF::NetCDF_${_comp} ${_library_type} IMPORTED) ++ set_target_properties(NetCDF::NetCDF_${_comp} PROPERTIES ++ IMPORTED_LOCATION ${NetCDF_${_comp}_LIBRARY} ++ INTERFACE_INCLUDE_DIRECTORIES "${NetCDF_${_comp}_INCLUDE_DIRS}" ++ INTERFACE_LINK_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) ++ if( NOT _comp MATCHES "^(C)$" ) ++ target_link_libraries(NetCDF::NetCDF_${_comp} INTERFACE NetCDF::NetCDF_C) ++ endif() ++ if(MPI_${_comp}_FOUND) ++ target_link_libraries(NetCDF::NetCDF_${_comp} INTERFACE MPI::MPI_${_comp}) ++ endif() ++ endif() ++ endif() ++endforeach() ++if(NetCDF_LIBRARIES AND NetCDF_${_comp}_LIBRARY_SHARED) ++ list(REMOVE_DUPLICATES NetCDF_LIBRARIES) ++endif() ++set(NetCDF_LIBRARIES "${NetCDF_LIBRARIES}" CACHE STRING "NetCDF library targets" FORCE) ++ ++## Find version via netcdf-config if possible ++if (NetCDF_INCLUDE_DIRS) ++ if( NetCDF_C_CONFIG_EXECUTABLE ) ++ netcdf_config( ${NetCDF_C_CONFIG_EXECUTABLE} --version _vers ) ++ if( _vers ) ++ string(REGEX REPLACE ".* ((([0-9]+)\\.)+([0-9]+)).*" "\\1" NetCDF_VERSION "${_vers}" ) ++ endif() ++ else() ++ foreach( _dir IN LISTS NetCDF_INCLUDE_DIRS) ++ if( EXISTS "${_dir}/netcdf_meta.h" ) ++ file(STRINGS "${_dir}/netcdf_meta.h" _netcdf_version_lines ++ REGEX "#define[ \t]+NC_VERSION_(MAJOR|MINOR|PATCH|NOTE)") ++ string(REGEX REPLACE ".*NC_VERSION_MAJOR *\([0-9]*\).*" "\\1" _netcdf_version_major "${_netcdf_version_lines}") ++ string(REGEX REPLACE ".*NC_VERSION_MINOR *\([0-9]*\).*" "\\1" _netcdf_version_minor "${_netcdf_version_lines}") ++ string(REGEX REPLACE ".*NC_VERSION_PATCH *\([0-9]*\).*" "\\1" _netcdf_version_patch "${_netcdf_version_lines}") ++ string(REGEX REPLACE ".*NC_VERSION_NOTE *\"\([^\"]*\)\".*" "\\1" _netcdf_version_note "${_netcdf_version_lines}") ++ set(NetCDF_VERSION "${_netcdf_version_major}.${_netcdf_version_minor}.${_netcdf_version_patch}${_netcdf_version_note}") ++ unset(_netcdf_version_major) ++ unset(_netcdf_version_minor) ++ unset(_netcdf_version_patch) ++ unset(_netcdf_version_note) ++ unset(_netcdf_version_lines) ++ endif() ++ endforeach() ++ endif() ++endif () ++ ++## Finalize find_package ++include(FindPackageHandleStandardArgs) ++ ++if(NOT NetCDF_FOUND OR _new_search_components) ++ find_package_handle_standard_args( ${CMAKE_FIND_PACKAGE_NAME} ++ REQUIRED_VARS NetCDF_INCLUDE_DIRS NetCDF_LIBRARIES ++ VERSION_VAR NetCDF_VERSION ++ HANDLE_COMPONENTS ) ++endif() ++ ++foreach( _comp IN LISTS _search_components ) ++ if( NetCDF_${_comp}_FOUND ) ++ #Record found components to avoid duplication in NetCDF_LIBRARIES for static libraries ++ set(NetCDF_${_comp}_FOUND ${NetCDF_${_comp}_FOUND} CACHE BOOL "NetCDF ${_comp} Found" FORCE) ++ #Set a per-package, per-component found variable to communicate between multiple calls to find_package() ++ set(${PROJECT_NAME}_NetCDF_${_comp}_FOUND True) ++ endif() ++endforeach() ++ ++if( ${CMAKE_FIND_PACKAGE_NAME}_FOUND AND NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY AND _new_search_components) ++ message( STATUS "Find${CMAKE_FIND_PACKAGE_NAME} defines targets:" ) ++ message( STATUS " - NetCDF_VERSION [${NetCDF_VERSION}]") ++ message( STATUS " - NetCDF_PARALLEL [${NetCDF_PARALLEL}]") ++ foreach( _comp IN LISTS _new_search_components ) ++ string( TOUPPER "${_comp}" _COMP ) ++ message( STATUS " - NetCDF_${_comp}_CONFIG_EXECUTABLE [${NetCDF_${_comp}_CONFIG_EXECUTABLE}]") ++ if( ${CMAKE_FIND_PACKAGE_NAME}_${_arg_${_COMP}}_FOUND ) ++ get_filename_component(_root ${NetCDF_${_comp}_INCLUDE_DIR}/.. ABSOLUTE) ++ if( NetCDF_${_comp}_LIBRARY_SHARED ) ++ message( STATUS " - NetCDF::NetCDF_${_comp} [SHARED] [Root: ${_root}] Lib: ${NetCDF_${_comp}_LIBRARY} ") ++ else() ++ message( STATUS " - NetCDF::NetCDF_${_comp} [STATIC] [Root: ${_root}] Lib: ${NetCDF_${_comp}_LIBRARY} ") ++ endif() ++ endif() ++ endforeach() ++endif() ++ ++foreach( _prefix NetCDF NetCDF4 NETCDF NETCDF4 ${CMAKE_FIND_PACKAGE_NAME} ) ++ set( ${_prefix}_INCLUDE_DIRS ${NetCDF_INCLUDE_DIRS} ) ++ set( ${_prefix}_LIBRARIES ${NetCDF_LIBRARIES}) ++ set( ${_prefix}_VERSION ${NetCDF_VERSION} ) ++ set( ${_prefix}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_FOUND} ) ++ set( ${_prefix}_CONFIG_EXECUTABLE ${NetCDF_CONFIG_EXECUTABLE} ) ++ set( ${_prefix}_PARALLEL ${NetCDF_PARALLEL} ) ++ ++ foreach( _comp ${_search_components} ) ++ string( TOUPPER "${_comp}" _COMP ) ++ set( _arg_comp ${_arg_${_COMP}} ) ++ set( ${_prefix}_${_comp}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_${_arg_comp}_FOUND} ) ++ set( ${_prefix}_${_COMP}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_${_arg_comp}_FOUND} ) ++ set( ${_prefix}_${_arg_comp}_FOUND ${${CMAKE_FIND_PACKAGE_NAME}_${_arg_comp}_FOUND} ) ++ ++ set( ${_prefix}_${_comp}_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) ++ set( ${_prefix}_${_COMP}_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) ++ set( ${_prefix}_${_arg_comp}_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} ) ++ ++ set( ${_prefix}_${_comp}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIRS} ) ++ set( ${_prefix}_${_COMP}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIRS} ) ++ set( ${_prefix}_${_arg_comp}_INCLUDE_DIRS ${NetCDF_${_comp}_INCLUDE_DIRS} ) ++ endforeach() ++endforeach() diff --git a/var/spack/repos/builtin/packages/ncep-post/package.py b/var/spack/repos/builtin/packages/ncep-post/package.py new file mode 100644 index 00000000000..fd82899fadc --- /dev/null +++ b/var/spack/repos/builtin/packages/ncep-post/package.py @@ -0,0 +1,49 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class NcepPost(CMakePackage): + """The NCEP Post Processor is a software package designed + to generate useful products from raw model output.""" + + homepage = "https://github.com/NOAA-EMC/EMC_post" + url = "https://github.com/NOAA-EMC/EMC_post/archive/refs/tags/upp_v10.0.8.tar.gz" + + maintainers = ['t-brown'] + + version('10.0.8', sha256='b3b27d03250450159a8261c499d57168bdd833790c1c80c854d081fe37aaab47') + + variant('wrf-io', default=True, description='Enable WRF I/O.') + + depends_on('bacio') + depends_on('crtm') + depends_on('g2') + depends_on('g2tmpl') + depends_on('gfsio') + depends_on('ip') + depends_on('jasper') + depends_on('libpng') + depends_on('mpi') + depends_on('netcdf-c') + depends_on('netcdf-fortran') + depends_on('nemsio') + depends_on('sfcio') + depends_on('sigio') + depends_on('sp') + depends_on('w3emc') + depends_on('w3nco') + depends_on('w3nco') + depends_on('wrf-io', when='+wrf-io') + depends_on('zlib') + + patch('cmake_findnetcdf.patch') + + def cmake_args(self): + args = [] + if '+wrf-io' in self.spec: + args.append('-DBUILD_WITH_WRFIO:BOOL=ON') + return args diff --git a/var/spack/repos/builtin/packages/nemsio/package.py b/var/spack/repos/builtin/packages/nemsio/package.py new file mode 100644 index 00000000000..76edd7d7341 --- /dev/null +++ b/var/spack/repos/builtin/packages/nemsio/package.py @@ -0,0 +1,23 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Nemsio(CMakePackage): + """The NOAA Environmental Modeling System I/O (NEMSIO) library. The + basic functions it provides are to read and write data sets for all the + NEMS applications.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-nemsio" + url = "https://github.com/NOAA-EMC/NCEPLIBS-nemsio/archive/refs/tags/v2.5.2.tar.gz" + + maintainers = ['t-brown'] + + version('2.5.2', sha256='c59e9379969690de8d030cbf4bbbbe3726faf13c304f3b88b0f6aec1496d2c08') + + depends_on('bacio') + depends_on('mpi') + depends_on('w3nco') diff --git a/var/spack/repos/builtin/packages/sfcio/package.py b/var/spack/repos/builtin/packages/sfcio/package.py new file mode 100644 index 00000000000..c2a6c750ec9 --- /dev/null +++ b/var/spack/repos/builtin/packages/sfcio/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Sfcio(CMakePackage): + """The SFCIO library provides an API to read the NCEP Spectral model surface + files.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-sfcio" + url = "https://github.com/NOAA-EMC/NCEPLIBS-sfcio/archive/refs/tags/v1.4.1.tar.gz" + + maintainers = ['t-brown'] + + version('1.4.1', sha256='d9f900cf18ec1a839b4128c069b1336317ffc682086283443354896746b89c59') diff --git a/var/spack/repos/builtin/packages/sigio/package.py b/var/spack/repos/builtin/packages/sigio/package.py new file mode 100644 index 00000000000..c793de14c23 --- /dev/null +++ b/var/spack/repos/builtin/packages/sigio/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Sigio(CMakePackage): + """The SIGIO library provides an Application Program Interface for performing + I/O on the sigma restart file of the global spectral model.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-sigio" + url = "https://github.com/NOAA-EMC/NCEPLIBS-sigio/archive/refs/tags/v2.3.2.tar.gz" + + maintainers = ['t-brown'] + + version('2.3.2', sha256='333f3cf3a97f97103cbafcafc2ad89b24faa55b1332a98adc1637855e8a5b613') diff --git a/var/spack/repos/builtin/packages/sp/package.py b/var/spack/repos/builtin/packages/sp/package.py new file mode 100644 index 00000000000..5616c10cb80 --- /dev/null +++ b/var/spack/repos/builtin/packages/sp/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Sp(CMakePackage): + """The spectral transform library splib contains FORTRAN subprograms to be + used for a variety of spectral transform functions.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-sp" + url = "https://github.com/NOAA-EMC/NCEPLIBS-sp/archive/refs/tags/v2.3.3.tar.gz" + + maintainers = ['t-brown'] + + version('2.3.3', sha256='c0d465209e599de3c0193e65671e290e9f422f659f1da928505489a3edeab99f') diff --git a/var/spack/repos/builtin/packages/ufs-utils/package.py b/var/spack/repos/builtin/packages/ufs-utils/package.py new file mode 100644 index 00000000000..b1de6c9eb1f --- /dev/null +++ b/var/spack/repos/builtin/packages/ufs-utils/package.py @@ -0,0 +1,39 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class UfsUtils(CMakePackage): + """The UFS Utilities package contains programs set up the model grid and + create coldstart initial conditions. + """ + + homepage = "https://noaa-emcufs-utils.readthedocs.io/en/latest/" + url = "https://github.com/NOAA-EMC/UFS_UTILS/archive/refs/tags/ufs_utils_1_6_0.tar.gz" + + maintainers = ['t-brown'] + + version('1_6_0', sha256='829ba4b50162e4202f96ec92a65b9fa824f71db65d2b63b70822db07d061cd92') + + depends_on('bacio') + depends_on('esmf') + depends_on('g2') + depends_on('hdf5') + depends_on('ip') + depends_on('jasper') + depends_on('libpng') + depends_on('nemsio') + depends_on('netcdf-c') + depends_on('netcdf-fortran') + depends_on('sfcio') + depends_on('sigio') + depends_on('sp') + depends_on('w3nco') + depends_on('wgrib2') + depends_on('zlib') + + def setup_build_environment(self, env): + env.set('ESMFMKFILE', join_path(self.spec['esmf'].prefix.lib, 'esmf.mk')) diff --git a/var/spack/repos/builtin/packages/ufs-weather-model/package.py b/var/spack/repos/builtin/packages/ufs-weather-model/package.py new file mode 100644 index 00000000000..e1148f7eeaa --- /dev/null +++ b/var/spack/repos/builtin/packages/ufs-weather-model/package.py @@ -0,0 +1,94 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class UfsWeatherModel(CMakePackage): + """The Unified Forecast System (UFS) Weather Model (WM) is a prognostic + model that can be used for short- and medium-range research and + operational forecasts, as exemplified by its use in the operational Global + Forecast System (GFS) of the National Oceanic and Atmospheric + Administration (NOAA).""" + + homepage = "https://ufs-weather-model.readthedocs.io/en/latest/" + url = "https://github.com/ufs-community/ufs-weather-model/archive/refs/tags/ufs-v1.1.0.tar.gz" + git = "https://github.com/ufs-community/ufs-weather-model.git" + + maintainers = ['t-brown'] + + version('2.0.0', tag='ufs-v2.0.0', submodules=True) + version('1.1.0', tag='ufs-v1.1.0', submodules=True) + + variant('32bit', default=True, description='Enable 32-bit single precision arithmetic in dycore') + variant('avx2', default=False, description='Enable AVX2 instructions') + variant('ccpp', default=True, description='Enable the Common Community Physics Package (CCPP))') + variant('ccpp_suites', default='FV3_GFS_v15p2,FV3_RRFS_v1alpha', + description='CCPP suites to compile', + values=('FV3_GFS_v15p2', + 'FV3_RRFS_v1alpha', + 'FV3_GFS_v15p2,FV3_RRFS_v1alpha'), + multi=True) + variant('inline_post', default=False, description='Compile post processing inline') + variant('multi_gases', default=False, description='Enable multi gases in physics routines') + variant('openmp', default=True, description='Enable OpenMP') + variant('parallel_netcdf', default=True, description='Enable parallel I/O in netCDF') + variant('quad_precision', default=False, + description='Enable quad precision for certain grid metric terms in dycore') + variant('simdmultiarch', default=False, description='Enable multi-target SIMD instruction sets') + + depends_on('bacio') + depends_on('esmf@:8.0.0') + depends_on('mpi') + depends_on('nemsio') + depends_on('netcdf-c') + depends_on('netcdf-fortran') + depends_on('sp') + depends_on('w3emc') + depends_on('w3nco') + + def setup_build_environment(self, env): + spec = self.spec + env.set('CMAKE_C_COMPILER', spec['mpi'].mpicc) + env.set('CMAKE_CXX_COMPILER', spec['mpi'].mpicxx) + env.set('CMAKE_Fortran_COMPILER', spec['mpi'].mpifc) + env.set('ESMFMKFILE', join_path(spec['esmf'].prefix.lib, 'esmf.mk')) + + env.set('CCPP_SUITES', ','.join( + [x for x in spec.variants['ccpp_suites'].value if x])) + + if spec.platform == 'linux' and spec.satisfies('%intel'): + env.set('CMAKE_Platform', 'linux.intel') + elif spec.platform == 'linux' and spec.satisfies('%gcc'): + env.set('CMAKE_Platform', 'linux.gnu') + elif spec.platform == 'darwin' and spec.satisfies('%gcc'): + env.set('CMAKE_Platform', 'macosx.gnu') + else: + msg = "The host system {0} and compiler {0} " + msg += "are not supported by UFS." + raise InstallError(msg.format(spec.platform, self.compiler.name)) + + def cmake_args(self): + from_variant = self.define_from_variant + args = [from_variant('32BIT', '32bit'), + from_variant('AVX2', 'avx2'), + from_variant('CCPP', 'ccpp'), + from_variant('INLINE_POST', 'inline_post'), + from_variant('MULTI_GASES', 'multi_gases'), + from_variant('OPENMP', 'openmp'), + from_variant('PARALLEL_NETCDF', 'parallel_netcdf'), + from_variant('QUAD_PRECISION', 'quad_precision'), + from_variant('SIMDMULTIARCH', 'simdmultiarch'), + ] + + return args + + @run_after('install') + def install_additional_files(self): + mkdirp(prefix.bin) + ufs_src = join_path(self.build_directory, 'NEMS.exe') + ufs_dst = join_path(prefix.bin, "ufs_weather_model") + install(ufs_src, ufs_dst) + set_executable(ufs_dst) diff --git a/var/spack/repos/builtin/packages/w3emc/package.py b/var/spack/repos/builtin/packages/w3emc/package.py new file mode 100644 index 00000000000..03b393faabe --- /dev/null +++ b/var/spack/repos/builtin/packages/w3emc/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class W3emc(CMakePackage): + """This library contains Fortran 90 decoder/encoder routines for GRIB + edition 1 with EMC changes.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-w3emc/" + url = "https://github.com/NOAA-EMC/NCEPLIBS-w3emc/archive/refs/tags/v2.9.0.tar.gz" + + maintainers = ['t-brown'] + + version('2.9.0', sha256='994f59635ab91e34e96cab5fbaf8de54389d09461c7bac33b3104a1187e6c98a') diff --git a/var/spack/repos/builtin/packages/w3nco/package.py b/var/spack/repos/builtin/packages/w3nco/package.py new file mode 100644 index 00000000000..d8148a6519f --- /dev/null +++ b/var/spack/repos/builtin/packages/w3nco/package.py @@ -0,0 +1,18 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class W3nco(CMakePackage): + """This library contains Fortran 90 decoder/encoder routines for GRIB + edition 1 with NCO changes.""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS/NCEPLIBS-w3nco/" + url = "https://github.com/NOAA-EMC/NCEPLIBS-w3nco/archive/refs/tags/v2.4.1.tar.gz" + + maintainers = ['t-brown'] + + version('2.4.1', sha256='48b06e0ea21d3d0fd5d5c4e7eb50b081402567c1bff6c4abf4fd4f3669070139') diff --git a/var/spack/repos/builtin/packages/wgrib2/package.py b/var/spack/repos/builtin/packages/wgrib2/package.py new file mode 100644 index 00000000000..ff5f90e74a4 --- /dev/null +++ b/var/spack/repos/builtin/packages/wgrib2/package.py @@ -0,0 +1,29 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Wgrib2(CMakePackage): + """The wgrib2 package functionality for interacting with, reading, + writing, and manipulating GRIB2 files.""" + + homepage = "https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2" + url = "https://github.com/NOAA-EMC/NCEPLIBS-wgrib2/archive/refs/tags/v2.0.8-cmake-v6.tar.gz" + + maintainers = ['t-brown'] + + version('2.0.8-cmake-v6', sha256='745cd008b4ce0245ea44247733e57e2b9ec6c5205d171d457e18d0ff8f87172d') + + depends_on('ip2') + depends_on('jasper') + depends_on('libpng') + depends_on('netcdf-c') + depends_on('netcdf-fortran') + depends_on('sp') + + def cmake_args(self): + args = ['-DUSE_IPOLATES=3', '-DUSE_SPECTRAL=BOOL:ON'] + return args diff --git a/var/spack/repos/builtin/packages/wrf-io/package.py b/var/spack/repos/builtin/packages/wrf-io/package.py new file mode 100644 index 00000000000..f67507587d9 --- /dev/null +++ b/var/spack/repos/builtin/packages/wrf-io/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class WrfIo(CMakePackage): + """The WRFIO package is a lightweight WRF-IO API library for Unified + Post Processor (UPP). It reads wrf forecasts (WRF state plus + diagnostics).""" + + homepage = "https://noaa-emc.github.io/NCEPLIBS-wrf_io" + url = "https://github.com/NOAA-EMC/NCEPLIBS-wrf_io/archive/refs/tags/v1.2.0.tar.gz" + + maintainers = ['t-brown'] + + version('1.2.0', sha256='000cf5294a2c68460085258186e1f36c86d3d0d9c433aa969a0f92736b745617') + + depends_on('netcdf-c') + depends_on('netcdf-fortran') From 01cbf3b81c9e0db2beb32036980140fdc4e16197 Mon Sep 17 00:00:00 2001 From: Paul Spencer <32964672+pwablito@users.noreply.github.com> Date: Mon, 23 Aug 2021 13:29:20 -0600 Subject: [PATCH 300/414] Spelling fixes (#25570) --- lib/spack/spack/cmd/install.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/cmd/install.py b/lib/spack/spack/cmd/install.py index 98e150af509..b0f00629ce5 100644 --- a/lib/spack/spack/cmd/install.py +++ b/lib/spack/spack/cmd/install.py @@ -219,7 +219,7 @@ def install_specs(cli_args, kwargs, specs): # If there is any ambiguity in the above call to matching_spec # (i.e. if more than one spec in the environment matches), then - # SpackEnvironmentError is rasied, with a message listing the + # SpackEnvironmentError is raised, with a message listing the # the matches. Getting to this point means there were either # no matches or exactly one match. @@ -243,7 +243,7 @@ def install_specs(cli_args, kwargs, specs): if m_spec in env.roots() or cli_args.no_add: # either the single match is a root spec (and --no-add is - # the default for roots) or --no-add was stated explictly + # the default for roots) or --no-add was stated explicitly tty.debug('just install {0}'.format(m_spec.name)) specs_to_install.append(m_spec) else: From 5823a9b302b9786d64f918a0b5e5143229ffe96b Mon Sep 17 00:00:00 2001 From: Vanessasaurus <814322+vsoch@users.noreply.github.com> Date: Mon, 23 Aug 2021 23:48:16 -0600 Subject: [PATCH 301/414] fixing small bug that a line of spack monitor commands are still produced (#25366) Signed-off-by: vsoch Co-authored-by: vsoch --- share/spack/templates/container/Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/share/spack/templates/container/Dockerfile b/share/spack/templates/container/Dockerfile index 875702979dc..c23ad641888 100644 --- a/share/spack/templates/container/Dockerfile +++ b/share/spack/templates/container/Dockerfile @@ -14,7 +14,10 @@ RUN mkdir {{ paths.environment }} \ {{ manifest }} > {{ paths.environment }}/spack.yaml # Install the software, remove unnecessary deps -RUN {% if monitor.enabled %}--mount=type=secret,id=su --mount=type=secret,id=st{% endif %} cd {{ paths.environment }} && spack env activate . {% if not monitor.disable_auth %}&& export SPACKMON_USER=$(cat /run/secrets/su) && export SPACKMON_TOKEN=$(cat /run/secrets/st) {% endif %}&& spack install {% if monitor.enabled %}--monitor {% if monitor.prefix %}--monitor-prefix {{ monitor.prefix }} {% endif %}{% if monitor.tags %}--monitor-tags {{ monitor.tags }} {% endif %}{% if monitor.keep_going %}--monitor-keep-going {% endif %}{% if monitor.host %}--monitor-host {{ monitor.host }} {% endif %}{% if monitor.disable_auth %}--monitor-disable-auth {% endif %}{% endif %}--fail-fast && spack gc -y +RUN {% if monitor.enabled %}--mount=type=secret,id=su --mount=type=secret,id=st {% endif %}cd {{ paths.environment }} && \ + spack env activate . {% if monitor.enabled %}{% if not monitor.disable_auth %}&& export SPACKMON_USER=$(cat /run/secrets/su) && export SPACKMON_TOKEN=$(cat /run/secrets/st) {% endif %}{% endif %}&& \ + spack install {% if monitor.enabled %}--monitor {% if monitor.prefix %}--monitor-prefix {{ monitor.prefix }} {% endif %}{% if monitor.tags %}--monitor-tags {{ monitor.tags }} {% endif %}{% if monitor.keep_going %}--monitor-keep-going {% endif %}{% if monitor.host %}--monitor-host {{ monitor.host }} {% endif %}{% if monitor.disable_auth %}--monitor-disable-auth {% endif %}{% endif %}--fail-fast && \ + spack gc -y {% if strip %} # Strip all the binaries From 213ec6df5f8d9efb17eb17c69d0a0cfbe52444b7 Mon Sep 17 00:00:00 2001 From: corentin-dev <60616120+corentin-dev@users.noreply.github.com> Date: Tue, 24 Aug 2021 15:43:35 +0200 Subject: [PATCH 302/414] petsc: added variants and dips (#24725) Add HPDDM, MMG, ParMMG and Tetgen to PETSc. Add mmg version 5.5.2 (compatible with PETSc). Add parmmg, depending on mmg. Add pic variant to tetgen for PETSc. --- .../builtin/packages/arpack-ng/package.py | 3 + .../builtin/packages/freefem/acmpi.patch | 11 +++ .../builtin/packages/freefem/acmpi4.8.patch | 11 +++ .../repos/builtin/packages/freefem/package.py | 64 ++++++++++++++++ .../repos/builtin/packages/hpddm/package.py | 75 +++++++++++++++++++ .../repos/builtin/packages/mmg/package.py | 1 + .../repos/builtin/packages/parmmg/package.py | 35 +++++++++ .../repos/builtin/packages/petsc/package.py | 21 ++++++ .../repos/builtin/packages/tetgen/package.py | 4 + 9 files changed, 225 insertions(+) create mode 100644 var/spack/repos/builtin/packages/freefem/acmpi.patch create mode 100644 var/spack/repos/builtin/packages/freefem/acmpi4.8.patch create mode 100644 var/spack/repos/builtin/packages/freefem/package.py create mode 100644 var/spack/repos/builtin/packages/hpddm/package.py create mode 100644 var/spack/repos/builtin/packages/parmmg/package.py diff --git a/var/spack/repos/builtin/packages/arpack-ng/package.py b/var/spack/repos/builtin/packages/arpack-ng/package.py index ee3e3c218c7..971e9ca31f2 100644 --- a/var/spack/repos/builtin/packages/arpack-ng/package.py +++ b/var/spack/repos/builtin/packages/arpack-ng/package.py @@ -128,6 +128,9 @@ def install(self, spec, prefix): if '+shared' in spec: options.append('-DBUILD_SHARED_LIBS=ON') + else: + options.append('-DBUILD_SHARED_LIBS=OFF') + options.append('-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true') cmake('.', *options) make() diff --git a/var/spack/repos/builtin/packages/freefem/acmpi.patch b/var/spack/repos/builtin/packages/freefem/acmpi.patch new file mode 100644 index 00000000000..f6dfdc1d2ba --- /dev/null +++ b/var/spack/repos/builtin/packages/freefem/acmpi.patch @@ -0,0 +1,11 @@ +--- a/etc/config/m4/acmpi.m4 2021-04-19 21:45:30.000000000 +0200 ++++ b/etc/config/m4/acmpi.m4 2021-07-06 09:53:06.100076241 +0200 +@@ -296,7 +296,7 @@ + test -n "$MPICC" && ff_mpicshow=`$MPICC -show` 2>/dev/null + test -n "$MPIFC" && ff_mpifcshow=`$MPIFC -show` 2>/dev/null + if test "$with_mpilibs" = no -o -z "$with_mpilibs" ; then +- [ff_MPI_INCLUDE=`echo $ff_mpishow|tr ' ' '\n'| grep -E '^[-/][^WLlOgpf]|^-Wp,'|tr '\n' ' '`] ++ [ff_MPI_INCLUDE=`echo $ff_mpishow|tr ' ' '\n' | sed '1 d'| grep -E '^[-/][^WLlOgpf]|^-Wp,'|tr '\n' ' '`] + ff_MPI_LIB_DIRS="" + [ff_MPI_LIB=`echo $ff_mpishow|tr ' ' '\n'| grep -E '^-[Llp]|^-Wl,'|tr '\n' ' '`] + [ff_MPI_LIBC=`echo $ff_mpicshow|tr ' ' '\n'| grep -E '^-[Llp]|^-Wl,'|tr '\n' ' '`] diff --git a/var/spack/repos/builtin/packages/freefem/acmpi4.8.patch b/var/spack/repos/builtin/packages/freefem/acmpi4.8.patch new file mode 100644 index 00000000000..59cbec98c63 --- /dev/null +++ b/var/spack/repos/builtin/packages/freefem/acmpi4.8.patch @@ -0,0 +1,11 @@ +--- a/etc/config/m4/acmpi.m4 2021-04-19 21:45:30.000000000 +0200 ++++ b/etc/config/m4/acmpi.m4 2021-07-06 09:53:06.100076241 +0200 +@@ -296,7 +296,7 @@ + test -n "$MPICC" && ff_mpicshow=`$MPICC -show` 2>/dev/null + test -n "$MPIFC" && ff_mpifcshow=`$MPIFC -show` 2>/dev/null + if test "$with_mpilibs" = no -o -z "$with_mpilibs" ; then +- [ff_MPI_INCLUDE=`echo $ff_mpishow|tr ' ' '\n'| grep -E '^[-/][^WLlOgp]|^-Wp,'|tr '\n' ' '`] ++ [ff_MPI_INCLUDE=`echo $ff_mpishow|tr ' ' '\n' | sed '1 d'| grep -E '^[-/][^WLlOgpf]|^-Wp,'|tr '\n' ' '`] + ff_MPI_LIB_DIRS="" + [ff_MPI_LIB=`echo $ff_mpishow|tr ' ' '\n'| grep -E '^-[Llp]|^-Wl,'|tr '\n' ' '`] + [ff_MPI_LIBC=`echo $ff_mpicshow|tr ' ' '\n'| grep -E '^-[Llp]|^-Wl,'|tr '\n' ' '`] diff --git a/var/spack/repos/builtin/packages/freefem/package.py b/var/spack/repos/builtin/packages/freefem/package.py new file mode 100644 index 00000000000..69d2e017fd0 --- /dev/null +++ b/var/spack/repos/builtin/packages/freefem/package.py @@ -0,0 +1,64 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Freefem(AutotoolsPackage): + """FreeFEM is a popular 2D and 3D partial differential equations (PDE) solver. + It allows you to easily implement your own physics modules using the provided + FreeFEM language. FreeFEM offers a large list of finite elements, like the + Lagrange, Taylor-Hood, etc., usable in the continuous and discontinuous + Galerkin method framework. + """ + + homepage = "https://freefem.org" + url = "https://github.com/FreeFem/FreeFem-sources/archive/refs/tags/v4.9.tar.gz" + + maintainers = ['corentin-dev'] + + version('4.9', sha256='299ba2b73dfff578b7890f693c1e835680bf55eba87263cabd60d81909e1e0e4') + version('4.8', sha256='499b1ca24d45088226a238412ea1492d9cc3eb6088866904145511469780180d') + version('4.7-1', sha256='60d84424d20b5f6abaee638dc423480fc76f9c389bba1a2f23fd984e39a3fb96') + version('4.7', sha256='c1797b642e9c3d543eaad4949d26ce1e986f531ee9be14fff606ea525ada9206') + version('4.6', sha256='6c09af8e189fc02214b0e664b679b49832c134e29cf1ede3cab29cf754f6078f') + version('4.5', sha256='5b2d4125c312da8fbedd49a72e742f18f35e0ae100c82fb493067dfad5d51432') + + variant('mpi', default=False, + description='Activate MPI support') + variant('petsc', default=False, + description='Compile with PETSc/SLEPc') + + depends_on('mpi', when='+mpi') + depends_on('slepc', when='+petsc') + + # Patches to help configure find correctly MPI flags + # when using full path for compilers. + patch('acmpi.patch', when='@4.9', sha256='8157d89fc19227a555b54a4f2eb1c44da8aef3192077a6df2e88093b850f4c50') + patch('acmpi4.8.patch', when='@:4.8', sha256='be84f7b1b8182ff0151c258056a09bda70d72a611b0a4da1fa1954df2e0fe84e') + + def autoreconf(self, spec, prefix): + autoreconf = which('autoreconf') + autoreconf('-i') + + def configure_args(self): + spec = self.spec + options = ['--disable-mkl', + 'CFLAGS=%s' % ' '.join(spec.compiler_flags['cflags']), + 'FFLAGS=%s' % ' '.join(spec.compiler_flags['fflags']), + 'CXXFLAGS=%s' % ' '.join(spec.compiler_flags['cxxflags'])] + + if '+petsc' in spec: + options.append('--with-petsc=%s' + % spec['petsc'].prefix.lib.petsc.conf.petscvariables) + options.append('--with-slepc-ldflags=%s' + % spec['slepc'].libs.ld_flags) + options.append('--with-slepc-include=%s' + % spec['slepc'].headers.include_flags) + else: + options.append('--without-petsc') + options.append('--without-slepc') + + return options diff --git a/var/spack/repos/builtin/packages/hpddm/package.py b/var/spack/repos/builtin/packages/hpddm/package.py new file mode 100644 index 00000000000..f2b67947771 --- /dev/null +++ b/var/spack/repos/builtin/packages/hpddm/package.py @@ -0,0 +1,75 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Hpddm(Package): + """High-performance unified framework for domain decomposition methods.""" + + homepage = "https://github.com/hpddm/hpddm" + url = "https://github.com/hpddm/hpddm" + git = "https://github.com/hpddm/hpddm.git" + + maintainers = ['corentin-dev'] + + version('main', branch='main') + version('2.1.2', commit='e58205623814f59bf2aec2e2bab8eafcfbd22466') + + depends_on('mpi') + depends_on('blas') + depends_on('lapack') + depends_on('mumps') + depends_on('hypre') + depends_on('scalapack') + depends_on('arpack-ng') + depends_on('python') + + def configure(self): + makefile_inc = [] + # cflags = [ + makefile_inc.append('SOLVER ?= MUMPS') + makefile_inc.append('SUBSOLVER ?= MUMPS') + makefile_inc.append('EIGENSOLVER ?= ARPACK') + makefile_inc.append('MPICXX ?= mpic++') + makefile_inc.append('MPICC ?= mpicc') + makefile_inc.append('MPIF90 ?= mpif90') + makefile_inc.append('MPIRUN ?= mpirun -np') + + makefile_inc.append('override CXXFLAGS += -std=c++11 -O3 -fPIC') + makefile_inc.append('override CFLAGS += -std=c99 -O3') + makefile_inc.append('INCS =') + makefile_inc.append('LIBS =') + + makefile_inc.append("HPDDMFLAGS ?= -DHPDM_NUMBERING=\'C\'") + + makefile_inc.append('MUMPS_INCS = ') + makefile_inc.append('PYTHON_INCS = ') + makefile_inc.append('BLAS_LIBS = -lopenblas') + makefile_inc.append('ARPACK_LIBS = -larpack') + makefile_inc.append('SCALAPACK_LIBS = -lscalapack') + makefile_inc.append(' '.join([ + 'MUMPS_LIBS', '=', + '-lcmumps', + '-ldmumps', + '-lsmumps', + '-lzmumps', + '-lmumps_common', + '-lpord', + '-fopenmp'])) + makefile_inc.append('HYPRE_LIBS = -lHYPRE') + makefile_inc.append('PYTHON_LIBS = -lpython3') + + with working_dir('.'): + with open('Makefile.inc', 'w') as fh: + fh.write('\n'.join(makefile_inc)) + + def patch(self): + self.configure() + + def install(self, spec, prefix): + make() + install_tree('include', prefix.include) + # make('install') diff --git a/var/spack/repos/builtin/packages/mmg/package.py b/var/spack/repos/builtin/packages/mmg/package.py index a420975bb30..caebb025df4 100644 --- a/var/spack/repos/builtin/packages/mmg/package.py +++ b/var/spack/repos/builtin/packages/mmg/package.py @@ -26,6 +26,7 @@ class Mmg(CMakePackage): homepage = "http://www.mmgtools.org/" url = "https://github.com/MmgTools/mmg/archive/v5.3.13.tar.gz" + version('5.5.2', sha256='58e3b866101e6f0686758e16bcf9fb5fb06c85184533fc5054ef1c8adfd4be73') version('5.4.0', sha256='2b5cc505018859856766be901797ff5d4789f89377038a0211176a5571039750') version('5.3.13', sha256='d9a5925b69b0433f942ab2c8e55659d9ccea758743354b43d54fdf88a6c3c191') diff --git a/var/spack/repos/builtin/packages/parmmg/package.py b/var/spack/repos/builtin/packages/parmmg/package.py new file mode 100644 index 00000000000..aa151d9cff3 --- /dev/null +++ b/var/spack/repos/builtin/packages/parmmg/package.py @@ -0,0 +1,35 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Parmmg(CMakePackage): + """ParMMG is a parallel remesher based on MMG""" + + homepage = "https://www.mmgtools.org" + url = "https://github.com/MmgTools/ParMmg/archive/refs/tags/v1.3.0.tar.gz" + + maintainers = ['corentin-dev'] + + version('1.3.0', sha256='d43b73a73b62545b5a31bbe25562f69c9e63ad8a6d416bd459781203e37427cf') + version('1.2.0', sha256='99729cc292dcb59c87e3f25d4cabf5a64841e83b624d383e1fd3fb7f960df672') + version('1.1.0', sha256='a5904f1f56b7809ab9ec2f6118b03a082ec2b5564355a73c74fc55426cc69600') + version('1.0.0', sha256='614feb815ff6cdfc9bced30e8105994f0bf3a812243619d3349203ec1851cf6d') + + depends_on('mmg') + depends_on('metis') + depends_on('vtk') + depends_on('mpi') + + variant('pic', default=True, + description='Build with position independent code') + + def cmake_args(self): + args = [ + self.define_from_variant('CMAKE_POSITION_INDEPENDENT_CODE', 'pic'), + ] + + return args diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 40283927238..b0c6810d412 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -91,6 +91,14 @@ class Petsc(Package, CudaPackage, ROCmPackage): description='Activates support for HDF5 (only parallel)') variant('hypre', default=True, description='Activates support for Hypre (only parallel)') + variant('hpddm', default=False, + description='Activates support for HPDDM (only parallel)') + variant('mmg', default=False, + description='Activates support for MMG') + variant('parmmg', default=False, + description='Activates support for ParMMG (only parallel)') + variant('tetgen', default=False, + description='Activates support for Tetgen') # Mumps is disabled by default, because it depends on Scalapack # which is not portable to all HPC systems variant('mumps', default=False, @@ -161,6 +169,8 @@ class Petsc(Package, CudaPackage, ROCmPackage): conflicts('+fftw', when='~mpi', msg=mpi_msg) conflicts('+hdf5', when='~mpi', msg=mpi_msg) conflicts('+hypre', when='~mpi', msg=mpi_msg) + conflicts('+hpddm', when='~mpi', msg=mpi_msg) + conflicts('+parmmg', 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) @@ -229,6 +239,9 @@ class Petsc(Package, CudaPackage, ROCmPackage): depends_on('parmetis+int64', when='+metis+mpi+int64') depends_on('parmetis~int64', when='+metis+mpi~int64') depends_on('valgrind', when='+valgrind') + depends_on('mmg', when='+mmg') + depends_on('parmmg', when='+parmmg') + depends_on('tetgen+pic', when='+tetgen') # Hypre does not support complex numbers. # Also PETSc prefer to build it without internal superlu, likely due to # conflict in headers see @@ -417,6 +430,9 @@ def install(self, spec, prefix): (jpeg_sp, 'libjpeg', True, True), (scalapack_sp, 'scalapack', False, True), 'strumpack', + 'mmg', + 'parmmg', + ('tetgen', 'tetgen', False, False), ): # Cannot check `library in spec` because of transitive deps # Cannot check variants because parmetis keys on +metis @@ -472,6 +488,11 @@ def install(self, spec, prefix): '--with-mkl_pardiso-dir=%s' % spec['mkl'].prefix ) + # For the moment, HPDDM does not work as a dependency + # using download instead + if '+hpddm' in spec: + options.append('--download-hpddm') + python('configure', '--prefix=%s' % prefix, *options) # PETSc has its own way of doing parallel make. diff --git a/var/spack/repos/builtin/packages/tetgen/package.py b/var/spack/repos/builtin/packages/tetgen/package.py index 1efff4ea650..503c6bd2974 100644 --- a/var/spack/repos/builtin/packages/tetgen/package.py +++ b/var/spack/repos/builtin/packages/tetgen/package.py @@ -21,6 +21,7 @@ class Tetgen(Package): version('1.5.0', sha256='4d114861d5ef2063afd06ef38885ec46822e90e7b4ea38c864f76493451f9cf3', url='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz') version('1.4.3', sha256='952711bb06b7f64fd855eb24c33f08e3faf40bdd54764de10bbe5ed5b0dce034', url='http://www.tetgen.org/files/tetgen1.4.3.tar.gz') + variant('pic', default=True, description='Builds the library in pic mode.') variant('debug', default=False, description='Builds the library in debug mode.') variant('except', default=False, description='Replaces asserts with exceptions for better C++ compatibility.') @@ -28,9 +29,12 @@ class Tetgen(Package): def patch(self): cflags = '-g -O0' if '+debug' in self.spec else '-g0 -O3' + cflags = cflags + ' -fPIC' if '+pic' in self.spec else cflags + predcflags = '-fPIC' if '+pic' in self.spec else '' mff = FileFilter('makefile') mff.filter(r'^(C(XX)?FLAGS\s*=)(.*)$', r'\1 {0}'.format(cflags)) + mff.filter(r'^(PREDC(XX)?FLAGS\s*=.*)$', r'\1 {0}'.format(predcflags)) if '+except' in self.spec: hff = FileFilter('tetgen.h') From b2968c817f9c153b59917c5a5584ee05a6272996 Mon Sep 17 00:00:00 2001 From: Christoph Conrads Date: Tue, 24 Aug 2021 17:46:45 +0200 Subject: [PATCH 303/414] Melissa: add v0.7.1, deprecate v0.7.0 (#25584) --- var/spack/repos/builtin/packages/melissa/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/melissa/package.py b/var/spack/repos/builtin/packages/melissa/package.py index 5ad68fafe95..6cf4b4de166 100644 --- a/var/spack/repos/builtin/packages/melissa/package.py +++ b/var/spack/repos/builtin/packages/melissa/package.py @@ -20,7 +20,8 @@ class Melissa(CMakePackage): version('master', branch='master') version('develop', branch='develop') - version('0.7.0', sha256='a801d0b512e31a0750f98cfca80f8338985e06abf9b26e96f7645a022864e41c') + version('0.7.1', sha256='c30584f15fecf6297712a88e4d28851bfd992f31209fd7bb8af2feebe73d539d') + version('0.7.0', sha256='a801d0b512e31a0750f98cfca80f8338985e06abf9b26e96f7645a022864e41c', deprecated=True) variant('no_mpi_api', default=False, description="Enable the deprecated no-MPI API") variant('shared', default=True, description="Build shared libraries") From 31dcdf7262316d0ab04a82af16a763888cd6439f Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 24 Aug 2021 18:24:18 +0200 Subject: [PATCH 304/414] ASP-based solver: rework version facts (#25585) This commit rework version facts so that: 1. All the information on versions is collected before emitting the facts 2. The same kind of atom is emitted for versions stemming from different origins (package.py vs. packages.yaml) In the end all the possible versions for a given package are totally ordered and they are given different and increasing weights staring from zero. This refactor allow us to avoid using negative weights, which in some configurations may make parent node score "better" and lead to unexpected "optimal" results. --- lib/spack/spack/solver/asp.py | 163 ++++++++++++++------------- lib/spack/spack/solver/concretize.lp | 29 +++-- 2 files changed, 105 insertions(+), 87 deletions(-) diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index d32713da697..790e545878f 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -53,6 +53,26 @@ from collections import Sequence +#: Enumeration like object to mark version provenance +version_provenance = collections.namedtuple( # type: ignore + 'VersionProvenance', ['external', 'packages_yaml', 'package_py', 'spec'] +)(spec=0, external=1, packages_yaml=2, package_py=3) + +#: String representation of version origins, to emit legible +# facts for the ASP solver +version_origin_str = { + 0: 'spec', + 1: 'external', + 2: 'packages_yaml', + 3: 'package_py' +} + +#: Named tuple to contain information on declared versions +DeclaredVersion = collections.namedtuple( + 'DeclaredVersion', ['version', 'idx', 'origin'] +) + + def issequence(obj): if isinstance(obj, string_types): return False @@ -417,10 +437,11 @@ class SpackSolverSetup(object): def __init__(self): self.gen = None # set by setup() + + self.declared_versions = {} self.possible_versions = {} - self.versions_in_package_py = {} self.deprecated_versions = {} - self.versions_from_externals = {} + self.possible_virtuals = None self.possible_compilers = [] self.variant_values_from_specs = set() @@ -441,54 +462,23 @@ def pkg_version_rules(self, pkg): This uses self.possible_versions so that we include any versions that arise from a spec. """ + def key_fn(version): + # Origins are sorted by order of importance: + # 1. Spec from command line + # 2. Externals + # 3. Package preferences + # 4. Directives in package.py + return version.origin, version.idx + pkg = packagize(pkg) + declared_versions = self.declared_versions[pkg.name] + most_to_least_preferred = sorted(declared_versions, key=key_fn) - config = spack.config.get("packages") - version_prefs = config.get(pkg.name, {}).get("version", {}) - priority = dict((v, i) for i, v in enumerate(version_prefs)) - - # The keys below show the order of precedence of factors used - # to select a version when concretizing. The item with - # the "largest" key will be selected. - # - # NOTE: When COMPARING VERSIONS, the '@develop' version is always - # larger than other versions. BUT when CONCRETIZING, - # the largest NON-develop version is selected by default. - keyfn = lambda v: ( - # ------- Special direction from the user - # Respect order listed in packages.yaml - -priority.get(v, 0), - - # The preferred=True flag (packages or packages.yaml or both?) - pkg.versions.get(v, {}).get('preferred', False), - - # ------- Regular case: use latest non-develop version by default. - # Avoid @develop version, which would otherwise be the "largest" - # in straight version comparisons - not v.isdevelop(), - - # Compare the version itself - # This includes the logic: - # a) develop > everything (disabled by "not v.isdevelop() above) - # b) numeric > non-numeric - # c) Numeric or string comparison - v) - - # Compute which versions appear only in packages.yaml - from_externals = self.versions_from_externals[pkg.name] - from_package_py = self.versions_in_package_py[pkg.name] - only_from_externals = from_externals - from_package_py - - # These versions don't need a default weight, as they are - # already weighted in a more favorable way when accounting - # for externals. Assigning them a default weight would be - # equivalent to state that they are also declared in - # the package.py file - considered = self.possible_versions[pkg.name] - only_from_externals - most_to_least_preferred = sorted(considered, key=keyfn, reverse=True) - - for i, v in enumerate(most_to_least_preferred): - self.gen.fact(fn.version_declared(pkg.name, v, i)) + for weight, declared_version in enumerate(most_to_least_preferred): + self.gen.fact(fn.version_declared( + pkg.name, declared_version.version, weight, + version_origin_str[declared_version.origin] + )) # Declare deprecated versions for this package, if any deprecated = self.deprecated_versions[pkg.name] @@ -801,20 +791,22 @@ def external_packages(self): externals = data.get('externals', []) external_specs = [spack.spec.Spec(x['spec']) for x in externals] - # Compute versions with appropriate weights. This accounts for the - # fact that we should prefer more recent versions, but specs in - # packages.yaml may not be ordered in that sense. + # Order the external versions to prefer more recent versions + # even if specs in packages.yaml are not ordered that way external_versions = [ - (x.version, local_idx) - for local_idx, x in enumerate(external_specs) + (x.version, external_id) + for external_id, x in enumerate(external_specs) ] external_versions = [ - (v, -(w + 1), local_idx) - for w, (v, local_idx) in enumerate(sorted(external_versions)) + (v, idx, external_id) + for idx, (v, external_id) in + enumerate(sorted(external_versions, reverse=True)) ] - for version, weight, id in external_versions: - self.gen.fact(fn.external_version_declared( - pkg_name, str(version), weight, id + for version, idx, external_id in external_versions: + self.declared_versions[pkg_name].append(DeclaredVersion( + version=version, + idx=idx, + origin=version_provenance.external )) # Declare external conditions with a local index into packages.yaml @@ -823,7 +815,6 @@ def external_packages(self): self.gen.fact( fn.possible_external(condition_id, pkg_name, local_idx) ) - self.versions_from_externals[spec.name].add(spec.version) self.possible_versions[spec.name].add(spec.version) self.gen.newline() @@ -872,17 +863,6 @@ def preferred_targets(self, pkg_name): str(preferred.architecture.target), pkg_name, -30 )) - def preferred_versions(self, pkg_name): - packages_yaml = spack.config.get('packages') - versions = packages_yaml.get(pkg_name, {}).get('version', []) - if not versions: - return - - for idx, version in enumerate(reversed(versions)): - self.gen.fact( - fn.preferred_version_declared(pkg_name, version, -(idx + 1)) - ) - def flag_defaults(self): self.gen.h2("Compiler flag defaults") @@ -1032,23 +1012,56 @@ class Body(object): def build_version_dict(self, possible_pkgs, specs): """Declare any versions in specs not declared in packages.""" + self.declared_versions = collections.defaultdict(list) self.possible_versions = collections.defaultdict(set) - self.versions_in_package_py = collections.defaultdict(set) - self.versions_from_externals = collections.defaultdict(set) self.deprecated_versions = collections.defaultdict(set) + packages_yaml = spack.config.get("packages") + packages_yaml = _normalize_packages_yaml(packages_yaml) for pkg_name in possible_pkgs: pkg = spack.repo.get(pkg_name) - for v, version_info in pkg.versions.items(): - self.versions_in_package_py[pkg_name].add(v) + + # All the versions from the corresponding package.py file. Since concepts + # like being a "develop" version or being preferred exist only at a + # package.py level, sort them in this partial list here + def key_fn(item): + version, info = item + # When COMPARING VERSIONS, the '@develop' version is always + # larger than other versions. BUT when CONCRETIZING, the largest + # NON-develop version is selected by default. + return info.get('preferred', False), not version.isdevelop(), version + + for idx, item in enumerate(sorted( + pkg.versions.items(), key=key_fn, reverse=True + )): + v, version_info = item self.possible_versions[pkg_name].add(v) + self.declared_versions[pkg_name].append(DeclaredVersion( + version=v, idx=idx, origin=version_provenance.package_py + )) deprecated = version_info.get('deprecated', False) if deprecated: self.deprecated_versions[pkg_name].add(v) + # All the preferred version from packages.yaml, versions in external + # specs will be computed later + version_preferences = packages_yaml.get(pkg_name, {}).get("version", []) + for idx, v in enumerate(version_preferences): + self.declared_versions[pkg_name].append(DeclaredVersion( + version=v, idx=idx, origin=version_provenance.packages_yaml + )) + for spec in specs: for dep in spec.traverse(): if dep.versions.concrete: + # Concrete versions used in abstract specs from cli. They + # all have idx equal to 0, which is the best possible. In + # any case they will be used due to being set from the cli. + self.declared_versions[dep.name].append(DeclaredVersion( + version=dep.version, + idx=0, + origin=version_provenance.spec + )) self.possible_versions[dep.name].add(dep.version) def _supported_targets(self, compiler_name, compiler_version, targets): @@ -1344,7 +1357,6 @@ def setup(self, driver, specs, tests=False): Arguments: specs (list): list of Specs to solve - """ self._condition_id_counter = itertools.count() @@ -1394,7 +1406,6 @@ def setup(self, driver, specs, tests=False): self.gen.h2('Package preferences: %s' % pkg) self.preferred_variants(pkg) self.preferred_targets(pkg) - self.preferred_versions(pkg) # Inject dev_path from environment env = ev.active_environment() diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 0ee2e08a186..8006e5f94f7 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -11,6 +11,15 @@ % Version semantics %----------------------------------------------------------------------------- +% Versions are declared with a weight and an origin, which indicates where the +% version was declared (e.g. "package_py" or "external"). +version_declared(Package, Version, Weight) :- version_declared(Package, Version, Weight, _). + +% We can't emit the same version **with the same weight** from two different sources +:- version_declared(Package, Version, Weight, Origin1), + version_declared(Package, Version, Weight, Origin2), + Origin1 != Origin2. + % versions are declared w/priority -- declared with priority implies declared version_declared(Package, Version) :- version_declared(Package, Version, _). @@ -23,11 +32,8 @@ version_declared(Package, Version) :- version_declared(Package, Version, _). deprecated(Package, Version) :- version(Package, Version), deprecated_version(Package, Version). possible_version_weight(Package, Weight) - :- version(Package, Version), version_declared(Package, Version, Weight), - not preferred_version_declared(Package, Version, _). - -possible_version_weight(Package, Weight) - :- version(Package, Version), preferred_version_declared(Package, Version, Weight). + :- version(Package, Version), + version_declared(Package, Version, Weight). 1 { version_weight(Package, Weight) : possible_version_weight(Package, Weight) } 1 :- node(Package). @@ -38,7 +44,6 @@ possible_version_weight(Package, Weight) version_satisfies(Package, Constraint) :- version(Package, Version), version_satisfies(Package, Constraint, Version). -#defined preferred_version_declared/3. #defined version_satisfies/3. #defined deprecated_version/2. @@ -294,11 +299,13 @@ attr("node_compiler_version_satisfies", Package, Compiler, Version) % External semantics %----------------------------------------------------------------------------- -% if an external version is declared, it is also declared globally -version_declared(Package, Version, Weight) :- external_version_declared(Package, Version, Weight, _). - % if a package is external its version must be one of the external versions -1 { version(Package, Version): external_version_declared(Package, Version, _, _) } 1 :- external(Package). +1 { external_version(Package, Version, Weight): + version_declared(Package, Version, Weight, "external") } 1 + :- external(Package). + +version_weight(Package, Weight) :- external_version(Package, Version, Weight). +version(Package, Version) :- external_version(Package, Version, Weight). % if a package is not buildable (external_only), only externals are allowed external(Package) :- external_only(Package), node(Package). @@ -313,7 +320,7 @@ external(Package) :- external_spec_selected(Package, _). % corresponding external spec. :- version(Package, Version), version_weight(Package, Weight), - external_version_declared(Package, Version, Weight, ID), + version_declared(Package, Version, Weight, "external"), not external(Package). % determine if an external spec has been selected From 107693fbd18ece0280ff1242d94a22ce37ac6ee8 Mon Sep 17 00:00:00 2001 From: Scott McMillan Date: Tue, 24 Aug 2021 12:07:03 -0500 Subject: [PATCH 305/414] m4: fixes for the NVIDIA HPC SDK (#25546) Co-authored-by: Scott McMillan --- .../builtin/packages/m4/nvhpc-1.4.19.patch | 14 ++++++++++++++ .../builtin/packages/m4/nvhpc-long-width.patch | 17 +++++++++++++++++ var/spack/repos/builtin/packages/m4/package.py | 5 +++++ 3 files changed, 36 insertions(+) create mode 100644 var/spack/repos/builtin/packages/m4/nvhpc-1.4.19.patch create mode 100644 var/spack/repos/builtin/packages/m4/nvhpc-long-width.patch diff --git a/var/spack/repos/builtin/packages/m4/nvhpc-1.4.19.patch b/var/spack/repos/builtin/packages/m4/nvhpc-1.4.19.patch new file mode 100644 index 00000000000..ee9398b3bb5 --- /dev/null +++ b/var/spack/repos/builtin/packages/m4/nvhpc-1.4.19.patch @@ -0,0 +1,14 @@ +--- a/lib/intprops.h ++++ b/lib/intprops.h +@@ -232,9 +232,9 @@ + (A, B, P) work when P is non-null. */ + /* __builtin_{add,sub}_overflow exists but is not reliable in GCC 5.x and 6.x, + see . */ +-#if 7 <= __GNUC__ && !defined __ICC ++#if 7 <= __GNUC__ && !defined __ICC && !defined __NVCOMPILER + # define _GL_HAS_BUILTIN_ADD_OVERFLOW 1 +-#elif defined __has_builtin ++#elif defined __has_builtin && !defined __NVCOMPILER + # define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow) + #else + # define _GL_HAS_BUILTIN_ADD_OVERFLOW 0 diff --git a/var/spack/repos/builtin/packages/m4/nvhpc-long-width.patch b/var/spack/repos/builtin/packages/m4/nvhpc-long-width.patch new file mode 100644 index 00000000000..1dceb3a0342 --- /dev/null +++ b/var/spack/repos/builtin/packages/m4/nvhpc-long-width.patch @@ -0,0 +1,17 @@ +--- a/lib/regex_internal.h ++++ b/lib/regex_internal.h +@@ -39,6 +39,14 @@ + #include + #include + ++#ifndef __LONG_WIDTH__ ++#if LONG_WIDTH ++#define __LONG_WIDTH__ LONG_WIDTH ++#else ++#define __LONG_WIDTH__ __WORDSIZE ++#endif ++#endif ++ + #if defined DEBUG && DEBUG != 0 + # include + # define DEBUG_ASSERT(x) assert (x) diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py index a71240e4bc4..d39ac2450d0 100644 --- a/var/spack/repos/builtin/packages/m4/package.py +++ b/var/spack/repos/builtin/packages/m4/package.py @@ -18,7 +18,12 @@ class M4(AutotoolsPackage, GNUMirrorPackage): patch('gnulib-pgi.patch', when='@1.4.18') patch('pgi.patch', when='@1.4.17') + # The NVIDIA compilers do not currently support some GNU builtins. + # Detect this case and use the fallback path. patch('nvhpc.patch', when='@1.4.18 %nvhpc') + patch('nvhpc-1.4.19.patch', when='@1.4.19 %nvhpc') + # Workaround bug where __LONG_WIDTH__ is not defined + patch('nvhpc-long-width.patch', when='@1.4.19 %nvhpc') patch('oneapi.patch', when='@1.4.18 %oneapi') # from: https://github.com/Homebrew/homebrew-core/blob/master/Formula/m4.rb # Patch credit to Jeremy Huddleston Sequoia From 73208f58359bcd60a0375711a18d64c7c133d09d Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 24 Aug 2021 19:09:23 +0200 Subject: [PATCH 306/414] Fix bindist network issues (#25587) * Fix bindist network issues * Another one using the network --- lib/spack/spack/test/modules/lmod.py | 4 +++- var/spack/repos/builtin.mock/packages/corge/package.py | 6 ++---- var/spack/repos/builtin.mock/packages/garply/package.py | 6 ++---- var/spack/repos/builtin.mock/packages/quux/package.py | 7 +++---- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/lib/spack/spack/test/modules/lmod.py b/lib/spack/spack/test/modules/lmod.py index 5f839085fa3..861f78c7b86 100644 --- a/lib/spack/spack/test/modules/lmod.py +++ b/lib/spack/spack/test/modules/lmod.py @@ -339,7 +339,9 @@ def test_config_backwards_compat(self, mutable_config): assert old_format == settings['lmod'] def test_modules_relative_to_view( - self, tmpdir, modulefile_content, module_configuration, install_mockery): + self, tmpdir, modulefile_content, module_configuration, install_mockery, + mock_fetch + ): with ev.Environment(str(tmpdir), with_view=True) as e: module_configuration('with_view') install('cmake') diff --git a/var/spack/repos/builtin.mock/packages/corge/package.py b/var/spack/repos/builtin.mock/packages/corge/package.py index 6f6efb6b6ec..2fd2b23038c 100644 --- a/var/spack/repos/builtin.mock/packages/corge/package.py +++ b/var/spack/repos/builtin.mock/packages/corge/package.py @@ -14,10 +14,8 @@ class Corge(Package): """A toy package to test dependencies""" homepage = "https://www.example.com" - url = "https://github.com/gartung/corge/archive/v3.0.0.tar.gz" - - version('3.0.0', - sha256='5058861c3b887511387c725971984cec665a8307d660158915a04d7786fed6bc') + has_code = False + version('3.0.0') depends_on('quux') diff --git a/var/spack/repos/builtin.mock/packages/garply/package.py b/var/spack/repos/builtin.mock/packages/garply/package.py index 534dffb55cd..6f028eec317 100644 --- a/var/spack/repos/builtin.mock/packages/garply/package.py +++ b/var/spack/repos/builtin.mock/packages/garply/package.py @@ -14,10 +14,8 @@ class Garply(Package): """Toy package for testing dependencies""" homepage = "https://www.example.com" - url = "https://github.com/gartung/garply/archive/v3.0.0.tar.gz" - - version('3.0.0', - sha256='534ac8ba7a6fed7e8bbb543bd43ca04999e65337445a531bd296939f5ac2f33d') + has_code = False + version('3.0.0') def install(self, spec, prefix): garply_h = '''#ifndef GARPLY_H_ diff --git a/var/spack/repos/builtin.mock/packages/quux/package.py b/var/spack/repos/builtin.mock/packages/quux/package.py index ec28f6f2efe..676b1c1f0ba 100644 --- a/var/spack/repos/builtin.mock/packages/quux/package.py +++ b/var/spack/repos/builtin.mock/packages/quux/package.py @@ -14,10 +14,8 @@ class Quux(Package): """Toy package for testing dependencies""" homepage = "https://www.example.com" - url = "https://github.com/gartung/quux/archive/v3.0.0.tar.gz" - - version('3.0.0', - sha256='b91bc96fb746495786bddac2c527039177499f2f76d3fa9dcf0b393859e68484') + has_code = False + version('3.0.0') depends_on('garply') @@ -90,6 +88,7 @@ class Quux const int quux_version_minor = %s; ''' mkdirp('%s/quux' % prefix.include) + mkdirp('%s/quux' % self.stage.source_path) with open('%s/quux_version.h' % self.stage.source_path, 'w') as f: f.write(quux_version_h % (self.version[0], self.version[1:])) with open('%s/quux/quux.cc' % self.stage.source_path, 'w') as f: From 7274d8bca2b0cb72e57fb24eb9df843be97c3aa0 Mon Sep 17 00:00:00 2001 From: Andrew W Elble Date: Tue, 24 Aug 2021 13:31:48 -0400 Subject: [PATCH 307/414] openssl: new version 1.1.1l (#25586) security update --- var/spack/repos/builtin/packages/openssl/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py index f8455e10e8d..80b1eba6dcb 100644 --- a/var/spack/repos/builtin/packages/openssl/package.py +++ b/var/spack/repos/builtin/packages/openssl/package.py @@ -27,7 +27,8 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package # 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.1k', sha256='892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5') + version('1.1.1l', sha256='0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1') + version('1.1.1k', sha256='892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5', deprecated=True) version('1.1.1j', sha256='aaf2fcb575cdf6491b98ab4829abf78a3dec8402b8b81efc8f23c00d443981bf', deprecated=True) version('1.1.1i', sha256='e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242', deprecated=True) version('1.1.1h', sha256='5c9ca8774bd7b03e5784f26ae9e9e6d749c9da2438545077e6b3d755a06595d9', deprecated=True) From 1374fea5d9f5dc565141086b4fe70adb7b19f5f2 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Tue, 24 Aug 2021 14:08:34 -0700 Subject: [PATCH 308/414] locks: only open lockfiles once instead of for every lock held (#24794) This adds lockfile tracking to Spack's lock mechanism, so that we ensure that there is only one open file descriptor per inode. The `fcntl` locks that Spack uses are associated with an inode and a process. This is convenient, because if a process exits, it releases its locks. Unfortunately, this also means that if you close a file, *all* locks associated with that file's inode are released, regardless of whether the process has any other open file descriptors on it. Because of this, we need to track open lock files so that we only close them when a process no longer needs them. We do this by tracking each lockfile by its inode and process id. This has several nice properties: 1. Tracking by pid ensures that, if we fork, we don't inadvertently track the parent process's lockfiles. `fcntl` locks are not inherited across forks, so we'll just track new lockfiles in the child. 2. Tracking by inode ensures that referencs are counted per inode, and that we don't inadvertently close a file whose inode still has open locks. 3. Tracking by both pid and inode ensures that we only open lockfiles the minimum number of times necessary for the locks we have. Note: as mentioned elsewhere, these locks aren't thread safe -- they're designed to work in Python and assume the GIL. Tasks: - [x] Introduce an `OpenFileTracker` class to track open file descriptors by inode. - [x] Reference-count open file descriptors and only close them if they're no longer needed (this avoids inadvertently releasing locks that should not be released). --- lib/spack/llnl/util/lock.py | 148 +++++++++++++++++++++++++++++++----- 1 file changed, 128 insertions(+), 20 deletions(-) diff --git a/lib/spack/llnl/util/lock.py b/lib/spack/llnl/util/lock.py index 0c0cc7f634e..c1544ab8abf 100644 --- a/lib/spack/llnl/util/lock.py +++ b/lib/spack/llnl/util/lock.py @@ -9,6 +9,7 @@ import socket import time from datetime import datetime +from typing import Dict, Tuple # novm import llnl.util.tty as tty @@ -36,6 +37,126 @@ true_fn = lambda: True +class OpenFile(object): + """Record for keeping track of open lockfiles (with reference counting). + + There's really only one ``OpenFile`` per inode, per process, but we record the + filehandle here as it's the thing we end up using in python code. You can get + the file descriptor from the file handle if needed -- or we could make this track + file descriptors as well in the future. + """ + def __init__(self, fh): + self.fh = fh + self.refs = 0 + + +class OpenFileTracker(object): + """Track open lockfiles, to minimize number of open file descriptors. + + The ``fcntl`` locks that Spack uses are associated with an inode and a process. + This is convenient, because if a process exits, it releases its locks. + Unfortunately, this also means that if you close a file, *all* locks associated + with that file's inode are released, regardless of whether the process has any + other open file descriptors on it. + + Because of this, we need to track open lock files so that we only close them when + a process no longer needs them. We do this by tracking each lockfile by its + inode and process id. This has several nice properties: + + 1. Tracking by pid ensures that, if we fork, we don't inadvertently track the parent + process's lockfiles. ``fcntl`` locks are not inherited across forks, so we'll + just track new lockfiles in the child. + 2. Tracking by inode ensures that referencs are counted per inode, and that we don't + inadvertently close a file whose inode still has open locks. + 3. Tracking by both pid and inode ensures that we only open lockfiles the minimum + number of times necessary for the locks we have. + + Note: as mentioned elsewhere, these locks aren't thread safe -- they're designed to + work in Python and assume the GIL. + """ + + def __init__(self): + """Create a new ``OpenFileTracker``.""" + self._descriptors = {} # type: Dict[Tuple[int, int], OpenFile] + + def get_fh(self, path): + """Get a filehandle for a lockfile. + + This routine will open writable files for read/write even if you're asking + for a shared (read-only) lock. This is so that we can upgrade to an exclusive + (write) lock later if requested. + + Arguments: + path (str): path to lock file we want a filehandle for + """ + # Open writable files as 'r+' so we can upgrade to write later + os_mode, fh_mode = (os.O_RDWR | os.O_CREAT), 'r+' + + pid = os.getpid() + open_file = None # OpenFile object, if there is one + stat = None # stat result for the lockfile, if it exists + + try: + # see whether we've seen this inode/pid before + stat = os.stat(path) + key = (stat.st_ino, pid) + open_file = self._descriptors.get(key) + + except OSError as e: + if e.errno != errno.ENOENT: # only handle file not found + raise + + # path does not exist -- fail if we won't be able to create it + parent = os.path.dirname(path) or '.' + if not os.access(parent, os.W_OK): + raise CantCreateLockError(path) + + # if there was no already open file, we'll need to open one + if not open_file: + if stat and not os.access(path, os.W_OK): + # we know path exists but not if it's writable. If it's read-only, + # only open the file for reading (and fail if we're trying to get + # an exclusive (write) lock on it) + os_mode, fh_mode = os.O_RDONLY, 'r' + + fd = os.open(path, os_mode) + fh = os.fdopen(fd, fh_mode) + open_file = OpenFile(fh) + + # if we just created the file, we'll need to get its inode here + if not stat: + inode = os.fstat(fd).st_ino + key = (inode, pid) + + self._descriptors[key] = open_file + + open_file.refs += 1 + return open_file.fh + + def release_fh(self, path): + """Release a filehandle, only closing it if there are no more references.""" + try: + inode = os.stat(path).st_ino + except OSError as e: + if e.errno != errno.ENOENT: # only handle file not found + raise + inode = None # this will not be in self._descriptors + + key = (inode, os.getpid()) + open_file = self._descriptors.get(key) + assert open_file, "Attempted to close non-existing lock path: %s" % path + + open_file.refs -= 1 + if not open_file.refs: + del self._descriptors[key] + open_file.fh.close() + + +#: Open file descriptors for locks in this process. Used to prevent one process +#: from opening the sam file many times for different byte range locks +file_tracker = OpenFileTracker() + + def _attempts_str(wait_time, nattempts): # Don't print anything if we succeeded on the first try if nattempts <= 1: @@ -56,7 +177,8 @@ class Lock(object): Note that this is for managing contention over resources *between* processes and not for managing contention between threads in a process: the functions of this object are not thread-safe. A process also must not - maintain multiple locks on the same file. + maintain multiple locks on the same file (or, more specifically, on + overlapping byte ranges in the same file). """ def __init__(self, path, start=0, length=0, default_timeout=None, @@ -161,25 +283,10 @@ def _lock(self, op, timeout=None): # Create file and parent directories if they don't exist. if self._file is None: - parent = self._ensure_parent_directory() + self._ensure_parent_directory() + self._file = file_tracker.get_fh(self.path) - # Open writable files as 'r+' so we can upgrade to write later - os_mode, fd_mode = (os.O_RDWR | os.O_CREAT), 'r+' - if os.path.exists(self.path): - if not os.access(self.path, os.W_OK): - if op == fcntl.LOCK_SH: - # can still lock read-only files if we open 'r' - os_mode, fd_mode = os.O_RDONLY, 'r' - else: - raise LockROFileError(self.path) - - elif not os.access(parent, os.W_OK): - raise CantCreateLockError(self.path) - - fd = os.open(self.path, os_mode) - self._file = os.fdopen(fd, fd_mode) - - elif op == fcntl.LOCK_EX and self._file.mode == 'r': + if op == fcntl.LOCK_EX and self._file.mode == 'r': # Attempt to upgrade to write lock w/a read-only file. # If the file were writable, we'd have opened it 'r+' raise LockROFileError(self.path) @@ -292,7 +399,8 @@ def _unlock(self): """ fcntl.lockf(self._file, fcntl.LOCK_UN, self._length, self._start, os.SEEK_SET) - self._file.close() + + file_tracker.release_fh(self.path) self._file = None self._reads = 0 self._writes = 0 From 80713e234c1b1b6c10dcf6450b1832e1a5a8010c Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Tue, 24 Aug 2021 14:31:30 -0700 Subject: [PATCH 309/414] bootstrap: fix printing for python 2 (#25592) --- lib/spack/spack/bootstrap.py | 2 ++ lib/spack/spack/cmd/bootstrap.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lib/spack/spack/bootstrap.py b/lib/spack/spack/bootstrap.py index 094d59395eb..66cb2b49cf3 100644 --- a/lib/spack/spack/bootstrap.py +++ b/lib/spack/spack/bootstrap.py @@ -2,6 +2,8 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from __future__ import print_function + import contextlib import json import os diff --git a/lib/spack/spack/cmd/bootstrap.py b/lib/spack/spack/cmd/bootstrap.py index b3e1c27698a..ae3e1b76398 100644 --- a/lib/spack/spack/cmd/bootstrap.py +++ b/lib/spack/spack/cmd/bootstrap.py @@ -2,6 +2,8 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from __future__ import print_function + import os.path import shutil From 99076660d45e317cdb5262c65f3446cd23f36bf0 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Tue, 24 Aug 2021 17:21:48 -0700 Subject: [PATCH 310/414] bugfix: Correct source of PID for -ddd installation outputs (#25596) --- lib/spack/spack/installer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index baeaac70fb7..dc0180feed8 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -1163,7 +1163,7 @@ def _install_task(self, task): except spack.build_environment.StopPhase as e: # A StopPhase exception means that do_install was asked to # stop early from clients, and is not an error at this point - pid = '{0}: '.format(pkg.pid) if tty.show_pid() else '' + pid = '{0}: '.format(self.pid) if tty.show_pid() else '' tty.debug('{0}{1}'.format(pid, str(e))) tty.debug('Package stage directory: {0}' .format(pkg.stage.source_path)) @@ -1715,7 +1715,7 @@ def __init__(self, pkg, install_args): self.filter_fn = spack.util.path.padding_filter if filter_padding else None # info/debug information - pid = '{0}: '.format(pkg.pid) if tty.show_pid() else '' + pid = '{0}: '.format(os.getpid()) if tty.show_pid() else '' self.pre = '{0}{1}:'.format(pid, pkg.name) self.pkg_id = package_id(pkg) From df10e88e978ea1057401c56e7108dd271ae3151a Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Tue, 24 Aug 2021 21:44:26 -0700 Subject: [PATCH 311/414] bootstrap: use `sys.exec_prefix` to set up external python correctly (#25593) Bootstrapping clingo on macOS on `develop` gives errors like this: ``` ==> Error: RuntimeError: Unable to locate python command in /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/bin /Users/gamblin2/Workspace/spack/var/spack/repos/builtin/packages/python/package.py:662, in command: 659 return Executable(path) 660 else: 661 msg = 'Unable to locate {0} command in {1}' >> 662 raise RuntimeError(msg.format(self.name, self.prefix.bin)) ``` On macOS, `python` is laid out differently. In particular, `sys.executable` is here: ```console Python 2.7.16 (default, May 8 2021, 11:48:02) [GCC Apple LLVM 12.0.5 (clang-1205.0.19.59.6) [+internal-os, ptrauth-isa=deploy on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.executable '/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python' ``` Based on that, you'd think that `/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents` would be where you'd look for a `bin` directory, but you (and Spack) would be wrong: ```console $ ls /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/ Info.plist MacOS/ PkgInfo Resources/ _CodeSignature/ version.plist ``` You need to look in `sys.exec_prefix` ``` >>> sys.exec_prefix '/System/Library/Frameworks/Python.framework/Versions/2.7' ``` Which looks much more like a standard prefix, with understandable `bin`, `lib`, and `include` directories: ```console $ ls /System/Library/Frameworks/Python.framework/Versions/2.7 Extras/ Mac/ Resources/ bin/ lib/ Headers@ Python* _CodeSignature/ include/ $ ls -l /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python lrwxr-xr-x 1 root wheel 7B Jan 1 2020 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python@ -> python2 ``` - [x] change `bootstrap.py` to use the `sys.exec_prefix` as the external prefix, instead of just getting the parent directory of the executable. --- lib/spack/spack/bootstrap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/spack/bootstrap.py b/lib/spack/spack/bootstrap.py index 66cb2b49cf3..09d9c6e3a8b 100644 --- a/lib/spack/spack/bootstrap.py +++ b/lib/spack/spack/bootstrap.py @@ -267,7 +267,7 @@ def spack_python_interpreter(): which Spack is currently running as the only Python external spec available. """ - python_prefix = os.path.dirname(os.path.dirname(sys.executable)) + python_prefix = sys.exec_prefix external_python = spec_for_current_python() entry = { From f6a9ef5ef51630969635f9068e3420dd4dadc86f Mon Sep 17 00:00:00 2001 From: lukebroskop Date: Wed, 25 Aug 2021 01:50:02 -0500 Subject: [PATCH 312/414] Update the cray-mpich package to use the new cray-mpich MPI wrappers (#25597) As of cray-mpich version 8.1.7, conventional MPI compiler wrappers are included in cray-mpich. Co-authored-by: Luke Roskop --- .../builtin/packages/cray-mpich/package.py | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/var/spack/repos/builtin/packages/cray-mpich/package.py b/var/spack/repos/builtin/packages/cray-mpich/package.py index 98f9962cea5..fd7f253562d 100644 --- a/var/spack/repos/builtin/packages/cray-mpich/package.py +++ b/var/spack/repos/builtin/packages/cray-mpich/package.py @@ -18,6 +18,7 @@ class CrayMpich(Package): maintainers = ['haampie'] + version('8.1.7') version('8.1.0') version('8.0.16') version('8.0.14') @@ -58,14 +59,20 @@ def external_prefix(self): return os.path.dirname(os.path.normpath(libdir)) def setup_run_environment(self, env): - env.set('MPICC', spack_cc) - env.set('MPICXX', spack_cxx) - env.set('MPIF77', spack_fc) - env.set('MPIF90', spack_fc) + if(self.spec.satisfies('@:8.1.6')): + env.set('MPICC', spack_cc) + env.set('MPICXX', spack_cxx) + env.set('MPIF77', spack_fc) + env.set('MPIF90', spack_fc) + else: + # cray-mpich 8.1.7: features MPI compiler wrappers + env.set('MPICC', join_path(self.prefix.bin, 'mpicc')) + env.set('MPICXX', join_path(self.prefix.bin, 'mpicxx')) + env.set('MPIF77', join_path(self.prefix.bin, 'mpif77')) + env.set('MPIF90', join_path(self.prefix.bin, 'mpif90')) def setup_dependent_build_environment(self, env, dependent_spec): self.setup_run_environment(env) - env.set('MPICH_CC', spack_cc) env.set('MPICH_CXX', spack_cxx) env.set('MPICH_F77', spack_f77) @@ -74,10 +81,17 @@ def setup_dependent_build_environment(self, env, dependent_spec): def setup_dependent_package(self, module, dependent_spec): spec = self.spec - spec.mpicc = spack_cc - spec.mpicxx = spack_cxx - spec.mpifc = spack_fc - spec.mpif77 = spack_f77 + if(spec.satisfies('@:8.1.6')): + spec.mpicc = spack_cc + spec.mpicxx = spack_cxx + spec.mpifc = spack_fc + spec.mpif77 = spack_f77 + else: + # cray-mpich 8.1.7: features MPI compiler wrappers + spec.mpicc = join_path(self.prefix.bin, 'mpicc') + spec.mpicxx = join_path(self.prefix.bin, 'mpicxx') + spec.mpifc = join_path(self.prefix.bin, 'mpif90') + spec.mpif77 = join_path(self.prefix.bin, 'mpif77') def install(self, spec, prefix): raise InstallError( From fd095a3660865cf0c4a302173d1373bb4a0eb7ce Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 25 Aug 2021 12:55:05 +0200 Subject: [PATCH 313/414] libuv: add v1.42.0, v1.41.1 (#25560) --- var/spack/repos/builtin/packages/libuv/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/libuv/package.py b/var/spack/repos/builtin/packages/libuv/package.py index a510de1be56..bcfbcae1e06 100644 --- a/var/spack/repos/builtin/packages/libuv/package.py +++ b/var/spack/repos/builtin/packages/libuv/package.py @@ -7,6 +7,8 @@ class Libuv(AutotoolsPackage): homepage = "http://libuv.org" url = "https://github.com/libuv/libuv/archive/v1.9.0.tar.gz" + version('1.42.0', sha256='371e5419708f6aaeb8656671f89400b92a9bba6443369af1bb70bcd6e4b3c764') + version('1.41.1', sha256='62c29d1d76b0478dc8aaed0ed1f874324f6cd2d6ff4cb59a44026c09e818cd53') version('1.41.0', sha256='6cfeb5f4bab271462b4a2cc77d4ecec847fdbdc26b72019c27ae21509e6f94fa') version('1.40.0', sha256='70fe1c9ba4f2c509e8166c0ca2351000237da573bb6c82092339207a9715ba6b') version('1.39.0', sha256='dc7b21f1bb7ef19f4b42c5ea058afabe51132d165da18812b70fb319659ba629') From f4c9161f84013191779b841d88184bb5f87ea36c Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 25 Aug 2021 12:58:08 +0200 Subject: [PATCH 314/414] ca-certificates-mozilla: add v2021-07-05 (#25565) --- .../repos/builtin/packages/ca-certificates-mozilla/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/ca-certificates-mozilla/package.py b/var/spack/repos/builtin/packages/ca-certificates-mozilla/package.py index e81cb568aa7..b49ef03cf75 100644 --- a/var/spack/repos/builtin/packages/ca-certificates-mozilla/package.py +++ b/var/spack/repos/builtin/packages/ca-certificates-mozilla/package.py @@ -14,6 +14,8 @@ class CaCertificatesMozilla(Package): maintainers = ['haampie'] + version('2021-07-05', sha256='a3b534269c6974631db35f952e8d7c7dbf3d81ab329a232df575c2661de1214a', expand=False) + version('2021-05-25', sha256='3a32ad57e7f5556e36ede625b854057ac51f996d59e0952c207040077cbe48a9', expand=False) version('2021-04-13', sha256='533610ad2b004c1622a40622f86ced5e89762e1c0e4b3ae08b31b240d863e91f', expand=False) version('2021-01-19', sha256='e010c0c071a2c79a76aa3c289dc7e4ac4ed38492bfda06d766a80b707ebd2f29', expand=False) version('2020-12-08', sha256='313d562594ebd07846ad6b840dd18993f22e0f8b3f275d9aacfae118f4f00fb7', expand=False) From 6fab0e1b9c4a1cbb66db4c53caedff3b6eb90e3a Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 25 Aug 2021 13:16:45 +0200 Subject: [PATCH 315/414] libarchive: add v3.5.2, add maintainer, reworked recipe (#25604) Co-authored-by: Massimiliano Culpo --- .../builtin/packages/libarchive/package.py | 49 +++++++++++++++---- 1 file changed, 40 insertions(+), 9 deletions(-) diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py index 726e46a88c9..12c5f789353 100644 --- a/var/spack/repos/builtin/packages/libarchive/package.py +++ b/var/spack/repos/builtin/packages/libarchive/package.py @@ -12,7 +12,9 @@ class Libarchive(AutotoolsPackage): homepage = "http://www.libarchive.org" url = "http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz" + maintainers = ['haampie'] + version('3.5.2', sha256='5f245bd5176bc5f67428eb0aa497e09979264a153a074d35416521a5b8e86189') version('3.5.1', sha256='9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a') version('3.4.1', sha256='fcf87f3ad8db2e4f74f32526dee62dd1fb9894782b0a503a89c9d7a70a235191') version('3.3.2', sha256='ed2dbd6954792b2c054ccf8ec4b330a54b85904a80cef477a1c74643ddafa0ce') @@ -21,15 +23,44 @@ class Libarchive(AutotoolsPackage): version('3.1.1', sha256='4968f9a3f2405ec7e07d5f6e78b36f21bceee6196df0a795165f89774bbbc6d8') version('3.1.0', sha256='64b15dfa623b323da8fc9c238b5bca962ec3b38dcdfd2ed86f5f509e578a3524') - depends_on('zlib') - depends_on('bzip2') - depends_on('lz4') - depends_on('xz') - depends_on('lzo') - depends_on('nettle') - depends_on('openssl') - depends_on('libxml2') - depends_on('expat') + variant('libs', default='static,shared', values=('static', 'shared'), + multi=True, description='What libraries to build') + + # TODO: BLAKE2 and zstd (can't just add this, because libarchive is a dependency of + # cmake, and zstd currently uses cmake as a build system) + variant('compression', default='bz2lib,lz4,lzo2,lzma,zlib', values=('bz2lib', 'lz4', 'lzo2', 'lzma', 'zlib'), multi=True, description='Supported compression') + variant('xar', default='libxml2', values=('libxml2', 'expat'), description='What library to use for xar support') + variant('crypto', default='mbedtls', values=('mbedtls', 'nettle', 'openssl'), description='What crypto library to use for mtree and xar hashes') + variant('iconv', default=True, description='Support iconv') + + depends_on('bzip2', when='compression=bz2lib') + depends_on('lz4', when='compression=lz4') + depends_on('lzo', when='compression=lzo2') + depends_on('xz', when='compression=lzma') + depends_on('zlib', when='compression=zlib') + + depends_on('nettle', when='crypto=nettle') + depends_on('openssl', when='crypto=openssl') + depends_on('mbedtls@2:2.999 +pic', when='crypto=mbedtls') + + depends_on('libxml2', when='xar=libxml2') + depends_on('expat', when='xar=expat') + + depends_on('libiconv', when='+iconv') + + conflicts('crypto=mbedtls', when='@:3.4.1', msg="mbed TLS is only supported from libarchive 3.4.2") # NOTE: `make check` is known to fail with the Intel compilers # The build test suite cannot be built with Intel + + def configure_args(self): + args = [ + '--without-libb2', + '--without-zstd', + ] + args += self.with_or_without('compression') + args += self.with_or_without('crypto') + args += self.with_or_without('iconv') + args += self.with_or_without('xar') + + return args From 3e2f890467d448f746244be9d30b2f78aefe0dcb Mon Sep 17 00:00:00 2001 From: arjun-raj-kuppala <60718144+arjun-raj-kuppala@users.noreply.github.com> Date: Wed, 25 Aug 2021 18:33:07 +0530 Subject: [PATCH 316/414] Bump up version for rocm-debug-agent - ROCm 4.3.0 (#25588) --- .../rocm-debug-agent/0002-add-hip-architecture.patch | 12 ++++++++++++ .../builtin/packages/rocm-debug-agent/package.py | 9 ++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 var/spack/repos/builtin/packages/rocm-debug-agent/0002-add-hip-architecture.patch diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/0002-add-hip-architecture.patch b/var/spack/repos/builtin/packages/rocm-debug-agent/0002-add-hip-architecture.patch new file mode 100644 index 00000000000..b1361321572 --- /dev/null +++ b/var/spack/repos/builtin/packages/rocm-debug-agent/0002-add-hip-architecture.patch @@ -0,0 +1,12 @@ +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 62ee104..e1dd0d5 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -42,6 +42,7 @@ find_package(HIP REQUIRED MODULE) + file(GLOB SOURCES "*.cpp") + + set_source_files_properties(${SOURCES} PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1) ++set(CMAKE_HIP_ARCHITECTURES gfx900 gfx906 gfx908 gfx90a ) + hip_add_executable(rocm-debug-agent-test ${SOURCES} + HIPCC_OPTIONS --amdgpu-target=gfx900 --amdgpu-target=gfx906 + --amdgpu-target=gfx908 --amdgpu-target=gfx90a diff --git a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py index fc17cf95881..28962a982bb 100644 --- a/var/spack/repos/builtin/packages/rocm-debug-agent/package.py +++ b/var/spack/repos/builtin/packages/rocm-debug-agent/package.py @@ -16,6 +16,7 @@ class RocmDebugAgent(CMakePackage): maintainers = ['srekolam', 'arjun-raj-kuppala'] + version('4.3.0', sha256='0cdee5792b808e03b839070da0d1b08dc4078a7d1fc295f0c99c6a5ae7d636a6') version('4.2.0', sha256='ce02a5b752291882daa0a2befa23944e59087ce9fe65a91061476c3c399e4a0c') version('4.1.0', sha256='b1ae874887e5ee037070f1dd46b145ad02ec9fd8a724c6b6ae194b534f01acdb') version('4.0.0', sha256='a9e64834d56a9221c242e71aa110c2cef0087aa8f86f50428dd618e5e623cc3c') @@ -37,19 +38,21 @@ def url_for_version(self, version): variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type') depends_on('cmake@3:', type='build') - depends_on("elfutils", type='link') + depends_on('elfutils@:0.168', type='link') for ver in ['3.5.0', '3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', - '4.2.0']: + '4.2.0', '4.3.0']: depends_on('hsa-rocr-dev@' + ver, when='@' + ver) depends_on('hsakmt-roct@' + ver, when='@' + ver) - for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0']: + for ver in ['3.7.0', '3.8.0', '3.9.0', '3.10.0', '4.0.0', '4.1.0', '4.2.0', + '4.3.0']: depends_on('rocm-dbgapi@' + ver, when='@' + ver) depends_on('hip@' + ver, when='@' + ver) # https://github.com/ROCm-Developer-Tools/rocr_debug_agent/pull/4 patch('0001-Drop-overly-strict-Werror-flag.patch', when='@3.7.0:') + patch('0002-add-hip-architecture.patch', when='@3.9.0:') @property def root_cmakelists_dir(self): From fafe1cb7e81e6e6f0b3dc3e4c365f176cc7e1fb6 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Wed, 25 Aug 2021 07:41:04 -0700 Subject: [PATCH 317/414] Make `spack graph -i` environment-aware (#25599) This allows you to run `spack graph --installed` from within an environment and get a dot graph of its concrete specs. - [x] make `spack graph -i` environment-aware - [x] add code to the generated dot graph to ensure roots have min rank (i.e., they're all at the top or left of the DAG) --- lib/spack/spack/cmd/graph.py | 10 ++++++++-- lib/spack/spack/graph.py | 10 ++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/cmd/graph.py b/lib/spack/spack/cmd/graph.py index c7675f1ada1..00781495089 100644 --- a/lib/spack/spack/cmd/graph.py +++ b/lib/spack/spack/cmd/graph.py @@ -10,6 +10,7 @@ import spack.cmd import spack.cmd.common.arguments as arguments import spack.config +import spack.environment as ev import spack.store from spack.graph import graph_ascii, graph_dot @@ -35,7 +36,7 @@ def setup_parser(subparser): subparser.add_argument( '-i', '--installed', action='store_true', - help="graph all installed specs in dot format (implies --dot)") + help="graph installed specs, or specs in the active env (implies --dot)") arguments.add_common_arguments(subparser, ['deptype', 'specs']) @@ -45,7 +46,12 @@ def graph(parser, args): if args.specs: tty.die("Can't specify specs with --installed") args.dot = True - specs = spack.store.db.query() + + env = ev.active_environment() + if env: + specs = env.all_specs() + else: + specs = spack.store.db.query() else: specs = spack.cmd.parse_specs(args.specs, concretize=not args.static) diff --git a/lib/spack/spack/graph.py b/lib/spack/spack/graph.py index 7ca7b11af75..84acfd37ef7 100644 --- a/lib/spack/spack/graph.py +++ b/lib/spack/spack/graph.py @@ -550,11 +550,21 @@ def dynamic_graph(spec, deptypes): out.write(' style="rounded,filled"') out.write(' ]\n') + # write nodes out.write('\n') for key, label in nodes: out.write(' "%s" [label="%s"]\n' % (key, label)) + # write edges out.write('\n') for src, dest in edges: out.write(' "%s" -> "%s"\n' % (src, dest)) + + # ensure that roots are all at the top of the plot + dests = set([d for _, d in edges]) + roots = ['"%s"' % k for k, _ in nodes if k not in dests] + out.write('\n') + out.write(' { rank=min; %s; }' % "; ".join(roots)) + + out.write('\n') out.write('}\n') From d27e0bff5ac7ea8aae81fb00e362e3a63b47b8f0 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Wed, 25 Aug 2021 08:39:00 -0700 Subject: [PATCH 318/414] installation: filter padding from binary installs, too (#25600) #25303 filtered padding from build output, but it's still there in binary install/relocate output, so our CI logs are still quite long and frequently hit the limit. - [x] add context handler from #25303 to buildcache installation as well --- lib/spack/spack/installer.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index dc0180feed8..8ae2fd410d8 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -367,8 +367,13 @@ def _process_binary_cache_tarball(pkg, binary_spec, explicit, unsigned, pkg_id = package_id(pkg) tty.msg('Extracting {0} from binary cache'.format(pkg_id)) - binary_distribution.extract_tarball(binary_spec, tarball, allow_root=False, - unsigned=unsigned, force=False) + + # don't print long padded paths while extracting/relocating binaries + with spack.util.path.filter_padding(): + binary_distribution.extract_tarball( + binary_spec, tarball, allow_root=False, unsigned=unsigned, force=False + ) + pkg.installed_from_binary_cache = True spack.store.db.add(pkg.spec, spack.store.layout, explicit=explicit) return True From e2e7b0788fa7ae6749e846166d08b871db7340c7 Mon Sep 17 00:00:00 2001 From: Matthieu Dorier Date: Wed, 25 Aug 2021 18:19:40 +0100 Subject: [PATCH 319/414] [py-meshio] Added py-meshio package (#25578) * Added py-meshio package * Added setuptools dependency to py-meshio package * Update var/spack/repos/builtin/packages/py-meshio/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-meshio/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-meshio/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-meshio/package.py Co-authored-by: Adam J. Stewart * Update var/spack/repos/builtin/packages/py-meshio/package.py Co-authored-by: Adam J. Stewart * added missing py-importlib-metadata dependency in py-meshio Co-authored-by: Adam J. Stewart --- .../builtin/packages/py-meshio/package.py | 24 +++++++++++++++++++ .../builtin/packages/py-meshio/setup.patch | 10 ++++++++ 2 files changed, 34 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-meshio/package.py create mode 100644 var/spack/repos/builtin/packages/py-meshio/setup.patch diff --git a/var/spack/repos/builtin/packages/py-meshio/package.py b/var/spack/repos/builtin/packages/py-meshio/package.py new file mode 100644 index 00000000000..3efcf581e67 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-meshio/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyMeshio(PythonPackage): + """MeshIO is a Python library to read and write many mesh formats.""" + + homepage = "https://github.com/nschloe/meshio" + pypi = "meshio/meshio-5.0.0.tar.gz" + + version('5.0.0', sha256='f6327c06d6171d30e0991d3dcb048751035f9cfac1f19e2444971275fd971188') + + # MeshIO uses a setup.cfg/pyproject.toml structure, which spack doesn't yet handle. + # This patch adds a small setup.py file that spack can call. + patch('setup.patch') + + depends_on('python@3.7:', type=('build', 'run')) + depends_on('py-setuptools', type='build') + depends_on('py-numpy', type=('build', 'run')) + depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-meshio/setup.patch b/var/spack/repos/builtin/packages/py-meshio/setup.patch new file mode 100644 index 00000000000..77089e871f1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-meshio/setup.patch @@ -0,0 +1,10 @@ +diff --git a/setup.py b/setup.py +new file mode 100644 +index 0000000..7f1a176 +--- /dev/null ++++ b/setup.py +@@ -0,0 +1,4 @@ ++from setuptools import setup ++ ++if __name__ == "__main__": ++ setup() From af2f07852cd490d10cf6fc0a67f4e6d83e699006 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 25 Aug 2021 19:56:16 +0200 Subject: [PATCH 320/414] environment: match concrete specs only if they have the same build hash (#25575) see #25563 When we have a concrete environment and we ask to install a concrete spec from a file, currently Spack returns a list of specs that are all the one that match the argument DAG hash. Instead we want to compare build hashes, which also account for build-only dependencies. --- lib/spack/spack/environment.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py index dbe73185177..23644dabd90 100644 --- a/lib/spack/spack/environment.py +++ b/lib/spack/spack/environment.py @@ -1602,7 +1602,22 @@ def matching_spec(self, spec): # Dependency-only specs will have value None matches = {} + if not isinstance(spec, spack.spec.Spec): + spec = spack.spec.Spec(spec) + for user_spec, concretized_user_spec in self.concretized_specs(): + # Deal with concrete specs differently + if spec.concrete: + # Matching a concrete spec is more restrictive + # than just matching the dag hash + is_match = ( + spec in concretized_user_spec and + concretized_user_spec[spec.name].build_hash() == spec.build_hash() + ) + if is_match: + matches[spec] = spec + continue + if concretized_user_spec.satisfies(spec): matches[concretized_user_spec] = user_spec for dep_spec in concretized_user_spec.traverse(root=False): From e4e4bf75ca1f640901621e18bfa0d69e4f5474c6 Mon Sep 17 00:00:00 2001 From: "Kelly (KT) Thompson" Date: Wed, 25 Aug 2021 16:35:49 -0600 Subject: [PATCH 321/414] [pkg][new version] Provide eospac@6.5.0beta (#25614) * Provide new version of eospac. + Provide version 6.5.0beta. + Make version 6.4.2 the default + Also increment * volunteer to be the maintainer (for now). --- var/spack/repos/builtin/packages/eospac/package.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/eospac/package.py b/var/spack/repos/builtin/packages/eospac/package.py index 04e2b6ee12d..c5ee2d94df1 100644 --- a/var/spack/repos/builtin/packages/eospac/package.py +++ b/var/spack/repos/builtin/packages/eospac/package.py @@ -14,15 +14,20 @@ class Eospac(Package): homepage = "http://laws.lanl.gov/projects/data/eos.html" list_url = "http://laws.lanl.gov/projects/data/eos/eospacReleases.php" + maintainers = ['KineticTheory'] # An EOSPAC release labeled "beta" doesn't always imply that the # release is less suitable for production. According to the # current EOSPAC release procedure, even a release that only fixes # known bugs in a previous stable release will appear first as a # new beta. - version('6.4.2', sha256='13627a5c94d3a456659d1bba0f3cec157380933fbd401e13e25906166150a252', + version('6.5.0beta', + sha256='42e6d491aaf296e4d6ab946481aaafd64b0a4e9801fc2ff098cc16aa118f54c8', + url="https://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.5.0beta_859ce5b1b8c4106057ca61d03a6c9c713a7f0328.tgz") + version('6.4.2', preferred=True, + sha256='13627a5c94d3a456659d1bba0f3cec157380933fbd401e13e25906166150a252', url="https://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.2_e2f7906a0863932e3d65d329f789c4b90c6be58d.tgz") - version('6.4.2beta', sha256='635b94f1ec7558deca92a3858c92db0f4437170252bb114cbdb809b74b6ee870', preferred=True, + version('6.4.2beta', sha256='635b94f1ec7558deca92a3858c92db0f4437170252bb114cbdb809b74b6ee870', url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.2beta_a62baf70708536f6fb5486e315c730fa76c1f6b5.tgz") version('6.4.1', sha256='2310c49bd7a60cad41d2cb1059c5f0a1904f0c778b164937182382df326ca003', url="http://laws.lanl.gov/projects/data/eos/get_file.php?package=eospac&filename=eospac_v6.4.1_0cc1bc21a8bb1adadbae0dd3a2135790e8119320.tgz") From de3c0e62d0471d83740816d20d48858b6329a741 Mon Sep 17 00:00:00 2001 From: Olivier Cessenat Date: Thu, 26 Aug 2021 02:16:13 +0200 Subject: [PATCH 322/414] New Package: perl-fth (#21879) --- .../packages/perl-fth/fth-shebang.patch | 10 ++ .../packages/perl-fth/fth-shebang2.patch | 10 ++ .../builtin/packages/perl-fth/package.py | 120 ++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 var/spack/repos/builtin/packages/perl-fth/fth-shebang.patch create mode 100644 var/spack/repos/builtin/packages/perl-fth/fth-shebang2.patch create mode 100644 var/spack/repos/builtin/packages/perl-fth/package.py diff --git a/var/spack/repos/builtin/packages/perl-fth/fth-shebang.patch b/var/spack/repos/builtin/packages/perl-fth/fth-shebang.patch new file mode 100644 index 00000000000..dbb38f7fc52 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-fth/fth-shebang.patch @@ -0,0 +1,10 @@ +diff --git a/bin/fth.pl b/bin/fth.pl +--- a/bin/fth.pl ++++ b/bin/fth.pl +@@ -1,6 +1,3 @@ +-#!/bin/ksh +-eval 'exec perl -x -S $0 ${1+"$@"}' +- if $running_under_some_shell; + #!/usr/bin/perl -w + # -*- Mode: cperl -*- + #|######################################################################## diff --git a/var/spack/repos/builtin/packages/perl-fth/fth-shebang2.patch b/var/spack/repos/builtin/packages/perl-fth/fth-shebang2.patch new file mode 100644 index 00000000000..74003eae2a4 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-fth/fth-shebang2.patch @@ -0,0 +1,10 @@ +diff --git a/bin/initmak.pl b/bin/initmak.pl +--- a/bin/initmak.pl ++++ b/bin/initmak.pl +@@ -1,6 +1,3 @@ +-#!/bin/ksh +-eval 'exec perl -x -S $0 ${1+"$@"}' +- if $running_under_some_shell; + #!/usr/bin/perl + # -*- Mode: cperl -*- + ############################################################################ diff --git a/var/spack/repos/builtin/packages/perl-fth/package.py b/var/spack/repos/builtin/packages/perl-fth/package.py new file mode 100644 index 00000000000..33759442854 --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-fth/package.py @@ -0,0 +1,120 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import os + +from spack import * + + +class PerlFth(Package): + """Ftagshtml is a Fortran (and simple C) to HTML browsing, + resolves static interface overload. + It can handle some LaTeX comments inside the source files. + It only needs to be put somewhere into your disk since it uses Perl. + It also provides javatex2.pl initmak.pl getin.pl tex3ht.pl and view.pl: + (1) javatex2 complements latex2html to make nice browsing, + (2) initmak makes fortran 90 dependencies, either full deps or partial + (when interface is not modified it is silly to recompile everything) + (3) getin is an advanced search tool for Fortran variables and calls, + (4) view.pl is used for CGI search when source is on http server. + """ + + homepage = "https://sourceforge.net/projects/ftagshtml/" + url = "https://downloads.sourceforge.net/project/ftagshtml/ftagshtml-0.524.tgz" + + maintainers = ['cessenat'] + + version('0.525', sha256='378116febeb20f4b0c1e298de90305e8494335949d853c7e390d1b6386c1326a') + version('0.524', sha256='2f378e969d1dd267985342f7fb1b3a0b9fd73334627cbc7ab17d61717bcd3c29') + version('0.523', sha256='d5d3fbd3caca30eee9de45baa46612841d55b2960db8e11411af6db76cf214ad') + version('0.522', sha256='acb73eb2c05b1ed7b75f86fbd9656c00158519b3d11d89a082117004deb0fb9e') + version('0.521', sha256='f980c9cc1ce644340a9e9630ef252f92bc89a411ea0a661fcb80cdae07f0731c') + version('0.520', sha256='0ac509a7416d67f5ddc4ad9f629cb0443e1ce515cf9eb92f4272eb6b545a4c50') + version('0.519', sha256='7a440ca08a18edbc57a4a5da7c90c98551ae1adaa303c9f984e5712e1cd54ffb') + version('0.518', sha256='7aed7c831270bb1935d4ccd090ef1360ec9446dd773c10350645985047f8879b') + version('0.517', sha256='e24488a7edbfa764060f007693329d5ee3154e1ce49a627ec109c41a9d7abcbe') + + variant('hevea', default=False, + description="Use hevea when inputting LaTeX files (fth.pl -hevea)") + variant('pdflatex', default=False, + description="Use pdflatex to make a LaTeX index file (fth.pl -latexindex)") + + depends_on('perl', type='run') + depends_on('perl-cgi', type='run') + # Actual dependency was on etags only, but no longer in recent releases: + depends_on('emacs', type='run', when='@:0.520') + # For fth.pl -hevea option + depends_on('hevea', when='+hevea', type='run') + # Actual dependency is on pdflatex only for fth.pl -latexindex option + depends_on('texlive', when='+pdflatex', type='run') + # initmak.pl uses md5sum provided by coreutils + depends_on('coreutils', type='run') + depends_on('dos2unix', type='build') + + # Patches to remove the ancient ksh shebang for fth.pl and initmak.pl. + # git diff a/bin/fth.pl b/bin/fth.pl + patch('fth-shebang.patch', when='@0.517:0.522', sha256='3e82d34c8ae1709e5480fac87db387c1c2e219d7b7d596c8a9d62f0da2439ab3') + patch('fth-shebang2.patch', when='@0.517:0.522', sha256='839be7c0efad752ae341379c81ee1df4a3a81f608f802998c6b4ebc4bae8e167') + + def _make_executable(self, name): + return Executable(join_path(self.prefix.bin, name + '.pl')) + + def setup_dependent_package(self, module, dependent_spec): + # https://spack-tutorial.readthedocs.io/en/latest/tutorial_advanced_packaging.html + checks = ['fth', 'getin', 'view', 'javatex2', 'tex3ht', 'initmak'] + for name in checks: + setattr(module, name, self._make_executable(name)) + + def setup_dependent_build_environment(self, env, dependent_spec): + env.set('JAVATEX_DIR', self.prefix) + env.set('FTAGSHTML_DIR', self.prefix) + env.set('FTAGSHTML_DOC', join_path(self.prefix, 'doc')) + + def setup_run_environment(self, env): + # https://github.com/spack/spack/discussions/13926 + # Let us set the adequate environment when loading perl-fth + env.set('JAVATEX_DIR', self.prefix) + env.set('FTAGSHTML_DIR', self.prefix) + env.set('FTAGSHTML_DOC', join_path(self.prefix, 'doc')) + + def install(self, spec, prefix): + # Remove the perl shebang with the local perl + # (since ftagshtml has no Makefile.PL to do it). + checks = ['fth', 'getin', 'view', 'javatex2', 'tex3ht', 'initmak'] + # mstr = '#!' + join_path(spec['perl'].prefix.bin, 'perl') + mstr = '#!' + spec['perl'].command.path + with working_dir('bin'): + for exe in checks: + fic = exe + '.pl' + if os.path.exists(fic): + dos2unix = which('dos2unix') + dos2unix(fic) + fthfile = FileFilter(fic) + fthfile.filter('#!/usr/bin/perl', mstr, backup=False) + fthfile.filter('#!/usr/bin/env perl', mstr, backup=False) + + # Adds a Makefile with an rsync rule + makefile_inc = [ + 'RSYNC_OPTS = -avuzL', + 'RSYNC = rsync', + ] + makefile_inc.append('install:') + makefile_inc.append('\t$(RSYNC) $(RSYNC_OPTS) . %s' % prefix) + makefile_inc.append('') + with working_dir('.'): + with open('Makefile', 'a') as fh: + fh.write('\n'.join(makefile_inc)) + + # Remove obsolete ftagshtml files, if they exist: + with working_dir('bin'): + if os.path.exists("ftagshtml"): + os.remove("ftagshtml") + if os.path.exists("tata.pl"): + os.remove("tata.pl") + if os.path.exists("truc.pl"): + os.remove("truc.pl") + + # Install the full directory structure + install_tree('.', prefix) From 204b49fc1fcade45837541393fe5600234d95c1b Mon Sep 17 00:00:00 2001 From: Xiao-Yong Date: Wed, 25 Aug 2021 20:08:05 -0500 Subject: [PATCH 323/414] py-grpcio: set parallel build jobs (#25616) By default the number of parellel compiler processes launched by py-grpcio equals the number of threads. This commit limit it to spack config build_jobs. --- var/spack/repos/builtin/packages/py-grpcio/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-grpcio/package.py b/var/spack/repos/builtin/packages/py-grpcio/package.py index d33a1aa0432..00c3cf32b19 100644 --- a/var/spack/repos/builtin/packages/py-grpcio/package.py +++ b/var/spack/repos/builtin/packages/py-grpcio/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * + class PyGrpcio(PythonPackage): """HTTP/2-based RPC framework.""" @@ -46,6 +48,7 @@ def setup_build_environment(self, env): env.set('GRPC_PYTHON_BUILD_SYSTEM_CARES', True) # https://github.com/grpc/grpc/pull/24449 env.set('GRPC_BUILD_WITH_BORING_SSL_ASM', '') + env.set('GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS', str(make_jobs)) for dep in self.spec.dependencies(deptype='link'): query = self.spec[dep.name] From 73005166efdc9be8d0095cb32360cced04b923b4 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 26 Aug 2021 03:14:11 +0200 Subject: [PATCH 324/414] Bugfix: reinstalling updated develop specs (#25579) PackageInstaller and Package.installed disagree over what it means for a package to be installed: PackageInstaller believes it should be enough for a database entry to exist, whereas Package.installed requires a database entry & a prefix directory. This leads to the following niche issue: * a develop spec in an environment is successfully installed * then somehow its install prefix is removed (e.g. through a bug fixed in #25583) * you modify the sources and reinstall the environment 1. spack checks pkg.installed and realizes the develop spec is NOT installed, therefore it doesn't need to have 'overwrite: true' 2. the installer gets the build task and checks the database and realizes the spec IS installed, hence it doesn't have to install it. 3. the develop spec is not rebuilt. The solution is to make PackageInstaller and pkg.installed agree over what it means to be installed, and this PR does that by dropping the prefix directory check from pkg.installed, so that it only checks the database. As a result, spack will create a build task with overwrite: true for the develop spec, and the installer in fact handles overwrite requests fine even if the install prefix doesn't exist (it just does a normal install). --- lib/spack/spack/package.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 10f4606972a..690ce075cb6 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -1252,18 +1252,14 @@ def installed(self): Returns: True if the package has been installed, False otherwise. """ - has_prefix = os.path.isdir(self.prefix) try: # If the spec is in the DB, check the installed # attribute of the record - rec = spack.store.db.get_record(self.spec) - db_says_installed = rec.installed + return spack.store.db.get_record(self.spec).installed except KeyError: # If the spec is not in the DB, the method # above raises a Key error - db_says_installed = False - - return has_prefix and db_says_installed + return False @property def prefix(self): From 4ddc0ff218d5ed0968f6efb0fac855b1b7127375 Mon Sep 17 00:00:00 2001 From: Vanessasaurus <814322+vsoch@users.noreply.github.com> Date: Wed, 25 Aug 2021 23:39:46 -0600 Subject: [PATCH 325/414] fixing bugs with new package updates for samtools and abi-dum (#25615) samtools needed more constraints for htslib, and abi-dumper was missing pkg-config on the dependency universal ctags Signed-off-by: vsoch Co-authored-by: vsoch --- var/spack/repos/builtin/packages/samtools/package.py | 2 ++ var/spack/repos/builtin/packages/universal-ctags/package.py | 1 + 2 files changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/samtools/package.py b/var/spack/repos/builtin/packages/samtools/package.py index c7db0c0157b..dff0dbfbb07 100644 --- a/var/spack/repos/builtin/packages/samtools/package.py +++ b/var/spack/repos/builtin/packages/samtools/package.py @@ -33,7 +33,9 @@ class Samtools(Package): depends_on('python', type='run') # htslib became standalone @1.3.1, must use corresponding version + depends_on('htslib@1.13', when='@1.13') depends_on('htslib@1.12', when='@1.12') + depends_on('htslib@1.11', when='@1.11') depends_on('htslib@1.10.2', when='@1.10') depends_on('htslib@1.9', when='@1.9') depends_on('htslib@1.8', when='@1.8') diff --git a/var/spack/repos/builtin/packages/universal-ctags/package.py b/var/spack/repos/builtin/packages/universal-ctags/package.py index 0f37f69264d..4be0b3fcb68 100644 --- a/var/spack/repos/builtin/packages/universal-ctags/package.py +++ b/var/spack/repos/builtin/packages/universal-ctags/package.py @@ -22,3 +22,4 @@ class UniversalCtags(AutotoolsPackage): depends_on('libtool', type='build') depends_on('m4', type='build') depends_on('libiconv', type='link') + depends_on('pkg-config', type='build') From 270cbf08e3ea70f25d26524b9654cee438557a80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Thu, 26 Aug 2021 16:29:41 +0200 Subject: [PATCH 326/414] VTK: add version 9.0.3 (#25609) --- var/spack/repos/builtin/packages/vtk/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/vtk/package.py b/var/spack/repos/builtin/packages/vtk/package.py index b531e31e395..eefd034be83 100644 --- a/var/spack/repos/builtin/packages/vtk/package.py +++ b/var/spack/repos/builtin/packages/vtk/package.py @@ -21,6 +21,7 @@ class Vtk(CMakePackage): maintainers = ['chuckatkins', 'danlipsa'] + version('9.0.3', sha256='bc3eb9625b2b8dbfecb6052a2ab091fc91405de4333b0ec68f3323815154ed8a') version('9.0.1', sha256='1b39a5e191c282861e7af4101eaa8585969a2de05f5646c9199a161213a622c7') version('9.0.0', sha256='15def4e6f84d72f82386617fe595ec124dda3cbd13ea19a0dcd91583197d8715') version('8.2.0', sha256='34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb') From e602c40d09e9b398e227a66838750f24c9dc1a5f Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 26 Aug 2021 17:30:30 +0200 Subject: [PATCH 327/414] zstd package: use make instead of CMake (#25610) zstd doesn't use -pthread for the static lib anymore, so gcc should be fine --- .../repos/builtin/packages/gcc/package.py | 5 +-- .../repos/builtin/packages/zstd/package.py | 38 +++++++------------ 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index 03fc883abde..b639c8aae98 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -129,10 +129,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage): depends_on('isl@0.15:', when='@10:') depends_on('zlib', when='@6:') - # GCC only tries to link with -lzstd but it requires - # -pthread too when linking against libzstd.a, so - # disable multithreading by default - depends_on('zstd~multithread', when='@10:') + depends_on('zstd', when='@10:') depends_on('diffutils', type='build') depends_on('iconv', when='platform=darwin') depends_on('gnat', when='languages=ada') diff --git a/var/spack/repos/builtin/packages/zstd/package.py b/var/spack/repos/builtin/packages/zstd/package.py index 99cfccacf74..ee47a82a322 100644 --- a/var/spack/repos/builtin/packages/zstd/package.py +++ b/var/spack/repos/builtin/packages/zstd/package.py @@ -6,7 +6,7 @@ from spack import * -class Zstd(CMakePackage): +class Zstd(MakefilePackage): """Zstandard, or zstd as short version, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.""" @@ -15,8 +15,6 @@ class Zstd(CMakePackage): url = "https://github.com/facebook/zstd/archive/v1.4.3.tar.gz" git = "https://github.com/facebook/zstd.git" - root_cmakelists_dir = 'build/cmake' - maintainers = ['haampie'] version('develop', branch='dev') @@ -33,28 +31,18 @@ class Zstd(CMakePackage): version('1.3.0', sha256='0fdba643b438b7cbce700dcc0e7b3e3da6d829088c63757a5984930e2f70b348') version('1.1.2', sha256='980b8febb0118e22f6ed70d23b5b3e600995dbf7489c1f6d6122c1411cdda8d8') - variant('shared', default=True, description='Build shared libraries') - variant('static', default=True, description='Build static libraries') - variant('programs', default=True, description='Build executables') - variant('legacy', default=False, description='Enable legacy support') - variant('zlib', default=False, description='Build programs with zlib support') - variant('lzma', default=False, description='Build programs with lzma support') - variant('lz4', default=False, description='Build programs with zlib support') - variant('multithread', default=True, description='Build with pthread support') + variant('programs', default=False, description='Build executables') - conflicts('+zlib', when='~programs', msg="zlib requires programs to be built") - conflicts('+lzma', when='~programs', msg="lzma requires programs to be built") - conflicts('+lz4', when='~programs', msg="lz4 requires programs to be built") + depends_on('zlib', when='+programs') + depends_on('lzma', when='+programs') + depends_on('lz4', when='+programs') - depends_on('zlib', when='+zlib') - depends_on('lzma', when='+lzma') - depends_on('lz4', when='+lz4') + def build(self, spec, prefix): + make('-C', 'lib') + if spec.variants['programs'].value: + make('-C', 'programs') - def cmake_args(self): - return [ - self.define_from_variant('ZSTD_BUILD_PROGRAMS', 'programs'), - self.define_from_variant('ZSTD_BUILD_STATIC', 'static'), - self.define_from_variant('ZSTD_BUILD_SHARED', 'shared'), - self.define_from_variant('ZSTD_LEGACY_SUPPORT', 'legacy'), - self.define_from_variant('ZSTD_MULTITHREAD_SUPPORT', 'multithread') - ] + def install(self, spec, prefix): + make('-C', 'lib', 'install', 'PREFIX={0}'.format(prefix)) + if spec.variants['programs'].value: + make('-C', 'programs', 'install', 'PREFIX={0}'.format(prefix)) From 7dd3592eabe2b1ab2739a3e54c5228465c4c6ae7 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 26 Aug 2021 18:28:47 +0200 Subject: [PATCH 328/414] Regression test for version selection with preferences (#25602) This commit adds a regression test for version selection with preferences in `packages.yaml`. Before PR 25585 we used negative weights in a minimization to select the optimal version. This may lead to situations where a dependency may make the version score of dependents "better" if it is preferred in packages.yaml. --- .../spack/test/concretize_preferences.py | 12 ++++++++++++ .../spack/test/data/config/packages.yaml | 2 ++ .../package.py | 16 ++++++++++++++++ .../packages/version-test-pkg/package.py | 19 +++++++++++++++++++ .../packages/version-test-root/package.py | 11 +++++++++++ 5 files changed, 60 insertions(+) create mode 100644 var/spack/repos/builtin.mock/packages/version-test-dependency-preferred/package.py create mode 100644 var/spack/repos/builtin.mock/packages/version-test-pkg/package.py create mode 100644 var/spack/repos/builtin.mock/packages/version-test-root/package.py diff --git a/lib/spack/spack/test/concretize_preferences.py b/lib/spack/spack/test/concretize_preferences.py index b5b631d6af1..598e9d08fb8 100644 --- a/lib/spack/spack/test/concretize_preferences.py +++ b/lib/spack/spack/test/concretize_preferences.py @@ -384,3 +384,15 @@ def test_variant_not_flipped_to_pull_externals(self): assert '~external' in s['vdefault-or-external'] assert 'externaltool' not in s + + @pytest.mark.regression('25585') + def test_dependencies_cant_make_version_parent_score_better(self): + """Test that a package can't select a worse version for a + dependent because doing so it can pull-in a dependency + that makes the overall version score even or better and maybe + has a better score in some lower priority criteria. + """ + s = Spec('version-test-root').concretized() + + assert s.satisfies('^version-test-pkg@2.4.6') + assert 'version-test-dependency-preferred' not in s diff --git a/lib/spack/spack/test/data/config/packages.yaml b/lib/spack/spack/test/data/config/packages.yaml index b2c3a33b42a..84f470d2089 100644 --- a/lib/spack/spack/test/data/config/packages.yaml +++ b/lib/spack/spack/test/data/config/packages.yaml @@ -47,3 +47,5 @@ packages: externals: - spec: external-non-default-variant@3.8.7~foo~bar prefix: /usr + version-test-dependency-preferred: + version: ['5.2.5'] \ No newline at end of file diff --git a/var/spack/repos/builtin.mock/packages/version-test-dependency-preferred/package.py b/var/spack/repos/builtin.mock/packages/version-test-dependency-preferred/package.py new file mode 100644 index 00000000000..672e4e64c4c --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/version-test-dependency-preferred/package.py @@ -0,0 +1,16 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +class VersionTestDependencyPreferred(AutotoolsPackage): + """Dependency of version-test-pkg, which has a multi-valued + variant with two default values (a very low priority optimization + criterion for clingo is to maximize their number) + """ + homepage = "http://www.spack.org" + url = "http://www.spack.org/downloads/xz-1.0.tar.gz" + + version('5.2.5', sha256='5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df') + + variant('libs', default='shared,static', values=('shared', 'static'), + multi=True, description='Build shared libs, static libs or both') diff --git a/var/spack/repos/builtin.mock/packages/version-test-pkg/package.py b/var/spack/repos/builtin.mock/packages/version-test-pkg/package.py new file mode 100644 index 00000000000..5d2cd4b5cfd --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/version-test-pkg/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +class VersionTestPkg(AutotoolsPackage): + """Mock AutotoolsPackage to check proper version + selection by clingo. + """ + homepage = "https://www.gnu.org/software/make/" + url = "http://www.example.com/libtool-version-1.0.tar.gz" + + version('develop', git='https://git.savannah.gnu.org/git/libtool.git', + branch='master', submodules=True) + version('2.4.6', sha256='e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7') + + depends_on( + 'version-test-dependency-preferred', + when='@develop' + ) diff --git a/var/spack/repos/builtin.mock/packages/version-test-root/package.py b/var/spack/repos/builtin.mock/packages/version-test-root/package.py new file mode 100644 index 00000000000..e91a8687402 --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/version-test-root/package.py @@ -0,0 +1,11 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +class VersionTestRoot(AutotoolsPackage): + """Uses version-test-pkg, as a build dependency""" + homepage = "http://www.spack.org" + url = "http://www.spack.org/downloads/aml-1.0.tar.gz" + + version('0.1.0', sha256='cc89a8768693f1f11539378b21cdca9f0ce3fc5cb564f9b3e4154a051dcea69b') + depends_on('version-test-pkg', type='build') From 1ab6f30fdd1dd3b84e99bfbd14018a237b8095fb Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 26 Aug 2021 18:39:59 +0200 Subject: [PATCH 329/414] Remove fork_context from llnl.util.lang (#25620) This object was introduced in #18124, and was later superseded by #18205 and removed any use if the object. --- lib/spack/llnl/util/lang.py | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/lib/spack/llnl/util/lang.py b/lib/spack/llnl/util/lang.py index 408648f1c1a..ac431ecbaf8 100644 --- a/lib/spack/llnl/util/lang.py +++ b/lib/spack/llnl/util/lang.py @@ -7,7 +7,6 @@ import functools import inspect -import multiprocessing import os import re import sys @@ -31,23 +30,6 @@ ignore_modules = [r'^\.#', '~$'] -# On macOS, Python 3.8 multiprocessing now defaults to the 'spawn' start -# method. Spack cannot currently handle this, so force the process to start -# using the 'fork' start method. -# -# TODO: This solution is not ideal, as the 'fork' start method can lead to -# crashes of the subprocess. Figure out how to make 'spawn' work. -# -# See: -# * https://github.com/spack/spack/pull/18124 -# * https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods # noqa: E501 -# * https://bugs.python.org/issue33725 -if sys.version_info >= (3,): # novm - fork_context = multiprocessing.get_context('fork') -else: - fork_context = multiprocessing - - def index_by(objects, *funcs): """Create a hierarchy of dictionaries by splitting the supplied set of objects on unique values of the supplied functions. From a3d8e95e76e50cd5e9720295902617d56ab28553 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 26 Aug 2021 18:46:01 +0200 Subject: [PATCH 330/414] Avoid double loop in subprocess_context.store_patches (#25621) fixes #21643 As far as I can see the double loop is not needed, since "patch" is never used and the items in the list are tuples of three values. --- lib/spack/spack/subprocess_context.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/spack/spack/subprocess_context.py b/lib/spack/spack/subprocess_context.py index 803411cb950..bfba6b0acc7 100644 --- a/lib/spack/spack/subprocess_context.py +++ b/lib/spack/spack/subprocess_context.py @@ -139,16 +139,15 @@ def store_patches(): class_patches = list() if not patches: return TestPatches(list(), list()) - for patch in patches: - for target, name, _ in patches: - if isinstance(target, ModuleType): - new_val = getattr(target, name) - module_name = target.__name__ - module_patches.append((module_name, name, new_val)) - elif isinstance(target, type): - new_val = getattr(target, name) - class_fqn = '.'.join([target.__module__, target.__name__]) - class_patches.append((class_fqn, name, new_val)) + for target, name, _ in patches: + if isinstance(target, ModuleType): + new_val = getattr(target, name) + module_name = target.__name__ + module_patches.append((module_name, name, new_val)) + elif isinstance(target, type): + new_val = getattr(target, name) + class_fqn = '.'.join([target.__module__, target.__name__]) + class_patches.append((class_fqn, name, new_val)) return TestPatches(module_patches, class_patches) From 8664abc178842fcc4a1b65029f915fb5edad5a9e Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Thu, 26 Aug 2021 10:22:40 -0700 Subject: [PATCH 331/414] Remove references to self.install_test_root from packaging guide (#25238) --- lib/spack/docs/packaging_guide.rst | 46 ++++++++++++------------------ 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/lib/spack/docs/packaging_guide.rst b/lib/spack/docs/packaging_guide.rst index 38689ca5825..3239438bccb 100644 --- a/lib/spack/docs/packaging_guide.rst +++ b/lib/spack/docs/packaging_guide.rst @@ -4368,9 +4368,9 @@ The signature for ``cache_extra_test_sources`` is: where ``srcs`` is a string or a list of strings corresponding to the paths for the files and or subdirectories, relative to the staged -source, that are to be copied to the corresponding path relative to -``self.install_test_root``. All of the contents within each subdirectory -will be also be copied. +source, that are to be copied to the corresponding relative test path +under the prefix. All of the contents within each subdirectory will +also be copied. For example, a package method for copying everything in the ``tests`` subdirectory plus the ``foo.c`` and ``bar.c`` files from ``examples`` @@ -4378,8 +4378,13 @@ can be implemented as shown below. .. note:: - The ``run_after`` directive ensures associated files are copied - **after** the package is installed by the build process. + The method name ``copy_test_sources`` here is for illustration + purposes. You are free to use a name that is more suited to your + package. + + The key to copying the files at build time for stand-alone testing + is use of the ``run_after`` directive, which ensures the associated + files are copied **after** the provided build stage. .. code-block:: python @@ -4396,18 +4401,13 @@ can be implemented as shown below. In this case, the method copies the associated files from the build stage **after** the software is installed to the package's metadata directory. The result is the directory and files will be cached in -paths under ``self.install_test_root`` as follows: - -* ``join_path(self.install_test_root, 'tests')`` along with its files - and subdirectories -* ``join_path(self.install_test_root, 'examples', 'foo.c')`` -* ``join_path(self.install_test_root, 'examples', 'bar.c')`` +a special test subdirectory under the installation prefix. These paths are **automatically copied** to the test stage directory -where they are available to the package's ``test`` method through the -``self.test_suite.current_test_cache_dir`` property. In our example, -the method can access the directory and files using the following -paths: +during stand-alone testing. The package's ``test`` method can access +them using the ``self.test_suite.current_test_cache_dir`` property. +In our example, the method would use the following paths to reference +the copy of each entry listed in ``srcs``, respectively: * ``join_path(self.test_suite.current_test_cache_dir, 'tests')`` * ``join_path(self.test_suite.current_test_cache_dir, 'examples', 'foo.c')`` @@ -4415,9 +4415,8 @@ paths: .. note:: - Library developers will want to build the associated tests under - the ``self.test_suite.current_test_cache_dir`` and against their - **installed** libraries before running them. + Library developers will want to build the associated tests + against their **installed** libraries before running them. .. note:: @@ -4427,11 +4426,6 @@ paths: would be appropriate for ensuring the installed software continues to work as the underlying system evolves. -.. note:: - - You are free to use a method name that is more suitable for - your package. - .. _cache_custom_files: """"""""""""""""""" @@ -4510,7 +4504,8 @@ can retrieve the expected output from ``examples/foo.out`` using: def test(self): .. - filename = join_path(self.install_test_root, 'examples', 'foo.out') + filename = join_path(self.test_suite.current_test_cache_dir, + 'examples', 'foo.out') expected = get_escaped_text_output(filename) .. @@ -4678,9 +4673,6 @@ directory paths are provided in the table below. * - Test Suite Stage Files - ``self.test_suite.stage`` - ``join_path(self.test_suite.stage, 'results.txt')`` - * - Cached Build-time Files - - ``self.install_test_root`` - - ``join_path(self.install_test_root, 'examples', 'foo.c')`` * - Staged Cached Build-time Files - ``self.test_suite.current_test_cache_dir`` - ``join_path(self.test_suite.current_test_cache_dir, 'examples', 'foo.c')`` From 6a31ca7386c703317d7fb3595f042b898cb47396 Mon Sep 17 00:00:00 2001 From: Glenn Johnson Date: Thu, 26 Aug 2021 12:35:58 -0500 Subject: [PATCH 332/414] opium package: add version 4.1 and update blas/lapack dependencies (#25591) - remove unneeded dependency on blas - create external-lapack variant - patch makefile to not build lapack if `+external-lapack` Also: - fix homepage link - set parallel = False - make references to `spec` consistent - remove unneeded `build` method --- .../repos/builtin/packages/opium/package.py | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/var/spack/repos/builtin/packages/opium/package.py b/var/spack/repos/builtin/packages/opium/package.py index df8d1a71666..88e3791a108 100644 --- a/var/spack/repos/builtin/packages/opium/package.py +++ b/var/spack/repos/builtin/packages/opium/package.py @@ -9,28 +9,33 @@ class Opium(AutotoolsPackage): """DFT pseudopotential generation project""" - homepage = "https://opium.sourceforge.net/index.html" + homepage = "http://opium.sourceforge.net" url = "https://downloads.sourceforge.net/project/opium/opium/opium-v3.8/opium-v3.8-src.tgz" + version('4.1', sha256='e5a102b52601ad037d8a7b3e2dbd295baad23b8c1e4908b9014df2e432c23c60') version('3.8', sha256='edee6606519330aecaee436ee8cfb0a33788b5677861d59e38aba936e87d5ad3') - depends_on('blas') - depends_on('lapack') + variant('external-lapack', default=False, + description='Links to externally installed LAPACK') + + depends_on('lapack', when='+external-lapack') + + parallel = False + + def patch(self): + if '+external-lapack' in self.spec: + with working_dir('src'): + filter_file(r'(^subdirs=.*) lapack', r'\1', 'Makefile') def configure_args(self): - spec = self.spec options = [] - libs = spec['lapack'].libs + spec['blas'].libs - options.append('LDFLAGS=%s' % libs.ld_flags) + if '+external-lapack' in self.spec: + options.append('LDFLAGS={0}'.format(self.spec['lapack'].libs.ld_flags)) + return options - def build(self, spec, prefix): - with working_dir("src", create=False): - make("all-subdirs") - make("opium") - def install(self, spec, prefix): - # opium not have a make install :-(( + # opium does not have a make install target :-(( mkdirp(self.prefix.bin) install(join_path(self.stage.source_path, 'opium'), self.prefix.bin) From 6b3518d6fdacfbb6384ae223ec36b0552c7d8b13 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 26 Aug 2021 12:55:42 -0500 Subject: [PATCH 333/414] py-omegaconf: add missing dependency (#25589) --- var/spack/repos/builtin/packages/py-omegaconf/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-omegaconf/package.py b/var/spack/repos/builtin/packages/py-omegaconf/package.py index 418e3e8f5d6..3cac5fe0d51 100644 --- a/var/spack/repos/builtin/packages/py-omegaconf/package.py +++ b/var/spack/repos/builtin/packages/py-omegaconf/package.py @@ -22,6 +22,7 @@ class PyOmegaconf(PythonPackage): depends_on('python@3.6:', type=('build', 'run')) depends_on('py-setuptools', type='build') + depends_on('py-pytest-runner', type='build') depends_on('py-antlr4-python3-runtime@4.8', type=('build', 'run')) depends_on('py-pyyaml@5.1.0:', type=('build', 'run')) depends_on('py-dataclasses', when='^python@:3.6', type=('build', 'run')) From c963bdee8b8507c3eb50072ccfee275e52c778b6 Mon Sep 17 00:00:00 2001 From: lorddavidiii Date: Thu, 26 Aug 2021 19:57:14 +0200 Subject: [PATCH 334/414] opencl-c-headers and opencl-clhpp: add new versions (#25576) --- var/spack/repos/builtin/packages/opencl-c-headers/package.py | 2 ++ var/spack/repos/builtin/packages/opencl-clhpp/package.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/opencl-c-headers/package.py b/var/spack/repos/builtin/packages/opencl-c-headers/package.py index e850177c7f3..b47921723f4 100644 --- a/var/spack/repos/builtin/packages/opencl-c-headers/package.py +++ b/var/spack/repos/builtin/packages/opencl-c-headers/package.py @@ -14,7 +14,9 @@ class OpenclCHeaders(Package): homepage = "https://www.khronos.org/registry/OpenCL/" url = "https://github.com/KhronosGroup/OpenCL-Headers/archive/v2020.06.16.tar.gz" + maintainers = ['lorddavidiii'] + version('2021.06.30', sha256='6640d590c30d90f89351f5e3043ae6363feeb19ac5e64bc35f8cfa1a6cd5498e') version('2021.04.29', sha256='477e2b26125d99a9b2f20c68262f27ca3f3ca7899593a8af2b7fe077bdce18d1') version('2020.12.18', sha256='5dad6d436c0d7646ef62a39ef6cd1f3eba0a98fc9157808dfc1d808f3705ebc2') version('2020.06.16', sha256='2f5a60e5ac4b127650618c58a7e3b35a84dbf23c1a0ac72eb5e7baf221600e06') diff --git a/var/spack/repos/builtin/packages/opencl-clhpp/package.py b/var/spack/repos/builtin/packages/opencl-clhpp/package.py index 199674ac50b..d1edf87550d 100644 --- a/var/spack/repos/builtin/packages/opencl-clhpp/package.py +++ b/var/spack/repos/builtin/packages/opencl-clhpp/package.py @@ -14,7 +14,9 @@ class OpenclClhpp(CMakePackage): homepage = "https://www.khronos.org/registry/OpenCL/" url = "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/v2.0.12.tar.gz" + maintainers = ['lorddavidiii'] + version('2.0.15', sha256='0175806508abc699586fc9a9387e01eb37bf812ca534e3b493ff3091ec2a9246') version('2.0.14', sha256='c8821a7638e57a2c4052631c941af720b581edda634db6ab0b59924c958d69b6') version('2.0.13', sha256='8ff0d0cd94d728edd30c876db546bf13e370ee7863629b4b9b5e2ef8e130d23c') version('2.0.12', sha256='20b28709ce74d3602f1a946d78a2024c1f6b0ef51358b9686612669897a58719') From 29d1bc6546def4bcd09c0a5b533de9f39a78d910 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 26 Aug 2021 21:20:05 +0200 Subject: [PATCH 335/414] Ensure environment are deactivated when bootstrapping (#25607) Fixes #25603 This commit adds a new context manager to temporarily deactivate active environments. This context manager is used when setting up bootstrapping configuration to make sure that the current environment is not affected by operations on the bootstrap store. * Preserve exit code 1 if nothing is found * Use context manager for the environment --- lib/spack/spack/bootstrap.py | 20 +++++++++++--------- lib/spack/spack/cmd/clean.py | 2 +- lib/spack/spack/cmd/find.py | 26 +++++++++++++------------- lib/spack/spack/environment.py | 12 ++++++++++++ lib/spack/spack/test/bootstrap.py | 15 +++++++++++++++ 5 files changed, 52 insertions(+), 23 deletions(-) diff --git a/lib/spack/spack/bootstrap.py b/lib/spack/spack/bootstrap.py index 09d9c6e3a8b..be48d66a214 100644 --- a/lib/spack/spack/bootstrap.py +++ b/lib/spack/spack/bootstrap.py @@ -23,6 +23,7 @@ import spack.architecture import spack.binary_distribution import spack.config +import spack.environment import spack.main import spack.paths import spack.repo @@ -421,15 +422,16 @@ def _bootstrap_config_scopes(): @contextlib.contextmanager def ensure_bootstrap_configuration(): bootstrap_store_path = store_path() - with spack.architecture.use_platform(spack.architecture.real_platform()): - with spack.repo.use_repositories(spack.paths.packages_path): - with spack.store.use_store(bootstrap_store_path): - # Default configuration scopes excluding command line - # and builtin but accounting for platform specific scopes - config_scopes = _bootstrap_config_scopes() - with spack.config.use_configuration(*config_scopes): - with spack_python_interpreter(): - yield + with spack.environment.deactivate_environment(): + with spack.architecture.use_platform(spack.architecture.real_platform()): + with spack.repo.use_repositories(spack.paths.packages_path): + with spack.store.use_store(bootstrap_store_path): + # Default configuration scopes excluding command line + # and builtin but accounting for platform specific scopes + config_scopes = _bootstrap_config_scopes() + with spack.config.use_configuration(*config_scopes): + with spack_python_interpreter(): + yield def store_path(): diff --git a/lib/spack/spack/cmd/clean.py b/lib/spack/spack/cmd/clean.py index 3b663582939..ebcf7cc862d 100644 --- a/lib/spack/spack/cmd/clean.py +++ b/lib/spack/spack/cmd/clean.py @@ -104,6 +104,6 @@ def clean(parser, args): if args.bootstrap: msg = 'Removing software in "{0}"' tty.msg(msg.format(spack.bootstrap.store_path())) - with spack.store.use_store(spack.bootstrap.store_path()): + with spack.bootstrap.ensure_bootstrap_configuration(): uninstall = spack.main.SpackCommand('uninstall') uninstall('-a', '-y') diff --git a/lib/spack/spack/cmd/find.py b/lib/spack/spack/cmd/find.py index 13066578e34..8378f6ef6e1 100644 --- a/lib/spack/spack/cmd/find.py +++ b/lib/spack/spack/cmd/find.py @@ -205,24 +205,24 @@ def display_env(env, args, decorator): def find(parser, args): - q_args = query_arguments(args) - # Query the current store or the internal bootstrap store if required if args.bootstrap: bootstrap_store_path = spack.bootstrap.store_path() - msg = 'Showing internal bootstrap store at "{0}"' - tty.msg(msg.format(bootstrap_store_path)) - with spack.store.use_store(bootstrap_store_path): - results = args.specs(**q_args) - else: - results = args.specs(**q_args) + with spack.bootstrap.ensure_bootstrap_configuration(): + msg = 'Showing internal bootstrap store at "{0}"' + tty.msg(msg.format(bootstrap_store_path)) + _find(parser, args) + return + _find(parser, args) - decorator = lambda s, f: f - added = set() - removed = set() + +def _find(parser, args): + q_args = query_arguments(args) + results = args.specs(**q_args) env = ev.active_environment() + decorator = lambda s, f: f if env: - decorator, added, roots, removed = setup_env(env) + decorator, _, roots, _ = setup_env(env) # use groups by default except with format. if args.groups is None: @@ -233,7 +233,7 @@ def find(parser, args): msg = "No package matches the query: {0}" msg = msg.format(' '.join(args.constraint)) tty.msg(msg) - return 1 + raise SystemExit(1) # If tags have been specified on the command line, filter by tags if args.tags: diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py index 23644dabd90..aa27e5361c9 100644 --- a/lib/spack/spack/environment.py +++ b/lib/spack/spack/environment.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) import collections +import contextlib import copy import os import re @@ -2144,6 +2145,17 @@ def is_latest_format(manifest): return not changed +@contextlib.contextmanager +def deactivate_environment(): + """Deactivate an active environment for the duration of the context.""" + global _active_environment + current, _active_environment = _active_environment, None + try: + yield + finally: + _active_environment = current + + class SpackEnvironmentError(spack.error.SpackError): """Superclass for all errors to do with Spack environments.""" diff --git a/lib/spack/spack/test/bootstrap.py b/lib/spack/spack/test/bootstrap.py index fccf67e569c..fa5621e3730 100644 --- a/lib/spack/spack/test/bootstrap.py +++ b/lib/spack/spack/test/bootstrap.py @@ -5,10 +5,17 @@ import pytest import spack.bootstrap +import spack.environment import spack.store import spack.util.path +@pytest.fixture +def active_mock_environment(mutable_config, mutable_mock_env_path): + with spack.environment.create('bootstrap-test') as env: + yield env + + @pytest.mark.regression('22294') def test_store_is_restored_correctly_after_bootstrap(mutable_config, tmpdir): # Prepare a custom store path. This should be in a writeable location @@ -49,3 +56,11 @@ def test_raising_exception_if_bootstrap_disabled(mutable_config): # Check the correct exception is raised with pytest.raises(RuntimeError, match='bootstrapping is currently disabled'): spack.bootstrap.store_path() + + +@pytest.mark.regression('25603') +def test_bootstrap_deactivates_environments(active_mock_environment): + assert spack.environment.active_environment() == active_mock_environment + with spack.bootstrap.ensure_bootstrap_configuration(): + assert spack.environment.active_environment() is None + assert spack.environment.active_environment() == active_mock_environment From 23106ac0f55623a155c1e74633890f7fb7d52d36 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 26 Aug 2021 21:59:44 +0200 Subject: [PATCH 336/414] Set pubkey trust to ultimate during `gpg trust` (#24976) * Set pubkey trust to ultimate during `gpg trust` Tries to solve the same problem as #24760 without surpressing stderr from gpg commands. This PR makes every imported key trusted in the gpg database. Note: I've outlined [here](https://github.com/spack/spack/pull/24760#issuecomment-883183175) that gpg's trust model makes sense, since how can we trust a random public key we download from a binary cache? * Fix test --- lib/spack/spack/util/gpg.py | 45 ++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/util/gpg.py b/lib/spack/spack/util/gpg.py index 787f205a139..ddc69c95794 100644 --- a/lib/spack/spack/util/gpg.py +++ b/lib/spack/spack/util/gpg.py @@ -133,20 +133,33 @@ def _parse_secret_keys_output(output): def _parse_public_keys_output(output): + """ + Returns a list of public keys with their fingerprints + """ keys = [] found_pub = False + current_pub_key = '' for line in output.split('\n'): if found_pub: if line.startswith('fpr'): - keys.append(line.split(':')[9]) + keys.append((current_pub_key, line.split(':')[9])) found_pub = False elif line.startswith('ssb'): found_pub = False elif line.startswith('pub'): + current_pub_key = line.split(':')[4] found_pub = True return keys +def _get_unimported_public_keys(output): + keys = [] + for line in output.split('\n'): + if line.startswith('pub'): + keys.append(line.split(':')[4]) + return keys + + class SpackGPGError(spack.error.SpackError): """Class raised when GPG errors are detected.""" @@ -182,7 +195,7 @@ def signing_keys(*args): @_autoinit -def public_keys(*args): +def public_keys_to_fingerprint(*args): """Return the keys that can be used to verify binaries.""" output = GPG( '--list-public-keys', '--with-colons', '--fingerprint', @@ -191,6 +204,13 @@ def public_keys(*args): return _parse_public_keys_output(output) +@_autoinit +def public_keys(*args): + """Return a list of fingerprints""" + keys_and_fpr = public_keys_to_fingerprint(*args) + return [key_and_fpr[1] for key_and_fpr in keys_and_fpr] + + @_autoinit def export_keys(location, keys, secret=False): """Export public keys to a location passed as argument. @@ -208,13 +228,32 @@ def export_keys(location, keys, secret=False): @_autoinit def trust(keyfile): - """Import a public key from a file. + """Import a public key from a file and trust it. Args: keyfile (str): file with the public key """ + # Get the public keys we are about to import + output = GPG('--with-colons', keyfile, output=str, error=str) + keys = _get_unimported_public_keys(output) + + # Import them GPG('--import', keyfile) + # Set trust to ultimate + key_to_fpr = dict(public_keys_to_fingerprint()) + for key in keys: + # Skip over keys we cannot find a fingerprint for. + if key not in key_to_fpr: + continue + + fpr = key_to_fpr[key] + r, w = os.pipe() + with contextlib.closing(os.fdopen(r, 'r')) as r: + with contextlib.closing(os.fdopen(w, 'w')) as w: + w.write("{0}:6:\n".format(fpr)) + GPG('--import-ownertrust', input=r) + @_autoinit def untrust(signing, *keys): From 6a26322eb35914961d7a377e7a89d8e1f698a573 Mon Sep 17 00:00:00 2001 From: Vanessasaurus <814322+vsoch@users.noreply.github.com> Date: Thu, 26 Aug 2021 14:05:24 -0600 Subject: [PATCH 337/414] fixing "problems in speck" as identified by repology (#25491) Most of these are perl packages that need to point to the meta docs site, and then a fair amount of http addresses that need to be https, and then the rest are usually documentation sites that no longer exist or were otherwise changes Signed-off-by: vsoch Co-authored-by: vsoch --- var/spack/repos/builtin/packages/abinit/package.py | 2 +- var/spack/repos/builtin/packages/ack/package.py | 4 ++-- var/spack/repos/builtin/packages/alglib/package.py | 4 ++-- .../repos/builtin/packages/applewmproto/package.py | 2 +- .../repos/builtin/packages/asciidoc/package.py | 2 +- var/spack/repos/builtin/packages/bcache/package.py | 2 +- .../repos/builtin/packages/bib2xhtml/package.py | 2 +- .../repos/builtin/packages/blast-plus/package.py | 2 +- .../repos/builtin/packages/bohrium/package.py | 2 +- var/spack/repos/builtin/packages/boost/package.py | 2 +- var/spack/repos/builtin/packages/byobu/package.py | 2 +- .../builtin/packages/byte-unixbench/package.py | 2 +- .../repos/builtin/packages/c-blosc/package.py | 2 +- .../repos/builtin/packages/c-blosc2/package.py | 2 +- .../repos/builtin/packages/cfitsio/package.py | 4 ++-- var/spack/repos/builtin/packages/codec2/package.py | 2 +- var/spack/repos/builtin/packages/dbus/package.py | 4 ++-- .../repos/builtin/packages/editline/package.py | 2 +- .../repos/builtin/packages/elemental/package.py | 2 +- .../repos/builtin/packages/etsf-io/package.py | 2 +- .../repos/builtin/packages/exciting/package.py | 4 ++-- var/spack/repos/builtin/packages/exempi/package.py | 2 +- var/spack/repos/builtin/packages/f2c/package.py | 4 ++-- var/spack/repos/builtin/packages/fastqc/package.py | 4 ++-- var/spack/repos/builtin/packages/faust/package.py | 2 +- var/spack/repos/builtin/packages/fenics/package.py | 2 +- var/spack/repos/builtin/packages/flann/package.py | 2 +- var/spack/repos/builtin/packages/fltk/package.py | 4 ++-- var/spack/repos/builtin/packages/fseq/package.py | 2 +- var/spack/repos/builtin/packages/g4abla/package.py | 2 +- .../repos/builtin/packages/g4emlow/package.py | 2 +- .../repos/builtin/packages/g4ensdfstate/package.py | 2 +- var/spack/repos/builtin/packages/g4incl/package.py | 2 +- var/spack/repos/builtin/packages/g4ndl/package.py | 2 +- .../repos/builtin/packages/g4neutronxs/package.py | 2 +- .../repos/builtin/packages/g4particlexs/package.py | 2 +- .../packages/g4photonevaporation/package.py | 2 +- var/spack/repos/builtin/packages/g4pii/package.py | 2 +- .../builtin/packages/g4radioactivedecay/package.py | 2 +- .../repos/builtin/packages/g4tendl/package.py | 2 +- var/spack/repos/builtin/packages/gatk/package.py | 2 +- var/spack/repos/builtin/packages/gconf/package.py | 10 +++++++--- var/spack/repos/builtin/packages/gdbm/package.py | 2 +- var/spack/repos/builtin/packages/geos/package.py | 2 +- .../builtin/packages/ghostscript-fonts/package.py | 2 +- .../repos/builtin/packages/ghostscript/package.py | 2 +- var/spack/repos/builtin/packages/gource/package.py | 2 +- .../repos/builtin/packages/grib-api/package.py | 14 ++++++++------ var/spack/repos/builtin/packages/h5part/package.py | 2 +- .../repos/builtin/packages/hydrogen/package.py | 2 +- .../repos/builtin/packages/icedtea/package.py | 2 +- var/spack/repos/builtin/packages/imlib2/package.py | 2 +- .../repos/builtin/packages/jemalloc/package.py | 2 +- var/spack/repos/builtin/packages/julia/package.py | 2 +- .../repos/builtin/packages/keepalived/package.py | 2 +- var/spack/repos/builtin/packages/legion/package.py | 2 +- .../repos/builtin/packages/libapplewm/package.py | 2 +- .../repos/builtin/packages/libatasmart/package.py | 2 +- .../repos/builtin/packages/libdatrie/package.py | 2 +- var/spack/repos/builtin/packages/libdrm/package.py | 2 +- .../repos/builtin/packages/libdwarf/package.py | 2 +- .../repos/builtin/packages/libevent/package.py | 2 +- .../repos/builtin/packages/libfontenc/package.py | 2 +- .../repos/builtin/packages/libgpuarray/package.py | 2 +- .../repos/builtin/packages/liblbxutil/package.py | 2 +- .../packages/libnetfilter-conntrack/package.py | 2 +- .../repos/builtin/packages/libnfnetlink/package.py | 2 +- .../repos/builtin/packages/libpciaccess/package.py | 2 +- .../repos/builtin/packages/libthai/package.py | 2 +- .../repos/builtin/packages/libtheora/package.py | 2 +- .../repos/builtin/packages/libtommath/package.py | 2 +- .../repos/builtin/packages/libwindowswm/package.py | 2 +- .../repos/builtin/packages/libxaw3d/package.py | 2 +- .../repos/builtin/packages/libxevie/package.py | 2 +- var/spack/repos/builtin/packages/libxp/package.py | 2 +- .../repos/builtin/packages/libxxf86misc/package.py | 2 +- var/spack/repos/builtin/packages/lzma/package.py | 2 +- .../repos/builtin/packages/mapserver/package.py | 2 +- var/spack/repos/builtin/packages/mawk/package.py | 2 +- var/spack/repos/builtin/packages/med/package.py | 2 +- var/spack/repos/builtin/packages/meson/package.py | 2 +- var/spack/repos/builtin/packages/mono/package.py | 2 +- var/spack/repos/builtin/packages/motif/package.py | 2 +- var/spack/repos/builtin/packages/mozjs/package.py | 2 +- .../repos/builtin/packages/mrtrix3/package.py | 2 +- .../repos/builtin/packages/muparser/package.py | 2 +- var/spack/repos/builtin/packages/nano/package.py | 2 +- var/spack/repos/builtin/packages/ncdu/package.py | 2 +- var/spack/repos/builtin/packages/ncftp/package.py | 2 +- .../repos/builtin/packages/ncurses/package.py | 2 +- var/spack/repos/builtin/packages/ncview/package.py | 2 +- var/spack/repos/builtin/packages/neo4j/package.py | 2 +- var/spack/repos/builtin/packages/nest/package.py | 2 +- var/spack/repos/builtin/packages/nspr/package.py | 2 +- .../repos/builtin/packages/numactl/package.py | 2 +- var/spack/repos/builtin/packages/ocaml/package.py | 2 +- var/spack/repos/builtin/packages/oclint/package.py | 2 +- .../repos/builtin/packages/openexr/package.py | 2 +- var/spack/repos/builtin/packages/openmm/package.py | 2 +- var/spack/repos/builtin/packages/openpa/package.py | 2 +- .../repos/builtin/packages/openslide/package.py | 2 +- .../repos/builtin/packages/openssl/package.py | 2 +- .../repos/builtin/packages/opensubdiv/package.py | 2 +- var/spack/repos/builtin/packages/opus/package.py | 2 +- .../repos/builtin/packages/orientdb/package.py | 2 +- .../repos/builtin/packages/packmol/package.py | 2 +- .../repos/builtin/packages/parmgridgen/package.py | 2 +- .../packages/perl-algorithm-diff/package.py | 2 +- .../repos/builtin/packages/perl-app-cmd/package.py | 2 +- .../builtin/packages/perl-array-utils/package.py | 2 +- .../packages/perl-b-hooks-endofscope/package.py | 2 +- .../builtin/packages/perl-bit-vector/package.py | 2 +- .../repos/builtin/packages/perl-cairo/package.py | 2 +- .../builtin/packages/perl-capture-tiny/package.py | 2 +- .../builtin/packages/perl-carp-clan/package.py | 2 +- .../perl-class-data-inheritable/package.py | 2 +- .../packages/perl-class-inspector/package.py | 2 +- .../builtin/packages/perl-class-load-xs/package.py | 2 +- .../builtin/packages/perl-class-load/package.py | 2 +- .../packages/perl-compress-raw-bzip2/package.py | 2 +- .../packages/perl-compress-raw-zlib/package.py | 2 +- .../packages/perl-contextual-return/package.py | 2 +- .../packages/perl-cpan-meta-check/package.py | 2 +- .../builtin/packages/perl-data-dumper/package.py | 2 +- .../builtin/packages/perl-data-optlist/package.py | 2 +- .../builtin/packages/perl-data-stag/package.py | 2 +- .../builtin/packages/perl-dbd-mysql/package.py | 2 +- .../builtin/packages/perl-devel-cycle/package.py | 2 +- .../perl-devel-globaldestruction/package.py | 2 +- .../packages/perl-devel-overloadinfo/package.py | 2 +- .../packages/perl-devel-stacktrace/package.py | 2 +- .../builtin/packages/perl-digest-md5/package.py | 2 +- .../packages/perl-dist-checkconflicts/package.py | 2 +- .../builtin/packages/perl-encode-locale/package.py | 2 +- .../builtin/packages/perl-eval-closure/package.py | 2 +- .../packages/perl-exception-class/package.py | 2 +- .../builtin/packages/perl-exporter-tiny/package.py | 2 +- .../packages/perl-extutils-depends/package.py | 2 +- .../packages/perl-extutils-pkgconfig/package.py | 2 +- .../packages/perl-file-copy-recursive/package.py | 2 +- .../builtin/packages/perl-file-listing/package.py | 2 +- .../builtin/packages/perl-file-pushd/package.py | 2 +- .../packages/perl-file-sharedir-install/package.py | 2 +- .../packages/perl-file-slurp-tiny/package.py | 2 +- .../builtin/packages/perl-file-slurper/package.py | 2 +- .../builtin/packages/perl-font-ttf/package.py | 2 +- .../repos/builtin/packages/perl-gd/package.py | 2 +- .../repos/builtin/packages/perl-gdgraph/package.py | 2 +- .../builtin/packages/perl-gdtextutil/package.py | 2 +- .../packages/perl-graph-readwrite/package.py | 2 +- .../repos/builtin/packages/perl-graph/package.py | 2 +- .../builtin/packages/perl-html-parser/package.py | 2 +- .../builtin/packages/perl-html-tagset/package.py | 2 +- .../builtin/packages/perl-http-cookies/package.py | 2 +- .../builtin/packages/perl-http-daemon/package.py | 2 +- .../builtin/packages/perl-http-date/package.py | 2 +- .../builtin/packages/perl-http-message/package.py | 2 +- .../packages/perl-http-negotiate/package.py | 2 +- .../builtin/packages/perl-inline-c/package.py | 2 +- .../repos/builtin/packages/perl-inline/package.py | 2 +- .../builtin/packages/perl-io-compress/package.py | 2 +- .../repos/builtin/packages/perl-io-html/package.py | 2 +- .../packages/perl-io-sessiondata/package.py | 2 +- .../builtin/packages/perl-io-socket-ssl/package.py | 2 +- .../builtin/packages/perl-io-string/package.py | 2 +- .../repos/builtin/packages/perl-json/package.py | 2 +- .../packages/perl-list-moreutils/package.py | 2 +- .../builtin/packages/perl-log-log4perl/package.py | 2 +- .../packages/perl-lwp-mediatypes/package.py | 2 +- .../packages/perl-lwp-protocol-https/package.py | 2 +- .../builtin/packages/perl-math-cdf/package.py | 2 +- .../builtin/packages/perl-math-cephes/package.py | 2 +- .../packages/perl-math-matrixreal/package.py | 2 +- .../builtin/packages/perl-module-build/package.py | 2 +- .../packages/perl-module-implementation/package.py | 2 +- .../perl-module-runtime-conflicts/package.py | 2 +- .../packages/perl-module-runtime/package.py | 2 +- .../repos/builtin/packages/perl-moose/package.py | 2 +- .../builtin/packages/perl-mozilla-ca/package.py | 2 +- .../builtin/packages/perl-mro-compat/package.py | 2 +- .../packages/perl-namespace-clean/package.py | 2 +- .../builtin/packages/perl-net-http/package.py | 2 +- .../packages/perl-net-scp-expect/package.py | 2 +- .../builtin/packages/perl-net-ssleay/package.py | 2 +- .../perl-package-deprecationmanager/package.py | 2 +- .../packages/perl-package-stash-xs/package.py | 2 +- .../builtin/packages/perl-package-stash/package.py | 2 +- .../builtin/packages/perl-padwalker/package.py | 2 +- .../packages/perl-parallel-forkmanager/package.py | 2 +- .../builtin/packages/perl-params-util/package.py | 2 +- .../packages/perl-parse-recdescent/package.py | 2 +- .../builtin/packages/perl-pdf-api2/package.py | 2 +- .../repos/builtin/packages/perl-pegex/package.py | 2 +- .../builtin/packages/perl-perl-version/package.py | 2 +- .../builtin/packages/perl-perl6-slurp/package.py | 2 +- .../builtin/packages/perl-perlio-gzip/package.py | 2 +- .../packages/perl-perlio-utf8-strict/package.py | 2 +- .../builtin/packages/perl-soap-lite/package.py | 2 +- .../perl-statistics-descriptive/package.py | 2 +- .../packages/perl-statistics-pca/package.py | 2 +- .../perl-sub-exporter-progressive/package.py | 2 +- .../builtin/packages/perl-sub-exporter/package.py | 2 +- .../builtin/packages/perl-sub-identify/package.py | 2 +- .../builtin/packages/perl-sub-install/package.py | 2 +- .../builtin/packages/perl-sub-name/package.py | 2 +- .../builtin/packages/perl-sub-uplevel/package.py | 2 +- .../repos/builtin/packages/perl-svg/package.py | 2 +- .../builtin/packages/perl-task-weaken/package.py | 2 +- .../builtin/packages/perl-termreadkey/package.py | 2 +- .../packages/perl-test-cleannamespaces/package.py | 2 +- .../builtin/packages/perl-test-deep/package.py | 2 +- .../packages/perl-test-differences/package.py | 2 +- .../packages/perl-test-exception/package.py | 2 +- .../builtin/packages/perl-test-fatal/package.py | 2 +- .../packages/perl-test-memory-cycle/package.py | 2 +- .../builtin/packages/perl-test-most/package.py | 2 +- .../builtin/packages/perl-test-needs/package.py | 2 +- .../builtin/packages/perl-test-requires/package.py | 2 +- .../packages/perl-test-requiresinternet/package.py | 2 +- .../builtin/packages/perl-test-warn/package.py | 2 +- .../builtin/packages/perl-text-csv/package.py | 2 +- .../builtin/packages/perl-text-diff/package.py | 2 +- .../packages/perl-text-simpletable/package.py | 2 +- .../builtin/packages/perl-text-soundex/package.py | 2 +- .../packages/perl-text-unidecode/package.py | 2 +- .../builtin/packages/perl-time-hires/package.py | 2 +- .../builtin/packages/perl-time-piece/package.py | 2 +- .../builtin/packages/perl-try-tiny/package.py | 2 +- .../repos/builtin/packages/perl-uri/package.py | 2 +- .../repos/builtin/packages/perl-want/package.py | 2 +- .../packages/perl-xml-parser-lite/package.py | 2 +- .../builtin/packages/perl-xml-parser/package.py | 2 +- .../builtin/packages/perl-xml-simple/package.py | 2 +- .../builtin/packages/perl-yaml-libyaml/package.py | 2 +- var/spack/repos/builtin/packages/perl/package.py | 2 +- var/spack/repos/builtin/packages/plumed/package.py | 2 +- var/spack/repos/builtin/packages/pmdk/package.py | 2 +- .../repos/builtin/packages/postgresql/package.py | 2 +- .../repos/builtin/packages/powertop/package.py | 2 +- .../repos/builtin/packages/precice/package.py | 2 +- .../repos/builtin/packages/printproto/package.py | 2 +- .../repos/builtin/packages/pugixml/package.py | 2 +- .../repos/builtin/packages/py-adios/package.py | 2 +- .../repos/builtin/packages/py-aenum/package.py | 2 +- .../repos/builtin/packages/py-arviz/package.py | 2 +- .../repos/builtin/packages/py-asteval/package.py | 2 +- .../packages/py-azureml-dataprep-native/package.py | 2 +- .../packages/py-azureml-dataprep-rslex/package.py | 2 +- .../packages/py-azureml-dataprep/package.py | 2 +- .../repos/builtin/packages/py-basemap/package.py | 2 +- .../repos/builtin/packages/py-bigfloat/package.py | 2 +- .../repos/builtin/packages/py-bleach/package.py | 2 +- .../repos/builtin/packages/py-bokeh/package.py | 2 +- .../repos/builtin/packages/py-certifi/package.py | 2 +- .../repos/builtin/packages/py-cheroot/package.py | 2 +- .../repos/builtin/packages/py-cherrypy/package.py | 2 +- .../repos/builtin/packages/py-cogent/package.py | 2 +- .../repos/builtin/packages/py-cycler/package.py | 2 +- .../builtin/packages/py-et-xmlfile/package.py | 2 +- .../repos/builtin/packages/py-google/package.py | 2 +- var/spack/repos/builtin/packages/py-gpy/package.py | 2 +- .../builtin/packages/py-holland-backup/package.py | 2 +- .../repos/builtin/packages/py-jdcal/package.py | 2 +- .../builtin/packages/py-jsonschema/package.py | 2 +- .../packages/py-keras-applications/package.py | 2 +- .../repos/builtin/packages/py-keras/package.py | 2 +- .../repos/builtin/packages/py-lazyarray/package.py | 2 +- .../repos/builtin/packages/py-lmfit/package.py | 2 +- .../repos/builtin/packages/py-locket/package.py | 2 +- .../repos/builtin/packages/py-markdown/package.py | 2 +- .../builtin/packages/py-mdanalysis/package.py | 2 +- .../repos/builtin/packages/py-mpld3/package.py | 2 +- .../repos/builtin/packages/py-mpmath/package.py | 2 +- var/spack/repos/builtin/packages/py-mx/package.py | 2 +- .../repos/builtin/packages/py-neotime/package.py | 2 +- .../repos/builtin/packages/py-netifaces/package.py | 2 +- .../repos/builtin/packages/py-nose-cov/package.py | 1 - .../repos/builtin/packages/py-pager/package.py | 1 - .../repos/builtin/packages/py-partd/package.py | 2 +- var/spack/repos/builtin/packages/py-pil/package.py | 2 +- .../repos/builtin/packages/py-pkgconfig/package.py | 2 +- .../repos/builtin/packages/py-pudb/package.py | 2 +- .../repos/builtin/packages/py-pure-sasl/package.py | 2 +- .../repos/builtin/packages/py-py2neo/package.py | 2 +- .../repos/builtin/packages/py-pybids/package.py | 2 +- .../repos/builtin/packages/py-pygit2/package.py | 2 +- .../repos/builtin/packages/py-pygments/package.py | 2 +- .../repos/builtin/packages/py-pygpu/package.py | 2 +- .../repos/builtin/packages/py-pyke/package.py | 2 +- .../repos/builtin/packages/py-pymc3/package.py | 2 +- .../repos/builtin/packages/py-pypar/package.py | 2 +- .../repos/builtin/packages/py-pyparsing/package.py | 2 +- .../repos/builtin/packages/py-pyprecice/package.py | 2 +- .../builtin/packages/py-pytest-pep8/package.py | 1 - .../builtin/packages/py-python-fmask/package.py | 2 +- .../repos/builtin/packages/py-rios/package.py | 2 +- .../packages/py-ruamel-ordereddict/package.py | 2 +- .../packages/py-ruamel-yaml-clib/package.py | 2 +- .../builtin/packages/py-scikit-image/package.py | 2 +- .../repos/builtin/packages/py-sphinx/package.py | 2 +- .../builtin/packages/py-statsmodels/package.py | 2 +- .../repos/builtin/packages/py-theano/package.py | 2 +- .../builtin/packages/py-thirdorder/package.py | 2 +- .../repos/builtin/packages/py-toolz/package.py | 2 +- .../repos/builtin/packages/py-uvloop/package.py | 2 +- .../repos/builtin/packages/py-wget/package.py | 1 - .../builtin/packages/py-wincertstore/package.py | 2 +- .../repos/builtin/packages/py-xattr/package.py | 2 +- .../builtin/packages/py-yamlreader/package.py | 2 +- var/spack/repos/builtin/packages/py-yt/package.py | 2 +- .../builtin/packages/py-zc-buildout/package.py | 1 - .../repos/builtin/packages/qrupdate/package.py | 2 +- var/spack/repos/builtin/packages/quota/package.py | 2 +- var/spack/repos/builtin/packages/r-amap/package.py | 2 +- var/spack/repos/builtin/packages/r-fs/package.py | 2 +- .../repos/builtin/packages/r-hmisc/package.py | 2 +- .../repos/builtin/packages/r-pbkrtest/package.py | 2 +- .../repos/builtin/packages/r-proto/package.py | 2 +- var/spack/repos/builtin/packages/r-rmpi/package.py | 2 +- .../builtin/packages/r-rpostgresql/package.py | 2 +- .../repos/builtin/packages/r-rstan/package.py | 2 +- .../repos/builtin/packages/r-shinystan/package.py | 2 +- .../repos/builtin/packages/r-stabledist/package.py | 2 +- .../builtin/packages/r-stanheaders/package.py | 2 +- .../repos/builtin/packages/r-whisker/package.py | 2 +- var/spack/repos/builtin/packages/r-xlsx/package.py | 2 +- .../repos/builtin/packages/rabbitmq/package.py | 2 +- .../repos/builtin/packages/random123/package.py | 2 +- .../repos/builtin/packages/raptor2/package.py | 2 +- var/spack/repos/builtin/packages/rclone/package.py | 2 +- .../builtin/packages/redland-bindings/package.py | 2 +- .../repos/builtin/packages/redland/package.py | 2 +- var/spack/repos/builtin/packages/rr/package.py | 2 +- .../repos/builtin/packages/rust-bindgen/package.py | 2 +- .../repos/builtin/packages/sblim-sfcc/package.py | 2 +- var/spack/repos/builtin/packages/sbt/package.py | 2 +- var/spack/repos/builtin/packages/scons/package.py | 2 +- var/spack/repos/builtin/packages/scr/package.py | 2 +- .../repos/builtin/packages/setserial/package.py | 2 +- var/spack/repos/builtin/packages/smalt/package.py | 2 +- .../builtin/packages/soapdenovo-trans/package.py | 2 +- .../repos/builtin/packages/sparskit/package.py | 2 +- var/spack/repos/builtin/packages/tcsh/package.py | 2 +- .../repos/builtin/packages/texstudio/package.py | 2 +- .../packages/the-silver-searcher/package.py | 2 +- var/spack/repos/builtin/packages/velvet/package.py | 2 +- .../packages/votca-csg-tutorials/package.py | 2 +- .../repos/builtin/packages/votca-csg/package.py | 2 +- .../builtin/packages/votca-csgapps/package.py | 2 +- .../repos/builtin/packages/votca-ctp/package.py | 2 +- .../repos/builtin/packages/votca-tools/package.py | 2 +- .../repos/builtin/packages/votca-xtp/package.py | 2 +- var/spack/repos/builtin/packages/wcslib/package.py | 2 +- .../builtin/packages/windowswmproto/package.py | 2 +- var/spack/repos/builtin/packages/wt/package.py | 2 +- .../repos/builtin/packages/xcb-proto/package.py | 2 +- .../repos/builtin/packages/xf86driproto/package.py | 2 +- .../builtin/packages/xf86miscproto/package.py | 2 +- .../builtin/packages/xf86vidmodeproto/package.py | 2 +- .../repos/builtin/packages/xfsdump/package.py | 2 +- .../repos/builtin/packages/xfsinfo/package.py | 2 +- .../repos/builtin/packages/xfsprogs/package.py | 2 +- .../builtin/packages/xineramaproto/package.py | 2 +- var/spack/repos/builtin/packages/xinit/package.py | 2 +- .../builtin/packages/xorg-sgml-doctools/package.py | 2 +- .../repos/builtin/packages/xphelloworld/package.py | 2 +- .../packages/xprehashprinterlist/package.py | 2 +- var/spack/repos/builtin/packages/xprop/package.py | 2 +- var/spack/repos/builtin/packages/xrx/package.py | 2 +- var/spack/repos/builtin/packages/xscope/package.py | 2 +- .../repos/builtin/packages/xsetmode/package.py | 2 +- .../repos/builtin/packages/xsetpointer/package.py | 2 +- var/spack/repos/builtin/packages/xterm/package.py | 2 +- var/spack/repos/builtin/packages/xtrap/package.py | 2 +- var/spack/repos/builtin/packages/xwd/package.py | 2 +- var/spack/repos/builtin/packages/xz/package.py | 2 +- var/spack/repos/builtin/packages/zabbix/package.py | 2 +- var/spack/repos/builtin/packages/zsh/package.py | 2 +- 378 files changed, 394 insertions(+), 393 deletions(-) diff --git a/var/spack/repos/builtin/packages/abinit/package.py b/var/spack/repos/builtin/packages/abinit/package.py index 939118efa24..db19c5af048 100644 --- a/var/spack/repos/builtin/packages/abinit/package.py +++ b/var/spack/repos/builtin/packages/abinit/package.py @@ -27,7 +27,7 @@ class Abinit(AutotoolsPackage): programs are provided. """ - homepage = 'http://www.abinit.org' + homepage = 'https://www.abinit.org/' url = 'https://www.abinit.org/sites/default/files/packages/abinit-8.6.3.tar.gz' version('9.4.2', sha256='d40886f5c8b138bb4aa1ca05da23388eb70a682790cfe5020ecce4db1b1a76bc') diff --git a/var/spack/repos/builtin/packages/ack/package.py b/var/spack/repos/builtin/packages/ack/package.py index 3fdb63c7674..e471fb56244 100644 --- a/var/spack/repos/builtin/packages/ack/package.py +++ b/var/spack/repos/builtin/packages/ack/package.py @@ -13,8 +13,8 @@ class Ack(Package): source code, ack is written purely in portable Perl 5 and takes advantage of the power of Perl's regular expressions.""" - homepage = "http://beyondgrep.com/" - url = "http://beyondgrep.com/ack-2.14-single-file" + homepage = "https://beyondgrep.com/" + url = "https://beyondgrep.com/ack-2.14-single-file" version('2.22', sha256='fd0617585b88517a3d41d3d206c1dc38058c57b90dfd88c278049a41aeb5be38', expand=False) version('2.18', sha256='6e41057c8f50f661d800099471f769209480efa53b8a886969d7ec6db60a2208', expand=False) diff --git a/var/spack/repos/builtin/packages/alglib/package.py b/var/spack/repos/builtin/packages/alglib/package.py index 6fe40c6b2fb..0b94f914bf3 100644 --- a/var/spack/repos/builtin/packages/alglib/package.py +++ b/var/spack/repos/builtin/packages/alglib/package.py @@ -11,8 +11,8 @@ class Alglib(MakefilePackage): """ALGLIB is a cross-platform numerical analysis and data processing library.""" - homepage = "http://www.alglib.net" - url = "http://www.alglib.net/translator/re/alglib-3.11.0.cpp.gpl.tgz" + homepage = "https://www.alglib.net/" + url = "https://www.alglib.net/translator/re/alglib-3.11.0.cpp.gpl.tgz" version('3.11.0', sha256='34e391594aac89fb354bdaf58c42849489cd1199197398ba98bb69961f42bdb0') diff --git a/var/spack/repos/builtin/packages/applewmproto/package.py b/var/spack/repos/builtin/packages/applewmproto/package.py index 43025255759..cb831f48993 100644 --- a/var/spack/repos/builtin/packages/applewmproto/package.py +++ b/var/spack/repos/builtin/packages/applewmproto/package.py @@ -13,7 +13,7 @@ class Applewmproto(AutotoolsPackage, XorgPackage): to better interact with the Mac OS X Aqua user interface when running X11 in a rootless mode.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/applewmproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/applewmproto" xorg_mirror_path = "proto/applewmproto-1.4.2.tar.gz" version('1.4.2', sha256='ff8ac07d263a23357af2d6ff0cca3c1d56b043ddf7797a5a92ec624f4704df2e') diff --git a/var/spack/repos/builtin/packages/asciidoc/package.py b/var/spack/repos/builtin/packages/asciidoc/package.py index 4c5ddd2ba0f..c0bf35aad39 100644 --- a/var/spack/repos/builtin/packages/asciidoc/package.py +++ b/var/spack/repos/builtin/packages/asciidoc/package.py @@ -10,7 +10,7 @@ class Asciidoc(AutotoolsPackage): """A presentable text document format for writing articles, UNIX man pages and other small to medium sized documents.""" - homepage = "http://asciidoc.org" + homepage = "https://asciidoc.org/" # Always working URL but strangely with another checksum url = "https://github.com/asciidoc-py/asciidoc-py/archive/8.6.10.tar.gz" git = "https://github.com/asciidoc-py/asciidoc-py.git" diff --git a/var/spack/repos/builtin/packages/bcache/package.py b/var/spack/repos/builtin/packages/bcache/package.py index c25f333eabd..a8d4bceb3a6 100644 --- a/var/spack/repos/builtin/packages/bcache/package.py +++ b/var/spack/repos/builtin/packages/bcache/package.py @@ -10,7 +10,7 @@ class Bcache(MakefilePackage): """Bcache is a patch for the Linux kernel to use SSDs to cache other block devices.""" - homepage = "http://bcache.evilpiepirate.org" + homepage = "https://bcache.evilpiepirate.org/" url = "https://github.com/g2p/bcache-tools/archive/v1.0.8.tar.gz" version('1.0.8', sha256='d56923936f37287efc57a46315679102ef2c86cd0be5874590320acd48c1201c') diff --git a/var/spack/repos/builtin/packages/bib2xhtml/package.py b/var/spack/repos/builtin/packages/bib2xhtml/package.py index 3be5aadecf2..7ce02354aa9 100644 --- a/var/spack/repos/builtin/packages/bib2xhtml/package.py +++ b/var/spack/repos/builtin/packages/bib2xhtml/package.py @@ -6,7 +6,7 @@ class Bib2xhtml(Package): """bib2xhtml is a program that converts BibTeX files into HTML.""" - homepage = "http://www.spinellis.gr/sw/textproc/bib2xhtml/" + homepage = "https://www.spinellis.gr/sw/textproc/bib2xhtml/" url = 'https://www.spinellis.gr/sw/textproc/bib2xhtml/bib2xhtml-v3.0-79-ge935.tar.gz' version('3.0-79-ge935', sha256='4a2d2d89dd2f3fed1c735055b806809b5cc1cde32dee1aa5987097ec5bf2181f') diff --git a/var/spack/repos/builtin/packages/blast-plus/package.py b/var/spack/repos/builtin/packages/blast-plus/package.py index 2bc4e1e7831..767bb2e3702 100644 --- a/var/spack/repos/builtin/packages/blast-plus/package.py +++ b/var/spack/repos/builtin/packages/blast-plus/package.py @@ -20,7 +20,7 @@ class BlastPlus(AutotoolsPackage): """Basic Local Alignment Search Tool.""" - homepage = "http://blast.ncbi.nlm.nih.gov/" + homepage = "https://blast.ncbi.nlm.nih.gov/" url = "https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.12.0/ncbi-blast-2.12.0+-src.tar.gz" maintainers = ['weijianwen'] diff --git a/var/spack/repos/builtin/packages/bohrium/package.py b/var/spack/repos/builtin/packages/bohrium/package.py index 62ed433d22a..c2defe0b8a4 100644 --- a/var/spack/repos/builtin/packages/bohrium/package.py +++ b/var/spack/repos/builtin/packages/bohrium/package.py @@ -15,7 +15,7 @@ class Bohrium(CMakePackage, CudaPackage): """Library for automatic acceleration of array operations""" - homepage = "http://bh107.org" + homepage = "https://github.com/bh107/bohrium" url = "https://github.com/bh107/bohrium/archive/v0.9.0.tar.gz" git = "https://github.com/bh107/bohrium.git" diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index ff5f1b71947..35d0d1144cc 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -18,7 +18,7 @@ class Boost(Package): across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use. """ - homepage = "http://www.boost.org" + homepage = "https://www.boost.org" url = "http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2" git = "https://github.com/boostorg/boost.git" list_url = "http://sourceforge.net/projects/boost/files/boost/" diff --git a/var/spack/repos/builtin/packages/byobu/package.py b/var/spack/repos/builtin/packages/byobu/package.py index d301845f497..5595c376150 100644 --- a/var/spack/repos/builtin/packages/byobu/package.py +++ b/var/spack/repos/builtin/packages/byobu/package.py @@ -10,7 +10,7 @@ class Byobu(AutotoolsPackage): """Byobu: Text-based window manager and terminal multiplexer.""" - homepage = "http://www.byobu.co" + homepage = "https://www.byobu.co/" url = "https://launchpad.net/byobu/trunk/5.123/+download/byobu_5.123.orig.tar.gz" maintainers = ['matthiasdiener'] diff --git a/var/spack/repos/builtin/packages/byte-unixbench/package.py b/var/spack/repos/builtin/packages/byte-unixbench/package.py index 84aabb8d7f5..b7fa65dfa41 100644 --- a/var/spack/repos/builtin/packages/byte-unixbench/package.py +++ b/var/spack/repos/builtin/packages/byte-unixbench/package.py @@ -9,7 +9,7 @@ class ByteUnixbench(MakefilePackage): """UnixBench is the original BYTE UNIX benchmark suite.""" - homepage = "https://code.google.com/archive/p/byte-unixbench" + homepage = "https://github.com/kdlucas/byte-unixbench" url = "https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz" version('5.1.3', sha256='3a6bb00f270a5329682dff20fd2c1ab5332ef046eb54a96a0d7bd371005d31a3') diff --git a/var/spack/repos/builtin/packages/c-blosc/package.py b/var/spack/repos/builtin/packages/c-blosc/package.py index 2fb292a19d9..f112ee16d08 100644 --- a/var/spack/repos/builtin/packages/c-blosc/package.py +++ b/var/spack/repos/builtin/packages/c-blosc/package.py @@ -11,7 +11,7 @@ class CBlosc(CMakePackage): """Blosc, an extremely fast, multi-threaded, meta-compressor library""" - homepage = "http://www.blosc.org" + homepage = "https://www.blosc.org" url = "https://github.com/Blosc/c-blosc/archive/v1.11.1.tar.gz" version('1.21.0', sha256='b0ef4fda82a1d9cbd11e0f4b9685abf14372db51703c595ecd4d76001a8b342d') diff --git a/var/spack/repos/builtin/packages/c-blosc2/package.py b/var/spack/repos/builtin/packages/c-blosc2/package.py index ee3c7021cce..d7b91125e1d 100644 --- a/var/spack/repos/builtin/packages/c-blosc2/package.py +++ b/var/spack/repos/builtin/packages/c-blosc2/package.py @@ -10,7 +10,7 @@ class CBlosc2(CMakePackage): """Next generation c-blosc with a new API, a new container and other bells and whistles""" - homepage = "http://www.blosc.org" + homepage = "https://www.blosc.org/" url = "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.0.1.tar.gz" git = "https://github.com/Blosc/c-blosc2.git" diff --git a/var/spack/repos/builtin/packages/cfitsio/package.py b/var/spack/repos/builtin/packages/cfitsio/package.py index 535446eb383..d1061ec1730 100644 --- a/var/spack/repos/builtin/packages/cfitsio/package.py +++ b/var/spack/repos/builtin/packages/cfitsio/package.py @@ -11,8 +11,8 @@ class Cfitsio(AutotoolsPackage): data files in FITS (Flexible Image Transport System) data format. """ - homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/' - url = 'http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.49.tar.gz' + homepage = 'https://heasarc.gsfc.nasa.gov/fitsio/' + url = 'https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.49.tar.gz' version('3.49', sha256='5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3') version('3.48', sha256='91b48ffef544eb8ea3908543052331072c99bf09ceb139cb3c6977fc3e47aac1') diff --git a/var/spack/repos/builtin/packages/codec2/package.py b/var/spack/repos/builtin/packages/codec2/package.py index e90ecd00bde..17c2289247f 100644 --- a/var/spack/repos/builtin/packages/codec2/package.py +++ b/var/spack/repos/builtin/packages/codec2/package.py @@ -11,7 +11,7 @@ class Codec2(CMakePackage): between 450 and 3200 bit/s. The main application is low bandwidth HF/VHF digital radio.""" - homepage = "http://www.rowetel.com/codec2.html" + homepage = "https://www.rowetel.com/?page_id=452" url = "https://github.com/drowe67/codec2/archive/v0.9.2.tar.gz" version('0.9.2', sha256='19181a446f4df3e6d616b50cabdac4485abb9cd3242cf312a0785f892ed4c76c') diff --git a/var/spack/repos/builtin/packages/dbus/package.py b/var/spack/repos/builtin/packages/dbus/package.py index be91ce0b9ef..4efbc8ddd50 100644 --- a/var/spack/repos/builtin/packages/dbus/package.py +++ b/var/spack/repos/builtin/packages/dbus/package.py @@ -16,8 +16,8 @@ class Dbus(Package): by any two applications to communicate directly (without going through the message bus daemon).""" - homepage = "http://dbus.freedesktop.org/" - url = "http://dbus.freedesktop.org/releases/dbus/dbus-1.8.8.tar.gz" + homepage = "https://dbus.freedesktop.org/" + url = "https://dbus.freedesktop.org/releases/dbus/dbus-1.8.8.tar.gz" version('1.12.8', sha256='e2dc99e7338303393b6663a98320aba6a63421bcdaaf571c8022f815e5896eb3') version('1.11.2', sha256='5abc4c57686fa82669ad0039830788f9b03fdc4fff487f0ccf6c9d56ba2645c9') diff --git a/var/spack/repos/builtin/packages/editline/package.py b/var/spack/repos/builtin/packages/editline/package.py index 39e76683d12..dad81a4b08d 100644 --- a/var/spack/repos/builtin/packages/editline/package.py +++ b/var/spack/repos/builtin/packages/editline/package.py @@ -9,7 +9,7 @@ class Editline(AutotoolsPackage): """A readline() replacement for UNIX without termcap (ncurses)""" - homepage = "http://troglobit.com/editline.html" + homepage = "https://troglobit.com/editline.html" url = "https://github.com/troglobit/editline/archive/1.16.0.tar.gz" version('1.16.0', sha256='33421a1569d025f332a87054bfea28e2c757bdb573f1437bc22c34b798b6383c') diff --git a/var/spack/repos/builtin/packages/elemental/package.py b/var/spack/repos/builtin/packages/elemental/package.py index 4a3cee1df37..be006f93c1d 100644 --- a/var/spack/repos/builtin/packages/elemental/package.py +++ b/var/spack/repos/builtin/packages/elemental/package.py @@ -13,7 +13,7 @@ class Elemental(CMakePackage): """Elemental: Distributed-memory dense and sparse-direct linear algebra and optimization library.""" - homepage = "http://libelemental.org" + homepage = "https://libelemental.org" url = "https://github.com/elemental/Elemental/archive/v0.87.7.tar.gz" git = "https://github.com/elemental/Elemental.git" diff --git a/var/spack/repos/builtin/packages/etsf-io/package.py b/var/spack/repos/builtin/packages/etsf-io/package.py index e180397ce82..b82c3451841 100644 --- a/var/spack/repos/builtin/packages/etsf-io/package.py +++ b/var/spack/repos/builtin/packages/etsf-io/package.py @@ -15,7 +15,7 @@ class EtsfIo(Package): quantum-chemical applications relying upon Density Functional Theory (DFT). """ - homepage = "http://www.etsf.eu/resources/software/libraries_and_tools" + homepage = "https://github.com/ElectronicStructureLibrary/libetsf_io" url = "https://launchpad.net/etsf-io/1.0/1.0.4/+download/etsf_io-1.0.4.tar.gz" version('1.0.4', sha256='3140c2cde17f578a0e6b63acb27a5f6e9352257a1371a17b9c15c3d0ef078fa4') diff --git a/var/spack/repos/builtin/packages/exciting/package.py b/var/spack/repos/builtin/packages/exciting/package.py index c44f9aa93d6..bda6d874710 100644 --- a/var/spack/repos/builtin/packages/exciting/package.py +++ b/var/spack/repos/builtin/packages/exciting/package.py @@ -15,8 +15,8 @@ class Exciting(MakefilePackage): particular focus are excited states within many-body perturbation theory. """ - homepage = "http://exciting-code.org/" - url = "http://exciting.wdfiles.com/local--files/nitrogen-14/exciting.nitrogen-14.tar.gz" + homepage = "https://exciting-code.org/" + url = "https://exciting.wdfiles.com/local--files/nitrogen-14/exciting.nitrogen-14.tar.gz" version('14', sha256='a7feaffdc23881d6c0737d2f79f94d9bf073e85ea358a57196d7f7618a0a3eff') diff --git a/var/spack/repos/builtin/packages/exempi/package.py b/var/spack/repos/builtin/packages/exempi/package.py index 4f1ddff54a1..e9b5ecfa1bb 100644 --- a/var/spack/repos/builtin/packages/exempi/package.py +++ b/var/spack/repos/builtin/packages/exempi/package.py @@ -14,7 +14,7 @@ class Exempi(AutotoolsPackage): a command line tool. """ - homepage = "http://libopenraw.freedesktop.org/wiki/Exempi" + homepage = "https://libopenraw.freedesktop.org/wiki/Exempi" url = "https://libopenraw.freedesktop.org/download/exempi-2.5.2.tar.bz2" version('2.5.2', sha256='52f54314aefd45945d47a6ecf4bd21f362e6467fa5d0538b0d45a06bc6eaaed5') diff --git a/var/spack/repos/builtin/packages/f2c/package.py b/var/spack/repos/builtin/packages/f2c/package.py index 3764529a83d..3fe7f68216b 100644 --- a/var/spack/repos/builtin/packages/f2c/package.py +++ b/var/spack/repos/builtin/packages/f2c/package.py @@ -9,8 +9,8 @@ class F2c(MakefilePackage): """F2c converts Fortran 77 source code to C or C++ source files.""" - homepage = "http://www.netlib.org/f2c/" - url = "http://www.netlib.org/f2c/src.tgz" + homepage = "https://www.netlib.org/f2c/" + url = "https://www.netlib.org/f2c/src.tgz" version('master', sha256='d4847456aa91c74e5e61e2097780ca6ac3b20869fae8864bfa8dcc66f6721d35') diff --git a/var/spack/repos/builtin/packages/fastqc/package.py b/var/spack/repos/builtin/packages/fastqc/package.py index 3463f5c1d1d..47e7b9370b2 100644 --- a/var/spack/repos/builtin/packages/fastqc/package.py +++ b/var/spack/repos/builtin/packages/fastqc/package.py @@ -9,8 +9,8 @@ class Fastqc(Package): """A quality control tool for high throughput sequence data.""" - homepage = "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/" - url = "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip" + homepage = "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/" + url = "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip" version('0.11.9', sha256='15510a176ef798e40325b717cac556509fb218268cfdb9a35ea6776498321369') version('0.11.7', sha256='59cf50876bbe5f363442eb989e43ae3eaab8d932c49e8cff2c1a1898dd721112') diff --git a/var/spack/repos/builtin/packages/faust/package.py b/var/spack/repos/builtin/packages/faust/package.py index 859d06ff0e2..0d568bc2fc2 100644 --- a/var/spack/repos/builtin/packages/faust/package.py +++ b/var/spack/repos/builtin/packages/faust/package.py @@ -11,7 +11,7 @@ class Faust(MakefilePackage): specifically designed for real-time signal processing and synthesis. A distinctive characteristic of Faust is to be fully compiled.""" - homepage = "http://faust.grame.fr/" + homepage = "https://faust.grame.fr/" url = "https://github.com/grame-cncm/faust/archive/2.27.2.tar.gz" version('2.27.2', sha256='3367a868a93b63582bae29ab8783f1df7a10f4084a2bc1d2258ebf3d6a8c31d7') diff --git a/var/spack/repos/builtin/packages/fenics/package.py b/var/spack/repos/builtin/packages/fenics/package.py index 1cd9ff22ed8..164148149a3 100644 --- a/var/spack/repos/builtin/packages/fenics/package.py +++ b/var/spack/repos/builtin/packages/fenics/package.py @@ -14,7 +14,7 @@ class Fenics(CMakePackage): the code generation interface UFC, the form language UFL and a range of additional components.""" - homepage = "http://fenicsproject.org/" + homepage = "https://fenicsproject.org/" git = "https://bitbucket.org/fenics-project/dolfin.git" url = "https://bitbucket.org/fenics-project/dolfin/downloads/dolfin-2019.1.0.post0.tar.gz" diff --git a/var/spack/repos/builtin/packages/flann/package.py b/var/spack/repos/builtin/packages/flann/package.py index c50e6f22c10..d186f2f8c4b 100644 --- a/var/spack/repos/builtin/packages/flann/package.py +++ b/var/spack/repos/builtin/packages/flann/package.py @@ -18,7 +18,7 @@ class Flann(CMakePackage): C, MATLAB and Python. """ - homepage = "http://www.cs.ubc.ca/research/flann/" + homepage = "https://github.com/mariusmuja/flann" url = "https://github.com/mariusmuja/flann/archive/1.9.1.tar.gz" version('1.9.1', sha256='b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3') diff --git a/var/spack/repos/builtin/packages/fltk/package.py b/var/spack/repos/builtin/packages/fltk/package.py index 99509b63082..f4f6e6c213b 100644 --- a/var/spack/repos/builtin/packages/fltk/package.py +++ b/var/spack/repos/builtin/packages/fltk/package.py @@ -18,8 +18,8 @@ class Fltk(Package): applications in minutes. """ - homepage = 'http://www.fltk.org/' - url = 'http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz' + homepage = 'https://www.fltk.org/' + url = 'https://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz' version('1.3.3', sha256='f8398d98d7221d40e77bc7b19e761adaf2f1ef8bb0c30eceb7beb4f2273d0d97') diff --git a/var/spack/repos/builtin/packages/fseq/package.py b/var/spack/repos/builtin/packages/fseq/package.py index d5aad7fe62d..92ed37cc4e3 100644 --- a/var/spack/repos/builtin/packages/fseq/package.py +++ b/var/spack/repos/builtin/packages/fseq/package.py @@ -9,7 +9,7 @@ class Fseq(Package): """F-Seq: A Feature Density Estimator for High-Throughput Sequence Tags""" - homepage = "http://fureylab.web.unc.edu/software/fseq/" + homepage = "https://fureylab.web.unc.edu/software/fseq/" url = "http://html-large-files-dept-fureylab.cloudapps.unc.edu/fureylabfiles/fseq/fseq_1.84.tgz" version('1.84', sha256='22d603a51f127cb86cdecde9aeae14d273bb98bcd2b47724763ab3b3241a6e68') diff --git a/var/spack/repos/builtin/packages/g4abla/package.py b/var/spack/repos/builtin/packages/g4abla/package.py index d74a7d15ed6..b0b25b9028f 100644 --- a/var/spack/repos/builtin/packages/g4abla/package.py +++ b/var/spack/repos/builtin/packages/g4abla/package.py @@ -9,7 +9,7 @@ class G4abla(Package): """Geant4 data for nuclear shell effects in INCL/ABLA hadronic mode""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4ABLA.3.0.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4emlow/package.py b/var/spack/repos/builtin/packages/g4emlow/package.py index 5e7496892e2..7c6fabb4430 100644 --- a/var/spack/repos/builtin/packages/g4emlow/package.py +++ b/var/spack/repos/builtin/packages/g4emlow/package.py @@ -9,7 +9,7 @@ class G4emlow(Package): """Geant4 data files for low energy electromagnetic processes.""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4EMLOW.6.50.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4ensdfstate/package.py b/var/spack/repos/builtin/packages/g4ensdfstate/package.py index cfbf04e79b8..bfaa5567beb 100644 --- a/var/spack/repos/builtin/packages/g4ensdfstate/package.py +++ b/var/spack/repos/builtin/packages/g4ensdfstate/package.py @@ -9,7 +9,7 @@ class G4ensdfstate(Package): """Geant4 data for nuclides properties""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4ENSDFSTATE.2.1.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4incl/package.py b/var/spack/repos/builtin/packages/g4incl/package.py index e5fa43e7152..57cc06bccf6 100644 --- a/var/spack/repos/builtin/packages/g4incl/package.py +++ b/var/spack/repos/builtin/packages/g4incl/package.py @@ -10,7 +10,7 @@ class G4incl(Package): """Geant4 data for evaluated particle cross-sections on natural composition of elements""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4INCL.1.0.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4ndl/package.py b/var/spack/repos/builtin/packages/g4ndl/package.py index e2ce0bbdacc..86645b2826d 100644 --- a/var/spack/repos/builtin/packages/g4ndl/package.py +++ b/var/spack/repos/builtin/packages/g4ndl/package.py @@ -9,7 +9,7 @@ class G4ndl(Package): """Geant4 Neutron data files with thermal cross sections """ - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4NDL.4.5.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4neutronxs/package.py b/var/spack/repos/builtin/packages/g4neutronxs/package.py index 9d33ce8ff1f..dd76c7068f3 100644 --- a/var/spack/repos/builtin/packages/g4neutronxs/package.py +++ b/var/spack/repos/builtin/packages/g4neutronxs/package.py @@ -10,7 +10,7 @@ class G4neutronxs(Package): """Geant4 data for evaluated neutron cross-sections on natural composition of elements""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4NEUTRONXS.1.4.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4particlexs/package.py b/var/spack/repos/builtin/packages/g4particlexs/package.py index 2e42a543f13..8bc3a28b934 100644 --- a/var/spack/repos/builtin/packages/g4particlexs/package.py +++ b/var/spack/repos/builtin/packages/g4particlexs/package.py @@ -10,7 +10,7 @@ class G4particlexs(Package): """Geant4 data for evaluated particle cross-sections on natural composition of elements""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4PARTICLEXS.2.1.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4photonevaporation/package.py b/var/spack/repos/builtin/packages/g4photonevaporation/package.py index a79d111824c..ec5d8a676a5 100644 --- a/var/spack/repos/builtin/packages/g4photonevaporation/package.py +++ b/var/spack/repos/builtin/packages/g4photonevaporation/package.py @@ -9,7 +9,7 @@ class G4photonevaporation(Package): """Geant4 data for photon evaporation""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4PhotonEvaporation.4.3.2.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4pii/package.py b/var/spack/repos/builtin/packages/g4pii/package.py index dafd7500186..45a1ed019ba 100644 --- a/var/spack/repos/builtin/packages/g4pii/package.py +++ b/var/spack/repos/builtin/packages/g4pii/package.py @@ -9,7 +9,7 @@ class G4pii(Package): """Geant4 data for shell ionisation cross-sections""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4PII.1.3.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4radioactivedecay/package.py b/var/spack/repos/builtin/packages/g4radioactivedecay/package.py index 2e1ea3ad348..09884b3598f 100644 --- a/var/spack/repos/builtin/packages/g4radioactivedecay/package.py +++ b/var/spack/repos/builtin/packages/g4radioactivedecay/package.py @@ -9,7 +9,7 @@ class G4radioactivedecay(Package): """Geant4 data files for radio-active decay hadronic processes""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4RadioactiveDecay.5.1.1.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4tendl/package.py b/var/spack/repos/builtin/packages/g4tendl/package.py index 9c898897c6b..9824fe98000 100644 --- a/var/spack/repos/builtin/packages/g4tendl/package.py +++ b/var/spack/repos/builtin/packages/g4tendl/package.py @@ -9,7 +9,7 @@ class G4tendl(Package): """Geant4 data for incident particles [optional]""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4TENDL.1.3.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/gatk/package.py b/var/spack/repos/builtin/packages/gatk/package.py index f83ead3d2d1..718b04fee48 100644 --- a/var/spack/repos/builtin/packages/gatk/package.py +++ b/var/spack/repos/builtin/packages/gatk/package.py @@ -12,7 +12,7 @@ class Gatk(Package): Variant Discovery in High-Throughput Sequencing Data """ - homepage = "https://software.broadinstitute.org/gatk/" + homepage = "https://gatk.broadinstitute.org/hc/en-us" url = "https://github.com/broadinstitute/gatk/releases/download/4.1.0.0/gatk-4.1.0.0.zip" list_url = "https://github.com/broadinstitute/gatk/releases" diff --git a/var/spack/repos/builtin/packages/gconf/package.py b/var/spack/repos/builtin/packages/gconf/package.py index 5479ae80ba3..eaa70724c73 100644 --- a/var/spack/repos/builtin/packages/gconf/package.py +++ b/var/spack/repos/builtin/packages/gconf/package.py @@ -7,12 +7,16 @@ class Gconf(AutotoolsPackage): - """GConf is a system for storing application preferences.""" + """GConf is a system for storing application preferences. - homepage = "https://projects.gnome.org/gconf/" + Note that this software is now deprecated in favor of moving to GSettings + and dconf with the GNOME 3 transition. + """ + + homepage = "https://en.wikipedia.org/wiki/GConf" url = "http://ftp.gnome.org/pub/gnome/sources/GConf/3.2/GConf-3.2.6.tar.xz" - version('3.2.6', sha256='1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c') + version('3.2.6', sha256='1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c', deprecated=True) depends_on('pkgconfig', type='build') depends_on('glib@2.14.0:') diff --git a/var/spack/repos/builtin/packages/gdbm/package.py b/var/spack/repos/builtin/packages/gdbm/package.py index b1a437b7cfd..7262a6e2ea1 100644 --- a/var/spack/repos/builtin/packages/gdbm/package.py +++ b/var/spack/repos/builtin/packages/gdbm/package.py @@ -13,7 +13,7 @@ class Gdbm(AutotoolsPackage, GNUMirrorPackage): These routines are provided to a programmer needing to create and manipulate a hashed database.""" - homepage = "http://www.gnu.org.ua/software/gdbm/gdbm.html" + homepage = "https://www.gnu.org.ua/software/gdbm/gdbm.html" gnu_mirror_path = "gdbm/gdbm-1.13.tar.gz" version('1.19', sha256='37ed12214122b972e18a0d94995039e57748191939ef74115b1d41d8811364bc') diff --git a/var/spack/repos/builtin/packages/geos/package.py b/var/spack/repos/builtin/packages/geos/package.py index d4d905d4a56..f1f29bd0f43 100644 --- a/var/spack/repos/builtin/packages/geos/package.py +++ b/var/spack/repos/builtin/packages/geos/package.py @@ -13,7 +13,7 @@ class Geos(CMakePackage): Simple Features for SQL spatial predicate functions and spatial operators, as well as specific JTS enhanced topology functions.""" - homepage = "http://trac.osgeo.org/geos/" + homepage = "https://trac.osgeo.org/geos/" url = "https://download.osgeo.org/geos/geos-3.8.1.tar.bz2" maintainers = ['adamjstewart'] diff --git a/var/spack/repos/builtin/packages/ghostscript-fonts/package.py b/var/spack/repos/builtin/packages/ghostscript-fonts/package.py index fac683d2b12..7d75f3ba59a 100644 --- a/var/spack/repos/builtin/packages/ghostscript-fonts/package.py +++ b/var/spack/repos/builtin/packages/ghostscript-fonts/package.py @@ -11,7 +11,7 @@ class GhostscriptFonts(Package): """Ghostscript Fonts""" - homepage = "http://ghostscript.com/" + homepage = "https://ghostscript.com/" url = "https://www.imagemagick.org/download/delegates/ghostscript-fonts-std-8.11.tar.gz" version('8.11', sha256='0eb6f356119f2e49b2563210852e17f57f9dcc5755f350a69a46a0d641a0c401') diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py index a75088c203b..25b16842bd2 100644 --- a/var/spack/repos/builtin/packages/ghostscript/package.py +++ b/var/spack/repos/builtin/packages/ghostscript/package.py @@ -12,7 +12,7 @@ class Ghostscript(AutotoolsPackage): """An interpreter for the PostScript language and for PDF.""" - homepage = "http://ghostscript.com/" + homepage = "https://ghostscript.com/" url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/ghostscript-9.26.tar.gz" executables = [r'^gs$'] diff --git a/var/spack/repos/builtin/packages/gource/package.py b/var/spack/repos/builtin/packages/gource/package.py index 0bdfd800be1..1641c0db3d4 100644 --- a/var/spack/repos/builtin/packages/gource/package.py +++ b/var/spack/repos/builtin/packages/gource/package.py @@ -9,7 +9,7 @@ class Gource(AutotoolsPackage): """Software version control visualization.""" - homepage = "http://gource.io" + homepage = "https://gource.io" url = "https://github.com/acaudwell/Gource/releases/download/gource-0.44/gource-0.44.tar.gz" version('0.44', sha256='2604ca4442305ffdc5bb1a7bac07e223d59c846f93567be067e8dfe2f42f097c') diff --git a/var/spack/repos/builtin/packages/grib-api/package.py b/var/spack/repos/builtin/packages/grib-api/package.py index 24091ab9084..e0368c6ba49 100644 --- a/var/spack/repos/builtin/packages/grib-api/package.py +++ b/var/spack/repos/builtin/packages/grib-api/package.py @@ -9,18 +9,20 @@ class GribApi(CMakePackage): """The ECMWF GRIB API is an application program interface accessible from C, FORTRAN and Python programs developed for encoding and decoding WMO - FM-92 GRIB edition 1 and edition 2 messages.""" + FM-92 GRIB edition 1 and edition 2 messages. The API was deprecated + https://www.ecmwf.int/en/newsletter/152/news/end-road-grib-api in favor + of ecCodes.""" - homepage = 'https://software.ecmwf.int/wiki/display/GRIB/Home' + homepage = 'https://www.ecmwf.int/en/newsletter/152/news/end-road-grib-api' url = 'https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-1.17.0-Source.tar.gz?api=v2' list_url = 'https://software.ecmwf.int/wiki/display/GRIB/Releases' maintainers = ['skosukhin'] - version('1.24.0', sha256='6b0d443cb0802c5de652e5816c5b88734cb3ead454eb932c5ec12ef8d4f77bcd') - version('1.21.0', sha256='50c2b58303ab578c55735e6c21c72ffc24f82a5bf52565550f54d49cb60e8a90') - version('1.17.0', sha256='55cbb4fdcb4ee1be6a27cece9ae7e26070beb8ab6cb7e77773db3fb0d4272462') - version('1.16.0', sha256='0068ca4149a9f991d4c86a813ac73b4e2299c6a3fd53aba9e6ab276ef6f0ff9a') + version('1.24.0', sha256='6b0d443cb0802c5de652e5816c5b88734cb3ead454eb932c5ec12ef8d4f77bcd', deprecated=True) + version('1.21.0', sha256='50c2b58303ab578c55735e6c21c72ffc24f82a5bf52565550f54d49cb60e8a90', deprecated=True) + version('1.17.0', sha256='55cbb4fdcb4ee1be6a27cece9ae7e26070beb8ab6cb7e77773db3fb0d4272462', deprecated=True) + version('1.16.0', sha256='0068ca4149a9f991d4c86a813ac73b4e2299c6a3fd53aba9e6ab276ef6f0ff9a', deprecated=True) variant('netcdf', default=False, description='Enable netcdf encoding/decoding using netcdf library') diff --git a/var/spack/repos/builtin/packages/h5part/package.py b/var/spack/repos/builtin/packages/h5part/package.py index efe13eb7073..aa186167b09 100644 --- a/var/spack/repos/builtin/packages/h5part/package.py +++ b/var/spack/repos/builtin/packages/h5part/package.py @@ -10,7 +10,7 @@ class H5part(AutotoolsPackage): """Portable High Performance Parallel Data Interface to HDF5""" - homepage = "http://vis.lbl.gov/Research/H5Part/" + homepage = "https://dav.lbl.gov/archive/Research/AcceleratorSAPP/" url = "https://codeforge.lbl.gov/frs/download.php/latestfile/18/H5Part-1.6.6.tar.gz" version('1.6.6', sha256='10347e7535d1afbb08d51be5feb0ae008f73caf889df08e3f7dde717a99c7571') diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index f31213d1244..d576f0bee3c 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -12,7 +12,7 @@ class Hydrogen(CMakePackage, CudaPackage, ROCmPackage): """Hydrogen: Distributed-memory dense and sparse-direct linear algebra and optimization library. Based on the Elemental library.""" - homepage = "http://libelemental.org" + homepage = "https://libelemental.org" url = "https://github.com/LLNL/Elemental/archive/v1.0.1.tar.gz" git = "https://github.com/LLNL/Elemental.git" diff --git a/var/spack/repos/builtin/packages/icedtea/package.py b/var/spack/repos/builtin/packages/icedtea/package.py index 916be5eabcb..41f5929439f 100644 --- a/var/spack/repos/builtin/packages/icedtea/package.py +++ b/var/spack/repos/builtin/packages/icedtea/package.py @@ -14,7 +14,7 @@ class Icedtea(AutotoolsPackage): of key features to the upstream OpenJDK codebase. IcedTea requires an existing IcedTea or OpenJDK install to build.""" - homepage = "http://icedtea.classpath.org/wiki/Main_Page" + homepage = "https://openjdk.java.net/projects/icedtea/" url = "http://icedtea.wildebeest.org/download/source/icedtea-3.4.0.tar.gz" version('3.9.0', sha256='84a63bc59f4e101ce8fa183060a59c7e8cbe270945310e90c92b8609a9b8bc88') diff --git a/var/spack/repos/builtin/packages/imlib2/package.py b/var/spack/repos/builtin/packages/imlib2/package.py index 8cb1586ba23..3d0156bb7e2 100644 --- a/var/spack/repos/builtin/packages/imlib2/package.py +++ b/var/spack/repos/builtin/packages/imlib2/package.py @@ -11,7 +11,7 @@ class Imlib2(AutotoolsPackage, SourceforgePackage): manipulation, arbitrary polygon support """ - homepage = "http://sourceforge.net/projects/enlightenment/" + homepage = "https://sourceforge.net/projects/enlightenment/" sourceforge_mirror_path = "enlightenment/imlib2-1.5.1.tar.bz2" maintainers = ['TheQueasle'] diff --git a/var/spack/repos/builtin/packages/jemalloc/package.py b/var/spack/repos/builtin/packages/jemalloc/package.py index 5fd06489d78..332899d38b4 100644 --- a/var/spack/repos/builtin/packages/jemalloc/package.py +++ b/var/spack/repos/builtin/packages/jemalloc/package.py @@ -9,7 +9,7 @@ class Jemalloc(AutotoolsPackage): """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.""" - homepage = "http://www.canonware.com/jemalloc/" + homepage = "http://jemalloc.net/" url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2" version('5.2.1', sha256='34330e5ce276099e2e8950d9335db5a875689a4c6a56751ef3b1d8c537f887f6') diff --git a/var/spack/repos/builtin/packages/julia/package.py b/var/spack/repos/builtin/packages/julia/package.py index c2af83df20b..c307eee28e7 100644 --- a/var/spack/repos/builtin/packages/julia/package.py +++ b/var/spack/repos/builtin/packages/julia/package.py @@ -12,7 +12,7 @@ class Julia(Package): """The Julia Language: A fresh approach to technical computing""" - homepage = "http://julialang.org" + homepage = "https://julialang.org" url = "https://github.com/JuliaLang/julia/releases/download/v0.4.3/julia-0.4.3-full.tar.gz" git = "https://github.com/JuliaLang/julia.git" diff --git a/var/spack/repos/builtin/packages/keepalived/package.py b/var/spack/repos/builtin/packages/keepalived/package.py index 1097d54ce27..bdf33e41152 100644 --- a/var/spack/repos/builtin/packages/keepalived/package.py +++ b/var/spack/repos/builtin/packages/keepalived/package.py @@ -12,7 +12,7 @@ class Keepalived(AutotoolsPackage): maintain and manage loadbalanced server pool according their health """ - homepage = "http://www.keepalived.org" + homepage = "https://www.keepalived.org" url = "http://www.keepalived.org/software/keepalived-1.2.0.tar.gz" version('2.0.19', sha256='0e2f8454765bc6a5fa26758bd9cec18aae42882843cdd24848aff0ae65ce4ca7') diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py index 21e16a1ac7d..be91106d2dc 100644 --- a/var/spack/repos/builtin/packages/legion/package.py +++ b/var/spack/repos/builtin/packages/legion/package.py @@ -22,7 +22,7 @@ class Legion(CMakePackage): that is orthogonal to correctness, thereby enabling easy porting and tuning of Legion applications to new architectures.""" - homepage = "http://legion.stanford.edu/" + homepage = "https://legion.stanford.edu/" git = "https://github.com/StanfordLegion/legion.git" maintainers = ['pmccormick', 'streichler'] diff --git a/var/spack/repos/builtin/packages/libapplewm/package.py b/var/spack/repos/builtin/packages/libapplewm/package.py index 0a730cddb4b..87de869f016 100644 --- a/var/spack/repos/builtin/packages/libapplewm/package.py +++ b/var/spack/repos/builtin/packages/libapplewm/package.py @@ -11,7 +11,7 @@ class Libapplewm(AutotoolsPackage, XorgPackage): extension. This extension allows X window managers to better interact with the Mac OS X Aqua user interface when running X11 in a rootless mode.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libAppleWM" + homepage = "https://cgit.freedesktop.org/xorg/lib/libAppleWM" xorg_mirror_path = "lib/libAppleWM-1.4.1.tar.gz" version('1.4.1', sha256='d7fb098d65ad4d840f60e5c92de7f58f1725bd70d0d132755ea453462fd50049') diff --git a/var/spack/repos/builtin/packages/libatasmart/package.py b/var/spack/repos/builtin/packages/libatasmart/package.py index b5dfdf1d593..ce6ed31b754 100644 --- a/var/spack/repos/builtin/packages/libatasmart/package.py +++ b/var/spack/repos/builtin/packages/libatasmart/package.py @@ -10,7 +10,7 @@ class Libatasmart(AutotoolsPackage): """A small and lightweight parser library for ATA S.M.A.R.T. hard disk health monitoring.""" - homepage = "http://git.0pointer.de/?p=libatasmart.git" + homepage = "https://github.com/ebe-forks/libatasmart" url = "https://github.com/ebe-forks/libatasmart/archive/v0.19.tar.gz" version('0.19', sha256='10bb5321a254e28bd60fd297f284bfc81cce4fde92e150187640e62ec667e5fb') diff --git a/var/spack/repos/builtin/packages/libdatrie/package.py b/var/spack/repos/builtin/packages/libdatrie/package.py index 57b3c95f7b0..6e772467ecf 100644 --- a/var/spack/repos/builtin/packages/libdatrie/package.py +++ b/var/spack/repos/builtin/packages/libdatrie/package.py @@ -10,7 +10,7 @@ class Libdatrie(AutotoolsPackage): """datrie is an implementation of double-array structure for representing trie.""" - homepage = "http://linux.thai.net/projects/datrie" + homepage = "https://linux.thai.net/projects/datrie" url = "https://github.com/tlwg/libdatrie/releases/download/v0.2.12/libdatrie-0.2.12.tar.xz" version('0.2.12', sha256='452dcc4d3a96c01f80f7c291b42be11863cd1554ff78b93e110becce6e00b149') diff --git a/var/spack/repos/builtin/packages/libdrm/package.py b/var/spack/repos/builtin/packages/libdrm/package.py index aafb9b2338c..2d7a4133fbd 100644 --- a/var/spack/repos/builtin/packages/libdrm/package.py +++ b/var/spack/repos/builtin/packages/libdrm/package.py @@ -10,7 +10,7 @@ class Libdrm(AutotoolsPackage): """A userspace library for accessing the DRM, direct rendering manager, on Linux, BSD and other systems supporting the ioctl interface.""" - homepage = "http://dri.freedesktop.org/libdrm/" + homepage = "https://dri.freedesktop.org/libdrm/" url = "https://dri.freedesktop.org/libdrm/libdrm-2.4.59.tar.gz" version('2.4.100', sha256='6a5337c054c0c47bc16607a21efa2b622e08030be4101ef4a241c5eb05b6619b') diff --git a/var/spack/repos/builtin/packages/libdwarf/package.py b/var/spack/repos/builtin/packages/libdwarf/package.py index 87ed1b62c53..c60fa76df3e 100644 --- a/var/spack/repos/builtin/packages/libdwarf/package.py +++ b/var/spack/repos/builtin/packages/libdwarf/package.py @@ -24,7 +24,7 @@ class Libdwarf(Package): respectively, not source) with every release of the SGI MIPS/IRIX C compiler.""" - homepage = "http://www.prevanders.net/dwarf.html" + homepage = "https://www.prevanders.net/dwarf.html" url = "http://www.prevanders.net/libdwarf-20160507.tar.gz" list_url = homepage diff --git a/var/spack/repos/builtin/packages/libevent/package.py b/var/spack/repos/builtin/packages/libevent/package.py index a16e528acb9..d24c9ecd3b6 100644 --- a/var/spack/repos/builtin/packages/libevent/package.py +++ b/var/spack/repos/builtin/packages/libevent/package.py @@ -14,7 +14,7 @@ class Libevent(AutotoolsPackage): """ - homepage = "http://libevent.org" + homepage = "https://libevent.org" url = "https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz" list_url = "http://libevent.org/old-releases.html" diff --git a/var/spack/repos/builtin/packages/libfontenc/package.py b/var/spack/repos/builtin/packages/libfontenc/package.py index 907dee3dbbe..9f1e52b7431 100644 --- a/var/spack/repos/builtin/packages/libfontenc/package.py +++ b/var/spack/repos/builtin/packages/libfontenc/package.py @@ -9,7 +9,7 @@ class Libfontenc(AutotoolsPackage, XorgPackage): """libfontenc - font encoding library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libfontenc" + homepage = "https://cgit.freedesktop.org/xorg/lib/libfontenc" xorg_mirror_path = "lib/libfontenc-1.1.3.tar.gz" version('1.1.3', sha256='6fba26760ca8d5045f2b52ddf641c12cedc19ee30939c6478162b7db8b6220fb') diff --git a/var/spack/repos/builtin/packages/libgpuarray/package.py b/var/spack/repos/builtin/packages/libgpuarray/package.py index 012209e5028..b977b8f97c2 100644 --- a/var/spack/repos/builtin/packages/libgpuarray/package.py +++ b/var/spack/repos/builtin/packages/libgpuarray/package.py @@ -11,7 +11,7 @@ class Libgpuarray(CMakePackage): projects that is as future proof as possible, while keeping it easy to use for simple need/quick test.""" - homepage = "http://deeplearning.net/software/libgpuarray/" + homepage = "https://github.com/Theano/libgpuarray" url = "https://github.com/Theano/libgpuarray/archive/v0.6.1.tar.gz" version('0.7.6', sha256='ad1c00dd47c3d36ee1708e5167377edbfcdb7226e837ef9c68b841afbb4a4f6a') diff --git a/var/spack/repos/builtin/packages/liblbxutil/package.py b/var/spack/repos/builtin/packages/liblbxutil/package.py index 12ad6f59648..d087e8a9bb7 100644 --- a/var/spack/repos/builtin/packages/liblbxutil/package.py +++ b/var/spack/repos/builtin/packages/liblbxutil/package.py @@ -9,7 +9,7 @@ class Liblbxutil(AutotoolsPackage, XorgPackage): """liblbxutil - Low Bandwith X extension (LBX) utility routines.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/liblbxutil" + homepage = "https://cgit.freedesktop.org/xorg/lib/liblbxutil" xorg_mirror_path = "lib/liblbxutil-1.1.0.tar.gz" version('1.1.0', sha256='285c1bc688cc71ec089e9284f2566d1780cc5d90816e9997890af8689f386951') diff --git a/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py b/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py index 31865d1df15..fa88f17a06f 100644 --- a/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py +++ b/var/spack/repos/builtin/packages/libnetfilter-conntrack/package.py @@ -10,7 +10,7 @@ class LibnetfilterConntrack(AutotoolsPackage): """libnetfilter_conntrack is a userspace library providing a programming interface (API) to the in-kernel connection tracking state table.""" - homepage = "http://netfilter.org" + homepage = "https://netfilter.org" url = "https://github.com/Distrotech/libnetfilter_conntrack/archive/libnetfilter_conntrack-1.0.4.tar.gz" version('1.0.4', sha256='68168697b9d6430b7797ddd579e13a2cef06ea15c154dfd14e18be64e035ea6e') diff --git a/var/spack/repos/builtin/packages/libnfnetlink/package.py b/var/spack/repos/builtin/packages/libnfnetlink/package.py index 9ff50c0c090..175a45151c2 100644 --- a/var/spack/repos/builtin/packages/libnfnetlink/package.py +++ b/var/spack/repos/builtin/packages/libnfnetlink/package.py @@ -12,7 +12,7 @@ class Libnfnetlink(AutotoolsPackage): netfilter subsystem specific libraries such as libnfnetlink_conntrack, libnfnetlink_log and libnfnetlink_queue.""" - homepage = "http://netfilter.org" + homepage = "https://netfilter.org" url = "https://github.com/Distrotech/libnfnetlink/archive/libnfnetlink-1.0.1.tar.gz" version('1.0.1', sha256='11dd8a1045b03d47c878535eeb6b9eb34db295d21903a4dfd2c2cc63f45e675b') diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py index b132ec079e5..def39f36ce8 100644 --- a/var/spack/repos/builtin/packages/libpciaccess/package.py +++ b/var/spack/repos/builtin/packages/libpciaccess/package.py @@ -9,7 +9,7 @@ class Libpciaccess(AutotoolsPackage, XorgPackage): """Generic PCI access library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libpciaccess/" + homepage = "https://cgit.freedesktop.org/xorg/lib/libpciaccess/" xorg_mirror_path = "lib/libpciaccess-0.13.5.tar.gz" version('0.16', sha256='84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27') diff --git a/var/spack/repos/builtin/packages/libthai/package.py b/var/spack/repos/builtin/packages/libthai/package.py index 90d6775289c..5d1e6337ab4 100644 --- a/var/spack/repos/builtin/packages/libthai/package.py +++ b/var/spack/repos/builtin/packages/libthai/package.py @@ -13,7 +13,7 @@ class Libthai(AutotoolsPackage): word breaking, input and output methods as well as basic character and string supports.""" - homepage = "http://linux.thai.net" + homepage = "https://linux.thai.net" url = "https://github.com/tlwg/libthai/releases/download/v0.1.28/libthai-0.1.28.tar.xz" version('0.1.28', sha256='ffe0a17b4b5aa11b153c15986800eca19f6c93a4025ffa5cf2cab2dcdf1ae911') diff --git a/var/spack/repos/builtin/packages/libtheora/package.py b/var/spack/repos/builtin/packages/libtheora/package.py index c67e6531b9f..7bd00f36407 100644 --- a/var/spack/repos/builtin/packages/libtheora/package.py +++ b/var/spack/repos/builtin/packages/libtheora/package.py @@ -9,7 +9,7 @@ class Libtheora(AutotoolsPackage): """Theora Video Compression.""" - homepage = "http://www.theora.org" + homepage = "https://www.theora.org" url = "http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz" version('1.1.1', sha256='f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61') diff --git a/var/spack/repos/builtin/packages/libtommath/package.py b/var/spack/repos/builtin/packages/libtommath/package.py index f3e6e748e01..abc9f961a6f 100644 --- a/var/spack/repos/builtin/packages/libtommath/package.py +++ b/var/spack/repos/builtin/packages/libtommath/package.py @@ -9,7 +9,7 @@ class Libtommath(MakefilePackage): """A portable number theoretic multiple-precision integer library.""" - homepage = "http://www.libtom.net/" + homepage = "https://www.libtom.net/" url = "https://github.com/libtom/libtommath/archive/v1.2.0.tar.gz" version('1.2.0', sha256='f3c20ab5df600d8d89e054d096c116417197827d12732e678525667aa724e30f') diff --git a/var/spack/repos/builtin/packages/libwindowswm/package.py b/var/spack/repos/builtin/packages/libwindowswm/package.py index fd7e7dca5b0..d1ad3eae168 100644 --- a/var/spack/repos/builtin/packages/libwindowswm/package.py +++ b/var/spack/repos/builtin/packages/libwindowswm/package.py @@ -14,7 +14,7 @@ class Libwindowswm(AutotoolsPackage, XorgPackage): better interact with the Cygwin XWin server when running X11 in a rootless mode.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libWindowsWM" + homepage = "https://cgit.freedesktop.org/xorg/lib/libWindowsWM" xorg_mirror_path = "lib/libWindowsWM-1.0.1.tar.gz" version('1.0.1', sha256='94f9c0add3bad38ebd84bc43d854207c4deaaa74fb15339276e022546124b98a') diff --git a/var/spack/repos/builtin/packages/libxaw3d/package.py b/var/spack/repos/builtin/packages/libxaw3d/package.py index 2b04a501647..cd397d0f6a2 100644 --- a/var/spack/repos/builtin/packages/libxaw3d/package.py +++ b/var/spack/repos/builtin/packages/libxaw3d/package.py @@ -10,7 +10,7 @@ class Libxaw3d(AutotoolsPackage, XorgPackage): """Xaw3d is the X 3D Athena Widget Set. Xaw3d is a widget set based on the X Toolkit Intrinsics (Xt) Library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXaw3d" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXaw3d" xorg_mirror_path = "lib/libXaw3d-1.6.2.tar.gz" version('1.6.2', sha256='847dab01aeac1448916e3b4edb4425594b3ac2896562d9c7141aa4ac6c898ba9') diff --git a/var/spack/repos/builtin/packages/libxevie/package.py b/var/spack/repos/builtin/packages/libxevie/package.py index 062728c14d2..f70cd344246 100644 --- a/var/spack/repos/builtin/packages/libxevie/package.py +++ b/var/spack/repos/builtin/packages/libxevie/package.py @@ -9,7 +9,7 @@ class Libxevie(AutotoolsPackage, XorgPackage): """Xevie - X Event Interception Extension (XEvIE).""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXevie" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXevie" xorg_mirror_path = "lib/libXevie-1.0.3.tar.gz" version('1.0.3', sha256='3759bb1f7fdade13ed99bfc05c0717bc42ce3f187e7da4eef80beddf5e461258') diff --git a/var/spack/repos/builtin/packages/libxp/package.py b/var/spack/repos/builtin/packages/libxp/package.py index 2e842670c60..c2432182f84 100644 --- a/var/spack/repos/builtin/packages/libxp/package.py +++ b/var/spack/repos/builtin/packages/libxp/package.py @@ -9,7 +9,7 @@ class Libxp(AutotoolsPackage, XorgPackage): """libXp - X Print Client Library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXp" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXp" xorg_mirror_path = "lib/libXp-1.0.3.tar.gz" version('1.0.3', sha256='f6b8cc4ef05d3eafc9ef5fc72819dd412024b4ed60197c0d5914758125817e9c') diff --git a/var/spack/repos/builtin/packages/libxxf86misc/package.py b/var/spack/repos/builtin/packages/libxxf86misc/package.py index 07348169f82..eb30de2da56 100644 --- a/var/spack/repos/builtin/packages/libxxf86misc/package.py +++ b/var/spack/repos/builtin/packages/libxxf86misc/package.py @@ -9,7 +9,7 @@ class Libxxf86misc(AutotoolsPackage, XorgPackage): """libXxf86misc - Extension library for the XFree86-Misc X extension.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXxf86misc" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86misc" xorg_mirror_path = "lib/libXxf86misc-1.0.3.tar.gz" version('1.0.3', sha256='358f692f793af00f6ef4c7a8566c1bcaeeea37e417337db3f519522cc1df3946') diff --git a/var/spack/repos/builtin/packages/lzma/package.py b/var/spack/repos/builtin/packages/lzma/package.py index 41fac117b31..0765eecfc9b 100644 --- a/var/spack/repos/builtin/packages/lzma/package.py +++ b/var/spack/repos/builtin/packages/lzma/package.py @@ -16,7 +16,7 @@ class Lzma(AutotoolsPackage): tools of LZMA Utils. This should make transition from LZMA Utils to XZ Utils relatively easy.""" - homepage = "http://tukaani.org/lzma/" + homepage = "https://tukaani.org/lzma/" url = "http://tukaani.org/lzma/lzma-4.32.7.tar.gz" version('4.32.7', sha256='9f337a8c51e5ded198d1032f5087ba3fe438f2a54e9df419e513a151775b032c') diff --git a/var/spack/repos/builtin/packages/mapserver/package.py b/var/spack/repos/builtin/packages/mapserver/package.py index ed9bb7079d1..de972ab81b6 100644 --- a/var/spack/repos/builtin/packages/mapserver/package.py +++ b/var/spack/repos/builtin/packages/mapserver/package.py @@ -14,7 +14,7 @@ class Mapserver(CMakePackage): "geographic image maps", that is, maps that can direct users to content""" - homepage = "http://www.mapserver.org/" + homepage = "https://www.mapserver.org/" url = "https://download.osgeo.org/mapserver/mapserver-7.2.1.tar.gz" version('7.2.1', sha256='9459a7057d5a85be66a41096a5d804f74665381186c37077c94b56e784db6102') diff --git a/var/spack/repos/builtin/packages/mawk/package.py b/var/spack/repos/builtin/packages/mawk/package.py index 1a8da55db53..4cbd322d77a 100644 --- a/var/spack/repos/builtin/packages/mawk/package.py +++ b/var/spack/repos/builtin/packages/mawk/package.py @@ -9,7 +9,7 @@ class Mawk(AutotoolsPackage): """mawk is an interpreter for the AWK Programming Language.""" - homepage = "http://invisible-island.net/mawk/mawk.html" + homepage = "https://invisible-island.net/mawk/mawk.html" url = "http://invisible-mirror.net/archives/mawk/mawk-1.3.4.tgz" version('1.3.4-20171017', sha256='db17115d1ed18ed1607c8b93291db9ccd4fe5e0f30d2928c3c5d127b23ec9e5b') diff --git a/var/spack/repos/builtin/packages/med/package.py b/var/spack/repos/builtin/packages/med/package.py index 453af1b6cf1..fe8944a3ebc 100644 --- a/var/spack/repos/builtin/packages/med/package.py +++ b/var/spack/repos/builtin/packages/med/package.py @@ -9,7 +9,7 @@ class Med(CMakePackage): """The MED file format is a specialization of the HDF5 standard.""" - homepage = "http://docs.salome-platform.org/latest/dev/MEDCoupling/med-file.html" + homepage = "https://docs.salome-platform.org/latest/dev/MEDCoupling/med-file.html" url = "https://files.salome-platform.org/Salome/other/med-3.2.0.tar.gz" maintainers = ['likask'] diff --git a/var/spack/repos/builtin/packages/meson/package.py b/var/spack/repos/builtin/packages/meson/package.py index 87cdf6e4528..1a9053cf366 100644 --- a/var/spack/repos/builtin/packages/meson/package.py +++ b/var/spack/repos/builtin/packages/meson/package.py @@ -11,7 +11,7 @@ class Meson(PythonPackage): """Meson is a portable open source build system meant to be both extremely fast, and as user friendly as possible.""" - homepage = "http://mesonbuild.com/" + homepage = "https://mesonbuild.com/" url = "https://github.com/mesonbuild/meson/archive/0.49.0.tar.gz" maintainers = ['michaelkuhn'] diff --git a/var/spack/repos/builtin/packages/mono/package.py b/var/spack/repos/builtin/packages/mono/package.py index a1940cbed06..8ecc0add5bd 100644 --- a/var/spack/repos/builtin/packages/mono/package.py +++ b/var/spack/repos/builtin/packages/mono/package.py @@ -13,7 +13,7 @@ class Mono(AutotoolsPackage): standards for C# and the Common Language Runtime. """ - homepage = "http://www.mono-project.com/" + homepage = "https://www.mono-project.com/" url = "https://download.mono-project.com/sources/mono/mono-5.0.1.1.tar.bz2" maintainers = ['grospelliergilles'] diff --git a/var/spack/repos/builtin/packages/motif/package.py b/var/spack/repos/builtin/packages/motif/package.py index 8491244146e..1118148178e 100644 --- a/var/spack/repos/builtin/packages/motif/package.py +++ b/var/spack/repos/builtin/packages/motif/package.py @@ -13,7 +13,7 @@ class Motif(AutotoolsPackage): """ force_autoreconf = True - homepage = "http://motif.ics.com/" + homepage = "https://motif.ics.com/" url = "http://cfhcable.dl.sourceforge.net/project/motif/Motif%202.3.8%20Source%20Code/motif-2.3.8.tar.gz" version('2.3.8', sha256='859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7') diff --git a/var/spack/repos/builtin/packages/mozjs/package.py b/var/spack/repos/builtin/packages/mozjs/package.py index 35586093740..c219c36dcee 100644 --- a/var/spack/repos/builtin/packages/mozjs/package.py +++ b/var/spack/repos/builtin/packages/mozjs/package.py @@ -11,7 +11,7 @@ class Mozjs(AutotoolsPackage): It is used in various Mozilla products, including Firefox, and is available under the MPL2.""" - homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" + homepage = "https://firefox-source-docs.mozilla.org/js/index.html" version('24.2.0', sha256='e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8', url="http://ftp.mozilla.org/pub/js/mozjs-24.2.0.tar.bz2") diff --git a/var/spack/repos/builtin/packages/mrtrix3/package.py b/var/spack/repos/builtin/packages/mrtrix3/package.py index 34b6bf33f94..c54fd354819 100644 --- a/var/spack/repos/builtin/packages/mrtrix3/package.py +++ b/var/spack/repos/builtin/packages/mrtrix3/package.py @@ -12,7 +12,7 @@ class Mrtrix3(Package): probabilistic tractography, track-density imaging, and apparent fibre density.""" - homepage = "http://www.mrtrix.org/" + homepage = "https://www.mrtrix.org/" git = "https://github.com/MRtrix3/mrtrix3.git" version('2017-09-25', commit='72aca89e3d38c9d9e0c47104d0fb5bd2cbdb536d') diff --git a/var/spack/repos/builtin/packages/muparser/package.py b/var/spack/repos/builtin/packages/muparser/package.py index 94583280222..2b01e6f18a0 100644 --- a/var/spack/repos/builtin/packages/muparser/package.py +++ b/var/spack/repos/builtin/packages/muparser/package.py @@ -8,7 +8,7 @@ class Muparser(Package): """C++ math expression parser library.""" - homepage = "http://muparser.beltoforion.de/" + homepage = "https://beltoforion.de/en/muparser/" url = "https://github.com/beltoforion/muparser/archive/v2.2.5.tar.gz" version('2.2.6.1', sha256='d2562853d972b6ddb07af47ce8a1cdeeb8bb3fa9e8da308746de391db67897b3') diff --git a/var/spack/repos/builtin/packages/nano/package.py b/var/spack/repos/builtin/packages/nano/package.py index 5c076e89099..a987d823043 100644 --- a/var/spack/repos/builtin/packages/nano/package.py +++ b/var/spack/repos/builtin/packages/nano/package.py @@ -9,7 +9,7 @@ class Nano(AutotoolsPackage): """Tiny little text editor""" - homepage = "http://www.nano-editor.org" + homepage = "https://www.nano-editor.org" url = "https://www.nano-editor.org/dist/v4/nano-4.9.tar.xz" list_url = "https://www.nano-editor.org/dist/" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/ncdu/package.py b/var/spack/repos/builtin/packages/ncdu/package.py index a1dd768915b..bdb88290457 100644 --- a/var/spack/repos/builtin/packages/ncdu/package.py +++ b/var/spack/repos/builtin/packages/ncdu/package.py @@ -14,7 +14,7 @@ class Ncdu(Package): to run in any minimal POSIX-like environment with ncurses installed. """ - homepage = "http://dev.yorhel.nl/ncdu" + homepage = "https://dev.yorhel.nl/ncdu" url = "http://dev.yorhel.nl/download/ncdu-1.11.tar.gz" version('1.15.1', sha256='b02ddc4dbf1db139cc6fbbe2f54a282770380f0ca5c17089855eab52a9ea3fb0') diff --git a/var/spack/repos/builtin/packages/ncftp/package.py b/var/spack/repos/builtin/packages/ncftp/package.py index 22a342219d7..e30d3c918f4 100644 --- a/var/spack/repos/builtin/packages/ncftp/package.py +++ b/var/spack/repos/builtin/packages/ncftp/package.py @@ -10,7 +10,7 @@ class Ncftp(AutotoolsPackage): """NcFTP Client is a set of application programs implementing the File Transfer Protocol.""" - homepage = "http://www.ncftp.com/" + homepage = "https://www.ncftp.com/" url = "ftp://ftp.ncftp.com/ncftp/ncftp-3.2.6-src.tar.gz" version('3.2.6', sha256='129e5954850290da98af012559e6743de193de0012e972ff939df9b604f81c23') diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py index a0658dc9209..e9b469647e5 100644 --- a/var/spack/repos/builtin/packages/ncurses/package.py +++ b/var/spack/repos/builtin/packages/ncurses/package.py @@ -16,7 +16,7 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage): characters and function-key mapping, and has all the other SYSV-curses enhancements over BSD curses.""" - homepage = "http://invisible-island.net/ncurses/ncurses.html" + homepage = "https://invisible-island.net/ncurses/ncurses.html" # URL must remain http:// so Spack can bootstrap curl gnu_mirror_path = "ncurses/ncurses-6.1.tar.gz" diff --git a/var/spack/repos/builtin/packages/ncview/package.py b/var/spack/repos/builtin/packages/ncview/package.py index dd50c8fba22..22fe338c502 100644 --- a/var/spack/repos/builtin/packages/ncview/package.py +++ b/var/spack/repos/builtin/packages/ncview/package.py @@ -8,7 +8,7 @@ class Ncview(AutotoolsPackage): """Simple viewer for NetCDF files.""" - homepage = "http://meteora.ucsd.edu/~pierce/ncview_home_page.html" + homepage = "https://cirrus.ucsd.edu/ncview/" url = "ftp://cirrus.ucsd.edu/pub/ncview/ncview-2.1.7.tar.gz" version('2.1.8', sha256='e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be') diff --git a/var/spack/repos/builtin/packages/neo4j/package.py b/var/spack/repos/builtin/packages/neo4j/package.py index 517e06792ec..8140868412f 100644 --- a/var/spack/repos/builtin/packages/neo4j/package.py +++ b/var/spack/repos/builtin/packages/neo4j/package.py @@ -13,7 +13,7 @@ class Neo4j(MavenPackage): enterprise-quality database. For many applications, Neo4j offers orders of magnitude performance benefits compared to relational DBs.""" - homepage = "http://neo4j.com/" + homepage = "https://neo4j.com/" url = "https://github.com/neo4j/neo4j/archive/4.0.3.tar.gz" version('4.0.3', sha256='19d79052657665dd661bbe906b3552b88108bf379d39fa007b883fff718cabee') diff --git a/var/spack/repos/builtin/packages/nest/package.py b/var/spack/repos/builtin/packages/nest/package.py index 1f2e7af41ab..4bb0058de59 100644 --- a/var/spack/repos/builtin/packages/nest/package.py +++ b/var/spack/repos/builtin/packages/nest/package.py @@ -12,7 +12,7 @@ class Nest(CMakePackage): It focuses on the dynamics, size and structure of neural systems rather than on the exact morphology of individual neurons.""" - homepage = "http://www.nest-simulator.org" + homepage = "https://www.nest-simulator.org" url = "https://github.com/nest/nest-simulator/archive/refs/tags/v3.0.tar.gz" git = "https://github.com/nest/nest-simulator.git" diff --git a/var/spack/repos/builtin/packages/nspr/package.py b/var/spack/repos/builtin/packages/nspr/package.py index 995cc294993..33b58f3b166 100644 --- a/var/spack/repos/builtin/packages/nspr/package.py +++ b/var/spack/repos/builtin/packages/nspr/package.py @@ -10,7 +10,7 @@ class Nspr(AutotoolsPackage): """Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level and libc-like functions.""" - homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR" + homepage = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Reference/NSPR_functions" url = "https://ftp.mozilla.org/pub/nspr/releases/v4.13.1/src/nspr-4.13.1.tar.gz" version('4.31', sha256='5729da87d5fbf1584b72840751e0c6f329b5d541850cacd1b61652c95015abc8') diff --git a/var/spack/repos/builtin/packages/numactl/package.py b/var/spack/repos/builtin/packages/numactl/package.py index 05f5bf4bd1c..6aae477c838 100644 --- a/var/spack/repos/builtin/packages/numactl/package.py +++ b/var/spack/repos/builtin/packages/numactl/package.py @@ -9,7 +9,7 @@ class Numactl(AutotoolsPackage): """NUMA support for Linux""" - homepage = "http://oss.sgi.com/projects/libnuma/" + homepage = "https://github.com/numactl/numactl" url = "https://github.com/numactl/numactl/archive/v2.0.11.tar.gz" force_autoreconf = True diff --git a/var/spack/repos/builtin/packages/ocaml/package.py b/var/spack/repos/builtin/packages/ocaml/package.py index 0ddebf55c29..e3aa2a4d144 100644 --- a/var/spack/repos/builtin/packages/ocaml/package.py +++ b/var/spack/repos/builtin/packages/ocaml/package.py @@ -10,7 +10,7 @@ class Ocaml(Package): """OCaml is an industrial strength programming language supporting functional, imperative and object-oriented styles""" - homepage = "http://ocaml.org/" + homepage = "https://ocaml.org/" url = "https://caml.inria.fr/pub/distrib/ocaml-4.06/ocaml-4.06.0.tar.gz" maintainers = ['scemama'] diff --git a/var/spack/repos/builtin/packages/oclint/package.py b/var/spack/repos/builtin/packages/oclint/package.py index c38dc863961..19bb29c34b6 100644 --- a/var/spack/repos/builtin/packages/oclint/package.py +++ b/var/spack/repos/builtin/packages/oclint/package.py @@ -13,7 +13,7 @@ class Oclint(Package): reducing defects by inspecting C, C++ and Objective-C code and looking for potential problems""" - homepage = "http://oclint.org/" + homepage = "https://oclint.org/" url = "https://github.com/oclint/oclint/archive/v0.13.tar.gz" version('0.13', sha256='a0fd188673863e6357d6585b9bb9c3affe737df134b9383a1a5ed021d09ed848') diff --git a/var/spack/repos/builtin/packages/openexr/package.py b/var/spack/repos/builtin/packages/openexr/package.py index db9f6a4b796..2eb651fe25e 100644 --- a/var/spack/repos/builtin/packages/openexr/package.py +++ b/var/spack/repos/builtin/packages/openexr/package.py @@ -9,7 +9,7 @@ class Openexr(AutotoolsPackage): """OpenEXR Graphics Tools (high dynamic-range image file format)""" - homepage = "http://www.openexr.com/" + homepage = "https://www.openexr.com/" url = "https://github.com/openexr/openexr/releases/download/v2.3.0/openexr-2.3.0.tar.gz" # New versions should come from github now diff --git a/var/spack/repos/builtin/packages/openmm/package.py b/var/spack/repos/builtin/packages/openmm/package.py index ff545129cc4..e786f0b88ea 100644 --- a/var/spack/repos/builtin/packages/openmm/package.py +++ b/var/spack/repos/builtin/packages/openmm/package.py @@ -14,7 +14,7 @@ class Openmm(CMakePackage, CudaPackage): LGPL. Part of the Omnia suite of tools for predictive biomolecular simulation. """ - homepage = "http://openmm.org/" + homepage = "https://openmm.org/" url = "https://github.com/openmm/openmm/archive/7.4.1.tar.gz" version('7.5.0', sha256='516748b4f1ae936c4d70cc6401174fc9384244c65cd3aef27bc2c53eac6d6de5') diff --git a/var/spack/repos/builtin/packages/openpa/package.py b/var/spack/repos/builtin/packages/openpa/package.py index f159f0e5ec6..ddad783e786 100644 --- a/var/spack/repos/builtin/packages/openpa/package.py +++ b/var/spack/repos/builtin/packages/openpa/package.py @@ -9,7 +9,7 @@ class Openpa(AutotoolsPackage): """An open source, highly-portable library that provides atomic primitives (and related constructs) for high performance, concurrent software""" - homepage = 'https://trac.mpich.org/projects/openpa' + homepage = 'https://github.com/pmodels/openpa' url = 'https://github.com/pmodels/openpa/releases/download/v1.0.4/openpa-1.0.4.tar.gz' version('1.0.4', sha256='9e5904b3bbdcb24e8429c12d613422e716a3479f3e0aeefbd9ce546852899e3a') diff --git a/var/spack/repos/builtin/packages/openslide/package.py b/var/spack/repos/builtin/packages/openslide/package.py index af1b19e6a3d..38456d83de5 100644 --- a/var/spack/repos/builtin/packages/openslide/package.py +++ b/var/spack/repos/builtin/packages/openslide/package.py @@ -9,7 +9,7 @@ class Openslide(AutotoolsPackage): """OpenSlide reads whole slide image files.""" - homepage = "http://openslide.org/" + homepage = "https://openslide.org/" url = "https://github.com/openslide/openslide/releases/download/v3.4.1/openslide-3.4.1.tar.xz" version('3.4.1', sha256='9938034dba7f48fadc90a2cdf8cfe94c5613b04098d1348a5ff19da95b990564') diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py index 80b1eba6dcb..3151fb4c913 100644 --- a/var/spack/repos/builtin/packages/openssl/package.py +++ b/var/spack/repos/builtin/packages/openssl/package.py @@ -16,7 +16,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.""" - homepage = "http://www.openssl.org" + homepage = "https://www.openssl.org" # URL must remain http:// so Spack can bootstrap curl url = "http://www.openssl.org/source/openssl-1.1.1d.tar.gz" diff --git a/var/spack/repos/builtin/packages/opensubdiv/package.py b/var/spack/repos/builtin/packages/opensubdiv/package.py index 85f1856dd40..bc1a7ccc963 100644 --- a/var/spack/repos/builtin/packages/opensubdiv/package.py +++ b/var/spack/repos/builtin/packages/opensubdiv/package.py @@ -14,7 +14,7 @@ class Opensubdiv(CMakePackage, CudaPackage): This code path is optimized for drawing deforming surfaces with static topology at interactive framerates.""" - homepage = "http://graphics.pixar.com/opensubdiv/docs/intro.html" + homepage = "https://graphics.pixar.com/opensubdiv/docs/intro.html" url = "https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_4_0.tar.gz" git = "https://github.com/PixarAnimationStudios/OpenSubdiv" diff --git a/var/spack/repos/builtin/packages/opus/package.py b/var/spack/repos/builtin/packages/opus/package.py index 5fa86aa5293..d888977fa1f 100644 --- a/var/spack/repos/builtin/packages/opus/package.py +++ b/var/spack/repos/builtin/packages/opus/package.py @@ -9,7 +9,7 @@ class Opus(AutotoolsPackage): """Opus is a totally open, royalty-free, highly versatile audio codec.""" - homepage = "http://opus-codec.org/" + homepage = "https://opus-codec.org/" url = "http://downloads.xiph.org/releases/opus/opus-1.1.4.tar.gz" version('1.3.1', sha256='65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d') diff --git a/var/spack/repos/builtin/packages/orientdb/package.py b/var/spack/repos/builtin/packages/orientdb/package.py index 2f7645a01d5..7bc623e0889 100644 --- a/var/spack/repos/builtin/packages/orientdb/package.py +++ b/var/spack/repos/builtin/packages/orientdb/package.py @@ -11,7 +11,7 @@ class Orientdb(MavenPackage): of Native Graphs, Documents Full-Text, Reactivity, Geo-Spatial and Object Oriented concepts. It's written in Java and it's amazingly fast.""" - homepage = "https://orientdb.com/" + homepage = "https://orientdb.org" url = "https://github.com/orientechnologies/orientdb/archive/3.1.2.tar.gz" version('3.1.2', sha256='3c8e1f55de9e1a6c3cd714832deb7369f50096e85f1e048f0c0328e611970850') diff --git a/var/spack/repos/builtin/packages/packmol/package.py b/var/spack/repos/builtin/packages/packmol/package.py index 7bc1a415d1a..1c7a71ddce7 100644 --- a/var/spack/repos/builtin/packages/packmol/package.py +++ b/var/spack/repos/builtin/packages/packmol/package.py @@ -10,7 +10,7 @@ class Packmol(CMakePackage): """Packmol creates an initial point for molecular dynamics simulations by packing molecules in defined regions of space.""" - homepage = "http://m3g.iqm.unicamp.br/packmol/home.shtml" + homepage = "https://m3g.iqm.unicamp.br/packmol/home.shtml" url = "https://github.com/mcubeg/packmol/archive/18.169.tar.gz" version('18.169', sha256='8acf2cbc742a609e763eb00cae55aecd09af2edb4cc4e931706e2f06ac380de9') diff --git a/var/spack/repos/builtin/packages/parmgridgen/package.py b/var/spack/repos/builtin/packages/parmgridgen/package.py index 97dd2144cb8..8833afa8156 100644 --- a/var/spack/repos/builtin/packages/parmgridgen/package.py +++ b/var/spack/repos/builtin/packages/parmgridgen/package.py @@ -15,7 +15,7 @@ class Parmgridgen(Package): ParMGridGen is the parallel version of MGridGen. """ - homepage = "http://www-users.cs.umn.edu/~moulitsa/software.html" + homepage = "https://github.com/mrklein/ParMGridGen" url = "http://www.stasyan.com/devel/distfiles/ParMGridGen-1.0.tar.gz" version('1.0', sha256='62cdb6e48cfc59124e5d5d360c2841e0fc2feecafe65bda110b74e942740b395') diff --git a/var/spack/repos/builtin/packages/perl-algorithm-diff/package.py b/var/spack/repos/builtin/packages/perl-algorithm-diff/package.py index f68efc3fad6..ceb700c2bc5 100644 --- a/var/spack/repos/builtin/packages/perl-algorithm-diff/package.py +++ b/var/spack/repos/builtin/packages/perl-algorithm-diff/package.py @@ -9,7 +9,7 @@ class PerlAlgorithmDiff(PerlPackage): """Compute 'intelligent' differences between two files / lists""" - homepage = "http://search.cpan.org/~tyemq/Algorithm-Diff-1.1903/lib/Algorithm/Diff.pm" + homepage = "https://metacpan.org/pod/Algorithm::Diff" url = "http://search.cpan.org/CPAN/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz" version('1.1903', sha256='30e84ac4b31d40b66293f7b1221331c5a50561a39d580d85004d9c1fff991751') diff --git a/var/spack/repos/builtin/packages/perl-app-cmd/package.py b/var/spack/repos/builtin/packages/perl-app-cmd/package.py index 94e3eb27c71..d2937ef06de 100644 --- a/var/spack/repos/builtin/packages/perl-app-cmd/package.py +++ b/var/spack/repos/builtin/packages/perl-app-cmd/package.py @@ -9,7 +9,7 @@ class PerlAppCmd(PerlPackage): """Write command line apps with less suffering""" - homepage = "http://search.cpan.org/~rjbs/App-Cmd/lib/App/Cmd.pm" + homepage = "https://metacpan.org/pod/App::Cmd" url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/App-Cmd-0.331.tar.gz" version('0.331', sha256='4a5d3df0006bd278880d01f4957aaa652a8f91fe8f66e93adf70fba0c3ecb680') diff --git a/var/spack/repos/builtin/packages/perl-array-utils/package.py b/var/spack/repos/builtin/packages/perl-array-utils/package.py index 4a1dd58ddb4..8b3e862372c 100644 --- a/var/spack/repos/builtin/packages/perl-array-utils/package.py +++ b/var/spack/repos/builtin/packages/perl-array-utils/package.py @@ -9,7 +9,7 @@ class PerlArrayUtils(PerlPackage): """Small utils for array manipulation""" - homepage = "http://search.cpan.org/~zmij/Array-Utils/Utils.pm" + homepage = "https://metacpan.org/pod/Array::Utils" url = "http://search.cpan.org/CPAN/authors/id/Z/ZM/ZMIJ/Array/Array-Utils-0.5.tar.gz" version('0.5', sha256='89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770') diff --git a/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py b/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py index 3f182d7caf4..bc250679984 100644 --- a/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py +++ b/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py @@ -9,7 +9,7 @@ class PerlBHooksEndofscope(PerlPackage): """Execute code after a scope finished compilation.""" - homepage = "http://search.cpan.org/~ether/B-Hooks-EndOfScope-0.21/lib/B/Hooks/EndOfScope.pm" + homepage = "https://metacpan.org/pod/B::Hooks::EndOfScope" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.21.tar.gz" version('0.21', sha256='90f3580880f1d68b843c142cc86f58bead1f3e03634c63868ac9eba5eedae02c') diff --git a/var/spack/repos/builtin/packages/perl-bit-vector/package.py b/var/spack/repos/builtin/packages/perl-bit-vector/package.py index ad8e0ff50fa..2389a337ec1 100644 --- a/var/spack/repos/builtin/packages/perl-bit-vector/package.py +++ b/var/spack/repos/builtin/packages/perl-bit-vector/package.py @@ -9,7 +9,7 @@ class PerlBitVector(PerlPackage): """Efficient bit vector, set of integers and "big int" math library""" - homepage = "http://search.cpan.org/~stbey/Bit-Vector-7.4/Vector.pod" + homepage = "https://metacpan.org/dist/Bit-Vector/view/Vector.pod" url = "http://search.cpan.org/CPAN/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz" version('7.4', sha256='3c6daa671fecfbc35f92a9385b563d65f50dfc6bdc8b4805f9ef46c0d035a926') diff --git a/var/spack/repos/builtin/packages/perl-cairo/package.py b/var/spack/repos/builtin/packages/perl-cairo/package.py index 310dc5725c4..ed83ef02fda 100644 --- a/var/spack/repos/builtin/packages/perl-cairo/package.py +++ b/var/spack/repos/builtin/packages/perl-cairo/package.py @@ -9,7 +9,7 @@ class PerlCairo(PerlPackage): """Perl interface to the cairo 2d vector graphics library""" - homepage = "http://search.cpan.org/~xaoc/Cairo/lib/Cairo.pm" + homepage = "https://metacpan.org/pod/Cairo" url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/Cairo-1.106.tar.gz" version('1.106', sha256='e64803018bc7cba49e73e258547f5378cc4249797beafec524852140f49c45c4') diff --git a/var/spack/repos/builtin/packages/perl-capture-tiny/package.py b/var/spack/repos/builtin/packages/perl-capture-tiny/package.py index 8ec29b20400..81ea39a7dc4 100644 --- a/var/spack/repos/builtin/packages/perl-capture-tiny/package.py +++ b/var/spack/repos/builtin/packages/perl-capture-tiny/package.py @@ -9,7 +9,7 @@ class PerlCaptureTiny(PerlPackage): """Capture STDOUT and STDERR from Perl, XS or external programs""" - homepage = "http://search.cpan.org/~dagolden/Capture-Tiny-0.46/lib/Capture/Tiny.pm" + homepage = "https://metacpan.org/pod/Capture::Tiny" url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.46.tar.gz" version('0.46', sha256='5d7a6a830cf7f2b2960bf8b8afaac16a537ede64f3023827acea5bd24ca77015') diff --git a/var/spack/repos/builtin/packages/perl-carp-clan/package.py b/var/spack/repos/builtin/packages/perl-carp-clan/package.py index 23a44b6144f..8ceef456701 100644 --- a/var/spack/repos/builtin/packages/perl-carp-clan/package.py +++ b/var/spack/repos/builtin/packages/perl-carp-clan/package.py @@ -9,7 +9,7 @@ class PerlCarpClan(PerlPackage): """Report errors from perspective of caller of a "clan" of modules""" - homepage = "http://search.cpan.org/~kentnl/Carp-Clan-6.06/lib/Carp/Clan.pod" + homepage = "https://metacpan.org/pod/Carp::Clan" url = "http://search.cpan.org/CPAN/authors/id/K/KE/KENTNL/Carp-Clan-6.06.tar.gz" version('6.06', sha256='ea4ac8f611354756d43cb369880032901e9cc4cc7e0bebb7b647186dac00c9d4') diff --git a/var/spack/repos/builtin/packages/perl-class-data-inheritable/package.py b/var/spack/repos/builtin/packages/perl-class-data-inheritable/package.py index ec64e55ec67..4bc50c22e42 100644 --- a/var/spack/repos/builtin/packages/perl-class-data-inheritable/package.py +++ b/var/spack/repos/builtin/packages/perl-class-data-inheritable/package.py @@ -9,7 +9,7 @@ class PerlClassDataInheritable(PerlPackage): """For creating accessor/mutators to class data.""" - homepage = "http://search.cpan.org/~tmtm/Class-Data-Inheritable-0.08/lib/Class/Data/Inheritable.pm" + homepage = "https://metacpan.org/pod/Class::Data::Inheritable" url = "http://search.cpan.org/CPAN/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz" version('0.08', sha256='9967feceea15227e442ec818723163eb6d73b8947e31f16ab806f6e2391af14a') diff --git a/var/spack/repos/builtin/packages/perl-class-inspector/package.py b/var/spack/repos/builtin/packages/perl-class-inspector/package.py index 7085b8b9a18..32dfa6fa9f3 100644 --- a/var/spack/repos/builtin/packages/perl-class-inspector/package.py +++ b/var/spack/repos/builtin/packages/perl-class-inspector/package.py @@ -9,7 +9,7 @@ class PerlClassInspector(PerlPackage): """Get information about a class and its structure""" - homepage = "http://search.cpan.org/~plicease/Class-Inspector-1.32/lib/Class/Inspector.pm" + homepage = "https://metacpan.org/pod/Class::Inspector" url = "http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/Class-Inspector-1.32.tar.gz" version('1.32', sha256='cefadc8b5338e43e570bc43f583e7c98d535c17b196bcf9084bb41d561cc0535') diff --git a/var/spack/repos/builtin/packages/perl-class-load-xs/package.py b/var/spack/repos/builtin/packages/perl-class-load-xs/package.py index dd402bdb586..cfbf858ac57 100644 --- a/var/spack/repos/builtin/packages/perl-class-load-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-class-load-xs/package.py @@ -10,7 +10,7 @@ class PerlClassLoadXs(PerlPackage): """This module provides an XS implementation for portions of Class::Load.""" - homepage = "http://search.cpan.org/~ether/Class-Load-XS-0.10/lib/Class/Load/XS.pm" + homepage = "https://metacpan.org/pod/Class::Load::XS" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Class-Load-XS-0.10.tar.gz" version('0.10', sha256='5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1') diff --git a/var/spack/repos/builtin/packages/perl-class-load/package.py b/var/spack/repos/builtin/packages/perl-class-load/package.py index 2717be5ee04..48d4db5667f 100644 --- a/var/spack/repos/builtin/packages/perl-class-load/package.py +++ b/var/spack/repos/builtin/packages/perl-class-load/package.py @@ -9,7 +9,7 @@ class PerlClassLoad(PerlPackage): """A working (require "Class::Name") and more""" - homepage = "http://search.cpan.org/~ether/Class-Load-0.24/lib/Class/Load.pm" + homepage = "https://metacpan.org/pod/Class::Load" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Class-Load-0.24.tar.gz" version('0.24', sha256='0bb983da46c146534fc77a556d6e40d925142f2eb43103534025ee545265ca36') diff --git a/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py b/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py index 7ede37807d9..b780bb8a62b 100644 --- a/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py +++ b/var/spack/repos/builtin/packages/perl-compress-raw-bzip2/package.py @@ -9,7 +9,7 @@ class PerlCompressRawBzip2(PerlPackage): """A low-Level Interface to bzip2 compression library.""" - homepage = "http://search.cpan.org/~pmqs/Compress-Raw-Bzip2-2.081/lib/Compress/Raw/Bzip2.pm" + homepage = "https://metacpan.org/pod/Compress::Raw::Bzip2" url = "http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.081.tar.gz" version('2.081', sha256='8692b5c9db91954408e24e805fbfda222879da80d89d9410791421e3e5bc3520') diff --git a/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py b/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py index e67a7aa9c42..cde59db80c5 100644 --- a/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py +++ b/var/spack/repos/builtin/packages/perl-compress-raw-zlib/package.py @@ -9,7 +9,7 @@ class PerlCompressRawZlib(PerlPackage): """A low-Level Interface to zlib compression library.""" - homepage = "http://search.cpan.org/~pmqs/Compress-Raw-Zlib-2.081/lib/Compress/Raw/Zlib.pm" + homepage = "https://metacpan.org/pod/Compress::Raw::Zlib" url = "https://cpan.metacpan.org/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.081.tar.gz" version('2.081', sha256='e156de345bd224bbdabfcab0eeb3f678a3099a4e86c9d1b6771d880b55aa3a1b') diff --git a/var/spack/repos/builtin/packages/perl-contextual-return/package.py b/var/spack/repos/builtin/packages/perl-contextual-return/package.py index 1568eff405a..a3f29f9fc40 100644 --- a/var/spack/repos/builtin/packages/perl-contextual-return/package.py +++ b/var/spack/repos/builtin/packages/perl-contextual-return/package.py @@ -9,7 +9,7 @@ class PerlContextualReturn(PerlPackage): """Create context-sensitive return values""" - homepage = "http://search.cpan.org/~dconway/Contextual-Return/lib/Contextual/Return.pm" + homepage = "https://metacpan.org/pod/Contextual::Return" url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Contextual-Return-0.004014.tar.gz" version('0.004014', sha256='09fe1415e16e49a69e13c0ef6e6a4a3fd8b856f389d3f3e624d7ab3b71719f78') diff --git a/var/spack/repos/builtin/packages/perl-cpan-meta-check/package.py b/var/spack/repos/builtin/packages/perl-cpan-meta-check/package.py index 0b0a1c1fe80..6ad071a2968 100644 --- a/var/spack/repos/builtin/packages/perl-cpan-meta-check/package.py +++ b/var/spack/repos/builtin/packages/perl-cpan-meta-check/package.py @@ -10,7 +10,7 @@ class PerlCpanMetaCheck(PerlPackage): """This module verifies if requirements described in a CPAN::Meta object are present..""" - homepage = "http://search.cpan.org/~leont/CPAN-Meta-Check-0.014/lib/CPAN/Meta/Check.pm" + homepage = "https://metacpan.org/pod/CPAN::Meta::Check" url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.014.tar.gz" version('0.014', sha256='28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f') diff --git a/var/spack/repos/builtin/packages/perl-data-dumper/package.py b/var/spack/repos/builtin/packages/perl-data-dumper/package.py index 8e09ebdf5c3..69897c676ec 100644 --- a/var/spack/repos/builtin/packages/perl-data-dumper/package.py +++ b/var/spack/repos/builtin/packages/perl-data-dumper/package.py @@ -9,7 +9,7 @@ class PerlDataDumper(PerlPackage): """Stringified perl data structures, suitable for both printing and eval""" - homepage = "http://search.cpan.org/dist/Data-Dumper/Dumper.pm" + homepage = "https://metacpan.org/pod/Data::Dumper" url = "https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX/Data-Dumper-2.173.tar.gz" version('2.173', sha256='697608b39330988e519131be667ff47168aaaaf99f06bd2095d5b46ad05d76fa') diff --git a/var/spack/repos/builtin/packages/perl-data-optlist/package.py b/var/spack/repos/builtin/packages/perl-data-optlist/package.py index f125cb9cd10..5b1b7417c03 100644 --- a/var/spack/repos/builtin/packages/perl-data-optlist/package.py +++ b/var/spack/repos/builtin/packages/perl-data-optlist/package.py @@ -9,7 +9,7 @@ class PerlDataOptlist(PerlPackage): """Parse and validate simple name/value option pairs""" - homepage = "http://search.cpan.org/~rjbs/Data-OptList-0.110/lib/Data/OptList.pm" + homepage = "https://metacpan.org/pod/Data::OptList" url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz" version('0.110', sha256='366117cb2966473f2559f2f4575ff6ae69e84c69a0f30a0773e1b51a457ef5c3') diff --git a/var/spack/repos/builtin/packages/perl-data-stag/package.py b/var/spack/repos/builtin/packages/perl-data-stag/package.py index 724a406a7f2..d5f29dbf0b9 100644 --- a/var/spack/repos/builtin/packages/perl-data-stag/package.py +++ b/var/spack/repos/builtin/packages/perl-data-stag/package.py @@ -9,7 +9,7 @@ class PerlDataStag(PerlPackage): """Structured Tags datastructures""" - homepage = "http://search.cpan.org/~cmungall/Data-Stag-0.14/Data/Stag.pm" + homepage = "https://metacpan.org/pod/Data::Stag" url = "http://search.cpan.org/CPAN/authors/id/C/CM/CMUNGALL/Data-Stag-0.14.tar.gz" version('0.14', sha256='4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59') diff --git a/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py b/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py index 22001616e16..d968942c099 100644 --- a/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py +++ b/var/spack/repos/builtin/packages/perl-dbd-mysql/package.py @@ -9,7 +9,7 @@ class PerlDbdMysql(PerlPackage): """MySQL driver for the Perl5 Database Interface (DBI)""" - homepage = "http://search.cpan.org/~michielb/DBD-mysql-4.043/lib/DBD/mysql.pm" + homepage = "https://metacpan.org/pod/DBD::mysql" url = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/DBD-mysql-4.043.tar.gz" version('4.043', sha256='629f865e8317f52602b2f2efd2b688002903d2e4bbcba5427cb6188b043d6f99') diff --git a/var/spack/repos/builtin/packages/perl-devel-cycle/package.py b/var/spack/repos/builtin/packages/perl-devel-cycle/package.py index a0d35cf8b6d..0cf20235e5d 100644 --- a/var/spack/repos/builtin/packages/perl-devel-cycle/package.py +++ b/var/spack/repos/builtin/packages/perl-devel-cycle/package.py @@ -9,7 +9,7 @@ class PerlDevelCycle(PerlPackage): """Find memory cycles in objects""" - homepage = "http://search.cpan.org/~lds/Devel-Cycle-1.12/lib/Devel/Cycle.pm" + homepage = "https://metacpan.org/pod/Devel::Cycle" url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz" version('1.12', sha256='fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2') diff --git a/var/spack/repos/builtin/packages/perl-devel-globaldestruction/package.py b/var/spack/repos/builtin/packages/perl-devel-globaldestruction/package.py index 6e79016d0d9..e780b3e0e1f 100644 --- a/var/spack/repos/builtin/packages/perl-devel-globaldestruction/package.py +++ b/var/spack/repos/builtin/packages/perl-devel-globaldestruction/package.py @@ -9,7 +9,7 @@ class PerlDevelGlobaldestruction(PerlPackage): """Makes Perl's global destruction less tricky to deal with""" - homepage = "http://search.cpan.org/~haarg/Devel-GlobalDestruction-0.14/lib/Devel/GlobalDestruction.pm" + homepage = "https://metacpan.org/pod/Devel::GlobalDestruction" url = "http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz" version('0.14', sha256='34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab') diff --git a/var/spack/repos/builtin/packages/perl-devel-overloadinfo/package.py b/var/spack/repos/builtin/packages/perl-devel-overloadinfo/package.py index 197b19d2815..de6d0e0ae37 100644 --- a/var/spack/repos/builtin/packages/perl-devel-overloadinfo/package.py +++ b/var/spack/repos/builtin/packages/perl-devel-overloadinfo/package.py @@ -9,7 +9,7 @@ class PerlDevelOverloadinfo(PerlPackage): """Returns information about overloaded operators for a given class""" - homepage = "http://search.cpan.org/~ilmari/Devel-OverloadInfo-0.004/lib/Devel/OverloadInfo.pm" + homepage = "https://metacpan.org/pod/Devel::OverloadInfo" url = "http://search.cpan.org/CPAN/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.004.tar.gz" version('0.005', sha256='8bfde2ffa47c9946f8adc8cfc445c2f97b8d1cdd678111bee9f444e82f7aa6e7') diff --git a/var/spack/repos/builtin/packages/perl-devel-stacktrace/package.py b/var/spack/repos/builtin/packages/perl-devel-stacktrace/package.py index 56886ec65ad..d44ae7f80f1 100644 --- a/var/spack/repos/builtin/packages/perl-devel-stacktrace/package.py +++ b/var/spack/repos/builtin/packages/perl-devel-stacktrace/package.py @@ -9,7 +9,7 @@ class PerlDevelStacktrace(PerlPackage): """An object representing a stack trace.""" - homepage = "http://search.cpan.org/~drolsky/Devel-StackTrace-2.02/lib/Devel/StackTrace.pm" + homepage = "https://metacpan.org/pod/Devel::StackTrace" url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.02.tar.gz" version('2.02', sha256='cbbd96db0ecf194ed140198090eaea0e327d9a378a4aa15f9a34b3138a91931f') diff --git a/var/spack/repos/builtin/packages/perl-digest-md5/package.py b/var/spack/repos/builtin/packages/perl-digest-md5/package.py index 0d08f863ea1..8149b39c2f8 100644 --- a/var/spack/repos/builtin/packages/perl-digest-md5/package.py +++ b/var/spack/repos/builtin/packages/perl-digest-md5/package.py @@ -9,7 +9,7 @@ class PerlDigestMd5(PerlPackage): """Perl interface to the MD5 Algorithm""" - homepage = "http://search.cpan.org/dist/Digest-MD5/MD5.pm" + homepage = "https://metacpan.org/pod/Digest::MD5" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-MD5-2.55.tar.gz" version('2.55', sha256='03b198a2d14425d951e5e50a885d3818c3162c8fe4c21e18d7798a9a179d0e3c') diff --git a/var/spack/repos/builtin/packages/perl-dist-checkconflicts/package.py b/var/spack/repos/builtin/packages/perl-dist-checkconflicts/package.py index f7bf21d68d4..3d3e5b3760b 100644 --- a/var/spack/repos/builtin/packages/perl-dist-checkconflicts/package.py +++ b/var/spack/repos/builtin/packages/perl-dist-checkconflicts/package.py @@ -9,7 +9,7 @@ class PerlDistCheckconflicts(PerlPackage): """Declare version conflicts for your dist""" - homepage = "http://search.cpan.org/~doy/Dist-CheckConflicts-0.11/lib/Dist/CheckConflicts.pm" + homepage = "https://metacpan.org/pod/Dist::CheckConflicts" url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz" version('0.11', sha256='ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4') diff --git a/var/spack/repos/builtin/packages/perl-encode-locale/package.py b/var/spack/repos/builtin/packages/perl-encode-locale/package.py index 23b812c4b08..d2875458954 100644 --- a/var/spack/repos/builtin/packages/perl-encode-locale/package.py +++ b/var/spack/repos/builtin/packages/perl-encode-locale/package.py @@ -9,7 +9,7 @@ class PerlEncodeLocale(PerlPackage): """Determine the locale encoding""" - homepage = "http://search.cpan.org/~gaas/Encode-Locale-1.05/lib/Encode/Locale.pm" + homepage = "https://metacpan.org/pod/Encode::Locale" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz" version('1.05', sha256='176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1') diff --git a/var/spack/repos/builtin/packages/perl-eval-closure/package.py b/var/spack/repos/builtin/packages/perl-eval-closure/package.py index c891a0fd5da..7d041b50d1e 100644 --- a/var/spack/repos/builtin/packages/perl-eval-closure/package.py +++ b/var/spack/repos/builtin/packages/perl-eval-closure/package.py @@ -9,7 +9,7 @@ class PerlEvalClosure(PerlPackage): """Safely and cleanly create closures via string eval""" - homepage = "http://search.cpan.org/~doy/Eval-Closure-0.14/lib/Eval/Closure.pm" + homepage = "https://metacpan.org/pod/Eval::Closure" url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz" version('0.14', sha256='ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad') diff --git a/var/spack/repos/builtin/packages/perl-exception-class/package.py b/var/spack/repos/builtin/packages/perl-exception-class/package.py index bbeb153d85d..4d82e6b1b12 100644 --- a/var/spack/repos/builtin/packages/perl-exception-class/package.py +++ b/var/spack/repos/builtin/packages/perl-exception-class/package.py @@ -9,7 +9,7 @@ class PerlExceptionClass(PerlPackage): """A module that allows you to declare real exception classes in Perl""" - homepage = "http://search.cpan.org/~drolsky/Exception-Class-1.43/lib/Exception/Class.pm" + homepage = "https://metacpan.org/pod/Exception::Class" url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Exception-Class-1.43.tar.gz" version('1.43', sha256='ff3b4b3f706e84aaa87ab0dee5cec6bd7a8fc9f72cf76d115212541fa0a13760') diff --git a/var/spack/repos/builtin/packages/perl-exporter-tiny/package.py b/var/spack/repos/builtin/packages/perl-exporter-tiny/package.py index e8a3f7916b0..7b8df5c1718 100644 --- a/var/spack/repos/builtin/packages/perl-exporter-tiny/package.py +++ b/var/spack/repos/builtin/packages/perl-exporter-tiny/package.py @@ -10,7 +10,7 @@ class PerlExporterTiny(PerlPackage): """An exporter with the features of Sub::Exporter but only core dependencies""" - homepage = "http://search.cpan.org/~tobyink/Exporter-Tiny/lib/Exporter/Tiny.pm" + homepage = "https://metacpan.org/pod/Exporter::Tiny" url = "http://search.cpan.org/CPAN/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.000000.tar.gz" version('1.000000', sha256='ffdd77d57de099e8f64dd942ef12a00a3f4313c2531f342339eeed2d366ad078') diff --git a/var/spack/repos/builtin/packages/perl-extutils-depends/package.py b/var/spack/repos/builtin/packages/perl-extutils-depends/package.py index 4eb726d5369..c49c6771757 100644 --- a/var/spack/repos/builtin/packages/perl-extutils-depends/package.py +++ b/var/spack/repos/builtin/packages/perl-extutils-depends/package.py @@ -9,7 +9,7 @@ class PerlExtutilsDepends(PerlPackage): """Easily build XS extensions that depend on XS extensions""" - homepage = "http://search.cpan.org/~xaoc/ExtUtils-Depends/lib/ExtUtils/Depends.pm" + homepage = "https://metacpan.org/pod/ExtUtils::Depends" url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/ExtUtils-Depends-0.405.tar.gz" version('0.405', sha256='8ad6401ad7559b03ceda1fe4b191c95f417bdec7c542a984761a4656715a8a2c') diff --git a/var/spack/repos/builtin/packages/perl-extutils-pkgconfig/package.py b/var/spack/repos/builtin/packages/perl-extutils-pkgconfig/package.py index 41a22808b75..774a91ccedd 100644 --- a/var/spack/repos/builtin/packages/perl-extutils-pkgconfig/package.py +++ b/var/spack/repos/builtin/packages/perl-extutils-pkgconfig/package.py @@ -9,7 +9,7 @@ class PerlExtutilsPkgconfig(PerlPackage): """simplistic interface to pkg-config""" - homepage = "http://search.cpan.org/~xaoc/ExtUtils-PkgConfig-1.16/lib/ExtUtils/PkgConfig.pm" + homepage = "https://metacpan.org/pod/ExtUtils::PkgConfig" url = "http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz" version('1.16', sha256='bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e') diff --git a/var/spack/repos/builtin/packages/perl-file-copy-recursive/package.py b/var/spack/repos/builtin/packages/perl-file-copy-recursive/package.py index fc90dc89e2c..a323f4d6cdb 100644 --- a/var/spack/repos/builtin/packages/perl-file-copy-recursive/package.py +++ b/var/spack/repos/builtin/packages/perl-file-copy-recursive/package.py @@ -9,7 +9,7 @@ class PerlFileCopyRecursive(PerlPackage): """Perl extension for recursively copying files and directories""" - homepage = "http://search.cpan.org/~dmuey/File-Copy-Recursive-0.38/Recursive.pm" + homepage = "https://metacpan.org/pod/File::Copy::Recursive" url = "http://search.cpan.org/CPAN/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz" version('0.40', sha256='e8b8923b930ef7bcb59d4a97456d0e149b8487597cd1550f836451d936ce55a1') diff --git a/var/spack/repos/builtin/packages/perl-file-listing/package.py b/var/spack/repos/builtin/packages/perl-file-listing/package.py index df8e5d71e74..0159ad822fa 100644 --- a/var/spack/repos/builtin/packages/perl-file-listing/package.py +++ b/var/spack/repos/builtin/packages/perl-file-listing/package.py @@ -9,7 +9,7 @@ class PerlFileListing(PerlPackage): """Parse directory listing""" - homepage = "http://search.cpan.org/~gaas/File-Listing-6.04/lib/File/Listing.pm" + homepage = "https://metacpan.org/pod/File::Listing" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz" version('6.04', sha256='1e0050fcd6789a2179ec0db282bf1e90fb92be35d1171588bd9c47d52d959cf5') diff --git a/var/spack/repos/builtin/packages/perl-file-pushd/package.py b/var/spack/repos/builtin/packages/perl-file-pushd/package.py index 5cbb81b548f..24f16ed4fa1 100644 --- a/var/spack/repos/builtin/packages/perl-file-pushd/package.py +++ b/var/spack/repos/builtin/packages/perl-file-pushd/package.py @@ -9,7 +9,7 @@ class PerlFilePushd(PerlPackage): """Change directory temporarily for a limited scope""" - homepage = "http://search.cpan.org/~dagolden/File-pushd-1.014/lib/File/pushd.pm" + homepage = "https://metacpan.org/pod/File::pushd" url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/File-pushd-1.014.tar.gz" version('1.014', sha256='b5ab37ffe3acbec53efb7c77b4423a2c79afa30a48298e751b9ebee3fdc6340b') diff --git a/var/spack/repos/builtin/packages/perl-file-sharedir-install/package.py b/var/spack/repos/builtin/packages/perl-file-sharedir-install/package.py index 99def42f307..63c84b2d598 100644 --- a/var/spack/repos/builtin/packages/perl-file-sharedir-install/package.py +++ b/var/spack/repos/builtin/packages/perl-file-sharedir-install/package.py @@ -9,7 +9,7 @@ class PerlFileSharedirInstall(PerlPackage): """Install shared files""" - homepage = "http://search.cpan.org/~ether/File-ShareDir-Install-0.11/lib/File/ShareDir/Install.pm" + homepage = "https://metacpan.org/pod/File::ShareDir::Install" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/File-ShareDir-Install-0.11.tar.gz" version('0.11', sha256='32bf8772e9fea60866074b27ff31ab5bc3f88972d61915e84cbbb98455e00cc8') diff --git a/var/spack/repos/builtin/packages/perl-file-slurp-tiny/package.py b/var/spack/repos/builtin/packages/perl-file-slurp-tiny/package.py index db0445b863b..bc6e2c92b0b 100644 --- a/var/spack/repos/builtin/packages/perl-file-slurp-tiny/package.py +++ b/var/spack/repos/builtin/packages/perl-file-slurp-tiny/package.py @@ -9,7 +9,7 @@ class PerlFileSlurpTiny(PerlPackage): """A simple, sane and efficient file slurper""" - homepage = "http://search.cpan.org/~leont/File-Slurp-Tiny-0.004/lib/File/Slurp/Tiny.pm" + homepage = "https://metacpan.org/pod/File::Slurp::Tiny" url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/File-Slurp-Tiny-0.004.tar.gz" version('0.004', sha256='452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e') diff --git a/var/spack/repos/builtin/packages/perl-file-slurper/package.py b/var/spack/repos/builtin/packages/perl-file-slurper/package.py index 5498db5738e..f7a11cdc7f7 100644 --- a/var/spack/repos/builtin/packages/perl-file-slurper/package.py +++ b/var/spack/repos/builtin/packages/perl-file-slurper/package.py @@ -9,7 +9,7 @@ class PerlFileSlurper(PerlPackage): """A simple, sane and efficient module to slurp a file""" - homepage = "http://search.cpan.org/~leont/File-Slurper/lib/File/Slurper.pm" + homepage = "https://metacpan.org/pod/File::Slurper" url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/File-Slurper-0.011.tar.gz" version('0.011', sha256='f6494844b9759b3d1dd8fc4ffa790f8e6e493c4eb58e88831a51e085f2e76010') diff --git a/var/spack/repos/builtin/packages/perl-font-ttf/package.py b/var/spack/repos/builtin/packages/perl-font-ttf/package.py index b5649447445..201b8b86a98 100644 --- a/var/spack/repos/builtin/packages/perl-font-ttf/package.py +++ b/var/spack/repos/builtin/packages/perl-font-ttf/package.py @@ -9,7 +9,7 @@ class PerlFontTtf(PerlPackage): """Perl module for TrueType Font hacking""" - homepage = "http://search.cpan.org/~bhallissy/Font-TTF-1.06/lib/Font/TTF.pm" + homepage = "https://metacpan.org/pod/Font::TTF" url = "http://search.cpan.org/CPAN/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz" version('1.06', sha256='4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293') diff --git a/var/spack/repos/builtin/packages/perl-gd/package.py b/var/spack/repos/builtin/packages/perl-gd/package.py index dca605fab06..009cd7189ab 100644 --- a/var/spack/repos/builtin/packages/perl-gd/package.py +++ b/var/spack/repos/builtin/packages/perl-gd/package.py @@ -9,7 +9,7 @@ class PerlGd(PerlPackage): """Interface to Gd Graphics Library""" - homepage = "http://search.cpan.org/~lds/GD-2.53/GD.pm" + homepage = "https://metacpan.org/pod/GD" url = "http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-2.53.tar.gz" version('2.53', sha256='d05d01fe95e581adb3468cf05ab5d405db7497c0fb3ec7ecf23d023705fab7aa') diff --git a/var/spack/repos/builtin/packages/perl-gdgraph/package.py b/var/spack/repos/builtin/packages/perl-gdgraph/package.py index cc97f0f0700..5bceb2473fd 100644 --- a/var/spack/repos/builtin/packages/perl-gdgraph/package.py +++ b/var/spack/repos/builtin/packages/perl-gdgraph/package.py @@ -9,7 +9,7 @@ class PerlGdgraph(PerlPackage): """Graph Plotting Module for Perl 5""" - homepage = "http://search.cpan.org/~bwarfield/GDGraph/Graph.pm" + homepage = "https://metacpan.org/pod/GD::Graph" url = "http://search.cpan.org/CPAN/authors/id/B/BW/BWARFIELD/GDGraph-1.4308.tar.gz" version('1.4308', sha256='75b3c7e280431404ed096c6e120d552cc39052a8610787149515e94b9ba237cb') diff --git a/var/spack/repos/builtin/packages/perl-gdtextutil/package.py b/var/spack/repos/builtin/packages/perl-gdtextutil/package.py index a668049df5f..5d19d380925 100644 --- a/var/spack/repos/builtin/packages/perl-gdtextutil/package.py +++ b/var/spack/repos/builtin/packages/perl-gdtextutil/package.py @@ -9,7 +9,7 @@ class PerlGdtextutil(PerlPackage): """Text utilities for use with GD""" - homepage = "http://search.cpan.org/~mverb/GDTextUtil-0.86/Text.pm" + homepage = "https://metacpan.org/pod/GD::Text" url = "http://search.cpan.org/CPAN/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz" version('0.86', sha256='886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc') diff --git a/var/spack/repos/builtin/packages/perl-graph-readwrite/package.py b/var/spack/repos/builtin/packages/perl-graph-readwrite/package.py index ec811a895c1..589bea03bf3 100644 --- a/var/spack/repos/builtin/packages/perl-graph-readwrite/package.py +++ b/var/spack/repos/builtin/packages/perl-graph-readwrite/package.py @@ -9,7 +9,7 @@ class PerlGraphReadwrite(PerlPackage): """Write out directed graph in Dot format""" - homepage = "http://search.cpan.org/~neilb/Graph-ReadWrite/lib/Graph/Writer/Dot.pm" + homepage = "https://metacpan.org/pod/Graph::ReadWrite" url = "http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/Graph-ReadWrite-2.09.tar.gz" version('2.09', sha256='b01ef06ce922eea12d5ce614d63ddc5f3ee7ad0d05f9577051d3f87a89799a4a') diff --git a/var/spack/repos/builtin/packages/perl-graph/package.py b/var/spack/repos/builtin/packages/perl-graph/package.py index 2e4df81f770..e609ba83097 100644 --- a/var/spack/repos/builtin/packages/perl-graph/package.py +++ b/var/spack/repos/builtin/packages/perl-graph/package.py @@ -9,7 +9,7 @@ class PerlGraph(PerlPackage): """Graph data structures and algorithms""" - homepage = "http://search.cpan.org/~jhi/Graph/lib/Graph.pod" + homepage = "https://metacpan.org/pod/Graph" url = "http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Graph-0.9704.tar.gz" version('0.9704', sha256='325e8eb07be2d09a909e450c13d3a42dcb2a2e96cc3ac780fe4572a0d80b2a25') diff --git a/var/spack/repos/builtin/packages/perl-html-parser/package.py b/var/spack/repos/builtin/packages/perl-html-parser/package.py index 410711077f1..1d7422ac9db 100644 --- a/var/spack/repos/builtin/packages/perl-html-parser/package.py +++ b/var/spack/repos/builtin/packages/perl-html-parser/package.py @@ -9,7 +9,7 @@ class PerlHtmlParser(PerlPackage): """HTML parser class""" - homepage = "http://search.cpan.org/~gaas/HTML-Parser-3.72/Parser.pm" + homepage = "https://metacpan.org/pod/HTML::Parser" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.72.tar.gz" version('3.72', sha256='ec28c7e1d9e67c45eca197077f7cdc41ead1bb4c538c7f02a3296a4bb92f608b') diff --git a/var/spack/repos/builtin/packages/perl-html-tagset/package.py b/var/spack/repos/builtin/packages/perl-html-tagset/package.py index 53e04ef83ca..c4337d5a94f 100644 --- a/var/spack/repos/builtin/packages/perl-html-tagset/package.py +++ b/var/spack/repos/builtin/packages/perl-html-tagset/package.py @@ -9,7 +9,7 @@ class PerlHtmlTagset(PerlPackage): """Data tables useful in parsing HTML""" - homepage = "http://search.cpan.org/~petdance/HTML-Tagset-3.20/Tagset.pm" + homepage = "https://metacpan.org/pod/HTML::Tagset" url = "http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz" version('3.20', sha256='adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2') diff --git a/var/spack/repos/builtin/packages/perl-http-cookies/package.py b/var/spack/repos/builtin/packages/perl-http-cookies/package.py index 73440f10447..df39fa0cf06 100644 --- a/var/spack/repos/builtin/packages/perl-http-cookies/package.py +++ b/var/spack/repos/builtin/packages/perl-http-cookies/package.py @@ -9,7 +9,7 @@ class PerlHttpCookies(PerlPackage): """HTTP cookie jars""" - homepage = "http://search.cpan.org/~oalders/HTTP-Cookies-6.04/lib/HTTP/Cookies.pm" + homepage = "https://metacpan.org/pod/HTTP::Cookies" url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz" version('6.04', sha256='0cc7f079079dcad8293fea36875ef58dd1bfd75ce1a6c244cd73ed9523eb13d4') diff --git a/var/spack/repos/builtin/packages/perl-http-daemon/package.py b/var/spack/repos/builtin/packages/perl-http-daemon/package.py index 00ac9d0226a..a4bdf339218 100644 --- a/var/spack/repos/builtin/packages/perl-http-daemon/package.py +++ b/var/spack/repos/builtin/packages/perl-http-daemon/package.py @@ -9,7 +9,7 @@ class PerlHttpDaemon(PerlPackage): """A simple http server class""" - homepage = "http://search.cpan.org/~gaas/HTTP-Daemon-6.01/lib/HTTP/Daemon.pm" + homepage = "https://metacpan.org/pod/HTTP::Daemon" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz" version('6.01', sha256='43fd867742701a3f9fcc7bd59838ab72c6490c0ebaf66901068ec6997514adc2') diff --git a/var/spack/repos/builtin/packages/perl-http-date/package.py b/var/spack/repos/builtin/packages/perl-http-date/package.py index 08b3734b4e0..614ae761aee 100644 --- a/var/spack/repos/builtin/packages/perl-http-date/package.py +++ b/var/spack/repos/builtin/packages/perl-http-date/package.py @@ -9,7 +9,7 @@ class PerlHttpDate(PerlPackage): """Date conversion routines""" - homepage = "http://search.cpan.org/~gaas/HTTP-Date-6.02/lib/HTTP/Date.pm" + homepage = "https://metacpan.org/pod/HTTP::Date" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz" version('6.02', sha256='e8b9941da0f9f0c9c01068401a5e81341f0e3707d1c754f8e11f42a7e629e333') diff --git a/var/spack/repos/builtin/packages/perl-http-message/package.py b/var/spack/repos/builtin/packages/perl-http-message/package.py index 1d5cefccc48..d03964b9012 100644 --- a/var/spack/repos/builtin/packages/perl-http-message/package.py +++ b/var/spack/repos/builtin/packages/perl-http-message/package.py @@ -9,7 +9,7 @@ class PerlHttpMessage(PerlPackage): """HTTP style message (base class)""" - homepage = "http://search.cpan.org/~oalders/HTTP-Message-6.13/lib/HTTP/Status.pm" + homepage = "https://metacpan.org/pod/HTTP::Message" url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Message-6.13.tar.gz" version('6.13', sha256='f25f38428de851e5661e72f124476494852eb30812358b07f1c3a289f6f5eded') diff --git a/var/spack/repos/builtin/packages/perl-http-negotiate/package.py b/var/spack/repos/builtin/packages/perl-http-negotiate/package.py index 218f3009011..e3e186260bd 100644 --- a/var/spack/repos/builtin/packages/perl-http-negotiate/package.py +++ b/var/spack/repos/builtin/packages/perl-http-negotiate/package.py @@ -9,7 +9,7 @@ class PerlHttpNegotiate(PerlPackage): """Choose a variant to serve""" - homepage = "http://search.cpan.org/~gaas/HTTP-Negotiate-6.01/lib/HTTP/Negotiate.pm" + homepage = "https://metacpan.org/pod/HTTP::Negotiate" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz" version('6.01', sha256='1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016') diff --git a/var/spack/repos/builtin/packages/perl-inline-c/package.py b/var/spack/repos/builtin/packages/perl-inline-c/package.py index 44cb397d07d..cf10b0821a3 100644 --- a/var/spack/repos/builtin/packages/perl-inline-c/package.py +++ b/var/spack/repos/builtin/packages/perl-inline-c/package.py @@ -9,7 +9,7 @@ class PerlInlineC(PerlPackage): """C Language Support for Inline""" - homepage = "http://search.cpan.org/~tinita/Inline-C-0.78/lib/Inline/C.pod" + homepage = "https://metacpan.org/pod/Inline::C" url = "http://search.cpan.org/CPAN/authors/id/T/TI/TINITA/Inline-C-0.78.tar.gz" version('0.78', sha256='9a7804d85c01a386073d2176582b0262b6374c5c0341049da3ef84c6f53efbc7') diff --git a/var/spack/repos/builtin/packages/perl-inline/package.py b/var/spack/repos/builtin/packages/perl-inline/package.py index 91cc7648cfd..acba6d1894c 100644 --- a/var/spack/repos/builtin/packages/perl-inline/package.py +++ b/var/spack/repos/builtin/packages/perl-inline/package.py @@ -9,7 +9,7 @@ class PerlInline(PerlPackage): """Write Perl Subroutines in Other Programming Languages""" - homepage = "http://search.cpan.org/~ingy/Inline-0.80/lib/Inline.pod" + homepage = "https://metacpan.org/pod/Inline" url = "http://search.cpan.org/CPAN/authors/id/I/IN/INGY/Inline-0.80.tar.gz" version('0.80', sha256='7e2bd984b1ebd43e336b937896463f2c6cb682c956cbd2c311a464363d2ccef6') diff --git a/var/spack/repos/builtin/packages/perl-io-compress/package.py b/var/spack/repos/builtin/packages/perl-io-compress/package.py index bd850ce9811..b1c2b45e17a 100644 --- a/var/spack/repos/builtin/packages/perl-io-compress/package.py +++ b/var/spack/repos/builtin/packages/perl-io-compress/package.py @@ -10,7 +10,7 @@ class PerlIoCompress(PerlPackage): """A perl library for uncompressing gzip, zip, bzip2 or lzop file/buffer.""" - homepage = "http://search.cpan.org/~pmqs/IO-Compress-2.070/lib/IO/Uncompress/AnyUncompress.pm" + homepage = "https://metacpan.org/pod/IO::Uncompress::AnyUncompress" url = "http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-2.081.tar.gz" version('2.081', sha256='5211c775544dc8c511af08edfb1c0c22734daa2789149c2a88d68e17b43546d9') diff --git a/var/spack/repos/builtin/packages/perl-io-html/package.py b/var/spack/repos/builtin/packages/perl-io-html/package.py index 9de028a96cb..51a99aa6881 100644 --- a/var/spack/repos/builtin/packages/perl-io-html/package.py +++ b/var/spack/repos/builtin/packages/perl-io-html/package.py @@ -9,7 +9,7 @@ class PerlIoHtml(PerlPackage): """Open an HTML file with automatic charset detection.""" - homepage = "http://search.cpan.org/~cjm/IO-HTML-1.001/lib/IO/HTML.pm" + homepage = "https://metacpan.org/pod/IO::HTML" url = "http://search.cpan.org/CPAN/authors/id/C/CJ/CJM/IO-HTML-1.001.tar.gz" version('1.001', sha256='ea78d2d743794adc028bc9589538eb867174b4e165d7d8b5f63486e6b828e7e0') diff --git a/var/spack/repos/builtin/packages/perl-io-sessiondata/package.py b/var/spack/repos/builtin/packages/perl-io-sessiondata/package.py index 24c05ac63ae..d78449423f1 100644 --- a/var/spack/repos/builtin/packages/perl-io-sessiondata/package.py +++ b/var/spack/repos/builtin/packages/perl-io-sessiondata/package.py @@ -9,7 +9,7 @@ class PerlIoSessiondata(PerlPackage): """A wrapper around a single IO::Socket object""" - homepage = "http://search.cpan.org/~phred/IO-SessionData-1.03/" + homepage = "https://metacpan.org/release/PHRED/IO-SessionData-1.03/source/lib/IO/SessionData.pm#PIO::SessionData" url = "http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/IO-SessionData-1.03.tar.gz" version('1.03', sha256='64a4712a3edbb3fd10230db296c29c8c66f066adfbc0c3df6a48258fef392ddd') diff --git a/var/spack/repos/builtin/packages/perl-io-socket-ssl/package.py b/var/spack/repos/builtin/packages/perl-io-socket-ssl/package.py index e452762cabe..19a3b2b2812 100644 --- a/var/spack/repos/builtin/packages/perl-io-socket-ssl/package.py +++ b/var/spack/repos/builtin/packages/perl-io-socket-ssl/package.py @@ -11,7 +11,7 @@ class PerlIoSocketSsl(PerlPackage): """SSL sockets with IO::Socket interface""" - homepage = "http://search.cpan.org/~sullr/IO-Socket-SSL-2.052/lib/IO/Socket/SSL.pod" + homepage = "https://metacpan.org/dist/IO-Socket-SSL/view/lib/IO/Socket/SSL.pod" url = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-2.052.tar.gz" version('2.052', sha256='e4897a9b17cb18a3c44aa683980d52cef534cdfcb8063d6877c879bfa2f26673') diff --git a/var/spack/repos/builtin/packages/perl-io-string/package.py b/var/spack/repos/builtin/packages/perl-io-string/package.py index 5a776ebde9f..9879766b9b6 100644 --- a/var/spack/repos/builtin/packages/perl-io-string/package.py +++ b/var/spack/repos/builtin/packages/perl-io-string/package.py @@ -9,7 +9,7 @@ class PerlIoString(PerlPackage): """Emulate file interface for in-core strings""" - homepage = "http://search.cpan.org/~gaas/IO-String-1.08/String.pm" + homepage = "https://metacpan.org/pod/IO::String" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz" version('1.08', sha256='2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0') diff --git a/var/spack/repos/builtin/packages/perl-json/package.py b/var/spack/repos/builtin/packages/perl-json/package.py index a897682965c..e9aff716f33 100644 --- a/var/spack/repos/builtin/packages/perl-json/package.py +++ b/var/spack/repos/builtin/packages/perl-json/package.py @@ -9,7 +9,7 @@ class PerlJson(PerlPackage): """JSON (JavaScript Object Notation) encoder/decoder""" - homepage = "http://search.cpan.org/~ishigaki/JSON/lib/JSON.pm" + homepage = "https://metacpan.org/pod/JSON" url = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/JSON-2.97001.tar.gz" version('2.97001', sha256='e277d9385633574923f48c297e1b8acad3170c69fa590e31fa466040fc6f8f5a') diff --git a/var/spack/repos/builtin/packages/perl-list-moreutils/package.py b/var/spack/repos/builtin/packages/perl-list-moreutils/package.py index 0ef9f257250..45c320eccb6 100644 --- a/var/spack/repos/builtin/packages/perl-list-moreutils/package.py +++ b/var/spack/repos/builtin/packages/perl-list-moreutils/package.py @@ -9,7 +9,7 @@ class PerlListMoreutils(PerlPackage): """Provide the stuff missing in List::Util""" - homepage = "http://search.cpan.org/~rehsack/List-MoreUtils/lib/List/MoreUtils.pm" + homepage = "https://metacpan.org/pod/List::MoreUtils" url = "http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/List-MoreUtils-0.428.tar.gz" version('0.428', sha256='713e0945d5f16e62d81d5f3da2b6a7b14a4ce439f6d3a7de74df1fd166476cc2') diff --git a/var/spack/repos/builtin/packages/perl-log-log4perl/package.py b/var/spack/repos/builtin/packages/perl-log-log4perl/package.py index 0db77d2a3ca..2eec7b72c02 100644 --- a/var/spack/repos/builtin/packages/perl-log-log4perl/package.py +++ b/var/spack/repos/builtin/packages/perl-log-log4perl/package.py @@ -9,7 +9,7 @@ class PerlLogLog4perl(PerlPackage): """Log4j implementation for Perl""" - homepage = "http://search.cpan.org/~mschilli/Log-Log4perl-1.44/lib/Log/Log4perl.pm" + homepage = "https://metacpan.org/pod/Log::Log4perl" url = "https://cpan.metacpan.org/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.46.tar.gz" version('1.46', sha256='31011a17c04e78016e73eaa4865d0481d2ffc3dc22813c61065d90ad73c64e6f') diff --git a/var/spack/repos/builtin/packages/perl-lwp-mediatypes/package.py b/var/spack/repos/builtin/packages/perl-lwp-mediatypes/package.py index 73de57f933a..d65185e94bc 100644 --- a/var/spack/repos/builtin/packages/perl-lwp-mediatypes/package.py +++ b/var/spack/repos/builtin/packages/perl-lwp-mediatypes/package.py @@ -9,7 +9,7 @@ class PerlLwpMediatypes(PerlPackage): """Guess media type for a file or a URL""" - homepage = "http://search.cpan.org/~gaas/LWP-MediaTypes-6.02/lib/LWP/MediaTypes.pm" + homepage = "https://metacpan.org/pod/LWP::MediaTypes" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz" version('6.02', sha256='18790b0cc5f0a51468495c3847b16738f785a2d460403595001e0b932e5db676') diff --git a/var/spack/repos/builtin/packages/perl-lwp-protocol-https/package.py b/var/spack/repos/builtin/packages/perl-lwp-protocol-https/package.py index 94ebb174943..0e28fb13e14 100644 --- a/var/spack/repos/builtin/packages/perl-lwp-protocol-https/package.py +++ b/var/spack/repos/builtin/packages/perl-lwp-protocol-https/package.py @@ -9,7 +9,7 @@ class PerlLwpProtocolHttps(PerlPackage): """ Provide https support for LWP::UserAgent""" - homepage = "http://search.cpan.org/~gaas/LWP-Protocol-https-6.04/lib/LWP/Protocol/https.pm" + homepage = "https://metacpan.org/pod/LWP::Protocol::https" url = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/LWP-Protocol-https-6.04.tar.gz" version('6.04', sha256='1ef67750ee363525cf729b59afde805ac4dc80eaf8d36ca01082a4d78a7af629') diff --git a/var/spack/repos/builtin/packages/perl-math-cdf/package.py b/var/spack/repos/builtin/packages/perl-math-cdf/package.py index a168161b006..24761d87038 100644 --- a/var/spack/repos/builtin/packages/perl-math-cdf/package.py +++ b/var/spack/repos/builtin/packages/perl-math-cdf/package.py @@ -10,7 +10,7 @@ class PerlMathCdf(PerlPackage): """Generate probabilities and quantiles from several statistical probability functions""" - homepage = "http://search.cpan.org/~callahan/Math-CDF-0.1/CDF.pm" + homepage = "https://metacpan.org/pod/Math::CDF" url = "http://search.cpan.org/CPAN/authors/id/C/CA/CALLAHAN/Math-CDF-0.1.tar.gz" version('0.1', sha256='7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565') diff --git a/var/spack/repos/builtin/packages/perl-math-cephes/package.py b/var/spack/repos/builtin/packages/perl-math-cephes/package.py index 4919114bafb..6dda7c94051 100644 --- a/var/spack/repos/builtin/packages/perl-math-cephes/package.py +++ b/var/spack/repos/builtin/packages/perl-math-cephes/package.py @@ -10,7 +10,7 @@ class PerlMathCephes(PerlPackage): """This module provides an interface to over 150 functions of the cephes math library of Stephen Moshier.""" - homepage = "http://search.cpan.org/~shlomif/Math-Cephes/lib/Math/Cephes.pod" + homepage = "https://metacpan.org/pod/Math::Cephes" url = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/Math-Cephes-0.5305.tar.gz" version('0.5305', sha256='561a800a4822e748d2befc366baa4b21e879a40cc00c22293c7b8736caeb83a1') diff --git a/var/spack/repos/builtin/packages/perl-math-matrixreal/package.py b/var/spack/repos/builtin/packages/perl-math-matrixreal/package.py index 7cd9098c9b3..c19f50082ec 100644 --- a/var/spack/repos/builtin/packages/perl-math-matrixreal/package.py +++ b/var/spack/repos/builtin/packages/perl-math-matrixreal/package.py @@ -10,7 +10,7 @@ class PerlMathMatrixreal(PerlPackage): """Implements the data type "matrix of real numbers" (and consequently also "vector of real numbers").""" - homepage = "http://search.cpan.org/~leto/Math-MatrixReal/lib/Math/MatrixReal.pm" + homepage = "https://metacpan.org/pod/Math::MatrixReal" url = "http://search.cpan.org/CPAN/authors/id/L/LE/LETO/Math-MatrixReal-2.13.tar.gz" version('2.13', sha256='4f9fa1a46dd34d2225de461d9a4ed86932cdd821c121fa501a15a6d4302fb4b2') diff --git a/var/spack/repos/builtin/packages/perl-module-build/package.py b/var/spack/repos/builtin/packages/perl-module-build/package.py index b9a4cac078d..2d2066f88de 100644 --- a/var/spack/repos/builtin/packages/perl-module-build/package.py +++ b/var/spack/repos/builtin/packages/perl-module-build/package.py @@ -16,7 +16,7 @@ class PerlModuleBuild(PerlPackage): pure-perl and written in a very cross-platform way. """ - homepage = "http://search.cpan.org/perldoc/Module::Build" + homepage = "https://metacpan.org/pod/Module::Build" url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/Module-Build-0.4224.tar.gz" version('0.4224', sha256='a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782') diff --git a/var/spack/repos/builtin/packages/perl-module-implementation/package.py b/var/spack/repos/builtin/packages/perl-module-implementation/package.py index ee0aa1a7ad8..b8af2e0062b 100644 --- a/var/spack/repos/builtin/packages/perl-module-implementation/package.py +++ b/var/spack/repos/builtin/packages/perl-module-implementation/package.py @@ -10,7 +10,7 @@ class PerlModuleImplementation(PerlPackage): """Loads one of several alternate underlying implementations for a module""" - homepage = "http://search.cpan.org/~drolsky/Module-Implementation/lib/Module/Implementation.pm" + homepage = "https://metacpan.org/pod/Module::Implementation" url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz" version('0.09', sha256='c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d') diff --git a/var/spack/repos/builtin/packages/perl-module-runtime-conflicts/package.py b/var/spack/repos/builtin/packages/perl-module-runtime-conflicts/package.py index 8fdd43653d5..518ab7696e5 100644 --- a/var/spack/repos/builtin/packages/perl-module-runtime-conflicts/package.py +++ b/var/spack/repos/builtin/packages/perl-module-runtime-conflicts/package.py @@ -9,7 +9,7 @@ class PerlModuleRuntimeConflicts(PerlPackage): """Provide information on conflicts for Module::Runtime""" - homepage = "http://search.cpan.org/~ether/Module-Runtime-Conflicts-0.003/lib/Module/Runtime/Conflicts.pm" + homepage = "https://metacpan.org/pod/Module::Runtime::Conflicts" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz" version('0.003', sha256='707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875') diff --git a/var/spack/repos/builtin/packages/perl-module-runtime/package.py b/var/spack/repos/builtin/packages/perl-module-runtime/package.py index 28cfcc4bbc6..0388efe9a0d 100644 --- a/var/spack/repos/builtin/packages/perl-module-runtime/package.py +++ b/var/spack/repos/builtin/packages/perl-module-runtime/package.py @@ -9,7 +9,7 @@ class PerlModuleRuntime(PerlPackage): """Runtime module handling""" - homepage = "http://search.cpan.org/~zefram/Module-Runtime/lib/Module/Runtime.pm" + homepage = "https://metacpan.org/pod/Module::Runtime" url = "http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz" version('0.016', sha256='68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024') diff --git a/var/spack/repos/builtin/packages/perl-moose/package.py b/var/spack/repos/builtin/packages/perl-moose/package.py index e6c20e5953d..fa0885bb2ff 100644 --- a/var/spack/repos/builtin/packages/perl-moose/package.py +++ b/var/spack/repos/builtin/packages/perl-moose/package.py @@ -9,7 +9,7 @@ class PerlMoose(PerlPackage): """A postmodern object system for Perl 5""" - homepage = "http://search.cpan.org/~ether/Moose-2.2006/lib/Moose.pm" + homepage = "https://metacpan.org/pod/Moose" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Moose-2.2006.tar.gz" version('2.2010', sha256='af0905b69f18c27de1177c9bc7778ee495d4ec91be1f223e8ca8333af4de08c5') diff --git a/var/spack/repos/builtin/packages/perl-mozilla-ca/package.py b/var/spack/repos/builtin/packages/perl-mozilla-ca/package.py index 50a4c280602..db1b539aaf9 100644 --- a/var/spack/repos/builtin/packages/perl-mozilla-ca/package.py +++ b/var/spack/repos/builtin/packages/perl-mozilla-ca/package.py @@ -9,7 +9,7 @@ class PerlMozillaCa(PerlPackage): """Mozilla's CA cert bundle in PEM format""" - homepage = "http://search.cpan.org/~abh/Mozilla-CA-20160104/lib/Mozilla/CA.pm" + homepage = "https://metacpan.org/pod/Mozilla::CA" url = "http://search.cpan.org/CPAN/authors/id/A/AB/ABH/Mozilla-CA-20160104.tar.gz" version('20160104', sha256='27a7069a243162b65ada4194ff9d21b6ebc304af723eb5d3972fb74c11b03f2a') diff --git a/var/spack/repos/builtin/packages/perl-mro-compat/package.py b/var/spack/repos/builtin/packages/perl-mro-compat/package.py index 1d72a34b289..96c576cd737 100644 --- a/var/spack/repos/builtin/packages/perl-mro-compat/package.py +++ b/var/spack/repos/builtin/packages/perl-mro-compat/package.py @@ -9,7 +9,7 @@ class PerlMroCompat(PerlPackage): """Provides several utilities for dealing with method resolution order.""" - homepage = "http://search.cpan.org/~haarg/MRO-Compat-0.13/lib/MRO/Compat.pm" + homepage = "https://metacpan.org/pod/MRO::Compat" url = "http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz" version('0.13', sha256='8a2c3b6ccc19328d5579d02a7d91285e2afd85d801f49d423a8eb16f323da4f8') diff --git a/var/spack/repos/builtin/packages/perl-namespace-clean/package.py b/var/spack/repos/builtin/packages/perl-namespace-clean/package.py index bfcecb5a9a2..3fca3222e35 100644 --- a/var/spack/repos/builtin/packages/perl-namespace-clean/package.py +++ b/var/spack/repos/builtin/packages/perl-namespace-clean/package.py @@ -9,7 +9,7 @@ class PerlNamespaceClean(PerlPackage): """Keep imports and functions out of your namespace.""" - homepage = "http://search.cpan.org/~ribasushi/namespace-clean-0.27/lib/namespace/clean.pm" + homepage = "https://metacpan.org/pod/namespace::clean" url = "http://search.cpan.org/CPAN/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz" version('0.27', sha256='8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d') diff --git a/var/spack/repos/builtin/packages/perl-net-http/package.py b/var/spack/repos/builtin/packages/perl-net-http/package.py index 986eb30313a..2837c8bbba7 100644 --- a/var/spack/repos/builtin/packages/perl-net-http/package.py +++ b/var/spack/repos/builtin/packages/perl-net-http/package.py @@ -9,7 +9,7 @@ class PerlNetHttp(PerlPackage): """Low-level HTTP connection (client)""" - homepage = "http://search.cpan.org/~oalders/Net-HTTP-6.17/lib/Net/HTTP.pm" + homepage = "https://metacpan.org/pod/Net::HTTP" url = "http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/Net-HTTP-6.17.tar.gz" version('6.17', sha256='1e8624b1618dc6f7f605f5545643ebb9b833930f4d7485d4124aa2f2f26d1611') diff --git a/var/spack/repos/builtin/packages/perl-net-scp-expect/package.py b/var/spack/repos/builtin/packages/perl-net-scp-expect/package.py index d7329e91492..cb508ebc3c5 100644 --- a/var/spack/repos/builtin/packages/perl-net-scp-expect/package.py +++ b/var/spack/repos/builtin/packages/perl-net-scp-expect/package.py @@ -9,7 +9,7 @@ class PerlNetScpExpect(PerlPackage): """Wrapper for scp that allows passwords via Expect.""" - homepage = "http://search.cpan.org/~rybskej/Net-SCP-Expect/Expect.pm" + homepage = "https://metacpan.org/pod/Net::SCP::Expect" url = "http://search.cpan.org/CPAN/authors/id/R/RY/RYBSKEJ/Net-SCP-Expect-0.16.tar.gz" version('0.16', sha256='97586e0ee0d61c987a7efaaffbfa551b95c426b3ef3625e046dc456fe9170591') diff --git a/var/spack/repos/builtin/packages/perl-net-ssleay/package.py b/var/spack/repos/builtin/packages/perl-net-ssleay/package.py index da18b494d79..81f78a9f6c3 100644 --- a/var/spack/repos/builtin/packages/perl-net-ssleay/package.py +++ b/var/spack/repos/builtin/packages/perl-net-ssleay/package.py @@ -11,7 +11,7 @@ class PerlNetSsleay(PerlPackage): """Perl extension for using OpenSSL""" - homepage = "http://search.cpan.org/~mikem/Net-SSLeay-1.82/lib/Net/SSLeay.pod" + homepage = "https://metacpan.org/pod/Net::SSLeay" url = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-1.82.tar.gz" version('1.85', sha256='9d8188b9fb1cae3bd791979c20554925d5e94a138d00414f1a6814549927b0c8') diff --git a/var/spack/repos/builtin/packages/perl-package-deprecationmanager/package.py b/var/spack/repos/builtin/packages/perl-package-deprecationmanager/package.py index f986fbfeeac..18cd35c285c 100644 --- a/var/spack/repos/builtin/packages/perl-package-deprecationmanager/package.py +++ b/var/spack/repos/builtin/packages/perl-package-deprecationmanager/package.py @@ -9,7 +9,7 @@ class PerlPackageDeprecationmanager(PerlPackage): """Manage deprecation warnings for your distribution""" - homepage = "http://search.cpan.org/~drolsky/Package-DeprecationManager-0.17/lib/Package/DeprecationManager.pm" + homepage = "https://metacpan.org/pod/Package::DeprecationManager" url = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.17.tar.gz" version('0.17', sha256='1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b') diff --git a/var/spack/repos/builtin/packages/perl-package-stash-xs/package.py b/var/spack/repos/builtin/packages/perl-package-stash-xs/package.py index defb35fbdea..46465e0a099 100644 --- a/var/spack/repos/builtin/packages/perl-package-stash-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-package-stash-xs/package.py @@ -9,7 +9,7 @@ class PerlPackageStashXs(PerlPackage): """Faster and more correct implementation of the Package::Stash API""" - homepage = "http://search.cpan.org/~doy/Package-Stash-XS-0.28/lib/Package/Stash/XS.pm" + homepage = "https://metacpan.org/pod/Package::Stash::XS" url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-XS-0.28.tar.gz" version('0.28', sha256='23d8c5c25768ef1dc0ce53b975796762df0d6e244445d06e48d794886c32d486') diff --git a/var/spack/repos/builtin/packages/perl-package-stash/package.py b/var/spack/repos/builtin/packages/perl-package-stash/package.py index e862255e206..161d0a71f9e 100644 --- a/var/spack/repos/builtin/packages/perl-package-stash/package.py +++ b/var/spack/repos/builtin/packages/perl-package-stash/package.py @@ -9,7 +9,7 @@ class PerlPackageStash(PerlPackage): """Routines for manipulating stashes""" - homepage = "http://search.cpan.org/~doy/Package-Stash-0.37/lib/Package/Stash.pm" + homepage = "https://metacpan.org/pod/Package::Stash" url = "http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-0.37.tar.gz" version('0.37', sha256='06ab05388f9130cd377c0e1d3e3bafeed6ef6a1e22104571a9e1d7bfac787b2c') diff --git a/var/spack/repos/builtin/packages/perl-padwalker/package.py b/var/spack/repos/builtin/packages/perl-padwalker/package.py index 824a6440679..195b0bb0e30 100644 --- a/var/spack/repos/builtin/packages/perl-padwalker/package.py +++ b/var/spack/repos/builtin/packages/perl-padwalker/package.py @@ -9,7 +9,7 @@ class PerlPadwalker(PerlPackage): """play with other peoples' lexical variables""" - homepage = "http://search.cpan.org/~robin/PadWalker-2.2/PadWalker.pm" + homepage = "https://metacpan.org/pod/PadWalker" url = "http://search.cpan.org/CPAN/authors/id/R/RO/ROBIN/PadWalker-2.2.tar.gz" version('2.2', sha256='fc1df2084522e29e892da393f3719d2c1be0da022fdd89cff4b814167aecfea3') diff --git a/var/spack/repos/builtin/packages/perl-parallel-forkmanager/package.py b/var/spack/repos/builtin/packages/perl-parallel-forkmanager/package.py index 75793707a6c..3b3bd531b51 100644 --- a/var/spack/repos/builtin/packages/perl-parallel-forkmanager/package.py +++ b/var/spack/repos/builtin/packages/perl-parallel-forkmanager/package.py @@ -9,7 +9,7 @@ class PerlParallelForkmanager(PerlPackage): """A simple parallel processing fork manager""" - homepage = "http://search.cpan.org/~yanick/Parallel-ForkManager/lib/Parallel/ForkManager.pm" + homepage = "https://metacpan.org/pod/Parallel::ForkManager" url = "http://search.cpan.org/CPAN/authors/id/Y/YA/YANICK/Parallel-ForkManager-1.19.tar.gz" version('1.19', sha256='f1de2e9875eeb77d65f80338905dedd522f3913822502982f805aa71cde5a472') diff --git a/var/spack/repos/builtin/packages/perl-params-util/package.py b/var/spack/repos/builtin/packages/perl-params-util/package.py index 650a67ea28a..dd3f0b85f00 100644 --- a/var/spack/repos/builtin/packages/perl-params-util/package.py +++ b/var/spack/repos/builtin/packages/perl-params-util/package.py @@ -9,7 +9,7 @@ class PerlParamsUtil(PerlPackage): """Simple, compact and correct param-checking functions""" - homepage = "http://search.cpan.org/~adamk/Params-Util-1.07/lib/Params/Util.pm" + homepage = "https://metacpan.org/pod/Params::Util" url = "http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz" version('1.07', sha256='30f1ec3f2cf9ff66ae96f973333f23c5f558915bb6266881eac7423f52d7c76c') diff --git a/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py b/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py index 570edfd8ffd..a3ebe0fafe6 100644 --- a/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py +++ b/var/spack/repos/builtin/packages/perl-parse-recdescent/package.py @@ -9,7 +9,7 @@ class PerlParseRecdescent(PerlPackage): """Generate Recursive-Descent Parsers""" - homepage = "http://search.cpan.org/~jtbraun/Parse-RecDescent-1.967015/lib/Parse/RecDescent.pm" + homepage = "https://metacpan.org/pod/Parse::RecDescent" url = "http://search.cpan.org/CPAN/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz" version('1.967015', sha256='1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37') diff --git a/var/spack/repos/builtin/packages/perl-pdf-api2/package.py b/var/spack/repos/builtin/packages/perl-pdf-api2/package.py index 3cd836b07d7..3511278af7c 100644 --- a/var/spack/repos/builtin/packages/perl-pdf-api2/package.py +++ b/var/spack/repos/builtin/packages/perl-pdf-api2/package.py @@ -9,7 +9,7 @@ class PerlPdfApi2(PerlPackage): """Facilitates the creation and modification of PDF files""" - homepage = "http://search.cpan.org/~ssimms/PDF-API2-2.033/lib/PDF/API2.pm" + homepage = "https://metacpan.org/pod/PDF::API2" url = "http://search.cpan.org/CPAN/authors/id/S/SS/SSIMMS/PDF-API2-2.033.tar.gz" version('2.033', sha256='9c0866ec1a3053f73afaca5f5cdbe6925903b4ce606f4bf4ac317731a69d27a0') diff --git a/var/spack/repos/builtin/packages/perl-pegex/package.py b/var/spack/repos/builtin/packages/perl-pegex/package.py index d8916ea5a22..add63e06998 100644 --- a/var/spack/repos/builtin/packages/perl-pegex/package.py +++ b/var/spack/repos/builtin/packages/perl-pegex/package.py @@ -9,7 +9,7 @@ class PerlPegex(PerlPackage): """Acmeist PEG Parser Framework""" - homepage = "http://search.cpan.org/~ingy/Pegex-0.64/lib/Pegex.pod" + homepage = "https://metacpan.org/pod/Pegex" url = "http://search.cpan.org/CPAN/authors/id/I/IN/INGY/Pegex-0.64.tar.gz" version('0.64', sha256='27e00264bdafb9c2109212b9654542032617fecf7b7814915d2bdac198f067cd') diff --git a/var/spack/repos/builtin/packages/perl-perl-version/package.py b/var/spack/repos/builtin/packages/perl-perl-version/package.py index 2877516e38c..b5aacdf59e9 100644 --- a/var/spack/repos/builtin/packages/perl-perl-version/package.py +++ b/var/spack/repos/builtin/packages/perl-perl-version/package.py @@ -9,7 +9,7 @@ class PerlPerlVersion(PerlPackage): """Parse and manipulate Perl version strings""" - homepage = "http://search.cpan.org/~bdfoy/Perl-Version-1.013/lib/Perl/Version.pm" + homepage = "https://metacpan.org/pod/Perl::Version" url = "http://search.cpan.org/CPAN/authors/id/B/BD/BDFOY/Perl-Version-1.013_03.tar.gz" version('1.013_03', sha256='6b5978f598dcdf8a304500c1b7bcdce967ca05e7b38673cebfdb4237531c2ff9') diff --git a/var/spack/repos/builtin/packages/perl-perl6-slurp/package.py b/var/spack/repos/builtin/packages/perl-perl6-slurp/package.py index 75f730cb0e6..3b37c51c6f9 100644 --- a/var/spack/repos/builtin/packages/perl-perl6-slurp/package.py +++ b/var/spack/repos/builtin/packages/perl-perl6-slurp/package.py @@ -9,7 +9,7 @@ class PerlPerl6Slurp(PerlPackage): """Perl6::Slurp - Implements the Perl 6 'slurp' built-in""" - homepage = "http://search.cpan.org/~dconway/Perl6-Slurp-0.051005/lib/Perl6/Slurp.pm" + homepage = "https://metacpan.org/pod/Perl6::Slurp" url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Perl6-Slurp-0.051005.tar.gz" version('0.051005', sha256='0e0ceb30495ecf64dc6cacd12113d604871104c0cfe153487b8d68bc9393d78f') diff --git a/var/spack/repos/builtin/packages/perl-perlio-gzip/package.py b/var/spack/repos/builtin/packages/perl-perlio-gzip/package.py index 832369692ba..b70a2d25468 100644 --- a/var/spack/repos/builtin/packages/perl-perlio-gzip/package.py +++ b/var/spack/repos/builtin/packages/perl-perlio-gzip/package.py @@ -9,7 +9,7 @@ class PerlPerlioGzip(PerlPackage): """Perl extension to provide a PerlIO layer to gzip/gunzip""" - homepage = "http://search.cpan.org/~nwclark/PerlIO-gzip/gzip.pm" + homepage = "https://metacpan.org/pod/PerlIO::gzip" url = "http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/PerlIO-gzip-0.19.tar.gz" version('0.20', sha256='4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5') diff --git a/var/spack/repos/builtin/packages/perl-perlio-utf8-strict/package.py b/var/spack/repos/builtin/packages/perl-perlio-utf8-strict/package.py index fa5e76c5753..b34da3382ed 100644 --- a/var/spack/repos/builtin/packages/perl-perlio-utf8-strict/package.py +++ b/var/spack/repos/builtin/packages/perl-perlio-utf8-strict/package.py @@ -9,7 +9,7 @@ class PerlPerlioUtf8Strict(PerlPackage): """This module provides a fast and correct UTF-8 PerlIO layer.""" - homepage = "http://search.cpan.org/~leont/PerlIO-utf8_strict/lib/PerlIO/utf8_strict.pm" + homepage = "https://metacpan.org/pod/PerlIO::utf8_strict" url = "http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.002.tar.gz" version('0.002', sha256='6e3163f8a2f1d276c975f21789d7a07843586d69e3e6156ffb67ef6680ceb75f') diff --git a/var/spack/repos/builtin/packages/perl-soap-lite/package.py b/var/spack/repos/builtin/packages/perl-soap-lite/package.py index d06513d1545..291653a5d8d 100644 --- a/var/spack/repos/builtin/packages/perl-soap-lite/package.py +++ b/var/spack/repos/builtin/packages/perl-soap-lite/package.py @@ -9,7 +9,7 @@ class PerlSoapLite(PerlPackage): """Perl's Web Services Toolkit""" - homepage = "http://search.cpan.org/~phred/SOAP-Lite-1.20/lib/SOAP/Lite.pm" + homepage = "https://metacpan.org/pod/SOAP::Lite" url = "http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/SOAP-Lite-1.22.tar.gz" version('1.22', sha256='92f492f8722cb3002cd1dce11238cee5599bb5bd451a062966df45223d33693a') diff --git a/var/spack/repos/builtin/packages/perl-statistics-descriptive/package.py b/var/spack/repos/builtin/packages/perl-statistics-descriptive/package.py index d381790ded5..df5791e373b 100644 --- a/var/spack/repos/builtin/packages/perl-statistics-descriptive/package.py +++ b/var/spack/repos/builtin/packages/perl-statistics-descriptive/package.py @@ -9,7 +9,7 @@ class PerlStatisticsDescriptive(PerlPackage): """Module of basic descriptive statistical functions.""" - homepage = "http://search.cpan.org/~shlomif/Statistics-Descriptive-3.0612/lib/Statistics/Descriptive.pm" + homepage = "https://metacpan.org/pod/Statistics::Descriptive" url = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0612.tar.gz" version('3.0612', sha256='772413148e5e00efb32f277c4254aa78b9112490a896208dcd0025813afdbf7a') diff --git a/var/spack/repos/builtin/packages/perl-statistics-pca/package.py b/var/spack/repos/builtin/packages/perl-statistics-pca/package.py index ac8ccbdfdd2..6ab05b18d68 100644 --- a/var/spack/repos/builtin/packages/perl-statistics-pca/package.py +++ b/var/spack/repos/builtin/packages/perl-statistics-pca/package.py @@ -9,7 +9,7 @@ class PerlStatisticsPca(PerlPackage): """A simple Perl implementation of Principal Component Analysis.""" - homepage = "http://search.cpan.org/~dsth/Statistics-PCA/lib/Statistics/PCA.pm" + homepage = "https://metacpan.org/pod/Statistics::PCA" url = "http://search.cpan.org/CPAN/authors/id/D/DS/DSTH/Statistics-PCA-0.0.1.tar.gz" version('0.0.1', sha256='f8adb10b00232123d103a5b49161ad46370f47fe0f752e5462a4dc15f9d46bc4') diff --git a/var/spack/repos/builtin/packages/perl-sub-exporter-progressive/package.py b/var/spack/repos/builtin/packages/perl-sub-exporter-progressive/package.py index 4215970423d..3b8f7e44bec 100644 --- a/var/spack/repos/builtin/packages/perl-sub-exporter-progressive/package.py +++ b/var/spack/repos/builtin/packages/perl-sub-exporter-progressive/package.py @@ -9,7 +9,7 @@ class PerlSubExporterProgressive(PerlPackage): """Progressive Sub::Exporter""" - homepage = "http://search.cpan.org/~frew/Sub-Exporter-Progressive-0.001013/lib/Sub/Exporter/Progressive.pm" + homepage = "https://metacpan.org/pod/Sub::Exporter::Progressive" url = "http://search.cpan.org/CPAN/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz" version('0.001013', sha256='d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056') diff --git a/var/spack/repos/builtin/packages/perl-sub-exporter/package.py b/var/spack/repos/builtin/packages/perl-sub-exporter/package.py index b9395cb3c7a..dc9d007a2d7 100644 --- a/var/spack/repos/builtin/packages/perl-sub-exporter/package.py +++ b/var/spack/repos/builtin/packages/perl-sub-exporter/package.py @@ -9,7 +9,7 @@ class PerlSubExporter(PerlPackage): """A sophisticated exporter for custom-built routines""" - homepage = "http://search.cpan.org/~rjbs/Sub-Exporter-0.987/lib/Sub/Exporter.pm" + homepage = "https://metacpan.org/pod/Sub::Exporter" url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz" version('0.987', sha256='543cb2e803ab913d44272c7da6a70bb62c19e467f3b12aaac4c9523259b083d6') diff --git a/var/spack/repos/builtin/packages/perl-sub-identify/package.py b/var/spack/repos/builtin/packages/perl-sub-identify/package.py index fb2b283358b..e7aa6f259c6 100644 --- a/var/spack/repos/builtin/packages/perl-sub-identify/package.py +++ b/var/spack/repos/builtin/packages/perl-sub-identify/package.py @@ -9,7 +9,7 @@ class PerlSubIdentify(PerlPackage): """Retrieve names of code references""" - homepage = "http://search.cpan.org/~rgarcia/Sub-Identify-0.14/lib/Sub/Identify.pm" + homepage = "https://metacpan.org/pod/Sub::Identify" url = "http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz" version('0.14', sha256='068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f') diff --git a/var/spack/repos/builtin/packages/perl-sub-install/package.py b/var/spack/repos/builtin/packages/perl-sub-install/package.py index 4a3fddf2454..a1fdae95685 100644 --- a/var/spack/repos/builtin/packages/perl-sub-install/package.py +++ b/var/spack/repos/builtin/packages/perl-sub-install/package.py @@ -9,7 +9,7 @@ class PerlSubInstall(PerlPackage): """Install subroutines into packages easily""" - homepage = "http://search.cpan.org/~rjbs/Sub-Install-0.928/lib/Sub/Install.pm" + homepage = "https://metacpan.org/pod/Sub::Install" url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz" version('0.928', sha256='61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f') diff --git a/var/spack/repos/builtin/packages/perl-sub-name/package.py b/var/spack/repos/builtin/packages/perl-sub-name/package.py index 424b015779a..5aad046d07c 100644 --- a/var/spack/repos/builtin/packages/perl-sub-name/package.py +++ b/var/spack/repos/builtin/packages/perl-sub-name/package.py @@ -9,7 +9,7 @@ class PerlSubName(PerlPackage): """Name or rename a sub""" - homepage = "http://search.cpan.org/~ether/Sub-Name-0.21/lib/Sub/Name.pm" + homepage = "https://metacpan.org/pod/Sub::Name" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Sub-Name-0.21.tar.gz" version('0.21', sha256='bd32e9dee07047c10ae474c9f17d458b6e9885a6db69474c7a494ccc34c27117') diff --git a/var/spack/repos/builtin/packages/perl-sub-uplevel/package.py b/var/spack/repos/builtin/packages/perl-sub-uplevel/package.py index 969816a1d49..f7df9b47447 100644 --- a/var/spack/repos/builtin/packages/perl-sub-uplevel/package.py +++ b/var/spack/repos/builtin/packages/perl-sub-uplevel/package.py @@ -9,7 +9,7 @@ class PerlSubUplevel(PerlPackage): """apparently run a function in a higher stack frame""" - homepage = "http://search.cpan.org/~dagolden/Sub-Uplevel-0.2800/lib/Sub/Uplevel.pm" + homepage = "https://metacpan.org/pod/Sub::Uplevel" url = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz" version('0.2800', sha256='b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293') diff --git a/var/spack/repos/builtin/packages/perl-svg/package.py b/var/spack/repos/builtin/packages/perl-svg/package.py index 4e10bdba775..33d02ad1422 100644 --- a/var/spack/repos/builtin/packages/perl-svg/package.py +++ b/var/spack/repos/builtin/packages/perl-svg/package.py @@ -10,7 +10,7 @@ class PerlSvg(PerlPackage): """Perl extension for generating Scalable Vector Graphics (SVG) documents. """ - homepage = "http://search.cpan.org/~manwar/SVG-2.78/lib/SVG.pm" + homepage = "https://metacpan.org/pod/SVG" url = "http://search.cpan.org/CPAN/authors/id/M/MA/MANWAR/SVG-2.78.tar.gz" version('2.78', sha256='a665c1f18c0529f3da0f4b631976eb47e0f71f6d6784ef3f44d32fd76643d6bb') diff --git a/var/spack/repos/builtin/packages/perl-task-weaken/package.py b/var/spack/repos/builtin/packages/perl-task-weaken/package.py index 4822c777e17..8accfc2dbef 100644 --- a/var/spack/repos/builtin/packages/perl-task-weaken/package.py +++ b/var/spack/repos/builtin/packages/perl-task-weaken/package.py @@ -9,7 +9,7 @@ class PerlTaskWeaken(PerlPackage): """Ensure that a platform has weaken support""" - homepage = "http://search.cpan.org/~adamk/Task-Weaken-1.04/lib/Task/Weaken.pm" + homepage = "https://metacpan.org/pod/Task::Weaken" url = "http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz" version('1.04', sha256='67e271c55900fe7889584f911daa946e177bb60c8af44c32f4584b87766af3c4') diff --git a/var/spack/repos/builtin/packages/perl-termreadkey/package.py b/var/spack/repos/builtin/packages/perl-termreadkey/package.py index 2ea2d24a76e..92f20181733 100644 --- a/var/spack/repos/builtin/packages/perl-termreadkey/package.py +++ b/var/spack/repos/builtin/packages/perl-termreadkey/package.py @@ -15,7 +15,7 @@ class PerlTermreadkey(PerlPackage): "use Term::ReadKey" on any architecture and have a good likelihood of it working.""" - homepage = "http://search.cpan.org/perldoc/Term::ReadKey" + homepage = "https://metacpan.org/pod/Term::ReadKey" url = "http://www.cpan.org/authors/id/J/JS/JSTOWE/TermReadKey-2.37.tar.gz" version('2.38', sha256='5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290') diff --git a/var/spack/repos/builtin/packages/perl-test-cleannamespaces/package.py b/var/spack/repos/builtin/packages/perl-test-cleannamespaces/package.py index 397f21f23d2..66ef54aa70f 100644 --- a/var/spack/repos/builtin/packages/perl-test-cleannamespaces/package.py +++ b/var/spack/repos/builtin/packages/perl-test-cleannamespaces/package.py @@ -10,7 +10,7 @@ class PerlTestCleannamespaces(PerlPackage): """This module lets you check your module's namespaces for imported functions you might have forgotten to remove""" - homepage = "http://search.cpan.org/~ether/Test-CleanNamespaces-0.22/lib/Test/CleanNamespaces.pm" + homepage = "https://metacpan.org/pod/Test::CleanNamespaces" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.22.tar.gz" version('0.22', sha256='862a221994dd413b2f350450f22c96f57cac78784b1aca1a8fc763fc5449aaca') diff --git a/var/spack/repos/builtin/packages/perl-test-deep/package.py b/var/spack/repos/builtin/packages/perl-test-deep/package.py index ab781859ebb..0eae96921f1 100644 --- a/var/spack/repos/builtin/packages/perl-test-deep/package.py +++ b/var/spack/repos/builtin/packages/perl-test-deep/package.py @@ -9,7 +9,7 @@ class PerlTestDeep(PerlPackage): """Extremely flexible deep comparison""" - homepage = "http://search.cpan.org/~rjbs/Test-Deep-1.127/lib/Test/Deep.pm" + homepage = "https://metacpan.org/pod/Test::Deep" url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Deep-1.127.tar.gz" version('1.127', sha256='b78cfc59c41ba91f47281e2c1d2bfc4b3b1b42bfb76b4378bc88cc37b7af7268') diff --git a/var/spack/repos/builtin/packages/perl-test-differences/package.py b/var/spack/repos/builtin/packages/perl-test-differences/package.py index 3c9d4282d3c..e54a55a3200 100644 --- a/var/spack/repos/builtin/packages/perl-test-differences/package.py +++ b/var/spack/repos/builtin/packages/perl-test-differences/package.py @@ -9,7 +9,7 @@ class PerlTestDifferences(PerlPackage): """Test strings and data structures and show differences if not ok""" - homepage = "http://search.cpan.org/~dcantrell/Test-Differences-0.64/lib/Test/Differences.pm" + homepage = "https://metacpan.org/pod/Test::Differences" url = "http://search.cpan.org/CPAN/authors/id/D/DC/DCANTRELL/Test-Differences-0.64.tar.gz" version('0.64', sha256='9f459dd9c2302a0a73e2f5528a0ce7d09d6766f073187ae2c69e603adf2eb276') diff --git a/var/spack/repos/builtin/packages/perl-test-exception/package.py b/var/spack/repos/builtin/packages/perl-test-exception/package.py index 41078facc3c..61ebd801646 100644 --- a/var/spack/repos/builtin/packages/perl-test-exception/package.py +++ b/var/spack/repos/builtin/packages/perl-test-exception/package.py @@ -9,7 +9,7 @@ class PerlTestException(PerlPackage): """Test exception-based code""" - homepage = "http://search.cpan.org/~exodist/Test-Exception-0.43/lib/Test/Exception.pm" + homepage = "https://metacpan.org/pod/Test::Exception" url = "http://search.cpan.org/CPAN/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz" version('0.43', sha256='156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533') diff --git a/var/spack/repos/builtin/packages/perl-test-fatal/package.py b/var/spack/repos/builtin/packages/perl-test-fatal/package.py index 8fbc58eb490..fa927519843 100644 --- a/var/spack/repos/builtin/packages/perl-test-fatal/package.py +++ b/var/spack/repos/builtin/packages/perl-test-fatal/package.py @@ -9,7 +9,7 @@ class PerlTestFatal(PerlPackage): """Incredibly simple helpers for testing code with exceptions""" - homepage = "http://search.cpan.org/~rjbs/Test-Fatal-0.014/lib/Test/Fatal.pm" + homepage = "https://metacpan.org/pod/Test::Fatal" url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Fatal-0.014.tar.gz" version('0.014', sha256='bcdcef5c7b2790a187ebca810b0a08221a63256062cfab3c3b98685d91d1cbb0') diff --git a/var/spack/repos/builtin/packages/perl-test-memory-cycle/package.py b/var/spack/repos/builtin/packages/perl-test-memory-cycle/package.py index 9675d19eca6..138d60dc583 100644 --- a/var/spack/repos/builtin/packages/perl-test-memory-cycle/package.py +++ b/var/spack/repos/builtin/packages/perl-test-memory-cycle/package.py @@ -9,7 +9,7 @@ class PerlTestMemoryCycle(PerlPackage): """Check for memory leaks and circular memory references""" - homepage = "http://search.cpan.org/~petdance/Test-Memory-Cycle-1.06/Cycle.pm" + homepage = "https://metacpan.org/pod/Test::Memory::Cycle" url = "http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz" version('1.06', sha256='9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202') diff --git a/var/spack/repos/builtin/packages/perl-test-most/package.py b/var/spack/repos/builtin/packages/perl-test-most/package.py index f0057b9d341..e8caaae4d0e 100644 --- a/var/spack/repos/builtin/packages/perl-test-most/package.py +++ b/var/spack/repos/builtin/packages/perl-test-most/package.py @@ -9,7 +9,7 @@ class PerlTestMost(PerlPackage): """Most commonly needed test functions and features.""" - homepage = "http://search.cpan.org/~ovid/Test-Most-0.35/lib/Test/Most.pm" + homepage = "https://metacpan.org/pod/Test::Most" url = "http://search.cpan.org/CPAN/authors/id/O/OV/OVID/Test-Most-0.35.tar.gz" version('0.35', sha256='9897a6f4d751598d2ed1047e01c1554b01d0f8c96c45e7e845229782bf6f657f') diff --git a/var/spack/repos/builtin/packages/perl-test-needs/package.py b/var/spack/repos/builtin/packages/perl-test-needs/package.py index 11d46af928e..9b27efef23b 100644 --- a/var/spack/repos/builtin/packages/perl-test-needs/package.py +++ b/var/spack/repos/builtin/packages/perl-test-needs/package.py @@ -9,7 +9,7 @@ class PerlTestNeeds(PerlPackage): """Skip tests when modules not available.""" - homepage = "http://search.cpan.org/~haarg/Test-Needs-0.002005/lib/Test/Needs.pm" + homepage = "https://metacpan.org/pod/Test::Needs" url = "http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Test-Needs-0.002005.tar.gz" version('0.002005', sha256='5a4f33983586edacdbe00a3b429a9834190140190dab28d0f873c394eb7df399') diff --git a/var/spack/repos/builtin/packages/perl-test-requires/package.py b/var/spack/repos/builtin/packages/perl-test-requires/package.py index 6a3a6157dcf..69e5c214430 100644 --- a/var/spack/repos/builtin/packages/perl-test-requires/package.py +++ b/var/spack/repos/builtin/packages/perl-test-requires/package.py @@ -9,7 +9,7 @@ class PerlTestRequires(PerlPackage): """Checks to see if the module can be loaded.""" - homepage = "http://search.cpan.org/~tokuhirom/Test-Requires-0.10/lib/Test/Requires.pm" + homepage = "https://metacpan.org/pod/Test::Requires" url = "http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Test-Requires-0.10.tar.gz" version('0.10', sha256='2768a391d50ab94b95cefe540b9232d7046c13ee86d01859e04c044903222eb5') diff --git a/var/spack/repos/builtin/packages/perl-test-requiresinternet/package.py b/var/spack/repos/builtin/packages/perl-test-requiresinternet/package.py index 6fd9f909206..cdf26452635 100644 --- a/var/spack/repos/builtin/packages/perl-test-requiresinternet/package.py +++ b/var/spack/repos/builtin/packages/perl-test-requiresinternet/package.py @@ -9,7 +9,7 @@ class PerlTestRequiresinternet(PerlPackage): """Easily test network connectivity""" - homepage = "http://search.cpan.org/~mallen/Test-RequiresInternet-0.05/lib/Test/RequiresInternet.pm" + homepage = "https://metacpan.org/pod/Test::RequiresInternet" url = "http://search.cpan.org/CPAN/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz" version('0.05', sha256='bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e') diff --git a/var/spack/repos/builtin/packages/perl-test-warn/package.py b/var/spack/repos/builtin/packages/perl-test-warn/package.py index c93c285def3..7fa8292fdba 100644 --- a/var/spack/repos/builtin/packages/perl-test-warn/package.py +++ b/var/spack/repos/builtin/packages/perl-test-warn/package.py @@ -9,7 +9,7 @@ class PerlTestWarn(PerlPackage): """Perl extension to test methods for warnings""" - homepage = "http://search.cpan.org/~chorny/Test-Warn-0.30/Warn.pm" + homepage = "https://metacpan.org/pod/Test::Warn" url = "http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz" version('0.30', sha256='8197555b94189d919349a03f7058f83861f145af9bee59f505bfe47562144e41') diff --git a/var/spack/repos/builtin/packages/perl-text-csv/package.py b/var/spack/repos/builtin/packages/perl-text-csv/package.py index fb9db890a65..2a3b46b6a47 100644 --- a/var/spack/repos/builtin/packages/perl-text-csv/package.py +++ b/var/spack/repos/builtin/packages/perl-text-csv/package.py @@ -9,7 +9,7 @@ class PerlTextCsv(PerlPackage): """Comma-separated values manipulator (using XS or PurePerl)""" - homepage = "http://search.cpan.org/~ishigaki/Text-CSV/lib/Text/CSV.pm" + homepage = "https://metacpan.org/pod/Text::CSV" url = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/Text-CSV-1.95.tar.gz" version('1.95', sha256='7e0a11d9c1129a55b68a26aa4b37c894279df255aa63ec8341d514ab848dbf61') diff --git a/var/spack/repos/builtin/packages/perl-text-diff/package.py b/var/spack/repos/builtin/packages/perl-text-diff/package.py index b06e68be4bf..4a6ebbf20b5 100644 --- a/var/spack/repos/builtin/packages/perl-text-diff/package.py +++ b/var/spack/repos/builtin/packages/perl-text-diff/package.py @@ -9,7 +9,7 @@ class PerlTextDiff(PerlPackage): """Provides a basic set of services akin to the GNU diff utility.""" - homepage = "http://search.cpan.org/~neilb/Text-Diff-1.45/lib/Text/Diff.pm" + homepage = "https://metacpan.org/pod/Text::Diff" url = "http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz" version('1.45', sha256='e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04') diff --git a/var/spack/repos/builtin/packages/perl-text-simpletable/package.py b/var/spack/repos/builtin/packages/perl-text-simpletable/package.py index 4f679940284..f417a1705b4 100644 --- a/var/spack/repos/builtin/packages/perl-text-simpletable/package.py +++ b/var/spack/repos/builtin/packages/perl-text-simpletable/package.py @@ -9,7 +9,7 @@ class PerlTextSimpletable(PerlPackage): """Simple Eyecandy ASCII Tables""" - homepage = "http://search.cpan.org/~mramberg/Text-SimpleTable/lib/Text/SimpleTable.pm" + homepage = "https://metacpan.org/pod/Text::SimpleTable" url = "http://search.cpan.org/CPAN/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.04.tar.gz" version('2.04', sha256='8d82f3140b1453b962956b7855ba288d435e7f656c3c40ced4e3e8e359ab5293') diff --git a/var/spack/repos/builtin/packages/perl-text-soundex/package.py b/var/spack/repos/builtin/packages/perl-text-soundex/package.py index 666097d7e04..2e2d673257c 100644 --- a/var/spack/repos/builtin/packages/perl-text-soundex/package.py +++ b/var/spack/repos/builtin/packages/perl-text-soundex/package.py @@ -12,7 +12,7 @@ class PerlTextSoundex(PerlPackage): pronunciation to be encoded to the same representation so that they can be matched despite minor differences in spelling""" - homepage = "http://search.cpan.org/~rjbs/Text-Soundex-3.05/Soundex.pm" + homepage = "https://metacpan.org/pod/Text::Soundex" url = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz" version('3.05', sha256='f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed') diff --git a/var/spack/repos/builtin/packages/perl-text-unidecode/package.py b/var/spack/repos/builtin/packages/perl-text-unidecode/package.py index f4efc023c6a..d39e82d25be 100644 --- a/var/spack/repos/builtin/packages/perl-text-unidecode/package.py +++ b/var/spack/repos/builtin/packages/perl-text-unidecode/package.py @@ -9,7 +9,7 @@ class PerlTextUnidecode(PerlPackage): """plain ASCII transliterations of Unicode text""" - homepage = "http://search.cpan.org/~sburke/Text-Unidecode/lib/Text/Unidecode.pm" + homepage = "https://metacpan.org/pod/Text::Unidecode" url = "http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz" version('1.30', sha256='6c24f14ddc1d20e26161c207b73ca184eed2ef57f08b5fb2ee196e6e2e88b1c6') diff --git a/var/spack/repos/builtin/packages/perl-time-hires/package.py b/var/spack/repos/builtin/packages/perl-time-hires/package.py index b7b4737d89e..8aeb3839a60 100644 --- a/var/spack/repos/builtin/packages/perl-time-hires/package.py +++ b/var/spack/repos/builtin/packages/perl-time-hires/package.py @@ -9,7 +9,7 @@ class PerlTimeHires(PerlPackage): """High resolution alarm, sleep, gettimeofday, interval timers""" - homepage = "http://search.cpan.org/~jhi/Time-HiRes-1.9746/HiRes.pm" + homepage = "https://metacpan.org/pod/Time::HiRes" url = "http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9746.tar.gz" version('1.9746', sha256='89408c81bb827bc908c98eec50071e6e1158f38fa462865ecc3dc03aebf5f596') diff --git a/var/spack/repos/builtin/packages/perl-time-piece/package.py b/var/spack/repos/builtin/packages/perl-time-piece/package.py index e8f346340d3..883dba269cc 100644 --- a/var/spack/repos/builtin/packages/perl-time-piece/package.py +++ b/var/spack/repos/builtin/packages/perl-time-piece/package.py @@ -9,7 +9,7 @@ class PerlTimePiece(PerlPackage): """Object Oriented time objects""" - homepage = "http://search.cpan.org/~esaym/Time-Piece/Piece.pm" + homepage = "https://metacpan.org/pod/Time::Piece" url = "http://search.cpan.org/CPAN/authors/id/E/ES/ESAYM/Time-Piece-1.3203.tar.gz" version('1.3203', sha256='6971faf6476e4f715a5b5336f0a97317f36e7880fcca6c4db7c3e38e764a6f41') diff --git a/var/spack/repos/builtin/packages/perl-try-tiny/package.py b/var/spack/repos/builtin/packages/perl-try-tiny/package.py index 5c6398d47c9..79eb4220cc5 100644 --- a/var/spack/repos/builtin/packages/perl-try-tiny/package.py +++ b/var/spack/repos/builtin/packages/perl-try-tiny/package.py @@ -9,7 +9,7 @@ class PerlTryTiny(PerlPackage): """Minimal try/catch with proper preservation of $@""" - homepage = "http://search.cpan.org/~ether/Try-Tiny-0.28/lib/Try/Tiny.pm" + homepage = "https://metacpan.org/pod/Try::Tiny" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Try-Tiny-0.28.tar.gz" version('0.28', sha256='f1d166be8aa19942c4504c9111dade7aacb981bc5b3a2a5c5f6019646db8c146') diff --git a/var/spack/repos/builtin/packages/perl-uri/package.py b/var/spack/repos/builtin/packages/perl-uri/package.py index 8304c7a13b1..270ed504fc8 100644 --- a/var/spack/repos/builtin/packages/perl-uri/package.py +++ b/var/spack/repos/builtin/packages/perl-uri/package.py @@ -9,7 +9,7 @@ class PerlUri(PerlPackage): """Uniform Resource Identifiers (absolute and relative)""" - homepage = "http://search.cpan.org/~ether/URI-1.72/lib/URI.pm" + homepage = "https://metacpan.org/pod/URI" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/URI-1.72.tar.gz" version('1.72', sha256='35f14431d4b300de4be1163b0b5332de2d7fbda4f05ff1ed198a8e9330d40a32') diff --git a/var/spack/repos/builtin/packages/perl-want/package.py b/var/spack/repos/builtin/packages/perl-want/package.py index fe7f20ae64a..5f3e21e8ca9 100644 --- a/var/spack/repos/builtin/packages/perl-want/package.py +++ b/var/spack/repos/builtin/packages/perl-want/package.py @@ -9,7 +9,7 @@ class PerlWant(PerlPackage): """A generalisation of wantarray.""" - homepage = "http://search.cpan.org/~robin/Want/Want.pm" + homepage = "https://metacpan.org/pod/Want" url = "http://search.cpan.org/CPAN/authors/id/R/RO/ROBIN/Want-0.29.tar.gz" version('0.29', sha256='b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7') diff --git a/var/spack/repos/builtin/packages/perl-xml-parser-lite/package.py b/var/spack/repos/builtin/packages/perl-xml-parser-lite/package.py index 34ff9568812..6897d90b98c 100644 --- a/var/spack/repos/builtin/packages/perl-xml-parser-lite/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-parser-lite/package.py @@ -9,7 +9,7 @@ class PerlXmlParserLite(PerlPackage): """Lightweight pure-perl XML Parser (based on regexps)""" - homepage = "http://search.cpan.org/~phred/XML-Parser-Lite-0.721/lib/XML/Parser/Lite.pm" + homepage = "https://metacpan.org/pod/XML::Parser::Lite" url = "http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/XML-Parser-Lite-0.721.tar.gz" version('0.721', sha256='5862a36ecab9db9aad021839c847e8d2f4ab5a7796c61d0fb069bb69cf7908ba') diff --git a/var/spack/repos/builtin/packages/perl-xml-parser/package.py b/var/spack/repos/builtin/packages/perl-xml-parser/package.py index 2bf04b02038..084baa5442b 100644 --- a/var/spack/repos/builtin/packages/perl-xml-parser/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-parser/package.py @@ -10,7 +10,7 @@ class PerlXmlParser(PerlPackage): """XML::Parser - A perl module for parsing XML documents""" - homepage = "http://search.cpan.org/perldoc/XML::Parser" + homepage = "https://metacpan.org/pod/XML::Parser" url = "http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz" version('2.44', sha256='1ae9d07ee9c35326b3d9aad56eae71a6730a73a116b9fe9e8a4758b7cc033216') diff --git a/var/spack/repos/builtin/packages/perl-xml-simple/package.py b/var/spack/repos/builtin/packages/perl-xml-simple/package.py index 688f17a4546..7b2ca9dcb9d 100644 --- a/var/spack/repos/builtin/packages/perl-xml-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-simple/package.py @@ -9,7 +9,7 @@ class PerlXmlSimple(PerlPackage): """An API for simple XML files""" - homepage = "http://search.cpan.org/~grantm/XML-Simple/lib/XML/Simple.pm" + homepage = "https://metacpan.org/pod/XML::Simple" url = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-Simple-2.24.tar.gz" version('2.24', sha256='9a14819fd17c75fbb90adcec0446ceab356cab0ccaff870f2e1659205dc2424f') diff --git a/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py b/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py index 5b5d02d6f7c..26a1c07ee06 100644 --- a/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py +++ b/var/spack/repos/builtin/packages/perl-yaml-libyaml/package.py @@ -9,7 +9,7 @@ class PerlYamlLibyaml(PerlPackage): """Perl YAML Serialization using XS and libyaml """ - homepage = "http://search.cpan.org/~tinita/YAML-LibYAML/" + homepage = "https://metacpan.org/pod/YAML::LibYAML" url = "http://search.cpan.org/CPAN/authors/id/T/TI/TINITA/YAML-LibYAML-0.67.tar.gz" version('0.67', sha256='e65a22abc912a46a10abddf3b88d806757f44f164ab3167c8f0ff6aa30648187') diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py index e318748cd7b..a4b7263633b 100644 --- a/var/spack/repos/builtin/packages/perl/package.py +++ b/var/spack/repos/builtin/packages/perl/package.py @@ -24,7 +24,7 @@ class Perl(Package): # Perl doesn't use Autotools, it should subclass Package """Perl 5 is a highly capable, feature-rich programming language with over 27 years of development.""" - homepage = "http://www.perl.org" + homepage = "https://www.perl.org" # URL must remain http:// so Spack can bootstrap curl url = "http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz" diff --git a/var/spack/repos/builtin/packages/plumed/package.py b/var/spack/repos/builtin/packages/plumed/package.py index 78c3c30c9c1..6408c152252 100644 --- a/var/spack/repos/builtin/packages/plumed/package.py +++ b/var/spack/repos/builtin/packages/plumed/package.py @@ -20,7 +20,7 @@ class Plumed(AutotoolsPackage): The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. """ - homepage = 'http://www.plumed.org/' + homepage = 'https://www.plumed.org/' url = 'https://github.com/plumed/plumed2/archive/v2.6.3.tar.gz' git = 'https://github.com/plumed/plumed2.git' diff --git a/var/spack/repos/builtin/packages/pmdk/package.py b/var/spack/repos/builtin/packages/pmdk/package.py index b600886fdb4..3879a724bc0 100644 --- a/var/spack/repos/builtin/packages/pmdk/package.py +++ b/var/spack/repos/builtin/packages/pmdk/package.py @@ -12,7 +12,7 @@ class Pmdk(Package): for persistent memory """ - homepage = "http://pmem.io/pmdk/" + homepage = "https://pmem.io/pmdk/" url = "https://github.com/pmem/pmdk/archive/1.5.tar.gz" git = "https://github.com/pmem/pmdk.git" diff --git a/var/spack/repos/builtin/packages/postgresql/package.py b/var/spack/repos/builtin/packages/postgresql/package.py index c5e250255ba..2f6f919706e 100644 --- a/var/spack/repos/builtin/packages/postgresql/package.py +++ b/var/spack/repos/builtin/packages/postgresql/package.py @@ -14,7 +14,7 @@ class Postgresql(AutotoolsPackage): that has earned it a strong reputation for reliability, data integrity, and correctness.""" - homepage = "http://www.postgresql.org/" + homepage = "https://www.postgresql.org/" url = "http://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.bz2" list_url = "http://ftp.postgresql.org/pub/source" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/powertop/package.py b/var/spack/repos/builtin/packages/powertop/package.py index 1c776afc6f4..3e3848742d8 100644 --- a/var/spack/repos/builtin/packages/powertop/package.py +++ b/var/spack/repos/builtin/packages/powertop/package.py @@ -10,7 +10,7 @@ class Powertop(AutotoolsPackage): """Powertop is a Linux tool to diagnose issues with power consumption and power management""" - homepage = "http://01.org/powertop/" + homepage = "https://01.org/powertop/" url = "http://01.org/sites/default/files/downloads/powertop/powertop-v2.9.tar.gz" version('2.9', sha256='aa7fb7d8e9a00f05e7d8a7a2866d85929741e0d03a5bf40cab22d2021c959250') diff --git a/var/spack/repos/builtin/packages/precice/package.py b/var/spack/repos/builtin/packages/precice/package.py index f1a31e7fec6..742205000b6 100644 --- a/var/spack/repos/builtin/packages/precice/package.py +++ b/var/spack/repos/builtin/packages/precice/package.py @@ -13,7 +13,7 @@ class Precice(CMakePackage): capable of simulating a subpart of the complete physics involved in a simulation.""" - homepage = 'https://www.precice.org' + homepage = 'https://precice.org/' git = 'https://github.com/precice/precice.git' url = 'https://github.com/precice/precice/archive/v1.2.0.tar.gz' maintainers = ['fsimonis', 'MakisH'] diff --git a/var/spack/repos/builtin/packages/printproto/package.py b/var/spack/repos/builtin/packages/printproto/package.py index 6d0b1ac557a..e64fb940ffb 100644 --- a/var/spack/repos/builtin/packages/printproto/package.py +++ b/var/spack/repos/builtin/packages/printproto/package.py @@ -10,7 +10,7 @@ class Printproto(AutotoolsPackage, XorgPackage): """Xprint extension to the X11 protocol - a portable, network-transparent printing system.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/printproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/printproto" xorg_mirror_path = "proto/printproto-1.0.5.tar.gz" version('1.0.5', sha256='e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc') diff --git a/var/spack/repos/builtin/packages/pugixml/package.py b/var/spack/repos/builtin/packages/pugixml/package.py index 094b1d3e7f8..679f2754bfe 100644 --- a/var/spack/repos/builtin/packages/pugixml/package.py +++ b/var/spack/repos/builtin/packages/pugixml/package.py @@ -10,7 +10,7 @@ class Pugixml(CMakePackage): """Light-weight, simple, and fast XML parser for C++ with XPath support""" - homepage = "http://pugixml.org/" + homepage = "https://pugixml.org/" url = "https://github.com/zeux/pugixml/releases/download/v1.10/pugixml-1.10.tar.gz" version('1.11.4', sha256='8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716') diff --git a/var/spack/repos/builtin/packages/py-adios/package.py b/var/spack/repos/builtin/packages/py-adios/package.py index c2f65a757ab..0768466fac6 100644 --- a/var/spack/repos/builtin/packages/py-adios/package.py +++ b/var/spack/repos/builtin/packages/py-adios/package.py @@ -9,7 +9,7 @@ class PyAdios(PythonPackage): """NumPy bindings of ADIOS1""" - homepage = "https://www.olcf.ornl.gov/center-projects/adios/" + homepage = "https://csmd.ornl.gov/adios" url = "https://github.com/ornladios/ADIOS/archive/v1.12.0.tar.gz" git = "https://github.com/ornladios/ADIOS.git" diff --git a/var/spack/repos/builtin/packages/py-aenum/package.py b/var/spack/repos/builtin/packages/py-aenum/package.py index 08841dafe05..b99a8627027 100644 --- a/var/spack/repos/builtin/packages/py-aenum/package.py +++ b/var/spack/repos/builtin/packages/py-aenum/package.py @@ -10,7 +10,7 @@ class PyAenum(PythonPackage): """Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants.""" - homepage = "https://bitbucket.org/stoneleaf/aenum" + homepage = "https://github.com/ethanfurman/aenum" pypi = "aenum/aenum-2.1.2.tar.gz" version('2.1.2', sha256='a3208e4b28db3a7b232ff69b934aef2ea1bf27286d9978e1e597d46f490e4687') diff --git a/var/spack/repos/builtin/packages/py-arviz/package.py b/var/spack/repos/builtin/packages/py-arviz/package.py index 2d3b7556ef5..62d73b1c971 100644 --- a/var/spack/repos/builtin/packages/py-arviz/package.py +++ b/var/spack/repos/builtin/packages/py-arviz/package.py @@ -11,7 +11,7 @@ class PyArviz(PythonPackage): analysis of Bayesian models. Includes functions for posterior analysis, model checking, comparison and diagnostics.""" - homepage = "http://github.com/arviz-devs/arviz" + homepage = "https://github.com/arviz-devs/arviz" pypi = "arviz/arviz-0.6.1.tar.gz" version('0.6.1', sha256='435edf8db49c41a8fa198f959e7581063006c49a4efdef4755bb778db6fd4f72') diff --git a/var/spack/repos/builtin/packages/py-asteval/package.py b/var/spack/repos/builtin/packages/py-asteval/package.py index 46b05fe2e32..e4bf8448455 100644 --- a/var/spack/repos/builtin/packages/py-asteval/package.py +++ b/var/spack/repos/builtin/packages/py-asteval/package.py @@ -9,7 +9,7 @@ class PyAsteval(PythonPackage): """Safe, minimalistic evaluator of python expression using ast module""" - homepage = "http://github.com/newville/asteval" + homepage = "https://github.com/newville/asteval" pypi = "asteval/asteval-0.9.18.tar.gz" version('0.9.25', sha256='bea22b7d8fa16bcba95ebc72052ae5d8ca97114c9959bb47f8b8eebf30e4342f') diff --git a/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py b/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py index 551c2106607..3e4d4164ecc 100644 --- a/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py @@ -9,7 +9,7 @@ class PyAzuremlDataprepNative(Package): """Python Package for AzureML DataPrep specific native extensions.""" - homepage = "http://aka.ms/data-prep-sdk" + homepage = "https://docs.microsoft.com/en-us/python/api/overview/azure/ml/?view=azure-ml-py" if sys.platform == 'darwin': version('30.0.0-py3.9', sha256='eaf3fcd9f965e87b03fe89d7c6fe6abce53483a79afc963e4981061f4c250e85', expand=False, diff --git a/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py b/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py index 40eb3d73c8e..e3b43b29a98 100644 --- a/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py @@ -14,7 +14,7 @@ class PyAzuremlDataprepRslex(Package): """Azure Machine Learning Data Prep RsLex is a Rust implementation of Data Prep's capabilities to load, transform, and write data for machine learning workflows.""" - homepage = "http://aka.ms/data-prep-sdk" + homepage = "https://docs.microsoft.com/en-us/python/api/overview/azure/ml/?view=azure-ml-py" if sys.platform == 'darwin': version('1.9.0-py3.9', sha256='9bdaa31d129dac19ee20d5a3aad1726397e90d8d741b4f6de4554040800fefe8', expand=False, 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 50bf6be9ffa..94be3ecfd6b 100644 --- a/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py @@ -7,7 +7,7 @@ class PyAzuremlDataprep(Package): """Azure ML Data Preparation SDK.""" - homepage = "http://aka.ms/data-prep-sdk" + homepage = "https://docs.microsoft.com/en-us/python/api/overview/azure/ml/?view=azure-ml-py" url = "https://pypi.io/packages/py3/a/azureml_dataprep/azureml_dataprep-2.0.2-py3-none-any.whl" version('2.11.0', sha256='755c0d7cfe228705aee7adc97813fb6d7d6ecb048b66f47c1fd5897f2709c3a2', expand=False) diff --git a/var/spack/repos/builtin/packages/py-basemap/package.py b/var/spack/repos/builtin/packages/py-basemap/package.py index c143b30b96d..6ad56883d65 100644 --- a/var/spack/repos/builtin/packages/py-basemap/package.py +++ b/var/spack/repos/builtin/packages/py-basemap/package.py @@ -13,7 +13,7 @@ class PyBasemap(PythonPackage): 2D data on maps in Python.""" url = 'https://github.com/matplotlib/basemap/archive/v1.2.0rel.tar.gz' - homepage = "http://matplotlib.org/basemap/" + homepage = "https://matplotlib.org/basemap/" version('1.2.1', sha256='3fb30424f18cd4ffd505e30fd9c810ae81b999bb92f950c76553e1abc081faa7') version('1.2.0', sha256='bd5bf305918a2eb675939873b735238f9e3dfe6b5c290e37c41e5b082ff3639a') diff --git a/var/spack/repos/builtin/packages/py-bigfloat/package.py b/var/spack/repos/builtin/packages/py-bigfloat/package.py index d6f709e769a..075f7fa0000 100644 --- a/var/spack/repos/builtin/packages/py-bigfloat/package.py +++ b/var/spack/repos/builtin/packages/py-bigfloat/package.py @@ -9,7 +9,7 @@ class PyBigfloat(PythonPackage): """Arbitrary-precision correctly-rounded floating-point arithmetic, via MPFR.""" - homepage = "http://github.com/mdickinson/bigfloat" + homepage = "https://github.com/mdickinson/bigfloat" pypi = "bigfloat/bigfloat-0.4.0.tar.gz" version('0.4.0', sha256='58b96bde872aca5989d13d82eba3acf2aa1b94e22117dd72a16ba5911b0c0cb8') diff --git a/var/spack/repos/builtin/packages/py-bleach/package.py b/var/spack/repos/builtin/packages/py-bleach/package.py index e9b260b8bbc..5333e6afeec 100644 --- a/var/spack/repos/builtin/packages/py-bleach/package.py +++ b/var/spack/repos/builtin/packages/py-bleach/package.py @@ -9,7 +9,7 @@ class PyBleach(PythonPackage): """An easy whitelist-based HTML-sanitizing tool.""" - homepage = "http://github.com/mozilla/bleach" + homepage = "https://github.com/mozilla/bleach" pypi = "bleach/bleach-3.1.0.tar.gz" version('3.1.0', sha256='3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa') diff --git a/var/spack/repos/builtin/packages/py-bokeh/package.py b/var/spack/repos/builtin/packages/py-bokeh/package.py index b8213194741..05399e488f1 100644 --- a/var/spack/repos/builtin/packages/py-bokeh/package.py +++ b/var/spack/repos/builtin/packages/py-bokeh/package.py @@ -9,7 +9,7 @@ class PyBokeh(PythonPackage): """Statistical and novel interactive HTML plots for Python""" - homepage = "http://github.com/bokeh/bokeh" + homepage = "https://github.com/bokeh/bokeh" pypi = "bokeh/bokeh-0.12.2.tar.gz" version('1.3.4', sha256='e2d97bed5b199a10686486001fed5c854e4c04ebe28859923f27c52b93904754') diff --git a/var/spack/repos/builtin/packages/py-certifi/package.py b/var/spack/repos/builtin/packages/py-certifi/package.py index 79fb7ca72da..1836e10134f 100644 --- a/var/spack/repos/builtin/packages/py-certifi/package.py +++ b/var/spack/repos/builtin/packages/py-certifi/package.py @@ -11,7 +11,7 @@ class PyCertifi(PythonPackage): the trustworthiness of SSL certificates while verifying the identity of TLS hosts.""" - homepage = "http://certifi.io/" + homepage = "https://github.com/certifi/python-certifi" pypi = "certifi/certifi-2020.6.20.tar.gz" version('2020.6.20', sha256='5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3') diff --git a/var/spack/repos/builtin/packages/py-cheroot/package.py b/var/spack/repos/builtin/packages/py-cheroot/package.py index 263b80e4977..3b62ac7a30e 100644 --- a/var/spack/repos/builtin/packages/py-cheroot/package.py +++ b/var/spack/repos/builtin/packages/py-cheroot/package.py @@ -10,7 +10,7 @@ class PyCheroot(PythonPackage): """ Highly-optimized, pure-python HTTP server """ - homepage = "https://cheroot.cherrypy.org/" + homepage = "https://cheroot.readthedocs.io/en/latest/" pypi = "cheroot/cheroot-6.5.5.tar.gz" version('8.3.0', sha256='a0577e1f28661727d472671a7cc4e0c12ea0cbc5220265e70f00a8b8cb628931') diff --git a/var/spack/repos/builtin/packages/py-cherrypy/package.py b/var/spack/repos/builtin/packages/py-cherrypy/package.py index 311b683b2df..7f25f58b95a 100644 --- a/var/spack/repos/builtin/packages/py-cherrypy/package.py +++ b/var/spack/repos/builtin/packages/py-cherrypy/package.py @@ -9,7 +9,7 @@ class PyCherrypy(PythonPackage): """CherryPy is a pythonic, object-oriented HTTP framework.""" - homepage = "https://cherrypy.org/" + homepage = "https://cherrypy.readthedocs.io/en/latest/" pypi = "CherryPy/CherryPy-18.1.1.tar.gz" version('18.1.1', sha256='6585c19b5e4faffa3613b5bf02c6a27dcc4c69a30d302aba819639a2af6fa48b') diff --git a/var/spack/repos/builtin/packages/py-cogent/package.py b/var/spack/repos/builtin/packages/py-cogent/package.py index ef791daad63..b28a1b4bdaa 100644 --- a/var/spack/repos/builtin/packages/py-cogent/package.py +++ b/var/spack/repos/builtin/packages/py-cogent/package.py @@ -9,7 +9,7 @@ class PyCogent(PythonPackage): """A toolkit for statistical analysis of biological sequences.""" - homepage = "http://pycogent.org" + homepage = "https://github.com/Magdoll/Cogent/wiki/Installing-Cogent" pypi = "cogent/cogent-1.9.tar.gz" version('1.9', sha256='57d8c58e0273ffe4f2b907874f9b49dadfd0600f5507b7666369f4e44d56ce14') diff --git a/var/spack/repos/builtin/packages/py-cycler/package.py b/var/spack/repos/builtin/packages/py-cycler/package.py index 1681b56a1e4..23b429e97e5 100644 --- a/var/spack/repos/builtin/packages/py-cycler/package.py +++ b/var/spack/repos/builtin/packages/py-cycler/package.py @@ -9,7 +9,7 @@ class PyCycler(PythonPackage): """Composable style cycles.""" - homepage = "http://matplotlib.org/cycler/" + homepage = "https://matplotlib.org/cycler/" url = "https://github.com/matplotlib/cycler/archive/v0.10.0.tar.gz" version('0.10.0', sha256='b6d217635e03024196225367b1a438996dbbf0271bec488f00584f0e7dc15cfa') diff --git a/var/spack/repos/builtin/packages/py-et-xmlfile/package.py b/var/spack/repos/builtin/packages/py-et-xmlfile/package.py index e80e144278a..5ada9751419 100644 --- a/var/spack/repos/builtin/packages/py-et-xmlfile/package.py +++ b/var/spack/repos/builtin/packages/py-et-xmlfile/package.py @@ -9,7 +9,7 @@ class PyEtXmlfile(PythonPackage): """An implementation of lxml.xmlfile for the standard library.""" - homepage = "https://bitbucket.org/openpyxl/et_xmlfile" + homepage = "https://et-xmlfile.readthedocs.io/en/latest/" pypi = "et_xmlfile/et_xmlfile-1.0.1.tar.gz" version('1.0.1', sha256='614d9722d572f6246302c4491846d2c393c199cfa4edc9af593437691683335b') diff --git a/var/spack/repos/builtin/packages/py-google/package.py b/var/spack/repos/builtin/packages/py-google/package.py index 2ea3f0c709e..c57a4cb0ae5 100644 --- a/var/spack/repos/builtin/packages/py-google/package.py +++ b/var/spack/repos/builtin/packages/py-google/package.py @@ -7,7 +7,7 @@ class PyGoogle(PythonPackage): """Python bindings to the Google search engine.""" - homepage = "http://breakingcode.wordpress.com/" + homepage = "https://breakingcode.wordpress.com/" pypi = "google/google-3.0.0.tar.gz" version('3.0.0', sha256='143530122ee5130509ad5e989f0512f7cb218b2d4eddbafbad40fd10e8d8ccbe') diff --git a/var/spack/repos/builtin/packages/py-gpy/package.py b/var/spack/repos/builtin/packages/py-gpy/package.py index 84f5e117cb6..920cd397554 100644 --- a/var/spack/repos/builtin/packages/py-gpy/package.py +++ b/var/spack/repos/builtin/packages/py-gpy/package.py @@ -9,7 +9,7 @@ class PyGpy(PythonPackage): """The Gaussian Process Toolbox.""" - homepage = "http://sheffieldml.github.com/GPy/" + homepage = "https://sheffieldml.github.io/GPy/" pypi = "gpy/GPy-1.9.9.tar.gz" version('1.9.9', sha256='04faf0c24eacc4dea60727c50a48a07ddf9b5751a3b73c382105e2a31657c7ed') diff --git a/var/spack/repos/builtin/packages/py-holland-backup/package.py b/var/spack/repos/builtin/packages/py-holland-backup/package.py index 4d1be3dcab9..737884efdc9 100644 --- a/var/spack/repos/builtin/packages/py-holland-backup/package.py +++ b/var/spack/repos/builtin/packages/py-holland-backup/package.py @@ -14,7 +14,7 @@ class PyHollandBackup(PythonPackage): Because of its plugin structure, Holland can be used to backup anything you want by whatever means you want.""" - homepage = "http://hollandbackup.org/" + homepage = "https://hollandbackup.org/" url = "https://github.com/holland-backup/holland/archive/1.2.2.tar.gz" version('1.2.2', sha256='836337c243b2dff5ff6a3ce0b647f123ab24697a5de8ac8ae8b7839aa23dff68') diff --git a/var/spack/repos/builtin/packages/py-jdcal/package.py b/var/spack/repos/builtin/packages/py-jdcal/package.py index 852f136866d..8e637fa0d9a 100644 --- a/var/spack/repos/builtin/packages/py-jdcal/package.py +++ b/var/spack/repos/builtin/packages/py-jdcal/package.py @@ -9,7 +9,7 @@ class PyJdcal(PythonPackage): """Julian dates from proleptic Gregorian and Julian calendars""" - homepage = "http://github.com/phn/jdcal" + homepage = "https://github.com/phn/jdcal" pypi = "jdcal/jdcal-1.3.tar.gz" version('1.3', sha256='b760160f8dc8cc51d17875c6b663fafe64be699e10ce34b6a95184b5aa0fdc9e') diff --git a/var/spack/repos/builtin/packages/py-jsonschema/package.py b/var/spack/repos/builtin/packages/py-jsonschema/package.py index 7cc0ca3354c..812a72c9a0a 100644 --- a/var/spack/repos/builtin/packages/py-jsonschema/package.py +++ b/var/spack/repos/builtin/packages/py-jsonschema/package.py @@ -9,7 +9,7 @@ class PyJsonschema(PythonPackage): """Jsonschema: An(other) implementation of JSON Schema for Python.""" - homepage = "http://github.com/Julian/jsonschema" + homepage = "https://github.com/Julian/jsonschema" pypi = "jsonschema/jsonschema-3.2.0.tar.gz" version('3.2.0', sha256='c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a') diff --git a/var/spack/repos/builtin/packages/py-keras-applications/package.py b/var/spack/repos/builtin/packages/py-keras-applications/package.py index 5f79fd59bee..0286cf7719c 100644 --- a/var/spack/repos/builtin/packages/py-keras-applications/package.py +++ b/var/spack/repos/builtin/packages/py-keras-applications/package.py @@ -10,7 +10,7 @@ class PyKerasApplications(PythonPackage): """Sample Deep Learning application in Keras. Keras depends on this package to run properly.""" - homepage = "http://keras.io" + homepage = "https://keras.io" url = "https://github.com/keras-team/keras-applications/archive/1.0.4.tar.gz" version('1.0.8', sha256='7c37f9e9ef93efac9b4956301cb21ce46c474ce9da41fac9a46753bab6823dfc') diff --git a/var/spack/repos/builtin/packages/py-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py index a8fc75eb1b6..164e86d9f9c 100644 --- a/var/spack/repos/builtin/packages/py-keras/package.py +++ b/var/spack/repos/builtin/packages/py-keras/package.py @@ -10,7 +10,7 @@ class PyKeras(PythonPackage): """Deep Learning library for Python. Convnets, recurrent neural networks, and more. Runs on Theano or TensorFlow.""" - homepage = "http://keras.io" + homepage = "https://keras.io" pypi = "Keras/Keras-1.2.2.tar.gz" version('2.4.3', sha256='fedd729b52572fb108a98e3d97e1bac10a81d3917d2103cc20ab2a5f03beb973') diff --git a/var/spack/repos/builtin/packages/py-lazyarray/package.py b/var/spack/repos/builtin/packages/py-lazyarray/package.py index 0a86284abd8..21e6dc6da23 100644 --- a/var/spack/repos/builtin/packages/py-lazyarray/package.py +++ b/var/spack/repos/builtin/packages/py-lazyarray/package.py @@ -10,7 +10,7 @@ class PyLazyarray(PythonPackage): """a Python package that provides a lazily-evaluated numerical array class, larray, based on and compatible with NumPy arrays.""" - homepage = "http://bitbucket.org/apdavison/lazyarray/" + homepage = "https://lazyarray.readthedocs.io/en/latest/" pypi = "lazyarray/lazyarray-0.2.8.tar.gz" version('0.3.2', sha256='be980534c5950a976709085570f69be9534bdf0f3e5c21a9113de3ee2052683e') diff --git a/var/spack/repos/builtin/packages/py-lmfit/package.py b/var/spack/repos/builtin/packages/py-lmfit/package.py index 907d7d32d03..316565c175c 100644 --- a/var/spack/repos/builtin/packages/py-lmfit/package.py +++ b/var/spack/repos/builtin/packages/py-lmfit/package.py @@ -9,7 +9,7 @@ class PyLmfit(PythonPackage): """Least-Squares Minimization with Bounds and Constraints""" - homepage = "http://lmfit.github.io/lmfit-py/" + homepage = "https://lmfit.github.io/lmfit-py/" pypi = "lmfit/lmfit-0.9.5.tar.gz" version('1.0.2', sha256='67090ce56685cf7f92bd7358a1e7d4ad862b3758988109ec440e9825e5184b45') diff --git a/var/spack/repos/builtin/packages/py-locket/package.py b/var/spack/repos/builtin/packages/py-locket/package.py index d71a265e6e4..b90423b9c3a 100644 --- a/var/spack/repos/builtin/packages/py-locket/package.py +++ b/var/spack/repos/builtin/packages/py-locket/package.py @@ -9,7 +9,7 @@ class PyLocket(PythonPackage): """File-based locks for Python for Linux and Windows.""" - homepage = "http://github.com/mwilliamson/locket.py" + homepage = "https://github.com/mwilliamson/locket.py" pypi = "locket/locket-0.2.0.tar.gz" version('0.2.0', sha256='1fee63c1153db602b50154684f5725564e63a0f6d09366a1cb13dffcec179fb4') diff --git a/var/spack/repos/builtin/packages/py-markdown/package.py b/var/spack/repos/builtin/packages/py-markdown/package.py index 12378f098e3..5fa98f749f0 100644 --- a/var/spack/repos/builtin/packages/py-markdown/package.py +++ b/var/spack/repos/builtin/packages/py-markdown/package.py @@ -14,7 +14,7 @@ class PyMarkdown(PythonPackage): Documentation for the syntax rules. """ - homepage = "https://pythonhosted.org/Markdown/" + homepage = "https://python-markdown.github.io/" pypi = "markdown/Markdown-2.6.11.tar.gz" version('3.1.1', sha256='2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a') diff --git a/var/spack/repos/builtin/packages/py-mdanalysis/package.py b/var/spack/repos/builtin/packages/py-mdanalysis/package.py index 666f3b87f10..ab1a86e3a74 100644 --- a/var/spack/repos/builtin/packages/py-mdanalysis/package.py +++ b/var/spack/repos/builtin/packages/py-mdanalysis/package.py @@ -13,7 +13,7 @@ class PyMdanalysis(PythonPackage): Gromacs. (See the lists of supported trajectory formats and topology formats.)""" - homepage = "http://www.mdanalysis.org" + homepage = "https://www.mdanalysis.org" pypi = "MDAnalysis/MDAnalysis-0.19.2.tar.gz" version('1.0.0', sha256='f45a024aca45e390ff1c45ca90beb2180b78881be377e2a1aa9cd6c109bcfa81') diff --git a/var/spack/repos/builtin/packages/py-mpld3/package.py b/var/spack/repos/builtin/packages/py-mpld3/package.py index 77a433c2f74..f3ba568b5d2 100644 --- a/var/spack/repos/builtin/packages/py-mpld3/package.py +++ b/var/spack/repos/builtin/packages/py-mpld3/package.py @@ -10,7 +10,7 @@ class PyMpld3(PythonPackage): """An interactive D3js-based viewer which brings matplotlib graphics to the browser.""" - homepage = "http://mpld3.github.com/" + homepage = "https://mpld3.github.io/" pypi = "mpld3/mpld3-0.3.tar.gz" version('0.3', sha256='4d455884a211bf99b37ecc760759435c7bb6a5955de47d8daf4967e301878ab7') diff --git a/var/spack/repos/builtin/packages/py-mpmath/package.py b/var/spack/repos/builtin/packages/py-mpmath/package.py index 3e73b5aed85..ae471b99b78 100644 --- a/var/spack/repos/builtin/packages/py-mpmath/package.py +++ b/var/spack/repos/builtin/packages/py-mpmath/package.py @@ -8,7 +8,7 @@ class PyMpmath(PythonPackage): """A Python library for arbitrary-precision floating-point arithmetic.""" - homepage = "http://mpmath.org" + homepage = "https://mpmath.org" pypi = "mpmath/mpmath-1.0.0.tar.gz" version('1.1.0', sha256='fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6') diff --git a/var/spack/repos/builtin/packages/py-mx/package.py b/var/spack/repos/builtin/packages/py-mx/package.py index 8ee8a766cae..71930fffba3 100644 --- a/var/spack/repos/builtin/packages/py-mx/package.py +++ b/var/spack/repos/builtin/packages/py-mx/package.py @@ -13,7 +13,7 @@ class PyMx(PythonPackage): date/time processing and high speed data types. """ - homepage = "http://www.egenix.com/products/python/mxBase/" + homepage = "https://www.egenix.com/products/python/mxBase/" url = "https://downloads.egenix.com/python/egenix-mx-base-3.2.8.tar.gz" version('3.2.8', sha256='0da55233e45bc3f88870e62e60a79c2c86bad4098b8128343fd7be877f44a3c0') diff --git a/var/spack/repos/builtin/packages/py-neotime/package.py b/var/spack/repos/builtin/packages/py-neotime/package.py index 2a03b0ad452..8ba8dcb78ab 100644 --- a/var/spack/repos/builtin/packages/py-neotime/package.py +++ b/var/spack/repos/builtin/packages/py-neotime/package.py @@ -9,7 +9,7 @@ class PyNeotime(PythonPackage): """Nanosecond resolution temporal types""" - homepage = "https://neotime.readthedocs.io/" + homepage = "https://github.com/neo4j-drivers/neotime" pypi = "neotime/neotime-1.7.4.tar.gz" version('1.7.4', sha256='4e0477ba0f24e004de2fa79a3236de2bd941f20de0b5db8d976c52a86d7363eb') diff --git a/var/spack/repos/builtin/packages/py-netifaces/package.py b/var/spack/repos/builtin/packages/py-netifaces/package.py index a0f20b295fb..8604d54e3e9 100644 --- a/var/spack/repos/builtin/packages/py-netifaces/package.py +++ b/var/spack/repos/builtin/packages/py-netifaces/package.py @@ -9,7 +9,7 @@ class PyNetifaces(PythonPackage): """Portable network interface information""" - homepage = "https://bitbucket.org/al45tair/netifaces" + homepage = "https://0xbharath.github.io/python-network-programming/libraries/netifaces/index.html" pypi = "netifaces/netifaces-0.10.5.tar.gz" version('0.10.5', sha256='59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b') diff --git a/var/spack/repos/builtin/packages/py-nose-cov/package.py b/var/spack/repos/builtin/packages/py-nose-cov/package.py index b2abbd00021..bd0cc839d9a 100644 --- a/var/spack/repos/builtin/packages/py-nose-cov/package.py +++ b/var/spack/repos/builtin/packages/py-nose-cov/package.py @@ -9,7 +9,6 @@ class PyNoseCov(PythonPackage): """This plugin produces coverage reports.""" - homepage = "http://bitbucket.org/memedough/nose-cov/overview" pypi = "nose-cov/nose-cov-1.6.tar.gz" version('1.6', sha256='8bec0335598f1cc69e3262cc50d7678c1a6010fa44625ce343c4ec1500774412') diff --git a/var/spack/repos/builtin/packages/py-pager/package.py b/var/spack/repos/builtin/packages/py-pager/package.py index 1f131397a6e..6e46b021bc7 100644 --- a/var/spack/repos/builtin/packages/py-pager/package.py +++ b/var/spack/repos/builtin/packages/py-pager/package.py @@ -10,7 +10,6 @@ class PyPager(PythonPackage): """Python module that pages output to the screen, reads keys and console dimensions without executing external utils.""" - homepage = "http://bitbucket.org/techtonik/python-pager" pypi = "pager/pager-3.3.tar.gz" version('3.3', sha256='18aa45ec877dca732e599531c7b3b0b22ed6a4445febdf1bdf7da2761cca340d') diff --git a/var/spack/repos/builtin/packages/py-partd/package.py b/var/spack/repos/builtin/packages/py-partd/package.py index f822141cff5..307546c16e4 100644 --- a/var/spack/repos/builtin/packages/py-partd/package.py +++ b/var/spack/repos/builtin/packages/py-partd/package.py @@ -9,7 +9,7 @@ class PyPartd(PythonPackage): """Key-value byte store with appendable values.""" - homepage = "http://github.com/dask/partd/" + homepage = "https://github.com/dask/partd/" pypi = "partd/partd-0.3.8.tar.gz" version('1.1.0', sha256='6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0') diff --git a/var/spack/repos/builtin/packages/py-pil/package.py b/var/spack/repos/builtin/packages/py-pil/package.py index 6f429f83b5f..04acd5347a3 100644 --- a/var/spack/repos/builtin/packages/py-pil/package.py +++ b/var/spack/repos/builtin/packages/py-pil/package.py @@ -9,7 +9,7 @@ class PyPil(PythonPackage): to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities.""" - homepage = "http://www.pythonware.com/products/pil/" + homepage = "https://pillow.readthedocs.io/en/stable/" url = "http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz" version('1.1.7', sha256='895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211') diff --git a/var/spack/repos/builtin/packages/py-pkgconfig/package.py b/var/spack/repos/builtin/packages/py-pkgconfig/package.py index 199ead0819e..0f2e7171e03 100644 --- a/var/spack/repos/builtin/packages/py-pkgconfig/package.py +++ b/var/spack/repos/builtin/packages/py-pkgconfig/package.py @@ -9,7 +9,7 @@ class PyPkgconfig(PythonPackage): """Interface Python with pkg-config.""" - homepage = "http://github.com/matze/pkgconfig" + homepage = "https://github.com/matze/pkgconfig" pypi = "pkgconfig/pkgconfig-1.2.2.tar.gz" version('1.5.1', sha256='97bfe3d981bab675d5ea3ef259045d7919c93897db7d3b59d4e8593cba8d354f') diff --git a/var/spack/repos/builtin/packages/py-pudb/package.py b/var/spack/repos/builtin/packages/py-pudb/package.py index d9c49a06dd0..67ef2faf647 100644 --- a/var/spack/repos/builtin/packages/py-pudb/package.py +++ b/var/spack/repos/builtin/packages/py-pudb/package.py @@ -10,7 +10,7 @@ class PyPudb(PythonPackage): """Full-screen console debugger for Python""" - homepage = "http://mathema.tician.de/software/pudb" + homepage = "https://mathema.tician.de/software/pudb" pypi = "pudb/pudb-2017.1.1.tar.gz" version('2017.1.1', sha256='87117640902c5f602c8517d0167eb5c953a5bdede97975ba29ff17e3d570442c') diff --git a/var/spack/repos/builtin/packages/py-pure-sasl/package.py b/var/spack/repos/builtin/packages/py-pure-sasl/package.py index 845fda74b66..5e9e270ca0d 100644 --- a/var/spack/repos/builtin/packages/py-pure-sasl/package.py +++ b/var/spack/repos/builtin/packages/py-pure-sasl/package.py @@ -10,7 +10,7 @@ class PyPureSasl(PythonPackage): but by default, support for PLAIN, ANONYMOUS, EXTERNAL, CRAM-MD5, DIGEST-MD5, and GSSAPI are provided.""" - homepage = "http://github.com/thobbs/pure-sasl" + homepage = "https://github.com/thobbs/pure-sasl" pypi = "pure-sasl/pure-sasl-0.6.2.tar.gz" version('0.6.2', sha256='53c1355f5da95e2b85b2cc9a6af435518edc20c81193faa0eea65fdc835138f4') diff --git a/var/spack/repos/builtin/packages/py-py2neo/package.py b/var/spack/repos/builtin/packages/py-py2neo/package.py index 7cbd6eae232..896a6f52e47 100644 --- a/var/spack/repos/builtin/packages/py-py2neo/package.py +++ b/var/spack/repos/builtin/packages/py-py2neo/package.py @@ -10,7 +10,7 @@ class PyPy2neo(PythonPackage): """Py2neo is a client library and toolkit for working with Neo4j from within Python applications and from the command line.""" - homepage = "http://py2neo.org/" + homepage = "https://py2neo.org/" pypi = "py2neo/py2neo-2.0.8.tar.gz" version('4.3.0', sha256='a218ccb4b636e3850faa6b74ebad80f00600217172a57f745cf223d38a219222') diff --git a/var/spack/repos/builtin/packages/py-pybids/package.py b/var/spack/repos/builtin/packages/py-pybids/package.py index 2706af23cd9..74720b26537 100644 --- a/var/spack/repos/builtin/packages/py-pybids/package.py +++ b/var/spack/repos/builtin/packages/py-pybids/package.py @@ -9,7 +9,7 @@ class PyPybids(PythonPackage): """bids: interface with datasets conforming to BIDS""" - homepage = "http://github.com/bids-standard/pybids" + homepage = "https://github.com/bids-standard/pybids" pypi = "pybids/pybids-0.13.1.tar.gz" version('0.13.1', sha256='c920e1557e1dae8b671625d70cafbdc28437ba2822b2db9da4c2587a7625e3ba') diff --git a/var/spack/repos/builtin/packages/py-pygit2/package.py b/var/spack/repos/builtin/packages/py-pygit2/package.py index 168573ef82c..9e6deb91072 100644 --- a/var/spack/repos/builtin/packages/py-pygit2/package.py +++ b/var/spack/repos/builtin/packages/py-pygit2/package.py @@ -11,7 +11,7 @@ class PyPygit2(PythonPackage): libgit2 implements the core of Git. """ - homepage = "http://www.pygit2.org/" + homepage = "https://www.pygit2.org/" pypi = "pygit2/pygit2-0.24.1.tar.gz" version('1.6.0', sha256='7aacea4e57011777f4774421228e5d0ddb9a6ddb87ac4b542346d17ab12a4d62') diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py index f75b28ebce8..5f00a7905de 100644 --- a/var/spack/repos/builtin/packages/py-pygments/package.py +++ b/var/spack/repos/builtin/packages/py-pygments/package.py @@ -9,7 +9,7 @@ class PyPygments(PythonPackage): """Pygments is a syntax highlighting package written in Python.""" - homepage = "http://pygments.org/" + homepage = "https://pygments.org/" pypi = "Pygments/Pygments-2.4.2.tar.gz" version('2.10.0', sha256='f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6') diff --git a/var/spack/repos/builtin/packages/py-pygpu/package.py b/var/spack/repos/builtin/packages/py-pygpu/package.py index af5409e1b2b..c7968913ab0 100644 --- a/var/spack/repos/builtin/packages/py-pygpu/package.py +++ b/var/spack/repos/builtin/packages/py-pygpu/package.py @@ -11,7 +11,7 @@ class PyPygpu(PythonPackage): """Python packge for the libgpuarray C library.""" - homepage = "http://deeplearning.net/software/libgpuarray/" + homepage = "https://github.com/Theano/libgpuarray" url = "https://github.com/Theano/libgpuarray/archive/v0.6.1.tar.gz" version('0.7.6', sha256='ad1c00dd47c3d36ee1708e5167377edbfcdb7226e837ef9c68b841afbb4a4f6a') diff --git a/var/spack/repos/builtin/packages/py-pyke/package.py b/var/spack/repos/builtin/packages/py-pyke/package.py index 88629df9d99..11709272b97 100644 --- a/var/spack/repos/builtin/packages/py-pyke/package.py +++ b/var/spack/repos/builtin/packages/py-pyke/package.py @@ -12,7 +12,7 @@ class PyPyke(PythonPackage): engine (expert system) written in 100% Python. """ - homepage = "http://sourceforge.net/projects/pyke" + homepage = "https://sourceforge.net/projects/pyke" url = "https://sourceforge.net/projects/pyke/files/pyke/1.1.1/pyke-1.1.1.zip" version('1.1.1', sha256='b0b294f435c6e6d2d4a80badf57d92cb66814dfe21e644a521901209e6a3f8ae') diff --git a/var/spack/repos/builtin/packages/py-pymc3/package.py b/var/spack/repos/builtin/packages/py-pymc3/package.py index b329f9b78ba..63e53d12be5 100644 --- a/var/spack/repos/builtin/packages/py-pymc3/package.py +++ b/var/spack/repos/builtin/packages/py-pymc3/package.py @@ -12,7 +12,7 @@ class PyPymc3(PythonPackage): Carlo (MCMC) and variational inference (VI) algorithms. Its flexibility and extensibility make it applicable to a large suite of problems.""" - homepage = "http://github.com/pymc-devs/pymc3" + homepage = "https://github.com/pymc-devs/pymc3" pypi = "pymc3/pymc3-3.8.tar.gz" version('3.8', sha256='1bb2915e4a29877c681ead13932b0b7d276f7f496e9c3f09ba96b977c99caf00') diff --git a/var/spack/repos/builtin/packages/py-pypar/package.py b/var/spack/repos/builtin/packages/py-pypar/package.py index 3b5658be057..a742d350a2b 100644 --- a/var/spack/repos/builtin/packages/py-pypar/package.py +++ b/var/spack/repos/builtin/packages/py-pypar/package.py @@ -10,7 +10,7 @@ class PyPypar(PythonPackage): """Pypar is an efficient but easy-to-use module that allows programs written in Python to run in parallel on multiple processors and communicate using MPI.""" - homepage = "http://code.google.com/p/pypar/" + homepage = "https://github.com/daleroberts/pypar" url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/pypar/pypar-2.1.5_108.tgz" version('2.1.5_108', sha256='6076c47d32d48424a07c7b7b29ac16e12cc4b2d28b681b895f94fa76cd82fa12') diff --git a/var/spack/repos/builtin/packages/py-pyparsing/package.py b/var/spack/repos/builtin/packages/py-pyparsing/package.py index e0bdfbd9df3..76ad6fb0ebf 100644 --- a/var/spack/repos/builtin/packages/py-pyparsing/package.py +++ b/var/spack/repos/builtin/packages/py-pyparsing/package.py @@ -8,7 +8,7 @@ class PyPyparsing(PythonPackage): """A Python Parsing Module.""" - homepage = "http://pyparsing.wikispaces.com/" + homepage = "https://pyparsing-docs.readthedocs.io/en/latest/" pypi = "pyparsing/pyparsing-2.4.2.tar.gz" version('2.4.7', sha256='c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1') diff --git a/var/spack/repos/builtin/packages/py-pyprecice/package.py b/var/spack/repos/builtin/packages/py-pyprecice/package.py index 792802fe31a..6df24e4d201 100644 --- a/var/spack/repos/builtin/packages/py-pyprecice/package.py +++ b/var/spack/repos/builtin/packages/py-pyprecice/package.py @@ -12,7 +12,7 @@ class PyPyprecice(PythonPackage): C++ library preCICE. """ - homepage = "https://www.precice.org" + homepage = "https://precice.org" git = "https://github.com/precice/python-bindings.git" url = "https://github.com/precice/python-bindings/archive/v2.0.0.1.tar.gz" maintainers = ["ajaust", "BenjaminRodenberg", "IshaanDesai"] diff --git a/var/spack/repos/builtin/packages/py-pytest-pep8/package.py b/var/spack/repos/builtin/packages/py-pytest-pep8/package.py index e2ff74e2fc0..8f8fc59c596 100644 --- a/var/spack/repos/builtin/packages/py-pytest-pep8/package.py +++ b/var/spack/repos/builtin/packages/py-pytest-pep8/package.py @@ -9,7 +9,6 @@ class PyPytestPep8(PythonPackage): """pytest plugin for efficiently checking PEP8 compliance""" - homepage = "https://bitbucket.org/pytest-dev/pytest-pep8" pypi = "pytest-pep8/pytest-pep8-1.0.6.tar.gz" version('1.0.6', sha256='032ef7e5fa3ac30f4458c73e05bb67b0f036a8a5cb418a534b3170f89f120318') diff --git a/var/spack/repos/builtin/packages/py-python-fmask/package.py b/var/spack/repos/builtin/packages/py-python-fmask/package.py index c0af4d3db93..51df3a7a43a 100644 --- a/var/spack/repos/builtin/packages/py-python-fmask/package.py +++ b/var/spack/repos/builtin/packages/py-python-fmask/package.py @@ -10,7 +10,7 @@ class PyPythonFmask(PythonPackage): """A set of command line utilities and Python modules that implement the FMASK algorithm for Landsat and Sentinel-2""" - homepage = "http://pythonfmask.org" + homepage = "http://www.pythonfmask.org/en/latest/" url = "https://github.com/ubarsc/python-fmask/archive/pythonfmask-0.5.4.tar.gz" version('0.5.4', sha256='a216aa3108de837fec182602b2b4708442746be31fc1585906802437784a63fe') diff --git a/var/spack/repos/builtin/packages/py-rios/package.py b/var/spack/repos/builtin/packages/py-rios/package.py index b4b3ac4a187..b611cfc10c8 100644 --- a/var/spack/repos/builtin/packages/py-rios/package.py +++ b/var/spack/repos/builtin/packages/py-rios/package.py @@ -14,7 +14,7 @@ class PyRios(PythonPackage): etc., allowing the programmer to concentrate on the processing involved. """ - homepage = "http://rioshome.org" + homepage = "http://www.rioshome.org/en/latest/" url = "https://github.com/ubarsc/rios/archive/rios-1.4.10.tar.gz" version('1.4.10', sha256='7f11b54eb1f2ec551d7fc01c039b60bf2c67f0c2fc5b2946f8d986d6a9bc7063') diff --git a/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py b/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py index fcb45297452..0ebbbf46066 100644 --- a/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py +++ b/var/spack/repos/builtin/packages/py-ruamel-ordereddict/package.py @@ -11,7 +11,7 @@ class PyRuamelOrdereddict(PythonPackage): at the back). The standard library module OrderedDict, implemented later, implements a subset of ordereddict functionality.""" - homepage = "https://bitbucket.org/ruamel/ordereddict" + homepage = "https://sourceforge.net/projects/ruamel-ordereddict/" pypi = "ruamel.ordereddict/ruamel.ordereddict-0.4.14.tar.gz" version('0.4.14', sha256='281051d26eb2b18ef3d920e1e260716a52bd058a6b1a2f324102fc6a15cb8d4a') diff --git a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py index 6d18dca9a67..bf4d6ef3f6e 100644 --- a/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py +++ b/var/spack/repos/builtin/packages/py-ruamel-yaml-clib/package.py @@ -8,7 +8,7 @@ class PyRuamelYamlClib(PythonPackage): """C version of reader, parser and emitter for ruamel.yaml derived from libyaml.""" - homepage = "https://bitbucket.org/ruamel/yaml.clib" + homepage = "https://sourceforge.net/p/ruamel-yaml-clib/code/ci/default/tree/" pypi = "ruamel.yaml.clib/ruamel.yaml.clib-0.2.0.tar.gz" version('0.2.0', sha256='b66832ea8077d9b3f6e311c4a53d06273db5dc2db6e8a908550f3c14d67e718c') diff --git a/var/spack/repos/builtin/packages/py-scikit-image/package.py b/var/spack/repos/builtin/packages/py-scikit-image/package.py index 67f57e6a2ca..a8bd361cbac 100644 --- a/var/spack/repos/builtin/packages/py-scikit-image/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-image/package.py @@ -10,7 +10,7 @@ class PyScikitImage(PythonPackage): """Image processing algorithms for SciPy, including IO, morphology, filtering, warping, color manipulation, object detection, etc.""" - homepage = "http://scikit-image.org/" + homepage = "https://scikit-image.org/" pypi = "scikit-image/scikit-image-0.17.2.tar.gz" version('0.18.1', sha256='fbb618ca911867bce45574c1639618cdfb5d94e207432b19bc19563d80d2f171') diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py index 6385811c24c..5a94395e1b6 100644 --- a/var/spack/repos/builtin/packages/py-sphinx/package.py +++ b/var/spack/repos/builtin/packages/py-sphinx/package.py @@ -9,7 +9,7 @@ class PySphinx(PythonPackage): """Sphinx Documentation Generator.""" - homepage = "https://sphinx-doc.org/" + homepage = "https://www.sphinx-doc.org/en/master/" pypi = "Sphinx/Sphinx-3.2.0.tar.gz" version('4.1.2', sha256='3092d929cd807926d846018f2ace47ba2f3b671b309c7a89cd3306e80c826b13') diff --git a/var/spack/repos/builtin/packages/py-statsmodels/package.py b/var/spack/repos/builtin/packages/py-statsmodels/package.py index d3508051370..0a669a59697 100644 --- a/var/spack/repos/builtin/packages/py-statsmodels/package.py +++ b/var/spack/repos/builtin/packages/py-statsmodels/package.py @@ -11,7 +11,7 @@ class PyStatsmodels(PythonPackage): """Statistical computations and models for use with SciPy""" - homepage = "http://www.statsmodels.org" + homepage = "https://www.statsmodels.org" pypi = "statsmodels/statsmodels-0.8.0.tar.gz" version('0.12.2', sha256='8ad7a7ae7cdd929095684118e3b05836c0ccb08b6a01fe984159475d174a1b10') diff --git a/var/spack/repos/builtin/packages/py-theano/package.py b/var/spack/repos/builtin/packages/py-theano/package.py index 5041acaa625..5d62a8f1368 100644 --- a/var/spack/repos/builtin/packages/py-theano/package.py +++ b/var/spack/repos/builtin/packages/py-theano/package.py @@ -10,7 +10,7 @@ class PyTheano(PythonPackage, CudaPackage): """Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs.""" - homepage = "http://deeplearning.net/software/theano/" + homepage = "https://theano-pymc.readthedocs.io/en/latest/" pypi = "Theano/Theano-0.8.2.tar.gz" git = "https://github.com/Theano/Theano.git" diff --git a/var/spack/repos/builtin/packages/py-thirdorder/package.py b/var/spack/repos/builtin/packages/py-thirdorder/package.py index e54747b2c8f..4b77d2d3cdd 100644 --- a/var/spack/repos/builtin/packages/py-thirdorder/package.py +++ b/var/spack/repos/builtin/packages/py-thirdorder/package.py @@ -9,7 +9,7 @@ class PyThirdorder(PythonPackage): """It helps ShengBTE users create FORCE_CONSTANTS_3RD files efficiently""" - homepage = "http://www.shengbte.org" + homepage = "https://www.shengbte.org" url = "http://www.shengbte.org/downloads/thirdorder-v1.1.1-8526f47.tar.bz2" version('1.1.1-8526f47', '5e1cc8d6ffa7efdb7325c397ca236863ea8a9c5bed1c558acca68b140f89167e') diff --git a/var/spack/repos/builtin/packages/py-toolz/package.py b/var/spack/repos/builtin/packages/py-toolz/package.py index fe8dbe03a27..68b31ae4639 100644 --- a/var/spack/repos/builtin/packages/py-toolz/package.py +++ b/var/spack/repos/builtin/packages/py-toolz/package.py @@ -9,7 +9,7 @@ class PyToolz(PythonPackage): """A set of utility functions for iterators, functions, and dictionaries""" - homepage = "http://github.com/pytoolz/toolz/" + homepage = "https://github.com/pytoolz/toolz/" pypi = "toolz/toolz-0.9.0.tar.gz" version('0.9.0', sha256='929f0a7ea7f61c178bd951bdae93920515d3fbdbafc8e6caf82d752b9b3b31c9') diff --git a/var/spack/repos/builtin/packages/py-uvloop/package.py b/var/spack/repos/builtin/packages/py-uvloop/package.py index cb64e3df011..34248b23c00 100644 --- a/var/spack/repos/builtin/packages/py-uvloop/package.py +++ b/var/spack/repos/builtin/packages/py-uvloop/package.py @@ -9,7 +9,7 @@ class PyUvloop(PythonPackage): """uvloop is a fast, drop-in replacement of the built-in asyncio event""" - homepage = "http://github.com/MagicStack/uvloop" + homepage = "https://github.com/MagicStack/uvloop" pypi = "uvloop/uvloop-0.14.0.tar.gz" version('0.14.0', sha256='123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e') diff --git a/var/spack/repos/builtin/packages/py-wget/package.py b/var/spack/repos/builtin/packages/py-wget/package.py index a3deacfadbe..329abed8510 100644 --- a/var/spack/repos/builtin/packages/py-wget/package.py +++ b/var/spack/repos/builtin/packages/py-wget/package.py @@ -12,7 +12,6 @@ class PyWget(PythonPackage): Download the file for your platform. If you're not sure which to choose, learn more about installing packages.""" - homepage = "http://bitbucket.org/techtonik/python-wget/" pypi = "wget/wget-3.2.zip" version('3.2', sha256='35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061') diff --git a/var/spack/repos/builtin/packages/py-wincertstore/package.py b/var/spack/repos/builtin/packages/py-wincertstore/package.py index fb2c2fbef1f..6361e93c789 100644 --- a/var/spack/repos/builtin/packages/py-wincertstore/package.py +++ b/var/spack/repos/builtin/packages/py-wincertstore/package.py @@ -10,7 +10,7 @@ class PyWincertstore(PythonPackage): """wincertstore provides an interface to access Windows' CA and CRL certificates. It uses ctypes and Windows's sytem cert store API through crypt32.dll.""" - homepage = "https://bitbucket.org/tiran/wincertstore" + homepage = "https://github.com/tiran/wincertstore" pypi = "wincertstore/wincertstore-0.2.zip" version('0.2', sha256='780bd1557c9185c15d9f4221ea7f905cb20b93f7151ca8ccaed9714dce4b327a') diff --git a/var/spack/repos/builtin/packages/py-xattr/package.py b/var/spack/repos/builtin/packages/py-xattr/package.py index a40fd278d65..9cf6d2494bb 100644 --- a/var/spack/repos/builtin/packages/py-xattr/package.py +++ b/var/spack/repos/builtin/packages/py-xattr/package.py @@ -9,7 +9,7 @@ class PyXattr(PythonPackage): sans libattr dependency. """ - homepage = "http://pyxattr.k1024.org/" + homepage = "https://pyxattr.k1024.org/" pypi = "xattr/xattr-0.9.6.tar.gz" git = "https://github.com/iustin/pyxattr.git" diff --git a/var/spack/repos/builtin/packages/py-yamlreader/package.py b/var/spack/repos/builtin/packages/py-yamlreader/package.py index 6674625d688..a8ab80b2624 100644 --- a/var/spack/repos/builtin/packages/py-yamlreader/package.py +++ b/var/spack/repos/builtin/packages/py-yamlreader/package.py @@ -10,7 +10,7 @@ class PyYamlreader(PythonPackage): """Yamlreader merges YAML data from a directory, a list of files or a file glob.""" - homepage = "http://pyyaml.org/wiki/PyYAML" + homepage = "https://pyyaml.org/wiki/PyYAML" pypi = "yamlreader/yamlreader-3.0.4.tar.gz" version('3.0.4', sha256='765688036d57104ac26e4500ab088d42f4f2d06687ce3daa26543d7ae38c2470') diff --git a/var/spack/repos/builtin/packages/py-yt/package.py b/var/spack/repos/builtin/packages/py-yt/package.py index 9ec95aef2e4..6c8a4c1ea45 100644 --- a/var/spack/repos/builtin/packages/py-yt/package.py +++ b/var/spack/repos/builtin/packages/py-yt/package.py @@ -15,7 +15,7 @@ class PyYt(PythonPackage): simulations, radio telescopes, and a burgeoning interdisciplinary community. """ - homepage = "http://yt-project.org" + homepage = "https://yt-project.org" url = "https://github.com/yt-project/yt/archive/yt-3.5.0.tar.gz" git = "https://github.com/yt-project/yt.git" diff --git a/var/spack/repos/builtin/packages/py-zc-buildout/package.py b/var/spack/repos/builtin/packages/py-zc-buildout/package.py index aebafd211a7..f244a7b0ca6 100644 --- a/var/spack/repos/builtin/packages/py-zc-buildout/package.py +++ b/var/spack/repos/builtin/packages/py-zc-buildout/package.py @@ -9,7 +9,6 @@ class PyZcBuildout(PythonPackage): """System for managing development buildouts""" - homepage = "http://buildout.org/" pypi = "zc.buildout/zc.buildout-2.13.1.tar.gz" version('2.13.1', sha256='3d14d07226963a517295dfad5879d2799e2e3b65b2c61c71b53cb80f5ab11484') diff --git a/var/spack/repos/builtin/packages/qrupdate/package.py b/var/spack/repos/builtin/packages/qrupdate/package.py index 86ce64c9782..de91ecc2fcf 100644 --- a/var/spack/repos/builtin/packages/qrupdate/package.py +++ b/var/spack/repos/builtin/packages/qrupdate/package.py @@ -13,7 +13,7 @@ class Qrupdate(MakefilePackage, SourceforgePackage): """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" - homepage = "http://sourceforge.net/projects/qrupdate/" + homepage = "https://sourceforge.net/projects/qrupdate/" sourceforge_mirror_path = "qrupdate/qrupdate-1.1.2.tar.gz" version('1.1.2', sha256='e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08') diff --git a/var/spack/repos/builtin/packages/quota/package.py b/var/spack/repos/builtin/packages/quota/package.py index af60d076348..ffb0e83376e 100644 --- a/var/spack/repos/builtin/packages/quota/package.py +++ b/var/spack/repos/builtin/packages/quota/package.py @@ -9,7 +9,7 @@ class Quota(AutotoolsPackage): """Linux Diskquota system as part of the Linux kernel.""" - homepage = "http://sourceforge.net/projects/linuxquota" + homepage = "https://sourceforge.net/projects/linuxquota" url = "https://udomain.dl.sourceforge.net/project/linuxquota/quota-tools/4.05/quota-4.05.tar.gz" version('4.05', sha256='ef3b5b5d1014ed1344b46c1826145e20cbef8db967b522403c9a060761cf7ab9') diff --git a/var/spack/repos/builtin/packages/r-amap/package.py b/var/spack/repos/builtin/packages/r-amap/package.py index 80eef5e198a..4c98db4345f 100644 --- a/var/spack/repos/builtin/packages/r-amap/package.py +++ b/var/spack/repos/builtin/packages/r-amap/package.py @@ -12,7 +12,7 @@ class RAmap(RPackage): Tools for Clustering and Principal Component Analysis (With robust methods, and parallelized functions).""" - homepage = "http://mulcyber.toulouse.inra.fr/projects/amap/" + homepage = "https://cran.r-project.org/web/packages/amap/index.html" url = "https://cloud.r-project.org/src/contrib/amap_0.8-16.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/amap/" diff --git a/var/spack/repos/builtin/packages/r-fs/package.py b/var/spack/repos/builtin/packages/r-fs/package.py index 16efd88e378..8693725cc91 100644 --- a/var/spack/repos/builtin/packages/r-fs/package.py +++ b/var/spack/repos/builtin/packages/r-fs/package.py @@ -12,7 +12,7 @@ class RFs(RPackage): A cross-platform interface to file system operations, built on top of the 'libuv' C library.""" - homepage = "http://fs.r-lib.org/" + homepage = "https://ggplot2.tidyverse.org/" url = "https://cloud.r-project.org/src/contrib/fs_1.3.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/fs" diff --git a/var/spack/repos/builtin/packages/r-hmisc/package.py b/var/spack/repos/builtin/packages/r-hmisc/package.py index 6327f9207a9..0bdfc653a0e 100644 --- a/var/spack/repos/builtin/packages/r-hmisc/package.py +++ b/var/spack/repos/builtin/packages/r-hmisc/package.py @@ -16,7 +16,7 @@ class RHmisc(RPackage): string manipulation, conversion of R objects to LaTeX and html code, and recoding variables.""" - homepage = "http://biostat.mc.vanderbilt.edu/Hmisc" + homepage = "https://cran.r-project.org/web/packages/Hmisc/index.html" url = "https://cloud.r-project.org/src/contrib/Hmisc_4.1-1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/Hmisc" diff --git a/var/spack/repos/builtin/packages/r-pbkrtest/package.py b/var/spack/repos/builtin/packages/r-pbkrtest/package.py index 02dd9759d37..b075e8611ad 100644 --- a/var/spack/repos/builtin/packages/r-pbkrtest/package.py +++ b/var/spack/repos/builtin/packages/r-pbkrtest/package.py @@ -20,7 +20,7 @@ class RPbkrtest(RPackage): paper by Halehoh and Hojsgaard, (2012, ). Please see 'citation("pbkrtest")' for citation details.""" - homepage = "http://people.math.aau.dk/~sorenh/software/pbkrtest/" + homepage = "https://cran.r-project.org/web/packages/pbkrtest/index.html" url = "https://cloud.r-project.org/src/contrib/pbkrtest_0.4-6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/pbkrtest" diff --git a/var/spack/repos/builtin/packages/r-proto/package.py b/var/spack/repos/builtin/packages/r-proto/package.py index 5f600a5ebb9..5a7d1896e43 100644 --- a/var/spack/repos/builtin/packages/r-proto/package.py +++ b/var/spack/repos/builtin/packages/r-proto/package.py @@ -10,7 +10,7 @@ class RProto(RPackage): """An object oriented system using object-based, also called prototype-based, rather than class-based object oriented ideas.""" - homepage = "http://r-proto.googlecode.com/" + homepage = "https://cran.r-project.org/web/packages/proto/index.html" url = "https://cloud.r-project.org/src/contrib/proto_0.3-10.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/proto" diff --git a/var/spack/repos/builtin/packages/r-rmpi/package.py b/var/spack/repos/builtin/packages/r-rmpi/package.py index a193105e60c..f0f8924fc88 100644 --- a/var/spack/repos/builtin/packages/r-rmpi/package.py +++ b/var/spack/repos/builtin/packages/r-rmpi/package.py @@ -10,7 +10,7 @@ class RRmpi(RPackage): """An interface (wrapper) to MPI APIs. It also provides interactive R manager and worker environment.""" - homepage = "http://www.stats.uwo.ca/faculty/yu/Rmpi" + homepage = "https://cran.r-project.org/web/packages/Rmpi/index.html" url = "https://cloud.r-project.org/src/contrib/Rmpi_0.6-6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/Rmpi" diff --git a/var/spack/repos/builtin/packages/r-rpostgresql/package.py b/var/spack/repos/builtin/packages/r-rpostgresql/package.py index 78446c89775..437748d3532 100644 --- a/var/spack/repos/builtin/packages/r-rpostgresql/package.py +++ b/var/spack/repos/builtin/packages/r-rpostgresql/package.py @@ -17,7 +17,7 @@ class RRpostgresql(RPackage): issue tracking system for the package are available at Google Code at https://code.google.com/p/rpostgresql/.""" - homepage = "https://code.google.com/p/rpostgresql/" + homepage = "https://cran.r-project.org/web/packages/RPostgreSQL/index.html" url = "https://cloud.r-project.org/src/contrib/RPostgreSQL_0.4-1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/RPostgreSQL" diff --git a/var/spack/repos/builtin/packages/r-rstan/package.py b/var/spack/repos/builtin/packages/r-rstan/package.py index e281d657601..9b46ab6fb75 100644 --- a/var/spack/repos/builtin/packages/r-rstan/package.py +++ b/var/spack/repos/builtin/packages/r-rstan/package.py @@ -19,7 +19,7 @@ class RRstan(RPackage): quickly and accurately evaluate gradients without burdening the user with the need to derive the partial derivatives.""" - homepage = "http://mc-stan.org/" + homepage = "https://mc-stan.org/users/interfaces/rstan" url = "https://cloud.r-project.org/src/contrib/rstan_2.10.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rstan" diff --git a/var/spack/repos/builtin/packages/r-shinystan/package.py b/var/spack/repos/builtin/packages/r-shinystan/package.py index 90fec54a4ec..57167cf0e22 100644 --- a/var/spack/repos/builtin/packages/r-shinystan/package.py +++ b/var/spack/repos/builtin/packages/r-shinystan/package.py @@ -17,7 +17,7 @@ class RShinystan(RPackage): programming language (and has extended functionality for 'Stan' models fit using the 'rstan' and 'rstanarm' packages).""" - homepage = "http://mc-stan.org/" + homepage = "https://mc-stan.org/" cran = "shinystan" version('2.5.0', sha256='45f9c552a31035c5de8658bb9e5d72da7ec1f88fbddb520d15fe701c677154a1') diff --git a/var/spack/repos/builtin/packages/r-stabledist/package.py b/var/spack/repos/builtin/packages/r-stabledist/package.py index 7a7cd433b64..469403cbf7c 100644 --- a/var/spack/repos/builtin/packages/r-stabledist/package.py +++ b/var/spack/repos/builtin/packages/r-stabledist/package.py @@ -11,7 +11,7 @@ class RStabledist(RPackage): generation for (skew) stable distributions, using the parametrizations of Nolan.""" - homepage = "http://www.rmetrics.org/" + homepage = "https://www.rmetrics.org/" url = "https://cloud.r-project.org/src/contrib/stabledist_0.7-1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/stabledist" diff --git a/var/spack/repos/builtin/packages/r-stanheaders/package.py b/var/spack/repos/builtin/packages/r-stanheaders/package.py index 23728ee9444..b5a38d89c2c 100644 --- a/var/spack/repos/builtin/packages/r-stanheaders/package.py +++ b/var/spack/repos/builtin/packages/r-stanheaders/package.py @@ -25,7 +25,7 @@ class RStanheaders(RPackage): 'rstan' package provides user-facing R functions to parse, compile, test, estimate, and analyze Stan models.""" - homepage = "http://mc-stan.org/" + homepage = "https://mc-stan.org/" url = "https://cloud.r-project.org/src/contrib/StanHeaders_2.10.0-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/StanHeaders" diff --git a/var/spack/repos/builtin/packages/r-whisker/package.py b/var/spack/repos/builtin/packages/r-whisker/package.py index 1c95b173154..0eb07e19d12 100644 --- a/var/spack/repos/builtin/packages/r-whisker/package.py +++ b/var/spack/repos/builtin/packages/r-whisker/package.py @@ -11,7 +11,7 @@ class RWhisker(RPackage): Implements 'Mustache' logicless templating.""" - homepage = "http://github.com/edwindj/whisker" + homepage = "https://github.com/edwindj/whisker" url = "https://cloud.r-project.org/src/contrib/whisker_0.3-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/whisker" diff --git a/var/spack/repos/builtin/packages/r-xlsx/package.py b/var/spack/repos/builtin/packages/r-xlsx/package.py index 6c37e40212f..31983696f1c 100644 --- a/var/spack/repos/builtin/packages/r-xlsx/package.py +++ b/var/spack/repos/builtin/packages/r-xlsx/package.py @@ -12,7 +12,7 @@ class RXlsx(RPackage): Provide R functions to read/write/format Excel 2007 and Excel 97/2000/XP/2003 file formats.""" - homepage = "http://code.google.com/p/rexcel/" + homepage = "https://github.com/colearendt/xlsx" url = "https://cloud.r-project.org/src/contrib/xlsx_0.6.1.tar.gz" listurl = "https://cloud.r-project.org/src/contrib/Archive/xlsx" diff --git a/var/spack/repos/builtin/packages/rabbitmq/package.py b/var/spack/repos/builtin/packages/rabbitmq/package.py index d9f5d18ad07..5912df19de7 100644 --- a/var/spack/repos/builtin/packages/rabbitmq/package.py +++ b/var/spack/repos/builtin/packages/rabbitmq/package.py @@ -14,7 +14,7 @@ class Rabbitmq(Package): high-availability requirements. """ - homepage = "http://www.rabbitmq.com/" + homepage = "https://www.rabbitmq.com/" url = "http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz" version('3.6.15', sha256='04e6a291642f80e87fc892d5e8ea309fb3fab85ebb64a79a70dfe6c6cfde36fb') diff --git a/var/spack/repos/builtin/packages/random123/package.py b/var/spack/repos/builtin/packages/random123/package.py index 38279089b27..03315288d25 100644 --- a/var/spack/repos/builtin/packages/random123/package.py +++ b/var/spack/repos/builtin/packages/random123/package.py @@ -12,7 +12,7 @@ class Random123(Package): by applying a stateless mixing function to N instead of the conventional approach of using N iterations of a stateful transformation.""" - homepage = "http://www.deshawresearch.com/resources_random123.html" + homepage = "https://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') diff --git a/var/spack/repos/builtin/packages/raptor2/package.py b/var/spack/repos/builtin/packages/raptor2/package.py index 588b16573a1..deed2dc4455 100644 --- a/var/spack/repos/builtin/packages/raptor2/package.py +++ b/var/spack/repos/builtin/packages/raptor2/package.py @@ -9,7 +9,7 @@ class Raptor2(AutotoolsPackage): """libraptor2 for parsing and serializing RDF syntaxes""" - homepage = "http://librdf.org/" + homepage = "https://librdf.org/" url = "http://download.librdf.org/source/raptor2-2.0.15.tar.gz" version('2.0.15', sha256='ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed') diff --git a/var/spack/repos/builtin/packages/rclone/package.py b/var/spack/repos/builtin/packages/rclone/package.py index 2a508155be4..f208a260756 100644 --- a/var/spack/repos/builtin/packages/rclone/package.py +++ b/var/spack/repos/builtin/packages/rclone/package.py @@ -10,7 +10,7 @@ class Rclone(Package): """Rclone is a command line program to sync files and directories to and from various cloud storage providers""" - homepage = "http://rclone.org" + homepage = "https://rclone.org" url = "https://github.com/ncw/rclone/releases/download/v1.43/rclone-v1.43.tar.gz" maintainers = ['alecbcs'] diff --git a/var/spack/repos/builtin/packages/redland-bindings/package.py b/var/spack/repos/builtin/packages/redland-bindings/package.py index 14e82fe863a..fd231a0d7b5 100644 --- a/var/spack/repos/builtin/packages/redland-bindings/package.py +++ b/var/spack/repos/builtin/packages/redland-bindings/package.py @@ -11,7 +11,7 @@ class RedlandBindings(AutotoolsPackage): """Redland Language Bindings for language APIs to Redland""" - homepage = "http://librdf.org/" + homepage = "https://librdf.org/" url = "http://download.librdf.org/source/redland-bindings-1.0.17.1.tar.gz" version('1.0.17.1', sha256='ff72b587ab55f09daf81799cb3f9d263708fad5df7a5458f0c28566a2563b7f5') diff --git a/var/spack/repos/builtin/packages/redland/package.py b/var/spack/repos/builtin/packages/redland/package.py index d0973b69c51..86e72632afd 100644 --- a/var/spack/repos/builtin/packages/redland/package.py +++ b/var/spack/repos/builtin/packages/redland/package.py @@ -10,7 +10,7 @@ class Redland(AutotoolsPackage): """Redland RDF Library - librdf providing the RDF API and triple stores""" - homepage = "http://librdf.org/" + homepage = "https://librdf.org/" url = "http://download.librdf.org/source/redland-1.0.17.tar.gz" version('1.0.17', sha256='de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681') diff --git a/var/spack/repos/builtin/packages/rr/package.py b/var/spack/repos/builtin/packages/rr/package.py index 0d3539135d1..6a0865923f4 100644 --- a/var/spack/repos/builtin/packages/rr/package.py +++ b/var/spack/repos/builtin/packages/rr/package.py @@ -8,7 +8,7 @@ class Rr(CMakePackage): """Application execution recorder, player and debugger""" - homepage = "http://rr-project.org/" + homepage = "https://rr-project.org/" url = "https://github.com/mozilla/rr/archive/4.5.0.tar.gz" version('4.5.0', sha256='19f28259c0aa562c9518ae51207377fa93071a7dc270a0738d8d39e45ae2b1c0') diff --git a/var/spack/repos/builtin/packages/rust-bindgen/package.py b/var/spack/repos/builtin/packages/rust-bindgen/package.py index 59f9a887746..1993a2d0ad8 100644 --- a/var/spack/repos/builtin/packages/rust-bindgen/package.py +++ b/var/spack/repos/builtin/packages/rust-bindgen/package.py @@ -10,7 +10,7 @@ class RustBindgen(Package): """The rust programming language toolchain""" - homepage = "http://www.rust-lang.org" + homepage = "https://www.rust-lang.org" url = "https://github.com/servo/rust-bindgen/archive/v0.20.5.tar.gz" version('0.20.5', sha256='4f5236e7979d262c43267afba365612b1008b91b8f81d1efc6a8a2199d52bb37') diff --git a/var/spack/repos/builtin/packages/sblim-sfcc/package.py b/var/spack/repos/builtin/packages/sblim-sfcc/package.py index 1105e05a008..79cc3ae7fd7 100644 --- a/var/spack/repos/builtin/packages/sblim-sfcc/package.py +++ b/var/spack/repos/builtin/packages/sblim-sfcc/package.py @@ -9,7 +9,7 @@ class SblimSfcc(AutotoolsPackage): """Small Footprint CIM Client Library""" - homepage = "http://sourceforge.net/projects/sblim" + homepage = "https://sourceforge.net/projects/sblim" url = "https://github.com/kkaempf/sblim-sfcc/archive/SFCC_2_2_1.tar.gz" version('2_2_8', sha256='d8d0bf06a487483df507f512ddf0c7b2c1b878a1c9b039bf5c2357c4ba13b882') diff --git a/var/spack/repos/builtin/packages/sbt/package.py b/var/spack/repos/builtin/packages/sbt/package.py index 64a0b192302..9b68d95e628 100644 --- a/var/spack/repos/builtin/packages/sbt/package.py +++ b/var/spack/repos/builtin/packages/sbt/package.py @@ -9,7 +9,7 @@ class Sbt(Package): """Scala Build Tool""" - homepage = 'http://www.scala-sbt.org' + homepage = 'https://www.scala-sbt.org' url = "https://github.com/sbt/sbt/releases/download/v1.1.4/sbt-1.1.4.tgz" version('1.1.6', sha256='f545b530884e3abbca026df08df33d5a15892e6d98da5b8c2297413d1c7b68c1') diff --git a/var/spack/repos/builtin/packages/scons/package.py b/var/spack/repos/builtin/packages/scons/package.py index 98730613339..350c7e3e5cc 100644 --- a/var/spack/repos/builtin/packages/scons/package.py +++ b/var/spack/repos/builtin/packages/scons/package.py @@ -9,7 +9,7 @@ class Scons(PythonPackage): """SCons is a software construction tool""" - homepage = "http://scons.org" + homepage = "https://scons.org" pypi = "scons/scons-3.1.1.tar.gz" version('3.1.2', sha256='8aaa483c303efeb678e6f7c776c8444a482f8ddc3ad891f8b6cdd35264da9a1f') diff --git a/var/spack/repos/builtin/packages/scr/package.py b/var/spack/repos/builtin/packages/scr/package.py index dfb8d1962ee..d77d6bca636 100644 --- a/var/spack/repos/builtin/packages/scr/package.py +++ b/var/spack/repos/builtin/packages/scr/package.py @@ -22,7 +22,7 @@ class Scr(CMakePackage): Linux cluster to provide a fast, scalable checkpoint/restart capability for MPI codes""" - homepage = "http://computing.llnl.gov/projects/scalable-checkpoint-restart-for-mpi" + homepage = "https://computing.llnl.gov/projects/scalable-checkpoint-restart-for-mpi" url = "https://github.com/LLNL/scr/archive/v1.2.0.tar.gz" git = "https://github.com/llnl/scr.git" diff --git a/var/spack/repos/builtin/packages/setserial/package.py b/var/spack/repos/builtin/packages/setserial/package.py index 782024a5f6e..82099154392 100644 --- a/var/spack/repos/builtin/packages/setserial/package.py +++ b/var/spack/repos/builtin/packages/setserial/package.py @@ -9,7 +9,7 @@ class Setserial(AutotoolsPackage): """A utility for configuring serial ports.""" - homepage = "https://setserial.sourceforge.net" + homepage = "http://setserial.sourceforge.net" url = "https://udomain.dl.sourceforge.net/project/setserial/setserial/2.17/setserial-2.17.tar.gz" version('2.17', sha256='7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a') diff --git a/var/spack/repos/builtin/packages/smalt/package.py b/var/spack/repos/builtin/packages/smalt/package.py index 8998620d922..47d5cde7f0d 100644 --- a/var/spack/repos/builtin/packages/smalt/package.py +++ b/var/spack/repos/builtin/packages/smalt/package.py @@ -9,7 +9,7 @@ class Smalt(AutotoolsPackage, SourceforgePackage): """SMALT aligns DNA sequencing reads with a reference genome.""" - homepage = "http://www.sanger.ac.uk/science/tools/smalt-0" + homepage = "https://www.sanger.ac.uk/science/tools/smalt-0" sourceforge_mirror_path = "smalt/smalt-0.7.6.tar.gz" version('0.7.6', sha256='89ccdfe471edba3577b43de9ebfdaedb5cd6e26b02bf4000c554253433796b31') diff --git a/var/spack/repos/builtin/packages/soapdenovo-trans/package.py b/var/spack/repos/builtin/packages/soapdenovo-trans/package.py index 6c76590c318..93e0d61cd08 100644 --- a/var/spack/repos/builtin/packages/soapdenovo-trans/package.py +++ b/var/spack/repos/builtin/packages/soapdenovo-trans/package.py @@ -11,7 +11,7 @@ class SoapdenovoTrans(MakefilePackage): SOAPdenovo framework, adapt to alternative splicing and different expression level among transcripts.""" - homepage = "http://soap.genomics.org.cn/SOAPdenovo-Trans.html" + homepage = "https://github.com/aquaskyline/SOAPdenovo-Trans" url = "https://github.com/aquaskyline/SOAPdenovo-Trans/archive/1.0.4.tar.gz" version('1.0.4', sha256='378a54cde0ebe240fb515ba67197c053cf95393645c1ae1399b3a611be2a9795') diff --git a/var/spack/repos/builtin/packages/sparskit/package.py b/var/spack/repos/builtin/packages/sparskit/package.py index a1ca7758286..5b2e737d9ea 100644 --- a/var/spack/repos/builtin/packages/sparskit/package.py +++ b/var/spack/repos/builtin/packages/sparskit/package.py @@ -14,7 +14,7 @@ class Sparskit(MakefilePackage): Made by Yousef Saad, University of Minnesota. """ - homepage = "https://www-users.cs.umn.edu/~saad/software/SPARSKIT/" + homepage = "https://www-users.cse.umn.edu/~saad/software/SPARSKIT/" version('develop', sha256='ecdd0a9968d6b45153a328710a42fe87600f0bba0e3c53896090b8ae1c113b7a', url='http://www-users.cs.umn.edu/~saad/software/SPARSKIT/SPARSKIT2.tar.gz') diff --git a/var/spack/repos/builtin/packages/tcsh/package.py b/var/spack/repos/builtin/packages/tcsh/package.py index e718e4d734f..92559cade13 100644 --- a/var/spack/repos/builtin/packages/tcsh/package.py +++ b/var/spack/repos/builtin/packages/tcsh/package.py @@ -14,7 +14,7 @@ class Tcsh(AutotoolsPackage): correction, a history mechanism, job control and a C language like syntax.""" - homepage = "http://www.tcsh.org/" + homepage = "https://www.tcsh.org/" url = "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/tcsh-6.20.00.tar.gz" list_url = "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/" diff --git a/var/spack/repos/builtin/packages/texstudio/package.py b/var/spack/repos/builtin/packages/texstudio/package.py index 13d1daba11b..b47b0e11afd 100644 --- a/var/spack/repos/builtin/packages/texstudio/package.py +++ b/var/spack/repos/builtin/packages/texstudio/package.py @@ -10,7 +10,7 @@ class Texstudio(QMakePackage): """TeXstudio is a fully featured LaTeX editor, whose goal is to make writing LaTeX documents as easy and comfortable as possible.""" - homepage = "http://www.texstudio.org" + homepage = "https://www.texstudio.org" url = "https://github.com/texstudio-org/texstudio/archive/2.12.16.tar.gz" git = "https://github.com/texstudio-org/texstudio.git" diff --git a/var/spack/repos/builtin/packages/the-silver-searcher/package.py b/var/spack/repos/builtin/packages/the-silver-searcher/package.py index 3afe1bc4f1f..a16a39421f8 100644 --- a/var/spack/repos/builtin/packages/the-silver-searcher/package.py +++ b/var/spack/repos/builtin/packages/the-silver-searcher/package.py @@ -9,7 +9,7 @@ class TheSilverSearcher(AutotoolsPackage): """Fast recursive grep alternative""" - homepage = "http://geoff.greer.fm/ag/" + homepage = "https://geoff.greer.fm/ag/" url = "http://geoff.greer.fm/ag/releases/the_silver_searcher-0.32.0.tar.gz" version('2.2.0', sha256='d9621a878542f3733b5c6e71c849b9d1a830ed77cb1a1f6c2ea441d4b0643170') diff --git a/var/spack/repos/builtin/packages/velvet/package.py b/var/spack/repos/builtin/packages/velvet/package.py index 3997262dc1c..62bfff72d92 100644 --- a/var/spack/repos/builtin/packages/velvet/package.py +++ b/var/spack/repos/builtin/packages/velvet/package.py @@ -10,7 +10,7 @@ class Velvet(MakefilePackage): """Velvet is a de novo genomic assembler specially designed for short read sequencing technologies.""" - homepage = "http://www.ebi.ac.uk/~zerbino/velvet/" + homepage = "https://www.ebi.ac.uk/~zerbino/velvet/" url = "http://www.ebi.ac.uk/~zerbino/velvet/velvet_1.2.10.tgz" version('1.2.10', sha256='884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640') diff --git a/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py b/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py index 52636dca2d3..87084c1e8b0 100644 --- a/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py +++ b/var/spack/repos/builtin/packages/votca-csg-tutorials/package.py @@ -15,7 +15,7 @@ class VotcaCsgTutorials(CMakePackage): This package contains the VOTCA coarse-graining tutorials. """ - homepage = "http://www.votca.org" + homepage = "https://www.votca.org" url = "https://github.com/votca/csg-tutorials/tarball/v1.4" git = "https://github.com/votca/csg-tutorials.git" maintainers = ['junghans'] diff --git a/var/spack/repos/builtin/packages/votca-csg/package.py b/var/spack/repos/builtin/packages/votca-csg/package.py index 320082884ea..395bfa30fa9 100644 --- a/var/spack/repos/builtin/packages/votca-csg/package.py +++ b/var/spack/repos/builtin/packages/votca-csg/package.py @@ -15,7 +15,7 @@ class VotcaCsg(CMakePackage): This package contains the VOTCA coarse-graining engine. """ - homepage = "http://www.votca.org" + homepage = "https://www.votca.org" url = "https://github.com/votca/csg/tarball/v1.4" git = "https://github.com/votca/csg.git" maintainers = ['junghans'] diff --git a/var/spack/repos/builtin/packages/votca-csgapps/package.py b/var/spack/repos/builtin/packages/votca-csgapps/package.py index 6d344915d97..8b90e7ba8ac 100644 --- a/var/spack/repos/builtin/packages/votca-csgapps/package.py +++ b/var/spack/repos/builtin/packages/votca-csgapps/package.py @@ -15,7 +15,7 @@ class VotcaCsgapps(CMakePackage): This package contains the VOTCA coarse-graining extra apps. """ - homepage = "http://www.votca.org" + homepage = "https://www.votca.org" url = "https://github.com/votca/csgapps/tarball/v1.4" git = "https://github.com/votca/csgapps.git" maintainers = ['junghans'] diff --git a/var/spack/repos/builtin/packages/votca-ctp/package.py b/var/spack/repos/builtin/packages/votca-ctp/package.py index 4fce94aec9c..74c2819810c 100644 --- a/var/spack/repos/builtin/packages/votca-ctp/package.py +++ b/var/spack/repos/builtin/packages/votca-ctp/package.py @@ -15,7 +15,7 @@ class VotcaCtp(CMakePackage): This package contains the VOTCA charge transport engine. """ - homepage = "http://www.votca.org" + homepage = "https://www.votca.org" url = "https://github.com/votca/ctp/tarball/v1.5" git = "https://github.com/votca/ctp.git" diff --git a/var/spack/repos/builtin/packages/votca-tools/package.py b/var/spack/repos/builtin/packages/votca-tools/package.py index 9a86a71dcea..7f21dceb8d9 100644 --- a/var/spack/repos/builtin/packages/votca-tools/package.py +++ b/var/spack/repos/builtin/packages/votca-tools/package.py @@ -15,7 +15,7 @@ class VotcaTools(CMakePackage): This package contains the basic tools library of VOTCA. """ - homepage = "http://www.votca.org" + homepage = "https://www.votca.org" url = "https://github.com/votca/tools/tarball/v1.4" git = "https://github.com/votca/tools.git" maintainers = ['junghans'] diff --git a/var/spack/repos/builtin/packages/votca-xtp/package.py b/var/spack/repos/builtin/packages/votca-xtp/package.py index 731a30d21c4..14a07c14a14 100644 --- a/var/spack/repos/builtin/packages/votca-xtp/package.py +++ b/var/spack/repos/builtin/packages/votca-xtp/package.py @@ -15,7 +15,7 @@ class VotcaXtp(CMakePackage): This package contains the VOTCA exciton transport engine. """ - homepage = "http://www.votca.org" + homepage = "https://www.votca.org" url = "https://github.com/votca/xtp/tarball/v1.4.1" git = "https://github.com/votca/xtp.git" maintainers = ['junghans'] diff --git a/var/spack/repos/builtin/packages/wcslib/package.py b/var/spack/repos/builtin/packages/wcslib/package.py index 7526f40e7cc..d8413f4c6be 100644 --- a/var/spack/repos/builtin/packages/wcslib/package.py +++ b/var/spack/repos/builtin/packages/wcslib/package.py @@ -10,7 +10,7 @@ class Wcslib(AutotoolsPackage): """WCSLIB a C implementation of the coordinate transformations defined in the FITS WCS papers.""" - homepage = "http://www.atnf.csiro.au/people/mcalabre/WCS/wcslib/" + homepage = "https://www.atnf.csiro.au/people/mcalabre/WCS/wcslib/" url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-7.3.tar.bz2" version('7.3', sha256='4b01cf425382a26ca4f955ed6841a5f50c55952a2994367f8e067e4183992961') diff --git a/var/spack/repos/builtin/packages/windowswmproto/package.py b/var/spack/repos/builtin/packages/windowswmproto/package.py index b82423916bb..2f5afd7e61e 100644 --- a/var/spack/repos/builtin/packages/windowswmproto/package.py +++ b/var/spack/repos/builtin/packages/windowswmproto/package.py @@ -14,7 +14,7 @@ class Windowswmproto(AutotoolsPackage, XorgPackage): WindowsWM is only intended to be used on Cygwin when running a rootless XWin server.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/windowswmproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/windowswmproto" xorg_mirror_path = "proto/windowswmproto-1.0.4.tar.gz" version('1.0.4', sha256='2dccf510cf18a1b5cfd3a277c678d88303efc85478b479fec46228a861956eb7') diff --git a/var/spack/repos/builtin/packages/wt/package.py b/var/spack/repos/builtin/packages/wt/package.py index ddf329455ed..3eaf6d52a5a 100644 --- a/var/spack/repos/builtin/packages/wt/package.py +++ b/var/spack/repos/builtin/packages/wt/package.py @@ -11,7 +11,7 @@ class Wt(CMakePackage): Wt is a C++ library for developing web applications.""" - homepage = "http://www.webtoolkit.eu/wt" + homepage = "https://www.webtoolkit.eu/wt" url = "https://github.com/emweb/wt/archive/3.3.7.tar.gz" git = "https://github.com/emweb/wt.git" diff --git a/var/spack/repos/builtin/packages/xcb-proto/package.py b/var/spack/repos/builtin/packages/xcb-proto/package.py index 98b7e25f8a1..6a8508cdc51 100644 --- a/var/spack/repos/builtin/packages/xcb-proto/package.py +++ b/var/spack/repos/builtin/packages/xcb-proto/package.py @@ -10,7 +10,7 @@ class XcbProto(AutotoolsPackage): """xcb-proto provides the XML-XCB protocol descriptions that libxcb uses to generate the majority of its code and API.""" - homepage = "http://xcb.freedesktop.org/" + homepage = "https://xcb.freedesktop.org/" url = "https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.14.1.tar.xz" version('1.14.1', sha256='f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3') diff --git a/var/spack/repos/builtin/packages/xf86driproto/package.py b/var/spack/repos/builtin/packages/xf86driproto/package.py index 0bf16815889..de9d15b6858 100644 --- a/var/spack/repos/builtin/packages/xf86driproto/package.py +++ b/var/spack/repos/builtin/packages/xf86driproto/package.py @@ -13,7 +13,7 @@ class Xf86driproto(AutotoolsPackage, XorgPackage): the video hardware without requiring data to be passed through the X server.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/xf86driproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/xf86driproto" xorg_mirror_path = "proto/xf86driproto-2.1.1.tar.gz" version('2.1.1', sha256='18ff8de129b89fa24a412a1ec1799f8687f96c186c655b44b1a714a3a5d15d6c') diff --git a/var/spack/repos/builtin/packages/xf86miscproto/package.py b/var/spack/repos/builtin/packages/xf86miscproto/package.py index 0f3b1934c4d..9ffe00442fb 100644 --- a/var/spack/repos/builtin/packages/xf86miscproto/package.py +++ b/var/spack/repos/builtin/packages/xf86miscproto/package.py @@ -12,7 +12,7 @@ class Xf86miscproto(AutotoolsPackage, XorgPackage): supported by the XFree86 X server and versions of the Xorg X server prior to Xorg 1.6.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/xf86miscproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/xf86miscproto" xorg_mirror_path = "proto/xf86miscproto-0.9.3.tar.gz" version('0.9.3', sha256='1b05cb76ac165c703b82bdd270b86ebbc4d42a7d04d299050b07ba2099c31352') diff --git a/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py b/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py index 0e9d56b642d..7d5712a7454 100644 --- a/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py +++ b/var/spack/repos/builtin/packages/xf86vidmodeproto/package.py @@ -12,7 +12,7 @@ class Xf86vidmodeproto(AutotoolsPackage, XorgPackage): This extension defines a protocol for dynamically configuring modelines and gamma.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/xf86vidmodeproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/xf86vidmodeproto" xorg_mirror_path = "proto/xf86vidmodeproto-2.3.1.tar.gz" version('2.3.1', sha256='c3512b11cefa7558576551f8582c6e7071c8a24d78176059d94b84b48b262979') diff --git a/var/spack/repos/builtin/packages/xfsdump/package.py b/var/spack/repos/builtin/packages/xfsdump/package.py index 9ae60c3772e..ea2fd28f6c6 100644 --- a/var/spack/repos/builtin/packages/xfsdump/package.py +++ b/var/spack/repos/builtin/packages/xfsdump/package.py @@ -9,7 +9,7 @@ class Xfsdump(MakefilePackage): """XFS Dump Tools.""" - homepage = "http://oss.sgi.com/projects/xfs/" + homepage = "https://github.com/pcacjr/xfsdump" url = "https://github.com/pcacjr/xfsdump/archive/v3.1.6.tar.gz" version('3.1.6', sha256='bbf659758107cad9b41cf3001df121e6428485b341109a1f1a952fd477a7010b') diff --git a/var/spack/repos/builtin/packages/xfsinfo/package.py b/var/spack/repos/builtin/packages/xfsinfo/package.py index d85373a34b8..ce21c9a231c 100644 --- a/var/spack/repos/builtin/packages/xfsinfo/package.py +++ b/var/spack/repos/builtin/packages/xfsinfo/package.py @@ -13,7 +13,7 @@ class Xfsinfo(AutotoolsPackage, XorgPackage): clients and the server, and the font catalogues and alternate servers that are available.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xfsinfo" + homepage = "https://cgit.freedesktop.org/xorg/app/xfsinfo" xorg_mirror_path = "app/xfsinfo-1.0.5.tar.gz" version('1.0.5', sha256='56a0492ed2cde272dc8f4cff4ba0970ccb900e51c10bb8ec62747483d095fd69') diff --git a/var/spack/repos/builtin/packages/xfsprogs/package.py b/var/spack/repos/builtin/packages/xfsprogs/package.py index 7657e01bf0a..b35860a8d0f 100644 --- a/var/spack/repos/builtin/packages/xfsprogs/package.py +++ b/var/spack/repos/builtin/packages/xfsprogs/package.py @@ -9,7 +9,7 @@ class Xfsprogs(AutotoolsPackage): """XFS User Tools.""" - homepage = "http://oss.sgi.com/projects/xfs/" + homepage = "https://github.com/mtanski/xfsprogs" url = "http://kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-4.17.0.tar.xz" version('5.11.0', sha256='0e9c390fcdbb8a79e1b8f5e6e25fd529fc9f9c2ef8f2d5e647b3556b82d1b353') diff --git a/var/spack/repos/builtin/packages/xineramaproto/package.py b/var/spack/repos/builtin/packages/xineramaproto/package.py index 33849b3bf21..b3daa1b24f2 100644 --- a/var/spack/repos/builtin/packages/xineramaproto/package.py +++ b/var/spack/repos/builtin/packages/xineramaproto/package.py @@ -12,7 +12,7 @@ class Xineramaproto(AutotoolsPackage, XorgPackage): This is an X extension that allows multiple physical screens controlled by a single X server to appear as a single screen.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/xineramaproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/xineramaproto" xorg_mirror_path = "proto/xineramaproto-1.2.1.tar.gz" version('1.2.1', sha256='d99e121edf7b310008d7371ac5dbe3aa2810996d476b754dc78477cc26e5e7c1') diff --git a/var/spack/repos/builtin/packages/xinit/package.py b/var/spack/repos/builtin/packages/xinit/package.py index 922339532ef..086351e2504 100644 --- a/var/spack/repos/builtin/packages/xinit/package.py +++ b/var/spack/repos/builtin/packages/xinit/package.py @@ -11,7 +11,7 @@ class Xinit(AutotoolsPackage, XorgPackage): first client program on systems that are not using a display manager such as xdm.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xinit" + homepage = "https://cgit.freedesktop.org/xorg/app/xinit" xorg_mirror_path = "app/xinit-1.3.4.tar.gz" version('1.3.4', sha256='754c284875defa588951c1d3d2b20897d3b84918d0a97cb5a4724b00c0da0746') diff --git a/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py b/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py index 29ed4812dae..e4b63c57ab8 100644 --- a/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py +++ b/var/spack/repos/builtin/packages/xorg-sgml-doctools/package.py @@ -11,7 +11,7 @@ class XorgSgmlDoctools(AutotoolsPackage, XorgPackage): sheets used in building/formatting the documentation provided in other X.Org packages.""" - homepage = "http://cgit.freedesktop.org/xorg/doc/xorg-sgml-doctools" + homepage = "https://cgit.freedesktop.org/xorg/doc/xorg-sgml-doctools" xorg_mirror_path = "doc/xorg-sgml-doctools-1.11.tar.gz" version('1.11', sha256='986326d7b4dd2ad298f61d8d41fe3929ac6191c6000d6d7e47a8ffc0c34e7426') diff --git a/var/spack/repos/builtin/packages/xphelloworld/package.py b/var/spack/repos/builtin/packages/xphelloworld/package.py index 1038e91be2a..14ffa23d697 100644 --- a/var/spack/repos/builtin/packages/xphelloworld/package.py +++ b/var/spack/repos/builtin/packages/xphelloworld/package.py @@ -9,7 +9,7 @@ class Xphelloworld(AutotoolsPackage, XorgPackage): """Xprint sample applications.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xphelloworld" + homepage = "https://cgit.freedesktop.org/xorg/app/xphelloworld" xorg_mirror_path = "app/xphelloworld-1.0.1.tar.gz" version('1.0.1', sha256='ead6437c4dc9540698a41e174c9d1ac792de07baeead81935d72cb123196f866') diff --git a/var/spack/repos/builtin/packages/xprehashprinterlist/package.py b/var/spack/repos/builtin/packages/xprehashprinterlist/package.py index afb2c1005a9..c71b218a436 100644 --- a/var/spack/repos/builtin/packages/xprehashprinterlist/package.py +++ b/var/spack/repos/builtin/packages/xprehashprinterlist/package.py @@ -9,7 +9,7 @@ class Xprehashprinterlist(AutotoolsPackage, XorgPackage): """Rehash list of Xprint printers.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xprehashprinterlist" + homepage = "https://cgit.freedesktop.org/xorg/app/xprehashprinterlist" xorg_mirror_path = "app/xprehashprinterlist-1.0.1.tar.gz" version('1.0.1', sha256='396986da064b584138cfcff79a8aed12590a9dab24f1cd2d80b08bc1cb896a43') diff --git a/var/spack/repos/builtin/packages/xprop/package.py b/var/spack/repos/builtin/packages/xprop/package.py index 3bae624efc1..d97033c8155 100644 --- a/var/spack/repos/builtin/packages/xprop/package.py +++ b/var/spack/repos/builtin/packages/xprop/package.py @@ -10,7 +10,7 @@ class Xprop(AutotoolsPackage, XorgPackage): """xprop is a command line tool to display and/or set window and font properties of an X server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xprop" + homepage = "https://cgit.freedesktop.org/xorg/app/xprop" xorg_mirror_path = "app/xprop-1.2.2.tar.gz" version('1.2.2', sha256='3db78771ce8fb8954fb242ed9d4030372523649c5e9c1a9420340020dd0afbc2') diff --git a/var/spack/repos/builtin/packages/xrx/package.py b/var/spack/repos/builtin/packages/xrx/package.py index 606f6bdc8ba..80bf722705a 100644 --- a/var/spack/repos/builtin/packages/xrx/package.py +++ b/var/spack/repos/builtin/packages/xrx/package.py @@ -14,7 +14,7 @@ class Xrx(AutotoolsPackage, XorgPackage): browser must identify specific instances of the services in the request to invoke the application.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xrx" + homepage = "https://cgit.freedesktop.org/xorg/app/xrx" xorg_mirror_path = "app/xrx-1.0.4.tar.gz" version('1.0.4', sha256='1ffa1c2af28587c6ed7ded3af2e62e93bad8f9900423d09c45b1d59449d15134') diff --git a/var/spack/repos/builtin/packages/xscope/package.py b/var/spack/repos/builtin/packages/xscope/package.py index 700cf3fa8e1..9ea08cc098c 100644 --- a/var/spack/repos/builtin/packages/xscope/package.py +++ b/var/spack/repos/builtin/packages/xscope/package.py @@ -9,7 +9,7 @@ class Xscope(AutotoolsPackage, XorgPackage): """XSCOPE -- a program to monitor X11/Client conversations.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xscope" + homepage = "https://cgit.freedesktop.org/xorg/app/xscope" xorg_mirror_path = "app/xscope-1.4.1.tar.gz" version('1.4.1', sha256='f99558a64e828cd2c352091ed362ad2ef42b1c55ef5c01cbf782be9735bb6de3') diff --git a/var/spack/repos/builtin/packages/xsetmode/package.py b/var/spack/repos/builtin/packages/xsetmode/package.py index e8fac09fd44..dd1281f0c2c 100644 --- a/var/spack/repos/builtin/packages/xsetmode/package.py +++ b/var/spack/repos/builtin/packages/xsetmode/package.py @@ -9,7 +9,7 @@ class Xsetmode(AutotoolsPackage, XorgPackage): """Set the mode for an X Input device.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xsetmode" + homepage = "https://cgit.freedesktop.org/xorg/app/xsetmode" xorg_mirror_path = "app/xsetmode-1.0.0.tar.gz" version('1.0.0', sha256='9ee0d6cf72dfaacb997f9570779dcbc42f5395ae102180cb19382860b4b02ef3') diff --git a/var/spack/repos/builtin/packages/xsetpointer/package.py b/var/spack/repos/builtin/packages/xsetpointer/package.py index e14c53e81a8..6ece3d7b4ad 100644 --- a/var/spack/repos/builtin/packages/xsetpointer/package.py +++ b/var/spack/repos/builtin/packages/xsetpointer/package.py @@ -9,7 +9,7 @@ class Xsetpointer(AutotoolsPackage, XorgPackage): """Set an X Input device as the main pointer.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xsetpointer" + homepage = "https://cgit.freedesktop.org/xorg/app/xsetpointer" xorg_mirror_path = "app/xsetpointer-1.0.1.tar.gz" version('1.0.1', sha256='54be93b20fd6f1deac67246d6e214a60b02dcfbf05295e43751f7a04edb986ac') diff --git a/var/spack/repos/builtin/packages/xterm/package.py b/var/spack/repos/builtin/packages/xterm/package.py index c293920e24c..e9509f9bd1a 100644 --- a/var/spack/repos/builtin/packages/xterm/package.py +++ b/var/spack/repos/builtin/packages/xterm/package.py @@ -11,7 +11,7 @@ class Xterm(AutotoolsPackage): provides DEC VT102 and Tektronix 4014 compatible terminals for programs that can't use the window system directly.""" - homepage = "http://invisible-island.net/xterm/" + homepage = "https://invisible-island.net/xterm/" url = "ftp://ftp.invisible-island.net/xterm/xterm-327.tgz" version('353', sha256='e521d3ee9def61f5d5c911afc74dd5c3a56ce147c7071c74023ea24cac9bb768') diff --git a/var/spack/repos/builtin/packages/xtrap/package.py b/var/spack/repos/builtin/packages/xtrap/package.py index 0ae0275d18d..dddeab19c3d 100644 --- a/var/spack/repos/builtin/packages/xtrap/package.py +++ b/var/spack/repos/builtin/packages/xtrap/package.py @@ -9,7 +9,7 @@ class Xtrap(AutotoolsPackage, XorgPackage): """XTrap sample clients.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xtrap" + homepage = "https://cgit.freedesktop.org/xorg/app/xtrap" xorg_mirror_path = "app/xtrap-1.0.2.tar.gz" version('1.0.2', sha256='e8916e05bfb0d72a088aaaac0feaf4ad7671d0f509d1037fb3c0c9ea131b93d2') diff --git a/var/spack/repos/builtin/packages/xwd/package.py b/var/spack/repos/builtin/packages/xwd/package.py index 4e0b0afd84d..5f5b8c8739a 100644 --- a/var/spack/repos/builtin/packages/xwd/package.py +++ b/var/spack/repos/builtin/packages/xwd/package.py @@ -9,7 +9,7 @@ class Xwd(AutotoolsPackage, XorgPackage): """xwd - dump an image of an X window.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xwd" + homepage = "https://cgit.freedesktop.org/xorg/app/xwd" xorg_mirror_path = "app/xwd-1.0.6.tar.gz" version('1.0.6', sha256='ff01f0a4b736f955aaf7c8c3942211bc52f9fb75d96f2b19777f33fff5dc5b83') diff --git a/var/spack/repos/builtin/packages/xz/package.py b/var/spack/repos/builtin/packages/xz/package.py index 5197fb13490..a3e09291fda 100644 --- a/var/spack/repos/builtin/packages/xz/package.py +++ b/var/spack/repos/builtin/packages/xz/package.py @@ -14,7 +14,7 @@ class Xz(AutotoolsPackage, SourceforgePackage): but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils.""" - homepage = "http://tukaani.org/xz/" + homepage = "https://tukaani.org/xz/" sourceforge_mirror_path = "lzmautils/files/xz-5.2.5.tar.bz2" list_url = "http://tukaani.org/xz/old.html" diff --git a/var/spack/repos/builtin/packages/zabbix/package.py b/var/spack/repos/builtin/packages/zabbix/package.py index 70d247b2d3f..c8a423b9225 100644 --- a/var/spack/repos/builtin/packages/zabbix/package.py +++ b/var/spack/repos/builtin/packages/zabbix/package.py @@ -10,7 +10,7 @@ class Zabbix(AutotoolsPackage): """Real-time monitoring of IT components and services, such as networks, servers, VMs, applications and the cloud.""" - homepage = "http://www.zabbix.com" + homepage = "https://www.zabbix.com" url = "https://github.com/zabbix/zabbix/archive/5.0.3.tar.gz" version('5.0.3', sha256='d579c5fa4e9065e8041396ace24d7132521ef5054ce30dfd9d151cbb7f0694ec') diff --git a/var/spack/repos/builtin/packages/zsh/package.py b/var/spack/repos/builtin/packages/zsh/package.py index b59fd4251e9..85e5ca03d63 100644 --- a/var/spack/repos/builtin/packages/zsh/package.py +++ b/var/spack/repos/builtin/packages/zsh/package.py @@ -12,7 +12,7 @@ class Zsh(AutotoolsPackage): tcsh were incorporated into zsh; many original features were added. """ - homepage = "http://www.zsh.org" + homepage = "https://www.zsh.org" url = "http://downloads.sourceforge.net/project/zsh/zsh/5.4.2/zsh-5.4.2.tar.xz" version('5.8', sha256='dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27') From 9dab298f0dd7faba604c0946b2e1e278dc93338d Mon Sep 17 00:00:00 2001 From: Enrico Usai <10634438+enrico-usai@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:35:01 +0200 Subject: [PATCH 338/414] aws-parallelcluster: add v2.11.2 (#25635) Signed-off-by: Rex --- .../repos/builtin/packages/aws-parallelcluster/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py index 6c8cf3697b6..ac81dbb87ea 100644 --- a/var/spack/repos/builtin/packages/aws-parallelcluster/package.py +++ b/var/spack/repos/builtin/packages/aws-parallelcluster/package.py @@ -13,12 +13,13 @@ class AwsParallelcluster(PythonPackage): tool to deploy and manage HPC clusters in the AWS cloud.""" homepage = "https://github.com/aws/aws-parallelcluster" - pypi = "aws-parallelcluster/aws-parallelcluster-2.11.1.tar.gz" + pypi = "aws-parallelcluster/aws-parallelcluster-2.11.2.tar.gz" maintainers = [ 'demartinofra', 'enrico-usai', 'lukeseawalker', 'tilne' ] + version('2.11.2', sha256='60d96a5ea4dca4816ceffc4546549743abd1f6207c62f016c9c348adc64b2ec0') version('2.11.1', sha256='dc102eeb0db30fb183c1ee076e340223095fde7d9079004fde401b7ad658242d') version('2.11.0', sha256='ec2f54f752a355649ca065a41fa4ac19697f570a136e10e0a6548f5abad3ea8a') version('2.10.4', sha256='487dbf3e79f3e9b6750b1075cef4eb24956f7b310e5bd8de662b98d87491736c') From 6eb942cf456e8f2db328d5ea0dff52eb4f013aba Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 26 Aug 2021 15:44:31 -0500 Subject: [PATCH 339/414] Speedup environment activation, part 2 (#25633) This is a direct followup to #13557 which caches additional attributes that were added in #24095 that are expensive to compute. I had to reopen #25556 in another PR to invalidate the GitLab CI cache, but see #25556 for prior discussion. ### Before ```console $ time spack env activate . real 2m13.037s user 1m25.584s sys 0m43.654s $ time spack env view regenerate ==> Updating view at /Users/Adam/.spack/.spack-env/view real 16m3.541s user 10m28.892s sys 4m57.816s $ time spack env deactivate real 2m30.974s user 1m38.090s sys 0m49.781s ``` ### After ```console $ time spack env activate . real 0m8.937s user 0m7.323s sys 0m1.074s $ time spack env view regenerate ==> Updating view at /Users/Adam/.spack/.spack-env/view real 2m22.024s user 1m44.739s sys 0m30.717s $ time spack env deactivate real 0m10.398s user 0m8.414s sys 0m1.630s ``` Fixes #25555 Fixes #25541 * Speedup environment activation, part 2 * Only query distutils a single time * Fix KeyError bug * Make vermin happy * Manual memoize * Add comment on cross-compiling * Use platform-specific include directory * Fix multiple bugs * Fix python_inc discrepancy * Fix import tests --- lib/spack/spack/build_systems/python.py | 16 +- lib/spack/spack/build_systems/sip.py | 5 +- .../repos/builtin/packages/clingo/package.py | 3 +- .../builtin/packages/migraphx/package.py | 3 +- .../repos/builtin/packages/python/package.py | 170 ++++++++---------- 5 files changed, 87 insertions(+), 110 deletions(-) diff --git a/lib/spack/spack/build_systems/python.py b/lib/spack/spack/build_systems/python.py index 27b1d4a10c4..c3bf323d84c 100644 --- a/lib/spack/spack/build_systems/python.py +++ b/lib/spack/spack/build_systems/python.py @@ -127,7 +127,10 @@ def import_modules(self): list: list of strings of module names """ modules = [] - root = self.spec['python'].package.get_python_lib(prefix=self.prefix) + root = os.path.join( + self.prefix, + self.spec['python'].package.config_vars['python_lib']['false']['false'], + ) # Some Python libraries are packages: collections of modules # distributed in directories containing __init__.py files @@ -252,12 +255,11 @@ def install_args(self, spec, prefix): # Get all relative paths since we set the root to `prefix` # We query the python with which these will be used for the lib and inc # directories. This ensures we use `lib`/`lib64` as expected by python. - pure_site_packages_dir = spec['python'].package.get_python_lib( - plat_specific=False, prefix='') - plat_site_packages_dir = spec['python'].package.get_python_lib( - plat_specific=True, prefix='') - inc_dir = spec['python'].package.get_python_inc( - plat_specific=True, prefix='') + pure_site_packages_dir = spec['python'].package.config_vars[ + 'python_lib']['false']['false'] + plat_site_packages_dir = spec['python'].package.config_vars[ + 'python_lib']['true']['false'] + inc_dir = spec['python'].package.config_vars['python_inc']['true'] args += ['--root=%s' % prefix, '--install-purelib=%s' % pure_site_packages_dir, diff --git a/lib/spack/spack/build_systems/sip.py b/lib/spack/spack/build_systems/sip.py index 744989e2d6e..1b9d01fbf48 100644 --- a/lib/spack/spack/build_systems/sip.py +++ b/lib/spack/spack/build_systems/sip.py @@ -64,7 +64,10 @@ def import_modules(self): list: list of strings of module names """ modules = [] - root = self.spec['python'].package.get_python_lib(prefix=self.prefix) + root = os.path.join( + self.prefix, + self.spec['python'].package.config_vars['python_lib']['false']['false'], + ) # Some Python libraries are packages: collections of modules # distributed in directories containing __init__.py files diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py index 6c716fce73f..aa9772109b0 100644 --- a/var/spack/repos/builtin/packages/clingo/package.py +++ b/var/spack/repos/builtin/packages/clingo/package.py @@ -66,7 +66,8 @@ def cmake_python_hints(self): current spec is the one found by CMake find_package(Python, ...) """ python_spec = self.spec['python'] - include_dir = python_spec.package.get_python_inc() + include_dir = join_path( + python_spec.prefix, python_spec.package.config_vars['python_inc']['false']) return [ self.define('Python_EXECUTABLE', str(python_spec.command)), self.define('Python_INCLUDE_DIR', include_dir) diff --git a/var/spack/repos/builtin/packages/migraphx/package.py b/var/spack/repos/builtin/packages/migraphx/package.py index ffccce80578..9e2c316e28d 100644 --- a/var/spack/repos/builtin/packages/migraphx/package.py +++ b/var/spack/repos/builtin/packages/migraphx/package.py @@ -62,7 +62,8 @@ def cmake_python_hints(self): CMake based on current spec """ python_spec = self.spec['python'] - include_dir = python_spec.package.get_python_inc() + include_dir = join_path( + python_spec.prefix, python_spec.package.config_vars['python_inc']['false']) return [ self.define('Python_INCLUDE_DIR', include_dir) ] diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index 1f5f2046f02..470b05f6aca 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -3,6 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import json import os import platform import re @@ -231,8 +232,8 @@ class Python(AutotoolsPackage): conflicts('%nvhpc') - # Used to cache home locations, since computing them might be expensive - _homes = {} + # Used to cache various attributes that are expensive to compute + _config_vars = {} # An in-source build with --enable-optimizations fails for python@3.X build_directory = 'spack-build' @@ -506,7 +507,7 @@ def filter_compilers(self): kwargs = {'ignore_absent': True, 'backup': False, 'string': True} filenames = [ - self.get_sysconfigdata_name(), self.get_makefile_filename() + self.get_sysconfigdata_name(), self.config_vars['makefile_filename'] ] filter_file(spack_cc, self.compiler.cc, *filenames, **kwargs) @@ -686,87 +687,59 @@ def print_string(self, string): else: return 'print({0})'.format(string) - def get_config_var(self, key): - """Return the value of a single variable. Wrapper around - ``distutils.sysconfig.get_config_var()``.""" + @property + def config_vars(self): + """Return a set of variable definitions associated with a Python installation. - cmd = 'from distutils.sysconfig import get_config_var; ' - cmd += self.print_string("get_config_var('{0}')".format(key)) - - return self.command('-c', cmd, output=str).strip() - - def get_config_h_filename(self): - """Return the full path name of the configuration header. - Wrapper around ``distutils.sysconfig.get_config_h_filename()``.""" - - cmd = 'from distutils.sysconfig import get_config_h_filename; ' - cmd += self.print_string('get_config_h_filename()') - - return self.command('-c', cmd, output=str).strip() - - def get_makefile_filename(self): - """Return the full path name of ``Makefile`` used to build Python. - Wrapper around ``distutils.sysconfig.get_makefile_filename()``.""" - - cmd = 'from distutils.sysconfig import get_makefile_filename; ' - cmd += self.print_string('get_makefile_filename()') - - return self.command('-c', cmd, output=str).strip() - - def get_python_inc(self, plat_specific=False, prefix=None): - """Return the directory for either the general or platform-dependent C - include files. Wrapper around ``distutils.sysconfig.get_python_inc()``. - - Parameters: - plat_specific (bool): if true, the platform-dependent include directory - is returned, else the platform-independent directory is returned - prefix (str): prefix to use instead of ``distutils.sysconfig.PREFIX`` + Wrapper around various ``distutils.sysconfig`` functions. Returns: - str: include files directory + dict: variable definitions """ - # Wrap strings in quotes - if prefix is not None: - prefix = '"{0}"'.format(prefix) + # TODO: distutils is deprecated in Python 3.10 and will be removed in + # Python 3.12, find a different way to access this information. + # Also, calling the python executable disallows us from cross-compiling, + # so we want to try to avoid that if possible. + cmd = """ +import json +from distutils.sysconfig import ( + get_config_vars, + get_config_h_filename, + get_makefile_filename, + get_python_inc, + get_python_lib, +) - args = 'plat_specific={0}, prefix={1}'.format(plat_specific, prefix) +config = get_config_vars() +config['config_h_filename'] = get_config_h_filename() +config['makefile_filename'] = get_makefile_filename() +config['python_inc'] = {} +config['python_lib'] = {} - cmd = 'from distutils.sysconfig import get_python_inc; ' - cmd += self.print_string('get_python_inc({0})'.format(args)) +for plat_specific in [True, False]: + config['python_inc'][plat_specific] = get_python_inc(plat_specific, prefix='') + config['python_lib'][plat_specific] = {} + for standard_lib in [True, False]: + config['python_lib'][plat_specific][standard_lib] = get_python_lib( + plat_specific, standard_lib, prefix='' + ) - return self.command('-c', cmd, output=str).strip() +%s +""" % self.print_string("json.dumps(config)") - def get_python_lib(self, plat_specific=False, standard_lib=False, prefix=None): - """Return the directory for either the general or platform-dependent - library installation. Wrapper around ``distutils.sysconfig.get_python_lib()``. - - Parameters: - plat_specific (bool): if true, the platform-dependent library directory - is returned, else the platform-independent directory is returned - standard_lib (bool): if true, the directory for the standard library is - returned rather than the directory for the installation of - third-party extensions - prefix (str): prefix to use instead of ``distutils.sysconfig.PREFIX`` - - Returns: - str: library installation directory - """ - # Wrap strings in quotes - if prefix is not None: - prefix = '"{0}"'.format(prefix) - - args = 'plat_specific={0}, standard_lib={1}, prefix={2}'.format( - plat_specific, standard_lib, prefix) - - cmd = 'from distutils.sysconfig import get_python_lib; ' - cmd += self.print_string('get_python_lib({0})'.format(args)) - - return self.command('-c', cmd, output=str).strip() + dag_hash = self.spec.dag_hash() + if dag_hash not in self._config_vars: + try: + config = json.loads(self.command('-c', cmd, output=str)) + except (ProcessError, RuntimeError): + config = {} + self._config_vars[dag_hash] = config + return self._config_vars[dag_hash] def get_sysconfigdata_name(self): """Return the full path name of the sysconfigdata file.""" - libdest = self.get_config_var('LIBDEST') + libdest = self.config_vars['LIBDEST'] filename = '_sysconfigdata.py' if self.spec.satisfies('@3.6:'): @@ -790,14 +763,11 @@ def home(self): determine exactly where it is installed. Fall back on ``spec['python'].prefix`` if that doesn't work.""" - dag_hash = self.spec.dag_hash() - if dag_hash not in self._homes: - try: - prefix = self.get_config_var('prefix') - except ProcessError: - prefix = self.prefix - self._homes[dag_hash] = Prefix(prefix) - return self._homes[dag_hash] + if 'prefix' in self.config_vars: + prefix = self.config_vars['prefix'] + else: + prefix = self.prefix + return Prefix(prefix) @property def libs(self): @@ -805,19 +775,19 @@ def libs(self): # installs them into lib64. If the user is using an externally # installed package, it may be in either lib or lib64, so we need # to ask Python where its LIBDIR is. - libdir = self.get_config_var('LIBDIR') + libdir = self.config_vars['LIBDIR'] # In Ubuntu 16.04.6 and python 2.7.12 from the system, lib could be # in LBPL # https://mail.python.org/pipermail/python-dev/2013-April/125733.html - libpl = self.get_config_var('LIBPL') + libpl = self.config_vars['LIBPL'] # The system Python installation on macOS and Homebrew installations # install libraries into a Frameworks directory - frameworkprefix = self.get_config_var('PYTHONFRAMEWORKPREFIX') + frameworkprefix = self.config_vars['PYTHONFRAMEWORKPREFIX'] if '+shared' in self.spec: - ldlibrary = self.get_config_var('LDLIBRARY') + ldlibrary = self.config_vars['LDLIBRARY'] if os.path.exists(os.path.join(libdir, ldlibrary)): return LibraryList(os.path.join(libdir, ldlibrary)) @@ -829,7 +799,7 @@ def libs(self): msg = 'Unable to locate {0} libraries in {1}' raise RuntimeError(msg.format(ldlibrary, libdir)) else: - library = self.get_config_var('LIBRARY') + library = self.config_vars['LIBRARY'] if os.path.exists(os.path.join(libdir, library)): return LibraryList(os.path.join(libdir, library)) @@ -841,16 +811,16 @@ def libs(self): @property def headers(self): - try: - config_h = self.get_config_h_filename() + if 'config_h_filename' in self.config_vars: + config_h = self.config_vars['config_h_filename'] if not os.path.exists(config_h): - includepy = self.get_config_var('INCLUDEPY') + includepy = self.config_vars['INCLUDEPY'] msg = 'Unable to locate {0} headers in {1}' raise RuntimeError(msg.format(self.name, includepy)) headers = HeaderList(config_h) - except ProcessError: + else: headers = find_headers( 'pyconfig', self.prefix.include, recursive=True) config_h = headers[0] @@ -871,9 +841,9 @@ def python_include_dir(self): Returns: str: include files directory """ - try: - return self.get_python_inc(prefix='') - except (ProcessError, RuntimeError): + if 'python_inc' in self.config_vars: + return self.config_vars['python_inc']['false'] + else: return os.path.join('include', 'python{0}'.format(self.version.up_to(2))) @property @@ -895,9 +865,9 @@ def python_lib_dir(self): Returns: str: standard library directory """ - try: - return self.get_python_lib(standard_lib=True, prefix='') - except (ProcessError, RuntimeError): + if 'python_lib' in self.config_vars: + return self.config_vars['python_lib']['false']['true'] + else: return os.path.join('lib', 'python{0}'.format(self.version.up_to(2))) @property @@ -919,9 +889,9 @@ def site_packages_dir(self): Returns: str: site-packages directory """ - try: - return self.get_python_lib(prefix='') - except (ProcessError, RuntimeError): + if 'python_lib' in self.config_vars: + return self.config_vars['python_lib']['false']['false'] + else: return self.default_site_packages_dir @property @@ -978,8 +948,8 @@ def setup_dependent_build_environment(self, env, dependent_spec): for compile_var, link_var in [('CC', 'LDSHARED'), ('CXX', 'LDCXXSHARED')]: # First, we get the values from the sysconfigdata: - config_compile = self.get_config_var(compile_var) - config_link = self.get_config_var(link_var) + config_compile = self.config_vars[compile_var] + config_link = self.config_vars[link_var] # The dependent environment will have the compilation command set to # the following: From abfd8fa70b54e5b9afe0f25abc4bddb4b9164ac1 Mon Sep 17 00:00:00 2001 From: Paul Kuberry Date: Thu, 26 Aug 2021 14:51:08 -0600 Subject: [PATCH 340/414] Conditionally remove 'context' from kwargs in _urlopen (#25316) * Conditionally remove 'context' from kwargs in _urlopen Previously, 'context' is purged from kwargs in _urlopen to conform to varying support for 'context' in different versions of urllib. This fix tries to use 'context', and then removes it if an exception is thrown and tries again. * Specify error type in try statement in _urlopen Specify TypeError when checking if 'context' is in kwargs for _urlopen. Also, if try fails, check that 'context' is in the error message before removing from kwargs. --- lib/spack/spack/util/web.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/util/web.py b/lib/spack/spack/util/web.py index 09225081550..72f7abc2c4c 100644 --- a/lib/spack/spack/util/web.py +++ b/lib/spack/spack/util/web.py @@ -507,9 +507,9 @@ def _urlopen(req, *args, **kwargs): except AttributeError: pass - # We don't pass 'context' parameter because it was only introduced starting + # Note: 'context' parameter was only introduced starting # with versions 2.7.9 and 3.4.3 of Python. - if 'context' in kwargs: + if __UNABLE_TO_VERIFY_SSL: del kwargs['context'] opener = urlopen @@ -517,7 +517,13 @@ def _urlopen(req, *args, **kwargs): import spack.s3_handler opener = spack.s3_handler.open - return opener(req, *args, **kwargs) + try: + return opener(req, *args, **kwargs) + except TypeError as err: + # If the above fails because of 'context', call without 'context'. + if 'context' in kwargs and 'context' in str(err): + del kwargs['context'] + return opener(req, *args, **kwargs) def find_versions_of_archive( From b5f812cd32c2bc61b511e5a12228fdf413781d13 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 26 Aug 2021 18:03:49 -0400 Subject: [PATCH 341/414] New package: reprimand (#25364) --- .../builtin/packages/reprimand/include.patch | 32 +++++++++++ .../builtin/packages/reprimand/package.py | 57 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 var/spack/repos/builtin/packages/reprimand/include.patch create mode 100644 var/spack/repos/builtin/packages/reprimand/package.py diff --git a/var/spack/repos/builtin/packages/reprimand/include.patch b/var/spack/repos/builtin/packages/reprimand/include.patch new file mode 100644 index 00000000000..11d390d154e --- /dev/null +++ b/var/spack/repos/builtin/packages/reprimand/include.patch @@ -0,0 +1,32 @@ +--- a/library/EOS_Barotropic/eos_barotr_poly.cc ++++ b/library/EOS_Barotropic/eos_barotr_poly.cc +@@ -1,6 +1,7 @@ + #include "eos_barotr_poly.h" + #include "eos_barotr_poly_impl.h" + #include ++#include + #include + + using namespace std; +--- a/library/EOS_Barotropic/eos_barotr_pwpoly.cc ++++ b/library/EOS_Barotropic/eos_barotr_pwpoly.cc +@@ -1,6 +1,7 @@ + #include "eos_barotr_pwpoly.h" + #include "eos_barotr_pwpoly_impl.h" +-#include +-#include ++#include ++#include ++#include + + using namespace std; +--- a/tests/benchmarks/src/accuracy_con2prim_mhd.cc ++++ b/tests/benchmarks/src/accuracy_con2prim_mhd.cc +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + #include "con2prim_imhd.h" + #include "eos_thermal_file.h" + #include "eos_hybrid.h" diff --git a/var/spack/repos/builtin/packages/reprimand/package.py b/var/spack/repos/builtin/packages/reprimand/package.py new file mode 100644 index 00000000000..d57c60b3e2d --- /dev/null +++ b/var/spack/repos/builtin/packages/reprimand/package.py @@ -0,0 +1,57 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Reprimand(MesonPackage): + """RePrimAnd is a support library for numerical simulations of general + relativistic magnetohydrodynamics. If provides methods for recovering + primitive variables like pressure and velocity from the variables evolved + in quasi-conservative formulations. Further, it provides a general + framework for handling matter equations of state.""" + + homepage = "https://www.atlas.aei.uni-hannover.de/holohome/wolfgang.kastaun/doc/reprimand/latest/index.html" + url = "https://github.com/wokast/RePrimAnd/archive/refs/tags/v1.3.tar.gz" + + maintainers = ['eschnett'] + + version('develop', git='https://github.com/wokast/RePrimAnd', branch='public') + version('1.3', sha256='8e9f05b1f065a876d1405562285a9f64d1b31c4a436d5a6bb1f023212b40314e') + + # Add missing #include statments; see + # + patch('include.patch', when='@1.3') + + variant('python', default=False, description='Enable Python bindings') + variant('shared', default=True, description='Build shared library') + + depends_on('boost') + depends_on('gsl') + depends_on('hdf5') + depends_on('python', when='+python') + depends_on('py-matplotlib', when='+python') + depends_on('py-pybind11 @2.6.0:', when='+python') + + extends('python', when='+python') + + def setup_build_environment(self, env): + env.set('CXXFLAGS', self.compiler.cxx11_flag) + env.set('BOOST_ROOT', self.spec['boost'].prefix) + + def meson_args(self): + args = [ + '-Dbuild_documentation=false', + '-Dbuild_python_api={0}'.format( + str('+python' in self.spec).lower()), + ] + return args + + @property + def libs(self): + shared = "+shared" in self.spec + return find_libraries( + "libRePrimAnd*", root=self.prefix, shared=shared, recursive=True + ) From bdb02ed535118b6e270d07aa718a04b943c6c71e Mon Sep 17 00:00:00 2001 From: Morten Kristensen Date: Fri, 27 Aug 2021 00:30:09 +0200 Subject: [PATCH 342/414] py-vermin: add latest version 1.2.2 (#25643) --- var/spack/repos/builtin/packages/py-vermin/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-vermin/package.py b/var/spack/repos/builtin/packages/py-vermin/package.py index 00253c0e629..59c7e30ea57 100644 --- a/var/spack/repos/builtin/packages/py-vermin/package.py +++ b/var/spack/repos/builtin/packages/py-vermin/package.py @@ -8,10 +8,11 @@ class PyVermin(PythonPackage): """Concurrently detect the minimum Python versions needed to run code.""" homepage = "https://github.com/netromdk/vermin" - url = "https://github.com/netromdk/vermin/archive/v1.2.1.tar.gz" + url = "https://github.com/netromdk/vermin/archive/v1.2.2.tar.gz" maintainers = ['netromdk'] + version('1.2.2', sha256='d0343b2a78d7e4de67dfd2d882eeaf8b241db724f7e67f83bdd4111edb97f1e2') version('1.2.1', sha256='b7b2c77cf67a27a432371cbc7f184151b6f3dd22bd9ccf3a7a10b7ae3532ac81') version('1.2.0', sha256='a3ab6dc6608b859f301b9a77d5cc0d03335aae10c49d47a91b82be5be48c4f1f') version('1.1.1', sha256='d13b2281ba16c9d5b0913646483771789552230a9ed625e2cd92c5a112e4ae80') From e39c9a7656aa624849e3b1de591d745fa2874d05 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Thu, 26 Aug 2021 16:50:17 -0700 Subject: [PATCH 343/414] adlbx: switch url to https (#25642) --- var/spack/repos/builtin/packages/adlbx/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/adlbx/package.py b/var/spack/repos/builtin/packages/adlbx/package.py index a2197e15b86..a930619aa57 100644 --- a/var/spack/repos/builtin/packages/adlbx/package.py +++ b/var/spack/repos/builtin/packages/adlbx/package.py @@ -11,7 +11,7 @@ class Adlbx(AutotoolsPackage): """ADLB/X: Master-worker library + work stealing and data dependencies""" homepage = 'http://swift-lang.org/Swift-T' - url = 'http://swift-lang.github.io/swift-t-downloads/spack/adlbx-1.0.0.tar.gz' + url = 'https://swift-lang.github.io/swift-t-downloads/spack/adlbx-1.0.0.tar.gz' git = "https://github.com/swift-lang/swift-t.git" version('master', branch='master') From e57780d7f0d22d17abf3c7de6b57e906fe1bc401 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Thu, 26 Aug 2021 16:50:51 -0700 Subject: [PATCH 344/414] ACE: Switch to https (#25638) --- var/spack/repos/builtin/packages/ace/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/ace/package.py b/var/spack/repos/builtin/packages/ace/package.py index 872b29d6837..4443b6a4bb9 100644 --- a/var/spack/repos/builtin/packages/ace/package.py +++ b/var/spack/repos/builtin/packages/ace/package.py @@ -13,8 +13,8 @@ class Ace(MakefilePackage): for sockets, demultiplexing loops, threads, synchronization primitives.""" - homepage = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html" - url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.5.1.tar.gz" + homepage = "https://www.dre.vanderbilt.edu/~schmidt/ACE.html" + url = "https://download.dre.vanderbilt.edu/previous_versions/ACE-6.5.1.tar.gz" version('6.5.12', 'de96c68a6262d6b9ba76b5057c02c7e6964c070b1328a63bf70259e9530a7996') version('6.5.6', '7717cad84d4a9c3d6b2c47963eb555d96de0be657870bcab6fcef4c0423af0de') From 8530ea88a3cf6f371ab8732946cd99545c2060bb Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Thu, 26 Aug 2021 16:51:26 -0700 Subject: [PATCH 345/414] acl: Switch to https (#25640) --- var/spack/repos/builtin/packages/acl/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/acl/package.py b/var/spack/repos/builtin/packages/acl/package.py index eda6ad84e8a..3c8c1726008 100644 --- a/var/spack/repos/builtin/packages/acl/package.py +++ b/var/spack/repos/builtin/packages/acl/package.py @@ -10,7 +10,7 @@ class Acl(AutotoolsPackage): """Commands for Manipulating POSIX Access Control Lists.""" homepage = "https://savannah.nongnu.org/projects/acl" - url = "http://git.savannah.nongnu.org/cgit/acl.git/snapshot/acl-2.2.53.tar.gz" + url = "https://git.savannah.nongnu.org/cgit/acl.git/snapshot/acl-2.2.53.tar.gz" version('2.2.53', sha256='9e905397ac10d06768c63edd0579c34b8431555f2ea8e8f2cee337b31f856805') version('2.2.52', sha256='f3f31d2229c903184ff877aa0ee658b87ec20fec8aebb51e65eaa68d7b24e629') From 1d4e00a9ff59b0907555ba4eee58b10f07ca118f Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Thu, 26 Aug 2021 16:51:57 -0700 Subject: [PATCH 346/414] activeharmony: Switch to https (#25641) --- var/spack/repos/builtin/packages/activeharmony/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/activeharmony/package.py b/var/spack/repos/builtin/packages/activeharmony/package.py index 37c08903ab3..92765ff9497 100644 --- a/var/spack/repos/builtin/packages/activeharmony/package.py +++ b/var/spack/repos/builtin/packages/activeharmony/package.py @@ -10,8 +10,8 @@ class Activeharmony(MakefilePackage): """Active Harmony: a framework for auto-tuning (the automated search for 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" + homepage = "https://www.dyninst.org/harmony" + url = "https://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz" version('4.6.0', sha256='9ce5009cfd8e2f4cf5f3536e1fea9993414fc25920fc90d0a2cb56f044787dbb') version('4.5', sha256='31d9990c8dd36724d336707d260aa4d976e11eaa899c4c7cc11f80a56cdac684') From f5d4f5bdaca60f821426fc44f4da8143eacf1bd9 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 26 Aug 2021 18:53:29 -0500 Subject: [PATCH 347/414] py-black: add new version, missing dep (#25629) --- .../builtin/packages/py-black/package.py | 7 +++-- .../builtin/packages/py-tomli/package.py | 26 +++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-tomli/package.py diff --git a/var/spack/repos/builtin/packages/py-black/package.py b/var/spack/repos/builtin/packages/py-black/package.py index 05d8330b56a..872ab07b393 100644 --- a/var/spack/repos/builtin/packages/py-black/package.py +++ b/var/spack/repos/builtin/packages/py-black/package.py @@ -15,6 +15,7 @@ class PyBlack(PythonPackage): homepage = "https://github.com/psf/black" pypi = "black/black-20.8b1.tar.gz" + version('21.7b0', sha256='c8373c6491de9362e39271630b65b964607bc5c79c83783547d76c839b3aa219') version('21.6b0', sha256='dc132348a88d103016726fe360cb9ede02cecf99b76e3660ce6c596be132ce04') version('21.4b0', sha256='915d916c48646dbe8040d5265cff7111421a60a3dfe7f7e07273176a57c24a34') version('20.8b1', sha256='1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea') @@ -30,14 +31,16 @@ class PyBlack(PythonPackage): # Needs setuptools at runtime so that `import pkg_resources` succeeds # See #8843 and #8689 for examples of setuptools added as a runtime dep depends_on('py-setuptools', type=('build', 'run')) + depends_on('py-setuptools-scm', when='@19.10:', type='build') # Translated from black's setup.py: # https://github.com/ambv/black/blob/master/setup.py depends_on('py-click@6.5:', type=('build', 'run')) depends_on('py-click@7.1.2:', when='@20.8b1:', type=('build', 'run')) depends_on('py-attrs@18.1.0:', when='@:20.8b0', type=('build', 'run')) depends_on('py-appdirs', type=('build', 'run')) - depends_on('py-toml@0.9.4:', type=('build', 'run')) - depends_on('py-toml@0.10.1:', when='@20.8b1:', type=('build', 'run')) + depends_on('py-toml@0.9.4:', when='@:19', type=('build', 'run')) + depends_on('py-toml@0.10.1:', when='@20:21.6', type=('build', 'run')) + depends_on('py-tomli@0.2.6:1.999', when='@21.7:', type=('build', 'run')) depends_on('py-typed-ast@1.4.0:', when='@19.10b0:20', type=('build', 'run')) depends_on('py-typed-ast@1.4.2:', when='@21: ^python@:3.7.999', type=('build', 'run')) depends_on('py-regex@2020.1.8:', when='@20.8b0:', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-tomli/package.py b/var/spack/repos/builtin/packages/py-tomli/package.py new file mode 100644 index 00000000000..914e2098a5f --- /dev/null +++ b/var/spack/repos/builtin/packages/py-tomli/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyTomli(Package): + """Tomli is a Python library for parsing TOML. + + Tomli is fully compatible with TOML v1.0.0.""" + + homepage = "https://github.com/hukkin/tomli" + url = "https://pypi.io/packages/py3/t/tomli/tomli-1.2.1-py3-none-any.whl" + + version('1.2.1', sha256='8dd0e9524d6f386271a36b41dbf6c57d8e32fd96fd22b6584679dc569d20899f', expand=False) + + extends('python') + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-pip', type='build') + + def install(self, spec, prefix): + # TODO: figure out how to build with flit + pip = which('pip') + pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix)) From 74389472abb5ed8200c5e83cf5f0775718ee8b4c Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 27 Aug 2021 01:54:58 +0200 Subject: [PATCH 348/414] Make env (de)activate error with -e, -E, -D flags (#25625) * Make sure that spack -e. env activate b and spack -e. env deactivate error * Add a test --- lib/spack/spack/cmd/env.py | 10 ++++++++++ lib/spack/spack/test/cmd/env.py | 23 +++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/lib/spack/spack/cmd/env.py b/lib/spack/spack/cmd/env.py index 75d573f6fef..5d436624bd0 100644 --- a/lib/spack/spack/cmd/env.py +++ b/lib/spack/spack/cmd/env.py @@ -88,6 +88,11 @@ def env_activate(args): ) return 1 + # Error out when -e, -E, -D flags are given, cause they are ambiguous. + if args.env or args.no_env or args.env_dir: + tty.die('Calling spack env activate with --env, --env-dir and --no-env ' + 'is ambiguous') + if ev.exists(env) and not args.dir: spack_env = ev.root(env) short_name = env @@ -137,6 +142,11 @@ def env_deactivate(args): ) return 1 + # Error out when -e, -E, -D flags are given, cause they are ambiguous. + if args.env or args.no_env or args.env_dir: + tty.die('Calling spack env deactivate with --env, --env-dir and --no-env ' + 'is ambiguous') + if 'SPACK_ENV' not in os.environ: tty.die('No environment is currently active.') diff --git a/lib/spack/spack/test/cmd/env.py b/lib/spack/spack/test/cmd/env.py index ea1c6608048..d9d6f5483ce 100644 --- a/lib/spack/spack/test/cmd/env.py +++ b/lib/spack/spack/test/cmd/env.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import glob import os +from argparse import Namespace import pytest from six import StringIO @@ -11,6 +12,7 @@ import llnl.util.filesystem as fs import llnl.util.link_tree +import spack.cmd.env import spack.environment as ev import spack.hash_types as ht import spack.modules @@ -2632,3 +2634,24 @@ def test_query_develop_specs(): assert e.is_develop(Spec('mpich')) assert not e.is_develop(Spec('mpileaks')) + + +@pytest.mark.parametrize('method', [ + spack.cmd.env.env_activate, + spack.cmd.env.env_deactivate +]) +@pytest.mark.parametrize( + 'env,no_env,env_dir', + [ + ('b', False, None), + (None, True, None), + (None, False, 'path/'), + ]) +def test_activation_and_deactiviation_ambiguities(method, env, no_env, env_dir, capsys): + """spack [-e x | -E | -D x/] env [activate | deactivate] y are ambiguous""" + args = Namespace(shell='sh', activate_env='a', + env=env, no_env=no_env, env_dir=env_dir) + with pytest.raises(SystemExit): + method(args) + _, err = capsys.readouterr() + assert 'is ambiguous' in err From d0d6b29c9e22ed8b40b30aed64ca88abeff1b3c2 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Thu, 26 Aug 2021 19:06:27 -0500 Subject: [PATCH 349/414] Incorporate intel-tbb-oneapi package into intel-tbb package (#25613) * Add intel-tbb-oneapi package that does the cmake configure and build. Compare too the intel-oneapi-tbb package which only downloads a script that contains prebuilt binaries. * Rename package intel-tbb-cmake * Incorporate intel-tbb-cmake into intel-tbb package --- .../builtin/packages/intel-tbb/package.py | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py index 89276ec5ca5..5603c282d61 100644 --- a/var/spack/repos/builtin/packages/intel-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-tbb/package.py @@ -11,7 +11,7 @@ from spack import * -class IntelTbb(Package): +class IntelTbb(CMakePackage): """Widely used C++ template library for task parallelism. Intel Threading Building Blocks (Intel TBB) lets you easily write parallel C++ programs that take full advantage of multicore performance, that are @@ -24,6 +24,9 @@ class IntelTbb(Package): # Note: when adding new versions, please check and update the # patches, filters and url_for_version() below as needed. + version('2021.3.0', sha256='8f616561603695bbb83871875d2c6051ea28f8187dbe59299961369904d1d49e') + version('2021.2.0', sha256='cee20b0a71d977416f3e3b4ec643ee4f38cedeb2a9ff015303431dd9d8d79854') + version('2021.1.1', sha256='b182c73caaaabc44ddc5ad13113aca7e453af73c1690e4061f71dfe4935d74e8') version('2020.3', sha256='ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3', preferred=True) version('2020.2', sha256='4804320e1e6cbe3a5421997b52199e3c1a3829b2ecb6489641da4b8e32faf500') @@ -97,7 +100,9 @@ class IntelTbb(Package): # Build and install CMake config files if we're new enough. # CMake support started in 2017.7. - depends_on('cmake@3.0.0:', type='build', when='@2017.7:') + depends_on('cmake@3.1.0:', type='build', when='@2017.7:') + + depends_on('hwloc', when='@2021.1.1:') # Patch for pedantic warnings (#10836). This was fixed in the TBB # source tree in 2019.6. @@ -162,6 +167,7 @@ def url_for_version(self, version): def setup_build_environment(self, env): env.set('OS', platform.system()) + @when('@:2020.3') def coerce_to_spack(self, tbb_build_subdir): for compiler in ["icc", "gcc", "clang"]: fs = glob.glob(join_path(tbb_build_subdir, @@ -179,7 +185,16 @@ def coerce_to_spack(self, tbb_build_subdir): else: of.write(lin) - def install(self, spec, prefix): + @when('@:2020.3') + def cmake(self, spec, prefix): + return + + @when('@:2020.3') + def cmake_args(self): + return + + @when('@:2020.3') + def build(self, spec, prefix): # Deactivate use of RTM with GCC when on an OS with a very old # assembler. if (spec.satisfies('%gcc@4.8.0: os=rhel6') @@ -207,9 +222,6 @@ def install(self, spec, prefix): else: tbb_compiler = "gcc" - mkdirp(prefix) - mkdirp(prefix.lib) - make_opts = [] # Static builds of TBB are enabled by including 'big_iron.inc' file @@ -229,6 +241,11 @@ def install(self, spec, prefix): make_opts.append("compiler={0}".format(tbb_compiler)) make(*make_opts) + @when('@:2020.3') + def install(self, spec, prefix): + mkdirp(prefix) + mkdirp(prefix.lib) + # install headers to {prefix}/include install_tree('include', prefix.include) @@ -254,6 +271,7 @@ def install(self, spec, prefix): with working_dir(join_path(self.stage.source_path, 'cmake')): inspect.getmodule(self).cmake(*cmake_args) + @when('@:2020.3') @run_after('install') def darwin_fix(self): # Replace @rpath in ids with full path @@ -265,3 +283,18 @@ def libs(self): shared = True if '+shared' in self.spec else False return find_libraries( 'libtbb*', root=self.prefix, shared=shared, recursive=True) + + @when('@2021.1.1:') + def cmake_args(self): + spec = self.spec + options = [] + options.append('-DCMAKE_HWLOC_2_INCLUDE_PATH=%s' % + spec['hwloc'].prefix.include) + options.append('-DCMAKE_HWLOC_2_LIBRARY_PATH=%s' % + spec['hwloc'].libs) + options.append('-DTBB_CPF=ON') + options.append('-DTBB_STRICT=OFF') + if spec.variants['cxxstd'].value != 'default': + options.append('-DCMAKE_CXX_STANDARD=%s' % + spec.variants['cxxstd'].value) + return options From c3dabf05f477dd1366f3df0a418466f3e766cd11 Mon Sep 17 00:00:00 2001 From: Vasileios Karakasis Date: Fri, 27 Aug 2021 02:54:59 +0200 Subject: [PATCH 350/414] Add ReFrame 3.8.0 (#25648) --- var/spack/repos/builtin/packages/reframe/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/reframe/package.py b/var/spack/repos/builtin/packages/reframe/package.py index b96015bfe88..090967ace17 100644 --- a/var/spack/repos/builtin/packages/reframe/package.py +++ b/var/spack/repos/builtin/packages/reframe/package.py @@ -24,6 +24,7 @@ class Reframe(Package): maintainers = ['victorusu', 'vkarak'] version('master', branch='master') + version('3.8.0', sha256='b8a0486fd78786606586364968d1e2a4e7fc424d523b12b2c0ea8a227b485e30') version('3.7.3', sha256='52427fbbaa558082b71f73b2b8aea37340584d14dc3b1aca1e9bdd8923fa4c65') version('3.7.2', sha256='b4ba0f0a8788ee43471202d40be43157ec2687ad510c3b02c0869af6c48bb7d0') version('3.7.1', sha256='fb2efc3ad31056156e797f1d4fe705c79d20ebf66472b2144e84d4e2f4b2b125') From 1113705080f8acb1634325b2fcdd0998d75a96fd Mon Sep 17 00:00:00 2001 From: Vanessasaurus <814322+vsoch@users.noreply.github.com> Date: Fri, 27 Aug 2021 01:16:46 -0600 Subject: [PATCH 351/414] adding remainder of issues from repology problems (#25653) some of these are not resolvable in that there is only an http page available, or a page reported as broken is actually ok, or a page has an SSL error that does not prevent one from visiting (and no good replacement) Signed-off-by: vsoch Co-authored-by: vsoch --- var/spack/repos/builtin/packages/ampliconnoise/package.py | 2 +- var/spack/repos/builtin/packages/antlr/package.py | 2 +- var/spack/repos/builtin/packages/arrayfire/package.py | 2 +- var/spack/repos/builtin/packages/at-spi2-atk/package.py | 2 +- var/spack/repos/builtin/packages/at-spi2-core/package.py | 2 +- var/spack/repos/builtin/packages/atop/package.py | 2 +- var/spack/repos/builtin/packages/bbmap/package.py | 2 +- var/spack/repos/builtin/packages/bigreqsproto/package.py | 2 +- var/spack/repos/builtin/packages/blitz/package.py | 2 +- var/spack/repos/builtin/packages/bml/package.py | 2 +- var/spack/repos/builtin/packages/bolt/package.py | 2 +- var/spack/repos/builtin/packages/busco/package.py | 2 +- var/spack/repos/builtin/packages/bwa/package.py | 2 +- var/spack/repos/builtin/packages/cmark/package.py | 2 +- var/spack/repos/builtin/packages/compositeproto/package.py | 2 +- var/spack/repos/builtin/packages/connect-proxy/package.py | 6 ++++-- var/spack/repos/builtin/packages/delta/package.py | 2 +- var/spack/repos/builtin/packages/dsdp/package.py | 2 +- var/spack/repos/builtin/packages/exonerate/package.py | 2 +- var/spack/repos/builtin/packages/fixesproto/package.py | 2 +- var/spack/repos/builtin/packages/font-util/package.py | 2 +- var/spack/repos/builtin/packages/fontsproto/package.py | 2 +- var/spack/repos/builtin/packages/fonttosfnt/package.py | 2 +- var/spack/repos/builtin/packages/g4realsurface/package.py | 2 +- var/spack/repos/builtin/packages/g4saiddata/package.py | 2 +- var/spack/repos/builtin/packages/gdk-pixbuf/package.py | 2 +- var/spack/repos/builtin/packages/hwloc/package.py | 2 +- var/spack/repos/builtin/packages/iceauth/package.py | 2 +- var/spack/repos/builtin/packages/igraph/package.py | 2 +- var/spack/repos/builtin/packages/ilmbase/package.py | 2 +- var/spack/repos/builtin/packages/inputproto/package.py | 2 +- var/spack/repos/builtin/packages/libcerf/package.py | 2 +- var/spack/repos/builtin/packages/libdmx/package.py | 2 +- var/spack/repos/builtin/packages/libevdev/package.py | 2 +- var/spack/repos/builtin/packages/libfs/package.py | 2 +- var/spack/repos/builtin/packages/libice/package.py | 2 +- var/spack/repos/builtin/packages/libmng/package.py | 2 +- var/spack/repos/builtin/packages/libsm/package.py | 2 +- var/spack/repos/builtin/packages/libxaw/package.py | 2 +- var/spack/repos/builtin/packages/libxcomposite/package.py | 2 +- var/spack/repos/builtin/packages/libxcursor/package.py | 2 +- var/spack/repos/builtin/packages/libxdamage/package.py | 2 +- var/spack/repos/builtin/packages/libxdmcp/package.py | 2 +- var/spack/repos/builtin/packages/libxext/package.py | 2 +- var/spack/repos/builtin/packages/libxfixes/package.py | 2 +- var/spack/repos/builtin/packages/libxfont/package.py | 2 +- var/spack/repos/builtin/packages/libxfont2/package.py | 2 +- var/spack/repos/builtin/packages/libxfontcache/package.py | 2 +- var/spack/repos/builtin/packages/libxft/package.py | 2 +- var/spack/repos/builtin/packages/libxi/package.py | 2 +- var/spack/repos/builtin/packages/libxinerama/package.py | 2 +- var/spack/repos/builtin/packages/libxmu/package.py | 2 +- var/spack/repos/builtin/packages/libxpm/package.py | 2 +- var/spack/repos/builtin/packages/libxrandr/package.py | 2 +- var/spack/repos/builtin/packages/libxrender/package.py | 2 +- var/spack/repos/builtin/packages/libxres/package.py | 2 +- var/spack/repos/builtin/packages/libxscrnsaver/package.py | 2 +- var/spack/repos/builtin/packages/libxt/package.py | 2 +- var/spack/repos/builtin/packages/libxtst/package.py | 2 +- var/spack/repos/builtin/packages/libxv/package.py | 2 +- var/spack/repos/builtin/packages/libxxf86dga/package.py | 2 +- var/spack/repos/builtin/packages/libxxf86vm/package.py | 2 +- var/spack/repos/builtin/packages/libzmq/package.py | 2 +- var/spack/repos/builtin/packages/luit/package.py | 2 +- var/spack/repos/builtin/packages/mafft/package.py | 2 +- var/spack/repos/builtin/packages/mira/package.py | 2 +- var/spack/repos/builtin/packages/mkfontscale/package.py | 2 +- var/spack/repos/builtin/packages/nauty/package.py | 2 +- var/spack/repos/builtin/packages/of-precice/package.py | 2 +- var/spack/repos/builtin/packages/openpmd-api/package.py | 2 +- var/spack/repos/builtin/packages/petsc/package.py | 2 +- var/spack/repos/builtin/packages/pplacer/package.py | 2 +- var/spack/repos/builtin/packages/pvm/package.py | 2 +- var/spack/repos/builtin/packages/py-biopython/package.py | 2 +- var/spack/repos/builtin/packages/py-pyrsistent/package.py | 2 +- .../repos/builtin/packages/py-python-igraph/package.py | 2 +- var/spack/repos/builtin/packages/py-zope-event/package.py | 2 +- var/spack/repos/builtin/packages/r-amelia/package.py | 2 +- var/spack/repos/builtin/packages/r-biasedurn/package.py | 2 +- var/spack/repos/builtin/packages/r-europepmc/package.py | 2 +- var/spack/repos/builtin/packages/r-expm/package.py | 2 +- var/spack/repos/builtin/packages/r-forcats/package.py | 2 +- var/spack/repos/builtin/packages/r-ggplot2/package.py | 2 +- var/spack/repos/builtin/packages/r-ggrepel/package.py | 2 +- var/spack/repos/builtin/packages/r-ggvis/package.py | 2 +- var/spack/repos/builtin/packages/r-haven/package.py | 2 +- var/spack/repos/builtin/packages/r-hexbin/package.py | 2 +- var/spack/repos/builtin/packages/r-igraph/package.py | 2 +- var/spack/repos/builtin/packages/r-intervals/package.py | 2 +- var/spack/repos/builtin/packages/r-maptools/package.py | 2 +- var/spack/repos/builtin/packages/r-marray/package.py | 2 +- var/spack/repos/builtin/packages/r-phytools/package.py | 2 +- var/spack/repos/builtin/packages/r-purrr/package.py | 2 +- var/spack/repos/builtin/packages/r-qtl/package.py | 2 +- var/spack/repos/builtin/packages/r-readxl/package.py | 2 +- var/spack/repos/builtin/packages/r-rgexf/package.py | 2 +- var/spack/repos/builtin/packages/r-rmarkdown/package.py | 2 +- var/spack/repos/builtin/packages/r-rstantools/package.py | 2 +- var/spack/repos/builtin/packages/r-seurat/package.py | 2 +- var/spack/repos/builtin/packages/r-shiny/package.py | 2 +- var/spack/repos/builtin/packages/r-spacetime/package.py | 2 +- .../repos/builtin/packages/r-splitstackshape/package.py | 2 +- var/spack/repos/builtin/packages/r-tidyverse/package.py | 2 +- var/spack/repos/builtin/packages/r-upsetr/package.py | 2 +- var/spack/repos/builtin/packages/r-xts/package.py | 2 +- var/spack/repos/builtin/packages/randrproto/package.py | 2 +- var/spack/repos/builtin/packages/rasqal/package.py | 2 +- var/spack/repos/builtin/packages/recordproto/package.py | 2 +- var/spack/repos/builtin/packages/renderproto/package.py | 2 +- var/spack/repos/builtin/packages/resourceproto/package.py | 2 +- var/spack/repos/builtin/packages/scrnsaverproto/package.py | 2 +- var/spack/repos/builtin/packages/setxkbmap/package.py | 2 +- var/spack/repos/builtin/packages/smartmontools/package.py | 2 +- var/spack/repos/builtin/packages/twm/package.py | 2 +- var/spack/repos/builtin/packages/util-macros/package.py | 2 +- var/spack/repos/builtin/packages/videoproto/package.py | 2 +- var/spack/repos/builtin/packages/xauth/package.py | 2 +- var/spack/repos/builtin/packages/xbacklight/package.py | 2 +- var/spack/repos/builtin/packages/xcalc/package.py | 2 +- var/spack/repos/builtin/packages/xclock/package.py | 2 +- var/spack/repos/builtin/packages/xcmiscproto/package.py | 2 +- var/spack/repos/builtin/packages/xcompmgr/package.py | 2 +- var/spack/repos/builtin/packages/xcursor-themes/package.py | 2 +- var/spack/repos/builtin/packages/xdm/package.py | 2 +- var/spack/repos/builtin/packages/xdpyinfo/package.py | 2 +- var/spack/repos/builtin/packages/xdriinfo/package.py | 2 +- var/spack/repos/builtin/packages/xev/package.py | 2 +- var/spack/repos/builtin/packages/xextproto/package.py | 2 +- var/spack/repos/builtin/packages/xeyes/package.py | 2 +- var/spack/repos/builtin/packages/xhost/package.py | 2 +- var/spack/repos/builtin/packages/xinput/package.py | 2 +- var/spack/repos/builtin/packages/xmessage/package.py | 2 +- var/spack/repos/builtin/packages/xmore/package.py | 2 +- var/spack/repos/builtin/packages/xorg-cf-files/package.py | 2 +- var/spack/repos/builtin/packages/xorg-docs/package.py | 2 +- var/spack/repos/builtin/packages/xorg-server/package.py | 2 +- var/spack/repos/builtin/packages/xrandr/package.py | 2 +- var/spack/repos/builtin/packages/xrdb/package.py | 2 +- var/spack/repos/builtin/packages/xset/package.py | 2 +- var/spack/repos/builtin/packages/xsetroot/package.py | 2 +- var/spack/repos/builtin/packages/xsimd/package.py | 2 +- var/spack/repos/builtin/packages/xtensor/package.py | 2 +- var/spack/repos/builtin/packages/xtrans/package.py | 2 +- var/spack/repos/builtin/packages/yorick/package.py | 2 +- 144 files changed, 147 insertions(+), 145 deletions(-) diff --git a/var/spack/repos/builtin/packages/ampliconnoise/package.py b/var/spack/repos/builtin/packages/ampliconnoise/package.py index 0ac85a33e92..42b04067b4e 100644 --- a/var/spack/repos/builtin/packages/ampliconnoise/package.py +++ b/var/spack/repos/builtin/packages/ampliconnoise/package.py @@ -10,7 +10,7 @@ class Ampliconnoise(MakefilePackage): """AmpliconNoise is a collection of programs for the removal of noise from 454 sequenced PCR amplicons.""" - homepage = "https://code.google.com/archive/p/ampliconnoise/" + homepage = "https://directory.fsf.org/wiki/AmpliconNoise" url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ampliconnoise/AmpliconNoiseV1.29.tar.gz" version('1.29', sha256='0bf946806d77ecaf0994ad8ebf9a5e98ad33c809f6def5c9340a16c367918167') diff --git a/var/spack/repos/builtin/packages/antlr/package.py b/var/spack/repos/builtin/packages/antlr/package.py index d0b75d83ac0..e295c41f4af 100644 --- a/var/spack/repos/builtin/packages/antlr/package.py +++ b/var/spack/repos/builtin/packages/antlr/package.py @@ -13,7 +13,7 @@ class Antlr(AutotoolsPackage): frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees.""" - homepage = "http://www.antlr2.org/" + homepage = "https://www.antlr2.org/" url = "http://www.antlr2.org/download/antlr-2.7.7.tar.gz" version('2.7.7', sha256='853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9') diff --git a/var/spack/repos/builtin/packages/arrayfire/package.py b/var/spack/repos/builtin/packages/arrayfire/package.py index 0315dffadc8..01729eff2d4 100644 --- a/var/spack/repos/builtin/packages/arrayfire/package.py +++ b/var/spack/repos/builtin/packages/arrayfire/package.py @@ -11,7 +11,7 @@ class Arrayfire(CMakePackage, CudaPackage): with an easy-to-use API. Its array based function set makes parallel programming more accessible.""" - homepage = "http://arrayfire.org/docs/index.htm" + homepage = "https://arrayfire.org/docs/index.htm" git = "https://github.com/arrayfire/arrayfire.git" version('master', submodules=True) diff --git a/var/spack/repos/builtin/packages/at-spi2-atk/package.py b/var/spack/repos/builtin/packages/at-spi2-atk/package.py index baa6fb5b107..fdc834bc51a 100644 --- a/var/spack/repos/builtin/packages/at-spi2-atk/package.py +++ b/var/spack/repos/builtin/packages/at-spi2-atk/package.py @@ -10,7 +10,7 @@ class AtSpi2Atk(MesonPackage): """The At-Spi2 Atk package contains a library that bridges ATK to At-Spi2 D-Bus service.""" - homepage = "http://www.linuxfromscratch.org/blfs/view/cvs/x/at-spi2-atk.html" + homepage = "https://www.linuxfromscratch.org/blfs/view/cvs/x/at-spi2-atk.html" url = "http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/2.26/at-spi2-atk-2.26.1.tar.xz" list_url = "http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/at-spi2-core/package.py b/var/spack/repos/builtin/packages/at-spi2-core/package.py index 96cb9b9197b..4d6494b54e2 100644 --- a/var/spack/repos/builtin/packages/at-spi2-core/package.py +++ b/var/spack/repos/builtin/packages/at-spi2-core/package.py @@ -11,7 +11,7 @@ class AtSpi2Core(MesonPackage): Assistive Technologies available on the GNOME platform and a library against which applications can be linked.""" - homepage = "http://www.linuxfromscratch.org/blfs/view/cvs/x/at-spi2-core.html" + homepage = "https://www.linuxfromscratch.org/blfs/view/cvs/x/at-spi2-core.html" url = "http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.28/at-spi2-core-2.38.0.tar.xz" list_url = "http://ftp.gnome.org/pub/gnome/sources/at-spi2-core" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/atop/package.py b/var/spack/repos/builtin/packages/atop/package.py index 75108faf0ad..fb22f272c65 100644 --- a/var/spack/repos/builtin/packages/atop/package.py +++ b/var/spack/repos/builtin/packages/atop/package.py @@ -8,7 +8,7 @@ class Atop(Package): """Atop is an ASCII full-screen performance monitor for Linux""" - homepage = "http://www.atoptool.nl/index.php" + homepage = "https://www.atoptool.nl/index.php" url = "http://www.atoptool.nl/download/atop-2.2-3.tar.gz" version('2.5.0', sha256='4b911057ce50463b6e8b3016c5963d48535c0cddeebc6eda817e292b22f93f33') diff --git a/var/spack/repos/builtin/packages/bbmap/package.py b/var/spack/repos/builtin/packages/bbmap/package.py index 1e420bf75c2..a16ed8feb9b 100644 --- a/var/spack/repos/builtin/packages/bbmap/package.py +++ b/var/spack/repos/builtin/packages/bbmap/package.py @@ -9,7 +9,7 @@ class Bbmap(Package, SourceforgePackage): """Short read aligner for DNA and RNA-seq data.""" - homepage = "http://sourceforge.net/projects/bbmap/" + homepage = "https://sourceforge.net/projects/bbmap/" sourceforge_mirror_path = "bbmap/BBMap_38.63.tar.gz" version('38.63', sha256='089064104526c8d696164aefa067f935b888bc71ef95527c72a98c17ee90a01f') diff --git a/var/spack/repos/builtin/packages/bigreqsproto/package.py b/var/spack/repos/builtin/packages/bigreqsproto/package.py index 340b463c1d0..894686f038e 100644 --- a/var/spack/repos/builtin/packages/bigreqsproto/package.py +++ b/var/spack/repos/builtin/packages/bigreqsproto/package.py @@ -12,7 +12,7 @@ class Bigreqsproto(AutotoolsPackage, XorgPackage): This extension defines a protocol to enable the use of requests that exceed 262140 bytes in length.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/bigreqsproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/bigreqsproto" xorg_mirror_path = "proto/bigreqsproto-1.1.2.tar.gz" version('1.1.2', sha256='de68a1a9dd1a1219ad73531bff9f662bc62fcd777387549c43cd282399f4a6ea') diff --git a/var/spack/repos/builtin/packages/blitz/package.py b/var/spack/repos/builtin/packages/blitz/package.py index d44df205fe8..3003cc0e0c7 100644 --- a/var/spack/repos/builtin/packages/blitz/package.py +++ b/var/spack/repos/builtin/packages/blitz/package.py @@ -8,7 +8,7 @@ class Blitz(AutotoolsPackage): """N-dimensional arrays for C++""" - homepage = "http://github.com/blitzpp/blitz" + homepage = "https://github.com/blitzpp/blitz" url = "https://github.com/blitzpp/blitz/archive/1.0.2.tar.gz" version('1.0.2', sha256='500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2') diff --git a/var/spack/repos/builtin/packages/bml/package.py b/var/spack/repos/builtin/packages/bml/package.py index b3c021315b4..d7ec3678f9a 100644 --- a/var/spack/repos/builtin/packages/bml/package.py +++ b/var/spack/repos/builtin/packages/bml/package.py @@ -11,7 +11,7 @@ class Bml(CMakePackage): formats (in dense and sparse) and their associated algorithms for basic matrix operations.""" - homepage = "http://lanl.github.io/bml/" + homepage = "https://lanl.github.io/bml/" url = "https://github.com/lanl/bml/tarball/v1.2.2" git = "https://github.com/lanl/bml.git" diff --git a/var/spack/repos/builtin/packages/bolt/package.py b/var/spack/repos/builtin/packages/bolt/package.py index 3b7b775ca31..554c183f206 100644 --- a/var/spack/repos/builtin/packages/bolt/package.py +++ b/var/spack/repos/builtin/packages/bolt/package.py @@ -19,7 +19,7 @@ class Bolt(CMakePackage): runtime in LLVM, and thus it can be used with LLVM/Clang, Intel OpenMP compiler, and GCC.""" - homepage = "http://www.bolt-omp.org/" + homepage = "https://www.bolt-omp.org/" url = "https://github.com/pmodels/bolt/releases/download/v1.0b1/bolt-1.0b1.tar.gz" git = "https://github.com/pmodels/bolt.git" maintainers = ['shintaro-iwasaki'] diff --git a/var/spack/repos/builtin/packages/busco/package.py b/var/spack/repos/builtin/packages/busco/package.py index 67c50411fa9..e4124072d3d 100644 --- a/var/spack/repos/builtin/packages/busco/package.py +++ b/var/spack/repos/builtin/packages/busco/package.py @@ -10,7 +10,7 @@ class Busco(PythonPackage): """Assesses genome assembly and annotation completeness with Benchmarking Universal Single-Copy Orthologs""" - homepage = "http://busco.ezlab.org/" + homepage = "https://busco.ezlab.org/" url = "https://gitlab.com/api/v4/projects/ezlab%2Fbusco/repository/archive.tar.gz?sha=2.0.1" git = "https://gitlab.com/ezlab/busco.git" diff --git a/var/spack/repos/builtin/packages/bwa/package.py b/var/spack/repos/builtin/packages/bwa/package.py index 03bd1a6302e..3ba4befded9 100644 --- a/var/spack/repos/builtin/packages/bwa/package.py +++ b/var/spack/repos/builtin/packages/bwa/package.py @@ -11,7 +11,7 @@ class Bwa(Package): """Burrow-Wheeler Aligner for pairwise alignment between DNA sequences.""" - homepage = "http://github.com/lh3/bwa" + homepage = "https://github.com/lh3/bwa" url = "https://github.com/lh3/bwa/releases/download/v0.7.15/bwa-0.7.15.tar.bz2" version('0.7.17', sha256='de1b4d4e745c0b7fc3e107b5155a51ac063011d33a5d82696331ecf4bed8d0fd') diff --git a/var/spack/repos/builtin/packages/cmark/package.py b/var/spack/repos/builtin/packages/cmark/package.py index 392087fcb81..4d9e71d6b40 100644 --- a/var/spack/repos/builtin/packages/cmark/package.py +++ b/var/spack/repos/builtin/packages/cmark/package.py @@ -10,7 +10,7 @@ class Cmark(CMakePackage): """cmark is the C reference implementation of CommonMark, a rationalized version of Markdown syntax with a spec.""" - homepage = "http://commonmark.org/" + homepage = "https://commonmark.org/" url = "https://github.com/commonmark/cmark/archive/0.29.0.tar.gz" version('0.29.0', sha256='2558ace3cbeff85610de3bda32858f722b359acdadf0c4691851865bb84924a6') diff --git a/var/spack/repos/builtin/packages/compositeproto/package.py b/var/spack/repos/builtin/packages/compositeproto/package.py index 18c4300f60c..d48917a324d 100644 --- a/var/spack/repos/builtin/packages/compositeproto/package.py +++ b/var/spack/repos/builtin/packages/compositeproto/package.py @@ -12,7 +12,7 @@ class Compositeproto(AutotoolsPackage, XorgPackage): This package contains header files and documentation for the composite extension. Library and server implementations are separate.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/compositeproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/compositeproto" xorg_mirror_path = "proto/compositeproto-0.4.2.tar.gz" version('0.4.2', sha256='22195b7e50036440b1c6b3b2d63eb03dfa6e71c8a1263ed1f07b0f31ae7dad50') diff --git a/var/spack/repos/builtin/packages/connect-proxy/package.py b/var/spack/repos/builtin/packages/connect-proxy/package.py index 390663989e4..49ef895e5f1 100644 --- a/var/spack/repos/builtin/packages/connect-proxy/package.py +++ b/var/spack/repos/builtin/packages/connect-proxy/package.py @@ -8,9 +8,11 @@ class ConnectProxy(MakefilePackage): """`connect.c` is a simple relaying command to make network connection - via SOCKS and https proxy""" + via SOCKS and https proxy. The original docs are https://bitbucket.org/gotoh/connect + are now 404, so the manpage is provided instead. + """ - homepage = "https://bitbucket.org/gotoh/connect" + homepage = "https://manpages.debian.org/testing/connect-proxy/connect-proxy.1.en.html" url = "https://bitbucket.org/gotoh/connect/get/1.105.tar.bz2" version('1.105', sha256='07366026b1f81044ecd8da9b5b5b51321327ecdf6ba23576271a311bbd69d403') diff --git a/var/spack/repos/builtin/packages/delta/package.py b/var/spack/repos/builtin/packages/delta/package.py index 588b26b2d83..9106af69427 100644 --- a/var/spack/repos/builtin/packages/delta/package.py +++ b/var/spack/repos/builtin/packages/delta/package.py @@ -10,7 +10,7 @@ class Delta(Package): """Delta Lake is a storage layer that brings scalable, ACID transactions to Apache Spark and other big-data engines.""" - homepage = "http://delta.io/" + homepage = "https://delta.io/" url = "https://github.com/delta-io/delta/archive/v0.7.0.tar.gz" version('0.7.0', sha256='1fb01e36c1cf670f201c615e5fd7df88f72c27157b7d2780d146e21b266bdb64') diff --git a/var/spack/repos/builtin/packages/dsdp/package.py b/var/spack/repos/builtin/packages/dsdp/package.py index 0d146166025..c13f2f5f20b 100644 --- a/var/spack/repos/builtin/packages/dsdp/package.py +++ b/var/spack/repos/builtin/packages/dsdp/package.py @@ -16,7 +16,7 @@ class Dsdp(MakefilePackage): allows feasible and infeasible starting points and provides approximate certificates of infeasibility when no feasible solution exists.""" - homepage = "http://www.mcs.anl.gov/hs/software/DSDP/" + homepage = "https://www.mcs.anl.gov/hs/software/DSDP/" url = "http://www.mcs.anl.gov/hs/software/DSDP/DSDP5.8.tar.gz" version('5.8', sha256='26aa624525a636de272c0b329e2dfd01a0d5b7827f1c1c76f393d71e37dead70') diff --git a/var/spack/repos/builtin/packages/exonerate/package.py b/var/spack/repos/builtin/packages/exonerate/package.py index edb6936c912..53dc7e6bdcb 100644 --- a/var/spack/repos/builtin/packages/exonerate/package.py +++ b/var/spack/repos/builtin/packages/exonerate/package.py @@ -9,7 +9,7 @@ class Exonerate(AutotoolsPackage): """Pairwise sequence alignment of DNA and proteins""" - homepage = "http://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate" + homepage = "https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate" url = "http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/exonerate-2.4.0.tar.gz" version('2.4.0', sha256='f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042') diff --git a/var/spack/repos/builtin/packages/fixesproto/package.py b/var/spack/repos/builtin/packages/fixesproto/package.py index 1837d90fd29..4c381346767 100644 --- a/var/spack/repos/builtin/packages/fixesproto/package.py +++ b/var/spack/repos/builtin/packages/fixesproto/package.py @@ -13,7 +13,7 @@ class Fixesproto(AutotoolsPackage, XorgPackage): issues raised by application interaction with core protocol mechanisms that cannot be adequately worked around on the client side of the wire.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/fixesproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/fixesproto" xorg_mirror_path = "proto/fixesproto-5.0.tar.gz" version('5.0', sha256='67865a0e3cdc7dec1fd676f0927f7011ad4036c18eb320a2b41dbd56282f33b8') diff --git a/var/spack/repos/builtin/packages/font-util/package.py b/var/spack/repos/builtin/packages/font-util/package.py index 07b18b1f76c..f9614e1ede5 100644 --- a/var/spack/repos/builtin/packages/font-util/package.py +++ b/var/spack/repos/builtin/packages/font-util/package.py @@ -9,7 +9,7 @@ class FontUtil(AutotoolsPackage, XorgPackage): """X.Org font package creation/installation utilities and fonts.""" - homepage = "http://cgit.freedesktop.org/xorg/font/util" + homepage = "https://cgit.freedesktop.org/xorg/font/util" xorg_mirror_path = "font/font-util-1.3.1.tar.gz" version('1.3.2', sha256='f115a3735604de1e852a4bf669be0269d8ce8f21f8e0e74ec5934b31dadc1e76') diff --git a/var/spack/repos/builtin/packages/fontsproto/package.py b/var/spack/repos/builtin/packages/fontsproto/package.py index 0ed73a0f71d..ff471243bd5 100644 --- a/var/spack/repos/builtin/packages/fontsproto/package.py +++ b/var/spack/repos/builtin/packages/fontsproto/package.py @@ -9,7 +9,7 @@ class Fontsproto(AutotoolsPackage, XorgPackage): """X Fonts Extension.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/fontsproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/fontsproto" xorg_mirror_path = "proto/fontsproto-2.1.3.tar.gz" version('2.1.3', sha256='72c44e63044b2b66f6fa112921621ecc20c71193982de4f198d9a29cda385c5e') diff --git a/var/spack/repos/builtin/packages/fonttosfnt/package.py b/var/spack/repos/builtin/packages/fonttosfnt/package.py index 7fa4820978a..c9b76544b11 100644 --- a/var/spack/repos/builtin/packages/fonttosfnt/package.py +++ b/var/spack/repos/builtin/packages/fonttosfnt/package.py @@ -9,7 +9,7 @@ class Fonttosfnt(AutotoolsPackage, XorgPackage): """Wrap a bitmap font in a sfnt (TrueType) wrapper.""" - homepage = "http://cgit.freedesktop.org/xorg/app/fonttosfnt" + homepage = "https://cgit.freedesktop.org/xorg/app/fonttosfnt" xorg_mirror_path = "app/fonttosfnt-1.0.4.tar.gz" version('1.0.4', sha256='3873636be5b3b8e4160070e8f9a7a9221b5bd5efbf740d7abaa9092e10732673') diff --git a/var/spack/repos/builtin/packages/g4realsurface/package.py b/var/spack/repos/builtin/packages/g4realsurface/package.py index ee866258988..3c69010c24e 100644 --- a/var/spack/repos/builtin/packages/g4realsurface/package.py +++ b/var/spack/repos/builtin/packages/g4realsurface/package.py @@ -9,7 +9,7 @@ class G4realsurface(Package): """Geant4 data for measured optical surface reflectance""" - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/RealSurface.1.0.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/g4saiddata/package.py b/var/spack/repos/builtin/packages/g4saiddata/package.py index 6b6a8da546f..12084cf5d13 100644 --- a/var/spack/repos/builtin/packages/g4saiddata/package.py +++ b/var/spack/repos/builtin/packages/g4saiddata/package.py @@ -9,7 +9,7 @@ class G4saiddata(Package): """Geant4 data from evaluated cross-sections in SAID data-base """ - homepage = "http://geant4.web.cern.ch" + homepage = "https://geant4.web.cern.ch" url = "http://geant4-data.web.cern.ch/geant4-data/datasets/G4SAIDDATA.1.1.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py index 0a9492653a9..7f4fa885273 100644 --- a/var/spack/repos/builtin/packages/gdk-pixbuf/package.py +++ b/var/spack/repos/builtin/packages/gdk-pixbuf/package.py @@ -13,7 +13,7 @@ class GdkPixbuf(Package): GTK+ 2 but it was split off into a separate package in preparation for the change to GTK+ 3.""" - homepage = "https://developer.gnome.org/gdk-pixbuf/" + homepage = "https://gitlab.gnome.org/GNOME/gdk-pixbuf" 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 diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py index 78bfb2252f2..d3b1fe2ca80 100644 --- a/var/spack/repos/builtin/packages/hwloc/package.py +++ b/var/spack/repos/builtin/packages/hwloc/package.py @@ -21,7 +21,7 @@ class Hwloc(AutotoolsPackage): efficiently. """ - homepage = "http://www.open-mpi.org/projects/hwloc/" + homepage = "https://www.open-mpi.org/projects/hwloc/" url = "https://download.open-mpi.org/release/hwloc/v2.0/hwloc-2.0.2.tar.gz" list_url = "http://www.open-mpi.org/software/hwloc/" list_depth = 2 diff --git a/var/spack/repos/builtin/packages/iceauth/package.py b/var/spack/repos/builtin/packages/iceauth/package.py index 18f1c5ad24d..cd206ff8d46 100644 --- a/var/spack/repos/builtin/packages/iceauth/package.py +++ b/var/spack/repos/builtin/packages/iceauth/package.py @@ -11,7 +11,7 @@ class Iceauth(AutotoolsPackage, XorgPackage): information used in connecting with ICE. It operates very much like the xauth program for X11 connection authentication records.""" - homepage = "http://cgit.freedesktop.org/xorg/app/iceauth" + homepage = "https://cgit.freedesktop.org/xorg/app/iceauth" xorg_mirror_path = "app/iceauth-1.0.7.tar.gz" version('1.0.7', sha256='6c9706cce276609876e768759ed4ee3b447cd17af4a61f9b5a374c7dda9696d8') diff --git a/var/spack/repos/builtin/packages/igraph/package.py b/var/spack/repos/builtin/packages/igraph/package.py index 13a31cc7739..84b2f75fe4f 100644 --- a/var/spack/repos/builtin/packages/igraph/package.py +++ b/var/spack/repos/builtin/packages/igraph/package.py @@ -9,7 +9,7 @@ class Igraph(AutotoolsPackage): """igraph is a library for creating and manipulating graphs.""" - homepage = "http://igraph.org/" + homepage = "https://igraph.org/" url = "https://github.com/igraph/igraph/releases/download/0.7.1/igraph-0.7.1.tar.gz" version('0.7.1', sha256='d978030e27369bf698f3816ab70aa9141e9baf81c56cc4f55efbe5489b46b0df') diff --git a/var/spack/repos/builtin/packages/ilmbase/package.py b/var/spack/repos/builtin/packages/ilmbase/package.py index 940bdb41ef1..13c3f2f11b8 100644 --- a/var/spack/repos/builtin/packages/ilmbase/package.py +++ b/var/spack/repos/builtin/packages/ilmbase/package.py @@ -9,7 +9,7 @@ class Ilmbase(AutotoolsPackage): """OpenEXR ILM Base libraries (high dynamic-range image file format)""" - homepage = "http://www.openexr.com/" + homepage = "https://www.openexr.com/" url = "https://github.com/openexr/openexr/releases/download/v2.3.0/ilmbase-2.3.0.tar.gz" version('2.3.0', sha256='456978d1a978a5f823c7c675f3f36b0ae14dba36638aeaa3c4b0e784f12a3862') diff --git a/var/spack/repos/builtin/packages/inputproto/package.py b/var/spack/repos/builtin/packages/inputproto/package.py index a2c3d57785c..f73303c8e3b 100644 --- a/var/spack/repos/builtin/packages/inputproto/package.py +++ b/var/spack/repos/builtin/packages/inputproto/package.py @@ -12,7 +12,7 @@ class Inputproto(AutotoolsPackage, XorgPackage): This extension defines a protocol to provide additional input devices management such as graphic tablets.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/inputproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/inputproto" xorg_mirror_path = "proto/inputproto-2.3.2.tar.gz" version('2.3.2', sha256='10eaadd531f38f7c92ab59ef0708ca195caf3164a75c4ed99f0c04f2913f6ef3') diff --git a/var/spack/repos/builtin/packages/libcerf/package.py b/var/spack/repos/builtin/packages/libcerf/package.py index 58170ad5ba6..66afa4ad434 100644 --- a/var/spack/repos/builtin/packages/libcerf/package.py +++ b/var/spack/repos/builtin/packages/libcerf/package.py @@ -13,7 +13,7 @@ class Libcerf(AutotoolsPackage, SourceforgePackage): integral and Voigt's convolution of a Gaussian and a Lorentzian """ - homepage = "http://sourceforge.net/projects/libcerf" + homepage = "https://sourceforge.net/projects/libcerf" sourceforge_mirror_path = "libcerf/libcerf-1.3.tgz" version('1.3', sha256='d7059e923d3f370c89fb4d19ed4f827d381bc3f0e36da5595a04aeaaf3e6a859') diff --git a/var/spack/repos/builtin/packages/libdmx/package.py b/var/spack/repos/builtin/packages/libdmx/package.py index 0a16e2238ee..757b5aca61e 100644 --- a/var/spack/repos/builtin/packages/libdmx/package.py +++ b/var/spack/repos/builtin/packages/libdmx/package.py @@ -10,7 +10,7 @@ class Libdmx(AutotoolsPackage, XorgPackage): """libdmx - X Window System DMX (Distributed Multihead X) extension library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libdmx" + homepage = "https://cgit.freedesktop.org/xorg/lib/libdmx" xorg_mirror_path = "lib/libdmx-1.1.3.tar.gz" version('1.1.3', sha256='c4b24d7e13e5a67ead7a18f0b4cc9b7b5363c9d04cd01b83b5122ff92b3b4996') diff --git a/var/spack/repos/builtin/packages/libevdev/package.py b/var/spack/repos/builtin/packages/libevdev/package.py index 530f9aeaeb1..94e7f4484cd 100644 --- a/var/spack/repos/builtin/packages/libevdev/package.py +++ b/var/spack/repos/builtin/packages/libevdev/package.py @@ -11,7 +11,7 @@ class Libevdev(AutotoolsPackage): tasks when dealing with evdev devices into a library and provides a library interface to the callers, thus avoiding erroneous ioctls, etc.""" - homepage = "http://cgit.freedesktop.org/libevdev" + homepage = "https://cgit.freedesktop.org/libevdev" url = "https://github.com/whot/libevdev/archive/libevdev-1.5.4.tar.gz" version('1.5.4', sha256='11ef3510970c049b0e30985be3149d27b4b36b7cbe14ca678746aac1ca86744d') diff --git a/var/spack/repos/builtin/packages/libfs/package.py b/var/spack/repos/builtin/packages/libfs/package.py index 460058d90d1..241892d86c5 100644 --- a/var/spack/repos/builtin/packages/libfs/package.py +++ b/var/spack/repos/builtin/packages/libfs/package.py @@ -12,7 +12,7 @@ class Libfs(AutotoolsPackage, XorgPackage): This library is used by clients of X Font Servers (xfs), such as xfsinfo, fslsfonts, and the X servers themselves.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libFS" + homepage = "https://cgit.freedesktop.org/xorg/lib/libFS" xorg_mirror_path = "lib/libFS-1.0.7.tar.gz" version('1.0.7', sha256='91bf1c5ce4115b7dbf4e314fdbee54052708e8f7b6a2ec6e82c309bcbe40ef3d') diff --git a/var/spack/repos/builtin/packages/libice/package.py b/var/spack/repos/builtin/packages/libice/package.py index bb210343bf4..967f4268f91 100644 --- a/var/spack/repos/builtin/packages/libice/package.py +++ b/var/spack/repos/builtin/packages/libice/package.py @@ -9,7 +9,7 @@ class Libice(AutotoolsPackage, XorgPackage): """libICE - Inter-Client Exchange Library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libICE" + homepage = "https://cgit.freedesktop.org/xorg/lib/libICE" xorg_mirror_path = "lib/libICE-1.0.9.tar.gz" version('1.0.9', sha256='7812a824a66dd654c830d21982749b3b563d9c2dfe0b88b203cefc14a891edc0') diff --git a/var/spack/repos/builtin/packages/libmng/package.py b/var/spack/repos/builtin/packages/libmng/package.py index 47b447ad934..7eb08206b3d 100644 --- a/var/spack/repos/builtin/packages/libmng/package.py +++ b/var/spack/repos/builtin/packages/libmng/package.py @@ -10,7 +10,7 @@ class Libmng(CMakePackage): """THE reference library for reading, displaying, writing and examining Multiple-Image Network Graphics. MNG is the animation extension to the popular PNG image format.""" - homepage = "http://sourceforge.net/projects/libmng/" + homepage = "https://sourceforge.net/projects/libmng/" url = "http://downloads.sourceforge.net/project/libmng/libmng-devel/2.0.3/libmng-2.0.3.tar.gz" version('2.0.3', sha256='cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa') diff --git a/var/spack/repos/builtin/packages/libsm/package.py b/var/spack/repos/builtin/packages/libsm/package.py index aec4fe364e9..a3dcedb9af4 100644 --- a/var/spack/repos/builtin/packages/libsm/package.py +++ b/var/spack/repos/builtin/packages/libsm/package.py @@ -9,7 +9,7 @@ class Libsm(AutotoolsPackage, XorgPackage): """libSM - X Session Management Library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libSM" + homepage = "https://cgit.freedesktop.org/xorg/lib/libSM" xorg_mirror_path = "lib/libSM-1.2.2.tar.gz" version('1.2.3', sha256='1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320') diff --git a/var/spack/repos/builtin/packages/libxaw/package.py b/var/spack/repos/builtin/packages/libxaw/package.py index bff3ecd704e..9a86846835d 100644 --- a/var/spack/repos/builtin/packages/libxaw/package.py +++ b/var/spack/repos/builtin/packages/libxaw/package.py @@ -10,7 +10,7 @@ class Libxaw(AutotoolsPackage, XorgPackage): """Xaw is the X Athena Widget Set. Xaw is a widget set based on the X Toolkit Intrinsics (Xt) Library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXaw" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXaw" xorg_mirror_path = "lib/libXaw-1.0.13.tar.gz" version('1.0.13', sha256='7e74ac3e5f67def549722ff0333d6e6276b8becd9d89615cda011e71238ab694') diff --git a/var/spack/repos/builtin/packages/libxcomposite/package.py b/var/spack/repos/builtin/packages/libxcomposite/package.py index 6d479f7f425..24b8a374c4a 100644 --- a/var/spack/repos/builtin/packages/libxcomposite/package.py +++ b/var/spack/repos/builtin/packages/libxcomposite/package.py @@ -10,7 +10,7 @@ class Libxcomposite(AutotoolsPackage, XorgPackage): """libXcomposite - client library for the Composite extension to the X11 protocol.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXcomposite" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXcomposite" xorg_mirror_path = "lib/libXcomposite-0.4.4.tar.gz" version('0.4.4', sha256='83c04649819c6f52cda1b0ce8bcdcc48ad8618428ad803fb07f20b802f1bdad1') diff --git a/var/spack/repos/builtin/packages/libxcursor/package.py b/var/spack/repos/builtin/packages/libxcursor/package.py index 30119927909..a0d3ebcabb1 100644 --- a/var/spack/repos/builtin/packages/libxcursor/package.py +++ b/var/spack/repos/builtin/packages/libxcursor/package.py @@ -9,7 +9,7 @@ class Libxcursor(AutotoolsPackage, XorgPackage): """libXcursor - X Window System Cursor management library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXcursor" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXcursor" xorg_mirror_path = "lib/libXcursor-1.1.14.tar.gz" version('1.1.14', sha256='be0954faf274969ffa6d95b9606b9c0cfee28c13b6fc014f15606a0c8b05c17b') diff --git a/var/spack/repos/builtin/packages/libxdamage/package.py b/var/spack/repos/builtin/packages/libxdamage/package.py index 1122135d230..04c066b32c5 100644 --- a/var/spack/repos/builtin/packages/libxdamage/package.py +++ b/var/spack/repos/builtin/packages/libxdamage/package.py @@ -9,7 +9,7 @@ class Libxdamage(AutotoolsPackage, XorgPackage): """This package contains the library for the X Damage extension.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXdamage" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXdamage" xorg_mirror_path = "lib/libXdamage-1.1.4.tar.gz" version('1.1.4', sha256='4bb3e9d917f5f593df2277d452926ee6ad96de7b7cd1017cbcf4579fe5d3442b') diff --git a/var/spack/repos/builtin/packages/libxdmcp/package.py b/var/spack/repos/builtin/packages/libxdmcp/package.py index 0a7ba3b7cb2..fe1a6d2133d 100644 --- a/var/spack/repos/builtin/packages/libxdmcp/package.py +++ b/var/spack/repos/builtin/packages/libxdmcp/package.py @@ -9,7 +9,7 @@ class Libxdmcp(AutotoolsPackage, XorgPackage): """libXdmcp - X Display Manager Control Protocol library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXdmcp" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXdmcp" xorg_mirror_path = "lib/libXdmcp-1.1.2.tar.gz" version('1.1.2', sha256='6f7c7e491a23035a26284d247779174dedc67e34e93cc3548b648ffdb6fc57c0') diff --git a/var/spack/repos/builtin/packages/libxext/package.py b/var/spack/repos/builtin/packages/libxext/package.py index 4fbcf089d0a..a9e8f4871d6 100644 --- a/var/spack/repos/builtin/packages/libxext/package.py +++ b/var/spack/repos/builtin/packages/libxext/package.py @@ -9,7 +9,7 @@ class Libxext(AutotoolsPackage, XorgPackage): """libXext - library for common extensions to the X11 protocol.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXext" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXext" xorg_mirror_path = "lib/libXext-1.3.3.tar.gz" version('1.3.3', sha256='eb0b88050491fef4716da4b06a4d92b4fc9e76f880d6310b2157df604342cfe5') diff --git a/var/spack/repos/builtin/packages/libxfixes/package.py b/var/spack/repos/builtin/packages/libxfixes/package.py index d8f072dab8a..2a74a088381 100644 --- a/var/spack/repos/builtin/packages/libxfixes/package.py +++ b/var/spack/repos/builtin/packages/libxfixes/package.py @@ -10,7 +10,7 @@ class Libxfixes(AutotoolsPackage, XorgPackage): """This package contains header files and documentation for the XFIXES extension. Library and server implementations are separate.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXfixes" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXfixes" xorg_mirror_path = "lib/libXfixes-5.0.2.tar.gz" version('5.0.2', sha256='ad8df1ecf3324512b80ed12a9ca07556e561b14256d94216e67a68345b23c981') diff --git a/var/spack/repos/builtin/packages/libxfont/package.py b/var/spack/repos/builtin/packages/libxfont/package.py index 03c2cc8469e..d7fb57f57d4 100644 --- a/var/spack/repos/builtin/packages/libxfont/package.py +++ b/var/spack/repos/builtin/packages/libxfont/package.py @@ -14,7 +14,7 @@ class Libxfont(AutotoolsPackage, XorgPackage): but should not be used by normal X11 clients. X11 clients access fonts via either the new API's in libXft, or the legacy API's in libX11.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXfont" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXfont" xorg_mirror_path = "lib/libXfont-1.5.2.tar.gz" version('1.5.2', sha256='a7350c75171d03d06ae0d623e42240356d6d3e1ac7dfe606639bf20f0d653c93') diff --git a/var/spack/repos/builtin/packages/libxfont2/package.py b/var/spack/repos/builtin/packages/libxfont2/package.py index 21576da4a9d..24fa3e3f156 100644 --- a/var/spack/repos/builtin/packages/libxfont2/package.py +++ b/var/spack/repos/builtin/packages/libxfont2/package.py @@ -14,7 +14,7 @@ class Libxfont2(AutotoolsPackage, XorgPackage): but should not be used by normal X11 clients. X11 clients access fonts via either the new API's in libXft, or the legacy API's in libX11.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXfont" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXfont" xorg_mirror_path = "lib/libXfont2-2.0.1.tar.gz" version('2.0.1', sha256='381b6b385a69343df48a082523c856aed9042fbbc8ee0a6342fb502e4321230a') diff --git a/var/spack/repos/builtin/packages/libxfontcache/package.py b/var/spack/repos/builtin/packages/libxfontcache/package.py index beb884129ee..3590197b245 100644 --- a/var/spack/repos/builtin/packages/libxfontcache/package.py +++ b/var/spack/repos/builtin/packages/libxfontcache/package.py @@ -9,7 +9,7 @@ class Libxfontcache(AutotoolsPackage, XorgPackage): """Xfontcache - X-TrueType font cache extension client library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXfontcache" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXfontcache" xorg_mirror_path = "lib/libXfontcache-1.0.5.tar.gz" version('1.0.5', sha256='fdba75307a0983d2566554e0e9effa7079551f1b7b46e8de642d067998619659') diff --git a/var/spack/repos/builtin/packages/libxft/package.py b/var/spack/repos/builtin/packages/libxft/package.py index e231d8b4582..effe915a796 100644 --- a/var/spack/repos/builtin/packages/libxft/package.py +++ b/var/spack/repos/builtin/packages/libxft/package.py @@ -13,7 +13,7 @@ class Libxft(AutotoolsPackage, XorgPackage): connects X applications with the FreeType font rasterization library. Xft uses fontconfig to locate fonts so it has no configuration files.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXft" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXft" xorg_mirror_path = "lib/libXft-2.3.2.tar.gz" version('2.3.2', sha256='26cdddcc70b187833cbe9dc54df1864ba4c03a7175b2ca9276de9f05dce74507') diff --git a/var/spack/repos/builtin/packages/libxi/package.py b/var/spack/repos/builtin/packages/libxi/package.py index 782c67c2ace..3b5d9e107da 100644 --- a/var/spack/repos/builtin/packages/libxi/package.py +++ b/var/spack/repos/builtin/packages/libxi/package.py @@ -9,7 +9,7 @@ class Libxi(AutotoolsPackage, XorgPackage): """libXi - library for the X Input Extension.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXi" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXi" xorg_mirror_path = "lib/libXi-1.7.6.tar.gz" version('1.7.6', sha256='4e88fa7decd287e58140ea72238f8d54e4791de302938c83695fc0c9ac102b7e') diff --git a/var/spack/repos/builtin/packages/libxinerama/package.py b/var/spack/repos/builtin/packages/libxinerama/package.py index e6c6fb04cac..c6ac18f86ae 100644 --- a/var/spack/repos/builtin/packages/libxinerama/package.py +++ b/var/spack/repos/builtin/packages/libxinerama/package.py @@ -9,7 +9,7 @@ class Libxinerama(AutotoolsPackage, XorgPackage): """libXinerama - API for Xinerama extension to X11 Protocol.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXinerama" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXinerama" xorg_mirror_path = "lib/libXinerama-1.1.3.tar.gz" version('1.1.3', sha256='0ba243222ae5aba4c6a3d7a394c32c8b69220a6872dbb00b7abae8753aca9a44') diff --git a/var/spack/repos/builtin/packages/libxmu/package.py b/var/spack/repos/builtin/packages/libxmu/package.py index 040086074bf..6b4128fc438 100644 --- a/var/spack/repos/builtin/packages/libxmu/package.py +++ b/var/spack/repos/builtin/packages/libxmu/package.py @@ -12,7 +12,7 @@ class Libxmu(AutotoolsPackage, XorgPackage): that it may be layered on top of any proprietary implementation of Xlib or Xt.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXmu" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXmu" xorg_mirror_path = "lib/libXmu-1.1.2.tar.gz" version('1.1.2', sha256='e5fd4bacef068f9509b8226017205040e38d3fba8d2de55037200e7176c13dba') diff --git a/var/spack/repos/builtin/packages/libxpm/package.py b/var/spack/repos/builtin/packages/libxpm/package.py index c0d71ca9106..190cc7ece86 100644 --- a/var/spack/repos/builtin/packages/libxpm/package.py +++ b/var/spack/repos/builtin/packages/libxpm/package.py @@ -9,7 +9,7 @@ class Libxpm(AutotoolsPackage, XorgPackage): """libXpm - X Pixmap (XPM) image file format library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXpm" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXpm" xorg_mirror_path = "lib/libXpm-3.5.12.tar.gz" version('3.5.12', sha256='2523acc780eac01db5163267b36f5b94374bfb0de26fc0b5a7bee76649fd8501') diff --git a/var/spack/repos/builtin/packages/libxrandr/package.py b/var/spack/repos/builtin/packages/libxrandr/package.py index d3a78aa4988..ef17f8a58c7 100644 --- a/var/spack/repos/builtin/packages/libxrandr/package.py +++ b/var/spack/repos/builtin/packages/libxrandr/package.py @@ -9,7 +9,7 @@ class Libxrandr(AutotoolsPackage, XorgPackage): """libXrandr - X Resize, Rotate and Reflection extension library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXrandr" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXrandr" xorg_mirror_path = "lib/libXrandr-1.5.0.tar.gz" version('1.5.0', sha256='1b594a149e6b124aab7149446f2fd886461e2935eca8dca43fe83a70cf8ec451') diff --git a/var/spack/repos/builtin/packages/libxrender/package.py b/var/spack/repos/builtin/packages/libxrender/package.py index c991c8d9ca6..23a622f121b 100644 --- a/var/spack/repos/builtin/packages/libxrender/package.py +++ b/var/spack/repos/builtin/packages/libxrender/package.py @@ -9,7 +9,7 @@ class Libxrender(AutotoolsPackage, XorgPackage): """libXrender - library for the Render Extension to the X11 protocol.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXrender" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXrender" xorg_mirror_path = "lib/libXrender-0.9.10.tar.gz" version('0.9.10', sha256='770527cce42500790433df84ec3521e8bf095dfe5079454a92236494ab296adf') diff --git a/var/spack/repos/builtin/packages/libxres/package.py b/var/spack/repos/builtin/packages/libxres/package.py index c6c4d94f4e2..8c1078bc40d 100644 --- a/var/spack/repos/builtin/packages/libxres/package.py +++ b/var/spack/repos/builtin/packages/libxres/package.py @@ -9,7 +9,7 @@ class Libxres(AutotoolsPackage, XorgPackage): """libXRes - X-Resource extension client library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXRes" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXRes" xorg_mirror_path = "lib/libXres-1.0.7.tar.gz" version('1.0.7', sha256='488c9fa14b38f794d1f019fe62e6b06514a39f1a7538e55ece8faf22482fefcd') diff --git a/var/spack/repos/builtin/packages/libxscrnsaver/package.py b/var/spack/repos/builtin/packages/libxscrnsaver/package.py index e7c6edfb176..200c6f780b1 100644 --- a/var/spack/repos/builtin/packages/libxscrnsaver/package.py +++ b/var/spack/repos/builtin/packages/libxscrnsaver/package.py @@ -9,7 +9,7 @@ class Libxscrnsaver(AutotoolsPackage, XorgPackage): """XScreenSaver - X11 Screen Saver extension client library""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXScrnSaver" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXScrnSaver" xorg_mirror_path = "lib/libXScrnSaver-1.2.2.tar.gz" version('1.2.2', sha256='e12ba814d44f7b58534c0d8521e2d4574f7bf2787da405de4341c3b9f4cc8d96') diff --git a/var/spack/repos/builtin/packages/libxt/package.py b/var/spack/repos/builtin/packages/libxt/package.py index 9a5fb28ed1c..f4b3df1e7fa 100644 --- a/var/spack/repos/builtin/packages/libxt/package.py +++ b/var/spack/repos/builtin/packages/libxt/package.py @@ -9,7 +9,7 @@ class Libxt(AutotoolsPackage, XorgPackage): """libXt - X Toolkit Intrinsics library.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXt" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXt" xorg_mirror_path = "lib/libXt-1.1.5.tar.gz" version('1.1.5', sha256='b59bee38a9935565fa49dc1bfe84cb30173e2e07e1dcdf801430d4b54eb0caa3') diff --git a/var/spack/repos/builtin/packages/libxtst/package.py b/var/spack/repos/builtin/packages/libxtst/package.py index 3073e998193..7146212e5bc 100644 --- a/var/spack/repos/builtin/packages/libxtst/package.py +++ b/var/spack/repos/builtin/packages/libxtst/package.py @@ -18,7 +18,7 @@ class Libxtst(AutotoolsPackage, XorgPackage): The RECORD extension supports the recording and reporting of all core X protocol and arbitrary X extension protocol.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXtst" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXtst" xorg_mirror_path = "lib/libXtst-1.2.2.tar.gz" version('1.2.2', sha256='221838960c7b9058cd6795c1c3ee8e25bae1c68106be314bc3036a4f26be0e6c') diff --git a/var/spack/repos/builtin/packages/libxv/package.py b/var/spack/repos/builtin/packages/libxv/package.py index 68810c66c6d..c71e7fc645e 100644 --- a/var/spack/repos/builtin/packages/libxv/package.py +++ b/var/spack/repos/builtin/packages/libxv/package.py @@ -10,7 +10,7 @@ class Libxv(AutotoolsPackage, XorgPackage): """libXv - library for the X Video (Xv) extension to the X Window System.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXv" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXv" xorg_mirror_path = "lib/libXv-1.0.10.tar.gz" version('1.0.10', sha256='89a664928b625558268de81c633e300948b3752b0593453d7815f8775bab5293') diff --git a/var/spack/repos/builtin/packages/libxxf86dga/package.py b/var/spack/repos/builtin/packages/libxxf86dga/package.py index b352d8bfddf..06d91bcdc0d 100644 --- a/var/spack/repos/builtin/packages/libxxf86dga/package.py +++ b/var/spack/repos/builtin/packages/libxxf86dga/package.py @@ -9,7 +9,7 @@ class Libxxf86dga(AutotoolsPackage, XorgPackage): """libXxf86dga - Client library for the XFree86-DGA extension.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXxf86dga" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86dga" xorg_mirror_path = "lib/libXxf86dga-1.1.4.tar.gz" version('1.1.4', sha256='e6361620a15ceba666901ca8423e8be0c6ed0271a7088742009160349173766b') diff --git a/var/spack/repos/builtin/packages/libxxf86vm/package.py b/var/spack/repos/builtin/packages/libxxf86vm/package.py index 5ed1816f968..4d6b7bfc5aa 100644 --- a/var/spack/repos/builtin/packages/libxxf86vm/package.py +++ b/var/spack/repos/builtin/packages/libxxf86vm/package.py @@ -9,7 +9,7 @@ class Libxxf86vm(AutotoolsPackage, XorgPackage): """libXxf86vm - Extension library for the XFree86-VidMode X extension.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXxf86vm" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXxf86vm" xorg_mirror_path = "lib/libXxf86vm-1.1.4.tar.gz" version('1.1.4', sha256='5108553c378a25688dcb57dca383664c36e293d60b1505815f67980ba9318a99') diff --git a/var/spack/repos/builtin/packages/libzmq/package.py b/var/spack/repos/builtin/packages/libzmq/package.py index ccbb7d7d4dd..ca17fad1550 100644 --- a/var/spack/repos/builtin/packages/libzmq/package.py +++ b/var/spack/repos/builtin/packages/libzmq/package.py @@ -9,7 +9,7 @@ class Libzmq(AutotoolsPackage): """The ZMQ networking/concurrency library and core API""" - homepage = "http://zguide.zeromq.org/" + homepage = "https://zguide.zeromq.org/" url = "https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz" git = "https://github.com/zeromq/libzmq.git" diff --git a/var/spack/repos/builtin/packages/luit/package.py b/var/spack/repos/builtin/packages/luit/package.py index a3c6c3b7511..b3d4f7725dc 100644 --- a/var/spack/repos/builtin/packages/luit/package.py +++ b/var/spack/repos/builtin/packages/luit/package.py @@ -12,7 +12,7 @@ class Luit(AutotoolsPackage, XorgPackage): output from the locale's encoding into UTF-8, and convert terminal input from UTF-8 into the locale's encoding.""" - homepage = "http://cgit.freedesktop.org/xorg/app/luit" + homepage = "https://cgit.freedesktop.org/xorg/app/luit" xorg_mirror_path = "app/luit-1.1.1.tar.gz" version('1.1.1', sha256='87b0be0bd01f3b857a53e6625bdd31cef18418c95394b7f4387f8ecef78e45da') diff --git a/var/spack/repos/builtin/packages/mafft/package.py b/var/spack/repos/builtin/packages/mafft/package.py index 9ca65a87222..0747e057dd7 100644 --- a/var/spack/repos/builtin/packages/mafft/package.py +++ b/var/spack/repos/builtin/packages/mafft/package.py @@ -12,7 +12,7 @@ class Mafft(Package): methods, L-INS-i (accurate; for alignment of <~200 sequences), FFT-NS-2 (fast; for alignment of <~30,000 sequences), etc.""" - homepage = "http://mafft.cbrc.jp/alignment/software/index.html" + homepage = "https://mafft.cbrc.jp/alignment/software/index.html" url = "http://mafft.cbrc.jp/alignment/software/mafft-7.221-with-extensions-src.tgz" version('7.481', sha256='7397f1193048587a3d887e46a353418e67849f71729764e8195b218e3453dfa2') diff --git a/var/spack/repos/builtin/packages/mira/package.py b/var/spack/repos/builtin/packages/mira/package.py index 4caf029858b..e147000f0fe 100644 --- a/var/spack/repos/builtin/packages/mira/package.py +++ b/var/spack/repos/builtin/packages/mira/package.py @@ -10,7 +10,7 @@ class Mira(AutotoolsPackage): """MIRA is a multi-pass DNA sequence data assembler/mapper for whole genome and EST/RNASeq projects.""" - homepage = "http://sourceforge.net/projects/mira-assembler/" + homepage = "https://sourceforge.net/projects/mira-assembler/" url = "https://downloads.sourceforge.net/project/mira-assembler/MIRA/stable/mira-4.0.2.tar.bz2" version('4.0.2', sha256='a32cb2b21e0968a5536446287c895fe9e03d11d78957554e355c1080b7b92a80') diff --git a/var/spack/repos/builtin/packages/mkfontscale/package.py b/var/spack/repos/builtin/packages/mkfontscale/package.py index aaae9efe691..fa3628f35eb 100644 --- a/var/spack/repos/builtin/packages/mkfontscale/package.py +++ b/var/spack/repos/builtin/packages/mkfontscale/package.py @@ -10,7 +10,7 @@ class Mkfontscale(AutotoolsPackage, XorgPackage): """mkfontscale creates the fonts.scale and fonts.dir index files used by the legacy X11 font system.""" - homepage = "http://cgit.freedesktop.org/xorg/app/mkfontscale" + homepage = "https://cgit.freedesktop.org/xorg/app/mkfontscale" xorg_mirror_path = "app/mkfontscale-1.1.2.tar.gz" version('1.1.2', sha256='8bba59e60fbc4cb082092cf6b67e810b47b4fe64fbc77dbea1d7e7d55312b2e4') diff --git a/var/spack/repos/builtin/packages/nauty/package.py b/var/spack/repos/builtin/packages/nauty/package.py index 5eff01dac7a..6a8156b04aa 100644 --- a/var/spack/repos/builtin/packages/nauty/package.py +++ b/var/spack/repos/builtin/packages/nauty/package.py @@ -12,7 +12,7 @@ class Nauty(AutotoolsPackage): """nauty and Traces are programs for computing automorphism groups of graphsq and digraphs""" - homepage = "http://pallini.di.uniroma1.it/index.html" + homepage = "https://pallini.di.uniroma1.it/index.html" url = "http://pallini.di.uniroma1.it/nauty26r7.tar.gz" version('2.6r7', sha256='97b5648de17645895cbd56a9a0b3e23cf01f5332c476d013ea459f1a0363cdc6') diff --git a/var/spack/repos/builtin/packages/of-precice/package.py b/var/spack/repos/builtin/packages/of-precice/package.py index f20427d8f5c..e1f1f839a00 100644 --- a/var/spack/repos/builtin/packages/of-precice/package.py +++ b/var/spack/repos/builtin/packages/of-precice/package.py @@ -14,7 +14,7 @@ class OfPrecice(Package): """preCICE adapter for OpenFOAM""" - homepage = 'https://www.precice.org' + homepage = 'https://precice.org/' git = 'https://github.com/precice/openfoam-adapter.git' # Currently develop only diff --git a/var/spack/repos/builtin/packages/openpmd-api/package.py b/var/spack/repos/builtin/packages/openpmd-api/package.py index 0221e9aa396..37c166f7d38 100644 --- a/var/spack/repos/builtin/packages/openpmd-api/package.py +++ b/var/spack/repos/builtin/packages/openpmd-api/package.py @@ -9,7 +9,7 @@ class OpenpmdApi(CMakePackage): """C++ & Python API for Scientific I/O""" - homepage = "http://www.openPMD.org" + homepage = "https://www.openPMD.org" url = "https://github.com/openPMD/openPMD-api/archive/0.13.3.tar.gz" git = "https://github.com/openPMD/openPMD-api.git" diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index b0c6810d412..683420b8832 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -11,7 +11,7 @@ class Petsc(Package, CudaPackage, ROCmPackage): differential equations. """ - homepage = "http://www.mcs.anl.gov/petsc/index.html" + homepage = "https://www.mcs.anl.gov/petsc/index.html" url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.15.0.tar.gz" git = "https://gitlab.com/petsc/petsc.git" maintainers = ['balay', 'barrysmith', 'jedbrown'] diff --git a/var/spack/repos/builtin/packages/pplacer/package.py b/var/spack/repos/builtin/packages/pplacer/package.py index 251dffa965a..6b0fd43d10e 100644 --- a/var/spack/repos/builtin/packages/pplacer/package.py +++ b/var/spack/repos/builtin/packages/pplacer/package.py @@ -14,7 +14,7 @@ class Pplacer(Package): visualization and downstream analysis. """ - homepage = "http://matsen.fhcrc.org/pplacer/" + homepage = "https://matsen.fhcrc.org/pplacer/" url = "https://github.com/matsen/pplacer/releases/download/v1.1.alpha19/pplacer-linux-v1.1.alpha19.zip" version('1.1.alpha19', sha256='9131b45c35ddb927f866385f149cf64af5dffe724234cd4548c22303a992347d') diff --git a/var/spack/repos/builtin/packages/pvm/package.py b/var/spack/repos/builtin/packages/pvm/package.py index fe740619225..d9f3cec108d 100644 --- a/var/spack/repos/builtin/packages/pvm/package.py +++ b/var/spack/repos/builtin/packages/pvm/package.py @@ -13,7 +13,7 @@ class Pvm(MakefilePackage): heterogeneous collection of Unix and/or Windows computers hooked together by a network to be used as a single large parallel computer.""" - homepage = "http://www.csm.ornl.gov/pvm/pvm_home.html" + homepage = "https://www.csm.ornl.gov/pvm/pvm_home.html" url = "http://www.netlib.org/pvm3/pvm3.4.6.tgz" version('3.4.6', sha256='482665e9bc975d826bcdacf1df1d42e43deda9585a2c430fd3b7b7ed08eada44') diff --git a/var/spack/repos/builtin/packages/py-biopython/package.py b/var/spack/repos/builtin/packages/py-biopython/package.py index 964904b5680..1b67ff30f7a 100644 --- a/var/spack/repos/builtin/packages/py-biopython/package.py +++ b/var/spack/repos/builtin/packages/py-biopython/package.py @@ -12,7 +12,7 @@ class PyBiopython(PythonPackage): bioinformatics. """ - homepage = "http://biopython.org/wiki/Main_Page" + homepage = "https://biopython.org/wiki/Main_Page" url = "http://biopython.org/DIST/biopython-1.65.tar.gz" version('1.78', sha256='1ee0a0b6c2376680fea6642d5080baa419fd73df104a62d58a8baf7a8bbe4564') diff --git a/var/spack/repos/builtin/packages/py-pyrsistent/package.py b/var/spack/repos/builtin/packages/py-pyrsistent/package.py index 5bf81eb4c96..765760efe5b 100644 --- a/var/spack/repos/builtin/packages/py-pyrsistent/package.py +++ b/var/spack/repos/builtin/packages/py-pyrsistent/package.py @@ -11,7 +11,7 @@ class PyPyrsistent(PythonPackage): (by some referred to as functional data structures). Persistent in the sense that they are immutable.""" - homepage = "http://github.com/tobgu/pyrsistent/" + homepage = "https://github.com/tobgu/pyrsistent/" pypi = "pyrsistent/pyrsistent-0.15.7.tar.gz" version('0.15.7', sha256='cdc7b5e3ed77bed61270a47d35434a30617b9becdf2478af76ad2c6ade307280') diff --git a/var/spack/repos/builtin/packages/py-python-igraph/package.py b/var/spack/repos/builtin/packages/py-python-igraph/package.py index a437d06f682..6c16df7afa2 100644 --- a/var/spack/repos/builtin/packages/py-python-igraph/package.py +++ b/var/spack/repos/builtin/packages/py-python-igraph/package.py @@ -10,7 +10,7 @@ class PyPythonIgraph(PythonPackage): """igraph is a collection of network analysis tools with the emphasis on efficiency, portability and ease of use.""" - homepage = "http://igraph.org/" + homepage = "https://igraph.org/" url = "http://igraph.org/nightly/get/python/python-igraph-0.7.0.tar.gz" version('0.7.0', sha256='64ac270e80a92066d489407be1900a329df8e26844430f941ecc88771188c471') diff --git a/var/spack/repos/builtin/packages/py-zope-event/package.py b/var/spack/repos/builtin/packages/py-zope-event/package.py index 054e355eac7..405c2cf2d07 100644 --- a/var/spack/repos/builtin/packages/py-zope-event/package.py +++ b/var/spack/repos/builtin/packages/py-zope-event/package.py @@ -9,7 +9,7 @@ class PyZopeEvent(PythonPackage): """Very basic event publishing system.""" - homepage = "http://github.com/zopefoundation/zope.event" + homepage = "https://github.com/zopefoundation/zope.event" pypi = "zope.event/zope.event-4.3.0.tar.gz" version('4.3.0', sha256='e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7') diff --git a/var/spack/repos/builtin/packages/r-amelia/package.py b/var/spack/repos/builtin/packages/r-amelia/package.py index 952ee2e9e47..f8c08f4dc52 100644 --- a/var/spack/repos/builtin/packages/r-amelia/package.py +++ b/var/spack/repos/builtin/packages/r-amelia/package.py @@ -15,7 +15,7 @@ class RAmelia(RPackage): time-series-cross-sectional data set (such as collected by years for each of several countries).""" - homepage = "http://gking.harvard.edu/amelia" + homepage = "https://gking.harvard.edu/amelia" url = "https://cloud.r-project.org/src/contrib/Amelia_1.7.6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/Amelia" diff --git a/var/spack/repos/builtin/packages/r-biasedurn/package.py b/var/spack/repos/builtin/packages/r-biasedurn/package.py index e596009ab85..1bcf8080691 100644 --- a/var/spack/repos/builtin/packages/r-biasedurn/package.py +++ b/var/spack/repos/builtin/packages/r-biasedurn/package.py @@ -14,7 +14,7 @@ class RBiasedurn(RPackage): hypergeometric distribution). See vignette("UrnTheory") for explanation of these distributions.""" - homepage = "http://www.agner.org/random/" + homepage = "https://www.agner.org/random/" url = "https://cloud.r-project.org/src/contrib/BiasedUrn_1.07.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/BiasedUrn/" diff --git a/var/spack/repos/builtin/packages/r-europepmc/package.py b/var/spack/repos/builtin/packages/r-europepmc/package.py index dae036aac94..4afa437de97 100644 --- a/var/spack/repos/builtin/packages/r-europepmc/package.py +++ b/var/spack/repos/builtin/packages/r-europepmc/package.py @@ -21,7 +21,7 @@ class REuropepmc(RPackage): registration or API key is required. See the vignettes for usage examples.""" - homepage = "http://github.com/ropensci/europepmc/" + homepage = "https://github.com/ropensci/europepmc/" url = "https://cloud.r-project.org/src/contrib/europepmc_0.3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/europepmc" diff --git a/var/spack/repos/builtin/packages/r-expm/package.py b/var/spack/repos/builtin/packages/r-expm/package.py index 3e005d71967..66a99ed0c7e 100644 --- a/var/spack/repos/builtin/packages/r-expm/package.py +++ b/var/spack/repos/builtin/packages/r-expm/package.py @@ -12,7 +12,7 @@ class RExpm(RPackage): Computation of the matrix exponential, logarithm, sqrt, and related quantities.""" - homepage = "http://r-forge.r-project.org/projects/expm" + homepage = "https://r-forge.r-project.org/projects/expm" url = "https://cloud.r-project.org/src/contrib/expm_0.999-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/expm" diff --git a/var/spack/repos/builtin/packages/r-forcats/package.py b/var/spack/repos/builtin/packages/r-forcats/package.py index f4fdea8b4e2..cc3c11e15a2 100644 --- a/var/spack/repos/builtin/packages/r-forcats/package.py +++ b/var/spack/repos/builtin/packages/r-forcats/package.py @@ -14,7 +14,7 @@ class RForcats(RPackage): and tools for modifying factor levels (including collapsing rare levels into other, 'anonymising', and manually 'recoding').""" - homepage = "http://forcats.tidyverse.org/" + homepage = "https://forcats.tidyverse.org/" url = "https://cloud.r-project.org/src/contrib/forcats_0.2.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/forcats" diff --git a/var/spack/repos/builtin/packages/r-ggplot2/package.py b/var/spack/repos/builtin/packages/r-ggplot2/package.py index 7802a5831f4..ec4dbc4c404 100644 --- a/var/spack/repos/builtin/packages/r-ggplot2/package.py +++ b/var/spack/repos/builtin/packages/r-ggplot2/package.py @@ -14,7 +14,7 @@ class RGgplot2(RPackage): aesthetics, what graphical primitives to use, and it takes care of the details.""" - homepage = "http://ggplot2.org/" + homepage = "https://ggplot2.tidyverse.org/" url = "https://cloud.r-project.org/src/contrib/ggplot2_2.2.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/ggplot2" diff --git a/var/spack/repos/builtin/packages/r-ggrepel/package.py b/var/spack/repos/builtin/packages/r-ggrepel/package.py index 1fb6aa1278b..d5b2444febc 100644 --- a/var/spack/repos/builtin/packages/r-ggrepel/package.py +++ b/var/spack/repos/builtin/packages/r-ggrepel/package.py @@ -13,7 +13,7 @@ class RGgrepel(RPackage): text labels. Labels repel away from each other and away from the data points.""" - homepage = "http://github.com/slowkow/ggrepel" + homepage = "https://github.com/slowkow/ggrepel" url = "https://cloud.r-project.org/src/contrib/ggrepel_0.6.5.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/ggrepel" diff --git a/var/spack/repos/builtin/packages/r-ggvis/package.py b/var/spack/repos/builtin/packages/r-ggvis/package.py index 7319358c501..59027695f4e 100644 --- a/var/spack/repos/builtin/packages/r-ggvis/package.py +++ b/var/spack/repos/builtin/packages/r-ggvis/package.py @@ -13,7 +13,7 @@ class RGgvis(RPackage): parts of 'ggplot2', combining them with the reactive framework from 'shiny' and web graphics from 'vega'.""" - homepage = "http://ggvis.rstudio.com/" + homepage = "https://ggvis.rstudio.com/" url = "https://cloud.r-project.org/src/contrib/ggvis_0.4.3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/ggvis" diff --git a/var/spack/repos/builtin/packages/r-haven/package.py b/var/spack/repos/builtin/packages/r-haven/package.py index 93b7b4cddef..60a11a7d1c8 100644 --- a/var/spack/repos/builtin/packages/r-haven/package.py +++ b/var/spack/repos/builtin/packages/r-haven/package.py @@ -12,7 +12,7 @@ class RHaven(RPackage): Import foreign statistical formats into R via the embedded 'ReadStat' C library, .""" - homepage = "http://haven.tidyverse.org/" + homepage = "https://haven.tidyverse.org/" url = "https://cloud.r-project.org/src/contrib/haven_1.1.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/haven" diff --git a/var/spack/repos/builtin/packages/r-hexbin/package.py b/var/spack/repos/builtin/packages/r-hexbin/package.py index 85d78bb71d4..9c252d3f568 100644 --- a/var/spack/repos/builtin/packages/r-hexbin/package.py +++ b/var/spack/repos/builtin/packages/r-hexbin/package.py @@ -13,7 +13,7 @@ class RHexbin(RPackage): Binning and plotting functions for hexagonal bins. Now uses and relies on grid graphics and formal (S4) classes and methods.""" - homepage = "http://github.com/edzer/hexbin" + homepage = "https://github.com/edzer/hexbin" url = "https://cloud.r-project.org/src/contrib/hexbin_1.27.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/hexbin" diff --git a/var/spack/repos/builtin/packages/r-igraph/package.py b/var/spack/repos/builtin/packages/r-igraph/package.py index 100ea007a9c..d1bce691b62 100644 --- a/var/spack/repos/builtin/packages/r-igraph/package.py +++ b/var/spack/repos/builtin/packages/r-igraph/package.py @@ -13,7 +13,7 @@ class RIgraph(RPackage): graphs very well and provides functions for generating random and regular graphs, graph visualization, centrality methods and much more.""" - homepage = "http://igraph.org/" + homepage = "https://igraph.org/" url = "https://cloud.r-project.org/src/contrib/igraph_1.0.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/igraph" diff --git a/var/spack/repos/builtin/packages/r-intervals/package.py b/var/spack/repos/builtin/packages/r-intervals/package.py index 76acf9fee76..f21f94fcfc3 100644 --- a/var/spack/repos/builtin/packages/r-intervals/package.py +++ b/var/spack/repos/builtin/packages/r-intervals/package.py @@ -11,7 +11,7 @@ class RIntervals(RPackage): Tools for working with and comparing sets of points and intervals.""" - homepage = "http://github.com/edzer/intervals" + homepage = "https://github.com/edzer/intervals" url = "https://cloud.r-project.org/src/contrib/intervals_0.15.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/intervals" diff --git a/var/spack/repos/builtin/packages/r-maptools/package.py b/var/spack/repos/builtin/packages/r-maptools/package.py index a749d937534..e5f16b9748a 100644 --- a/var/spack/repos/builtin/packages/r-maptools/package.py +++ b/var/spack/repos/builtin/packages/r-maptools/package.py @@ -15,7 +15,7 @@ class RMaptools(RPackage): exchanging spatial objects with packages such as PBSmapping, spatstat, maps, RArcInfo, Stata tmap, WinBUGS, Mondrian, and others.""" - homepage = "http://r-forge.r-project.org/projects/maptools/" + homepage = "https://r-forge.r-project.org/projects/maptools/" url = "https://cloud.r-project.org/src/contrib/maptools_0.8-39.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/maptools" diff --git a/var/spack/repos/builtin/packages/r-marray/package.py b/var/spack/repos/builtin/packages/r-marray/package.py index 1a994b5d5c9..5151052c19f 100644 --- a/var/spack/repos/builtin/packages/r-marray/package.py +++ b/var/spack/repos/builtin/packages/r-marray/package.py @@ -12,7 +12,7 @@ class RMarray(RPackage): Class definitions for two-color spotted microarray data. Fuctions for data input, diagnostic plots, normalization and quality checking.""" - homepage = "http://www.maths.usyd.edu.au/u/jeany/" + homepage = "https://www.maths.usyd.edu.au/u/jeany/" bioc = "marray" version('1.68.0', commit='67b3080486abdba7dd19fccd7fb731b0e8b5b3f9') diff --git a/var/spack/repos/builtin/packages/r-phytools/package.py b/var/spack/repos/builtin/packages/r-phytools/package.py index 27cdca7d509..628be46e2f8 100644 --- a/var/spack/repos/builtin/packages/r-phytools/package.py +++ b/var/spack/repos/builtin/packages/r-phytools/package.py @@ -28,7 +28,7 @@ class RPhytools(RPackage): range of models, and for a wide variety of other manipulations and analyses that phylogenetic biologists might find useful in their research.""" - homepage = "http://github.com/liamrevell/phytools" + homepage = "https://github.com/liamrevell/phytools" url = "https://cloud.r-project.org/src/contrib/phytools_0.6-60.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/phytools/" diff --git a/var/spack/repos/builtin/packages/r-purrr/package.py b/var/spack/repos/builtin/packages/r-purrr/package.py index 33c78cb8ac9..e00513915f5 100644 --- a/var/spack/repos/builtin/packages/r-purrr/package.py +++ b/var/spack/repos/builtin/packages/r-purrr/package.py @@ -9,7 +9,7 @@ class RPurrr(RPackage): """A complete and consistent functional programming toolkit for R.""" - homepage = "http://purrr.tidyverse.org/" + homepage = "https://purrr.tidyverse.org/" url = "https://cloud.r-project.org/src/contrib/purrr_0.2.4.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/purrr" diff --git a/var/spack/repos/builtin/packages/r-qtl/package.py b/var/spack/repos/builtin/packages/r-qtl/package.py index e4ae155dd20..f0c8323c5a9 100644 --- a/var/spack/repos/builtin/packages/r-qtl/package.py +++ b/var/spack/repos/builtin/packages/r-qtl/package.py @@ -13,7 +13,7 @@ class RQtl(RPackage): trait loci, QTLs) contributing to variation in quantitative traits. Broman et al. (2003) .""" - homepage = "http://rqtl.org" + homepage = "https://rqtl.org" url = "https://cloud.r-project.org/src/contrib/qtl_1.44-9.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/qtl" diff --git a/var/spack/repos/builtin/packages/r-readxl/package.py b/var/spack/repos/builtin/packages/r-readxl/package.py index 609d0ed7bff..e75938d85a0 100644 --- a/var/spack/repos/builtin/packages/r-readxl/package.py +++ b/var/spack/repos/builtin/packages/r-readxl/package.py @@ -13,7 +13,7 @@ class RReadxl(RPackage): . Works on Windows, Mac and Linux without external dependencies.""" - homepage = "http://readxl.tidyverse.org/" + homepage = "https://readxl.tidyverse.org/" url = "https://cloud.r-project.org/src/contrib/readxl_1.1.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/readxl" diff --git a/var/spack/repos/builtin/packages/r-rgexf/package.py b/var/spack/repos/builtin/packages/r-rgexf/package.py index f3365a13d34..068732b27b4 100644 --- a/var/spack/repos/builtin/packages/r-rgexf/package.py +++ b/var/spack/repos/builtin/packages/r-rgexf/package.py @@ -18,7 +18,7 @@ class RRgexf(RPackage): through "sigmajs" (a javascript library) and interact with the igraph package.""" - homepage = "http://bitbucket.org/gvegayon/rgexf" + homepage = "https://bitbucket.org/gvegayon/rgexf" url = "https://cloud.r-project.org/src/contrib/rgexf_0.15.3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rgexf" diff --git a/var/spack/repos/builtin/packages/r-rmarkdown/package.py b/var/spack/repos/builtin/packages/r-rmarkdown/package.py index 9fdff82f71d..7d27f568062 100644 --- a/var/spack/repos/builtin/packages/r-rmarkdown/package.py +++ b/var/spack/repos/builtin/packages/r-rmarkdown/package.py @@ -12,7 +12,7 @@ class RRmarkdown(RPackage): Convert R Markdown documents into a variety of formats.""" - homepage = "http://rmarkdown.rstudio.com/" + homepage = "https://rmarkdown.rstudio.com/" cran = "rmarkdown" version('2.9', sha256='6ce5af8b9a7c282619f74d3999d27ec4de12d3f93cde8fd12cc4c19f02ea8668') diff --git a/var/spack/repos/builtin/packages/r-rstantools/package.py b/var/spack/repos/builtin/packages/r-rstantools/package.py index 8bf4619f757..cae466b4878 100644 --- a/var/spack/repos/builtin/packages/r-rstantools/package.py +++ b/var/spack/repos/builtin/packages/r-rstantools/package.py @@ -15,7 +15,7 @@ class RRstantools(RPackage): 'Stan'-based R packages, and vignettes with recommendations for developers.""" - homepage = "http://discourse.mc-stan.org/" + homepage = "https://discourse.mc-stan.org/" url = "https://cloud.r-project.org/src/contrib/rstantools_1.5.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rstantools" diff --git a/var/spack/repos/builtin/packages/r-seurat/package.py b/var/spack/repos/builtin/packages/r-seurat/package.py index 07e1af1dd31..6c8986ebc4c 100644 --- a/var/spack/repos/builtin/packages/r-seurat/package.py +++ b/var/spack/repos/builtin/packages/r-seurat/package.py @@ -17,7 +17,7 @@ class RSeurat(RPackage): R, et al (2015) , and Stuart T, Butler A, et al (2019) for more details.""" - homepage = "http://satijalab.org/seurat/" + homepage = "https://satijalab.org/seurat/" url = "https://cloud.r-project.org/src/contrib/Seurat_2.1.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/Seurat" diff --git a/var/spack/repos/builtin/packages/r-shiny/package.py b/var/spack/repos/builtin/packages/r-shiny/package.py index 8f83e78f133..3b157c43ef2 100644 --- a/var/spack/repos/builtin/packages/r-shiny/package.py +++ b/var/spack/repos/builtin/packages/r-shiny/package.py @@ -14,7 +14,7 @@ class RShiny(RPackage): pre-built widgets make it possible to build beautiful, responsive, and powerful applications with minimal effort.""" - homepage = "http://shiny.rstudio.com/" + homepage = "https://shiny.rstudio.com/" url = "https://cloud.r-project.org/src/contrib/shiny_1.0.5.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/shiny" diff --git a/var/spack/repos/builtin/packages/r-spacetime/package.py b/var/spack/repos/builtin/packages/r-spacetime/package.py index ed5298a8eb2..e5c86d97395 100644 --- a/var/spack/repos/builtin/packages/r-spacetime/package.py +++ b/var/spack/repos/builtin/packages/r-spacetime/package.py @@ -16,7 +16,7 @@ class RSpacetime(RPackage): subsetting, as well as for spatial/temporal/spatio-temporal matching or aggregation, retrieving coordinates, print, summary, etc.""" - homepage = "http://github.com/edzer/spacetime" + homepage = "https://github.com/edzer/spacetime" url = "https://cloud.r-project.org/src/contrib/spacetime_1.2-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/spacetime" diff --git a/var/spack/repos/builtin/packages/r-splitstackshape/package.py b/var/spack/repos/builtin/packages/r-splitstackshape/package.py index fdd7f47fe57..0d103437d46 100644 --- a/var/spack/repos/builtin/packages/r-splitstackshape/package.py +++ b/var/spack/repos/builtin/packages/r-splitstackshape/package.py @@ -18,7 +18,7 @@ class RSplitstackshape(RPackage): and which melt and dcast from reshape2 do not easily handle. """ - homepage = "http://github.com/mrdwab/splitstackshape" + homepage = "https://github.com/mrdwab/splitstackshape" url = "https://cloud.r-project.org/src/contrib/splitstackshape_1.4.4.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/splitstackshape" diff --git a/var/spack/repos/builtin/packages/r-tidyverse/package.py b/var/spack/repos/builtin/packages/r-tidyverse/package.py index 53b74caf0d0..b09b4b19f4c 100644 --- a/var/spack/repos/builtin/packages/r-tidyverse/package.py +++ b/var/spack/repos/builtin/packages/r-tidyverse/package.py @@ -15,7 +15,7 @@ class RTidyverse(RPackage): in a single step. Learn more about the 'tidyverse' at .""" - homepage = "http://tidyverse.tidyverse.org/" + homepage = "https://tidyverse.tidyverse.org/" url = "https://cloud.r-project.org/src/contrib/tidyverse_1.2.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/tidyverse" diff --git a/var/spack/repos/builtin/packages/r-upsetr/package.py b/var/spack/repos/builtin/packages/r-upsetr/package.py index cd43237262c..77a4607ae4e 100644 --- a/var/spack/repos/builtin/packages/r-upsetr/package.py +++ b/var/spack/repos/builtin/packages/r-upsetr/package.py @@ -10,7 +10,7 @@ class RUpsetr(RPackage): """UpSetR: A More Scalable Alternative to Venn and Euler Diagrams forVisualizing Intersecting Sets""" - homepage = "http://github.com/hms-dbmi/UpSetR" + homepage = "https://github.com/hms-dbmi/UpSetR" url = "https://cloud.r-project.org/src/contrib/UpSetR_1.4.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/UpSetR" diff --git a/var/spack/repos/builtin/packages/r-xts/package.py b/var/spack/repos/builtin/packages/r-xts/package.py index e7763e05b43..30b2176093f 100644 --- a/var/spack/repos/builtin/packages/r-xts/package.py +++ b/var/spack/repos/builtin/packages/r-xts/package.py @@ -14,7 +14,7 @@ class RXts(RPackage): allowing for user level customization and extension, while simplifying cross-class interoperability.""" - homepage = "http://r-forge.r-project.org/projects/xts/" + homepage = "https://r-forge.r-project.org/projects/xts/" url = "https://cloud.r-project.org/src/contrib/xts_0.11-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/xts" diff --git a/var/spack/repos/builtin/packages/randrproto/package.py b/var/spack/repos/builtin/packages/randrproto/package.py index ff16e464cc1..b133c389136 100644 --- a/var/spack/repos/builtin/packages/randrproto/package.py +++ b/var/spack/repos/builtin/packages/randrproto/package.py @@ -13,7 +13,7 @@ class Randrproto(AutotoolsPackage, XorgPackage): screens, so as to resize, rotate and reflect the root window of a screen. """ - homepage = "http://cgit.freedesktop.org/xorg/proto/randrproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/randrproto" xorg_mirror_path = "proto/randrproto-1.5.0.tar.gz" version('1.5.0', sha256='8f8a716d6daa6ba05df97d513960d35a39e040600bf04b313633f11679006fab') diff --git a/var/spack/repos/builtin/packages/rasqal/package.py b/var/spack/repos/builtin/packages/rasqal/package.py index d6926edd316..8ec29bd19e3 100644 --- a/var/spack/repos/builtin/packages/rasqal/package.py +++ b/var/spack/repos/builtin/packages/rasqal/package.py @@ -12,7 +12,7 @@ class Rasqal(AutotoolsPackage): syntaxes, query construction and execution of queries returning results as bindings, boolean, RDF graphs/triples or syntaxes.""" - homepage = "http://librdf.org/" + homepage = "https://librdf.org/" url = "http://download.librdf.org/source/rasqal-0.9.33.tar.gz" version('0.9.33', sha256='6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c') diff --git a/var/spack/repos/builtin/packages/recordproto/package.py b/var/spack/repos/builtin/packages/recordproto/package.py index f02c5b88f2c..6fd63c79f0a 100644 --- a/var/spack/repos/builtin/packages/recordproto/package.py +++ b/var/spack/repos/builtin/packages/recordproto/package.py @@ -12,7 +12,7 @@ class Recordproto(AutotoolsPackage, XorgPackage): This extension defines a protocol for the recording and playback of user actions in the X Window System.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/recordproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/recordproto" xorg_mirror_path = "proto/recordproto-1.14.2.tar.gz" version('1.14.2', sha256='485f792570dd7afe49144227f325bf2827bc7d87aae6a8ab6c1de2b06b1c68c5') diff --git a/var/spack/repos/builtin/packages/renderproto/package.py b/var/spack/repos/builtin/packages/renderproto/package.py index 83d98ed92e2..7d1ea7c0174 100644 --- a/var/spack/repos/builtin/packages/renderproto/package.py +++ b/var/spack/repos/builtin/packages/renderproto/package.py @@ -12,7 +12,7 @@ class Renderproto(AutotoolsPackage, XorgPackage): This extension defines the protcol for a digital image composition as the foundation of a new rendering model within the X Window System.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/renderproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/renderproto" xorg_mirror_path = "proto/renderproto-0.11.1.tar.gz" version('0.11.1', sha256='a0a4be3cad9381ae28279ba5582e679491fc2bec9aab8a65993108bf8dbce5fe') diff --git a/var/spack/repos/builtin/packages/resourceproto/package.py b/var/spack/repos/builtin/packages/resourceproto/package.py index fb565072dbf..a2517704031 100644 --- a/var/spack/repos/builtin/packages/resourceproto/package.py +++ b/var/spack/repos/builtin/packages/resourceproto/package.py @@ -12,7 +12,7 @@ class Resourceproto(AutotoolsPackage, XorgPackage): This extension defines a protocol that allows a client to query the X server about its usage of various resources.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/resourceproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/resourceproto" xorg_mirror_path = "proto/resourceproto-1.2.0.tar.gz" version('1.2.0', sha256='469029d14fdeeaa7eed1be585998ff4cb92cf664f872d1d69c04140815b78734') diff --git a/var/spack/repos/builtin/packages/scrnsaverproto/package.py b/var/spack/repos/builtin/packages/scrnsaverproto/package.py index 4365b7afca2..3894926f5d6 100644 --- a/var/spack/repos/builtin/packages/scrnsaverproto/package.py +++ b/var/spack/repos/builtin/packages/scrnsaverproto/package.py @@ -12,7 +12,7 @@ class Scrnsaverproto(AutotoolsPackage, XorgPackage): This extension defines a protocol to control screensaver features and also to query screensaver info on specific windows.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/scrnsaverproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/scrnsaverproto" xorg_mirror_path = "proto/scrnsaverproto-1.2.2.tar.gz" version('1.2.2', sha256='d8dee19c52977f65af08fad6aa237bacee11bc5a33e1b9b064e8ac1fd99d6e79') diff --git a/var/spack/repos/builtin/packages/setxkbmap/package.py b/var/spack/repos/builtin/packages/setxkbmap/package.py index 015fd23146d..df4c3302fa8 100644 --- a/var/spack/repos/builtin/packages/setxkbmap/package.py +++ b/var/spack/repos/builtin/packages/setxkbmap/package.py @@ -11,7 +11,7 @@ class Setxkbmap(AutotoolsPackage, XorgPackage): specified keyboard to use the layout determined by the options listed on the command line.""" - homepage = "http://cgit.freedesktop.org/xorg/app/setxkbmap" + homepage = "https://cgit.freedesktop.org/xorg/app/setxkbmap" xorg_mirror_path = "app/setxkbmap-1.3.1.tar.gz" version('1.3.1', sha256='e24a73669007fa3b280eba4bdc7f75715aeb2e394bf2d63f5cc872502ddde264') diff --git a/var/spack/repos/builtin/packages/smartmontools/package.py b/var/spack/repos/builtin/packages/smartmontools/package.py index 69fc9434c16..f4c01277c1a 100644 --- a/var/spack/repos/builtin/packages/smartmontools/package.py +++ b/var/spack/repos/builtin/packages/smartmontools/package.py @@ -9,7 +9,7 @@ class Smartmontools(AutotoolsPackage): """S.M.A.R.T. utility toolset.""" - homepage = "http://smartmontools.sourceforge.net" + homepage = "https://smartmontools.sourceforge.net" url = "https://nchc.dl.sourceforge.net/project/smartmontools/smartmontools/6.6/smartmontools-6.6.tar.gz" version('6.6', sha256='51f43d0fb064fccaf823bbe68cf0d317d0895ff895aa353b3339a3b316a53054') diff --git a/var/spack/repos/builtin/packages/twm/package.py b/var/spack/repos/builtin/packages/twm/package.py index c7de0c45d04..b44a71dfbca 100644 --- a/var/spack/repos/builtin/packages/twm/package.py +++ b/var/spack/repos/builtin/packages/twm/package.py @@ -12,7 +12,7 @@ class Twm(AutotoolsPackage, XorgPackage): user-defined macro functions, click-to-type and pointer-driven keyboard focus, and user-specified key and pointer button bindings.""" - homepage = "http://cgit.freedesktop.org/xorg/app/twm" + homepage = "https://cgit.freedesktop.org/xorg/app/twm" xorg_mirror_path = "app/twm-1.0.9.tar.gz" version('1.0.9', sha256='1c325e8456a200693c816baa27ceca9c5e5e0f36af63d98f70a335853a0039e8') diff --git a/var/spack/repos/builtin/packages/util-macros/package.py b/var/spack/repos/builtin/packages/util-macros/package.py index 6a6c671ec58..1bbf3d6ce44 100644 --- a/var/spack/repos/builtin/packages/util-macros/package.py +++ b/var/spack/repos/builtin/packages/util-macros/package.py @@ -11,7 +11,7 @@ class UtilMacros(AutotoolsPackage, XorgPackage): other Xorg modular packages, and is needed to generate new versions of their configure scripts with autoconf.""" - homepage = "http://cgit.freedesktop.org/xorg/util/macros/" + homepage = "https://cgit.freedesktop.org/xorg/util/macros/" xorg_mirror_path = "util/util-macros-1.19.1.tar.bz2" maintainers = ['robert-mijakovic'] diff --git a/var/spack/repos/builtin/packages/videoproto/package.py b/var/spack/repos/builtin/packages/videoproto/package.py index 4eb33f48cb1..b4bc2667fac 100644 --- a/var/spack/repos/builtin/packages/videoproto/package.py +++ b/var/spack/repos/builtin/packages/videoproto/package.py @@ -12,7 +12,7 @@ class Videoproto(AutotoolsPackage, XorgPackage): This extension provides a protocol for a video output mechanism, mainly to rescale video playback in the video controller hardware.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/videoproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/videoproto" xorg_mirror_path = "proto/videoproto-2.3.3.tar.gz" version('2.3.3', sha256='df8dfeb158767f843054248d020e291a2c40f7f5e0ac6d8706966686fee7c5c0') diff --git a/var/spack/repos/builtin/packages/xauth/package.py b/var/spack/repos/builtin/packages/xauth/package.py index c967c47c1c4..5c111a77b5f 100644 --- a/var/spack/repos/builtin/packages/xauth/package.py +++ b/var/spack/repos/builtin/packages/xauth/package.py @@ -10,7 +10,7 @@ class Xauth(AutotoolsPackage, XorgPackage): """The xauth program is used to edit and display the authorization information used in connecting to the X server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xauth" + homepage = "https://cgit.freedesktop.org/xorg/app/xauth" xorg_mirror_path = "app/xauth-1.0.9.tar.gz" version('1.0.9', sha256='0709070caf23ba2fb99536907b75be1fe31853999c62d3e87a6a8d26ba8a8cdb') diff --git a/var/spack/repos/builtin/packages/xbacklight/package.py b/var/spack/repos/builtin/packages/xbacklight/package.py index f465c75d545..f9f855b929e 100644 --- a/var/spack/repos/builtin/packages/xbacklight/package.py +++ b/var/spack/repos/builtin/packages/xbacklight/package.py @@ -12,7 +12,7 @@ class Xbacklight(AutotoolsPackage, XorgPackage): supporting backlight brightness control and changes them all in the same way.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xbacklight" + homepage = "https://cgit.freedesktop.org/xorg/app/xbacklight" xorg_mirror_path = "app/xbacklight-1.2.1.tar.gz" version('1.2.1', sha256='82c80cd851e3eb6d7a216d92465fcf6d5e456c2d5ac12c63cd2757b39fb65b10') diff --git a/var/spack/repos/builtin/packages/xcalc/package.py b/var/spack/repos/builtin/packages/xcalc/package.py index 68670ab684a..6f7ef79db7e 100644 --- a/var/spack/repos/builtin/packages/xcalc/package.py +++ b/var/spack/repos/builtin/packages/xcalc/package.py @@ -10,7 +10,7 @@ class Xcalc(AutotoolsPackage, XorgPackage): """xcalc is a scientific calculator X11 client that can emulate a TI-30 or an HP-10C.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xcalc" + homepage = "https://cgit.freedesktop.org/xorg/app/xcalc" xorg_mirror_path = "app/xcalc-1.0.6.tar.gz" version('1.0.6', sha256='7fd5cd9a35160925c41cbadfb1ea23599fa20fd26cd873dab20a650b24efe8d1') diff --git a/var/spack/repos/builtin/packages/xclock/package.py b/var/spack/repos/builtin/packages/xclock/package.py index 834005fb481..edcdf8df092 100644 --- a/var/spack/repos/builtin/packages/xclock/package.py +++ b/var/spack/repos/builtin/packages/xclock/package.py @@ -11,7 +11,7 @@ class Xclock(AutotoolsPackage, XorgPackage): the time in analog or digital form, continuously updated at a frequency which may be specified by the user.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xclock" + homepage = "https://cgit.freedesktop.org/xorg/app/xclock" xorg_mirror_path = "app/xclock-1.0.7.tar.gz" version('1.0.7', sha256='e730bd575938d5628ef47003a9d4d41b882621798227f5d0c12f4a26365ed1b5') diff --git a/var/spack/repos/builtin/packages/xcmiscproto/package.py b/var/spack/repos/builtin/packages/xcmiscproto/package.py index 85949760498..87f9145188d 100644 --- a/var/spack/repos/builtin/packages/xcmiscproto/package.py +++ b/var/spack/repos/builtin/packages/xcmiscproto/package.py @@ -12,7 +12,7 @@ class Xcmiscproto(AutotoolsPackage, XorgPackage): This extension defines a protocol that provides Xlib two ways to query the server for available resource IDs.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/xcmiscproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/xcmiscproto" xorg_mirror_path = "proto/xcmiscproto-1.2.2.tar.gz" version('1.2.2', sha256='48013cfbe4bd5580925a854a43e2bccbb4c7a5a31128070644617b6dc7f8ef85') diff --git a/var/spack/repos/builtin/packages/xcompmgr/package.py b/var/spack/repos/builtin/packages/xcompmgr/package.py index 20f1e857ca8..1776227dcc0 100644 --- a/var/spack/repos/builtin/packages/xcompmgr/package.py +++ b/var/spack/repos/builtin/packages/xcompmgr/package.py @@ -11,7 +11,7 @@ class Xcompmgr(AutotoolsPackage, XorgPackage): XFIXES, DAMAGE, RENDER, and COMPOSITE extensions. It enables basic eye-candy effects.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xcompmgr" + homepage = "https://cgit.freedesktop.org/xorg/app/xcompmgr" xorg_mirror_path = "app/xcompmgr-1.1.7.tar.gz" version('1.1.7', sha256='ef4b23c370f99403bbd9b6227f8aa4edc3bc83fc6d57ee71f6f442397cef505a') diff --git a/var/spack/repos/builtin/packages/xcursor-themes/package.py b/var/spack/repos/builtin/packages/xcursor-themes/package.py index e9b723b5bbc..bce2792562c 100644 --- a/var/spack/repos/builtin/packages/xcursor-themes/package.py +++ b/var/spack/repos/builtin/packages/xcursor-themes/package.py @@ -11,7 +11,7 @@ class XcursorThemes(Package, XorgPackage): originally created for the XFree86 Project, and now shipped as part of the X.Org software distribution.""" - homepage = "http://cgit.freedesktop.org/xorg/data/cursors" + homepage = "https://cgit.freedesktop.org/xorg/data/cursors" xorg_mirror_path = "data/xcursor-themes-1.0.4.tar.gz" version('1.0.4', sha256='8ed23bab13a4010fe4e95b37eefb634e31ac7cb8240b8b3b7d919c3a2db09503') diff --git a/var/spack/repos/builtin/packages/xdm/package.py b/var/spack/repos/builtin/packages/xdm/package.py index 434788ca612..c7dc9b11839 100644 --- a/var/spack/repos/builtin/packages/xdm/package.py +++ b/var/spack/repos/builtin/packages/xdm/package.py @@ -9,7 +9,7 @@ class Xdm(AutotoolsPackage, XorgPackage): """X Display Manager / XDMCP server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xdm" + homepage = "https://cgit.freedesktop.org/xorg/app/xdm" xorg_mirror_path = "app/xdm-1.1.11.tar.gz" version('1.1.11', sha256='38c544a986143b1f24566c1a0111486b339b92224b927be78714eeeedca12a14') diff --git a/var/spack/repos/builtin/packages/xdpyinfo/package.py b/var/spack/repos/builtin/packages/xdpyinfo/package.py index df91bfc3bf7..e9cc84dcdc5 100644 --- a/var/spack/repos/builtin/packages/xdpyinfo/package.py +++ b/var/spack/repos/builtin/packages/xdpyinfo/package.py @@ -14,7 +14,7 @@ class Xdpyinfo(AutotoolsPackage, XorgPackage): and the server, and the different types of screens, visuals, and X11 protocol extensions that are available.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xdpyinfo" + homepage = "https://cgit.freedesktop.org/xorg/app/xdpyinfo" xorg_mirror_path = "app/xdpyinfo-1.3.2.tar.gz" version('1.3.2', sha256='ef39935e8e9b328e54a85d6218d410d6939482da6058db1ee1b39749d98cbcf2') diff --git a/var/spack/repos/builtin/packages/xdriinfo/package.py b/var/spack/repos/builtin/packages/xdriinfo/package.py index 0c64b34b7d5..c1d471ba22e 100644 --- a/var/spack/repos/builtin/packages/xdriinfo/package.py +++ b/var/spack/repos/builtin/packages/xdriinfo/package.py @@ -9,7 +9,7 @@ class Xdriinfo(AutotoolsPackage, XorgPackage): """xdriinfo - query configuration information of X11 DRI drivers.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xdriinfo" + homepage = "https://cgit.freedesktop.org/xorg/app/xdriinfo" xorg_mirror_path = "app/xdriinfo-1.0.5.tar.gz" version('1.0.5', sha256='e4e6abaa4591c540ab63133927a6cebf0a5f4d27dcd978878ab4a422d62a838e') diff --git a/var/spack/repos/builtin/packages/xev/package.py b/var/spack/repos/builtin/packages/xev/package.py index 842ccde5d03..c4dba1e4db9 100644 --- a/var/spack/repos/builtin/packages/xev/package.py +++ b/var/spack/repos/builtin/packages/xev/package.py @@ -15,7 +15,7 @@ class Xev(AutotoolsPackage, XorgPackage): debugging and development tool, and should not be needed in normal usage.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xev" + homepage = "https://cgit.freedesktop.org/xorg/app/xev" xorg_mirror_path = "app/xev-1.2.2.tar.gz" version('1.2.2', sha256='e4c0c7b6f411e8b9731f2bb10d729d167bd00480d172c28b62607a6ea9e45c57') diff --git a/var/spack/repos/builtin/packages/xextproto/package.py b/var/spack/repos/builtin/packages/xextproto/package.py index cdf299f51f7..f7af7b1391c 100644 --- a/var/spack/repos/builtin/packages/xextproto/package.py +++ b/var/spack/repos/builtin/packages/xextproto/package.py @@ -9,7 +9,7 @@ class Xextproto(AutotoolsPackage, XorgPackage): """X Protocol Extensions.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/xextproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/xextproto" xorg_mirror_path = "proto/xextproto-7.3.0.tar.gz" version('7.3.0', sha256='1b1bcdf91221e78c6c33738667a57bd9aaa63d5953174ad8ed9929296741c9f5') diff --git a/var/spack/repos/builtin/packages/xeyes/package.py b/var/spack/repos/builtin/packages/xeyes/package.py index abf84807bb7..af7c0050386 100644 --- a/var/spack/repos/builtin/packages/xeyes/package.py +++ b/var/spack/repos/builtin/packages/xeyes/package.py @@ -9,7 +9,7 @@ class Xeyes(AutotoolsPackage, XorgPackage): """xeyes - a follow the mouse X demo, using the X SHAPE extension""" - homepage = "http://cgit.freedesktop.org/xorg/app/xeyes" + homepage = "https://cgit.freedesktop.org/xorg/app/xeyes" xorg_mirror_path = "app/xeyes-1.1.1.tar.gz" version('1.1.1', sha256='3a1871a560ab87c72a2e2ecb7fd582474448faec3e254c9bd8bead428ab1bca3') diff --git a/var/spack/repos/builtin/packages/xhost/package.py b/var/spack/repos/builtin/packages/xhost/package.py index 4ad318a2737..588331c9f44 100644 --- a/var/spack/repos/builtin/packages/xhost/package.py +++ b/var/spack/repos/builtin/packages/xhost/package.py @@ -10,7 +10,7 @@ class Xhost(AutotoolsPackage, XorgPackage): """xhost is used to manage the list of host names or user names allowed to make connections to the X server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xhost" + homepage = "https://cgit.freedesktop.org/xorg/app/xhost" xorg_mirror_path = "app/xhost-1.0.7.tar.gz" version('1.0.7', sha256='8dd1b6245dfbdef45a64a18ea618f233f77432c2f30881b1db9dc40d510d9490') diff --git a/var/spack/repos/builtin/packages/xinput/package.py b/var/spack/repos/builtin/packages/xinput/package.py index d26ddd5b61e..3003be55822 100644 --- a/var/spack/repos/builtin/packages/xinput/package.py +++ b/var/spack/repos/builtin/packages/xinput/package.py @@ -9,7 +9,7 @@ class Xinput(AutotoolsPackage, XorgPackage): """xinput is a utility to configure and test XInput devices.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xinput" + homepage = "https://cgit.freedesktop.org/xorg/app/xinput" xorg_mirror_path = "app/xinput-1.6.2.tar.gz" version('1.6.2', sha256='2c8ca5ff2a8703cb7d898629a4311db720dbd30d0c162bfe37f18849a727bd42') diff --git a/var/spack/repos/builtin/packages/xmessage/package.py b/var/spack/repos/builtin/packages/xmessage/package.py index 9d756553497..d4075ad5211 100644 --- a/var/spack/repos/builtin/packages/xmessage/package.py +++ b/var/spack/repos/builtin/packages/xmessage/package.py @@ -11,7 +11,7 @@ class Xmessage(AutotoolsPackage, XorgPackage): on an "okay" button to dismiss it or can select one of several buttons to answer a question. xmessage can also exit after a specified time.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xmessage" + homepage = "https://cgit.freedesktop.org/xorg/app/xmessage" xorg_mirror_path = "app/xmessage-1.0.4.tar.gz" version('1.0.4', sha256='883099c3952c8cace5bd11d3df2e9ca143fc07375997435d5ff4f2d50353acca') diff --git a/var/spack/repos/builtin/packages/xmore/package.py b/var/spack/repos/builtin/packages/xmore/package.py index 20d3aa06252..0b8faa8cae7 100644 --- a/var/spack/repos/builtin/packages/xmore/package.py +++ b/var/spack/repos/builtin/packages/xmore/package.py @@ -9,7 +9,7 @@ class Xmore(AutotoolsPackage, XorgPackage): """xmore - plain text display program for the X Window System.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xmore" + homepage = "https://cgit.freedesktop.org/xorg/app/xmore" xorg_mirror_path = "app/xmore-1.0.2.tar.gz" version('1.0.2', sha256='7371631d05986f1111f2026a77e43e048519738cfcc493c6222b66e7b0f309c0') diff --git a/var/spack/repos/builtin/packages/xorg-cf-files/package.py b/var/spack/repos/builtin/packages/xorg-cf-files/package.py index 48c3e6eaac6..83bac90d759 100644 --- a/var/spack/repos/builtin/packages/xorg-cf-files/package.py +++ b/var/spack/repos/builtin/packages/xorg-cf-files/package.py @@ -12,7 +12,7 @@ class XorgCfFiles(AutotoolsPackage, XorgPackage): have not been verified or tested in over a decade), and for many of the libraries formerly delivered in the X.Org monolithic releases.""" - homepage = "http://cgit.freedesktop.org/xorg/util/cf" + homepage = "https://cgit.freedesktop.org/xorg/util/cf" xorg_mirror_path = "util/xorg-cf-files-1.0.6.tar.gz" version('1.0.6', sha256='6d56094e5d1a6c7d7a9576ac3a0fc2c042344509ea900d59f4b23df668b96c7a') diff --git a/var/spack/repos/builtin/packages/xorg-docs/package.py b/var/spack/repos/builtin/packages/xorg-docs/package.py index 9f87d923bbb..6e2b1422c7a 100644 --- a/var/spack/repos/builtin/packages/xorg-docs/package.py +++ b/var/spack/repos/builtin/packages/xorg-docs/package.py @@ -12,7 +12,7 @@ class XorgDocs(AutotoolsPackage, XorgPackage): The preferred documentation format for these documents is DocBook XML.""" - homepage = "http://cgit.freedesktop.org/xorg/doc/xorg-docs" + homepage = "https://cgit.freedesktop.org/xorg/doc/xorg-docs" xorg_mirror_path = "doc/xorg-docs-1.7.1.tar.gz" version('1.7.1', sha256='360707db2ba48f6deeb53d570deca9fa98218af48ead4a726a67f63e3ef63816') diff --git a/var/spack/repos/builtin/packages/xorg-server/package.py b/var/spack/repos/builtin/packages/xorg-server/package.py index 2f942c4ed25..632e38b362a 100644 --- a/var/spack/repos/builtin/packages/xorg-server/package.py +++ b/var/spack/repos/builtin/packages/xorg-server/package.py @@ -10,7 +10,7 @@ class XorgServer(AutotoolsPackage, XorgPackage): """X.Org Server is the free and open source implementation of the display server for the X Window System stewarded by the X.Org Foundation.""" - homepage = "http://cgit.freedesktop.org/xorg/xserver" + homepage = "https://cgit.freedesktop.org/xorg/xserver" xorg_mirror_path = "xserver/xorg-server-1.18.99.901.tar.gz" version('1.18.99.901', sha256='c8425163b588de2ee7e5c8e65b0749f2710f55a7e02a8d1dc83b3630868ceb21') diff --git a/var/spack/repos/builtin/packages/xrandr/package.py b/var/spack/repos/builtin/packages/xrandr/package.py index 50b2d1d52dc..cfd42f9c4b3 100644 --- a/var/spack/repos/builtin/packages/xrandr/package.py +++ b/var/spack/repos/builtin/packages/xrandr/package.py @@ -10,7 +10,7 @@ class Xrandr(AutotoolsPackage, XorgPackage): """xrandr - primitive command line interface to X11 Resize, Rotate, and Reflect (RandR) extension.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xrandr" + homepage = "https://cgit.freedesktop.org/xorg/app/xrandr" xorg_mirror_path = "app/xrandr-1.5.0.tar.gz" version('1.5.0', sha256='ddfe8e7866149c24ccce8e6aaa0623218ae19130c2859cadcaa4228d8bb4a46d') diff --git a/var/spack/repos/builtin/packages/xrdb/package.py b/var/spack/repos/builtin/packages/xrdb/package.py index 2e19b83f3ad..69601aa06be 100644 --- a/var/spack/repos/builtin/packages/xrdb/package.py +++ b/var/spack/repos/builtin/packages/xrdb/package.py @@ -9,7 +9,7 @@ class Xrdb(AutotoolsPackage, XorgPackage): """xrdb - X server resource database utility.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xrdb" + homepage = "https://cgit.freedesktop.org/xorg/app/xrdb" xorg_mirror_path = "app/xrdb-1.1.0.tar.gz" version('1.1.0', sha256='44b0b6b7b7eb80b83486dfea67c880f6b0059052386c7ddec4d58fd2ad9ae8e9') diff --git a/var/spack/repos/builtin/packages/xset/package.py b/var/spack/repos/builtin/packages/xset/package.py index cf929d2362d..ddb0c8cde42 100644 --- a/var/spack/repos/builtin/packages/xset/package.py +++ b/var/spack/repos/builtin/packages/xset/package.py @@ -9,7 +9,7 @@ class Xset(AutotoolsPackage, XorgPackage): """User preference utility for X.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xset" + homepage = "https://cgit.freedesktop.org/xorg/app/xset" xorg_mirror_path = "app/xset-1.2.3.tar.gz" version('1.2.3', sha256='5ecb2bb2cbf3c9349b735080b155a08c97b314dacedfc558c7f5a611ee1297f7') diff --git a/var/spack/repos/builtin/packages/xsetroot/package.py b/var/spack/repos/builtin/packages/xsetroot/package.py index 5e71a05dd2c..c8569da50af 100644 --- a/var/spack/repos/builtin/packages/xsetroot/package.py +++ b/var/spack/repos/builtin/packages/xsetroot/package.py @@ -9,7 +9,7 @@ class Xsetroot(AutotoolsPackage, XorgPackage): """xsetroot - root window parameter setting utility for X.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xsetroot" + homepage = "https://cgit.freedesktop.org/xorg/app/xsetroot" xorg_mirror_path = "app/xsetroot-1.1.1.tar.gz" version('1.1.1', sha256='6cdd48757d18835251124138b4a8e4008c3bbc51cf92533aa39c6ed03277168b') diff --git a/var/spack/repos/builtin/packages/xsimd/package.py b/var/spack/repos/builtin/packages/xsimd/package.py index 8d2fb4df877..1ac00736289 100644 --- a/var/spack/repos/builtin/packages/xsimd/package.py +++ b/var/spack/repos/builtin/packages/xsimd/package.py @@ -9,7 +9,7 @@ class Xsimd(CMakePackage): """C++ wrappers for SIMD intrinsics""" - homepage = "http://quantstack.net/xsimd" + homepage = "https://quantstack.net/xsimd" url = "https://github.com/QuantStack/xsimd/archive/3.1.0.tar.gz" git = "https://github.com/QuantStack/xsimd.git" diff --git a/var/spack/repos/builtin/packages/xtensor/package.py b/var/spack/repos/builtin/packages/xtensor/package.py index 93739bea00f..1a826637636 100644 --- a/var/spack/repos/builtin/packages/xtensor/package.py +++ b/var/spack/repos/builtin/packages/xtensor/package.py @@ -9,7 +9,7 @@ class Xtensor(CMakePackage): """Multi-dimensional arrays with broadcasting and lazy computing""" - homepage = "http://quantstack.net/xtensor" + homepage = "https://github.com/xtensor-stack/xtensor-io" url = "https://github.com/QuantStack/xtensor/archive/0.13.1.tar.gz" git = "https://github.com/QuantStack/xtensor.git" diff --git a/var/spack/repos/builtin/packages/xtrans/package.py b/var/spack/repos/builtin/packages/xtrans/package.py index b084adf78f7..9c25db86799 100644 --- a/var/spack/repos/builtin/packages/xtrans/package.py +++ b/var/spack/repos/builtin/packages/xtrans/package.py @@ -12,7 +12,7 @@ class Xtrans(AutotoolsPackage, XorgPackage): single place to add new transport types. It is used by the X server, libX11, libICE, the X font server, and related components.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libxtrans" + homepage = "https://cgit.freedesktop.org/xorg/lib/libxtrans" xorg_mirror_path = "lib/xtrans-1.3.5.tar.gz" version('1.3.5', sha256='b7a577c1b6c75030145e53b4793db9c88f9359ac49e7d771d4385d21b3e5945d') diff --git a/var/spack/repos/builtin/packages/yorick/package.py b/var/spack/repos/builtin/packages/yorick/package.py index 97da8f1633d..72fe5d8c32f 100644 --- a/var/spack/repos/builtin/packages/yorick/package.py +++ b/var/spack/repos/builtin/packages/yorick/package.py @@ -16,7 +16,7 @@ class Yorick(Package): most operating systems (*nix systems, MacOS X, Windows). """ - homepage = "http://dhmunro.github.io/yorick-doc/" + homepage = "https://dhmunro.github.io/yorick-doc/" url = "https://github.com/dhmunro/yorick/archive/y_2_2_04.tar.gz" git = "https://github.com/dhmunro/yorick.git" From 12e87ebf140ea936b2d2711a09e557ac6d2179b9 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 27 Aug 2021 10:52:00 +0200 Subject: [PATCH 352/414] Fix fish test "framework" (#25242) Remove broken test, see #21699 --- share/spack/qa/setup-env-test.fish | 50 ++++++++++-------------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/share/spack/qa/setup-env-test.fish b/share/spack/qa/setup-env-test.fish index c0738515d15..585b45bb9ca 100755 --- a/share/spack/qa/setup-env-test.fish +++ b/share/spack/qa/setup-env-test.fish @@ -24,7 +24,7 @@ function allocate_testing_global -d "allocate global variables used for testing" end -function delete_testing_global -d "deallocate global varialbes used for testing" +function delete_testing_global -d "deallocate global variables used for testing" set -e __spt_red set -e __spt_cyan @@ -90,9 +90,12 @@ function spt_succeeds set -l output (eval $argv 2>&1) - if test $status -ne 0 + # Save the command result + set cmd_status $status + + if test $cmd_status -ne 0 fail - echo_red "Command failed with error $status" + echo_red "Command failed with error $cmd_status" if test -n "$output" echo_msg "Output:" echo "$output" @@ -116,7 +119,7 @@ function spt_fails if test $status -eq 0 fail - echo_red "Command failed with error $status" + echo_red "Command succeeded, but should fail" if test -n "$output" echo_msg "Output:" echo "$output" @@ -142,9 +145,14 @@ function spt_contains set -l output (eval $remaining_args 2>&1) + # Save the command result + set cmd_status $status + if not echo "$output" | string match -q -r ".*$target_string.*" fail - echo_red "Command exited with error $status" + if test $cmd_status -ne 0 + echo_red "Command exited with error $cmd_status" + end echo_red "'$target_string' was not in output." if test -n "$output" echo_msg "Output:" @@ -249,13 +257,7 @@ echo "Creating a mock environment" spack env create spack_test_env # ensure that we uninstall b on exit -function spt_cleanup - - set trapped_error false - if test $status -ne 0 - set trapped_error true - end - +function spt_cleanup -p %self echo "Removing test environment before exiting." spack env deactivate 2>&1 > /dev/null spack env rm -y spack_test_env @@ -268,30 +270,9 @@ function spt_cleanup echo "$__spt_success tests succeeded." echo "$__spt_errors tests failed." - if test "$trapped_error" = false - echo "Exited due to an error." - end - - if test "$__spt_errors" -eq 0 - if test "$trapped_error" = false - pass - exit 0 - else - fail - exit 1 - end - else - fail - exit 1 - end - delete_testing_global end -trap spt_cleanup EXIT - - - # ----------------------------------------------------------------------- # Test all spack commands with special env support # ----------------------------------------------------------------------- @@ -322,7 +303,6 @@ spt_contains "set -gx LD_LIBRARY_PATH $_b_ld" spack -m load --only package --fis spt_succeeds spack -m load b # test a variable MacOS clears and one it doesn't for recursive loads spt_contains "set -gx LD_LIBRARY_PATH $_a_ld:$_b_ld" spack -m load --fish a -spt_contains "set -gx LIBRARY_PATH $_a_ld:$_b_ld" spack -m load --fish a spt_succeeds spack -m load --only dependencies a spt_succeeds spack -m load --only package a spt_fails spack -m load d @@ -393,3 +373,5 @@ is_not_set SPACK_ENV # despacktivate # is_not_set SPACK_ENV # is_not_set SPACK_OLD_PS1 + +test "$__spt_errors" -eq 0 From c152e558e948a53d5c206835a027194386c5eb8c Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 27 Aug 2021 11:10:03 +0200 Subject: [PATCH 353/414] Make `SpecBuildInterface` pickleable (#25628) * Add a __reduce__ method to SpecBuildInterface This class was confusing pickle when being serialized, due to its scary nature of being an object that disguise as another type. * Add more MacOS tests, switch them to clingo * Fix condition syntax * Remove Python v3.6 and v3.9 with macOS --- .github/workflows/unit_tests.yaml | 4 ++++ lib/spack/spack/spec.py | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index 6436b6f6ad2..29c251503c4 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -337,10 +337,14 @@ jobs: run: | brew install dash fish gcc gnupg2 kcov - name: Run unit tests + env: + SPACK_TEST_SOLVER: clingo run: | git --version . .github/workflows/setup_git.sh . share/spack/setup-env.sh + $(which spack) bootstrap untrust spack-install + $(which spack) solve zlib if [ "${{ needs.changes.outputs.with_coverage }}" == "true" ] then coverage run $(which spack) unit-test -x diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index af282e44254..7ab0ffa5fd0 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -1019,7 +1019,9 @@ class SpecBuildInterface(lang.ObjectWrapper): def __init__(self, spec, name, query_parameters): super(SpecBuildInterface, self).__init__(spec) - + # Adding new attributes goes after super() call since the ObjectWrapper + # resets __dict__ to behave like the passed object + self.token = spec, name, query_parameters is_virtual = spack.repo.path.is_virtual(name) self.last_query = QueryState( name=name, @@ -1027,6 +1029,9 @@ def __init__(self, spec, name, query_parameters): isvirtual=is_virtual ) + def __reduce__(self): + return SpecBuildInterface, self.token + @lang.lazy_lexicographic_ordering(set_hash=False) class Spec(object): From 97ea57e59f879bba15223d10ba57ff6d7dcca16b Mon Sep 17 00:00:00 2001 From: Jordan Galby <67924449+Jordan474@users.noreply.github.com> Date: Fri, 27 Aug 2021 13:16:26 +0200 Subject: [PATCH 354/414] Add ld.gold and ld.lld compiler wrapper (#25626) The gcc compiler can be configured to use `ld.gold` by default. It will then call `ld.gold` explicitly when linking. When so, spack need to have a ld.gold wrapper in PATH to inject rpaths link flags etc... Also I wouldn't be surprised to see some package calling `ld.gold` directly. As for ld.gold, the argument could be made that we want to support any package that could call ld.lld. --- .gitignore | 1 + lib/spack/env/cc | 2 +- lib/spack/env/ld.gold | 1 + lib/spack/env/ld.lld | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) create mode 120000 lib/spack/env/ld.gold create mode 120000 lib/spack/env/ld.lld diff --git a/.gitignore b/.gitignore index c3d2670af45..c75b98089c7 100644 --- a/.gitignore +++ b/.gitignore @@ -132,6 +132,7 @@ celerybeat.pid .env .venv env/ +!/lib/spack/env venv/ ENV/ env.bak/ diff --git a/lib/spack/env/cc b/lib/spack/env/cc index 5157a5f3815..2bcff42dfd0 100755 --- a/lib/spack/env/cc +++ b/lib/spack/env/cc @@ -163,7 +163,7 @@ case "$command" in lang_flags=F debug_flags="-g" ;; - ld) + ld|ld.gold|ld.lld) mode=ld ;; *) diff --git a/lib/spack/env/ld.gold b/lib/spack/env/ld.gold new file mode 120000 index 00000000000..2652f5f42c0 --- /dev/null +++ b/lib/spack/env/ld.gold @@ -0,0 +1 @@ +cc \ No newline at end of file diff --git a/lib/spack/env/ld.lld b/lib/spack/env/ld.lld new file mode 120000 index 00000000000..2652f5f42c0 --- /dev/null +++ b/lib/spack/env/ld.lld @@ -0,0 +1 @@ +cc \ No newline at end of file From 5c1710f7dc219e1563622de86f50e24993a6f0d6 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Fri, 27 Aug 2021 14:22:42 +0200 Subject: [PATCH 355/414] glib: add 2.68.4 (#25660) --- var/spack/repos/builtin/packages/glib/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/glib/package.py b/var/spack/repos/builtin/packages/glib/package.py index 20e04bf5436..975fbd5b754 100644 --- a/var/spack/repos/builtin/packages/glib/package.py +++ b/var/spack/repos/builtin/packages/glib/package.py @@ -23,6 +23,7 @@ class Glib(Package): maintainers = ['michaelkuhn'] + version('2.68.4', sha256='62fd061d08a75492617e625a73e2c05e259f831acbb8e1f8b9c81f23f7993a3b') version('2.68.3', sha256='e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138') version('2.68.2', sha256='ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb') version('2.66.8', sha256='97bc87dd91365589af5cbbfea2574833aea7a1b71840fd365ecd2852c76b9c8b') From 4f3a5385198db52b7fdcf860de4a35993cbb52e3 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Fri, 27 Aug 2021 14:35:00 +0200 Subject: [PATCH 356/414] meson: add 0.59.1 and 0.58.2 (#25661) --- var/spack/repos/builtin/packages/meson/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/meson/package.py b/var/spack/repos/builtin/packages/meson/package.py index 1a9053cf366..4c401140305 100644 --- a/var/spack/repos/builtin/packages/meson/package.py +++ b/var/spack/repos/builtin/packages/meson/package.py @@ -16,7 +16,9 @@ class Meson(PythonPackage): maintainers = ['michaelkuhn'] + version('0.59.1', sha256='f256eb15329a6064f8cc1f23b29de1fa8d21e324f939041e1a4efe77cf1362ef') version('0.59.0', sha256='fdbbe8ea8a47f9e21cf4f578f85be8ec3d9c030df3d8cb17df1ae59d8683813a') + version('0.58.2', sha256='58115604dea9c1f70811578df3c210f4d67cf795d21a4418f6e9bb35406953f5') version('0.58.1', sha256='78e0f553dd3bc632d5f96ab943b1bbccb599c2c84ff27c5fb7f7fff9c8a3f6b4') version('0.58.0', sha256='991b882bfe4d37acc23c064a29ca209458764a580d52f044f3d50055a132bed4') version('0.57.2', sha256='cd3773625253df4fd1c380faf03ffae3d02198d6301e7c8bc7bba6c66af66096') From 7fd4dee9624c51197d68e4f5ea6f4c44e21266f1 Mon Sep 17 00:00:00 2001 From: Timothy Brown Date: Fri, 27 Aug 2021 11:26:06 -0600 Subject: [PATCH 357/414] ESMF package: add version 8.1.1 (#25590) Also build with internal lapack library by default. --- var/spack/repos/builtin/packages/esmf/package.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py index c2c05c24232..a00e49ee904 100644 --- a/var/spack/repos/builtin/packages/esmf/package.py +++ b/var/spack/repos/builtin/packages/esmf/package.py @@ -18,12 +18,13 @@ class Esmf(MakefilePackage): homepage = "https://www.earthsystemcog.org/projects/esmf/" url = 'https://github.com/esmf-org/esmf/archive/ESMF_8_0_1.tar.gz' + version('8.1.1', sha256='58c2e739356f21a1b32673aa17a713d3c4af9d45d572f4ba9168c357d586dc75') version('8.0.1', sha256='9172fb73f3fe95c8188d889ee72fdadb4f978b1d969e1d8e401e8d106def1d84') version('8.0.0', sha256='051dca45f9803d7e415c0ea146df15ce487fb55f0fce18ca61d96d4dba0c8774') version('7.1.0r', sha256='ae9a5edb8d40ae97a35cbd4bd00b77061f995c77c43d36334dbb95c18b00a889') variant('mpi', default=True, description='Build with MPI support') - variant('lapack', default=True, description='Build with LAPACK support') + variant('external-lapack', default=False, description='Build with external LAPACK support') variant('netcdf', default=True, description='Build with NetCDF support') variant('pnetcdf', default=True, description='Build with pNetCDF support') variant('xerces', default=True, description='Build with Xerces support') @@ -36,7 +37,7 @@ class Esmf(MakefilePackage): # Optional dependencies depends_on('mpi', when='+mpi') - depends_on('lapack@3:', when='+lapack') + depends_on('lapack@3:', when='+external-lapack') depends_on('netcdf-c@3.6:', when='+netcdf') depends_on('netcdf-fortran@3.6:', when='+netcdf') depends_on('parallel-netcdf@1.2.0:', when='+pnetcdf') @@ -185,7 +186,7 @@ def edit(self, spec, prefix): # LAPACK # ########## - if '+lapack' in spec: + if '+external-lapack' in spec: # A system-dependent external LAPACK/BLAS installation is used # to satisfy the external dependencies of the LAPACK-dependent # ESMF code. @@ -199,8 +200,7 @@ def edit(self, spec, prefix): # to the application. os.environ['ESMF_LAPACK_LIBS'] = spec['lapack'].libs.link_flags # noqa else: - # Disables LAPACK-dependent code. - os.environ['ESMF_LAPACK'] = 'OFF' + os.environ['ESMF_LAPACK'] = 'internal' ########## # NetCDF # From 2d97d877e49c947ced2c7a09e6d16c6c71c079ac Mon Sep 17 00:00:00 2001 From: Jordan Galby <67924449+Jordan474@users.noreply.github.com> Date: Fri, 27 Aug 2021 19:42:12 +0200 Subject: [PATCH 358/414] figlet: Fix figlet font dir (#25662) By default, figlet looks for fonts in `/usr/local/share/figlet`, and if it doesn't exist you get `figlet: standard: Unable to open font file`. This fix changes the default font dir to the one installed in the install prefix. --- var/spack/repos/builtin/packages/figlet/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/figlet/package.py b/var/spack/repos/builtin/packages/figlet/package.py index 31c1f61cea3..cc6b1d883e1 100644 --- a/var/spack/repos/builtin/packages/figlet/package.py +++ b/var/spack/repos/builtin/packages/figlet/package.py @@ -29,3 +29,7 @@ def install(self, spec, prefix): install(f, prefix.man6) install_tree('./fonts', prefix.share.figlet) + + @property + def build_targets(self): + return ['DEFAULTFONTDIR=' + self.prefix.share.figlet] From ed07fa4c378a039f54b1a821a5b48ea75979e50e Mon Sep 17 00:00:00 2001 From: Dylan Simon Date: Fri, 27 Aug 2021 13:44:10 -0400 Subject: [PATCH 359/414] r-irkernel: add version 1.2; update version 0.7 (#25644) Use a commit hash instead of a tag for 0.7 --- var/spack/repos/builtin/packages/r-irkernel/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/r-irkernel/package.py b/var/spack/repos/builtin/packages/r-irkernel/package.py index 89e722cf1a9..0a05bd97c9f 100644 --- a/var/spack/repos/builtin/packages/r-irkernel/package.py +++ b/var/spack/repos/builtin/packages/r-irkernel/package.py @@ -13,7 +13,8 @@ class RIrkernel(RPackage): homepage = "https://irkernel.github.io/" git = "https://github.com/IRkernel/IRkernel.git" - version('master', tag='0.7') + version('1.2', commit='d7f868127b876fd490aeff2a75b4254a2898f96c') + version('0.7', commit='9cdd284e03eb42d03fab18544b81f486852d5fe0') depends_on('r-repr', type=('build', 'run')) depends_on('r-irdisplay', type=('build', 'run')) From 9d95125d6a98025a8b6e3e8f243f4bec4791241a Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 27 Aug 2021 12:51:48 -0500 Subject: [PATCH 360/414] py-pyinstrument: add version 4.0.3 (#25632) * Swap github download link for pypi * Versions >= 4 dont need npm --- .../builtin/packages/py-pyinstrument/package.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pyinstrument/package.py b/var/spack/repos/builtin/packages/py-pyinstrument/package.py index dbc30c78755..104680d4bf8 100644 --- a/var/spack/repos/builtin/packages/py-pyinstrument/package.py +++ b/var/spack/repos/builtin/packages/py-pyinstrument/package.py @@ -10,12 +10,15 @@ 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.3.tar.gz" + pypi = "pyinstrument/pyinstrument-4.0.3.tar.gz" - version('3.1.3', sha256='ca4571775caa06444cd7e832056afc21175130271fe3f3481e3ab1bf67f96c8b') - version('3.1.0', sha256='02319607daf65110e246085f5e2ee111f565f213eed1991229f2d58e9a7657a5') + version('4.0.3', sha256='08caf41d21ae8f24afe79c664a34af1ed1e17aa5d4441cd9b1dc15f87bbbac95') + version('3.1.3', sha256='353c7000a6563b16c0be0c6a04104d42b3154c5cd7c1979ab66efa5fdc5f5571') + version('3.1.0', sha256='10c1fed4996a72c3e1e2bac1940334756894dbd116df3cc3b2d9743f2ae43016') + depends_on('python@3.7:', when='@4:', type=('build', 'run')) + depends_on('python@3.6:', when='@3.3:3.4', type=('build', 'run')) depends_on('py-setuptools', type=('build', 'run')) - depends_on('py-pytest-runner', type='build') - depends_on('npm', type='build') - depends_on('py-pyinstrument-cext@0.2.2:', type=('build', 'run')) + depends_on('py-pytest-runner', when='@:3.1.3', type='build') + depends_on('npm', when='@:3', type='build') + depends_on('py-pyinstrument-cext@0.2.2:', when='@:3', type=('build', 'run')) From a7c6224b3a456e371d25701d5d8419d11f5bc5fd Mon Sep 17 00:00:00 2001 From: Chris Richardson Date: Fri, 27 Aug 2021 18:55:01 +0100 Subject: [PATCH 361/414] FEniCSx packages: add version 0.3.0 (#25627) --- .../repos/builtin/packages/fenics-basix/package.py | 4 +++- .../builtin/packages/fenics-dolfinx/package.py | 10 ++++++++-- .../builtin/packages/py-fenics-basix/package.py | 6 +++++- .../builtin/packages/py-fenics-dolfinx/package.py | 13 +++++++++++-- .../builtin/packages/py-fenics-ffcx/package.py | 8 ++++++-- 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/var/spack/repos/builtin/packages/fenics-basix/package.py b/var/spack/repos/builtin/packages/fenics-basix/package.py index da61c4be4e6..e86d653a59d 100644 --- a/var/spack/repos/builtin/packages/fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/fenics-basix/package.py @@ -10,11 +10,13 @@ class FenicsBasix(CMakePackage): """FEniCS element and quadrature runtime""" homepage = "https://github.com/FEniCS/basix" - url = "https://github.com/FEniCS/basix/archive/0.1.0.tar.gz" + url = "https://github.com/FEniCS/basix/archive/v0.1.0.tar.gz" git = "https://github.com/FEniCS/basix.git" maintainers = ["mscroggs", "chrisrichardson", "garth-wells"] version("main", branch="main") + version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07") + version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb") version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") depends_on("cmake@3.18:", type="build") diff --git a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py index 0f74ef4ea54..1266b7e1667 100644 --- a/var/spack/repos/builtin/packages/fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/fenics-dolfinx/package.py @@ -11,10 +11,12 @@ class FenicsDolfinx(CMakePackage): homepage = "https://github.com/FEniCS/dolfinx" git = "https://github.com/FEniCS/dolfinx.git" - url = "https://github.com/FEniCS/dolfinx/archive/0.1.0.tar.gz" + url = "https://github.com/FEniCS/dolfinx/archive/v0.1.0.tar.gz" maintainers = ["js947", "chrisrichardson", "garth-wells"] version("main", branch="main") + version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed") + version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4") version("0.1.0", sha256="0269379769b5b6d4d1864ded64402ecaea08054c2a5793c8685ea15a59af5e33") variant("kahip", default=False, description="kahip support") @@ -24,7 +26,7 @@ class FenicsDolfinx(CMakePackage): depends_on("cmake@3.18:", type="build") depends_on("pkgconfig", type="build") depends_on("mpi") - depends_on("hdf5") + depends_on("hdf5+mpi") depends_on("boost@1.7.0:+filesystem+program_options+timer") depends_on("petsc+mpi+shared") depends_on("petsc+mpi+shared@3.15.0:", when="@0.1.0") @@ -37,10 +39,14 @@ class FenicsDolfinx(CMakePackage): depends_on("py-fenics-ffcx", type=("build", "run")) depends_on("py-fenics-ffcx@main", type=("build", "run"), when="@main") + depends_on("py-fenics-ffcx@0.3.0", type=("build", "run"), when="@0.3.0") + depends_on("py-fenics-ffcx@0.2.0", type=("build", "run"), when="@0.2.0") depends_on("py-fenics-ffcx@0.1.0", type=("build", "run"), when="@0.1.0") depends_on("fenics-basix", type=("build", "link")) depends_on("fenics-basix@main", type=("build", "link"), when="@main") + depends_on("fenics-basix@0.3.0", type=("build", "link"), when="@0.3.0") + depends_on("fenics-basix@0.2.0", type=("build", "link"), when="@0.2.0") depends_on("fenics-basix@0.1.0", type=("build", "link"), when="@0.1.0") conflicts('%gcc@:8', msg='Improved C++17 support required') diff --git a/var/spack/repos/builtin/packages/py-fenics-basix/package.py b/var/spack/repos/builtin/packages/py-fenics-basix/package.py index 01054602dab..1f5c567059e 100644 --- a/var/spack/repos/builtin/packages/py-fenics-basix/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-basix/package.py @@ -11,14 +11,18 @@ class PyFenicsBasix(PythonPackage): environment""" homepage = "https://github.com/FEniCS/basix" - url = "https://github.com/FEniCS/basix/archive/0.1.0.tar.gz" + url = "https://github.com/FEniCS/basix/archive/v0.1.0.tar.gz" git = "https://github.com/FEniCS/basix.git" maintainers = ["chrisrichardson", "mscroggs", "garth-wells"] version("main", branch="main") + version("0.3.0", sha256="9b148fd2a5485c94011fc6ca977ebdef0e51782a62b3654fc044f35b60e2bd07") + version("0.2.0", sha256="e1ec537737adb283717060221635092474e3f2b5b5ba79dfac74aa496bec2fcb") version("0.1.0", sha256="2ab41fe6ad4f6c42f01b17a6e7c39debb4e0ae61c334d1caebee78b741bca4e7") depends_on("fenics-basix@main", type=("build", "run"), when="@main") + depends_on("fenics-basix@0.3.0", type=("build", "run"), when="@0.3.0") + depends_on("fenics-basix@0.2.0", type=("build", "run"), when="@0.2.0") depends_on("fenics-basix@0.1.0", type=("build", "run"), when="@0.1.0") depends_on("python@3.7:", 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 index bc5d4116584..bb5d442be3b 100644 --- a/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-dolfinx/package.py @@ -11,11 +11,13 @@ class PyFenicsDolfinx(PythonPackage): environment""" homepage = "https://github.com/FEniCS/dolfinx" - url = "https://github.com/FEniCS/dolfinx/archive/0.1.0.tar.gz" + url = "https://github.com/FEniCS/dolfinx/archive/v0.1.0.tar.gz" git = "https://github.com/FEniCS/dolfinx.git" maintainers = ["js947", "chrisrichardson", "garth-wells"] version("main", branch="main") + version("0.3.0", sha256="4857d0fcb44a4e9bf9eb298ba5377abdee17a7ad0327448bdd06cce73d109bed") + version("0.2.0", sha256="4c9b5a5c7ef33882c99299c9b4d98469fb7aa470a37a91bc5be3bb2fc5b863a4") version("0.1.0", sha256="0269379769b5b6d4d1864ded64402ecaea08054c2a5793c8685ea15a59af5e33") depends_on("cmake@3.18:", type="build") @@ -24,18 +26,25 @@ class PyFenicsDolfinx(PythonPackage): depends_on('python@3.7:', type=('build', 'run')) depends_on("py-setuptools", type="build") depends_on("fenics-dolfinx@main", when="@main") + depends_on("fenics-dolfinx@0.3.0", when="@0.3.0") + depends_on("fenics-dolfinx@0.2.0", when="@0.2.0") depends_on("fenics-dolfinx@0.1.0", when="@0.1.0") depends_on("fenics-basix@main", type=("build", "link"), when="@main") + depends_on("fenics-basix@0.3.0", type=("build", "link"), when="@0.3.0") + depends_on("fenics-basix@0.2.0", type=("build", "link"), when="@0.2.0") depends_on("fenics-basix@0.1.0", type=("build", "link"), when="@0.1.0") + depends_on("py-numpy@:1.20.3", type=("build", "run")) depends_on("py-mpi4py", type=("build", "run")) depends_on("py-petsc4py", type=("build", "run")) depends_on("py-pybind11@2.6.2:2.7.99", type=("build", "run")) depends_on("xtensor@0.23.10:", type="build") depends_on("py-fenics-ffcx@main", type="run", when="@main") + depends_on("py-fenics-ffcx@0.3.0", type="run", when="@0.3.0") + depends_on("py-fenics-ffcx@0.2.0", type="run", when="@0.2.0") depends_on("py-fenics-ffcx@0.1.0", type="run", when="@0.1.0") depends_on("py-fenics-ufl@main", type="run", when="@main") - depends_on("py-fenics-ufl@2021.1.0", type="run", when="@0.1.0") + depends_on("py-fenics-ufl@2021.1.0", type="run", when="@0.1:") depends_on("py-cffi", type="run") depends_on("py-numpy", type="run") diff --git a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py index a5d4ceeb73e..8220ce2c53b 100644 --- a/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py +++ b/var/spack/repos/builtin/packages/py-fenics-ffcx/package.py @@ -10,11 +10,13 @@ class PyFenicsFfcx(PythonPackage): """Next generation FEniCS Form Compiler""" homepage = "https://github.com/FEniCS/ffcx" - url = "https://github.com/FEniCS/ffcx/archive/0.1.0.tar.gz" + url = "https://github.com/FEniCS/ffcx/archive/v0.1.0.tar.gz" git = "https://github.com/FEniCS/ffcx.git" maintainers = ["js947", "chrisrichardson", "garth-wells"] version('main', branch='main') + version('0.3.0', sha256='33fa1a0cc5762f360033c25a99ec9462be933f8ba413279e35cd2c3b5c3e6096') + version('0.2.0', sha256='562a704163a6427e0341d267e69b8bf55d8f53d673829170b443191577e8d9b6') version('0.1.0', sha256='98a47906146ac892fb4a358e04cbfd04066f12d0a4cdb505a6b08ff0b1a17e89') depends_on('python@3.7:', type=('build', 'run')) @@ -22,9 +24,11 @@ class PyFenicsFfcx(PythonPackage): depends_on('py-cffi', type='run') depends_on('py-fenics-ufl@main', type='run', when='@main') - depends_on('py-fenics-ufl@2021.1.0', type='run', when='@0.1.0') + depends_on('py-fenics-ufl@2021.1.0', type='run', when='@0.1:') depends_on('py-fenics-basix@main', type='run', when='@main') + depends_on('py-fenics-basix@0.3.0', type='run', when='@0.3.0') + depends_on('py-fenics-basix@0.2.0', type='run', when='@0.2.0') depends_on('py-fenics-basix@0.1.0', type='run', when='@0.1.0') depends_on('py-numpy', type='run') From 98e6e4a3a5caeadbed542cb92cea8746f7492b88 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 27 Aug 2021 12:57:07 -0500 Subject: [PATCH 362/414] New package: py-flit (#25630) --- .../builtin/packages/py-flit-core/package.py | 26 +++++++++++++++++++ .../repos/builtin/packages/py-flit/package.py | 22 ++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-flit-core/package.py create mode 100644 var/spack/repos/builtin/packages/py-flit/package.py diff --git a/var/spack/repos/builtin/packages/py-flit-core/package.py b/var/spack/repos/builtin/packages/py-flit-core/package.py new file mode 100644 index 00000000000..45ca520d2eb --- /dev/null +++ b/var/spack/repos/builtin/packages/py-flit-core/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyFlitCore(Package): + """Distribution-building parts of Flit.""" + + homepage = "https://github.com/takluyver/flit" + url = "https://pypi.io/packages/py3/f/flit-core/flit_core-3.3.0-py3-none-any.whl" + + version('3.3.0', sha256='9b247b3095cb3c43933a59a7433f92ddfdd7fc843e08ef0f4550d53a9cfbbef6', expand=False) + + extends('python') + depends_on('python@3.4:', type=('build', 'run')) + depends_on('py-pip', type='build') + depends_on('py-toml', type=('build', 'run')) + + def install(self, spec, prefix): + # Install wheel instead of installing from source + # to prevent circular dependency on flit + pip = which('pip') + pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-flit/package.py b/var/spack/repos/builtin/packages/py-flit/package.py new file mode 100644 index 00000000000..0cd7a623637 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-flit/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyFlit(PythonPackage): + """Flit is a simple way to put Python packages and modules on PyPI.""" + + pypi = "flit/flit-3.3.0.tar.gz" + + version('3.3.0', sha256='65fbe22aaa7f880b776b20814bd80b0afbf91d1f95b17235b608aa256325ce57') + + depends_on('py-flit-core@3.3.0:', type=('build', 'run')) + depends_on('py-requests', type=('build', 'run')) + depends_on('py-docutils', type=('build', 'run')) + depends_on('py-toml', type=('build', 'run')) + + def setup_dependent_package(self, module, dependent_spec): + module.flit = Executable(self.prefix.bin.flit) From 32210b06588671a736b1744db90f9c27dce2804c Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 27 Aug 2021 12:58:20 -0500 Subject: [PATCH 363/414] py-pathlib: prevent conflicts with standard library (#25631) --- var/spack/repos/builtin/packages/py-geeup/package.py | 2 +- var/spack/repos/builtin/packages/py-nbmake/package.py | 2 +- var/spack/repos/builtin/packages/py-pathlib/package.py | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-geeup/package.py b/var/spack/repos/builtin/packages/py-geeup/package.py index e0b2f3975f6..a1128d4b4dd 100644 --- a/var/spack/repos/builtin/packages/py-geeup/package.py +++ b/var/spack/repos/builtin/packages/py-geeup/package.py @@ -29,6 +29,6 @@ class PyGeeup(PythonPackage): depends_on('py-pysmartdl', type=('build', 'run')) depends_on('py-pysmartdl@1.2.5', type=('build', 'run'), when='^python@:3.3') depends_on('py-pysmartdl@1.3.1:', type=('build', 'run'), when='^python@3.4:') - depends_on('py-pathlib@1.0.1:', type=('build', 'run')) + depends_on('py-pathlib@1.0.1:', when='^python@:3.3', type=('build', 'run')) depends_on('py-lxml@4.1.1:', type=('build', 'run')) depends_on('py-oauth2client@4.1.3:', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-nbmake/package.py b/var/spack/repos/builtin/packages/py-nbmake/package.py index 69f5287ddab..77166847c2f 100644 --- a/var/spack/repos/builtin/packages/py-nbmake/package.py +++ b/var/spack/repos/builtin/packages/py-nbmake/package.py @@ -20,6 +20,6 @@ class PyNbmake(PythonPackage): depends_on('py-ipykernel@5.4.0:5.999', type=('build', 'run')) depends_on('py-nbclient@0.3:0.999', type=('build', 'run')) depends_on('py-nbformat@5.0.8:5.999', type=('build', 'run')) - depends_on('py-pathlib@1.0.1:1.999', type=('build', 'run')) + depends_on('py-pathlib@1.0.1:1.999', when='^python@:3.3', type=('build', 'run')) depends_on('py-pydantic@1.7.2:1.999', type=('build', 'run')) depends_on('py-pytest@6.1.2:6.999', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-pathlib/package.py b/var/spack/repos/builtin/packages/py-pathlib/package.py index e9579aa4b96..5c05c4e82c1 100644 --- a/var/spack/repos/builtin/packages/py-pathlib/package.py +++ b/var/spack/repos/builtin/packages/py-pathlib/package.py @@ -17,3 +17,11 @@ class PyPathlib(PythonPackage): pypi = "pathlib/pathlib-1.0.1.tar.gz" version('1.0.1', sha256='6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f') + + # This is a backport of the pathlib module from Python 3.4. Since pathlib is now + # part of the standard library, this module isn't needed in Python 3.4+. Although it + # can be installed, differences between this implementation and the standard library + # implementation can cause other packages to fail. If it is installed, it ends up + # masking the standard library and doesn't have the same features that the standard + # library has in newer versions of Python. + conflicts('^python@3.4:') From 50411f83942ff033b4b55ef72d595e6d3ab9949f Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 27 Aug 2021 13:00:47 -0500 Subject: [PATCH 364/414] py-psycopg2: add version 2.9.1 (#25646) --- var/spack/repos/builtin/packages/py-psycopg2/package.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-psycopg2/package.py b/var/spack/repos/builtin/packages/py-psycopg2/package.py index 065f77a5022..24bad042a5a 100644 --- a/var/spack/repos/builtin/packages/py-psycopg2/package.py +++ b/var/spack/repos/builtin/packages/py-psycopg2/package.py @@ -12,11 +12,14 @@ class PyPsycopg2(PythonPackage): homepage = "https://psycopg.org/" pypi = "psycopg2/psycopg2-2.8.6.tar.gz" + version('2.9.1', sha256='de5303a6f1d0a7a34b9d40e4d3bef684ccc44a49bbe3eb85e3c0bffb4a131b7c') version('2.8.6', sha256='fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543') version('2.7.5', sha256='eccf962d41ca46e6326b97c8fe0a6687b58dfc1a5f6540ed071ff1474cea749e') # https://www.psycopg.org/docs/install.html#prerequisites - depends_on('python@2.7:2.8,3.4:3.8', type=('build', 'link', 'run'), when='@2.8:') - depends_on('python@2.6:2.8,3.2:3.7', type=('build', 'link', 'run'), when='@2.7') + depends_on('python@3.6:3.9', type=('build', 'link', 'run'), when='@2.9:') + depends_on('python@2.7:2.8,3.4:3.8', type=('build', 'link', 'run'), when='@2.8') + depends_on('python@2.6:2.8,3.2:3.7', type=('build', 'link', 'run'), when='@:2.7') depends_on('py-setuptools', type='build') - depends_on('postgresql@9.1:12', type=('build', 'link', 'run')) + depends_on('postgresql@9.1:13', type=('build', 'link', 'run'), when='@2.9:') + depends_on('postgresql@9.1:12', type=('build', 'link', 'run'), when='@:2.8') From 9d17d474ff8d7a344a26b5de382682149684f4f2 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 27 Aug 2021 20:44:21 +0200 Subject: [PATCH 365/414] Add missing link dep for py-uwsgi (#25654) --- var/spack/repos/builtin/packages/py-uwsgi/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-uwsgi/package.py b/var/spack/repos/builtin/packages/py-uwsgi/package.py index 759fd9c49de..6b083a7342d 100644 --- a/var/spack/repos/builtin/packages/py-uwsgi/package.py +++ b/var/spack/repos/builtin/packages/py-uwsgi/package.py @@ -16,3 +16,4 @@ class PyUwsgi(PythonPackage): version('2.0.18', sha256='4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583') depends_on('py-setuptools', type='build') + depends_on('python', type=('build', 'link', 'run')) From b5d3c488241e8fec1133aadea73d6bd0a6e244f5 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Fri, 27 Aug 2021 11:46:26 -0700 Subject: [PATCH 366/414] Load package environment prior to stand-alone/smoke test execution (#25619) --- lib/spack/spack/build_environment.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py index 7e99dc6441e..97903075e1e 100644 --- a/lib/spack/spack/build_environment.py +++ b/lib/spack/spack/build_environment.py @@ -61,6 +61,7 @@ import spack.schema.environment import spack.store import spack.subprocess_context +import spack.user_environment import spack.util.path from spack.error import NoHeadersError, NoLibrariesError from spack.util.cpus import cpus_available @@ -69,6 +70,7 @@ env_flag, filter_system_paths, get_path, + inspect_path, is_system_path, preserve_environment, system_dirs, @@ -781,6 +783,13 @@ def setup_package(pkg, dirty, context='build'): "config to assume that the package is part of the system" " includes and omit it when invoked with '--cflags'.") elif context == 'test': + env.extend( + inspect_path( + pkg.spec.prefix, + spack.user_environment.prefix_inspections(pkg.spec.platform), + exclude=is_system_path + ) + ) pkg.setup_run_environment(env) env.prepend_path('PATH', '.') From f5ab3ad82a62585589296ff37ebf7af1aed8303f Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 27 Aug 2021 21:41:24 +0200 Subject: [PATCH 367/414] Fix: --overwrite backs up old install dir, but it gets destroyed anyways (#25583) * Make sure PackageInstaller does not remove the just-restored install dir after failure in spack install --overwrite * Remove cryptic error message and rethrow actual error --- lib/spack/llnl/util/filesystem.py | 7 ++----- lib/spack/spack/installer.py | 3 +++ lib/spack/spack/test/install.py | 25 +++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py index a81425fe962..e44f8c608f7 100644 --- a/lib/spack/llnl/util/filesystem.py +++ b/lib/spack/llnl/util/filesystem.py @@ -692,7 +692,7 @@ def replace_directory_transaction(directory_name, tmp_root=None): try: yield tmp_dir - except (Exception, KeyboardInterrupt, SystemExit) as e: + except (Exception, KeyboardInterrupt, SystemExit): # Delete what was there, before copying back the original content if os.path.exists(directory_name): shutil.rmtree(directory_name) @@ -701,10 +701,7 @@ def replace_directory_transaction(directory_name, tmp_root=None): dst=os.path.dirname(directory_name) ) tty.debug('DIRECTORY RECOVERED [{0}]'.format(directory_name)) - - msg = 'the transactional move of "{0}" failed.' - msg += '\n ' + str(e) - raise RuntimeError(msg.format(directory_name)) + raise else: # Otherwise delete the temporary directory shutil.rmtree(tmp_dir) diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index 8ae2fd410d8..eb409caffe9 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -1569,6 +1569,9 @@ def install(self): if os.path.exists(rec.path): with fs.replace_directory_transaction( rec.path): + # fs transaction will put the old prefix + # back on failure, so make sure to keep it. + keep_prefix = True self._install_task(task) else: tty.debug("Missing installation to overwrite") diff --git a/lib/spack/spack/test/install.py b/lib/spack/spack/test/install.py index f71c77a35b9..67d50d22731 100644 --- a/lib/spack/spack/test/install.py +++ b/lib/spack/spack/test/install.py @@ -126,6 +126,31 @@ def test_partial_install_delete_prefix_and_stage(install_mockery, mock_fetch): pkg.remove_prefix = instance_rm_prefix +@pytest.mark.disable_clean_stage_check +def test_failing_overwrite_install_should_keep_previous_installation( + mock_fetch, install_mockery +): + """ + Make sure that whenever `spack install --overwrite` fails, spack restores + the original install prefix instead of cleaning it. + """ + # Do a successful install + spec = Spec('canfail').concretized() + pkg = spack.repo.get(spec) + pkg.succeed = True + + # Do a failing overwrite install + pkg.do_install() + pkg.succeed = False + kwargs = {'overwrite': [spec.dag_hash()]} + + with pytest.raises(Exception): + pkg.do_install(**kwargs) + + assert pkg.installed + assert os.path.exists(spec.prefix) + + def test_dont_add_patches_to_installed_package(install_mockery, mock_fetch): dependency = Spec('dependency-install') dependency.concretize() From 9577d890c458c6025d51f699005a5dc5b6ac4f42 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Sat, 28 Aug 2021 01:22:35 +0200 Subject: [PATCH 368/414] add py-flameprof (#25539) --- .../builtin/packages/py-flameprof/package.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-flameprof/package.py diff --git a/var/spack/repos/builtin/packages/py-flameprof/package.py b/var/spack/repos/builtin/packages/py-flameprof/package.py new file mode 100644 index 00000000000..7e97b48a695 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-flameprof/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyFlameprof(PythonPackage): + """Flamegraph generator for python's cProfile stats.""" + + homepage = "https://github.com/baverman/flameprof/" + pypi = "flameprof/flameprof-0.4.tar.gz" + + maintainers = ['haampie'] + + version('0.4', sha256='dbc86d4190cbbba624f1e0a40f44d9db96138e27534d83c8ef42d420857875a3') + + depends_on('py-setuptools', type='build') From 3a4073cfff264f2f0177cd0576c2e7a6cfd267bb Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 27 Aug 2021 19:26:41 -0500 Subject: [PATCH 369/414] py-flit: add maintainer (#25667) --- var/spack/repos/builtin/packages/py-flit-core/package.py | 1 + var/spack/repos/builtin/packages/py-flit/package.py | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-flit-core/package.py b/var/spack/repos/builtin/packages/py-flit-core/package.py index 45ca520d2eb..c5724156f62 100644 --- a/var/spack/repos/builtin/packages/py-flit-core/package.py +++ b/var/spack/repos/builtin/packages/py-flit-core/package.py @@ -11,6 +11,7 @@ class PyFlitCore(Package): homepage = "https://github.com/takluyver/flit" url = "https://pypi.io/packages/py3/f/flit-core/flit_core-3.3.0-py3-none-any.whl" + maintainers = ['takluyver'] version('3.3.0', sha256='9b247b3095cb3c43933a59a7433f92ddfdd7fc843e08ef0f4550d53a9cfbbef6', expand=False) diff --git a/var/spack/repos/builtin/packages/py-flit/package.py b/var/spack/repos/builtin/packages/py-flit/package.py index 0cd7a623637..dd1d296ae34 100644 --- a/var/spack/repos/builtin/packages/py-flit/package.py +++ b/var/spack/repos/builtin/packages/py-flit/package.py @@ -10,6 +10,7 @@ class PyFlit(PythonPackage): """Flit is a simple way to put Python packages and modules on PyPI.""" pypi = "flit/flit-3.3.0.tar.gz" + maintainers = ['takluyver'] version('3.3.0', sha256='65fbe22aaa7f880b776b20814bd80b0afbf91d1f95b17235b608aa256325ce57') @@ -17,6 +18,3 @@ class PyFlit(PythonPackage): depends_on('py-requests', type=('build', 'run')) depends_on('py-docutils', type=('build', 'run')) depends_on('py-toml', type=('build', 'run')) - - def setup_dependent_package(self, module, dependent_spec): - module.flit = Executable(self.prefix.bin.flit) From e2b9ba30012aeab5a39f016f6efd7c9cdf9003f0 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Sat, 28 Aug 2021 02:28:46 +0200 Subject: [PATCH 370/414] Add zstd support to libarchive (#25659) --- .../repos/builtin/packages/libarchive/package.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py index 12c5f789353..dba5dde9bff 100644 --- a/var/spack/repos/builtin/packages/libarchive/package.py +++ b/var/spack/repos/builtin/packages/libarchive/package.py @@ -26,11 +26,11 @@ class Libarchive(AutotoolsPackage): variant('libs', default='static,shared', values=('static', 'shared'), multi=True, description='What libraries to build') - # TODO: BLAKE2 and zstd (can't just add this, because libarchive is a dependency of - # cmake, and zstd currently uses cmake as a build system) - variant('compression', default='bz2lib,lz4,lzo2,lzma,zlib', values=('bz2lib', 'lz4', 'lzo2', 'lzma', 'zlib'), multi=True, description='Supported compression') + # TODO: BLAKE2 is missing + variant('compression', default='bz2lib,lz4,lzo2,lzma,zlib,zstd', values=('bz2lib', 'lz4', 'lzo2', 'lzma', 'zlib', 'zstd'), multi=True, description='Supported compression') variant('xar', default='libxml2', values=('libxml2', 'expat'), description='What library to use for xar support') variant('crypto', default='mbedtls', values=('mbedtls', 'nettle', 'openssl'), description='What crypto library to use for mtree and xar hashes') + variant('programs', values=any_combination_of('bsdtar', 'bsdcpio', 'bsdcat'), description='What executables to build') variant('iconv', default=True, description='Support iconv') depends_on('bzip2', when='compression=bz2lib') @@ -38,6 +38,7 @@ class Libarchive(AutotoolsPackage): depends_on('lzo', when='compression=lzo2') depends_on('xz', when='compression=lzma') depends_on('zlib', when='compression=zlib') + depends_on('zstd', when='compression=zstd') depends_on('nettle', when='crypto=nettle') depends_on('openssl', when='crypto=openssl') @@ -54,13 +55,11 @@ class Libarchive(AutotoolsPackage): # The build test suite cannot be built with Intel def configure_args(self): - args = [ - '--without-libb2', - '--without-zstd', - ] + args = ['--without-libb2'] args += self.with_or_without('compression') args += self.with_or_without('crypto') args += self.with_or_without('iconv') args += self.with_or_without('xar') + args += self.enable_or_disable('programs') return args From 025dbb216276d36c591358c0d54f69926fb1b799 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Sat, 28 Aug 2021 03:17:35 -0500 Subject: [PATCH 371/414] recorder: add v2.2.1, v2.2.0, "master" and "pilgrim" (#25674) --- var/spack/repos/builtin/packages/recorder/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/recorder/package.py b/var/spack/repos/builtin/packages/recorder/package.py index 56ede19025a..1fe0a722e48 100644 --- a/var/spack/repos/builtin/packages/recorder/package.py +++ b/var/spack/repos/builtin/packages/recorder/package.py @@ -12,9 +12,14 @@ class Recorder(AutotoolsPackage): homepage = "https://github.com/uiuc-hpc/Recorder" url = "https://github.com/uiuc-hpc/Recorder/archive/v2.1.4.tar.gz" + git = "https://github.com/uiuc-hpc/Recorder.git" maintainers = ['wangvsa'] + version('master', branch='master') + version('pilgrim', branch='pilgrim') + version('2.2.1', sha256='90634a580f075e9773cab4e46eb56459e917df1676b01655dec5f61e9d6b9bea') + version('2.2.0', sha256='b47c208c18e615e0087486cc448f904d8ce7dbcc2535d06e185b5d28ad6e80f8') version('2.1.6', sha256='35985a0cb456d806952bf68f05127026f0dd8e26f70d725ae5cc37f109600889') version('2.1.5', sha256='6d2f8b942f61da498e25327e79c1a25b2244f4f78a9cf5482fb4aaa32d7332a1') version('2.1.4', sha256='f66756595a7f310929c247ae03fd08a18d9843f578fffa1e3072f557bf5a158e') From 40788cf49adf93c2598a4d09a3c4319c75c6f883 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Sat, 28 Aug 2021 16:31:16 +0200 Subject: [PATCH 372/414] Add a __reduce__ method to Spec (#25658) * Add a __reduce__ method to Spec fixes #23892 The recursion limit seems to be due to the default way in which a Spec is serialized, following all the attributes. It's still not clear to me why this is related to being in an environment, but in any case we already have methods to serialize Specs to disk in JSON and YAML format. Here we use them to pickle a Spec instance too. * Downgrade to build-hash Hopefully nothing will change the package in between serializing the spec and sending it to the child process. * Add support for Python 2 --- lib/spack/spack/spec.py | 60 ++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 7ab0ffa5fd0..af9efb3baa6 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -2093,28 +2093,7 @@ def from_dict(data): Parameters: data -- a nested dict/list data structure read from YAML or JSON. """ - nodes = data['spec'] - - # Read nodes out of list. Root spec is the first element; - # dependencies are the following elements. - dep_list = [Spec.from_node_dict(node) for node in nodes] - if not dep_list: - raise spack.error.SpecError("YAML spec contains no nodes.") - deps = dict((spec.name, spec) for spec in dep_list) - spec = dep_list[0] - - for node in nodes: - # get dependency dict from the node. - name = next(iter(node)) - - if 'dependencies' not in node[name]: - continue - - yaml_deps = node[name]['dependencies'] - for dname, dhash, dtypes in Spec.read_yaml_dep_specs(yaml_deps): - deps[name]._add_dependency(deps[dname], dtypes) - - return spec + return _spec_from_dict(data) @staticmethod def from_yaml(stream): @@ -4385,6 +4364,43 @@ def __hash__(self): # so we hope it only runs on abstract specs, which are small. return hash(lang.tuplify(self._cmp_iter)) + def __reduce__(self): + return _spec_from_dict, (self.to_dict(hash=ht.build_hash),) + + +# Note: This function has been refactored from being a static method +# of Spec to be a function at the module level. This was needed to +# support its use in __reduce__ to pickle a Spec object in Python 2. +# It can be moved back safely after we drop support for Python 2.7 +def _spec_from_dict(data): + """Construct a spec from YAML. + + Parameters: + data -- a nested dict/list data structure read from YAML or JSON. + """ + nodes = data['spec'] + + # Read nodes out of list. Root spec is the first element; + # dependencies are the following elements. + dep_list = [Spec.from_node_dict(node) for node in nodes] + if not dep_list: + raise spack.error.SpecError("YAML spec contains no nodes.") + deps = dict((spec.name, spec) for spec in dep_list) + spec = dep_list[0] + + for node in nodes: + # get dependency dict from the node. + name = next(iter(node)) + + if 'dependencies' not in node[name]: + continue + + yaml_deps = node[name]['dependencies'] + for dname, dhash, dtypes in Spec.read_yaml_dep_specs(yaml_deps): + deps[name]._add_dependency(deps[dname], dtypes) + + return spec + class LazySpecCache(collections.defaultdict): """Cache for Specs that uses a spec_like as key, and computes lazily From 7cafe7dd662f787e4c6ff8b3674ebc620b664d32 Mon Sep 17 00:00:00 2001 From: Kai Germaschewski Date: Sat, 28 Aug 2021 12:42:55 -0400 Subject: [PATCH 373/414] add 'develop' branch to cmake package (#25623) Co-authored-by: Harmen Stoppels --- var/spack/repos/builtin/packages/cmake/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index aa1f5490997..ba6fc8a5cdc 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -12,12 +12,15 @@ class Cmake(Package): """ homepage = 'https://www.cmake.org' url = 'https://github.com/Kitware/CMake/releases/download/v3.19.0/cmake-3.19.0.tar.gz' + git = 'https://gitlab.kitware.com/cmake/cmake.git' maintainers = ['chuckatkins'] tags = ['build-tools'] executables = ['^cmake$'] + version('master', branch='master') + version('3.21.2', sha256='94275e0b61c84bb42710f5320a23c6dcb2c6ee032ae7d2a616f53f68b3d21659') version('3.21.1', sha256='fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4') version('3.21.0', sha256='4a42d56449a51f4d3809ab4d3b61fd4a96a469e56266e896ce1009b5768bd2ab') version('3.20.5', sha256='12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0') From 07a9cb87efa0af647eaa4b6cff8656c69a05a081 Mon Sep 17 00:00:00 2001 From: Sebastian Schmitt Date: Sun, 29 Aug 2021 15:19:12 +0200 Subject: [PATCH 374/414] Bump py-salib (#25403) --- var/spack/repos/builtin/packages/py-salib/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-salib/package.py b/var/spack/repos/builtin/packages/py-salib/package.py index cdc49ccc9b3..026c1cf2928 100644 --- a/var/spack/repos/builtin/packages/py-salib/package.py +++ b/var/spack/repos/builtin/packages/py-salib/package.py @@ -14,6 +14,7 @@ class PySalib(PythonPackage): maintainers = ['schmitts'] + version('1.4.4', sha256='50a6459088700f55261a683752818530d14ede30cece2c324ac94d4b9e288b6d') version('1.4.0.1', sha256='dbf6e865af9f3be82a79cf64889ed66d6d3b6803f0c22a242a112876789d49e7') depends_on('py-setuptools@38.3:', type=('build', 'run')) @@ -22,3 +23,6 @@ class PySalib(PythonPackage): depends_on('py-matplotlib@3.2.2:', type=('build', 'run')) depends_on('py-pandas@1.1.2:', type=('build', 'run')) depends_on('py-pathos@0.2.5:', type=('build', 'run')) + depends_on('py-importlib-metadata', type=('build', 'run'), when='@1.4.4: ^python@:3.7') + depends_on('py-setuptools-scm', type=('build', 'run'), when='@1.4.4:') + depends_on('py-wheel', type=('build', 'run'), when='@1.4.4:') From 0d226aa7108e4777de7bd10d5fbcde43aca344a1 Mon Sep 17 00:00:00 2001 From: Hadrien G Date: Mon, 30 Aug 2021 08:58:39 +0200 Subject: [PATCH 375/414] acts: add v11.0.0, v10.0.0 (#25444) --- var/spack/repos/builtin/packages/acts/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py index c7d6119c920..b54db8e1193 100644 --- a/var/spack/repos/builtin/packages/acts/package.py +++ b/var/spack/repos/builtin/packages/acts/package.py @@ -38,6 +38,8 @@ class Acts(CMakePackage, CudaPackage): # Supported Acts versions version('main', branch='main') version('master', branch='main', deprecated=True) # For compatibility + version('11.0.0', commit='eac3def261f65b343af6d8ce4bc40443ac57b57e') + version('10.0.0', commit='9bfe0b83f277f686408b896a84d2b9b53610f623') version('9.02.0', commit='c438ee490e94eaf1c854a336ef54f398da637a48') version('9.01.0', commit='bf8fd4c03dd94f497d8501df510d8f6a48434afd') version('9.00.1', commit='7d59bc508d898d2cb67ba05a7150a978b9fcc32d') From 5029b8ca555f9f17147fbfc573f369882d95ebf9 Mon Sep 17 00:00:00 2001 From: Joe Schoonover <11430768+fluidnumerics-joe@users.noreply.github.com> Date: Mon, 30 Aug 2021 01:04:05 -0600 Subject: [PATCH 376/414] FLAP: add new package (#25685) Co-authored-by: Joe Schoonover --- .../repos/builtin/packages/flap/package.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 var/spack/repos/builtin/packages/flap/package.py diff --git a/var/spack/repos/builtin/packages/flap/package.py b/var/spack/repos/builtin/packages/flap/package.py new file mode 100644 index 00000000000..3196dbab2fd --- /dev/null +++ b/var/spack/repos/builtin/packages/flap/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Flap(CMakePackage): + """Fortran command Line Arguments Parser""" + + homepage = "https://github.com/szaghi/FLAP" + url = "https://github.com/szaghi/FLAP.git" + git = "https://github.com/szaghi/FLAP.git" + + maintainers = ['fluidnumerics-joe'] + + version('master', branch='master', submodules=True) + + def flag_handler(self, name, flags): + if name in ['cflags', 'cxxflags', 'cppflags']: + return (None, flags, None) + elif name == 'fflags': + flags.append('-cpp') + return (flags, None, None) From b3128af90131e01f6599ab63e0c63d0cb113cc98 Mon Sep 17 00:00:00 2001 From: Barry Rountree Date: Mon, 30 Aug 2021 00:07:43 -0700 Subject: [PATCH 377/414] tmux: added additional versions. (#25684) Added sha256 checksums for 3.21, 3.2, 3.1c 3.1a, 3.1, 3.0 and 2.9a. Co-authored-by: Barry --- var/spack/repos/builtin/packages/tmux/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/tmux/package.py b/var/spack/repos/builtin/packages/tmux/package.py index 04b0656b83b..c8d0bd96506 100644 --- a/var/spack/repos/builtin/packages/tmux/package.py +++ b/var/spack/repos/builtin/packages/tmux/package.py @@ -17,8 +17,15 @@ 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.2a', sha256='551553a4f82beaa8dadc9256800bcc284d7c000081e47aa6ecbb6ff36eacd05f') + version('3.2', sha256='664d345338c11cbe429d7ff939b92a5191e231a7c1ef42f381cebacb1e08a399') + version('3.1c', sha256='918f7220447bef33a1902d4faff05317afd9db4ae1c9971bef5c787ac6c88386') version('3.1b', sha256='d93f351d50af05a75fe6681085670c786d9504a5da2608e481c47cf5e1486db9') + version('3.1a', sha256='10687cbb02082b8b9e076cf122f1b783acc2157be73021b4bedb47e958f4e484') + version('3.1', sha256='979bf38db2c36193de49149aaea5c540d18e01ccc27cf76e2aff5606bd186722') version('3.0a', sha256='4ad1df28b4afa969e59c08061b45082fdc49ff512f30fc8e43217d7b0e5f8db9') + version('3.0', sha256='9edcd78df80962ee2e6471a8f647602be5ded62bb41c574172bb3dc3d0b9b4b4') + version('2.9a', sha256='839d167a4517a6bffa6b6074e89a9a8630547b2dea2086f1fad15af12ab23b25') version('2.9', sha256='34901232f486fd99f3a39e864575e658b5d49f43289ccc6ee57c365f2e2c2980') version('2.8', sha256='7f6bf335634fafecff878d78de389562ea7f73a7367f268b66d37ea13617a2ba') version('2.7', sha256='9ded7d100313f6bc5a87404a4048b3745d61f2332f99ec1400a7c4ed9485d452') From 0dfa49af8e0743dc1a6b08a6f352ce0303be1c9c Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 30 Aug 2021 02:09:08 -0500 Subject: [PATCH 378/414] py-flit-core: build from source (#25682) --- .../builtin/packages/py-flit-core/package.py | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-flit-core/package.py b/var/spack/repos/builtin/packages/py-flit-core/package.py index c5724156f62..bd4c94e3a1b 100644 --- a/var/spack/repos/builtin/packages/py-flit-core/package.py +++ b/var/spack/repos/builtin/packages/py-flit-core/package.py @@ -3,25 +3,30 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import glob +import os +import zipfile + from spack import * -class PyFlitCore(Package): +class PyFlitCore(PythonPackage): """Distribution-building parts of Flit.""" homepage = "https://github.com/takluyver/flit" - url = "https://pypi.io/packages/py3/f/flit-core/flit_core-3.3.0-py3-none-any.whl" + url = "https://github.com/takluyver/flit/archive/refs/tags/3.3.0.tar.gz" maintainers = ['takluyver'] - version('3.3.0', sha256='9b247b3095cb3c43933a59a7433f92ddfdd7fc843e08ef0f4550d53a9cfbbef6', expand=False) + version('3.3.0', sha256='f5340b268563dd408bf8e2df6dbc8d4d08bc76cdff0d8c7f8a4be94e5f01f22f') - extends('python') depends_on('python@3.4:', type=('build', 'run')) - depends_on('py-pip', type='build') depends_on('py-toml', type=('build', 'run')) + def build(self, spec, prefix): + with working_dir('flit_core'): + python('build_dists.py') + def install(self, spec, prefix): - # Install wheel instead of installing from source - # to prevent circular dependency on flit - pip = which('pip') - pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix)) + wheel = glob.glob(os.path.join('flit_core', 'dist', '*.whl'))[0] + with zipfile.ZipFile(wheel) as f: + f.extractall(site_packages_dir) From a6a448b16c4ab4862c16b11aca6528163563e724 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 30 Aug 2021 02:11:14 -0500 Subject: [PATCH 379/414] py-metpy: fix import tests (#25681) --- var/spack/repos/builtin/packages/py-metpy/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-metpy/package.py b/var/spack/repos/builtin/packages/py-metpy/package.py index 4f1b8145f8f..b60b08fe9c6 100644 --- a/var/spack/repos/builtin/packages/py-metpy/package.py +++ b/var/spack/repos/builtin/packages/py-metpy/package.py @@ -14,6 +14,10 @@ class PyMetpy(PythonPackage): pypi = "MetPy/MetPy-1.0.1.tar.gz" maintainers = ['dopplershift'] + # Importing 'metpy.io' results in downloads, so skip it. + # https://github.com/Unidata/MetPy/issues/1888 + import_modules = ['metpy', 'metpy._vendor', 'metpy.calc', 'metpy.interpolate'] + version('1.0.1', sha256='16fa9806facc24f31f454b898741ec5639a72ba9d4ff8a19ad0e94629d93cb95') version('1.0', sha256='11b043aaa4e3d35db319e96bb9967eb9f73da653e155bca2d62f838108b100dc', deprecated=True) From 506f62ddfe6b7288d14dcc75a54b65af38522dbe Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 30 Aug 2021 02:11:30 -0500 Subject: [PATCH 380/414] py-jupyterlab: fix import tests (#25680) --- var/spack/repos/builtin/packages/py-jupyterlab/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-jupyterlab/package.py b/var/spack/repos/builtin/packages/py-jupyterlab/package.py index 2cd581cae3c..a8cbed58579 100644 --- a/var/spack/repos/builtin/packages/py-jupyterlab/package.py +++ b/var/spack/repos/builtin/packages/py-jupyterlab/package.py @@ -11,6 +11,9 @@ class PyJupyterlab(PythonPackage): homepage = "https://github.com/jupyterlab/jupyterlab" pypi = "jupyterlab/jupyterlab-2.2.7.tar.gz" + # Skip 'jupyterlab.tests' packages + import_modules = ['jupyterlab', 'jupyterlab.handlers'] + version('3.0.16', sha256='7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23') version('2.2.7', sha256='a72ffd0d919cba03a5ef8422bc92c3332a957ff97b0490494209c83ad93826da') version('2.1.0', sha256='8c239aababf5baa0b3d36e375fddeb9fd96f3a9a24a8cda098d6a414f5bbdc81') From 1bf051e229a6ba8b21864b94e58be35f3cd3a798 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 30 Aug 2021 02:11:44 -0500 Subject: [PATCH 381/414] py-pbr: fix import tests (#25679) --- var/spack/repos/builtin/packages/py-pbr/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-pbr/package.py b/var/spack/repos/builtin/packages/py-pbr/package.py index 701d8a835d3..09bb49d295f 100644 --- a/var/spack/repos/builtin/packages/py-pbr/package.py +++ b/var/spack/repos/builtin/packages/py-pbr/package.py @@ -12,6 +12,9 @@ class PyPbr(PythonPackage): pypi = "pbr/pbr-5.4.3.tar.gz" + # Skip 'pbr.tests' imports + import_modules = ['pbr', 'pbr.cmd', 'pbr.hooks'] + version('5.4.3', sha256='2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8') version('5.2.1', sha256='93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6') version('3.1.1', sha256='05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1') From d381ab77b295e16a514e270d5b459a19020e5d2e Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Mon, 30 Aug 2021 10:19:49 +0200 Subject: [PATCH 382/414] boost: add v1.77.0 (#25536) --- var/spack/repos/builtin/packages/boost/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index 35d0d1144cc..87e50c63792 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -26,6 +26,7 @@ class Boost(Package): maintainers = ['hainest'] version('develop', branch='develop', submodules=True) + version('1.77.0', sha256='fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854') version('1.76.0', sha256='f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41') version('1.75.0', sha256='953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb') version('1.74.0', sha256='83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1') From a2293e6ee19f71fa2c1406dc2b933ed271e4f7cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Aug 2021 10:58:12 +0200 Subject: [PATCH 383/414] build(deps): bump codecov/codecov-action from 2.0.2 to 2.0.3 (#25594) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v2.0.2...v2.0.3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/unit_tests.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index 29c251503c4..9fdcf4aefad 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -171,7 +171,7 @@ jobs: SPACK_TEST_SOLVER: ${{ matrix.concretizer }} run: | share/spack/qa/run-unit-tests - - uses: codecov/codecov-action@v2.0.2 + - uses: codecov/codecov-action@v2.0.3 if: ${{ needs.changes.outputs.with_coverage == 'true' }} with: flags: unittests,linux,${{ matrix.concretizer }} @@ -209,7 +209,7 @@ jobs: COVERAGE: true run: | share/spack/qa/run-shell-tests - - uses: codecov/codecov-action@v2.0.2 + - uses: codecov/codecov-action@v2.0.3 if: ${{ needs.changes.outputs.with_coverage == 'true' }} with: flags: shelltests,linux @@ -311,7 +311,7 @@ jobs: SPACK_TEST_SOLVER: clingo run: | share/spack/qa/run-unit-tests - - uses: codecov/codecov-action@v2.0.2 + - uses: codecov/codecov-action@v2.0.3 if: ${{ needs.changes.outputs.with_coverage == 'true' }} with: flags: unittests,linux,clingo @@ -357,7 +357,7 @@ jobs: echo "ONLY PACKAGE RECIPES CHANGED [skipping coverage]" $(which spack) unit-test -x -m "not maybeslow" -k "package_sanity" fi - - uses: codecov/codecov-action@v2.0.2 + - uses: codecov/codecov-action@v2.0.3 if: ${{ needs.changes.outputs.with_coverage == 'true' }} with: files: ./coverage.xml From e60e41d9ca597fac97d495df62550d9c5544090e Mon Sep 17 00:00:00 2001 From: lorddavidiii Date: Mon, 30 Aug 2021 11:11:16 +0200 Subject: [PATCH 384/414] ocl-icd: add v2.3.1 (#25561) --- var/spack/repos/builtin/packages/ocl-icd/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/ocl-icd/package.py b/var/spack/repos/builtin/packages/ocl-icd/package.py index 501baf9e51d..247d201880d 100644 --- a/var/spack/repos/builtin/packages/ocl-icd/package.py +++ b/var/spack/repos/builtin/packages/ocl-icd/package.py @@ -12,7 +12,9 @@ class OclIcd(AutotoolsPackage): homepage = "https://github.com/OCL-dev/ocl-icd" url = "https://github.com/OCL-dev/ocl-icd/archive/v2.2.12.tar.gz" + maintainers = ['lorddavidiii'] + version('2.3.1', sha256='a32b67c2d52ffbaf490be9fc18b46428ab807ab11eff7664d7ff75e06cfafd6d') version('2.3.0', sha256='469f592ccd9b0547fb7212b17e1553b203d178634c20d3416640c0209e3ddd50') version('2.2.14', sha256='46df23608605ad548e80b11f4ba0e590cef6397a079d2f19adf707a7c2fbfe1b') version('2.2.13', sha256='f85d59f3e8327f15637b91e4ae8df0829e94daeff68c647b2927b8376b1f8d92') From 9be81ac4d9eb459e15637c40913a767785e10742 Mon Sep 17 00:00:00 2001 From: kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Mon, 30 Aug 2021 04:17:03 -0500 Subject: [PATCH 385/414] Add documentation on compiler `environment` (#25508) --- lib/spack/docs/getting_started.rst | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index c89b46d4411..419e1293bb3 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -460,6 +460,34 @@ then inject those flags into the compiler command. Compiler flags entered from the command line will be discussed in more detail in the following section. +Some compilers also require additional environment configuration. +Examples include Intels oneAPI and AMDs AOCC compiler suites, +which have custom scripts for loading environment variables and setting paths. +These variables should be specified in the ``environment`` section of the compiler +specification. The operations available to modify the environment are ``set``, ``unset``, +``prepend_path``, ``append_path``, and ``remove_path``. For example: + +.. code-block:: yaml + + compilers: + - compiler: + modules: [] + operating_system: centos6 + paths: + cc: /opt/intel/oneapi/compiler/latest/linux/bin/icx + cxx: /opt/intel/oneapi/compiler/latest/linux/bin/icpx + f77: /opt/intel/oneapi/compiler/latest/linux/bin/ifx + fc: /opt/intel/oneapi/compiler/latest/linux/bin/ifx + spec: oneapi@latest + environment: + set: + MKL_ROOT: "/path/to/mkl/root" + unset: # A list of environment variables to unset + - CC + prepend_path: # Similar for append|remove_path + LD_LIBRARY_PATH: /ld/paths/added/by/setvars/sh + + ^^^^^^^^^^^^^^^^^^^^^^^ Build Your Own Compiler ^^^^^^^^^^^^^^^^^^^^^^^ From 2f777d08a2e1c6cdde4cc7138b3e7041d73eeee8 Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Mon, 30 Aug 2021 11:37:39 +0200 Subject: [PATCH 386/414] rivet: fixes for gcc@10: (#25454) --- var/spack/repos/builtin/packages/rivet/package.py | 2 +- var/spack/repos/builtin/packages/yoda/package.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py index c6845581554..e9f394474f3 100644 --- a/var/spack/repos/builtin/packages/rivet/package.py +++ b/var/spack/repos/builtin/packages/rivet/package.py @@ -98,7 +98,7 @@ class Rivet(AutotoolsPackage): 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') - depends_on('yoda@1.8.5', when='@3.1.3') + depends_on('yoda@1.8.5:', when='@3.1.3:') # The following versions were not a part of LCG stack # and thus the exact version of YODA is unknown diff --git a/var/spack/repos/builtin/packages/yoda/package.py b/var/spack/repos/builtin/packages/yoda/package.py index df7273389b2..45ae109040c 100644 --- a/var/spack/repos/builtin/packages/yoda/package.py +++ b/var/spack/repos/builtin/packages/yoda/package.py @@ -69,7 +69,7 @@ class Yoda(AutotoolsPackage): depends_on('py-cython@0.23.5:', type='build', when='@1.6.5:1.8.0') depends_on('py-cython@0.24:', type='build', when='@1.8.0:') depends_on('py-matplotlib', when='@1.3.0:', type=('build', 'run')) - depends_on('root', type=('build', 'run'), when='+root') + depends_on('root', type=('build', 'link', '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') From ed17c3638b79ee9220ad080803346e74469f7887 Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Mon, 30 Aug 2021 05:38:23 -0400 Subject: [PATCH 387/414] anaconda3: add v2021.05 (#25443) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/anaconda3/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/anaconda3/package.py b/var/spack/repos/builtin/packages/anaconda3/package.py index 3a94f0e0c18..7474e1e3f92 100644 --- a/var/spack/repos/builtin/packages/anaconda3/package.py +++ b/var/spack/repos/builtin/packages/anaconda3/package.py @@ -20,6 +20,7 @@ class Anaconda3(Package): maintainers = ['ajkotobi'] + version('2021.05', sha256='2751ab3d678ff0277ae80f9e8a74f218cfc70fe9a9cdc7bb1c137d7e47e33d53', expand=False) version('2020.11', sha256='cf2ff493f11eaad5d09ce2b4feaa5ea90db5174303d5b3fe030e16d29aeef7de', expand=False) version('2020.07', sha256='38ce717758b95b3bd0b1797cc6ccfb76f29a90c25bdfa50ee45f11e583edfdbf', expand=False) version('2020.02', sha256='2b9f088b2022edb474915d9f69a803d6449d5fdb4c303041f60ac4aefcc208bb', expand=False) From d3d0ee7328f96152edf034e121c7140aee32434c Mon Sep 17 00:00:00 2001 From: Ryan Marcellino <67644978+myan-rarcellino-nnl@users.noreply.github.com> Date: Mon, 30 Aug 2021 05:39:27 -0400 Subject: [PATCH 388/414] miniconda3: add v4.10.3 (#25442) Co-authored-by: Cloud User --- var/spack/repos/builtin/packages/miniconda3/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/miniconda3/package.py b/var/spack/repos/builtin/packages/miniconda3/package.py index b2f783c5441..03d717e4bb7 100644 --- a/var/spack/repos/builtin/packages/miniconda3/package.py +++ b/var/spack/repos/builtin/packages/miniconda3/package.py @@ -9,6 +9,8 @@ from spack import * _versions = { + '4.10.3': { + 'Linux-x86_64': ('1ea2f885b4dbc3098662845560bc64271eb17085387a70c2ba3f29fff6f8d52f', 'https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh')}, '4.9.2': { 'Linux-ppc64le': ('2b111dab4b72a34c969188aa7a91eca927a034b14a87f725fa8d295955364e71', 'https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-ppc64le.sh'), 'Linux-x86_64': ('1314b90489f154602fd794accfc90446111514a5a72fe1f71ab83e07de9504a7', 'https://repo.anaconda.com/miniconda/Miniconda3-py38_4.9.2-Linux-x86_64.sh')}, From ab657d7b53850906e69a713cc717cd076384994c Mon Sep 17 00:00:00 2001 From: Phil Carns Date: Mon, 30 Aug 2021 05:42:36 -0400 Subject: [PATCH 389/414] mochi-margo: add v0.9.5 (#25365) --- var/spack/repos/builtin/packages/mochi-margo/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/mochi-margo/package.py b/var/spack/repos/builtin/packages/mochi-margo/package.py index 9022f6e1866..a02ed349b18 100644 --- a/var/spack/repos/builtin/packages/mochi-margo/package.py +++ b/var/spack/repos/builtin/packages/mochi-margo/package.py @@ -17,6 +17,7 @@ class MochiMargo(AutotoolsPackage): maintainers = ['carns', 'mdorier', 'fbudin69500', 'chuckatkins'] version('main', branch='main') + version('0.9.5', sha256='b5c52477a82aa44a079f876cbb8166d0bce5a07a92bcf8a0c76670b245e728a3') version('0.9.4', sha256='4292e083c8375ab07bc6dd0b3b1ea2ce9c9dd864c27ac7f07c6913dcccecc746') version('0.9.3', sha256='1331423d4864349c3a9ec52b2114122659da310d5270fa1aea652e8ee48a0b3a') version('0.9.2', sha256='de88cd725c8ff3ec63412f3f5ed22ad1a56cb367c31b842c816ce40cba777f7c') From 65584a3b9279fd1f9a40b3bcdae47b491bd5beab Mon Sep 17 00:00:00 2001 From: Bryan Herman <63422190+bryanherman@users.noreply.github.com> Date: Mon, 30 Aug 2021 09:51:47 +0000 Subject: [PATCH 390/414] universal-ctags: add version p5.9.20210829.0 (#25361) --- var/spack/repos/builtin/packages/universal-ctags/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/universal-ctags/package.py b/var/spack/repos/builtin/packages/universal-ctags/package.py index 4be0b3fcb68..792990bedbd 100644 --- a/var/spack/repos/builtin/packages/universal-ctags/package.py +++ b/var/spack/repos/builtin/packages/universal-ctags/package.py @@ -13,9 +13,11 @@ class UniversalCtags(AutotoolsPackage): the indexed items.""" homepage = "https://ctags.io/" + url = "https://github.com/universal-ctags/ctags/archive/refs/tags/p5.9.20210808.0.tar.gz" git = "https://github.com/universal-ctags/ctags.git" version('master', branch='master') + version('5.9.20210808.0', sha256='7f5f88d20750dfa2437ca9d163972b8684e3cf16de022a5177f322be92f528cc') depends_on('autoconf', type='build') depends_on('automake', type='build') From 44c0089be4f43d42564d2caf203dd510d7492d84 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Mon, 30 Aug 2021 13:19:54 +0200 Subject: [PATCH 391/414] Add patch to fix Boost with CCE and CUDA (#25534) --- var/spack/repos/builtin/packages/boost/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index 87e50c63792..1bf06b4f28a 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -291,6 +291,13 @@ def libs(self): # and https://github.com/boostorg/context/issues/177 patch("context-macho-gcc.patch", when="@1.65:1.76 +context platform=darwin %gcc") + # Fix float128 support when building with CUDA and Cray compiler + # See https://github.com/boostorg/config/pull/378 + patch("https://github.com/boostorg/config/commit/fee1ad07968386b6d547f089311b7a2c1bf7fa55.patch", + sha256="3b159d65a0d3d2df2a21c6bf56ffaba943fce92d2d41d628b2c4d2e924e0f421", + when="@:1.76%cce", + level=2) + def patch(self): # Disable SSSE3 and AVX2 when using the NVIDIA compiler if self.spec.satisfies('%nvhpc'): From 3cd224afbff86443c5dc75abf236f26f508f90ac Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Mon, 30 Aug 2021 15:13:41 +0200 Subject: [PATCH 392/414] gaudi: update py-xenv dependency (#25457) --- var/spack/repos/builtin/packages/gaudi/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py index d2d5937bb70..6337fba59f6 100644 --- a/var/spack/repos/builtin/packages/gaudi/package.py +++ b/var/spack/repos/builtin/packages/gaudi/package.py @@ -56,7 +56,7 @@ class Gaudi(CMakePackage): depends_on('python@:2.99.99', when='@:32.1', type=('build', 'run')) depends_on('py-setuptools@:45.99.99', when='^python@:2.7.99', type='build') depends_on('py-six', type=('build', 'run')) - depends_on('py-xenv@1:', type=('build', 'run')) + depends_on('py-xenv@1:', when='@:34.9', type=('build', 'run')) depends_on('range-v3') depends_on('root +python +root7 +ssl +tbb +threads') depends_on('zlib') From 378543b554a21990b38965674f9f04940feb6e27 Mon Sep 17 00:00:00 2001 From: Piotr Luszczek Date: Mon, 30 Aug 2021 09:46:46 -0400 Subject: [PATCH 393/414] plasma: add version 21.8.29, migrate url (#25688) --- var/spack/repos/builtin/packages/plasma/package.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/plasma/package.py b/var/spack/repos/builtin/packages/plasma/package.py index 8d192a4a38a..7e263dccdbc 100644 --- a/var/spack/repos/builtin/packages/plasma/package.py +++ b/var/spack/repos/builtin/packages/plasma/package.py @@ -15,12 +15,13 @@ class Plasma(CMakePackage): solving linear systems of equations, least squares problems, eigenvalue problems, and singular value problems.""" - homepage = "https://bitbucket.org/icl/plasma/" - url = "https://bitbucket.org/icl/plasma/downloads/plasma-18.11.0.tar.gz" - git = "https://bitbucket.org/icl/plasma" + homepage = "https://github.com/icl-utk-edu/plasma/" + url = "https://github.com/icl-utk-edu/plasma/releases/download/21.8.29/plasma-21.8.29.tar.gz" + git = "https://github.com/icl-utk-edu/plasma" maintainers = ['luszczek'] version("develop", git=git) + version('21.8.29', sha256='e0bb4d9143c8540f9f46cbccac9ed0cbea12500a864e6954fce2fe94ea057a10') version("20.9.20", sha256="2144a77b739f8dd2f0dbe5b64d94cde0e916f55c4eb170facd168c0db7fc7970") version("19.8.1", sha256="3a5db6eabf91aec782b7f27b17a7f6b8ce2c9d8e648c0e9c0ff5d87277ba4d17") version("19.8.0", sha256="19a950ade8a7c8d082f372789c9f874274a63217ecff26e33f366402f060f071") @@ -30,7 +31,7 @@ class Plasma(CMakePackage): version("18.9.0", sha256="753eae28ea48986a2cc7b8204d6eef646584541e59d42c3c94fa9879116b0774") version("17.1", sha256="d4b89f7c3d240a69dfe986284a14471eec4830b9e352ae902ea8861f15573dee", - url="https://bitbucket.org/icl/plasma/downloads/plasma-17.1.tar.gz") + url="https://github.com/icl-utk-edu/plasma/releases/download/17.01/plasma-17.01.tar.gz") variant("shared", default=True, description="Build shared library (disables static library)") From e51463f587419a93468afd9d828ac7f5c6e766e5 Mon Sep 17 00:00:00 2001 From: lorddavidiii Date: Mon, 30 Aug 2021 16:32:03 +0200 Subject: [PATCH 394/414] asciidoc-py3: add v9.1.0, v9.0.5 and v9.0.4 (#25562) --- var/spack/repos/builtin/packages/asciidoc-py3/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/asciidoc-py3/package.py b/var/spack/repos/builtin/packages/asciidoc-py3/package.py index f8695f9cd0f..81e5e052f37 100644 --- a/var/spack/repos/builtin/packages/asciidoc-py3/package.py +++ b/var/spack/repos/builtin/packages/asciidoc-py3/package.py @@ -17,6 +17,9 @@ class AsciidocPy3(AutotoolsPackage): homepage = "https://github.com/asciidoc/asciidoc-py3" url = "https://github.com/asciidoc/asciidoc-py3/releases/download/9.0.2/asciidoc-9.0.2.tar.gz" + version('9.1.0', sha256='fd499fcf51317b1aaf27336fb5e919c44c1f867f1ae6681ee197365d3065238b') + version('9.0.5', sha256='1a20647eb62ca37bc8107affab968caa0f674f0e962b497d1674391f636c7038') + version('9.0.4', sha256='400368a43f3eee656d7f197382cd3554b50fb370ef2aea6534f431692a356c66') version('9.0.3', sha256='d99c8be8e8a9232742253c2d87c547b2efd4bbd3f0c1e23ef14898ad0fff77c4') version('9.0.2', sha256='185fd68e47034c4dd892e1d4ae64c81152bc049e9bdc7d1ad63f927d35810a3b') From a018f48df9eac99561bf95f6febedd6e3edb1be0 Mon Sep 17 00:00:00 2001 From: psakievich Date: Mon, 30 Aug 2021 09:22:55 -0600 Subject: [PATCH 395/414] Updates to Exawind packages (#25568) --- .../builtin/packages/amr-wind/package.py | 18 ++++----- .../repos/builtin/packages/exawind/package.py | 40 +++++++++++++++++++ .../repos/builtin/packages/masa/package.py | 7 ++++ .../builtin/packages/nalu-wind/package.py | 25 ++++++------ .../repos/builtin/packages/nccmp/package.py | 20 ++-------- .../builtin/packages/openfast/package.py | 8 ++++ 6 files changed, 79 insertions(+), 39 deletions(-) create mode 100644 var/spack/repos/builtin/packages/exawind/package.py diff --git a/var/spack/repos/builtin/packages/amr-wind/package.py b/var/spack/repos/builtin/packages/amr-wind/package.py index b173957499f..aeef130570a 100644 --- a/var/spack/repos/builtin/packages/amr-wind/package.py +++ b/var/spack/repos/builtin/packages/amr-wind/package.py @@ -26,9 +26,9 @@ class AmrWind(CMakePackage, CudaPackage): incompressible flow sover for wind turbine and wind farm simulations. """ homepage = "https://github.com/Exawind/amr-wind" - git = "https://github.com/exawind/amr-wind.git" + git = "https://github.com/Exawind/amr-wind.git" - maintainers = ['sayerhs', 'jrood-nrel', 'michaeljbrazell'] + maintainers = ['jrood-nrel', 'michaeljbrazell'] tags = ['ecp', 'ecp-apps'] @@ -54,8 +54,6 @@ class AmrWind(CMakePackage, CudaPackage): description='Enable OpenFAST integration') variant('internal-amrex', default=True, description='Use AMRex submodule to build') - variant('fortran', default=False, - description='Build fortran interfaces') conflicts('+openmp', when='+cuda') @@ -63,16 +61,14 @@ class AmrWind(CMakePackage, CudaPackage): for opt in process_amrex_constraints(): dopt = '+particles' + opt - if '+hypre' in dopt: - dopt = "+fortran" + dopt depends_on('amrex@develop' + dopt, when='~internal-amrex' + opt) - depends_on('hypre+mpi+int64~cuda@2.20.0:', when='+mpi~cuda+hypre') - depends_on('hypre~mpi+int64~cuda@2.20.0:', when='~mpi~cuda+hypre') + depends_on('hypre+shared+mpi~int64~cuda@2.20.0:', when='+mpi~cuda+hypre') + depends_on('hypre+shared~mpi~int64~cuda@2.20.0:', when='~mpi~cuda+hypre') for arch in CudaPackage.cuda_arch_values: - depends_on('hypre+mpi~int64+cuda cuda_arch=%s @2.20.0:' % arch, + depends_on('hypre+shared+mpi~int64+cuda cuda_arch=%s @2.20.0:' % arch, when='+mpi+cuda+hypre cuda_arch=%s' % arch) - depends_on('hypre~mpi~int64+cuda cuda_arch=%s @2.20.0:' % arch, + depends_on('hypre+shared~mpi~int64+cuda cuda_arch=%s @2.20.0:' % arch, when='~mpi+cuda+hypre cuda_arch=%s' % arch) depends_on('netcdf-c', when='+netcdf') depends_on('masa', when='+masa') @@ -82,7 +78,7 @@ def cmake_args(self): define = CMakePackage.define vs = ["mpi", "cuda", "openmp", "netcdf", "hypre", "masa", - "openfast", "tests", "fortran"] + "openfast", "tests"] args = [ self.define_from_variant("AMR_WIND_ENABLE_%s" % v.upper(), v) for v in vs diff --git a/var/spack/repos/builtin/packages/exawind/package.py b/var/spack/repos/builtin/packages/exawind/package.py new file mode 100644 index 00000000000..c61876f5686 --- /dev/null +++ b/var/spack/repos/builtin/packages/exawind/package.py @@ -0,0 +1,40 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Exawind(CMakePackage): + """Multi-application driver for Exawind project.""" + + homepage = "https://github.com/Exawind/exawind-driver" + git = "https://github.com/Exawind/exawind-driver.git" + + maintainers = ['jrood-nrel'] + + tags = ['ecp', 'ecp-apps'] + + version('master', branch='main') + + depends_on('trilinos+stk') + depends_on('tioga+shared~nodegid') + depends_on('nalu-wind+hypre+openfast+tioga+wind-utils') + depends_on('amr-wind+hypre+mpi+netcdf+openfast') + depends_on('openfast+cxx+shared@2.6.0') + depends_on('yaml-cpp@0.6:') + + def cmake_args(self): + spec = self.spec + + args = [ + self.define('Trilinos_DIR', spec['trilinos'].prefix), + self.define('TIOGA_DIR', spec['tioga'].prefix), + self.define('Nalu-Wind_DIR', spec['nalu-wind'].prefix), + self.define('AMR-Wind_DIR', spec['amr-wind'].prefix), + self.define('OpenFAST_DIR', spec['openfast'].prefix), + self.define('YAML-CPP_DIR', spec['yaml-cpp'].prefix) + ] + + return args diff --git a/var/spack/repos/builtin/packages/masa/package.py b/var/spack/repos/builtin/packages/masa/package.py index dee05e96ef6..ec72851f1a1 100644 --- a/var/spack/repos/builtin/packages/masa/package.py +++ b/var/spack/repos/builtin/packages/masa/package.py @@ -44,3 +44,10 @@ def configure_args(self): options.extend(['--enable-python-interfaces']) return options + + def setup_build_environment(self, env): + # Unfortunately can't use this because MASA overwrites it + # env.set('CXXFLAGS', self.compiler.cxx11_flag) + env.set('CXX', "{0} {1}".format(self.compiler.cxx, self.compiler.cxx11_flag)) + if self.spec.satisfies('%apple-clang'): + env.set('CFLAGS', '-Wno-implicit-function-declaration') diff --git a/var/spack/repos/builtin/packages/nalu-wind/package.py b/var/spack/repos/builtin/packages/nalu-wind/package.py index ab1a0c3c264..70e77ac765d 100644 --- a/var/spack/repos/builtin/packages/nalu-wind/package.py +++ b/var/spack/repos/builtin/packages/nalu-wind/package.py @@ -52,24 +52,25 @@ class NaluWind(CMakePackage, CudaPackage): depends_on('mpi') depends_on('yaml-cpp@0.5.3:') - depends_on('openfast@master,develop +cxx', when='+openfast') - depends_on('tioga@master,develop', when='+tioga') - depends_on('hypre@develop,2.18.2: +int64+mpi~superlu-dist', when='+hypre') - depends_on('kokkos-nvcc-wrapper', type='build', when='+cuda') - depends_on('trilinos@master +exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+zlib+shards~hypre cxxstd=14') + depends_on('trilinos@master,develop ~cuda~wrapper+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+zlib+shards~hypre cxxstd=14', when='~cuda') # Cannot build Trilinos as a shared library with STK on Darwin # https://github.com/trilinos/Trilinos/issues/2994 - depends_on('trilinos~shared', when=(sys.platform == 'darwin')) - # Propagate cuda options to trilinos and hypre - depends_on('trilinos~cuda~wrapper', when='~cuda') - depends_on('trilinos+cuda+wrapper+cuda_rdc', when='+cuda') - depends_on('hypre@develop +cuda', when='+cuda') + depends_on('trilinos@master,develop ~cuda~wrapper+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+zlib+shards~hypre~shared cxxstd=14', when=(sys.platform == 'darwin')) + depends_on('openfast@2.6.0 +cxx', when='+openfast') + depends_on('tioga@master,develop', when='+tioga') + depends_on('hypre@develop,2.18.2: ~int64+mpi~superlu-dist', when='+hypre') + depends_on('kokkos-nvcc-wrapper', type='build', when='+cuda') for _arch in CudaPackage.cuda_arch_values: - depends_on('trilinos cuda_arch=' + _arch, when='+cuda cuda_arch=' + _arch) - depends_on('hypre cuda_arch=' + _arch, when='+hypre+cuda cuda_arch=' + _arch) + depends_on('trilinos@master,develop ~shared+exodus+tpetra+muelu+belos+ifpack2+amesos2+zoltan+stk+boost~superlu-dist~superlu+hdf5+zlib+shards~hypre+cuda+cuda_rdc+wrapper cxxstd=14 cuda_arch={0}'.format(_arch), + when='+cuda cuda_arch={0}'.format(_arch)) + depends_on('hypre@develop +mpi+cuda~int64~superlu-dist cuda_arch={0}'.format(_arch), + when='+hypre+cuda cuda_arch={0}'.format(_arch)) depends_on('trilinos-catalyst-ioss-adapter', when='+catalyst') depends_on('fftw+mpi', when='+fftw') depends_on('boost cxxstd=14', when='+boost') + depends_on('nccmp') + # indirect dependency needed to make original concretizer work + depends_on('netcdf-c+parallel-netcdf') def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/nccmp/package.py b/var/spack/repos/builtin/packages/nccmp/package.py index 6751a95b185..5e36ebfa00c 100644 --- a/var/spack/repos/builtin/packages/nccmp/package.py +++ b/var/spack/repos/builtin/packages/nccmp/package.py @@ -2,28 +2,16 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - from spack import * -class Nccmp(Package, SourceforgePackage): +class Nccmp(CMakePackage): """Compare NetCDF Files""" homepage = "http://nccmp.sourceforge.net/" - sourceforge_mirror_path = "nccmp/nccmp-1.8.2.0.tar.gz" + url = "https://gitlab.com/remikz/nccmp/-/archive/1.9.0.1/nccmp-1.9.0.1.tar.gz" + version('1.9.0.1', sha256='81e9753cf451afe8248d44c841e102349e07cde942b11d1f91b5f85feb622b99') + version('1.8.9.0', sha256='da5d2b4dcd52aec96e7d96ba4d0e97efebbd40fe9e640535e5ee3d5cd082ae50') version('1.8.2.0', sha256='7f5dad4e8670568a71f79d2bcebb08d95b875506d3d5faefafe1a8b3afa14f18') depends_on('netcdf-c') - - def install(self, spec, prefix): - # Configure says: F90 and F90FLAGS are replaced by FC and - # FCFLAGS respectively in this configure, please unset - # F90/F90FLAGS and set FC/FCFLAGS instead and rerun configure - # again. - env.pop('F90', None) - env.pop('F90FLAGS', None) - - configure('--prefix=%s' % prefix) - make() - make("check") - make("install") diff --git a/var/spack/repos/builtin/packages/openfast/package.py b/var/spack/repos/builtin/packages/openfast/package.py index b368168aa22..1393dd4b1a8 100644 --- a/var/spack/repos/builtin/packages/openfast/package.py +++ b/var/spack/repos/builtin/packages/openfast/package.py @@ -16,6 +16,14 @@ class Openfast(CMakePackage): version('develop', branch='dev') version('master', branch='main') + version('2.6.0', tag='v2.6.0') + version('2.5.0', tag='v2.5.0') + 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.0', tag='v2.1.0') + version('2.0.0', tag='v2.0.0') + version('1.0.0', tag='v1.0.0') variant('shared', default=True, description="Build shared libraries") From 8ee5bf6d03d29274b012d9923a333b66a1dccbc1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 30 Aug 2021 12:02:39 -0500 Subject: [PATCH 396/414] py-pythran: update checksum for patch (#25693) * Replace URL patch with file patch * Add comment explaining patch origin and purpose --- .../builtin/packages/py-pythran/omp.patch | 70 +++++++++++++++++++ .../builtin/packages/py-pythran/package.py | 5 +- 2 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-pythran/omp.patch diff --git a/var/spack/repos/builtin/packages/py-pythran/omp.patch b/var/spack/repos/builtin/packages/py-pythran/omp.patch new file mode 100644 index 00000000000..19aa2c68639 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pythran/omp.patch @@ -0,0 +1,70 @@ +diff --git a/omp/__init__.py b/omp/__init__.py +index bddae3063..10a4cc995 100644 +--- a/omp/__init__.py ++++ b/omp/__init__.py +@@ -69,10 +69,16 @@ class OpenMP(object): + + def init_not_msvc(self): + """ Find OpenMP library and try to load if using ctype interface. """ +- # find_library() does not search automatically LD_LIBRARY_PATH ++ # find_library() does not automatically search LD_LIBRARY_PATH ++ # until Python 3.6+, so we explicitly add it. ++ # LD_LIBRARY_PATH is used on Linux, while macOS uses DYLD_LIBRARY_PATH ++ # and DYLD_FALLBACK_LIBRARY_PATH. + paths = os.environ.get('LD_LIBRARY_PATH', '').split(':') ++ paths += os.environ.get('DYLD_LIBRARY_PATH', '').split(':') ++ paths += os.environ.get('DYLD_FALLBACK_LIBRARY_PATH', '').split(':') + +- for libomp_name in self.get_libomp_names(): ++ libomp_names = self.get_libomp_names() ++ for libomp_name in libomp_names: + if cxx is None or sys.platform == 'win32': + # Note: Clang supports -print-file-name, but not yet for + # clang-cl as of v12.0.0 (April '21) +@@ -87,25 +93,27 @@ class OpenMP(object): + except (OSError, CalledProcessError): + pass + +- # Try to load find libgomp shared library using loader search dirs +- libgomp_path = find_library("gomp") +- +- # Try to use custom paths if lookup failed +- for path in paths: +- if libgomp_path: +- break +- path = path.strip() +- if os.path.isdir(path): +- libgomp_path = find_library(os.path.join(str(path), "libgomp")) +- +- if not libgomp_path: +- raise ImportError("I can't find a shared library for libgomp," +- " you may need to install it or adjust the " +- "LD_LIBRARY_PATH environment variable.") +- else: +- # Load the library (shouldn't fail with an absolute path right?) +- self.libomp = ctypes.CDLL(libgomp_path) +- self.version = 45 ++ for libomp_name in libomp_names: ++ # Try to load find libomp shared library using loader search dirs ++ libomp_path = find_library(libomp_name) ++ ++ # Try to use custom paths if lookup failed ++ for path in paths: ++ if libomp_path: ++ break ++ path = path.strip() ++ if os.path.isfile(os.path.join(path, libomp_name)): ++ libomp_path = os.path.join(path, libomp_name) ++ ++ if libomp_path: ++ # Load the library (shouldn't fail with an absolute path right?) ++ self.libomp = ctypes.CDLL(libomp_path) ++ self.version = 45 ++ return ++ ++ raise ImportError("I can't find a shared library for libomp," ++ " you may need to install it or adjust the " ++ "LD_LIBRARY_PATH environment variable.") + + def __getattr__(self, name): + """ diff --git a/var/spack/repos/builtin/packages/py-pythran/package.py b/var/spack/repos/builtin/packages/py-pythran/package.py index 9042ec03267..e48928a90b2 100644 --- a/var/spack/repos/builtin/packages/py-pythran/package.py +++ b/var/spack/repos/builtin/packages/py-pythran/package.py @@ -46,9 +46,8 @@ class PyPythran(PythonPackage): depends_on('py-beniget', when='@:0.9.3', type=('build', 'run')) depends_on('llvm-openmp', when='%apple-clang', type=('build', 'run')) - patch('https://patch-diff.githubusercontent.com/raw/serge-sans-paille/pythran/pull/1856.patch', - sha256='18f5e8985d636ad9c73b2f96b601aae299e0c315aa4c0dbee7b2599a63177218', - when='@0.9.10:0.9.12') + # https://github.com/serge-sans-paille/pythran/pull/1856 + patch('omp.patch', when='@0.9.10:0.9.12') def patch(self): # Compiler is used at run-time to determine name of OpenMP library to search for From beb3524392ae76532198e9ee99dc7dcd59996629 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Mon, 30 Aug 2021 17:15:49 -0400 Subject: [PATCH 397/414] [py-plotly] added version 5.2.2 (#25668) * [py-plotly] added version 5.2.2 * [py-plotly] flake8 * [py-plotly] requests not required for new version --- .../repos/builtin/packages/py-plotly/package.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-plotly/package.py b/var/spack/repos/builtin/packages/py-plotly/package.py index 24666f278fb..b1036631300 100644 --- a/var/spack/repos/builtin/packages/py-plotly/package.py +++ b/var/spack/repos/builtin/packages/py-plotly/package.py @@ -12,11 +12,17 @@ class PyPlotly(PythonPackage): homepage = "https://plot.ly/python/" pypi = "plotly/plotly-2.2.0.tar.gz" + version('5.2.2', sha256='809f0674a7991daaf4f287964d617d24e9fa44463acd5a5352ebd874cfd98b07') version('2.2.0', sha256='ca668911ffb4d11fed6d7fbb12236f8ecc6a7209db192326bcb64bdb41451a58') + depends_on('python@3.6:', when='@5.2.2:', type=('build', 'run')) + depends_on('py-setuptools', type='build') - depends_on('py-decorator@4.0.6:', type=('build', 'run')) - depends_on('py-nbformat@4.2.0:', type=('build', 'run')) - depends_on('py-requests', type=('build', 'run')) - depends_on('py-six', type=('build', 'run')) - depends_on('py-pytz', type=('build', 'run')) + depends_on('py-six', type=('build', 'run')) + + depends_on('py-pytz', when='@:2.2.0', type=('build', 'run')) + depends_on('py-decorator@4.0.6:', when='@:2.2.0', type=('build', 'run')) + depends_on('py-nbformat@4.2.0:', when='@:2.2.0', type=('build', 'run')) + depends_on('py-requests', when='@:2.2.0', type=('build', 'run')) + + depends_on('py-tenacity@6.2.0:', when='@5.2.2:', type=('build', 'run')) From b34f289796a608731a303aa16b3bb722cd1d514c Mon Sep 17 00:00:00 2001 From: Scott Wittenburg Date: Mon, 30 Aug 2021 18:19:42 -0600 Subject: [PATCH 398/414] Pipelines: disable power builds (#25704) --- .../gitlab/cloud_pipelines/.gitlab-ci.yml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index fca09566670..1d7bba79e92 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -136,27 +136,27 @@ e4s-develop-build: variables: SPACK_CI_STACK_NAME: e4s-on-power -e4s-on-power-pr-generate: - extends: [ ".e4s-on-power", ".pr-generate", ".power-e4s-generate-tags-and-image"] +# e4s-on-power-pr-generate: +# extends: [ ".e4s-on-power", ".pr-generate", ".power-e4s-generate-tags-and-image"] -e4s-on-power-develop-generate: - extends: [ ".e4s-on-power", ".develop-generate", ".power-e4s-generate-tags-and-image"] +# e4s-on-power-develop-generate: +# extends: [ ".e4s-on-power", ".develop-generate", ".power-e4s-generate-tags-and-image"] -e4s-on-power-pr-build: - extends: [ ".e4s-on-power", ".pr-build" ] - trigger: - include: - - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml - job: e4s-on-power-pr-generate - strategy: depend +# e4s-on-power-pr-build: +# extends: [ ".e4s-on-power", ".pr-build" ] +# trigger: +# include: +# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml +# job: e4s-on-power-pr-generate +# strategy: depend -e4s-on-power-develop-build: - extends: [ ".e4s-on-power", ".develop-build" ] - trigger: - include: - - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml - job: e4s-on-power-develop-generate - strategy: depend +# e4s-on-power-develop-build: +# extends: [ ".e4s-on-power", ".develop-build" ] +# trigger: +# include: +# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml +# job: e4s-on-power-develop-generate +# strategy: depend ######################################### # Build tests for different build-systems From 3c6050d3a20e1d4f76c553780fb93d897b2112b9 Mon Sep 17 00:00:00 2001 From: Hadrien G Date: Tue, 31 Aug 2021 16:44:01 +0200 Subject: [PATCH 399/414] acts: add v12.0.0, v12.0.1 (#25697) --- var/spack/repos/builtin/packages/acts/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py index b54db8e1193..59ec945a3c2 100644 --- a/var/spack/repos/builtin/packages/acts/package.py +++ b/var/spack/repos/builtin/packages/acts/package.py @@ -38,6 +38,8 @@ class Acts(CMakePackage, CudaPackage): # Supported Acts versions version('main', branch='main') version('master', branch='main', deprecated=True) # For compatibility + version('12.0.1', commit='a80d1ef995d8cdd4190cc09cb249276a3e0161f4', submodules=True) + version('12.0.0', commit='e0aa4e7dcb70df025576e050b6e652a2f736454a', submodules=True) version('11.0.0', commit='eac3def261f65b343af6d8ce4bc40443ac57b57e') version('10.0.0', commit='9bfe0b83f277f686408b896a84d2b9b53610f623') version('9.02.0', commit='c438ee490e94eaf1c854a336ef54f398da637a48') From 2633cf7da6edde6104b9dd0b0422ff6b2c831a47 Mon Sep 17 00:00:00 2001 From: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> Date: Tue, 31 Aug 2021 15:56:20 -0700 Subject: [PATCH 400/414] Papyrus: Add E4S testsuite stand alone test (#25324) --- .../repos/builtin/packages/papyrus/package.py | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/var/spack/repos/builtin/packages/papyrus/package.py b/var/spack/repos/builtin/packages/papyrus/package.py index b2d3688df54..e5f17e65627 100644 --- a/var/spack/repos/builtin/packages/papyrus/package.py +++ b/var/spack/repos/builtin/packages/papyrus/package.py @@ -22,6 +22,8 @@ class Papyrus(CMakePackage): depends_on('mpi') + test_requires_compiler = True + def setup_run_environment(self, env): if os.path.isdir(self.prefix.lib64): lib_dir = self.prefix.lib64 @@ -31,3 +33,54 @@ def setup_run_environment(self, env): env.prepend_path('CPATH', self.prefix.include) env.prepend_path('LIBRARY_PATH', lib_dir) env.prepend_path('LD_LIBRARY_PATH', lib_dir) + + @run_after('install') + def cache_test_sources(self): + """Copy the example source files after the package is installed to an + install test subdirectory for use during `spack test run`.""" + self.cache_extra_test_sources([join_path('kv', 'tests')]) + + def run_example_tests(self): + """Run all c & c++ stand alone test""" + + example_dir = join_path(self.test_suite.current_test_cache_dir, 'kv', 'tests') + + if not os.path.exists(example_dir): + print('Skipping all test') + return + + if os.path.isdir(self.prefix.lib64): + lib_dir = self.prefix.lib64 + else: + lib_dir = self.prefix.lib + + example_list = ['01_open_close', '02_put_get', '03_barrier', + '04_delete', '05_fence', '06_signal', + '07_consistency', '08_protect', '09_cache', + '10_checkpoint', '11_restart', '12_free'] + + for example in example_list: + + test_dir = join_path(self.test_suite.current_test_cache_dir, + 'kv', 'tests', example) + test_example = 'test{0}.c'.format(example) + + if not os.path.exists(test_dir): + print('Skipping {0} test'.format(example)) + continue + + self.run_test(self.spec['mpi'].mpicxx, + options=['{0}'.format(join_path(test_dir, test_example)), + '-I{0}'.format(join_path(self.prefix, 'include')), + '-L{0}'.format(lib_dir), '-lpapyruskv', '-g', '-o', + example, '-lpthread', '-lm'], + purpose='test: compile {0} example'.format(example), + work_dir=test_dir) + + self.run_test(self.spec['mpi'].prefix.bin.mpirun, + options=['-np', '4', example], + purpose='test: run {0} example'.format(example), + work_dir=test_dir) + + def test(self): + self.run_example_tests() From 7adacf967daa6ea599cfabb8e1c480cbe0e989a8 Mon Sep 17 00:00:00 2001 From: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> Date: Tue, 31 Aug 2021 16:57:55 -0700 Subject: [PATCH 401/414] Legion: Add E4S testsuite stand alone test (#25285) Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> --- .../repos/builtin/packages/legion/package.py | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py index be91106d2dc..7949036b2e6 100644 --- a/var/spack/repos/builtin/packages/legion/package.py +++ b/var/spack/repos/builtin/packages/legion/package.py @@ -332,3 +332,44 @@ def cmake_args(self): options.append('-DBUILD_MARCH:STRING=native') return options + + @run_after('install') + def cache_test_sources(self): + """Copy the example source files after the package is installed to an + install test subdirectory for use during `spack test run`.""" + self.cache_extra_test_sources([join_path('examples', 'local_function_tasks')]) + + def run_local_function_tasks_test(self): + """Run stand alone test: local_function_tasks""" + + test_dir = join_path(self.test_suite.current_test_cache_dir, + 'examples', 'local_function_tasks') + + if not os.path.exists(test_dir): + print('Skipping local_function_tasks test') + return + + exe = 'local_function_tasks' + + cmake_args = ['-DCMAKE_C_COMPILER={0}'.format(self.compiler.cc), + '-DCMAKE_CXX_COMPILER={0}'.format(self.compiler.cxx), + '-DLegion_DIR={0}'.format(join_path(self.prefix, + 'share', + 'Legion', + 'cmake'))] + + self.run_test('cmake', + options=cmake_args, + purpose='test: generate makefile for {0} example'.format(exe), + work_dir=test_dir) + + self.run_test('make', + purpose='test: build {0} example'.format(exe), + work_dir=test_dir) + + self.run_test(exe, + purpose='test: run {0} example'.format(exe), + work_dir=test_dir) + + def test(self): + self.run_local_function_tasks_test() From b0ee7deaa764ae4c1d6882fdbdb8a8f2206f5ce1 Mon Sep 17 00:00:00 2001 From: Peter Scheibel Date: Wed, 1 Sep 2021 00:43:57 -0700 Subject: [PATCH 402/414] allow building silo+mpi ^hdf5~mpi (#25724) --- var/spack/repos/builtin/packages/silo/package.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/silo/package.py b/var/spack/repos/builtin/packages/silo/package.py index 5eb541a918b..3f234473b2b 100644 --- a/var/spack/repos/builtin/packages/silo/package.py +++ b/var/spack/repos/builtin/packages/silo/package.py @@ -40,8 +40,7 @@ class Silo(AutotoolsPackage): depends_on('libtool', type='build', when='+shared') depends_on('mpi', when='+mpi') depends_on('hdf5@:1.10.999', when='@:4.10.2+hdf5') - depends_on('hdf5~mpi', when='~mpi+hdf5') - depends_on('hdf5+mpi', when='+mpi+hdf5') + depends_on('hdf5', when='+hdf5') depends_on('qt+gui~framework@4.8:4.9', when='+silex') depends_on('libx11', when='+silex') # Xmu dependency is required on Ubuntu 18-20 From 2411a9599eebf0ff57a8a4a944fc28d153e64434 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 1 Sep 2021 11:33:31 +0200 Subject: [PATCH 403/414] nghttp2: add v1.44.0, fix build (#25605) --- .../repos/builtin/packages/nghttp2/package.py | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/var/spack/repos/builtin/packages/nghttp2/package.py b/var/spack/repos/builtin/packages/nghttp2/package.py index 332b8bc4250..c4000d16387 100644 --- a/var/spack/repos/builtin/packages/nghttp2/package.py +++ b/var/spack/repos/builtin/packages/nghttp2/package.py @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import os - from spack import * @@ -15,23 +13,25 @@ class Nghttp2(AutotoolsPackage): homepage = "https://nghttp2.org/" url = "https://github.com/nghttp2/nghttp2/releases/download/v1.26.0/nghttp2-1.26.0.tar.gz" + version('1.44.0', sha256='3e4824d02ae27eca931e0bb9788df00a26e5fd8eb672cf52cbb89c1463ba16e9') version('1.26.0', sha256='daf7c0ca363efa25b2cbb1e4bd925ac4287b664c3d1465f6a390359daa3f0cf1') - depends_on('python@2.7:', type=('build', 'run')) - depends_on('py-cython@0.19:', type=('build', 'run')) - depends_on('py-setuptools', type=('build')) + depends_on('pkgconfig', type='build') - def setup_build_environment(self, env): - site_packages_dir = os.path.join( - self.spec.prefix.lib, - 'python' + str(self.spec['python'].version.up_to(2)), - 'site-packages') - env.prepend_path('PYTHONPATH', site_packages_dir) - - @run_before('install') - def ensure_install_dir_exists(self): - site_packages_dir = os.path.join( - self.spec.prefix.lib, - 'python' + str(self.spec['python'].version.up_to(2)), - 'site-packages') - mkdirp(site_packages_dir) + def configure_args(self): + return [ + '--enable-lib-only', + '--with-libxml2=no', + '--with-jansson=no', + '--with-zlib=no', + '--with-libevent-openssl=no', + '--with-libcares=no', + '--with-openssl=no', + '--with-libev=no', + '--with-cunit=no', + '--with-jemalloc=no', + '--with-systemd=no', + '--with-mruby=no', + '--with-neverbleed=no', + '--with-boost=no' + ] From ab37ac95bf9dbbe77f71654e903c85bae267c76a Mon Sep 17 00:00:00 2001 From: Nisarg Patel <33021055+hpcnpatel@users.noreply.github.com> Date: Wed, 1 Sep 2021 11:39:39 +0200 Subject: [PATCH 404/414] Adding new versions of redis (#25714) --- var/spack/repos/builtin/packages/redis/package.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/redis/package.py b/var/spack/repos/builtin/packages/redis/package.py index b946c5bdc23..28c78b9ddaf 100644 --- a/var/spack/repos/builtin/packages/redis/package.py +++ b/var/spack/repos/builtin/packages/redis/package.py @@ -3,11 +3,9 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - class Redis(MakefilePackage): """Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. - It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, @@ -15,10 +13,17 @@ class Redis(MakefilePackage): and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster """ - homepage = "https://redis.io" - url = "http://download.redis.io/releases/redis-5.0.3.tar.gz" + url = "https://download.redis.io/releases/redis-6.2.5.tar.gz" + version('6.2.5', sha256='4b9a75709a1b74b3785e20a6c158cab94cf52298aa381eea947a678a60d551ae') + version('6.2.4', sha256='ba32c406a10fc2c09426e2be2787d74ff204eb3a2e496d87cff76a476b6ae16e') + version('6.2.3', sha256='98ed7d532b5e9671f5df0825bb71f0f37483a16546364049384c63db8764512b') + version('6.2.2', sha256='7a260bb74860f1b88c3d5942bf8ba60ca59f121c6dce42d3017bed6add0b9535') + version('6.2.1', sha256='cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520') + version('6.2.0', sha256='67d624c25d962bd68aff8812a135df85bad07556b8825f3bcd5b522a9932dbca') + version('6.0.15', sha256='4bc295264a95bc94423c162a9eee66135a24a51eefe5f53f18fc9bde5c3a9f74') + version('6.0.5', sha256='42cf86a114d2a451b898fcda96acd4d01062a7dbaaad2801d9164a36f898f596') version('5.0.3', sha256='e290b4ddf817b26254a74d5d564095b11f9cd20d8f165459efa53eb63cd93e02') version('5.0.2', sha256='937dde6164001c083e87316aa20dad2f8542af089dfcb1cbb64f9c8300cd00ed') version('5.0.1', sha256='82a67c0eec97f9ad379384c30ec391b269e17a3e4596393c808f02db7595abcb') From 4c23059017b0d171cf1e4345788881f9385af988 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 1 Sep 2021 11:58:29 +0200 Subject: [PATCH 405/414] Speed-up two unit tests by using builtin.mock instead of builtin (#25544) --- lib/spack/spack/test/cmd/install.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/test/cmd/install.py b/lib/spack/spack/test/cmd/install.py index 6a84b97a8f4..7735ebf506e 100644 --- a/lib/spack/spack/test/cmd/install.py +++ b/lib/spack/spack/test/cmd/install.py @@ -311,7 +311,7 @@ def test_install_invalid_spec(invalid_spec): install(invalid_spec) -@pytest.mark.usefixtures('noop_install', 'config') +@pytest.mark.usefixtures('noop_install', 'mock_packages', 'config') @pytest.mark.parametrize('spec,concretize,error_code', [ (Spec('mpi'), False, 1), (Spec('mpi'), True, 0), @@ -415,7 +415,7 @@ def just_throw(*args, **kwargs): assert 'error message="{0}"'.format(msg) in content -@pytest.mark.usefixtures('noop_install', 'config') +@pytest.mark.usefixtures('noop_install', 'mock_packages', 'config') @pytest.mark.parametrize('clispecs,filespecs', [ [[], ['mpi']], [[], ['mpi', 'boost']], From aabece46ba2d07c33165c23ff71c9f567ebf22d2 Mon Sep 17 00:00:00 2001 From: David Beckingsale Date: Wed, 1 Sep 2021 11:34:20 -0700 Subject: [PATCH 406/414] Add variant to allow unsupported compiler & CUDA combinations (#19736) Sometimes users need to be able to override the conflicts in `CudaPacakge`. This introduces a variant to enable/disable them. --- lib/spack/spack/build_systems/cuda.py | 156 +++++++++--------- .../repos/builtin/packages/cuda/package.py | 2 + 2 files changed, 79 insertions(+), 79 deletions(-) diff --git a/lib/spack/spack/build_systems/cuda.py b/lib/spack/spack/build_systems/cuda.py index b2b77835004..79d63fab10b 100644 --- a/lib/spack/spack/build_systems/cuda.py +++ b/lib/spack/spack/build_systems/cuda.py @@ -5,6 +5,7 @@ import spack.variant from spack.directives import conflicts, depends_on, variant +from spack.multimethod import when from spack.package import PackageBase @@ -87,90 +88,87 @@ def cuda_flags(arch_list): # Linux x86_64 compiler conflicts from here: # https://gist.github.com/ax3l/9489132 - conflicts('%gcc@5:', when='+cuda ^cuda@:7.5 target=x86_64:') - conflicts('%gcc@6:', when='+cuda ^cuda@:8 target=x86_64:') - conflicts('%gcc@7:', when='+cuda ^cuda@:9.1 target=x86_64:') - conflicts('%gcc@8:', when='+cuda ^cuda@:10.0.130 target=x86_64:') - conflicts('%gcc@9:', when='+cuda ^cuda@:10.2.89 target=x86_64:') - conflicts('%gcc@:4', when='+cuda ^cuda@11.0.2: target=x86_64:') - conflicts('%gcc@10:', when='+cuda ^cuda@:11.0.3 target=x86_64:') - conflicts('%gcc@11:', when='+cuda ^cuda@:11.1.0 target=x86_64:') - conflicts('%pgi@:14.8', when='+cuda ^cuda@:7.0.27 target=x86_64:') - conflicts('%pgi@:15.3,15.5:', when='+cuda ^cuda@7.5 target=x86_64:') - conflicts('%pgi@:16.2,16.0:16.3', when='+cuda ^cuda@8 target=x86_64:') - conflicts('%pgi@:15,18:', when='+cuda ^cuda@9.0:9.1 target=x86_64:') - conflicts('%pgi@:16,19:', when='+cuda ^cuda@9.2.88:10 target=x86_64:') - conflicts('%pgi@:17,20:', - when='+cuda ^cuda@10.1.105:10.2.89 target=x86_64:') - conflicts('%pgi@:17,21:', - when='+cuda ^cuda@11.0.2:11.1.0 target=x86_64:') - conflicts('%clang@:3.4', when='+cuda ^cuda@:7.5 target=x86_64:') - conflicts('%clang@:3.7,4:', - when='+cuda ^cuda@8.0:9.0 target=x86_64:') - conflicts('%clang@:3.7,4.1:', - when='+cuda ^cuda@9.1 target=x86_64:') - conflicts('%clang@:3.7,5.1:', when='+cuda ^cuda@9.2 target=x86_64:') - conflicts('%clang@:3.7,6.1:', when='+cuda ^cuda@10.0.130 target=x86_64:') - conflicts('%clang@:3.7,7.1:', when='+cuda ^cuda@10.1.105 target=x86_64:') - conflicts('%clang@:3.7,8.1:', - when='+cuda ^cuda@10.1.105:10.1.243 target=x86_64:') - conflicts('%clang@:3.2,9:', when='+cuda ^cuda@10.2.89 target=x86_64:') - conflicts('%clang@:5', when='+cuda ^cuda@11.0.2: target=x86_64:') - conflicts('%clang@10:', when='+cuda ^cuda@:11.0.3 target=x86_64:') - conflicts('%clang@11:', when='+cuda ^cuda@:11.1.0 target=x86_64:') + with when('~allow-unsupported-compilers'): + conflicts('%gcc@5:', when='+cuda ^cuda@:7.5 target=x86_64:') + conflicts('%gcc@6:', when='+cuda ^cuda@:8 target=x86_64:') + conflicts('%gcc@7:', when='+cuda ^cuda@:9.1 target=x86_64:') + conflicts('%gcc@8:', when='+cuda ^cuda@:10.0.130 target=x86_64:') + conflicts('%gcc@9:', when='+cuda ^cuda@:10.2.89 target=x86_64:') + conflicts('%gcc@:4', when='+cuda ^cuda@11.0.2: target=x86_64:') + conflicts('%gcc@10:', when='+cuda ^cuda@:11.0.3 target=x86_64:') + conflicts('%gcc@11:', when='+cuda ^cuda@:11.1.0 target=x86_64:') + conflicts('%pgi@:14.8', when='+cuda ^cuda@:7.0.27 target=x86_64:') + conflicts('%pgi@:15.3,15.5:', when='+cuda ^cuda@7.5 target=x86_64:') + conflicts('%pgi@:16.2,16.0:16.3', when='+cuda ^cuda@8 target=x86_64:') + conflicts('%pgi@:15,18:', when='+cuda ^cuda@9.0:9.1 target=x86_64:') + conflicts('%pgi@:16,19:', when='+cuda ^cuda@9.2.88:10 target=x86_64:') + conflicts('%pgi@:17,20:', when='+cuda ^cuda@10.1.105:10.2.89 target=x86_64:') + conflicts('%pgi@:17,21:', when='+cuda ^cuda@11.0.2:11.1.0 target=x86_64:') + conflicts('%clang@:3.4', when='+cuda ^cuda@:7.5 target=x86_64:') + conflicts('%clang@:3.7,4:', when='+cuda ^cuda@8.0:9.0 target=x86_64:') + conflicts('%clang@:3.7,4.1:', when='+cuda ^cuda@9.1 target=x86_64:') + conflicts('%clang@:3.7,5.1:', when='+cuda ^cuda@9.2 target=x86_64:') + conflicts('%clang@:3.7,6.1:', when='+cuda ^cuda@10.0.130 target=x86_64:') + conflicts('%clang@:3.7,7.1:', when='+cuda ^cuda@10.1.105 target=x86_64:') + conflicts('%clang@:3.7,8.1:', + when='+cuda ^cuda@10.1.105:10.1.243 target=x86_64:') + conflicts('%clang@:3.2,9:', when='+cuda ^cuda@10.2.89 target=x86_64:') + conflicts('%clang@:5', when='+cuda ^cuda@11.0.2: target=x86_64:') + conflicts('%clang@10:', when='+cuda ^cuda@:11.0.3 target=x86_64:') + conflicts('%clang@11:', when='+cuda ^cuda@:11.1.0 target=x86_64:') - # x86_64 vs. ppc64le differ according to NVidia docs - # Linux ppc64le compiler conflicts from Table from the docs below: - # https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html - # https://docs.nvidia.com/cuda/archive/9.2/cuda-installation-guide-linux/index.html - # https://docs.nvidia.com/cuda/archive/9.1/cuda-installation-guide-linux/index.html - # https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html - # https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-guide-linux/index.html + # x86_64 vs. ppc64le differ according to NVidia docs + # Linux ppc64le compiler conflicts from Table from the docs below: + # https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html + # https://docs.nvidia.com/cuda/archive/9.2/cuda-installation-guide-linux/index.html + # https://docs.nvidia.com/cuda/archive/9.1/cuda-installation-guide-linux/index.html + # https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html + # https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-guide-linux/index.html - # information prior to CUDA 9 difficult to find - conflicts('%gcc@6:', when='+cuda ^cuda@:9 target=ppc64le:') - conflicts('%gcc@8:', when='+cuda ^cuda@:10.0.130 target=ppc64le:') - conflicts('%gcc@9:', when='+cuda ^cuda@:10.1.243 target=ppc64le:') - # officially, CUDA 11.0.2 only supports the system GCC 8.3 on ppc64le - conflicts('%gcc@:4', when='+cuda ^cuda@11.0.2: target=ppc64le:') - conflicts('%gcc@10:', when='+cuda ^cuda@:11.0.3 target=ppc64le:') - conflicts('%gcc@11:', when='+cuda ^cuda@:11.1.0 target=ppc64le:') - conflicts('%pgi', when='+cuda ^cuda@:8 target=ppc64le:') - conflicts('%pgi@:16', when='+cuda ^cuda@:9.1.185 target=ppc64le:') - conflicts('%pgi@:17', when='+cuda ^cuda@:10 target=ppc64le:') - conflicts('%clang@4:', when='+cuda ^cuda@:9.0.176 target=ppc64le:') - conflicts('%clang@5:', when='+cuda ^cuda@:9.1 target=ppc64le:') - conflicts('%clang@6:', when='+cuda ^cuda@:9.2 target=ppc64le:') - conflicts('%clang@7:', when='+cuda ^cuda@10.0.130 target=ppc64le:') - conflicts('%clang@7.1:', when='+cuda ^cuda@:10.1.105 target=ppc64le:') - conflicts('%clang@8.1:', when='+cuda ^cuda@:10.2.89 target=ppc64le:') - conflicts('%clang@:5', when='+cuda ^cuda@11.0.2: target=ppc64le:') - conflicts('%clang@10:', when='+cuda ^cuda@:11.0.3 target=ppc64le:') - conflicts('%clang@11:', when='+cuda ^cuda@:11.1.0 target=ppc64le:') + # information prior to CUDA 9 difficult to find + conflicts('%gcc@6:', when='+cuda ^cuda@:9 target=ppc64le:') + conflicts('%gcc@8:', when='+cuda ^cuda@:10.0.130 target=ppc64le:') + conflicts('%gcc@9:', when='+cuda ^cuda@:10.1.243 target=ppc64le:') + # officially, CUDA 11.0.2 only supports the system GCC 8.3 on ppc64le + conflicts('%gcc@:4', when='+cuda ^cuda@11.0.2: target=ppc64le:') + conflicts('%gcc@10:', when='+cuda ^cuda@:11.0.2 target=ppc64le:') + conflicts('%gcc@11:', when='+cuda ^cuda@:11.1.0 target=ppc64le:') + conflicts('%pgi', when='+cuda ^cuda@:8 target=ppc64le:') + conflicts('%pgi@:16', when='+cuda ^cuda@:9.1.185 target=ppc64le:') + conflicts('%pgi@:17', when='+cuda ^cuda@:10 target=ppc64le:') + conflicts('%clang@4:', when='+cuda ^cuda@:9.0.176 target=ppc64le:') + conflicts('%clang@5:', when='+cuda ^cuda@:9.1 target=ppc64le:') + conflicts('%clang@6:', when='+cuda ^cuda@:9.2 target=ppc64le:') + conflicts('%clang@7:', when='+cuda ^cuda@10.0.130 target=ppc64le:') + conflicts('%clang@7.1:', when='+cuda ^cuda@:10.1.105 target=ppc64le:') + conflicts('%clang@8.1:', when='+cuda ^cuda@:10.2.89 target=ppc64le:') + conflicts('%clang@:5', when='+cuda ^cuda@11.0.2: target=ppc64le:') + conflicts('%clang@10:', when='+cuda ^cuda@:11.0.2 target=ppc64le:') + conflicts('%clang@11:', when='+cuda ^cuda@:11.1.0 target=ppc64le:') - # Intel is mostly relevant for x86_64 Linux, even though it also - # exists for Mac OS X. No information prior to CUDA 3.2 or Intel 11.1 - conflicts('%intel@:11.0', when='+cuda ^cuda@:3.1') - conflicts('%intel@:12.0', when='+cuda ^cuda@5.5:') - conflicts('%intel@:13.0', when='+cuda ^cuda@6.0:') - conflicts('%intel@:13.2', when='+cuda ^cuda@6.5:') - conflicts('%intel@:14.9', when='+cuda ^cuda@7:') - # Intel 15.x is compatible with CUDA 7 thru current CUDA - conflicts('%intel@16.0:', when='+cuda ^cuda@:8.0.43') - conflicts('%intel@17.0:', when='+cuda ^cuda@:8.0.60') - conflicts('%intel@18.0:', when='+cuda ^cuda@:9.9') - conflicts('%intel@19.0:', when='+cuda ^cuda@:10.0') - conflicts('%intel@19.1:', when='+cuda ^cuda@:10.1') - conflicts('%intel@19.2:', when='+cuda ^cuda@:11.1.0') + # Intel is mostly relevant for x86_64 Linux, even though it also + # exists for Mac OS X. No information prior to CUDA 3.2 or Intel 11.1 + conflicts('%intel@:11.0', when='+cuda ^cuda@:3.1') + conflicts('%intel@:12.0', when='+cuda ^cuda@5.5:') + conflicts('%intel@:13.0', when='+cuda ^cuda@6.0:') + conflicts('%intel@:13.2', when='+cuda ^cuda@6.5:') + conflicts('%intel@:14.9', when='+cuda ^cuda@7:') + # Intel 15.x is compatible with CUDA 7 thru current CUDA + conflicts('%intel@16.0:', when='+cuda ^cuda@:8.0.43') + conflicts('%intel@17.0:', when='+cuda ^cuda@:8.0.60') + conflicts('%intel@18.0:', when='+cuda ^cuda@:9.9') + conflicts('%intel@19.0:', when='+cuda ^cuda@:10.0') + conflicts('%intel@19.1:', when='+cuda ^cuda@:10.1') + conflicts('%intel@19.2:', when='+cuda ^cuda@:11.1.0') - # XL is mostly relevant for ppc64le Linux - conflicts('%xl@:12,14:', when='+cuda ^cuda@:9.1') - conflicts('%xl@:12,14:15,17:', when='+cuda ^cuda@9.2') - conflicts('%xl@:12,17:', when='+cuda ^cuda@:11.1.0') + # XL is mostly relevant for ppc64le Linux + conflicts('%xl@:12,14:', when='+cuda ^cuda@:9.1') + conflicts('%xl@:12,14:15,17:', when='+cuda ^cuda@9.2') + conflicts('%xl@:12,17:', when='+cuda ^cuda@:11.1.0') - # Darwin. - # TODO: add missing conflicts for %apple-clang cuda@:10 - conflicts('platform=darwin', when='+cuda ^cuda@11.0.2:') + # Darwin. + # TODO: add missing conflicts for %apple-clang cuda@:10 + conflicts('platform=darwin', when='+cuda ^cuda@11.0.2: ') # Make sure cuda_arch can not be used without +cuda for value in cuda_arch_values: diff --git a/var/spack/repos/builtin/packages/cuda/package.py b/var/spack/repos/builtin/packages/cuda/package.py index b4d966c4845..27271154ad1 100644 --- a/var/spack/repos/builtin/packages/cuda/package.py +++ b/var/spack/repos/builtin/packages/cuda/package.py @@ -122,6 +122,8 @@ class Cuda(Package): conflicts('arch=darwin-mojave-x86_64') variant('dev', default=False, description='Enable development dependencies, i.e to use cuda-gdb') + variant('allow-unsupported-compilers', default=False, + description='Allow unsupported host compiler and CUDA version combinations') depends_on('libxml2', when='@10.1.243:') # cuda-gdb needs libncurses.so.5 From 03331de0f2f65d03a837c3006863c792ce58973b Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 1 Sep 2021 23:12:55 +0200 Subject: [PATCH 407/414] bugfix: R packages can be concretized together with clingo again (#25730) --- var/spack/repos/builtin/packages/r-pbkrtest/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/r-pbkrtest/package.py b/var/spack/repos/builtin/packages/r-pbkrtest/package.py index b075e8611ad..9bf5bd4d6d6 100644 --- a/var/spack/repos/builtin/packages/r-pbkrtest/package.py +++ b/var/spack/repos/builtin/packages/r-pbkrtest/package.py @@ -33,7 +33,7 @@ class RPbkrtest(RPackage): depends_on('r@3.0.2:', type=('build', 'run')) depends_on('r@3.2.3:', when='@0.4-6:', type=('build', 'run')) depends_on('r@3.5.0:', when='@0.5-0.1:', type=('build', 'run')) - depends_on('r-lme4@1.1.10:', type=('build', 'run')) + depends_on('r-lme4@1.1-10:', type=('build', 'run')) depends_on('r-broom', when='@0.5-0.1:', type=('build', 'run')) depends_on('r-dplyr', when='@0.5-0.1:', type=('build', 'run')) depends_on('r-magrittr', when='@0.5-0.1:', type=('build', 'run')) From 6d484a055a036d6d6254ba959a2b24a8645be92b Mon Sep 17 00:00:00 2001 From: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com> Date: Wed, 1 Sep 2021 15:58:24 -0700 Subject: [PATCH 408/414] py-jupyterhub: add version: 1.4.1 (#24890) * py-jupyterhub: add version: 1.4.1 * dont need mako for latest release * sort dependencies * notebook isnt used for 1.4.1+ * add dependency on py-jupyter-telemetry; create new package py-jupyter-telemetry * py-jupyter-telemetry: declare missing dependencies * py-jupyterhub: need more specific depends_on before less specific * add py-json-logger; py-jupyter-telemetry: add depends_on for py-json-logger * Update var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py Co-authored-by: Adam J. Stewart * remove py-json-logger erroneously and duplicatively added * Update var/spack/repos/builtin/packages/py-jupyterhub/package.py Co-authored-by: Adam J. Stewart * need py-alembic@1.4: for newest py-jupyterhub Co-authored-by: Adam J. Stewart --- .../packages/py-jupyter-telemetry/package.py | 23 ++++++++++++++ .../builtin/packages/py-jupyterhub/package.py | 30 ++++++++++++------- 2 files changed, 42 insertions(+), 11 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py diff --git a/var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py b/var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py new file mode 100644 index 00000000000..188bf5d09b6 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-jupyter-telemetry/package.py @@ -0,0 +1,23 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyJupyterTelemetry(PythonPackage): + """Jupyter Telemetry enables Jupyter Applications to record events and transmit""" + """ them to destinations as structured data""" + + pypi = "jupyter-telemetry/jupyter_telemetry-0.1.0.tar.gz" + + version('0.1.0', sha256='445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314') + version('0.0.5', sha256='d3eaac14be17510a4d288f3737580107ce14eef543e6133d56654d3f0e742b9b') + + depends_on('py-python-json-logger', type=('build', 'run')) + depends_on('py-jsonschema', type=('build', 'run')) + depends_on('py-ruamel-yaml', type=('build', 'run')) + depends_on('py-setuptools', type=('build')) + depends_on('py-traitlets', type=('build', 'run')) + depends_on('python@3.5:', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-jupyterhub/package.py b/var/spack/repos/builtin/packages/py-jupyterhub/package.py index cfcfd295d97..2e07238ac6c 100644 --- a/var/spack/repos/builtin/packages/py-jupyterhub/package.py +++ b/var/spack/repos/builtin/packages/py-jupyterhub/package.py @@ -11,24 +11,32 @@ class PyJupyterhub(PythonPackage): pypi = "jupyterhub/jupyterhub-1.0.0.tar.gz" + version('1.4.1', sha256='ee1b0718a4db8e0b339796e3e50b704ca6822ab22a7435289dbb5932f65b5199') version('1.0.0', sha256='33541a515a041b9a518ca057c1c4ab4215a7450fdddc206401713ee8137fa67f') version('0.9.4', sha256='7848bbb299536641a59eb1977ec3c7c95d931bace4a2803d7e9b28b9256714da') - depends_on('python@3.5:', type=('build', 'run')) - depends_on('py-setuptools', type=('build', 'run')) - depends_on('py-python-dateutil', type=('build', 'run')) - depends_on('py-jinja2', type=('build', 'run')) - depends_on('py-sqlalchemy@1.1:', type=('build', 'run')) - depends_on('py-tornado@5.0:', type=('build', 'run')) - depends_on('py-traitlets@4.3.2:', type=('build', 'run')) + depends_on('py-alembic@1.4:', type=('build', 'run'), when='@1.4.1:') depends_on('py-alembic', type=('build', 'run')) - depends_on('py-mako', type=('build', 'run')) + depends_on('py-async-generator@1.9:', type=('build', 'run'), when='@1.4.1:') depends_on('py-async-generator@1.8:', type=('build', 'run')) - depends_on('py-requests', type=('build', 'run')) depends_on('py-certipy@0.1.2:', when='@1.0.0:', type=('build', 'run')) depends_on('py-entrypoints', when='@1.0.0:', type=('build', 'run')) + depends_on('py-jinja2@2.11.0:', type=('build', 'run'), when='@1.4.1:') + depends_on('py-jinja2', type=('build', 'run')) + depends_on('py-jupyter-telemetry@0.1.0:', type=('build', 'run'), when='@1.4.1:') + depends_on('py-mako', type=('build', 'run'), when='@:1.4.1') + depends_on('py-notebook', type=('build', 'run'), when='@:1.4.1') depends_on('py-oauthlib@3.0:', when='@1.0.0:', type=('build', 'run')) - depends_on('py-python-oauth2@1.0:', when='@:9.4', type=('build', 'run')) depends_on('py-pamela', type=('build', 'run')) - depends_on('py-notebook', type=('build', 'run')) + depends_on('py-prometheus-client@0.4.0:', type=('build', 'run'), when='@1.4.1:') depends_on('py-prometheus-client@0.0.21:', type=('build', 'run')) + depends_on('py-python-dateutil', type=('build', 'run')) + depends_on('py-python-oauth2@1.0:', when='@:0.9.4', type=('build', 'run')) + depends_on('py-requests', type=('build', 'run')) + depends_on('py-setuptools', type=('build', 'run')) + depends_on('py-sqlalchemy@1.1:', type=('build', 'run')) + depends_on('py-tornado@5.1:', type=('build', 'run'), when='@1.4.1:') + depends_on('py-tornado@5.0:', type=('build', 'run')) + depends_on('py-traitlets@4.3.2:', type=('build', 'run')) + depends_on('python@3.6:', type=('build', 'run'), when='@1.4.1:') + depends_on('python@3.5:', type=('build', 'run')) From 156edffec2379d2ca23b0d2d751ccb1dc6ce35c1 Mon Sep 17 00:00:00 2001 From: David Beckingsale Date: Wed, 1 Sep 2021 17:58:47 -0700 Subject: [PATCH 409/414] Update versions for RAJA, CHAI, Umpire and camp (#25528) --- .../cloud_pipelines/stacks/e4s/spack.yaml | 6 +- .../cloud_pipelines/stacks/radiuss/spack.yaml | 2 +- .../repos/builtin/packages/camp/package.py | 3 + .../repos/builtin/packages/chai/package.py | 57 ++++++++++++++----- .../repos/builtin/packages/raja/package.py | 36 +++++++----- .../repos/builtin/packages/umpire/package.py | 37 +++++++----- 6 files changed, 96 insertions(+), 45 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml index 4a28f31e431..19366ab4d7b 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml @@ -186,7 +186,7 @@ spack: - amrex +cuda cuda_arch=70 # - axom +cuda cuda_arch=70 ^umpire@4.1.2 ~shared - caliper +cuda cuda_arch=70 - - chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire@4.1.2 ~shared + - chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire~shared+cuda - ginkgo +cuda cuda_arch=70 - hpx +cuda cuda_arch=70 - kokkos +cuda +wrapper cuda_arch=70 @@ -225,11 +225,11 @@ spack: - archer - argobots - ascent - - axom ^umpire@4.1.2 + - axom ^umpire@5.0.1 ^raja@0.13.0 - bolt - cabana - caliper - - chai ~benchmarks ~tests ^umpire@4.1.2 + - chai ~benchmarks ~tests - conduit - darshan-runtime - darshan-util diff --git a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml index 2cde6ea6ee5..30182a82d92 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml @@ -24,7 +24,7 @@ spack: # Note skipping spot since no spack package for it - radiuss: - ascent # ^conduit@0.6.0 - - axom + - axom ^umpire@5.0.1 ^raja@0.13.0 - blt - caliper #- care ## ~benchmarks ~examples ~tests diff --git a/var/spack/repos/builtin/packages/camp/package.py b/var/spack/repos/builtin/packages/camp/package.py index 66e1f245f26..fc20ccfd46a 100644 --- a/var/spack/repos/builtin/packages/camp/package.py +++ b/var/spack/repos/builtin/packages/camp/package.py @@ -16,7 +16,10 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/LLNL/camp.git" url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz" + maintainers = ['trws'] + version('master', branch='master', submodules='True') + version('0.2.2', sha256='194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819') version('0.1.0', sha256='fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc') # TODO: figure out gtest dependency and then set this default True. diff --git a/var/spack/repos/builtin/packages/chai/package.py b/var/spack/repos/builtin/packages/chai/package.py index 7b80cd5eb1f..0c755a79e97 100644 --- a/var/spack/repos/builtin/packages/chai/package.py +++ b/var/spack/repos/builtin/packages/chai/package.py @@ -14,8 +14,11 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://github.com/LLNL/CHAI" git = "https://github.com/LLNL/CHAI.git" + maintainers = ['davidbeckingsale'] + version('develop', branch='develop', submodules=True) - version('master', branch='main', submodules=True) + version('main', branch='main', submodules=True) + version('2.4.0', tag='v2.4.0', submodules=True) version('2.3.0', tag='v2.3.0', submodules=True) version('2.2.2', tag='v2.2.2', submodules=True) version('2.2.1', tag='v2.2.1', submodules=True) @@ -32,6 +35,7 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage): variant('raja', default=False, description='Build plugin for RAJA') variant('benchmarks', default=False, description='Build benchmarks.') variant('examples', default=True, description='Build examples.') + variant('openmp', default=False, description='Build using OpenMP') # TODO: figure out gtest dependency and then set this default True # and remove the +tests conflict below. variant('tests', default=False, description='Build tests') @@ -39,22 +43,45 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage): depends_on('cmake@3.8:', type='build') depends_on('cmake@3.9:', type='build', when="+cuda") - depends_on('blt@0.4.0:', type='build', when='@2.3.1:') - depends_on('blt@:0.3.6', type='build', when='@:2.3.0') + depends_on('blt@0.4.1:', type='build', when='@2.4.0:') + depends_on('blt@0.4.0:', type='build', when='@2.3.0') + depends_on('blt@0.3.6:', type='build', when='@:2.2.2') depends_on('umpire') - depends_on('raja', when="+raja") + depends_on('umpire@6.0.0', when="@2.4.0") + depends_on('umpire@4.1.2', when="@2.2.0:2.3.0") + depends_on('umpire@main', when='@main') - depends_on('umpire+cuda', when="+cuda") - depends_on('raja+cuda', when="+raja+cuda") + with when('+cuda'): + depends_on('umpire+cuda') + for sm_ in CudaPackage.cuda_arch_values: + depends_on('umpire+cuda cuda_arch={0}'.format(sm_), + when='cuda_arch={0}'.format(sm_)) - # variants +rocm and amdgpu_targets are not automatically passed to - # dependencies, so do it manually. - depends_on('umpire+rocm', when='+rocm') - depends_on('raja+rocm', when="+raja+rocm") - for val in ROCmPackage.amdgpu_targets: - depends_on('umpire amdgpu_target=%s' % val, when='amdgpu_target=%s' % val) - depends_on('raja amdgpu_target=%s' % val, when='+raja amdgpu_target=%s' % val) + with when('+rocm'): + depends_on('umpire+rocm') + for arch in ROCmPackage.amdgpu_targets: + depends_on('umpire+rocm amdgpu_target={0}'.format(arch), + when='amdgpu_target={0}'.format(arch)) + + with when('+raja'): + depends_on('raja~openmp', when='~openmp') + depends_on('raja+openmp', when='+openmp') + depends_on('raja@0.14.0', when="@2.4.0") + depends_on('raja@0.13.0', when="@2.3.0") + depends_on('raja@0.12.0', when="@2.2.0:2.2.2") + depends_on('raja@main', when='@main') + + with when('+cuda'): + depends_on('raja+cuda') + for sm_ in CudaPackage.cuda_arch_values: + depends_on('raja+cuda cuda_arch={0}'.format(sm_), + when='cuda_arch={0}'.format(sm_)) + with when('+rocm'): + depends_on('raja+rocm') + for arch in ROCmPackage.amdgpu_targets: + depends_on('raja+rocm amdgpu_target={0}'.format(arch), + when='amdgpu_target={0}'.format(arch)) conflicts('+benchmarks', when='~tests') @@ -64,9 +91,13 @@ def cmake_args(self): options = [] options.append('-DBLT_SOURCE_DIR={0}'.format(spec['blt'].prefix)) + options.append(self.define_from_variant('ENABLE_OPENMP', 'openmp')) + if '+cuda' in spec: options.extend([ '-DENABLE_CUDA=ON', + '-DCMAKE_CUDA_SEPARABLE_COMPILATION=On', + '-DCUDA_SEPARABLE_COMPILATION=On', '-DCUDA_TOOLKIT_ROOT_DIR=' + spec['cuda'].prefix]) if not spec.satisfies('cuda_arch=none'): diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py index 03ee784c753..205265e7e62 100644 --- a/var/spack/repos/builtin/packages/raja/package.py +++ b/var/spack/repos/builtin/packages/raja/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * + class Raja(CMakePackage, CudaPackage, ROCmPackage): """RAJA Parallel Framework.""" @@ -10,8 +12,11 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage): homepage = "http://software.llnl.gov/RAJA/" git = "https://github.com/LLNL/RAJA.git" + maintainers = ['davidbeckingsale'] + version('develop', branch='develop', submodules='True') version('main', branch='main', submodules='True') + version('0.14.0', tag='v0.14.0', submodules='True') version('0.13.0', tag='v0.13.0', submodules='True') version('0.12.1', tag='v0.12.1', submodules="True") version('0.12.0', tag='v0.12.0', submodules="True") @@ -37,23 +42,26 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage): # and remove the +tests conflict below. variant('tests', default=False, description='Build tests') - depends_on('blt@0.4.0:', type='build', when='@0.13.1:') - depends_on('blt@:0.3.6', type='build', when='@:0.13.0') + depends_on('blt') + depends_on('blt@0.4.1:', type='build', when='@0.14.0:') + depends_on('blt@0.4.0:', type='build', when='@0.13.0') + depends_on('blt@0.3.6:', type='build', when='@:0.12.0') - # variants +rocm and amdgpu_targets are not automatically passed to - # dependencies, so do it manually. - depends_on('camp+rocm', when='+rocm') - for val in ROCmPackage.amdgpu_targets: - depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val) + depends_on('camp@0.2.2', when='@0.14.0:') + depends_on('camp@0.1.0', when='@0.12.0:0.13.0') - depends_on('camp') - depends_on('camp@master', when='@develop') - depends_on('camp+cuda', when='+cuda') - for sm_ in CudaPackage.cuda_arch_values: - depends_on('camp cuda_arch={0}'.format(sm_), - when='cuda_arch={0}'.format(sm_)) + with when('+rocm @0.12.0:'): + depends_on('camp+rocm') + for arch in ROCmPackage.amdgpu_targets: + depends_on('camp+rocm amdgpu_target={0}'.format(arch), + when='amdgpu_target={0}'.format(arch)) + conflicts('+openmp') - conflicts('+openmp', when='+rocm') + with when('+cuda @0.12.0:'): + depends_on('camp+cuda') + for sm_ in CudaPackage.cuda_arch_values: + depends_on('camp +cuda cuda_arch={0}'.format(sm_), + when='cuda_arch={0}'.format(sm_)) def cmake_args(self): spec = self.spec diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py index c0a26f07b28..d17b9369401 100644 --- a/var/spack/repos/builtin/packages/umpire/package.py +++ b/var/spack/repos/builtin/packages/umpire/package.py @@ -7,6 +7,8 @@ import llnl.util.tty as tty +from spack import * + class Umpire(CMakePackage, CudaPackage, ROCmPackage): """An application-focused API for memory management on NUMA & GPU @@ -19,6 +21,7 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage): version('develop', branch='develop', submodules=True) version('main', branch='main', submodules=True) + version('6.0.0', tag='v6.0.0', submodules=True) version('5.0.1', tag='v5.0.1', submodules=True) version('5.0.0', tag='v5.0.0', submodules=True) version('4.1.2', tag='v4.1.2', submodules=True) @@ -64,21 +67,26 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage): depends_on('cmake@3.8:', type='build') depends_on('cmake@3.9:', when='+cuda', type='build') - depends_on('blt@0.4.0:', type='build', when='@4.1.3:') - depends_on('blt@:0.3.6', type='build', when='@:4.1.2') + depends_on('blt@0.4.1:', type='build', when='@6.0.0:') + depends_on('blt@0.4.0:', type='build', when='@4.1.3:5.0.1') + depends_on('blt@0.3.6:', type='build', when='@:4.1.2') - # variants +rocm and amdgpu_targets are not automatically passed to - # dependencies, so do it manually. - depends_on('camp+rocm', when='+rocm') - for val in ROCmPackage.amdgpu_targets: - depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val) + depends_on('camp', when='@5.0.0:') + depends_on('camp@0.2.2', when='@6.0.0:') + depends_on('camp@0.1.0', when='@5.0.0:5.0.1') - depends_on('camp') - depends_on('camp@master', when='@develop') - depends_on('camp+cuda', when='+cuda') - for sm_ in CudaPackage.cuda_arch_values: - depends_on('camp cuda_arch={0}'.format(sm_), - when='cuda_arch={0}'.format(sm_)) + with when('@5.0.0:'): + with when('+cuda'): + depends_on('camp+cuda') + for sm_ in CudaPackage.cuda_arch_values: + depends_on('camp+cuda cuda_arch={0}'.format(sm_), + when='cuda_arch={0}'.format(sm_)) + + with when('+rocm'): + depends_on('camp+rocm') + for arch_ in ROCmPackage.amdgpu_targets: + depends_on('camp+rocm amdgpu_target={0}'.format(arch_), + when='amdgpu_target={0}'.format(arch_)) conflicts('+numa', when='@:0.3.2') conflicts('~c', when='+fortran', msg='Fortran API requires C API') @@ -92,7 +100,8 @@ def cmake_args(self): options = [] options.append("-DBLT_SOURCE_DIR={0}".format(spec['blt'].prefix)) - options.append("-Dcamp_DIR={0}".format(spec['camp'].prefix)) + if spec.satisfies('@5.0.0:'): + options.append("-Dcamp_DIR={0}".format(spec['camp'].prefix)) if '+cuda' in spec: options.extend([ From 0c61b31922aa73cdc33721e728aebdf064cef627 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 2 Sep 2021 03:28:11 +0200 Subject: [PATCH 410/414] Bump nlohman-json and fix cmake args (#25504) * Bump nlohman-json and fix cmake args * Rename variant --- .../builtin/packages/nlohmann-json/package.py | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/var/spack/repos/builtin/packages/nlohmann-json/package.py b/var/spack/repos/builtin/packages/nlohmann-json/package.py index a839bb18acf..6784b63ea6c 100644 --- a/var/spack/repos/builtin/packages/nlohmann-json/package.py +++ b/var/spack/repos/builtin/packages/nlohmann-json/package.py @@ -13,19 +13,21 @@ class NlohmannJson(CMakePackage): url = "https://github.com/nlohmann/json/archive/v3.1.2.tar.gz" maintainers = ['ax3l'] - version('3.9.1', sha256='4cf0df69731494668bdd6460ed8cb269b68de9c19ad8c27abc24cd72605b2d5b') - version('3.8.0', sha256='7d0edf65f2ac7390af5e5a0b323b31202a6c11d744a74b588dc30f5a8c9865ba') - version('3.7.2', sha256='914c4af3f14bb98ff084172685fba5d32e8ce4390ec8ba5da45c63daa305df4d') - version('3.7.0', sha256='d51a3a8d3efbb1139d7608e28782ea9efea7e7933157e8ff8184901efd8ee760') - version('3.6.1', sha256='80c45b090e40bf3d7a7f2a6e9f36206d3ff710acfa8d8cc1f8c763bb3075e22e') - version('3.5.0', sha256='e0b1fc6cc6ca05706cce99118a87aca5248bd9db3113e703023d23f044995c1d') - version('3.4.0', sha256='c377963a95989270c943d522bfefe7b889ef5ed0e1e15d535fd6f6f16ed70732') - version('3.3.0', sha256='2fd1d207b4669a7843296c41d3b6ac5b23d00dec48dba507ba051d14564aa801') - version('3.2.0', sha256='2de558ff3b3b32eebfb51cf2ceb835a0fa5170e6b8712b02be9c2c07fcfe52a1') - version('3.1.2', sha256='e8fffa6cbdb3c15ecdff32eebf958b6c686bc188da8ad5c6489462d16f83ae54') - version('3.1.1', sha256='9f3549824af3ca7e9707a2503959886362801fb4926b869789d6929098a79e47') + version('3.10.0', sha256='eb8b07806efa5f95b349766ccc7a8ec2348f3b2ee9975ad879259a371aea8084') + version('3.9.1', sha256='4cf0df69731494668bdd6460ed8cb269b68de9c19ad8c27abc24cd72605b2d5b') + version('3.9.0', sha256='9943db11eeaa5b23e58a88fbc26c453faccef7b546e55063ad00e7caaaf76d0b') + version('3.8.0', sha256='7d0edf65f2ac7390af5e5a0b323b31202a6c11d744a74b588dc30f5a8c9865ba') + version('3.7.2', sha256='914c4af3f14bb98ff084172685fba5d32e8ce4390ec8ba5da45c63daa305df4d') + version('3.7.0', sha256='d51a3a8d3efbb1139d7608e28782ea9efea7e7933157e8ff8184901efd8ee760') + version('3.6.1', sha256='80c45b090e40bf3d7a7f2a6e9f36206d3ff710acfa8d8cc1f8c763bb3075e22e') + version('3.5.0', sha256='e0b1fc6cc6ca05706cce99118a87aca5248bd9db3113e703023d23f044995c1d') + version('3.4.0', sha256='c377963a95989270c943d522bfefe7b889ef5ed0e1e15d535fd6f6f16ed70732') + version('3.3.0', sha256='2fd1d207b4669a7843296c41d3b6ac5b23d00dec48dba507ba051d14564aa801') + version('3.2.0', sha256='2de558ff3b3b32eebfb51cf2ceb835a0fa5170e6b8712b02be9c2c07fcfe52a1') + version('3.1.2', sha256='e8fffa6cbdb3c15ecdff32eebf958b6c686bc188da8ad5c6489462d16f83ae54') + version('3.1.1', sha256='9f3549824af3ca7e9707a2503959886362801fb4926b869789d6929098a79e47') - variant('single_header', default=True, + variant('multiple_headers', default=False, description='Use amalgamated single-header') depends_on('cmake@3.8:', type='build') @@ -39,12 +41,7 @@ class NlohmannJson(CMakePackage): conflicts('%pgi@:14') def cmake_args(self): - spec = self.spec - define = CMakePackage.define - - args = [ - define('JSON_MultipleHeaders', '~single_header' in spec), - define('BUILD_TESTING', self.run_tests), + return [ + self.define_from_variant('JSON_MultipleHeaders', 'multiple_headers'), + self.define('JSON_BuildTests', self.run_tests), ] - - return args From 8a7af82a82fb80b660a08ab54e8d8402d7ca27b5 Mon Sep 17 00:00:00 2001 From: Cody Balos Date: Wed, 1 Sep 2021 23:19:45 -0700 Subject: [PATCH 411/414] py-adios: add new version (#25746) --- var/spack/repos/builtin/packages/py-adios/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-adios/package.py b/var/spack/repos/builtin/packages/py-adios/package.py index 0768466fac6..e7c6d87df3a 100644 --- a/var/spack/repos/builtin/packages/py-adios/package.py +++ b/var/spack/repos/builtin/packages/py-adios/package.py @@ -16,6 +16,7 @@ class PyAdios(PythonPackage): maintainers = ['ax3l'] version('develop', branch='master') + version('1.13.1', sha256='b1c6949918f5e69f701cabfe5987c0b286793f1057d4690f04747852544e157b') version('1.13.0', sha256='7b5ee8ff7a5f7215f157c484b20adb277ec0250f87510513edcc25d2c4739f50') version('1.12.0', sha256='22bc22c157322abec2d1a0817a259efd9057f88c2113e67d918a9a5ebcb3d88d') version('1.11.1', sha256='9f5c10b9471a721ba57d1cf6e5a55a7ad139a6c12da87b4dc128539e9eef370e') @@ -26,7 +27,7 @@ class PyAdios(PythonPackage): variant('mpi', default=True, description='Enable MPI support') - for v in ['1.9.0', '1.10.0', '1.11.0', '1.11.1', '1.12.0', '1.13.0', + for v in ['1.9.0', '1.10.0', '1.11.0', '1.11.1', '1.12.0', '1.13.0', '1.13.1', 'develop']: depends_on('adios@{0} ~mpi'.format(v), when='@{0} ~mpi'.format(v), From 8e61f542601083f363c5910a5ed74c8dae44e69d Mon Sep 17 00:00:00 2001 From: Vanessasaurus <814322+vsoch@users.noreply.github.com> Date: Thu, 2 Sep 2021 00:46:27 -0600 Subject: [PATCH 412/414] start of work to add spack audit packages-https checker (#25670) This PR will add a new audit, specifically for spack package homepage urls (and eventually other kinds I suspect) to see if there is an http address that can be changed to https. Usage is as follows: ```bash $ spack audit packages-https ``` And in list view: ```bash $ spack audit list generic: Generic checks relying on global variables configs: Sanity checks on compilers.yaml Sanity checks on packages.yaml packages: Sanity checks on specs used in directives packages-https: Sanity checks on https checks of package urls, etc. ``` I think it would be unwise to include with packages, because when run for all, since we do requests it takes a long time. I also like the idea of more well scoped checks - likely there will be other addresses for http/https within a package that we eventually check. For now, there are two error cases - one is when an https url is tried but there is some SSL error (or other error that means we cannot update to https): ```bash $ spack audit packages-https zoltan PKG-HTTPS-DIRECTIVES: 1 issue found 1. Error with attempting https for "zoltan": ``` This is either not fixable, or could be fixed with a change to the url or (better) contacting the site owners to ask about some certificate or similar. The second case is when there is an http that needs to be https, which is a huge issue now, but hopefully not after this spack PR. ```bash $ spack audit packages-https xman Package "xman" uses http but has a valid https endpoint. ``` And then when a package is fixed: ```bash $ spack audit packages-https zlib PKG-HTTPS-DIRECTIVES: 0 issues found. ``` And that's mostly it. :) Signed-off-by: vsoch Co-authored-by: vsoch --- lib/spack/spack/audit.py | 43 +++++++++++++++++++ lib/spack/spack/cmd/audit.py | 33 ++++++++++++-- lib/spack/spack/test/cmd/audit.py | 20 +++++++++ share/spack/spack-completion.bash | 11 ++++- .../repos/builtin/packages/abyss/package.py | 2 +- .../repos/builtin/packages/acct/package.py | 2 +- .../repos/builtin/packages/acts/package.py | 2 +- .../repos/builtin/packages/adios/package.py | 2 +- .../builtin/packages/advancecomp/package.py | 2 +- .../repos/builtin/packages/aegean/package.py | 2 +- .../repos/builtin/packages/agrep/package.py | 2 +- .../repos/builtin/packages/aida/package.py | 2 +- .../builtin/packages/allpaths-lg/package.py | 2 +- .../repos/builtin/packages/amber/package.py | 2 +- .../builtin/packages/amdlibflame/package.py | 2 +- .../repos/builtin/packages/ant/package.py | 2 +- .../repos/builtin/packages/ape/package.py | 2 +- .../repos/builtin/packages/appres/package.py | 2 +- .../builtin/packages/argobots/package.py | 2 +- .../repos/builtin/packages/arrow/package.py | 2 +- .../repos/builtin/packages/asio/package.py | 2 +- .../repos/builtin/packages/astra/package.py | 2 +- .../repos/builtin/packages/atompaw/package.py | 2 +- .../builtin/packages/augustus/package.py | 2 +- .../builtin/packages/autofact/package.py | 2 +- .../builtin/packages/automake/package.py | 2 +- .../builtin/packages/babeltrace/package.py | 2 +- .../repos/builtin/packages/bamutil/package.py | 2 +- .../builtin/packages/barvinok/package.py | 2 +- .../builtin/packages/bcftools/package.py | 2 +- .../builtin/packages/bdftopcf/package.py | 2 +- .../repos/builtin/packages/beagle/package.py | 2 +- .../builtin/packages/beast-tracer/package.py | 2 +- .../repos/builtin/packages/beast1/package.py | 2 +- .../builtin/packages/beforelight/package.py | 2 +- .../builtin/packages/binutils/package.py | 2 +- .../builtin/packages/biopieces/package.py | 2 +- .../repos/builtin/packages/bird/package.py | 2 +- .../repos/builtin/packages/bitmap/package.py | 2 +- .../repos/builtin/packages/bmake/package.py | 2 +- .../builtin/packages/breakdancer/package.py | 2 +- .../repos/builtin/packages/bref3/package.py | 2 +- .../repos/builtin/packages/breseq/package.py | 2 +- .../repos/builtin/packages/brltty/package.py | 2 +- .../repos/builtin/packages/bucky/package.py | 2 +- .../repos/builtin/packages/byteman/package.py | 2 +- .../builtin/packages/cachefilesd/package.py | 2 +- .../repos/builtin/packages/caffe/package.py | 2 +- .../repos/builtin/packages/camx/package.py | 2 +- .../repos/builtin/packages/cantera/package.py | 2 +- .../repos/builtin/packages/canu/package.py | 2 +- .../builtin/packages/capstone/package.py | 2 +- .../repos/builtin/packages/cask/package.py | 2 +- .../packages/cbtf-argonavis-gui/package.py | 2 +- .../packages/cbtf-argonavis/package.py | 2 +- .../builtin/packages/cbtf-krell/package.py | 2 +- .../builtin/packages/cbtf-lanl/package.py | 2 +- .../repos/builtin/packages/cbtf/package.py | 2 +- .../repos/builtin/packages/cereal/package.py | 2 +- .../repos/builtin/packages/cgal/package.py | 2 +- .../repos/builtin/packages/cgm/package.py | 4 +- .../repos/builtin/packages/cgns/package.py | 2 +- .../repos/builtin/packages/changa/package.py | 2 +- .../repos/builtin/packages/chill/package.py | 2 +- .../repos/builtin/packages/chlorop/package.py | 2 +- .../repos/builtin/packages/clapack/package.py | 2 +- .../builtin/packages/cleverleaf/package.py | 2 +- .../repos/builtin/packages/clhep/package.py | 2 +- .../builtin/packages/cloverleaf/package.py | 2 +- .../builtin/packages/cloverleaf3d/package.py | 2 +- .../repos/builtin/packages/cmaq/package.py | 2 +- .../repos/builtin/packages/cmor/package.py | 2 +- .../repos/builtin/packages/codes/package.py | 2 +- .../repos/builtin/packages/coinhsl/package.py | 2 +- .../builtin/packages/collectd/package.py | 2 +- .../repos/builtin/packages/colm/package.py | 2 +- .../builtin/packages/commons-lang/package.py | 2 +- .../builtin/packages/commons-lang3/package.py | 2 +- .../packages/commons-logging/package.py | 2 +- .../repos/builtin/packages/conduit/package.py | 2 +- .../builtin/packages/constype/package.py | 2 +- .../builtin/packages/coreutils/package.py | 2 +- .../repos/builtin/packages/cosmomc/package.py | 2 +- .../repos/builtin/packages/cppzmq/package.py | 2 +- .../builtin/packages/cromwell/package.py | 2 +- .../builtin/packages/cryptopp/package.py | 2 +- .../repos/builtin/packages/cube/package.py | 2 +- .../repos/builtin/packages/cubelib/package.py | 2 +- .../repos/builtin/packages/cubew/package.py | 2 +- .../builtin/packages/cufflinks/package.py | 2 +- .../repos/builtin/packages/cvs/package.py | 2 +- .../packages/darshan-runtime/package.py | 2 +- .../builtin/packages/darshan-util/package.py | 2 +- .../builtin/packages/dateutils/package.py | 2 +- .../builtin/packages/debugedit/package.py | 2 +- .../builtin/packages/dialign-tx/package.py | 2 +- .../repos/builtin/packages/dire/package.py | 2 +- .../repos/builtin/packages/dislin/package.py | 2 +- .../repos/builtin/packages/dnsmasq/package.py | 2 +- .../repos/builtin/packages/drill/package.py | 2 +- .../repos/builtin/packages/ds/package.py | 2 +- .../builtin/packages/ea-utils/package.py | 2 +- .../repos/builtin/packages/editres/package.py | 2 +- .../repos/builtin/packages/eigen/package.py | 2 +- .../repos/builtin/packages/ember/package.py | 2 +- .../repos/builtin/packages/eospac/package.py | 2 +- .../builtin/packages/es-shell/package.py | 2 +- .../repos/builtin/packages/evieext/package.py | 2 +- .../repos/builtin/packages/eztrace/package.py | 2 +- .../repos/builtin/packages/f77-zmq/package.py | 2 +- .../builtin/packages/fabtests/package.py | 2 +- .../repos/builtin/packages/fann/package.py | 2 +- .../repos/builtin/packages/fastjar/package.py | 2 +- .../builtin/packages/fastphase/package.py | 2 +- .../packages/fastqvalidator/package.py | 2 +- .../repos/builtin/packages/ferret/package.py | 2 +- .../repos/builtin/packages/fftw/package.py | 2 +- .../repos/builtin/packages/file/package.py | 2 +- .../builtin/packages/flatbuffers/package.py | 2 +- .../repos/builtin/packages/flint/package.py | 2 +- .../packages/fontcacheproto/package.py | 2 +- .../builtin/packages/fontconfig/package.py | 2 +- .../repos/builtin/packages/freexl/package.py | 2 +- .../builtin/packages/fslsfonts/package.py | 2 +- .../repos/builtin/packages/fstobdf/package.py | 2 +- .../repos/builtin/packages/gaudi/package.py | 2 +- .../repos/builtin/packages/gccxml/package.py | 2 +- .../repos/builtin/packages/gcta/package.py | 2 +- .../repos/builtin/packages/gl2ps/package.py | 2 +- .../repos/builtin/packages/global/package.py | 2 +- .../builtin/packages/globalarrays/package.py | 2 +- .../repos/builtin/packages/glvis/package.py | 2 +- .../repos/builtin/packages/gnutls/package.py | 2 +- .../repos/builtin/packages/gotcha/package.py | 2 +- .../repos/builtin/packages/grace/package.py | 2 +- .../repos/builtin/packages/gsl/package.py | 2 +- .../builtin/packages/gtkorvo-enet/package.py | 2 +- .../packages/guacamole-server/package.py | 2 +- .../repos/builtin/packages/gurobi/package.py | 2 +- .../repos/builtin/packages/h5z-zfp/package.py | 2 +- .../repos/builtin/packages/hadoop/package.py | 2 +- .../builtin/packages/haploview/package.py | 2 +- .../builtin/packages/hoomd-blue/package.py | 2 +- .../repos/builtin/packages/hpcc/package.py | 2 +- .../repos/builtin/packages/hpl/package.py | 2 +- .../repos/builtin/packages/httpd/package.py | 2 +- .../repos/builtin/packages/httping/package.py | 2 +- .../builtin/packages/hunspell/package.py | 2 +- .../repos/builtin/packages/hydra/package.py | 2 +- .../repos/builtin/packages/hyphy/package.py | 2 +- .../repos/builtin/packages/hypre/package.py | 2 +- .../repos/builtin/packages/icet/package.py | 2 +- .../repos/builtin/packages/ico/package.py | 2 +- .../repos/builtin/packages/idba/package.py | 2 +- .../builtin/packages/iegenlib/package.py | 2 +- .../builtin/packages/imagemagick/package.py | 2 +- .../builtin/packages/intel-tbb/package.py | 2 +- .../repos/builtin/packages/iozone/package.py | 2 +- .../builtin/packages/isaac-server/package.py | 2 +- .../repos/builtin/packages/isaac/package.py | 2 +- .../repos/builtin/packages/isl/package.py | 2 +- .../repos/builtin/packages/itsx/package.py | 2 +- .../repos/builtin/packages/jansi/package.py | 2 +- .../repos/builtin/packages/jansson/package.py | 2 +- .../repos/builtin/packages/jbigkit/package.py | 2 +- .../builtin/packages/jchronoss/package.py | 2 +- .../repos/builtin/packages/jdk/package.py | 2 +- .../builtin/packages/jellyfish/package.py | 2 +- .../builtin/packages/jhpcn-df/package.py | 2 +- .../builtin/packages/json-fortran/package.py | 2 +- .../builtin/packages/kallisto/package.py | 2 +- .../repos/builtin/packages/kbd/package.py | 2 +- .../repos/builtin/packages/kcov/package.py | 2 +- .../repos/builtin/packages/kinesis/package.py | 2 +- .../repos/builtin/packages/knem/package.py | 2 +- .../repos/builtin/packages/krims/package.py | 2 +- .../repos/builtin/packages/lammps/package.py | 2 +- .../repos/builtin/packages/lazyten/package.py | 2 +- .../repos/builtin/packages/lbann/package.py | 2 +- .../builtin/packages/lbxproxy/package.py | 2 +- .../repos/builtin/packages/lbzip2/package.py | 2 +- .../repos/builtin/packages/lcms/package.py | 2 +- .../repos/builtin/packages/ldak/package.py | 2 +- .../repos/builtin/packages/lemon/package.py | 2 +- .../repos/builtin/packages/less/package.py | 2 +- .../repos/builtin/packages/lftp/package.py | 2 +- .../repos/builtin/packages/lhapdf5/package.py | 2 +- .../builtin/packages/libarchive/package.py | 2 +- .../builtin/packages/libcanberra/package.py | 2 +- .../builtin/packages/libconfig/package.py | 2 +- .../builtin/packages/libdaemon/package.py | 2 +- .../repos/builtin/packages/libedit/package.py | 2 +- .../repos/builtin/packages/libffs/package.py | 2 +- .../builtin/packages/liblbfgs/package.py | 2 +- .../repos/builtin/packages/libmesh/package.py | 2 +- .../repos/builtin/packages/libpcap/package.py | 2 +- .../builtin/packages/libproxy/package.py | 2 +- .../repos/builtin/packages/librelp/package.py | 2 +- .../builtin/packages/libspatialite/package.py | 2 +- .../builtin/packages/libunwind/package.py | 2 +- .../repos/builtin/packages/libuuid/package.py | 2 +- .../repos/builtin/packages/libuv/package.py | 2 +- .../builtin/packages/libxtrap/package.py | 2 +- .../repos/builtin/packages/ligra/package.py | 2 +- .../repos/builtin/packages/listres/package.py | 2 +- .../repos/builtin/packages/llvm/package.py | 2 +- .../repos/builtin/packages/lndir/package.py | 2 +- .../repos/builtin/packages/lsscsi/package.py | 2 +- .../builtin/packages/lua-luajit/package.py | 2 +- .../repos/builtin/packages/lua/package.py | 2 +- .../repos/builtin/packages/lz4/package.py | 2 +- .../repos/builtin/packages/magma/package.py | 2 +- .../builtin/packages/makedepend/package.py | 2 +- .../repos/builtin/packages/maker/package.py | 2 +- .../repos/builtin/packages/man-db/package.py | 2 +- .../packages/mariadb-c-client/package.py | 2 +- .../repos/builtin/packages/mash/package.py | 2 +- .../builtin/packages/megadock/package.py | 2 +- .../repos/builtin/packages/meme/package.py | 2 +- .../builtin/packages/mesa-demos/package.py | 2 +- .../repos/builtin/packages/mesa/package.py | 2 +- .../repos/builtin/packages/mesa18/package.py | 2 +- .../repos/builtin/packages/meshkit/package.py | 2 +- .../repos/builtin/packages/migrate/package.py | 2 +- .../builtin/packages/miniaero/package.py | 2 +- .../builtin/packages/minighost/package.py | 2 +- .../repos/builtin/packages/minimd/package.py | 2 +- .../builtin/packages/minismac2d/package.py | 2 +- .../builtin/packages/minivite/package.py | 2 +- .../repos/builtin/packages/minizip/package.py | 2 +- .../builtin/packages/mkfontdir/package.py | 2 +- .../repos/builtin/packages/mmg/package.py | 2 +- .../repos/builtin/packages/molcas/package.py | 2 +- .../repos/builtin/packages/mpe2/package.py | 2 +- .../repos/builtin/packages/mpich/package.py | 2 +- .../repos/builtin/packages/mrnet/package.py | 2 +- .../repos/builtin/packages/mscgen/package.py | 2 +- .../repos/builtin/packages/mumax/package.py | 2 +- .../repos/builtin/packages/muscle/package.py | 2 +- .../repos/builtin/packages/muse/package.py | 2 +- .../builtin/packages/mvapich2/package.py | 2 +- .../builtin/packages/mvapich2x/package.py | 2 +- .../repos/builtin/packages/mxml/package.py | 2 +- .../repos/builtin/packages/nag/package.py | 2 +- .../repos/builtin/packages/namd/package.py | 2 +- .../builtin/packages/ncbi-rmblastn/package.py | 2 +- .../repos/builtin/packages/ndiff/package.py | 2 +- .../builtin/packages/netcdf-c/package.py | 2 +- .../builtin/packages/netcdf-cxx/package.py | 2 +- .../builtin/packages/netlib-lapack/package.py | 2 +- .../packages/netlib-scalapack/package.py | 2 +- .../builtin/packages/netlib-xblas/package.py | 2 +- .../builtin/packages/nextflow/package.py | 2 +- .../repos/builtin/packages/nix/package.py | 2 +- .../repos/builtin/packages/nvhpc/package.py | 2 +- .../repos/builtin/packages/nyancat/package.py | 2 +- .../repos/builtin/packages/occa/package.py | 2 +- .../repos/builtin/packages/oclock/package.py | 2 +- .../repos/builtin/packages/ompss/package.py | 2 +- .../builtin/packages/opa-psm2/package.py | 2 +- .../repos/builtin/packages/opari2/package.py | 2 +- .../builtin/packages/openfast/package.py | 2 +- .../builtin/packages/openfoam-org/package.py | 2 +- .../builtin/packages/openfoam/package.py | 2 +- .../builtin/packages/openimageio/package.py | 2 +- .../builtin/packages/orthomcl/package.py | 2 +- .../packages/osu-micro-benchmarks/package.py | 2 +- .../repos/builtin/packages/otf2/package.py | 2 +- .../builtin/packages/pacparser/package.py | 2 +- .../repos/builtin/packages/pagit/package.py | 2 +- .../repos/builtin/packages/pango/package.py | 2 +- .../repos/builtin/packages/pangomm/package.py | 2 +- .../repos/builtin/packages/papi/package.py | 2 +- .../builtin/packages/paradiseo/package.py | 2 +- .../builtin/packages/parallel/package.py | 2 +- .../repos/builtin/packages/patch/package.py | 2 +- .../repos/builtin/packages/pbmpi/package.py | 2 +- .../repos/builtin/packages/pcre/package.py | 2 +- .../repos/builtin/packages/pcre2/package.py | 2 +- .../builtin/packages/pflotran/package.py | 2 +- .../repos/builtin/packages/pgi/package.py | 2 +- .../repos/builtin/packages/photos/package.py | 2 +- .../repos/builtin/packages/phylip/package.py | 2 +- .../repos/builtin/packages/picard/package.py | 2 +- .../repos/builtin/packages/pig/package.py | 2 +- .../repos/builtin/packages/pigz/package.py | 2 +- .../repos/builtin/packages/pindel/package.py | 2 +- .../repos/builtin/packages/pixz/package.py | 2 +- .../builtin/packages/pkg-config/package.py | 2 +- .../packages/pmgr-collective/package.py | 2 +- .../repos/builtin/packages/poke/package.py | 2 +- .../repos/builtin/packages/porta/package.py | 2 +- .../repos/builtin/packages/portage/package.py | 2 +- .../repos/builtin/packages/ppl/package.py | 2 +- .../repos/builtin/packages/prng/package.py | 2 +- .../builtin/packages/proxymngr/package.py | 2 +- .../repos/builtin/packages/psi4/package.py | 2 +- .../repos/builtin/packages/pv/package.py | 2 +- .../packages/py-apache-libcloud/package.py | 2 +- .../builtin/packages/py-attrs/package.py | 2 +- .../repos/builtin/packages/py-avro/package.py | 2 +- .../builtin/packages/py-babel/package.py | 2 +- .../builtin/packages/py-biopandas/package.py | 2 +- .../builtin/packages/py-breakseq2/package.py | 2 +- .../builtin/packages/py-brian/package.py | 2 +- .../builtin/packages/py-brian2/package.py | 2 +- .../packages/py-clustershell/package.py | 2 +- .../builtin/packages/py-coverage/package.py | 2 +- .../builtin/packages/py-current/package.py | 2 +- .../builtin/packages/py-cvxopt/package.py | 2 +- .../builtin/packages/py-datalad/package.py | 2 +- .../repos/builtin/packages/py-deap/package.py | 2 +- .../packages/py-deprecation/package.py | 2 +- .../builtin/packages/py-elephant/package.py | 2 +- .../builtin/packages/py-emcee/package.py | 2 +- .../builtin/packages/py-espresso/package.py | 2 +- .../builtin/packages/py-execnet/package.py | 2 +- .../builtin/packages/py-flexx/package.py | 2 +- .../builtin/packages/py-gevent/package.py | 2 +- .../builtin/packages/py-git-review/package.py | 2 +- .../builtin/packages/py-gitpython/package.py | 2 +- .../py-google-api-python-client/package.py | 2 +- .../repos/builtin/packages/py-h5py/package.py | 2 +- .../builtin/packages/py-htseq/package.py | 2 +- .../builtin/packages/py-hyperopt/package.py | 2 +- .../builtin/packages/py-imageio/package.py | 2 +- .../builtin/packages/py-invoke/package.py | 2 +- .../packages/py-itsdangerous/package.py | 2 +- .../packages/py-jupyter-core/package.py | 2 +- .../builtin/packages/py-latexcodec/package.py | 2 +- .../builtin/packages/py-librosa/package.py | 2 +- .../builtin/packages/py-llvmlite/package.py | 2 +- .../builtin/packages/py-localcider/package.py | 2 +- .../builtin/packages/py-memprof/package.py | 2 +- .../builtin/packages/py-metasv/package.py | 2 +- .../builtin/packages/py-misopy/package.py | 2 +- .../builtin/packages/py-mistune/package.py | 2 +- .../builtin/packages/py-mlxtend/package.py | 2 +- .../builtin/packages/py-modred/package.py | 2 +- .../packages/py-moltemplate/package.py | 2 +- .../repos/builtin/packages/py-neo/package.py | 2 +- .../builtin/packages/py-nestle/package.py | 2 +- .../builtin/packages/py-networkx/package.py | 2 +- .../builtin/packages/py-nilearn/package.py | 2 +- .../builtin/packages/py-nipype/package.py | 2 +- .../packages/py-nvidia-ml-py/package.py | 2 +- .../packages/py-nvidia-ml-py3/package.py | 2 +- .../packages/py-oauth2client/package.py | 2 +- .../packages/py-openpmd-validator/package.py | 2 +- .../builtin/packages/py-openpyxl/package.py | 2 +- .../builtin/packages/py-paramiko/package.py | 2 +- .../builtin/packages/py-patool/package.py | 2 +- .../builtin/packages/py-phonopy/package.py | 2 +- .../builtin/packages/py-picrust/package.py | 2 +- .../repos/builtin/packages/py-py/package.py | 2 +- .../repos/builtin/packages/py-py6s/package.py | 2 +- .../builtin/packages/py-pyani/package.py | 2 +- .../builtin/packages/py-pybedtools/package.py | 2 +- .../builtin/packages/py-pyminifier/package.py | 2 +- .../builtin/packages/py-pymumps/package.py | 2 +- .../repos/builtin/packages/py-pynn/package.py | 2 +- .../builtin/packages/py-pynvml/package.py | 2 +- .../builtin/packages/py-pysolar/package.py | 2 +- .../builtin/packages/py-pyspark/package.py | 2 +- .../packages/py-pytest-isort/package.py | 2 +- .../builtin/packages/py-pytest/package.py | 2 +- .../packages/py-python-engineio/package.py | 2 +- .../packages/py-python-fmask/package.py | 2 +- .../repos/builtin/packages/py-pytz/package.py | 2 +- .../builtin/packages/py-pyvcf/package.py | 2 +- .../builtin/packages/py-qtconsole/package.py | 2 +- .../builtin/packages/py-quantities/package.py | 2 +- .../builtin/packages/py-quast/package.py | 2 +- .../builtin/packages/py-rfc3986/package.py | 2 +- .../repos/builtin/packages/py-rios/package.py | 2 +- .../repos/builtin/packages/py-rise/package.py | 2 +- .../packages/py-rnacocktail/package.py | 2 +- .../builtin/packages/py-salib/package.py | 2 +- .../builtin/packages/py-seaborn/package.py | 2 +- .../builtin/packages/py-sfepy/package.py | 2 +- .../builtin/packages/py-sncosmo/package.py | 2 +- .../builtin/packages/py-spglib/package.py | 2 +- .../builtin/packages/py-symfit/package.py | 2 +- .../builtin/packages/py-tables/package.py | 2 +- .../builtin/packages/py-tomopy/package.py | 2 +- .../repos/builtin/packages/py-tpot/package.py | 2 +- .../builtin/packages/py-urwid/package.py | 2 +- .../repos/builtin/packages/py-wand/package.py | 2 +- .../builtin/packages/py-wcsaxes/package.py | 2 +- .../repos/builtin/packages/py-zict/package.py | 2 +- .../repos/builtin/packages/qbank/package.py | 2 +- .../repos/builtin/packages/qmcpack/package.py | 2 +- .../repos/builtin/packages/quartz/package.py | 2 +- .../repos/builtin/packages/quinoa/package.py | 2 +- .../repos/builtin/packages/r-ade4/package.py | 2 +- .../builtin/packages/r-adegraphics/package.py | 2 +- .../builtin/packages/r-anytime/package.py | 2 +- .../builtin/packages/r-base64enc/package.py | 2 +- .../builtin/packages/r-beeswarm/package.py | 2 +- .../repos/builtin/packages/r-broom/package.py | 2 +- .../repos/builtin/packages/r-class/package.py | 2 +- .../repos/builtin/packages/r-codex/package.py | 2 +- .../builtin/packages/r-copula/package.py | 2 +- .../repos/builtin/packages/r-dada2/package.py | 2 +- .../builtin/packages/r-digest/package.py | 2 +- .../builtin/packages/r-diversitree/package.py | 2 +- .../repos/builtin/packages/r-dss/package.py | 2 +- .../repos/builtin/packages/r-dt/package.py | 2 +- .../repos/builtin/packages/r-ergm/package.py | 2 +- .../builtin/packages/r-exomecopy/package.py | 2 +- .../builtin/packages/r-fastmatch/package.py | 2 +- .../r-fdb-infiniummethylation-hg18/package.py | 2 +- .../repos/builtin/packages/r-ff/package.py | 2 +- .../repos/builtin/packages/r-fpc/package.py | 2 +- .../builtin/packages/r-gmodels/package.py | 2 +- .../builtin/packages/r-grbase/package.py | 2 +- .../repos/builtin/packages/r-gsa/package.py | 2 +- .../builtin/packages/r-imager/package.py | 2 +- .../repos/builtin/packages/r-jpeg/package.py | 2 +- .../builtin/packages/r-lattice/package.py | 2 +- .../packages/r-latticeextra/package.py | 2 +- .../builtin/packages/r-leaflet/package.py | 2 +- .../repos/builtin/packages/r-lhs/package.py | 2 +- .../builtin/packages/r-matrix/package.py | 2 +- .../packages/r-matrixmodels/package.py | 2 +- .../repos/builtin/packages/r-mcmc/package.py | 2 +- .../repos/builtin/packages/r-minqa/package.py | 2 +- .../builtin/packages/r-multcomp/package.py | 2 +- .../builtin/packages/r-mvtnorm/package.py | 2 +- .../repos/builtin/packages/r-ncdf4/package.py | 2 +- .../repos/builtin/packages/r-nmf/package.py | 2 +- .../repos/builtin/packages/r-nnet/package.py | 2 +- .../builtin/packages/r-partykit/package.py | 2 +- .../repos/builtin/packages/r-png/package.py | 2 +- .../builtin/packages/r-prabclus/package.py | 2 +- .../repos/builtin/packages/r-proc/package.py | 2 +- .../repos/builtin/packages/r-proj4/package.py | 2 +- .../repos/builtin/packages/r-psych/package.py | 2 +- .../builtin/packages/r-quantmod/package.py | 2 +- .../builtin/packages/r-quickplot/package.py | 2 +- .../packages/r-rcolorbrewer/package.py | 2 +- .../repos/builtin/packages/r-rcpp/package.py | 2 +- .../builtin/packages/r-rcppeigen/package.py | 2 +- .../packages/r-rcppparallel/package.py | 2 +- .../builtin/packages/r-rgenoud/package.py | 2 +- .../builtin/packages/r-rinside/package.py | 2 +- .../repos/builtin/packages/r-rjava/package.py | 2 +- .../repos/builtin/packages/r-rmpfr/package.py | 2 +- .../builtin/packages/r-rmutil/package.py | 2 +- .../builtin/packages/r-rrblup/package.py | 2 +- .../repos/builtin/packages/r-rsnns/package.py | 2 +- .../repos/builtin/packages/r-rzmq/package.py | 2 +- .../builtin/packages/r-seqinr/package.py | 2 +- .../repos/builtin/packages/r-smoof/package.py | 2 +- .../packages/r-spades-addins/package.py | 2 +- .../builtin/packages/r-spades/package.py | 2 +- .../builtin/packages/r-squarem/package.py | 2 +- .../packages/r-statnet-common/package.py | 2 +- .../builtin/packages/r-survey/package.py | 2 +- .../builtin/packages/r-threejs/package.py | 2 +- .../repos/builtin/packages/r-tiff/package.py | 2 +- .../builtin/packages/r-trimcluster/package.py | 2 +- .../repos/builtin/packages/r-trust/package.py | 2 +- .../package.py | 2 +- .../repos/builtin/packages/r-uuid/package.py | 2 +- .../builtin/packages/r-varselrf/package.py | 2 +- .../repos/builtin/packages/r-withr/package.py | 2 +- .../builtin/packages/r-xlconnect/package.py | 2 +- .../packages/r-xlconnectjars/package.py | 2 +- .../builtin/packages/r-xtable/package.py | 2 +- .../repos/builtin/packages/r-zoo/package.py | 2 +- .../repos/builtin/packages/ragel/package.py | 2 +- .../repos/builtin/packages/raja/package.py | 2 +- .../builtin/packages/rapidjson/package.py | 2 +- .../repos/builtin/packages/re2c/package.py | 2 +- .../builtin/packages/rendercheck/package.py | 2 +- .../builtin/packages/repeatmasker/package.py | 2 +- .../builtin/packages/repeatmodeler/package.py | 2 +- .../builtin/packages/repeatscout/package.py | 2 +- .../repos/builtin/packages/rgb/package.py | 2 +- .../builtin/packages/rngstreams/package.py | 2 +- .../repos/builtin/packages/ross/package.py | 2 +- .../repos/builtin/packages/rrdtool/package.py | 2 +- .../repos/builtin/packages/rsem/package.py | 2 +- .../repos/builtin/packages/rstart/package.py | 2 +- .../builtin/packages/sailfish/package.py | 2 +- .../repos/builtin/packages/salmon/package.py | 2 +- .../builtin/packages/sambamba/package.py | 2 +- .../builtin/packages/samtools/package.py | 2 +- .../builtin/packages/scalasca/package.py | 2 +- .../packages/scan-for-matches/package.py | 2 +- .../builtin/packages/scantailor/package.py | 2 +- .../repos/builtin/packages/scorep/package.py | 2 +- .../repos/builtin/packages/scripts/package.py | 2 +- .../repos/builtin/packages/seacas/package.py | 2 +- .../repos/builtin/packages/sed/package.py | 2 +- .../repos/builtin/packages/seqkit/package.py | 2 +- .../repos/builtin/packages/sessreg/package.py | 2 +- .../repos/builtin/packages/shark/package.py | 2 +- .../builtin/packages/shortstack/package.py | 2 +- .../builtin/packages/showfont/package.py | 2 +- .../repos/builtin/packages/signalp/package.py | 2 +- .../repos/builtin/packages/simgrid/package.py | 2 +- .../repos/builtin/packages/smproxy/package.py | 2 +- .../builtin/packages/snap-berkeley/package.py | 2 +- .../packages/somatic-sniper/package.py | 2 +- .../repos/builtin/packages/sowing/package.py | 2 +- .../repos/builtin/packages/spades/package.py | 2 +- .../repos/builtin/packages/spark/package.py | 2 +- .../builtin/packages/spectrum-mpi/package.py | 2 +- .../repos/builtin/packages/sqoop/package.py | 2 +- .../repos/builtin/packages/stacks/package.py | 2 +- .../builtin/packages/star-ccm-plus/package.py | 2 +- .../repos/builtin/packages/stat/package.py | 2 +- .../builtin/packages/structure/package.py | 2 +- .../builtin/packages/sublime-text/package.py | 2 +- .../repos/builtin/packages/sumo/package.py | 2 +- .../builtin/packages/superlu-dist/package.py | 2 +- .../builtin/packages/superlu-mt/package.py | 2 +- .../repos/builtin/packages/superlu/package.py | 2 +- .../repos/builtin/packages/sympol/package.py | 2 +- .../repos/builtin/packages/tajo/package.py | 2 +- .../repos/builtin/packages/targetp/package.py | 2 +- .../repos/builtin/packages/task/package.py | 2 +- .../repos/builtin/packages/taskd/package.py | 2 +- .../repos/builtin/packages/tassel/package.py | 2 +- .../repos/builtin/packages/tau/package.py | 2 +- .../repos/builtin/packages/tealeaf/package.py | 2 +- .../repos/builtin/packages/tengine/package.py | 2 +- .../repos/builtin/packages/termcap/package.py | 2 +- .../repos/builtin/packages/tetgen/package.py | 2 +- .../repos/builtin/packages/texlive/package.py | 2 +- .../repos/builtin/packages/thrift/package.py | 2 +- .../repos/builtin/packages/tmalign/package.py | 2 +- .../repos/builtin/packages/tmux/package.py | 2 +- .../repos/builtin/packages/tophat/package.py | 2 +- .../builtin/packages/transabyss/package.py | 2 +- .../builtin/packages/transdecoder/package.py | 2 +- .../builtin/packages/transrate/package.py | 2 +- .../builtin/packages/transset/package.py | 2 +- .../builtin/packages/triangle/package.py | 2 +- .../repos/builtin/packages/trinity/package.py | 2 +- .../repos/builtin/packages/tut/package.py | 2 +- .../builtin/packages/typhonio/package.py | 2 +- .../repos/builtin/packages/udunits/package.py | 2 +- .../repos/builtin/packages/unblur/package.py | 2 +- .../repos/builtin/packages/unuran/package.py | 2 +- .../repos/builtin/packages/usearch/package.py | 2 +- .../builtin/packages/userspace-rcu/package.py | 2 +- .../builtin/packages/valgrind/package.py | 2 +- .../repos/builtin/packages/varscan/package.py | 2 +- .../repos/builtin/packages/vasp/package.py | 2 +- .../repos/builtin/packages/vesta/package.py | 2 +- .../repos/builtin/packages/viewres/package.py | 2 +- .../repos/builtin/packages/vim/package.py | 2 +- .../builtin/packages/virtualgl/package.py | 2 +- .../repos/builtin/packages/vizglow/package.py | 2 +- .../repos/builtin/packages/vt/package.py | 2 +- .../packages/wayland-protocols/package.py | 2 +- .../repos/builtin/packages/wayland/package.py | 2 +- .../builtin/packages/weighttp/package.py | 2 +- .../repos/builtin/packages/wget/package.py | 2 +- .../builtin/packages/workrave/package.py | 2 +- .../builtin/packages/wxwidgets/package.py | 2 +- .../repos/builtin/packages/x11perf/package.py | 2 +- .../repos/builtin/packages/xbiff/package.py | 2 +- .../builtin/packages/xclipboard/package.py | 2 +- .../repos/builtin/packages/xcmsdb/package.py | 2 +- .../builtin/packages/xconsole/package.py | 2 +- .../builtin/packages/xcursorgen/package.py | 2 +- .../builtin/packages/xdbedizzy/package.py | 2 +- .../builtin/packages/xditview/package.py | 2 +- .../repos/builtin/packages/xdmf3/package.py | 2 +- .../repos/builtin/packages/xf86dga/package.py | 2 +- .../repos/builtin/packages/xfd/package.py | 2 +- .../builtin/packages/xfindproxy/package.py | 2 +- .../builtin/packages/xfontsel/package.py | 2 +- .../repos/builtin/packages/xforms/package.py | 2 +- .../repos/builtin/packages/xfs/package.py | 2 +- .../repos/builtin/packages/xfwp/package.py | 2 +- .../repos/builtin/packages/xgamma/package.py | 2 +- .../repos/builtin/packages/xgc/package.py | 2 +- .../repos/builtin/packages/xkbevd/package.py | 2 +- .../builtin/packages/xkbprint/package.py | 2 +- .../builtin/packages/xkbutils/package.py | 2 +- .../repos/builtin/packages/xkill/package.py | 2 +- .../repos/builtin/packages/xload/package.py | 2 +- .../repos/builtin/packages/xlogo/package.py | 2 +- .../builtin/packages/xlsatoms/package.py | 2 +- .../builtin/packages/xlsclients/package.py | 2 +- .../builtin/packages/xlsfonts/package.py | 2 +- .../repos/builtin/packages/xmag/package.py | 2 +- .../repos/builtin/packages/xman/package.py | 2 +- .../repos/builtin/packages/xmh/package.py | 2 +- .../repos/builtin/packages/xmodmap/package.py | 2 +- .../builtin/packages/xplsprinters/package.py | 2 +- .../repos/builtin/packages/xpr/package.py | 2 +- .../repos/builtin/packages/xproto/package.py | 2 +- .../xproxymanagementprotocol/package.py | 2 +- .../builtin/packages/xrefresh/package.py | 2 +- .../repos/builtin/packages/xsdk/package.py | 2 +- .../repos/builtin/packages/xsm/package.py | 2 +- .../builtin/packages/xstdcmap/package.py | 2 +- .../builtin/packages/xvidtune/package.py | 2 +- .../repos/builtin/packages/xvinfo/package.py | 2 +- .../builtin/packages/xwininfo/package.py | 2 +- .../repos/builtin/packages/xwud/package.py | 2 +- .../repos/builtin/packages/yajl/package.py | 2 +- .../repos/builtin/packages/yara/package.py | 2 +- .../repos/builtin/packages/yasm/package.py | 2 +- .../repos/builtin/packages/zlib/package.py | 2 +- .../packages/zookeeper-benchmark/package.py | 2 +- .../repos/builtin/packages/zstd/package.py | 2 +- 613 files changed, 712 insertions(+), 615 deletions(-) diff --git a/lib/spack/spack/audit.py b/lib/spack/spack/audit.py index 76616f31e0f..47894383a56 100644 --- a/lib/spack/spack/audit.py +++ b/lib/spack/spack/audit.py @@ -37,12 +37,16 @@ def _search_duplicate_compilers(error_cls): """ import collections import itertools +import re + +from six.moves.urllib.request import urlopen try: from collections.abc import Sequence # novm except ImportError: from collections import Sequence + #: Map an audit tag to a list of callables implementing checks CALLBACKS = {} @@ -261,6 +265,45 @@ def _search_duplicate_specs_in_externals(error_cls): kwargs=('pkgs',) ) +#: Sanity checks on linting +# This can take some time, so it's run separately from packages +package_https_directives = AuditClass( + group='packages-https', + tag='PKG-HTTPS-DIRECTIVES', + description='Sanity checks on https checks of package urls, etc.', + kwargs=('pkgs',) +) + + +@package_https_directives +def _linting_package_file(pkgs, error_cls): + """Check for correctness of links + """ + import llnl.util.lang + + import spack.repo + import spack.spec + + errors = [] + for pkg_name in pkgs: + pkg = spack.repo.get(pkg_name) + + # Does the homepage have http, and if so, does https work? + if pkg.homepage.startswith('http://'): + https = re.sub("http", "https", pkg.homepage, 1) + try: + response = urlopen(https) + except Exception as e: + msg = 'Error with attempting https for "{0}": ' + errors.append(error_cls(msg.format(pkg.name), [str(e)])) + continue + + if response.getcode() == 200: + msg = 'Package "{0}" uses http but has a valid https endpoint.' + errors.append(msg.format(pkg.name)) + + return llnl.util.lang.dedupe(errors) + @package_directives def _unknown_variants_in_directives(pkgs, error_cls): diff --git a/lib/spack/spack/cmd/audit.py b/lib/spack/spack/cmd/audit.py index 67d761b7d83..0e879250217 100644 --- a/lib/spack/spack/cmd/audit.py +++ b/lib/spack/spack/cmd/audit.py @@ -2,6 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import llnl.util.tty as tty import llnl.util.tty.color as cl import spack.audit @@ -19,12 +20,24 @@ def setup_parser(subparser): # Audit configuration files sp.add_parser('configs', help='audit configuration files') + # Https and other linting + https_parser = sp.add_parser('packages-https', help='check https in packages') + https_parser.add_argument( + '--all', + action='store_true', + default=False, + dest='check_all', + help="audit all packages" + ) + # Audit package recipes pkg_parser = sp.add_parser('packages', help='audit package recipes') - pkg_parser.add_argument( - 'name', metavar='PKG', nargs='*', - help='package to be analyzed (if none all packages will be processed)', - ) + + for group in [pkg_parser, https_parser]: + group.add_argument( + 'name', metavar='PKG', nargs='*', + help='package to be analyzed (if none all packages will be processed)', + ) # List all checks sp.add_parser('list', help='list available checks and exits') @@ -41,6 +54,17 @@ def packages(parser, args): _process_reports(reports) +def packages_https(parser, args): + + # Since packages takes a long time, --all is required without name + if not args.check_all and not args.name: + tty.die("Please specify one or more packages to audit, or --all.") + + pkgs = args.name or spack.repo.path.all_package_names() + reports = spack.audit.run_group(args.subcommand, pkgs=pkgs) + _process_reports(reports) + + def list(parser, args): for subcommand, check_tags in spack.audit.GROUPS.items(): print(cl.colorize('@*b{' + subcommand + '}:')) @@ -58,6 +82,7 @@ def audit(parser, args): subcommands = { 'configs': configs, 'packages': packages, + 'packages-https': packages_https, 'list': list } subcommands[args.subcommand](parser, args) diff --git a/lib/spack/spack/test/cmd/audit.py b/lib/spack/spack/test/cmd/audit.py index 84bbdbde5af..2c9dc6b1248 100644 --- a/lib/spack/spack/test/cmd/audit.py +++ b/lib/spack/spack/test/cmd/audit.py @@ -31,3 +31,23 @@ def test_audit_configs(mutable_config, mock_packages): audit('configs', fail_on_error=False) # The mock configuration has duplicate definitions of some compilers assert audit.returncode == 1 + + +def test_audit_packages_https(mutable_config, mock_packages): + + # Without providing --all should fail + audit('packages-https', fail_on_error=False) + # The mock configuration has duplicate definitions of some compilers + assert audit.returncode == 1 + + # This uses http and should fail + audit('packages-https', "preferred-test", fail_on_error=False) + assert audit.returncode == 1 + + # providing one or more package names with https should work + audit('packages-https', "cmake", fail_on_error=True) + assert audit.returncode == 0 + + # providing one or more package names with https should work + audit('packages-https', "cmake", "conflict", fail_on_error=True) + assert audit.returncode == 0 diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index ef15f38c6b6..436ff345e77 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -386,7 +386,7 @@ _spack_audit() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="configs packages list" + SPACK_COMPREPLY="configs packages-https packages list" fi } @@ -394,6 +394,15 @@ _spack_audit_configs() { SPACK_COMPREPLY="-h --help" } +_spack_audit_packages_https() { + if $list_options + then + SPACK_COMPREPLY="-h --help --all" + else + SPACK_COMPREPLY="" + fi +} + _spack_audit_packages() { if $list_options then diff --git a/var/spack/repos/builtin/packages/abyss/package.py b/var/spack/repos/builtin/packages/abyss/package.py index 5bacb7395bb..2b4e231d3fb 100644 --- a/var/spack/repos/builtin/packages/abyss/package.py +++ b/var/spack/repos/builtin/packages/abyss/package.py @@ -22,7 +22,7 @@ class Abyss(AutotoolsPackage): that is designed for short reads. The single-processor version is useful for assembling genomes up to 100 Mbases in size.""" - homepage = "http://www.bcgsc.ca/platform/bioinfo/software/abyss" + homepage = "https://www.bcgsc.ca/platform/bioinfo/software/abyss" url = "https://github.com/bcgsc/abyss/releases/download/2.3.1/abyss-2.3.1.tar.gz" version('2.3.1', sha256='664045e7903e9732411effc38edb9ebb1a0c1b7636c64b3a14a681f465f43677') diff --git a/var/spack/repos/builtin/packages/acct/package.py b/var/spack/repos/builtin/packages/acct/package.py index 40157b3ccfa..8bb15a3dbc1 100644 --- a/var/spack/repos/builtin/packages/acct/package.py +++ b/var/spack/repos/builtin/packages/acct/package.py @@ -9,7 +9,7 @@ class Acct(AutotoolsPackage): """Utilities for monitoring process activities.""" - homepage = "http://www.gnu.org/software/acct" + homepage = "https://www.gnu.org/software/acct" url = "https://ftp.gnu.org/gnu/acct/acct-6.6.4.tar.gz" version('6.6.4', sha256='4c15bf2b58b16378bcc83f70e77d4d40ab0b194acf2ebeefdb507f151faa663f') diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py index 59ec945a3c2..f2330ecae8f 100644 --- a/var/spack/repos/builtin/packages/acts/package.py +++ b/var/spack/repos/builtin/packages/acts/package.py @@ -29,7 +29,7 @@ class Acts(CMakePackage, CudaPackage): propagation and fitting, basic seed finding algorithms. """ - homepage = "http://acts.web.cern.ch/ACTS/" + homepage = "https://acts.web.cern.ch/ACTS/" git = "https://github.com/acts-project/acts.git" maintainers = ['HadrienG2'] diff --git a/var/spack/repos/builtin/packages/adios/package.py b/var/spack/repos/builtin/packages/adios/package.py index 7c2a19f6570..26fe5527e1e 100644 --- a/var/spack/repos/builtin/packages/adios/package.py +++ b/var/spack/repos/builtin/packages/adios/package.py @@ -13,7 +13,7 @@ class Adios(AutotoolsPackage): read, or processed outside of the running simulation. """ - homepage = "http://www.olcf.ornl.gov/center-projects/adios/" + homepage = "https://www.olcf.ornl.gov/center-projects/adios/" url = "https://github.com/ornladios/ADIOS/archive/v1.12.0.tar.gz" git = "https://github.com/ornladios/ADIOS.git" diff --git a/var/spack/repos/builtin/packages/advancecomp/package.py b/var/spack/repos/builtin/packages/advancecomp/package.py index 60eaec438b2..29c0b623f60 100644 --- a/var/spack/repos/builtin/packages/advancecomp/package.py +++ b/var/spack/repos/builtin/packages/advancecomp/package.py @@ -10,7 +10,7 @@ class Advancecomp(AutotoolsPackage): """AdvanceCOMP contains recompression utilities for your .zip archives, .png images, .mng video clips and .gz files.""" - homepage = "http://www.advancemame.it" + homepage = "https://www.advancemame.it" url = "https://github.com/amadvance/advancecomp/archive/v2.1.tar.gz" version('2.1', sha256='6113c2b6272334af710ba486e8312faa3cee5bd6dc8ca422d00437725e2b602a') diff --git a/var/spack/repos/builtin/packages/aegean/package.py b/var/spack/repos/builtin/packages/aegean/package.py index 10107663c99..407e7d965a6 100644 --- a/var/spack/repos/builtin/packages/aegean/package.py +++ b/var/spack/repos/builtin/packages/aegean/package.py @@ -12,7 +12,7 @@ class Aegean(MakefilePackage): as well as a C library whose API provides access to AEGeAn's core functions and data structures.""" - homepage = "http://brendelgroup.github.io/AEGeAn/" + homepage = "https://brendelgroup.github.io/AEGeAn/" url = "https://github.com/BrendelGroup/AEGeAn/archive/v0.15.2.tar.gz" version('0.15.2', sha256='734c9dd23ab3415c3966083bfde5fb72c81e6ace84e08ee3fe0d4c338331d975') diff --git a/var/spack/repos/builtin/packages/agrep/package.py b/var/spack/repos/builtin/packages/agrep/package.py index 95275764f40..59fa8272fde 100644 --- a/var/spack/repos/builtin/packages/agrep/package.py +++ b/var/spack/repos/builtin/packages/agrep/package.py @@ -13,7 +13,7 @@ class Agrep(MakefilePackage): Developed 1989-1991 by Udi Manber, Sun Wu et al. at the University of Arizona.""" - homepage = "http://www.tgries.de/agrep" + homepage = "https://www.tgries.de/agrep" url = "https://www.tgries.de/agrep/agrep-3.41.tgz" version('3.41', sha256='0508eafaf9725fc67cc955eb6d32ba4f50138443a4fea4275508d2c3f67a234e') diff --git a/var/spack/repos/builtin/packages/aida/package.py b/var/spack/repos/builtin/packages/aida/package.py index 7a1c1cd2944..1af20311a7a 100644 --- a/var/spack/repos/builtin/packages/aida/package.py +++ b/var/spack/repos/builtin/packages/aida/package.py @@ -9,7 +9,7 @@ class Aida(Package): """Abstract Interfaces for Data Analysis""" - homepage = "http://aida.freehep.org/" + homepage = "https://aida.freehep.org/" url = "ftp://ftp.slac.stanford.edu/software/freehep/AIDA/v3.2.1/aida-3.2.1.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/allpaths-lg/package.py b/var/spack/repos/builtin/packages/allpaths-lg/package.py index 9409a69e897..954fc148a1c 100644 --- a/var/spack/repos/builtin/packages/allpaths-lg/package.py +++ b/var/spack/repos/builtin/packages/allpaths-lg/package.py @@ -10,7 +10,7 @@ class AllpathsLg(AutotoolsPackage): """ALLPATHS-LG is our original short read assembler and it works on both small and large (mammalian size) genomes.""" - homepage = "http://www.broadinstitute.org/software/allpaths-lg/blog/" + homepage = "https://www.broadinstitute.org/software/allpaths-lg/blog/" url = "ftp://ftp.broadinstitute.org/pub/crd/ALLPATHS/Release-LG/latest_source_code/allpathslg-52488.tar.gz" version('52488', sha256='035b49cb21b871a6b111976757d7aee9c2513dd51af04678f33375e620998542') diff --git a/var/spack/repos/builtin/packages/amber/package.py b/var/spack/repos/builtin/packages/amber/package.py index 1f4d4c95d07..6bfc4fb6cbf 100644 --- a/var/spack/repos/builtin/packages/amber/package.py +++ b/var/spack/repos/builtin/packages/amber/package.py @@ -22,7 +22,7 @@ class Amber(Package, CudaPackage): Only the latter version of ambertools for each amber version is supported. """ - homepage = "http://ambermd.org/" + homepage = "https://ambermd.org/" url = "file://{0}/Amber18.tar.bz2".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/amdlibflame/package.py b/var/spack/repos/builtin/packages/amdlibflame/package.py index a29a21f6b41..ccdcb6b4a9c 100644 --- a/var/spack/repos/builtin/packages/amdlibflame/package.py +++ b/var/spack/repos/builtin/packages/amdlibflame/package.py @@ -30,7 +30,7 @@ class Amdlibflame(LibflameBase): """ _name = 'amdlibflame' - homepage = "http://developer.amd.com/amd-cpu-libraries/blas-library/#libflame" + homepage = "https://developer.amd.com/amd-cpu-libraries/blas-library/#libflame" url = "https://github.com/amd/libflame/archive/3.0.tar.gz" git = "https://github.com/amd/libflame.git" diff --git a/var/spack/repos/builtin/packages/ant/package.py b/var/spack/repos/builtin/packages/ant/package.py index 542f42082c1..fd3423dcbbd 100644 --- a/var/spack/repos/builtin/packages/ant/package.py +++ b/var/spack/repos/builtin/packages/ant/package.py @@ -12,7 +12,7 @@ class Ant(Package): dependent upon each other """ - homepage = "http://ant.apache.org/" + homepage = "https://ant.apache.org/" url = "https://archive.apache.org/dist/ant/source/apache-ant-1.9.7-src.tar.gz" version('1.10.7', sha256='2f9c4ef094581663b41a7412324f65b854f17622e5b2da9fcb9541ca8737bd52') diff --git a/var/spack/repos/builtin/packages/ape/package.py b/var/spack/repos/builtin/packages/ape/package.py index 32f8fb437b9..f2a08a18e49 100644 --- a/var/spack/repos/builtin/packages/ape/package.py +++ b/var/spack/repos/builtin/packages/ape/package.py @@ -10,7 +10,7 @@ class Ape(Package): """A tool for generating atomic pseudopotentials within a Density-Functional Theory framework""" - homepage = "http://www.tddft.org/programs/APE/" + homepage = "https://www.tddft.org/programs/APE/" url = "http://www.tddft.org/programs/APE/sites/default/files/ape-2.2.1.tar.gz" version('2.2.1', sha256='1bdb7f987fde81f8a5f335da6b59fa884e6d185d4a0995c90fde7c04376ce9e3') diff --git a/var/spack/repos/builtin/packages/appres/package.py b/var/spack/repos/builtin/packages/appres/package.py index 5a3456bb5c0..1fae7603113 100644 --- a/var/spack/repos/builtin/packages/appres/package.py +++ b/var/spack/repos/builtin/packages/appres/package.py @@ -12,7 +12,7 @@ class Appres(AutotoolsPackage, XorgPackage): names. It can be used to determine which resources a particular program will load.""" - homepage = "http://cgit.freedesktop.org/xorg/app/appres" + homepage = "https://cgit.freedesktop.org/xorg/app/appres" xorg_mirror_path = "app/appres-1.0.4.tar.gz" version('1.0.4', sha256='22cb6f639c891ffdbb5371bc50a88278185789eae6907d05e9e0bd1086a80803') diff --git a/var/spack/repos/builtin/packages/argobots/package.py b/var/spack/repos/builtin/packages/argobots/package.py index 5d0af27b3f5..3683431eec2 100644 --- a/var/spack/repos/builtin/packages/argobots/package.py +++ b/var/spack/repos/builtin/packages/argobots/package.py @@ -15,7 +15,7 @@ class Argobots(AutotoolsPackage): mapping, and data placement strategies. It consists of an execution model and a memory model.""" - homepage = "http://www.argobots.org/" + homepage = "https://www.argobots.org/" url = "https://github.com/pmodels/argobots/releases/download/v1.0b1/argobots-1.0b1.tar.gz" git = "https://github.com/pmodels/argobots.git" maintainers = ['shintaro-iwasaki'] diff --git a/var/spack/repos/builtin/packages/arrow/package.py b/var/spack/repos/builtin/packages/arrow/package.py index 587a174d37a..f4f007b5398 100644 --- a/var/spack/repos/builtin/packages/arrow/package.py +++ b/var/spack/repos/builtin/packages/arrow/package.py @@ -11,7 +11,7 @@ class Arrow(CMakePackage, CudaPackage): This package contains the C++ bindings. """ - homepage = "http://arrow.apache.org" + homepage = "https://arrow.apache.org" url = "https://github.com/apache/arrow/archive/apache-arrow-0.9.0.tar.gz" version('4.0.1', sha256='79d3e807df4a179cfab1e7a1ab5f79d95f7b72ac2c33aba030febd125d77eb3b') diff --git a/var/spack/repos/builtin/packages/asio/package.py b/var/spack/repos/builtin/packages/asio/package.py index 66482441f41..2e08b78eefc 100644 --- a/var/spack/repos/builtin/packages/asio/package.py +++ b/var/spack/repos/builtin/packages/asio/package.py @@ -11,7 +11,7 @@ class Asio(AutotoolsPackage): """C++ library for network and low-level I/O programming.""" - homepage = "http://think-async.com/Asio/" + homepage = "https://think-async.com/Asio/" url = "https://github.com/chriskohlhoff/asio/archive/1.18.2.tar.gz" git = "https://github.com/chriskohlhoff/asio.git" maintainers = ["msimberg"] diff --git a/var/spack/repos/builtin/packages/astra/package.py b/var/spack/repos/builtin/packages/astra/package.py index 6285edd7c25..60cd1335663 100644 --- a/var/spack/repos/builtin/packages/astra/package.py +++ b/var/spack/repos/builtin/packages/astra/package.py @@ -9,7 +9,7 @@ class Astra(Package): """A Space Charge Tracking Algorithm.""" - homepage = "http://www.desy.de/~mpyflo/" + homepage = "https://www.desy.de/~mpyflo/" version('2020-02-03', sha256='ca9ee7d3d369f9040fbd595f57f3153f712d789b66385fd2d2de88a69a774b83', diff --git a/var/spack/repos/builtin/packages/atompaw/package.py b/var/spack/repos/builtin/packages/atompaw/package.py index f7b27516343..5590587392e 100644 --- a/var/spack/repos/builtin/packages/atompaw/package.py +++ b/var/spack/repos/builtin/packages/atompaw/package.py @@ -15,7 +15,7 @@ class Atompaw(Package): User's guide: ~/doc/atompaw-usersguide.pdf """ - homepage = "http://users.wfu.edu/natalie/papers/pwpaw/man.html" + homepage = "https://users.wfu.edu/natalie/papers/pwpaw/man.html" url = "http://users.wfu.edu/natalie/papers/pwpaw/atompaw-4.0.0.13.tar.gz" version('4.1.1.0', sha256='b1ee2b53720066655d98523ef337e54850cb1e68b3a2da04ff5a1576d3893891') diff --git a/var/spack/repos/builtin/packages/augustus/package.py b/var/spack/repos/builtin/packages/augustus/package.py index ea74ff7f2bf..2a166027731 100644 --- a/var/spack/repos/builtin/packages/augustus/package.py +++ b/var/spack/repos/builtin/packages/augustus/package.py @@ -12,7 +12,7 @@ class Augustus(MakefilePackage): """AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences""" - homepage = "http://bioinf.uni-greifswald.de/augustus/" + homepage = "https://bioinf.uni-greifswald.de/augustus/" url = "https://github.com/Gaius-Augustus/Augustus/archive/v3.3.4.tar.gz" # Releases have moved to github diff --git a/var/spack/repos/builtin/packages/autofact/package.py b/var/spack/repos/builtin/packages/autofact/package.py index 88b079f3895..099506a988f 100644 --- a/var/spack/repos/builtin/packages/autofact/package.py +++ b/var/spack/repos/builtin/packages/autofact/package.py @@ -11,7 +11,7 @@ class Autofact(Package): """An Automatic Functional Annotation and Classification Tool""" - homepage = "http://megasun.bch.umontreal.ca/Software/AutoFACT.htm" + homepage = "https://megasun.bch.umontreal.ca/Software/AutoFACT.htm" url = "http://megasun.bch.umontreal.ca/Software/AutoFACT_v3_4.tar" version('3_4', sha256='1465d263b19adb42f01f6e636ac40ef1c2e3dbd63461f977b89da9493fe9c6f4') diff --git a/var/spack/repos/builtin/packages/automake/package.py b/var/spack/repos/builtin/packages/automake/package.py index e364fe07cb0..4a40aef8db3 100644 --- a/var/spack/repos/builtin/packages/automake/package.py +++ b/var/spack/repos/builtin/packages/automake/package.py @@ -8,7 +8,7 @@ class Automake(AutotoolsPackage, GNUMirrorPackage): """Automake -- make file builder part of autotools""" - homepage = 'http://www.gnu.org/software/automake/' + homepage = 'https://www.gnu.org/software/automake/' gnu_mirror_path = 'automake/automake-1.15.tar.gz' version('1.16.3', sha256='ce010788b51f64511a1e9bb2a1ec626037c6d0e7ede32c1c103611b9d3cba65f') diff --git a/var/spack/repos/builtin/packages/babeltrace/package.py b/var/spack/repos/builtin/packages/babeltrace/package.py index f3c0177e1cf..e83b6cc39a5 100644 --- a/var/spack/repos/builtin/packages/babeltrace/package.py +++ b/var/spack/repos/builtin/packages/babeltrace/package.py @@ -11,7 +11,7 @@ class Babeltrace(AutotoolsPackage): Common Trace Format (CTF). Its main use is to pretty-print CTF traces into a human-readable text output ordered by time.""" - homepage = "http://www.efficios.com/babeltrace" + homepage = "https://www.efficios.com/babeltrace" url = "https://www.efficios.com/files/babeltrace/babeltrace-1.2.4.tar.bz2" version('1.2.4', sha256='666e3a1ad2dc7d5703059963056e7800f0eab59c8eeb6be2efe4f3acc5209eb1') diff --git a/var/spack/repos/builtin/packages/bamutil/package.py b/var/spack/repos/builtin/packages/bamutil/package.py index 7d2b765eb06..625c44184b5 100644 --- a/var/spack/repos/builtin/packages/bamutil/package.py +++ b/var/spack/repos/builtin/packages/bamutil/package.py @@ -12,7 +12,7 @@ class Bamutil(MakefilePackage): are built into a single executable, bam. """ - homepage = "http://genome.sph.umich.edu/wiki/BamUtil" + homepage = "https://genome.sph.umich.edu/wiki/BamUtil" url = "http://genome.sph.umich.edu/w/images/7/70/BamUtilLibStatGen.1.0.13.tgz" version('1.0.13', sha256='16c1d01c37d1f98b98c144f3dd0fda6068c1902f06bd0989f36ce425eb0c592b') diff --git a/var/spack/repos/builtin/packages/barvinok/package.py b/var/spack/repos/builtin/packages/barvinok/package.py index 783a02ff79c..9428e06d7f5 100644 --- a/var/spack/repos/builtin/packages/barvinok/package.py +++ b/var/spack/repos/builtin/packages/barvinok/package.py @@ -10,7 +10,7 @@ class Barvinok(AutotoolsPackage): """barvinok is a library for counting the number of integer points in parametric and non-parametric polytopes.""" - homepage = "http://barvinok.gforge.inria.fr" + homepage = "https://barvinok.gforge.inria.fr" url = "http://barvinok.gforge.inria.fr/barvinok-0.41.5.tar.bz2" version('0.41.5', sha256='e70493318fe76c0c202f98d7861bdf5dda8c4d79c21024af2e04b009ffa79734') diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py index 61da8e9d1a5..8f4f5bdad8e 100644 --- a/var/spack/repos/builtin/packages/bcftools/package.py +++ b/var/spack/repos/builtin/packages/bcftools/package.py @@ -10,7 +10,7 @@ class Bcftools(AutotoolsPackage): commands work transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.""" - homepage = "http://samtools.github.io/bcftools/" + homepage = "https://samtools.github.io/bcftools/" url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2" version('1.12', sha256='7a0e6532b1495b9254e38c6698d955e5176c1ee08b760dfea2235ee161a024f5') diff --git a/var/spack/repos/builtin/packages/bdftopcf/package.py b/var/spack/repos/builtin/packages/bdftopcf/package.py index edfc810c000..552f8123754 100644 --- a/var/spack/repos/builtin/packages/bdftopcf/package.py +++ b/var/spack/repos/builtin/packages/bdftopcf/package.py @@ -14,7 +14,7 @@ class Bdftopcf(AutotoolsPackage, XorgPackage): appropriate machine, but the files are still portable (but read more slowly) on other machines.""" - homepage = "http://cgit.freedesktop.org/xorg/app/bdftopcf" + homepage = "https://cgit.freedesktop.org/xorg/app/bdftopcf" xorg_mirror_path = "app/bdftopcf-1.0.5.tar.gz" version('1.0.5', sha256='78a5ec945de1d33e6812167b1383554fda36e38576849e74a9039dc7364ff2c3') diff --git a/var/spack/repos/builtin/packages/beagle/package.py b/var/spack/repos/builtin/packages/beagle/package.py index 941ff1e43bd..ad72d8a06d9 100644 --- a/var/spack/repos/builtin/packages/beagle/package.py +++ b/var/spack/repos/builtin/packages/beagle/package.py @@ -12,7 +12,7 @@ class Beagle(Package): """Beagle is a software package for phasing genotypes and for imputing ungenotyped markers.""" - homepage = "http://faculty.washington.edu/browning/beagle/beagle.html" + homepage = "https://faculty.washington.edu/browning/beagle/beagle.html" version('5.1', sha256='994f926a4ec0eac665631f37c4a961d3f75c966c71841079275364013c90996c', expand=False, url='http://faculty.washington.edu/browning/beagle/beagle.25Nov19.28d.jar') diff --git a/var/spack/repos/builtin/packages/beast-tracer/package.py b/var/spack/repos/builtin/packages/beast-tracer/package.py index 5314625ff06..ecd5774f5e7 100644 --- a/var/spack/repos/builtin/packages/beast-tracer/package.py +++ b/var/spack/repos/builtin/packages/beast-tracer/package.py @@ -12,7 +12,7 @@ class BeastTracer(Package): """Tracer is a graphical tool for visualization and diagnostics of MCMC output.""" - homepage = "http://beast.community/tracer" + homepage = "https://beast.community/tracer" url = "https://github.com/beast-dev/tracer/archive/v1.7.1.tar.gz" version('1.7.1', sha256='947d51c5afa52354099b9b182ba6036e352356bd62df94031f33cdcb7e8effd3') diff --git a/var/spack/repos/builtin/packages/beast1/package.py b/var/spack/repos/builtin/packages/beast1/package.py index 6836a958af9..b4f560ebb83 100644 --- a/var/spack/repos/builtin/packages/beast1/package.py +++ b/var/spack/repos/builtin/packages/beast1/package.py @@ -10,7 +10,7 @@ class Beast1(Package): """BEAST is a cross-platform program for Bayesian analysis of molecular sequences using MCMC.""" - homepage = "http://beast.community/" + homepage = "https://beast.community/" version('1.10.4', sha256='be652c4d55953f7c6c7a9d3eb3de203c77dc380e81ad81cfe0492408990c36a8') version('1.8.4', sha256='c14e93976008463108aefa34ecc23287ab70703caccf4962e36e295207120d78') diff --git a/var/spack/repos/builtin/packages/beforelight/package.py b/var/spack/repos/builtin/packages/beforelight/package.py index 764959934cb..a1101d347a6 100644 --- a/var/spack/repos/builtin/packages/beforelight/package.py +++ b/var/spack/repos/builtin/packages/beforelight/package.py @@ -12,7 +12,7 @@ class Beforelight(AutotoolsPackage, XorgPackage): recommended for use as a code sample, as it does not include features such as screen locking or configurability.""" - homepage = "http://cgit.freedesktop.org/xorg/app/beforelight" + homepage = "https://cgit.freedesktop.org/xorg/app/beforelight" xorg_mirror_path = "app/beforelight-1.0.5.tar.gz" version('1.0.5', sha256='93bb3c457d6d5e8def3180fdee07bc84d1b7f0e5378a95812e2193cd51455cdc') diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py index 8868c634243..445d32b2c3b 100644 --- a/var/spack/repos/builtin/packages/binutils/package.py +++ b/var/spack/repos/builtin/packages/binutils/package.py @@ -7,7 +7,7 @@ class Binutils(AutotoolsPackage, GNUMirrorPackage): """GNU binutils, which contain the linker, assembler, objdump and others""" - homepage = "http://www.gnu.org/software/binutils/" + homepage = "https://www.gnu.org/software/binutils/" gnu_mirror_path = "binutils/binutils-2.28.tar.bz2" maintainers = ['alalazo'] diff --git a/var/spack/repos/builtin/packages/biopieces/package.py b/var/spack/repos/builtin/packages/biopieces/package.py index b1e44aaea9f..167eb2e451a 100644 --- a/var/spack/repos/builtin/packages/biopieces/package.py +++ b/var/spack/repos/builtin/packages/biopieces/package.py @@ -11,7 +11,7 @@ class Biopieces(Package): pieced together in a very easy and flexible manner to perform both simple and complex tasks.""" - homepage = "http://maasha.github.io/biopieces/" + homepage = "https://maasha.github.io/biopieces/" git = "https://github.com/maasha/biopieces.git" version('2016-04-12', commit='982f80f7c55e2cae67737d80fe35a4e784762856', diff --git a/var/spack/repos/builtin/packages/bird/package.py b/var/spack/repos/builtin/packages/bird/package.py index 7b48ed0e417..4e092e77fd1 100644 --- a/var/spack/repos/builtin/packages/bird/package.py +++ b/var/spack/repos/builtin/packages/bird/package.py @@ -13,7 +13,7 @@ class Bird(AutotoolsPackage): primarily targeted on (but not limited to) Linux and other UNIX-like systems and distributed under the GNU General Public License.""" - homepage = "http://bird.network.cz/" + homepage = "https://bird.network.cz/" url = "https://github.com/BIRD/bird/archive/v2.0.2.tar.gz" version('2.0.2', sha256='bd42d48fbcc2c0046d544f1183cd98193ff15b792d332ff45f386b0180b09335') diff --git a/var/spack/repos/builtin/packages/bitmap/package.py b/var/spack/repos/builtin/packages/bitmap/package.py index 5dbf830bc24..446cf1b26a1 100644 --- a/var/spack/repos/builtin/packages/bitmap/package.py +++ b/var/spack/repos/builtin/packages/bitmap/package.py @@ -9,7 +9,7 @@ class Bitmap(AutotoolsPackage, XorgPackage): """bitmap, bmtoa, atobm - X bitmap (XBM) editor and converter utilities.""" - homepage = "http://cgit.freedesktop.org/xorg/app/bitmap" + homepage = "https://cgit.freedesktop.org/xorg/app/bitmap" xorg_mirror_path = "app/bitmap-1.0.8.tar.gz" version('1.0.8', sha256='1a2fbd10a2ca5cd93f7b77bbb0555b86d8b35e0fc18d036b1607c761755006fc') diff --git a/var/spack/repos/builtin/packages/bmake/package.py b/var/spack/repos/builtin/packages/bmake/package.py index 08c05e1bcb8..566516207b0 100644 --- a/var/spack/repos/builtin/packages/bmake/package.py +++ b/var/spack/repos/builtin/packages/bmake/package.py @@ -9,7 +9,7 @@ class Bmake(Package): """Portable version of NetBSD make(1).""" - homepage = "http://www.crufty.net/help/sjg/bmake.htm" + homepage = "https://www.crufty.net/help/sjg/bmake.htm" url = "http://www.crufty.net/ftp/pub/sjg/bmake-20180512.tar.gz" version('20200710', sha256='6538fc4319ef79d178dca76d3b869f7aa93a9bb7b510df08a7d872c01a56b76c') diff --git a/var/spack/repos/builtin/packages/breakdancer/package.py b/var/spack/repos/builtin/packages/breakdancer/package.py index 606b153e270..61d2d12c549 100644 --- a/var/spack/repos/builtin/packages/breakdancer/package.py +++ b/var/spack/repos/builtin/packages/breakdancer/package.py @@ -17,7 +17,7 @@ class Breakdancer(CMakePackage): BreakDancerMini focuses on detecting small indels (usually between 10bp and 100bp) using normally mapped read pairs..""" - homepage = "http://gmt.genome.wustl.edu/packages/breakdancer" + homepage = "https://gmt.genome.wustl.edu/packages/breakdancer" url = "https://github.com/genome/breakdancer/archive/v1.4.5.tar.gz" version('1.4.5', sha256='5d74f3a90f5c69026ebb4cf4cb9ccc51ec8dd49ac7a88595a1efabd5a73e92b6') diff --git a/var/spack/repos/builtin/packages/bref3/package.py b/var/spack/repos/builtin/packages/bref3/package.py index 5065854f139..59ad599636c 100644 --- a/var/spack/repos/builtin/packages/bref3/package.py +++ b/var/spack/repos/builtin/packages/bref3/package.py @@ -11,7 +11,7 @@ class Bref3(Package): """Bref3: Converts from VCF format to bref3 format.""" - homepage = "http://faculty.washington.edu/browning/beagle/beagle.html" + homepage = "https://faculty.washington.edu/browning/beagle/beagle.html" version('2019-11-25', sha256='969c0881050c4a48d19be9ea64bf49fa68c1403b69f9f739bbfd865dda639b2d', expand=False, url='http://faculty.washington.edu/browning/beagle/bref3.25Nov19.28d.jar') diff --git a/var/spack/repos/builtin/packages/breseq/package.py b/var/spack/repos/builtin/packages/breseq/package.py index 363f6b49878..9805922714e 100644 --- a/var/spack/repos/builtin/packages/breseq/package.py +++ b/var/spack/repos/builtin/packages/breseq/package.py @@ -11,7 +11,7 @@ class Breseq(AutotoolsPackage): a reference sequence in short-read DNA re-sequencing data for haploid microbial-sized genomes.""" - homepage = "http://barricklab.org/breseq" + homepage = "https://barricklab.org/breseq" url = "https://github.com/barricklab/breseq/archive/v0.31.1.tar.gz" version('0.33.2', sha256='c698d2d25cc7ed251ff916343a8c04f79b5540281288cb7c955f458255ac21de') diff --git a/var/spack/repos/builtin/packages/brltty/package.py b/var/spack/repos/builtin/packages/brltty/package.py index 764627e27a3..68aa8582564 100644 --- a/var/spack/repos/builtin/packages/brltty/package.py +++ b/var/spack/repos/builtin/packages/brltty/package.py @@ -11,7 +11,7 @@ class Brltty(AutotoolsPackage): Linux/Unix console (when in text mode) for a blind person using a refreshable braille display.""" - homepage = "http://brltty.app/" + homepage = "https://brltty.app/" url = "https://github.com/brltty/brltty/archive/BRLTTY-6.0.tar.gz" version('6.0', sha256='acfea5274bdc9230b0ea1a87f8796e241615d4d2c1ba08d87601b9d116c7804c') diff --git a/var/spack/repos/builtin/packages/bucky/package.py b/var/spack/repos/builtin/packages/bucky/package.py index 03c691a0b4c..b6792e741ce 100644 --- a/var/spack/repos/builtin/packages/bucky/package.py +++ b/var/spack/repos/builtin/packages/bucky/package.py @@ -12,7 +12,7 @@ class Bucky(MakefilePackage): much of the genome supports each relationship, using Bayesian concordance analysis.""" - homepage = "http://www.stat.wisc.edu/~ane/bucky/index.html" + homepage = "https://www.stat.wisc.edu/~ane/bucky/index.html" url = "http://dstats.net/download/http://www.stat.wisc.edu/~ane/bucky/v1.4/bucky-1.4.4.tgz" version('1.4.4', sha256='1621fee0d42314d9aa45d0082b358d4531e7d1d1a0089c807c1b21fbdc4e4592') diff --git a/var/spack/repos/builtin/packages/byteman/package.py b/var/spack/repos/builtin/packages/byteman/package.py index 2c28195f47b..b3c09d556a1 100644 --- a/var/spack/repos/builtin/packages/byteman/package.py +++ b/var/spack/repos/builtin/packages/byteman/package.py @@ -10,7 +10,7 @@ class Byteman(MavenPackage): """Byteman is a tool which makes it easy to trace, monitor and test the behaviour of Java application and JDK runtime code.""" - homepage = "http://www.jboss.org/byteman" + homepage = "https://www.jboss.org/byteman" url = "https://github.com/bytemanproject/byteman/archive/4.0.12.tar.gz" version('4.0.12', sha256='72fdc904d7b8df9e743fbb5ae84e51ffc81d32b6e0b0b80fc7ac165dd8c9c7c2') diff --git a/var/spack/repos/builtin/packages/cachefilesd/package.py b/var/spack/repos/builtin/packages/cachefilesd/package.py index e8911872d70..19323324c0c 100644 --- a/var/spack/repos/builtin/packages/cachefilesd/package.py +++ b/var/spack/repos/builtin/packages/cachefilesd/package.py @@ -11,7 +11,7 @@ class Cachefilesd(MakefilePackage): are that are used by network file systems such a AFS and NFS to do persistent caching to the local disk.""" - homepage = "http://people.redhat.com/~dhowells/fscache" + homepage = "https://people.redhat.com/~dhowells/fscache" url = "http://people.redhat.com/~dhowells/fscache/cachefilesd-0.10.tar.bz2" version('0.10.10', sha256='0d0309851efabd02b7c849f73535b8ad3f831570e83e4f65e42354da18e11a02') diff --git a/var/spack/repos/builtin/packages/caffe/package.py b/var/spack/repos/builtin/packages/caffe/package.py index b2f54a3d2d9..4ae48b41969 100644 --- a/var/spack/repos/builtin/packages/caffe/package.py +++ b/var/spack/repos/builtin/packages/caffe/package.py @@ -11,7 +11,7 @@ class Caffe(CMakePackage, CudaPackage): modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and by community contributors.""" - homepage = "http://caffe.berkeleyvision.org" + homepage = "https://caffe.berkeleyvision.org" url = "https://github.com/BVLC/caffe/archive/1.0.tar.gz" version('1.0', sha256='71d3c9eb8a183150f965a465824d01fe82826c22505f7aa314f700ace03fa77f') diff --git a/var/spack/repos/builtin/packages/camx/package.py b/var/spack/repos/builtin/packages/camx/package.py index 54c34a95c20..c2eed5b3b23 100644 --- a/var/spack/repos/builtin/packages/camx/package.py +++ b/var/spack/repos/builtin/packages/camx/package.py @@ -12,7 +12,7 @@ class Camx(MakefilePackage): '''Comprehensive Air Quality Model with Extensions.''' - homepage = 'http://www.camx.com' + homepage = 'https://www.camx.com' # Upstream obfuscates their download URL to get you to fill out their # registration form and accept their license agreement. diff --git a/var/spack/repos/builtin/packages/cantera/package.py b/var/spack/repos/builtin/packages/cantera/package.py index c782edf5481..e954037cefe 100644 --- a/var/spack/repos/builtin/packages/cantera/package.py +++ b/var/spack/repos/builtin/packages/cantera/package.py @@ -12,7 +12,7 @@ class Cantera(SConsPackage): """Cantera is a suite of object-oriented software tools for problems involving chemical kinetics, thermodynamics, and/or transport processes.""" - homepage = "http://www.cantera.org/docs/sphinx/html/index.html" + homepage = "https://www.cantera.org/docs/sphinx/html/index.html" url = "https://github.com/Cantera/cantera/archive/v2.5.1.tar.gz" version('2.5.1', sha256='59f673cec686bc9b1eeccc1b1c9158a3978a3abe7491d00e8b355908c1c3be0a') diff --git a/var/spack/repos/builtin/packages/canu/package.py b/var/spack/repos/builtin/packages/canu/package.py index 9ce5f7db1fd..574d8fd8317 100644 --- a/var/spack/repos/builtin/packages/canu/package.py +++ b/var/spack/repos/builtin/packages/canu/package.py @@ -10,7 +10,7 @@ class Canu(MakefilePackage): """A single molecule sequence assembler for genomes large and small.""" - homepage = "http://canu.readthedocs.io/" + homepage = "https://canu.readthedocs.io/" url = "https://github.com/marbl/canu/archive/v1.5.tar.gz" version('2.0', sha256='e2e6e8b5ec4dd4cfba5e372f4a64b2c01fbd544d4b5867746021f10771a6f4ef') diff --git a/var/spack/repos/builtin/packages/capstone/package.py b/var/spack/repos/builtin/packages/capstone/package.py index 9574fc8e5d0..4251e37841b 100644 --- a/var/spack/repos/builtin/packages/capstone/package.py +++ b/var/spack/repos/builtin/packages/capstone/package.py @@ -10,7 +10,7 @@ class Capstone(CMakePackage): """Capstone is a lightweight multi-platform, multi-architecture disassembly framework.""" - homepage = "http://www.capstone-engine.org/" + homepage = "https://www.capstone-engine.org/" url = "https://github.com/aquynh/capstone/archive/4.0.1.tar.gz" git = "https://github.com/aquynh/capstone.git" diff --git a/var/spack/repos/builtin/packages/cask/package.py b/var/spack/repos/builtin/packages/cask/package.py index e3c985791cd..7abf89af6fc 100644 --- a/var/spack/repos/builtin/packages/cask/package.py +++ b/var/spack/repos/builtin/packages/cask/package.py @@ -16,7 +16,7 @@ class Cask(Package): """Cask is a project management tool for Emacs Lisp to automate the package development cycle; development, dependencies, testing, building, packaging and more.""" - homepage = "http://cask.readthedocs.io/en/latest/" + homepage = "https://cask.readthedocs.io/en/latest/" url = "https://github.com/cask/cask/archive/v0.7.4.tar.gz" version('0.8.1', sha256='8739ba608f23c79b3426faa8b068d5d1bc096c7305ce30b1163babd354be821c') diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py index 39c9db13c66..9c87ef4e60e 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py @@ -12,7 +12,7 @@ class CbtfArgonavisGui(QMakePackage): """CBTF Argo Navis GUI project contains the GUI that views OpenSpeedShop performance information by loading in the Sqlite database files. """ - homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" + homepage = "https://sourceforge.net/p/cbtf/wiki/Home/" git = "https://github.com/OpenSpeedShop/cbtf-argonavis-gui.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py index 8c5ea4d3b12..887322330ad 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py @@ -10,7 +10,7 @@ class CbtfArgonavis(CMakePackage): """CBTF Argo Navis project contains the CUDA collector and supporting libraries that was done as a result of a DOE SBIR grant. """ - homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" + homepage = "https://sourceforge.net/p/cbtf/wiki/Home/" git = "https://github.com/OpenSpeedShop/cbtf-argonavis.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py index cce495d8e71..3f464d8953e 100644 --- a/var/spack/repos/builtin/packages/cbtf-krell/package.py +++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py @@ -14,7 +14,7 @@ class CbtfKrell(CMakePackage): data collectors and support libraries as well as some example tools that drive the data collection at HPC levels of scale. """ - homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" + homepage = "https://sourceforge.net/p/cbtf/wiki/Home/" git = "https://github.com/OpenSpeedShop/cbtf-krell.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py index bb42d4a307b..67ae6fe7c64 100644 --- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py +++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py @@ -10,7 +10,7 @@ class CbtfLanl(CMakePackage): """CBTF LANL project contains a memory tool and data center type system command monitoring tool.""" - homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" + homepage = "https://sourceforge.net/p/cbtf/wiki/Home/" git = "https://github.com/OpenSpeedShop/cbtf-lanl.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py index 64ec74dbd2e..dea5d055d37 100644 --- a/var/spack/repos/builtin/packages/cbtf/package.py +++ b/var/spack/repos/builtin/packages/cbtf/package.py @@ -13,7 +13,7 @@ class Cbtf(CMakePackage): network tools. """ - homepage = "http://sourceforge.net/p/cbtf/wiki/Home" + homepage = "https://sourceforge.net/p/cbtf/wiki/Home" git = "https://github.com/OpenSpeedShop/cbtf.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/cereal/package.py b/var/spack/repos/builtin/packages/cereal/package.py index 9fa2652d4ce..b10b90e7a39 100644 --- a/var/spack/repos/builtin/packages/cereal/package.py +++ b/var/spack/repos/builtin/packages/cereal/package.py @@ -15,7 +15,7 @@ class Cereal(CMakePackage): with other code or used standalone. """ - homepage = "http://uscilab.github.io/cereal/" + homepage = "https://uscilab.github.io/cereal/" url = "https://github.com/USCiLab/cereal/archive/v1.1.2.tar.gz" version('1.3.0', sha256='329ea3e3130b026c03a4acc50e168e7daff4e6e661bc6a7dfec0d77b570851d5') diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py index 061b5d30e7e..4d579221b02 100644 --- a/var/spack/repos/builtin/packages/cgal/package.py +++ b/var/spack/repos/builtin/packages/cgal/package.py @@ -13,7 +13,7 @@ class Cgal(CMakePackage): computation, such as geographic information systems, computer aided design, molecular biology, medical imaging, computer graphics, and robotics. """ - homepage = 'http://www.cgal.org/' + homepage = 'https://www.cgal.org/' url = "https://github.com/CGAL/cgal/releases/download/releases/CGAL-5.0.3/CGAL-5.0.3.tar.xz" version('5.0.3', sha256='e5a3672e35e5e92e3c1b4452cd3c1d554f3177dc512bd98b29edf21866a4288c') diff --git a/var/spack/repos/builtin/packages/cgm/package.py b/var/spack/repos/builtin/packages/cgm/package.py index 9d109b44baa..c5e4b735d79 100644 --- a/var/spack/repos/builtin/packages/cgm/package.py +++ b/var/spack/repos/builtin/packages/cgm/package.py @@ -10,8 +10,8 @@ class Cgm(AutotoolsPackage): """The Common Geometry Module, Argonne (CGMA) is a code library which provides geometry functionality used for mesh generation and other applications.""" - homepage = "http://sigma.mcs.anl.gov/cgm-library" - url = "http://ftp.mcs.anl.gov/pub/fathom/cgm-16.0.tar.gz" + homepage = "https://sigma.mcs.anl.gov/cgm-library" + url = "https://ftp.mcs.anl.gov/pub/fathom/cgm-16.0.tar.gz" version('16.0', sha256='b98afe70c64efa19decc5ff01602e8c7afc6b22ce646cad30dc92ecfdce6e23d') version('13.1.1', sha256='ffde54f0c86055b06cad911bbd4297b88c3fb124c873b03ebee626f807b8ab87') diff --git a/var/spack/repos/builtin/packages/cgns/package.py b/var/spack/repos/builtin/packages/cgns/package.py index afef1fd609e..eab936b1e49 100644 --- a/var/spack/repos/builtin/packages/cgns/package.py +++ b/var/spack/repos/builtin/packages/cgns/package.py @@ -13,7 +13,7 @@ class Cgns(CMakePackage): and extensible standard for the storage and retrieval of computational fluid dynamics (CFD) analysis data.""" - homepage = "http://cgns.github.io/" + homepage = "https://cgns.github.io/" url = "https://github.com/CGNS/CGNS/archive/v3.3.0.tar.gz" git = "https://github.com/CGNS/CGNS" diff --git a/var/spack/repos/builtin/packages/changa/package.py b/var/spack/repos/builtin/packages/changa/package.py index 4c6bfb7c366..e7d8059e3a8 100644 --- a/var/spack/repos/builtin/packages/changa/package.py +++ b/var/spack/repos/builtin/packages/changa/package.py @@ -16,7 +16,7 @@ class Changa(AutotoolsPackage): 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" + homepage = "https://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" diff --git a/var/spack/repos/builtin/packages/chill/package.py b/var/spack/repos/builtin/packages/chill/package.py index 0d7c1165974..576ea36fc20 100644 --- a/var/spack/repos/builtin/packages/chill/package.py +++ b/var/spack/repos/builtin/packages/chill/package.py @@ -9,7 +9,7 @@ class Chill(AutotoolsPackage): """A polyheadral compiler for autotuning""" - homepage = "http://github.com/CtopCsUtahEdu/chill" + homepage = "https://github.com/CtopCsUtahEdu/chill" url = "https://github.com/CtopCsUtahEdu/chill/archive/v0.3.tar.gz" git = "https://github.com/CtopCsUtahEdu/chill.git" diff --git a/var/spack/repos/builtin/packages/chlorop/package.py b/var/spack/repos/builtin/packages/chlorop/package.py index e760acb240c..38cab557794 100644 --- a/var/spack/repos/builtin/packages/chlorop/package.py +++ b/var/spack/repos/builtin/packages/chlorop/package.py @@ -18,7 +18,7 @@ class Chlorop(Package): to the full path of the directory you want chlorop to use as a temporary directory.""" - homepage = "http://www.cbs.dtu.dk/services/ChloroP/" + homepage = "https://www.cbs.dtu.dk/services/ChloroP/" url = "file://{0}/chlorop-1.1.Linux.tar.gz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/clapack/package.py b/var/spack/repos/builtin/packages/clapack/package.py index 7a96752f579..d6a3948902b 100644 --- a/var/spack/repos/builtin/packages/clapack/package.py +++ b/var/spack/repos/builtin/packages/clapack/package.py @@ -15,7 +15,7 @@ class Clapack(MakefilePackage): is to provide LAPACK for someone who does not have access to a Fortran compiler.""" - homepage = "http://www.netlib.org/clapack/" + homepage = "https://www.netlib.org/clapack/" url = "http://www.netlib.org/clapack/clapack.tgz" version('3.2.1', sha256='6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac') diff --git a/var/spack/repos/builtin/packages/cleverleaf/package.py b/var/spack/repos/builtin/packages/cleverleaf/package.py index a177bcc69e2..fcd557dd820 100644 --- a/var/spack/repos/builtin/packages/cleverleaf/package.py +++ b/var/spack/repos/builtin/packages/cleverleaf/package.py @@ -14,7 +14,7 @@ class Cleverleaf(CMakePackage): hydrodynamics scheme used by CloverLeaf. """ - homepage = "http://uk-mac.github.io/CleverLeaf/" + homepage = "https://uk-mac.github.io/CleverLeaf/" git = "https://github.com/UK-MAC/CleverLeaf_ref.git" version('develop', branch='develop') diff --git a/var/spack/repos/builtin/packages/clhep/package.py b/var/spack/repos/builtin/packages/clhep/package.py index 6ff3a38000f..bdf7dc66576 100644 --- a/var/spack/repos/builtin/packages/clhep/package.py +++ b/var/spack/repos/builtin/packages/clhep/package.py @@ -9,7 +9,7 @@ class Clhep(CMakePackage): """CLHEP is a C++ Class Library for High Energy Physics. """ - homepage = "http://proj-clhep.web.cern.ch/proj-clhep/" + homepage = "https://proj-clhep.web.cern.ch/proj-clhep/" url = "http://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.1.3.tgz" list_url = "https://proj-clhep.web.cern.ch/proj-clhep/" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/cloverleaf/package.py b/var/spack/repos/builtin/packages/cloverleaf/package.py index 3d2125e1480..a39df60783d 100644 --- a/var/spack/repos/builtin/packages/cloverleaf/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf/package.py @@ -10,7 +10,7 @@ class Cloverleaf(MakefilePackage): using an explicit, second-order accurate method. """ - homepage = "http://uk-mac.github.io/CloverLeaf" + homepage = "https://uk-mac.github.io/CloverLeaf" url = "http://downloads.mantevo.org/releaseTarballs/miniapps/CloverLeaf/CloverLeaf-1.1.tar.gz" git = "https://github.com/UK-MAC/CloverLeaf.git" diff --git a/var/spack/repos/builtin/packages/cloverleaf3d/package.py b/var/spack/repos/builtin/packages/cloverleaf3d/package.py index eb81f13111b..27b5fa9c472 100644 --- a/var/spack/repos/builtin/packages/cloverleaf3d/package.py +++ b/var/spack/repos/builtin/packages/cloverleaf3d/package.py @@ -11,7 +11,7 @@ class Cloverleaf3d(MakefilePackage): using an explicit, second-order accurate method. """ - homepage = "http://uk-mac.github.io/CloverLeaf3D/" + homepage = "https://uk-mac.github.io/CloverLeaf3D/" url = "http://downloads.mantevo.org/releaseTarballs/miniapps/CloverLeaf3D/CloverLeaf3D-1.0.tar.gz" tags = ["proxy-app"] diff --git a/var/spack/repos/builtin/packages/cmaq/package.py b/var/spack/repos/builtin/packages/cmaq/package.py index 19c67899284..3ca83ffa437 100644 --- a/var/spack/repos/builtin/packages/cmaq/package.py +++ b/var/spack/repos/builtin/packages/cmaq/package.py @@ -9,7 +9,7 @@ class Cmaq(Package): """Code base for the U.S. EPA's Community Multiscale Air Quality Model (CMAQ).""" - homepage = "http://www.epa.gov/CMAQ" + homepage = "https://www.epa.gov/CMAQ" url = "https://github.com/USEPA/CMAQ/archive/CMAQv5.3.1_19Dec2019.tar.gz" version('5.3.1', sha256='659156bba27f33010e0fdc157a8d33f3b5b779b95511e2ade870284b6bcb4bc8', diff --git a/var/spack/repos/builtin/packages/cmor/package.py b/var/spack/repos/builtin/packages/cmor/package.py index 2d30d7c7215..9a468a64602 100644 --- a/var/spack/repos/builtin/packages/cmor/package.py +++ b/var/spack/repos/builtin/packages/cmor/package.py @@ -12,7 +12,7 @@ class Cmor(AutotoolsPackage): they contain fulfill the requirements of many of the climate community's standard model experiments.""" - homepage = "http://cmor.llnl.gov" + homepage = "https://cmor.llnl.gov" url = "https://github.com/PCMDI/cmor/archive/3.4.0.tar.gz" version('3.4.0', sha256='e700a6d50f435e6ffdedf23bf6832b7d37fe21dc78815e1372f218d1d52bd2cb') diff --git a/var/spack/repos/builtin/packages/codes/package.py b/var/spack/repos/builtin/packages/codes/package.py index eacd82b82d0..ee11919e180 100644 --- a/var/spack/repos/builtin/packages/codes/package.py +++ b/var/spack/repos/builtin/packages/codes/package.py @@ -10,7 +10,7 @@ class Codes(AutotoolsPackage): """ CO-Design of multi-layer Exascale Storage (CODES) simulation framework """ - homepage = "http://www.mcs.anl.gov/projects/codes" + homepage = "https://www.mcs.anl.gov/projects/codes" git = "https://xgitlab.cels.anl.gov/codes/codes.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/coinhsl/package.py b/var/spack/repos/builtin/packages/coinhsl/package.py index d8ac39fe8cd..4c2a7ee9422 100644 --- a/var/spack/repos/builtin/packages/coinhsl/package.py +++ b/var/spack/repos/builtin/packages/coinhsl/package.py @@ -23,7 +23,7 @@ class Coinhsl(AutotoolsPackage): # NOTE(oxberry1@llnl.gov): an HTTPS version of the URL below does not # exist - homepage = "http://www.hsl.rl.ac.uk/ipopt/" + homepage = "https://www.hsl.rl.ac.uk/ipopt/" url = "file://{0}/coinhsl-archive-2014.01.17.tar.gz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/collectd/package.py b/var/spack/repos/builtin/packages/collectd/package.py index 07239552007..deea44289ce 100644 --- a/var/spack/repos/builtin/packages/collectd/package.py +++ b/var/spack/repos/builtin/packages/collectd/package.py @@ -9,7 +9,7 @@ class Collectd(AutotoolsPackage): """The system statistics collection daemon.""" - homepage = "http://collectd.org/" + homepage = "https://collectd.org/" url = "https://github.com/collectd/collectd/releases/download/collectd-5.11.0/collectd-5.11.0.tar.bz2" version('5.12.0', sha256='5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6') diff --git a/var/spack/repos/builtin/packages/colm/package.py b/var/spack/repos/builtin/packages/colm/package.py index 74292af208e..536b88720af 100644 --- a/var/spack/repos/builtin/packages/colm/package.py +++ b/var/spack/repos/builtin/packages/colm/package.py @@ -13,7 +13,7 @@ class Colm(AutotoolsPackage): by TXL. It is in the family of program transformation languages. """ - homepage = "http://www.colm.net/open-source/colm" + homepage = "https://www.colm.net/open-source/colm" url = "http://www.colm.net/files/colm/colm-0.12.0.tar.gz" version('0.12.0', sha256='7b545d74bd139f5c622975d243c575310af1e4985059a1427b6fdbb1fb8d6e4d') diff --git a/var/spack/repos/builtin/packages/commons-lang/package.py b/var/spack/repos/builtin/packages/commons-lang/package.py index aed68d50265..9ddba9053cc 100644 --- a/var/spack/repos/builtin/packages/commons-lang/package.py +++ b/var/spack/repos/builtin/packages/commons-lang/package.py @@ -18,7 +18,7 @@ class CommonsLang(Package): dedicated to help with building methods, such as hashCode, toString and equals.""" - homepage = "http://commons.apache.org/proper/commons-lang/" + homepage = "https://commons.apache.org/proper/commons-lang/" url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang-2.6-bin.tar.gz" version('2.6', sha256='ff6a244bb71a9a1c859e81cb744d0ce698c20e04f13a7ef7dbffb99c8122752c') diff --git a/var/spack/repos/builtin/packages/commons-lang3/package.py b/var/spack/repos/builtin/packages/commons-lang3/package.py index 6d1a9b7b1f3..7d16e85e5a6 100644 --- a/var/spack/repos/builtin/packages/commons-lang3/package.py +++ b/var/spack/repos/builtin/packages/commons-lang3/package.py @@ -18,7 +18,7 @@ class CommonsLang3(Package): dedicated to help with building methods, such as hashCode, toString and equals.""" - homepage = "http://commons.apache.org/proper/commons-lang/" + homepage = "https://commons.apache.org/proper/commons-lang/" url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang3-3.7-bin.tar.gz" version('3.7', sha256='94dc8289ce90b77b507d9257784d9a43b402786de40c164f6e3990e221a2a4d2') diff --git a/var/spack/repos/builtin/packages/commons-logging/package.py b/var/spack/repos/builtin/packages/commons-logging/package.py index b42fc3797e5..4416e4fea1f 100644 --- a/var/spack/repos/builtin/packages/commons-logging/package.py +++ b/var/spack/repos/builtin/packages/commons-logging/package.py @@ -18,7 +18,7 @@ class CommonsLogging(Package): support for a number of popular logging implementations, and writing adapters for others is a reasonably simple task.""" - homepage = "http://commons.apache.org/proper/commons-logging/" + homepage = "https://commons.apache.org/proper/commons-logging/" url = "http://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin.tar.gz" version('1.2', sha256='3f758805c7290d9c6d22d1451587c9f7232744aef4c984e88aa683cdea0587bd') diff --git a/var/spack/repos/builtin/packages/conduit/package.py b/var/spack/repos/builtin/packages/conduit/package.py index 4ff384b9ae1..d8fa4fa2596 100644 --- a/var/spack/repos/builtin/packages/conduit/package.py +++ b/var/spack/repos/builtin/packages/conduit/package.py @@ -33,7 +33,7 @@ class Conduit(CMakePackage): scientific data in C++, C, Fortran, and Python. It is used for data coupling between packages in-core, serialization, and I/O tasks.""" - homepage = "http://software.llnl.gov/conduit" + homepage = "https://software.llnl.gov/conduit" url = "https://github.com/LLNL/conduit/releases/download/v0.3.0/conduit-v0.3.0-src-with-blt.tar.gz" git = "https://github.com/LLNL/conduit.git" diff --git a/var/spack/repos/builtin/packages/constype/package.py b/var/spack/repos/builtin/packages/constype/package.py index f018727d1c0..a58e3dfdf82 100644 --- a/var/spack/repos/builtin/packages/constype/package.py +++ b/var/spack/repos/builtin/packages/constype/package.py @@ -13,7 +13,7 @@ class Constype(AutotoolsPackage, XorgPackage): It was originally written for SunOS, but has been ported to other SPARC OS'es and to Solaris on both SPARC & x86.""" - homepage = "http://cgit.freedesktop.org/xorg/app/constype" + homepage = "https://cgit.freedesktop.org/xorg/app/constype" xorg_mirror_path = "app/constype-1.0.4.tar.gz" version('1.0.4', sha256='ec09aff369cf1d527fd5b8075fb4dd0ecf89d905190cf1a0a0145d5e523f913d') diff --git a/var/spack/repos/builtin/packages/coreutils/package.py b/var/spack/repos/builtin/packages/coreutils/package.py index e5dab499e3f..fb1aed063a8 100644 --- a/var/spack/repos/builtin/packages/coreutils/package.py +++ b/var/spack/repos/builtin/packages/coreutils/package.py @@ -13,7 +13,7 @@ class Coreutils(AutotoolsPackage, GNUMirrorPackage): operating system. """ - homepage = 'http://www.gnu.org/software/coreutils/' + homepage = 'https://www.gnu.org/software/coreutils/' gnu_mirror_path = 'coreutils/coreutils-8.26.tar.xz' version('8.32', sha256='4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa') diff --git a/var/spack/repos/builtin/packages/cosmomc/package.py b/var/spack/repos/builtin/packages/cosmomc/package.py index edfdbdb180d..ea4ddf5f4be 100644 --- a/var/spack/repos/builtin/packages/cosmomc/package.py +++ b/var/spack/repos/builtin/packages/cosmomc/package.py @@ -17,7 +17,7 @@ class Cosmomc(Package): importance sampling (plus a suite of scripts for building grids of runs, plotting and presenting results).""" - homepage = "http://cosmologist.info/cosmomc/" + homepage = "https://cosmologist.info/cosmomc/" url = "https://github.com/cmbant/CosmoMC/archive/Nov2016.tar.gz" version('2016.11', sha256='b83edbf043ff83a4dde9bc14c56a09737dbc41ffe247a8e9c9a26892ed8745ba') diff --git a/var/spack/repos/builtin/packages/cppzmq/package.py b/var/spack/repos/builtin/packages/cppzmq/package.py index 5babf89a0ef..77367f6ef2f 100644 --- a/var/spack/repos/builtin/packages/cppzmq/package.py +++ b/var/spack/repos/builtin/packages/cppzmq/package.py @@ -9,7 +9,7 @@ class Cppzmq(CMakePackage): """C++ binding for 0MQ""" - homepage = "http://www.zeromq.org" + homepage = "https://www.zeromq.org" url = "https://github.com/zeromq/cppzmq/archive/v4.2.2.tar.gz" git = "https://github.com/zeromq/cppzmq.git" diff --git a/var/spack/repos/builtin/packages/cromwell/package.py b/var/spack/repos/builtin/packages/cromwell/package.py index 838ea39fe53..2c6ccc67d3a 100644 --- a/var/spack/repos/builtin/packages/cromwell/package.py +++ b/var/spack/repos/builtin/packages/cromwell/package.py @@ -13,7 +13,7 @@ class Cromwell(Package): workflows. """ - homepage = "http://cromwell.readthedocs.io/" + homepage = "https://cromwell.readthedocs.io/" url = "https://github.com/broadinstitute/cromwell/releases/download/44/cromwell-44.jar" version('44', sha256='8b411673f6b3c835c6031db3094a7404b9a371133794046fd295719d61e56db0', expand=False) diff --git a/var/spack/repos/builtin/packages/cryptopp/package.py b/var/spack/repos/builtin/packages/cryptopp/package.py index aecfcb24835..769593e9428 100644 --- a/var/spack/repos/builtin/packages/cryptopp/package.py +++ b/var/spack/repos/builtin/packages/cryptopp/package.py @@ -13,7 +13,7 @@ class Cryptopp(MakefilePackage): public-key encryption (RSA, DSA), and a few obsolete/historical encryption algorithms (MD5, Panama).""" - homepage = "http://www.cryptopp.com" + homepage = "https://www.cryptopp.com" url = "http://www.cryptopp.com/cryptopp700.zip" version('7.0.0', sha256='a4bc939910edd3d29fb819a6fc0dfdc293f686fa62326f61c56d72d0a366ceb0') diff --git a/var/spack/repos/builtin/packages/cube/package.py b/var/spack/repos/builtin/packages/cube/package.py index e0f639cc9d0..1d1107d055b 100644 --- a/var/spack/repos/builtin/packages/cube/package.py +++ b/var/spack/repos/builtin/packages/cube/package.py @@ -14,7 +14,7 @@ class Cube(AutotoolsPackage): - system resource """ - homepage = "http://www.scalasca.org/software/cube-4.x/download.html" + homepage = "https://www.scalasca.org/software/cube-4.x/download.html" url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubegui-4.4.2.tar.gz" version('4.6', sha256='1871c6736121d94a22314cb5daa8f3cbb978b58bfe54f677c4c9c9693757d0c5') diff --git a/var/spack/repos/builtin/packages/cubelib/package.py b/var/spack/repos/builtin/packages/cubelib/package.py index 84b45529c10..c124e82b40a 100644 --- a/var/spack/repos/builtin/packages/cubelib/package.py +++ b/var/spack/repos/builtin/packages/cubelib/package.py @@ -9,7 +9,7 @@ class Cubelib(AutotoolsPackage): """Component of CubeBundle: General purpose C++ library and tools """ - homepage = "http://www.scalasca.org/software/cube-4.x/download.html" + homepage = "https://www.scalasca.org/software/cube-4.x/download.html" url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubelib-4.4.tar.gz" version('4.6', sha256='36eaffa7688db8b9304c9e48ca5dc4edc2cb66538aaf48657b9b5ccd7979385b') diff --git a/var/spack/repos/builtin/packages/cubew/package.py b/var/spack/repos/builtin/packages/cubew/package.py index 412af61d0d3..32972886a80 100644 --- a/var/spack/repos/builtin/packages/cubew/package.py +++ b/var/spack/repos/builtin/packages/cubew/package.py @@ -9,7 +9,7 @@ class Cubew(AutotoolsPackage): """Component of CubeBundle: High performance C Writer library """ - homepage = "http://www.scalasca.org/software/cube-4.x/download.html" + homepage = "https://www.scalasca.org/software/cube-4.x/download.html" url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubew-4.4.tar.gz" version('4.6', sha256='99fe58ce7ab13061ebfbc360aedaecc28099a30636c5269a42c0cbaf57149aa8') diff --git a/var/spack/repos/builtin/packages/cufflinks/package.py b/var/spack/repos/builtin/packages/cufflinks/package.py index 1b9566e22f0..514ecb54654 100644 --- a/var/spack/repos/builtin/packages/cufflinks/package.py +++ b/var/spack/repos/builtin/packages/cufflinks/package.py @@ -10,7 +10,7 @@ class Cufflinks(Package): """Cufflinks assembles transcripts, estimates their abundances, and tests for differential expression and regulation in RNA-Seq samples.""" - homepage = "http://cole-trapnell-lab.github.io/cufflinks" + homepage = "https://cole-trapnell-lab.github.io/cufflinks" url = "http://cole-trapnell-lab.github.io/cufflinks/assets/downloads/cufflinks-2.2.1.Linux_x86_64.tar.gz" version('2.2.1', sha256='39f812452cae26462e5d2671d38104d9e8ef30aaf9ab6dea8ca57f50f46448e4') diff --git a/var/spack/repos/builtin/packages/cvs/package.py b/var/spack/repos/builtin/packages/cvs/package.py index a6fef2ef0ac..377da2c85f0 100644 --- a/var/spack/repos/builtin/packages/cvs/package.py +++ b/var/spack/repos/builtin/packages/cvs/package.py @@ -9,7 +9,7 @@ class Cvs(AutotoolsPackage, GNUMirrorPackage): """CVS a very traditional source control system""" - homepage = "http://www.nongnu.org/cvs/" + homepage = "https://www.nongnu.org/cvs/" gnu_mirror_path = "non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2" version('1.12.13', sha256='78853613b9a6873a30e1cc2417f738c330e75f887afdaf7b3d0800cb19ca515e') diff --git a/var/spack/repos/builtin/packages/darshan-runtime/package.py b/var/spack/repos/builtin/packages/darshan-runtime/package.py index 5f4a84d0d29..423ba1888ed 100644 --- a/var/spack/repos/builtin/packages/darshan-runtime/package.py +++ b/var/spack/repos/builtin/packages/darshan-runtime/package.py @@ -15,7 +15,7 @@ class DarshanRuntime(AutotoolsPackage): minimum overhead. DarshanRuntime package should be installed on systems where you intend to instrument MPI applications.""" - homepage = "http://www.mcs.anl.gov/research/projects/darshan/" + homepage = "https://www.mcs.anl.gov/research/projects/darshan/" url = "http://ftp.mcs.anl.gov/pub/darshan/releases/darshan-3.1.0.tar.gz" git = "https://github.com/darshan-hpc/darshan.git" diff --git a/var/spack/repos/builtin/packages/darshan-util/package.py b/var/spack/repos/builtin/packages/darshan-util/package.py index 8ca7915e31a..6a4348bb756 100644 --- a/var/spack/repos/builtin/packages/darshan-util/package.py +++ b/var/spack/repos/builtin/packages/darshan-util/package.py @@ -12,7 +12,7 @@ class DarshanUtil(AutotoolsPackage): typically installed on systems (front-end) where you intend to analyze log files produced by Darshan (runtime).""" - homepage = "http://www.mcs.anl.gov/research/projects/darshan/" + homepage = "https://www.mcs.anl.gov/research/projects/darshan/" url = "http://ftp.mcs.anl.gov/pub/darshan/releases/darshan-3.1.0.tar.gz" git = "https://github.com/darshan-hpc/darshan.git" diff --git a/var/spack/repos/builtin/packages/dateutils/package.py b/var/spack/repos/builtin/packages/dateutils/package.py index 58b5e02fce3..b81eedb6c8c 100644 --- a/var/spack/repos/builtin/packages/dateutils/package.py +++ b/var/spack/repos/builtin/packages/dateutils/package.py @@ -10,7 +10,7 @@ class Dateutils(AutotoolsPackage): and times in the command line with a strong focus on use cases that arise when dealing with large amounts of financial data.""" - homepage = "http://www.fresse.org/dateutils/" + homepage = "https://www.fresse.org/dateutils/" url = "https://github.com/hroptatyr/dateutils/releases/download/v0.4.6/dateutils-0.4.6.tar.xz" version('0.4.7', sha256='49725457f5bef45ea424baade8999a6e54496e357f64280474ff7134a54f599a') diff --git a/var/spack/repos/builtin/packages/debugedit/package.py b/var/spack/repos/builtin/packages/debugedit/package.py index 2de86c648fa..f74eb9f683d 100644 --- a/var/spack/repos/builtin/packages/debugedit/package.py +++ b/var/spack/repos/builtin/packages/debugedit/package.py @@ -14,7 +14,7 @@ class Debugedit(AutotoolsPackage): as its own separate project and is maintained by RedHat. """ - homepage = "http://www.sourceware.org/debugedit/" + homepage = "https://www.sourceware.org/debugedit/" git = "git://sourceware.org/git/debugedit.git" url = "https://sourceware.org/ftp/debugedit/0.2/debugedit-0.2.tar.xz" diff --git a/var/spack/repos/builtin/packages/dialign-tx/package.py b/var/spack/repos/builtin/packages/dialign-tx/package.py index 173532cf375..00b316c04bf 100644 --- a/var/spack/repos/builtin/packages/dialign-tx/package.py +++ b/var/spack/repos/builtin/packages/dialign-tx/package.py @@ -10,7 +10,7 @@ class DialignTx(MakefilePackage): """DIALIGN-TX: greedy and progressive approaches for segment-based multiple sequence alignment""" - homepage = "http://dialign-tx.gobics.de/" + homepage = "https://dialign-tx.gobics.de/" url = "http://dialign-tx.gobics.de/DIALIGN-TX_1.0.2.tar.gz" version('1.0.2', sha256='fb3940a48a12875332752a298f619f0da62593189cd257d28932463c7cebcb8f') diff --git a/var/spack/repos/builtin/packages/dire/package.py b/var/spack/repos/builtin/packages/dire/package.py index deb7be82264..8b88fc53638 100644 --- a/var/spack/repos/builtin/packages/dire/package.py +++ b/var/spack/repos/builtin/packages/dire/package.py @@ -11,7 +11,7 @@ class Dire(Package): radiative corrections to scattering processes in high-energy particle collisions.""" - homepage = "http://dire.gitlab.io/" + homepage = "https://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" diff --git a/var/spack/repos/builtin/packages/dislin/package.py b/var/spack/repos/builtin/packages/dislin/package.py index 528dbeda8d2..a62211869c9 100644 --- a/var/spack/repos/builtin/packages/dislin/package.py +++ b/var/spack/repos/builtin/packages/dislin/package.py @@ -11,7 +11,7 @@ class Dislin(Package): data as curves, bar graphs, pie charts, 3D-colour plots, surfaces, contours and maps.""" - homepage = "http://www.mps.mpg.de/dislin" + homepage = "https://www.mps.mpg.de/dislin" url = "ftp://ftp.gwdg.de/pub/grafik/dislin/linux/i586_64/dislin-11.0.linux.i586_64.tar.gz" version('11.0', sha256='13d28188924e0b0b803d72aa4b48be4067e98e890701b0aa6f54a11c7d34dd10') diff --git a/var/spack/repos/builtin/packages/dnsmasq/package.py b/var/spack/repos/builtin/packages/dnsmasq/package.py index 7b1dc85122b..73ada9e0272 100644 --- a/var/spack/repos/builtin/packages/dnsmasq/package.py +++ b/var/spack/repos/builtin/packages/dnsmasq/package.py @@ -9,7 +9,7 @@ class Dnsmasq(MakefilePackage): """A lightweight, caching DNS proxy with integrated DHCP server.""" - homepage = "http://www.thekelleys.org.uk/dnsmasq/doc.html" + homepage = "https://www.thekelleys.org.uk/dnsmasq/doc.html" url = "http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.70.tar.gz" version('2.81', sha256='3c28c68c6c2967c3a96e9b432c0c046a5df17a426d3a43cffe9e693cf05804d0') diff --git a/var/spack/repos/builtin/packages/drill/package.py b/var/spack/repos/builtin/packages/drill/package.py index d2ecb83ebcb..aa3df5fb0e4 100644 --- a/var/spack/repos/builtin/packages/drill/package.py +++ b/var/spack/repos/builtin/packages/drill/package.py @@ -13,7 +13,7 @@ class Drill(Package): systems. """ - homepage = "http://drill.apache.org/" + homepage = "https://drill.apache.org/" url = "https://www-eu.apache.org/dist/drill/drill-1.17.0/apache-drill-1.17.0.tar.gz" version('1.17.0', sha256='a3d2d544bcc32b915fb53fced0f982670bd6fe2abd764423e566a5f6b54debf1') diff --git a/var/spack/repos/builtin/packages/ds/package.py b/var/spack/repos/builtin/packages/ds/package.py index de3d613fdae..242c6460b71 100644 --- a/var/spack/repos/builtin/packages/ds/package.py +++ b/var/spack/repos/builtin/packages/ds/package.py @@ -12,7 +12,7 @@ class Ds(AutotoolsPackage): """SAOImage DS9 is an astronomical imaging and data visualization application.""" - homepage = "http://ds9.si.edu/" + homepage = "https://ds9.si.edu/" url = "http://ds9.si.edu/download/source/ds9.8.0.tar.gz" version('9.8.0', sha256='f3bdb46c1653997202f98c6f76632a4eb444707f4b64c14f8b96863d9c890304') diff --git a/var/spack/repos/builtin/packages/ea-utils/package.py b/var/spack/repos/builtin/packages/ea-utils/package.py index bdd1c09ee82..25bc936b195 100644 --- a/var/spack/repos/builtin/packages/ea-utils/package.py +++ b/var/spack/repos/builtin/packages/ea-utils/package.py @@ -11,7 +11,7 @@ class EaUtils(MakefilePackage): demultiplexing, adapter trimming, etc. Primarily written to support an Illumina based pipeline - but should work with any FASTQs.""" - homepage = "http://expressionanalysis.github.io/ea-utils/" + homepage = "https://expressionanalysis.github.io/ea-utils/" url = "https://github.com/ExpressionAnalysis/ea-utils/archive/1.04.807.tar.gz" version('1.04.807', sha256='aa09d25e6aa7ae71d2ce4198a98e58d563f151f8ff248e4602fa437f12b8d05f') diff --git a/var/spack/repos/builtin/packages/editres/package.py b/var/spack/repos/builtin/packages/editres/package.py index 1e442a2734e..00575e451f5 100644 --- a/var/spack/repos/builtin/packages/editres/package.py +++ b/var/spack/repos/builtin/packages/editres/package.py @@ -9,7 +9,7 @@ class Editres(AutotoolsPackage, XorgPackage): """Dynamic resource editor for X Toolkit applications.""" - homepage = "http://cgit.freedesktop.org/xorg/app/editres" + homepage = "https://cgit.freedesktop.org/xorg/app/editres" xorg_mirror_path = "app/editres-1.0.6.tar.gz" version('1.0.6', sha256='85f4664ca582effb01ee972d006124569b757b9a08ae6608c3f45fc36b3b7b1a') diff --git a/var/spack/repos/builtin/packages/eigen/package.py b/var/spack/repos/builtin/packages/eigen/package.py index 77ef08f2e81..94cc406154f 100644 --- a/var/spack/repos/builtin/packages/eigen/package.py +++ b/var/spack/repos/builtin/packages/eigen/package.py @@ -9,7 +9,7 @@ class Eigen(CMakePackage): vectors, numerical solvers, and related algorithms. """ - homepage = 'http://eigen.tuxfamily.org/' + homepage = 'https://eigen.tuxfamily.org/' url = 'https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz' maintainers = ['HaoZeke'] diff --git a/var/spack/repos/builtin/packages/ember/package.py b/var/spack/repos/builtin/packages/ember/package.py index 1952b18191f..4d6b010706f 100644 --- a/var/spack/repos/builtin/packages/ember/package.py +++ b/var/spack/repos/builtin/packages/ember/package.py @@ -16,7 +16,7 @@ class Ember(MakefilePackage): tags = ['proxy-app', 'ecp-proxy-app'] - homepage = "http://sst-simulator.org/SSTPages/SSTElementEmber/" + homepage = "https://sst-simulator.org/SSTPages/SSTElementEmber/" git = "https://github.com/sstsimulator/ember.git" url = "https://github.com/sstsimulator/ember/archive/v1.0.0.tar.gz" diff --git a/var/spack/repos/builtin/packages/eospac/package.py b/var/spack/repos/builtin/packages/eospac/package.py index c5ee2d94df1..19434c1b789 100644 --- a/var/spack/repos/builtin/packages/eospac/package.py +++ b/var/spack/repos/builtin/packages/eospac/package.py @@ -12,7 +12,7 @@ class Eospac(Package): library. """ - homepage = "http://laws.lanl.gov/projects/data/eos.html" + homepage = "https://laws.lanl.gov/projects/data/eos.html" list_url = "http://laws.lanl.gov/projects/data/eos/eospacReleases.php" maintainers = ['KineticTheory'] diff --git a/var/spack/repos/builtin/packages/es-shell/package.py b/var/spack/repos/builtin/packages/es-shell/package.py index c3093d30cd0..23bec563f5a 100644 --- a/var/spack/repos/builtin/packages/es-shell/package.py +++ b/var/spack/repos/builtin/packages/es-shell/package.py @@ -13,7 +13,7 @@ class EsShell(AutotoolsPackage): implementation is derived from Byron Rakitzis's public domain implementation of rc.""" - homepage = "http://wryun.github.io/es-shell/" + homepage = "https://wryun.github.io/es-shell/" url = "https://github.com/wryun/es-shell/releases/download/v0.9.1/es-0.9.1.tar.gz" version('0.9.1', sha256='b0b41fce99b122a173a06b899a4d92e5bd3cc48b227b2736159f596a58fff4ba') diff --git a/var/spack/repos/builtin/packages/evieext/package.py b/var/spack/repos/builtin/packages/evieext/package.py index 2725549ad28..72151340368 100644 --- a/var/spack/repos/builtin/packages/evieext/package.py +++ b/var/spack/repos/builtin/packages/evieext/package.py @@ -12,7 +12,7 @@ class Evieext(AutotoolsPackage, XorgPackage): This extension defines a protocol for a client to determine information about core X visuals beyond what the core protocol provides.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/evieproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/evieproto" xorg_mirror_path = "proto/evieext-1.1.1.tar.gz" version('1.1.1', sha256='e58080443c279dfb5a23c37076922df535e42bf209d21a1f3e88442cc01b4a0e') diff --git a/var/spack/repos/builtin/packages/eztrace/package.py b/var/spack/repos/builtin/packages/eztrace/package.py index 7c17cf51ac2..0acd95483df 100644 --- a/var/spack/repos/builtin/packages/eztrace/package.py +++ b/var/spack/repos/builtin/packages/eztrace/package.py @@ -10,7 +10,7 @@ class Eztrace(AutotoolsPackage): """EZTrace is a tool to automatically generate execution traces of HPC applications.""" - homepage = "http://eztrace.gforge.inria.fr" + homepage = "https://eztrace.gforge.inria.fr" url = "https://gitlab.com/eztrace/eztrace/-/archive/eztrace-1.1-10/eztrace-eztrace-1.1-10.tar.gz" maintainers = ['trahay'] diff --git a/var/spack/repos/builtin/packages/f77-zmq/package.py b/var/spack/repos/builtin/packages/f77-zmq/package.py index 655a1e0f04c..0a2bd0965ea 100644 --- a/var/spack/repos/builtin/packages/f77-zmq/package.py +++ b/var/spack/repos/builtin/packages/f77-zmq/package.py @@ -11,7 +11,7 @@ class F77Zmq(MakefilePackage): """Fortran binding for the ZeroMQ communication library""" - homepage = "http://zguide.zeromq.org/" + homepage = "https://zguide.zeromq.org/" url = "https://github.com/zeromq/f77_zmq/archive/4.3.1.tar.gz" maintainers = ['scemama'] diff --git a/var/spack/repos/builtin/packages/fabtests/package.py b/var/spack/repos/builtin/packages/fabtests/package.py index 84953203c23..4793be72632 100644 --- a/var/spack/repos/builtin/packages/fabtests/package.py +++ b/var/spack/repos/builtin/packages/fabtests/package.py @@ -10,7 +10,7 @@ class Fabtests(AutotoolsPackage): """Fabtests provides a set of runtime analysis tools and examples that use libfabric.""" - homepage = "http://libfabric.org" + homepage = "https://libfabric.org" url = "https://github.com/ofiwg/libfabric/releases/download/v1.9.1/fabtests-1.9.1.tar.bz2" version('1.9.1', sha256='6f8ced2c6b3514759a0e177c8b2a19125e4ef0714d4cc0fe0386b33bd6cd5585') diff --git a/var/spack/repos/builtin/packages/fann/package.py b/var/spack/repos/builtin/packages/fann/package.py index ded2446a706..113370543cf 100644 --- a/var/spack/repos/builtin/packages/fann/package.py +++ b/var/spack/repos/builtin/packages/fann/package.py @@ -20,7 +20,7 @@ class Fann(CMakePackage): interfaces are also available for the library. """ - homepage = "http://leenissen.dk/fann/wp/" + homepage = "https://leenissen.dk/fann/wp/" url = "https://github.com/libfann/fann/archive/2.2.0.tar.gz" version('2.2.0', sha256='f31c92c1589996f97d855939b37293478ac03d24b4e1c08ff21e0bd093449c3c') diff --git a/var/spack/repos/builtin/packages/fastjar/package.py b/var/spack/repos/builtin/packages/fastjar/package.py index acb4ea86154..5e941e3769c 100644 --- a/var/spack/repos/builtin/packages/fastjar/package.py +++ b/var/spack/repos/builtin/packages/fastjar/package.py @@ -9,7 +9,7 @@ class Fastjar(AutotoolsPackage): """Fastjar is a version of Sun's 'jar' utility, written entirely in C.""" - homepage = "http://savannah.nongnu.org/projects/fastjar/" + homepage = "https://savannah.nongnu.org/projects/fastjar/" url = "http://download.savannah.gnu.org/releases/fastjar/fastjar-0.98.tar.gz" version('0.98', sha256='f156abc5de8658f22ee8f08d7a72c88f9409ebd8c7933e9466b0842afeb2f145') diff --git a/var/spack/repos/builtin/packages/fastphase/package.py b/var/spack/repos/builtin/packages/fastphase/package.py index ebeccfc31a7..fea15bed371 100644 --- a/var/spack/repos/builtin/packages/fastphase/package.py +++ b/var/spack/repos/builtin/packages/fastphase/package.py @@ -10,7 +10,7 @@ class Fastphase(Package): """Software for haplotype reconstruction, and estimating missing genotypes from population data.""" - homepage = "http://stephenslab.uchicago.edu/software.html" + homepage = "https://stephenslab.uchicago.edu/software.html" url = "http://scheet.org/code/Linuxfp.tar.gz" version('2016-03-30', sha256='f0762eaae38b276bccb567d1519fa19bf35fd4078e57cbf13c7d7054150c4f36') diff --git a/var/spack/repos/builtin/packages/fastqvalidator/package.py b/var/spack/repos/builtin/packages/fastqvalidator/package.py index 250795c5550..ce5ce2a542b 100644 --- a/var/spack/repos/builtin/packages/fastqvalidator/package.py +++ b/var/spack/repos/builtin/packages/fastqvalidator/package.py @@ -9,7 +9,7 @@ class Fastqvalidator(MakefilePackage): """The fastQValidator validates the format of fastq files.""" - homepage = "http://genome.sph.umich.edu/wiki/FastQValidator" + homepage = "https://genome.sph.umich.edu/wiki/FastQValidator" git = "https://github.com/statgen/fastQValidator.git" version('2017-01-10', commit='6d619a34749e9d33c34ef0d3e0e87324ca77f320') diff --git a/var/spack/repos/builtin/packages/ferret/package.py b/var/spack/repos/builtin/packages/ferret/package.py index c7a92339b03..7131b78332e 100644 --- a/var/spack/repos/builtin/packages/ferret/package.py +++ b/var/spack/repos/builtin/packages/ferret/package.py @@ -13,7 +13,7 @@ class Ferret(Package): """Ferret is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets.""" - homepage = "http://ferret.pmel.noaa.gov/Ferret/home" + homepage = "https://ferret.pmel.noaa.gov/Ferret/home" url = "https://github.com/NOAA-PMEL/Ferret/archive/v7.6.0.tar.gz" maintainers = ['RemiLacroix-IDRIS'] diff --git a/var/spack/repos/builtin/packages/fftw/package.py b/var/spack/repos/builtin/packages/fftw/package.py index 2fdf1624ba3..b791f9eec1b 100644 --- a/var/spack/repos/builtin/packages/fftw/package.py +++ b/var/spack/repos/builtin/packages/fftw/package.py @@ -207,7 +207,7 @@ class Fftw(FftwBase): believe that FFTW, which is free software, should become the FFT library of choice for most applications.""" - homepage = "http://www.fftw.org" + homepage = "https://www.fftw.org" url = "http://www.fftw.org/fftw-3.3.4.tar.gz" list_url = "http://www.fftw.org/download.html" diff --git a/var/spack/repos/builtin/packages/file/package.py b/var/spack/repos/builtin/packages/file/package.py index 13d1b59ec13..7a19fd1d261 100644 --- a/var/spack/repos/builtin/packages/file/package.py +++ b/var/spack/repos/builtin/packages/file/package.py @@ -12,7 +12,7 @@ class File(AutotoolsPackage): """The file command is "a file type guesser", that is, a command-line tool that tells you in words what kind of data a file contains""" - homepage = "http://www.darwinsys.com/file/" + homepage = "https://www.darwinsys.com/file/" url = "https://astron.com/pub/file/file-5.37.tar.gz" version('5.40', sha256='167321f43c148a553f68a0ea7f579821ef3b11c27b8cbe158e4df897e4a5dd57') diff --git a/var/spack/repos/builtin/packages/flatbuffers/package.py b/var/spack/repos/builtin/packages/flatbuffers/package.py index 35a36b35b9e..3c4e4647270 100644 --- a/var/spack/repos/builtin/packages/flatbuffers/package.py +++ b/var/spack/repos/builtin/packages/flatbuffers/package.py @@ -10,7 +10,7 @@ class Flatbuffers(CMakePackage): """Memory Efficient Serialization Library """ - homepage = "http://google.github.io/flatbuffers/" + homepage = "https://google.github.io/flatbuffers/" url = "https://github.com/google/flatbuffers/archive/v1.9.0.tar.gz" version('1.12.0', sha256='62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45') diff --git a/var/spack/repos/builtin/packages/flint/package.py b/var/spack/repos/builtin/packages/flint/package.py index d6383b4a839..33ac3bdeb59 100644 --- a/var/spack/repos/builtin/packages/flint/package.py +++ b/var/spack/repos/builtin/packages/flint/package.py @@ -9,7 +9,7 @@ class Flint(Package): """FLINT (Fast Library for Number Theory).""" - homepage = "http://www.flintlib.org" + homepage = "https://www.flintlib.org" url = "http://mirrors.mit.edu/sage/spkg/upstream/flint/flint-2.5.2.tar.gz" git = "https://github.com/wbhart/flint2.git" diff --git a/var/spack/repos/builtin/packages/fontcacheproto/package.py b/var/spack/repos/builtin/packages/fontcacheproto/package.py index cde060b19a2..7b3043ab0c5 100644 --- a/var/spack/repos/builtin/packages/fontcacheproto/package.py +++ b/var/spack/repos/builtin/packages/fontcacheproto/package.py @@ -9,7 +9,7 @@ class Fontcacheproto(AutotoolsPackage, XorgPackage): """X.org FontcacheProto protocol headers.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/fontcacheproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/fontcacheproto" xorg_mirror_path = "proto/fontcacheproto-0.1.3.tar.gz" version('0.1.3', sha256='759b4863b55a25bfc8f977d8ed969da0b99b3c823f33c674d6da5825f9df9a79') diff --git a/var/spack/repos/builtin/packages/fontconfig/package.py b/var/spack/repos/builtin/packages/fontconfig/package.py index 7012dce256e..5369b253e14 100644 --- a/var/spack/repos/builtin/packages/fontconfig/package.py +++ b/var/spack/repos/builtin/packages/fontconfig/package.py @@ -8,7 +8,7 @@ class Fontconfig(AutotoolsPackage): """Fontconfig is a library for configuring/customizing font access""" - homepage = "http://www.freedesktop.org/wiki/Software/fontconfig/" + homepage = "https://www.freedesktop.org/wiki/Software/fontconfig/" url = "http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.12.3.tar.gz" version('2.13.93', sha256='0f302a18ee52dde0793fe38b266bf269dfe6e0c0ae140e30d72c6cca5dc08db5') diff --git a/var/spack/repos/builtin/packages/freexl/package.py b/var/spack/repos/builtin/packages/freexl/package.py index 3afd530c2bb..4def8ab71c1 100644 --- a/var/spack/repos/builtin/packages/freexl/package.py +++ b/var/spack/repos/builtin/packages/freexl/package.py @@ -10,7 +10,7 @@ class Freexl(AutotoolsPackage): """FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet.""" - homepage = "http://www.gaia-gis.it" + homepage = "https://www.gaia-gis.it" url = "http://www.gaia-gis.it/gaia-sins/freexl-1.0.5.tar.gz" version('1.0.5', sha256='3dc9b150d218b0e280a3d6a41d93c1e45f4d7155829d75f1e5bf3e0b0de6750d') diff --git a/var/spack/repos/builtin/packages/fslsfonts/package.py b/var/spack/repos/builtin/packages/fslsfonts/package.py index 5a261b229e1..b22e4bed491 100644 --- a/var/spack/repos/builtin/packages/fslsfonts/package.py +++ b/var/spack/repos/builtin/packages/fslsfonts/package.py @@ -9,7 +9,7 @@ class Fslsfonts(AutotoolsPackage, XorgPackage): """fslsfonts produces a list of fonts served by an X font server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/fslsfonts" + homepage = "https://cgit.freedesktop.org/xorg/app/fslsfonts" xorg_mirror_path = "app/fslsfonts-1.0.5.tar.gz" version('1.0.5', sha256='27e58d2313835ce0f08cf47c59a43798b122f605a55f54b170db27b57a492007') diff --git a/var/spack/repos/builtin/packages/fstobdf/package.py b/var/spack/repos/builtin/packages/fstobdf/package.py index 62d4d93a702..9bddbca2fa1 100644 --- a/var/spack/repos/builtin/packages/fstobdf/package.py +++ b/var/spack/repos/builtin/packages/fstobdf/package.py @@ -12,7 +12,7 @@ class Fstobdf(AutotoolsPackage, XorgPackage): This is useful in testing servers, debugging font metrics, and reproducing lost BDF files.""" - homepage = "http://cgit.freedesktop.org/xorg/app/fstobdf" + homepage = "https://cgit.freedesktop.org/xorg/app/fstobdf" xorg_mirror_path = "app/fstobdf-1.0.6.tar.gz" version('1.0.6', sha256='bb903ae76cbcb0a08a71f06762b64db7d5c2064f6e88e8dc3a604e76d0bcb93d') diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py index 6337fba59f6..52e099fc407 100644 --- a/var/spack/repos/builtin/packages/gaudi/package.py +++ b/var/spack/repos/builtin/packages/gaudi/package.py @@ -9,7 +9,7 @@ class Gaudi(CMakePackage): """An experiment-independent HEP event data processing framework""" - homepage = "http://gaudi.web.cern.ch/gaudi/" + homepage = "https://gaudi.web.cern.ch/gaudi/" git = "https://gitlab.cern.ch/gaudi/Gaudi.git" url = "https://gitlab.cern.ch/gaudi/Gaudi/-/archive/v33r1/Gaudi-v33r1.tar.gz" diff --git a/var/spack/repos/builtin/packages/gccxml/package.py b/var/spack/repos/builtin/packages/gccxml/package.py index 72ea0799851..effc2ec2799 100644 --- a/var/spack/repos/builtin/packages/gccxml/package.py +++ b/var/spack/repos/builtin/packages/gccxml/package.py @@ -10,7 +10,7 @@ class Gccxml(CMakePackage): """gccxml dumps an XML description of C++ source code using an extension of the GCC C++ compiler.""" - homepage = "http://gccxml.github.io" + homepage = "https://gccxml.github.io" git = "https://github.com/gccxml/gccxml.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/gcta/package.py b/var/spack/repos/builtin/packages/gcta/package.py index 33748d15272..4220a8c9264 100644 --- a/var/spack/repos/builtin/packages/gcta/package.py +++ b/var/spack/repos/builtin/packages/gcta/package.py @@ -14,7 +14,7 @@ class Gcta(Package): for many other analyses to better understand the genetic architecture of complex traits. GCTA currently supports the following analyses.""" - homepage = "http://cnsgenomics.com/software/gcta/#Overview" + homepage = "https://cnsgenomics.com/software/gcta/#Overview" url = "http://cnsgenomics.com/software/gcta/gcta_1.91.2beta.zip" version('1.91.2beta_mac', 'ce0882ad35dd9474ffe40911da369274700af1ecb9916c0a355b7bad14850234') diff --git a/var/spack/repos/builtin/packages/gl2ps/package.py b/var/spack/repos/builtin/packages/gl2ps/package.py index b6267af6164..1909d6fc4bd 100644 --- a/var/spack/repos/builtin/packages/gl2ps/package.py +++ b/var/spack/repos/builtin/packages/gl2ps/package.py @@ -10,7 +10,7 @@ class Gl2ps(CMakePackage): """GL2PS is a C library providing high quality vector output for any OpenGL application.""" - homepage = "http://www.geuz.org/gl2ps/" + homepage = "https://www.geuz.org/gl2ps/" url = "http://geuz.org/gl2ps/src/gl2ps-1.3.9.tgz" version('1.4.0', sha256='03cb5e6dfcd87183f3b9ba3b22f04cd155096af81e52988cc37d8d8efe6cf1e2') diff --git a/var/spack/repos/builtin/packages/global/package.py b/var/spack/repos/builtin/packages/global/package.py index 1d078b21fab..aa66e2d91ce 100644 --- a/var/spack/repos/builtin/packages/global/package.py +++ b/var/spack/repos/builtin/packages/global/package.py @@ -11,7 +11,7 @@ class Global(Package): """ The Gnu Global tagging system """ - homepage = "http://www.gnu.org/software/global" + homepage = "https://www.gnu.org/software/global" url = "http://tamacom.com/global/global-6.5.tar.gz" maintainers = ['gaber'] diff --git a/var/spack/repos/builtin/packages/globalarrays/package.py b/var/spack/repos/builtin/packages/globalarrays/package.py index 94a4205feca..364383456c6 100644 --- a/var/spack/repos/builtin/packages/globalarrays/package.py +++ b/var/spack/repos/builtin/packages/globalarrays/package.py @@ -14,7 +14,7 @@ class Globalarrays(AutotoolsPackage): non-blocking primtives, and supports location consistency. """ - homepage = "http://hpc.pnl.gov/globalarrays/" + homepage = "https://hpc.pnl.gov/globalarrays/" url = "https://github.com/GlobalArrays/ga/releases/download/v5.7/ga-5.7.tar.gz" version('5.8', sha256='64df7d1ea4053d24d84ca361e67a6f51c7b17ed7d626cb18a9fbc759f4a078ac') diff --git a/var/spack/repos/builtin/packages/glvis/package.py b/var/spack/repos/builtin/packages/glvis/package.py index 3a912c24086..10af32e474b 100644 --- a/var/spack/repos/builtin/packages/glvis/package.py +++ b/var/spack/repos/builtin/packages/glvis/package.py @@ -9,7 +9,7 @@ class Glvis(MakefilePackage): """GLVis: an OpenGL tool for visualization of FEM meshes and functions""" - homepage = "http://glvis.org" + homepage = "https://glvis.org" git = "https://github.com/glvis/glvis.git" maintainers = ['goxberry', 'v-dobrev', 'tzanio', 'tomstitt'] diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py index cdb7e1e1ad0..d84cf93d592 100644 --- a/var/spack/repos/builtin/packages/gnutls/package.py +++ b/var/spack/repos/builtin/packages/gnutls/package.py @@ -14,7 +14,7 @@ class Gnutls(AutotoolsPackage): #12, OpenPGP and other required structures. It is aimed to be portable and efficient with focus on security and interoperability.""" - homepage = "http://www.gnutls.org" + homepage = "https://www.gnutls.org" url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz" version('3.6.15', sha256='0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558') diff --git a/var/spack/repos/builtin/packages/gotcha/package.py b/var/spack/repos/builtin/packages/gotcha/package.py index 99ff2fa6568..941496b3d11 100644 --- a/var/spack/repos/builtin/packages/gotcha/package.py +++ b/var/spack/repos/builtin/packages/gotcha/package.py @@ -10,7 +10,7 @@ class Gotcha(CMakePackage): """C software library for shared library function wrapping, enables tools to intercept calls into shared libraries""" - homepage = "http://github.com/LLNL/gotcha" + homepage = "https://github.com/LLNL/gotcha" git = "https://github.com/LLNL/gotcha.git" version('develop', branch='develop') diff --git a/var/spack/repos/builtin/packages/grace/package.py b/var/spack/repos/builtin/packages/grace/package.py index 598ae1f923f..cbe9c9f585d 100644 --- a/var/spack/repos/builtin/packages/grace/package.py +++ b/var/spack/repos/builtin/packages/grace/package.py @@ -9,7 +9,7 @@ class Grace(AutotoolsPackage): """Grace is a WYSIWYG 2D plotting tool for the X Window System and M*tif.""" - homepage = "http://plasma-gate.weizmann.ac.il/Grace" + homepage = "https://plasma-gate.weizmann.ac.il/Grace" # The main site (ftp://plasma-gate.weizmann.ac.il/pub/grace/) # is currently unavailable so we use one of the mirrors instead. url = "ftp://ftp.fu-berlin.de/unix/graphics/grace/src/grace5/grace-5.1.25.tar.gz" diff --git a/var/spack/repos/builtin/packages/gsl/package.py b/var/spack/repos/builtin/packages/gsl/package.py index 674b507b6d5..0f67b8a9f3e 100644 --- a/var/spack/repos/builtin/packages/gsl/package.py +++ b/var/spack/repos/builtin/packages/gsl/package.py @@ -14,7 +14,7 @@ class Gsl(AutotoolsPackage, GNUMirrorPackage): number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.""" - homepage = "http://www.gnu.org/software/gsl" + homepage = "https://www.gnu.org/software/gsl" gnu_mirror_path = "gsl/gsl-2.3.tar.gz" version('2.7', sha256='efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b') diff --git a/var/spack/repos/builtin/packages/gtkorvo-enet/package.py b/var/spack/repos/builtin/packages/gtkorvo-enet/package.py index 5a359a6ecbf..ef77a1e4300 100644 --- a/var/spack/repos/builtin/packages/gtkorvo-enet/package.py +++ b/var/spack/repos/builtin/packages/gtkorvo-enet/package.py @@ -13,7 +13,7 @@ class GtkorvoEnet(AutotoolsPackage): The original is at http://github.com/lsalzman/enet. """ - homepage = "http://www.github.com/GTkorvo/enet" + homepage = "https://www.github.com/GTkorvo/enet" url = "https://github.com/GTkorvo/enet/archive/v1.3.13.tar.gz" version('1.3.14', sha256='d1fda051bdee46ad8cce7c3bb36fb6b7a7a443945f27a280ac104753c29465b0') diff --git a/var/spack/repos/builtin/packages/guacamole-server/package.py b/var/spack/repos/builtin/packages/guacamole-server/package.py index 2e1ab0b628a..c2ffa1f2be3 100644 --- a/var/spack/repos/builtin/packages/guacamole-server/package.py +++ b/var/spack/repos/builtin/packages/guacamole-server/package.py @@ -11,7 +11,7 @@ class GuacamoleServer(AutotoolsPackage): basis of the Guacamole stack. It consists of guacd, libguac, and several protocol support libraries.""" - homepage = "http://guacamole.apache.org/" + homepage = "https://guacamole.apache.org/" url = "https://github.com/apache/guacamole-server/archive/1.1.0.tar.gz" version('1.1.0', sha256='d0f0c66ebfa7a4fd6689ae5240f21797b5177945a042388b691b15b8bd5c81a8') diff --git a/var/spack/repos/builtin/packages/gurobi/package.py b/var/spack/repos/builtin/packages/gurobi/package.py index 849096076d6..5b2c5a71c86 100644 --- a/var/spack/repos/builtin/packages/gurobi/package.py +++ b/var/spack/repos/builtin/packages/gurobi/package.py @@ -20,7 +20,7 @@ class Gurobi(Package): # to set up a mirror, see # http://spack.readthedocs.io/en/latest/mirrors.html - homepage = "http://www.gurobi.com/index" + homepage = "https://www.gurobi.com/index" manual_download = True maintainers = ['glennpj'] diff --git a/var/spack/repos/builtin/packages/h5z-zfp/package.py b/var/spack/repos/builtin/packages/h5z-zfp/package.py index 1e6477d2411..4c2c82c44c1 100644 --- a/var/spack/repos/builtin/packages/h5z-zfp/package.py +++ b/var/spack/repos/builtin/packages/h5z-zfp/package.py @@ -10,7 +10,7 @@ class H5zZfp(MakefilePackage): """A highly flexible floating point and integer compression plugin for the HDF5 library using ZFP compression.""" - homepage = "http://h5z-zfp.readthedocs.io/en/latest" + homepage = "https://h5z-zfp.readthedocs.io/en/latest" git = "https://github.com/LLNL/H5Z-ZFP.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/hadoop/package.py b/var/spack/repos/builtin/packages/hadoop/package.py index ad4ff12ee44..8aa34d14d90 100644 --- a/var/spack/repos/builtin/packages/hadoop/package.py +++ b/var/spack/repos/builtin/packages/hadoop/package.py @@ -12,7 +12,7 @@ class Hadoop(Package): across clusters of computers using simple programming models. """ - homepage = "http://hadoop.apache.org/" + homepage = "https://hadoop.apache.org/" url = "https://www.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz" version('3.3.0', sha256='ea1a0f0afcdfb9b6b9d261cdce5a99023d7e8f72d26409e87f69bda65c663688') diff --git a/var/spack/repos/builtin/packages/haploview/package.py b/var/spack/repos/builtin/packages/haploview/package.py index 0b7b9a2fbeb..5d634a71ac5 100644 --- a/var/spack/repos/builtin/packages/haploview/package.py +++ b/var/spack/repos/builtin/packages/haploview/package.py @@ -12,7 +12,7 @@ class Haploview(Package): """Haploview is designed to simplify and expedite the process of haplotype analysis.""" - homepage = "http://www.broadinstitute.org/haploview/haploview" + homepage = "https://www.broadinstitute.org/haploview/haploview" url = "https://downloads.sourceforge.net/project/haploview/release/Haploview4.1.jar" version('4.1', sha256='b3ffe4c3d8bbab6af5eebf89a2dccdb185280088f70ae84c84be60f85f10201d', expand=False) diff --git a/var/spack/repos/builtin/packages/hoomd-blue/package.py b/var/spack/repos/builtin/packages/hoomd-blue/package.py index 98c7c0282d6..5a44ea66470 100644 --- a/var/spack/repos/builtin/packages/hoomd-blue/package.py +++ b/var/spack/repos/builtin/packages/hoomd-blue/package.py @@ -18,7 +18,7 @@ class HoomdBlue(CMakePackage): to create custom initialization routines, control simulation parameters, and perform in situ analysis.""" - homepage = "http://glotzerlab.engin.umich.edu/hoomd-blue/" + homepage = "https://glotzerlab.engin.umich.edu/hoomd-blue/" git = "https://bitbucket.org/glotzer/hoomd-blue.git" version('develop', submodules=True) diff --git a/var/spack/repos/builtin/packages/hpcc/package.py b/var/spack/repos/builtin/packages/hpcc/package.py index 792cb29a094..90cb7680580 100644 --- a/var/spack/repos/builtin/packages/hpcc/package.py +++ b/var/spack/repos/builtin/packages/hpcc/package.py @@ -33,7 +33,7 @@ class Hpcc(MakefilePackage): latency and bandwidth of a number of simultaneous communication patterns; based on b_eff (effective bandwidth benchmark).""" - homepage = "http://icl.cs.utk.edu/hpcc" + homepage = "https://icl.cs.utk.edu/hpcc" url = "http://icl.cs.utk.edu/projectsfiles/hpcc/download/hpcc-1.5.0.tar.gz" git = "https://github.com/icl-utk-edu/hpcc.git" diff --git a/var/spack/repos/builtin/packages/hpl/package.py b/var/spack/repos/builtin/packages/hpl/package.py index 5d914140a9d..30d236fc27a 100644 --- a/var/spack/repos/builtin/packages/hpl/package.py +++ b/var/spack/repos/builtin/packages/hpl/package.py @@ -15,7 +15,7 @@ class Hpl(AutotoolsPackage): It can thus be regarded as a portable as well as freely available implementation of the High Performance Computing Linpack Benchmark.""" - homepage = "http://www.netlib.org/benchmark/hpl/" + homepage = "https://www.netlib.org/benchmark/hpl/" url = "http://www.netlib.org/benchmark/hpl/hpl-2.2.tar.gz" # Note: HPL uses autotools starting with 2.3 diff --git a/var/spack/repos/builtin/packages/httpd/package.py b/var/spack/repos/builtin/packages/httpd/package.py index 5b5a2e28f37..bdc405ab79c 100644 --- a/var/spack/repos/builtin/packages/httpd/package.py +++ b/var/spack/repos/builtin/packages/httpd/package.py @@ -10,7 +10,7 @@ class Httpd(AutotoolsPackage): """The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server.""" - homepage = "http://httpd.apache.org/" + homepage = "https://httpd.apache.org/" url = "http://archive.apache.org/dist/httpd/httpd-2.4.43.tar.bz2" version('2.4.43', sha256='a497652ab3fc81318cdc2a203090a999150d86461acff97c1065dc910fe10f43') diff --git a/var/spack/repos/builtin/packages/httping/package.py b/var/spack/repos/builtin/packages/httping/package.py index cd93ef81e6f..5b8668f095f 100644 --- a/var/spack/repos/builtin/packages/httping/package.py +++ b/var/spack/repos/builtin/packages/httping/package.py @@ -14,7 +14,7 @@ class Httping(AutotoolsPackage): the latency. of the webserver + network. It supports, of course, IPv6. httping was analyzed by Coverity Scan for software defects. """ - homepage = "http://www.vanheusden.com/httping/" + homepage = "https://www.vanheusden.com/httping/" url = "https://github.com/flok99/httping/archive/2.5.tar.gz" version('2.5', sha256='2ad423097fa7a0d2d20a387050e34374326a703dddce897e152a8341e47ea500') diff --git a/var/spack/repos/builtin/packages/hunspell/package.py b/var/spack/repos/builtin/packages/hunspell/package.py index bd9060f5e8c..7827cd96939 100644 --- a/var/spack/repos/builtin/packages/hunspell/package.py +++ b/var/spack/repos/builtin/packages/hunspell/package.py @@ -9,7 +9,7 @@ class Hunspell(AutotoolsPackage): """The most popular spellchecking library (sez the author...).""" - homepage = "http://hunspell.github.io/" + homepage = "https://hunspell.github.io/" url = "https://github.com/hunspell/hunspell/archive/v1.6.0.tar.gz" version('1.7.0', sha256='bb27b86eb910a8285407cf3ca33b62643a02798cf2eef468c0a74f6c3ee6bc8a') diff --git a/var/spack/repos/builtin/packages/hydra/package.py b/var/spack/repos/builtin/packages/hydra/package.py index 9c502951101..70e540aa739 100644 --- a/var/spack/repos/builtin/packages/hydra/package.py +++ b/var/spack/repos/builtin/packages/hydra/package.py @@ -12,7 +12,7 @@ class Hydra(AutotoolsPackage): (such as ssh, rsh, fork), as well as natively integrate with resource management systems (such as slurm, pbs, sge).""" - homepage = "http://www.mpich.org" + homepage = "https://www.mpich.org" url = "http://www.mpich.org/static/downloads/3.2/hydra-3.2.tar.gz" list_url = "http://www.mpich.org/static/downloads/" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/hyphy/package.py b/var/spack/repos/builtin/packages/hyphy/package.py index 00647dc5de4..3489e7d9337 100644 --- a/var/spack/repos/builtin/packages/hyphy/package.py +++ b/var/spack/repos/builtin/packages/hyphy/package.py @@ -9,7 +9,7 @@ class Hyphy(CMakePackage): """HyPhy: Hypothesis testing using Phylogenies""" - homepage = "http://www.hyphy.org/" + homepage = "https://www.hyphy.org/" url = "https://github.com/veg/hyphy/archive/2.3.14.tar.gz" version('2.3.14', sha256='9e6c817cb649986e3fe944bcaf88be3533e7e62968b9a486c719e951e5ed1cf6') diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py index 15eaa19e353..3818677eaf0 100644 --- a/var/spack/repos/builtin/packages/hypre/package.py +++ b/var/spack/repos/builtin/packages/hypre/package.py @@ -14,7 +14,7 @@ class Hypre(Package, CudaPackage): features parallel multigrid methods for both structured and unstructured grid problems.""" - homepage = "http://computing.llnl.gov/project/linear_solvers/software.php" + homepage = "https://computing.llnl.gov/project/linear_solvers/software.php" url = "https://github.com/hypre-space/hypre/archive/v2.14.0.tar.gz" git = "https://github.com/hypre-space/hypre.git" diff --git a/var/spack/repos/builtin/packages/icet/package.py b/var/spack/repos/builtin/packages/icet/package.py index 95afb15c955..cdeaa267192 100644 --- a/var/spack/repos/builtin/packages/icet/package.py +++ b/var/spack/repos/builtin/packages/icet/package.py @@ -10,7 +10,7 @@ class Icet(CMakePackage): """The Image Composition Engine for Tiles (IceT) is a high-performance sort-last parallel rendering library.""" - homepage = "http://icet.sandia.gov" + homepage = "https://icet.sandia.gov" url = "https://gitlab.kitware.com/api/v4/projects/icet%2Ficet/repository/archive.tar.bz2?sha=IceT-2.1.1" git = "https://gitlab.kitware.com/icet/icet.git" diff --git a/var/spack/repos/builtin/packages/ico/package.py b/var/spack/repos/builtin/packages/ico/package.py index b9ba9c50751..0876053b855 100644 --- a/var/spack/repos/builtin/packages/ico/package.py +++ b/var/spack/repos/builtin/packages/ico/package.py @@ -12,7 +12,7 @@ class Ico(AutotoolsPackage, XorgPackage): polyhedron, with hidden lines removed, or a solid-fill polyhedron with hidden faces removed.""" - homepage = "http://cgit.freedesktop.org/xorg/app/ico" + homepage = "https://cgit.freedesktop.org/xorg/app/ico" xorg_mirror_path = "app/ico-1.0.4.tar.gz" version('1.0.4', sha256='eb8609c3b43dc2e575272f2702590525fe13229e022c4aff8b9a0cc2a3f3205d') diff --git a/var/spack/repos/builtin/packages/idba/package.py b/var/spack/repos/builtin/packages/idba/package.py index 9db9050ba46..60356c649e3 100644 --- a/var/spack/repos/builtin/packages/idba/package.py +++ b/var/spack/repos/builtin/packages/idba/package.py @@ -10,7 +10,7 @@ class Idba(AutotoolsPackage): """IDBA is a practical iterative De Bruijn Graph De Novo Assembler for sequence assembly in bioinfomatics.""" - homepage = "http://i.cs.hku.hk/~alse/hkubrg/projects/idba/" + homepage = "https://i.cs.hku.hk/~alse/hkubrg/projects/idba/" url = "https://github.com/loneknightpy/idba/archive/1.1.3.tar.gz" version('1.1.3', sha256='6b1746a29884f4fa17b110d94d9ead677ab5557c084a93b16b6a043dbb148709') diff --git a/var/spack/repos/builtin/packages/iegenlib/package.py b/var/spack/repos/builtin/packages/iegenlib/package.py index b9920ec8742..686367ad311 100644 --- a/var/spack/repos/builtin/packages/iegenlib/package.py +++ b/var/spack/repos/builtin/packages/iegenlib/package.py @@ -10,7 +10,7 @@ class Iegenlib(CMakePackage): """Inspector/Executor Generation Library for manipulating sets and relations with uninterpreted function symbols. """ - homepage = "http://github.com/CompOpt4Apps/IEGenLib" + homepage = "https://github.com/CompOpt4Apps/IEGenLib" git = "https://github.com/CompOpt4Apps/IEGenLib.git" url = "https://github.com/CompOpt4Apps/IEGenLib/archive/fc479ee6ff01dba26beffc1dc6bacdba03262138.zip" diff --git a/var/spack/repos/builtin/packages/imagemagick/package.py b/var/spack/repos/builtin/packages/imagemagick/package.py index 1d22842fbd2..cda59af5ebe 100644 --- a/var/spack/repos/builtin/packages/imagemagick/package.py +++ b/var/spack/repos/builtin/packages/imagemagick/package.py @@ -10,7 +10,7 @@ class Imagemagick(AutotoolsPackage): """ImageMagick is a software suite to create, edit, compose, or convert bitmap images.""" - homepage = "http://www.imagemagick.org" + homepage = "https://www.imagemagick.org" url = "https://github.com/ImageMagick/ImageMagick/archive/7.0.2-7.tar.gz" version('7.0.8-7', sha256='fadb36b59f310e9eee5249ecb2326b323a64da6cc716dd6d08ece8ea2c780b81') diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py index 5603c282d61..5c8d158e02e 100644 --- a/var/spack/repos/builtin/packages/intel-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-tbb/package.py @@ -17,7 +17,7 @@ class IntelTbb(CMakePackage): C++ programs that take full advantage of multicore performance, that are portable and composable, and that have future-proof scalability. """ - homepage = "http://www.threadingbuildingblocks.org/" + homepage = "https://www.threadingbuildingblocks.org/" url_prefix = 'https://github.com/oneapi-src/oneTBB/' url = url_prefix + 'archive/v2020.1.tar.gz' diff --git a/var/spack/repos/builtin/packages/iozone/package.py b/var/spack/repos/builtin/packages/iozone/package.py index 57fc601c841..8bb7ad9f63d 100644 --- a/var/spack/repos/builtin/packages/iozone/package.py +++ b/var/spack/repos/builtin/packages/iozone/package.py @@ -13,7 +13,7 @@ class Iozone(MakefilePackage): measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.""" - homepage = "http://www.iozone.org/" + homepage = "https://www.iozone.org/" url = "http://www.iozone.org/src/current/iozone3_465.tar" version('3_491', sha256='2cc4842d382e46a585d1df9ae1e255695480dcc0fc05c3b1cb32ef3493d0ec9a') diff --git a/var/spack/repos/builtin/packages/isaac-server/package.py b/var/spack/repos/builtin/packages/isaac-server/package.py index 8b9f43c516c..66fcba776f1 100644 --- a/var/spack/repos/builtin/packages/isaac-server/package.py +++ b/var/spack/repos/builtin/packages/isaac-server/package.py @@ -9,7 +9,7 @@ class IsaacServer(CMakePackage): """In Situ Animation of Accelerated Computations: Server""" - homepage = "http://computationalradiationphysics.github.io/isaac/" + homepage = "https://computationalradiationphysics.github.io/isaac/" url = "https://github.com/ComputationalRadiationPhysics/isaac/archive/v1.3.0.tar.gz" git = "https://github.com/ComputationalRadiationPhysics/isaac.git" diff --git a/var/spack/repos/builtin/packages/isaac/package.py b/var/spack/repos/builtin/packages/isaac/package.py index 26fdc4ddc04..6c8733f590e 100644 --- a/var/spack/repos/builtin/packages/isaac/package.py +++ b/var/spack/repos/builtin/packages/isaac/package.py @@ -9,7 +9,7 @@ class Isaac(CMakePackage): """In Situ Animation of Accelerated Computations: Header-Only Library""" - homepage = "http://computationalradiationphysics.github.io/isaac/" + homepage = "https://computationalradiationphysics.github.io/isaac/" url = "https://github.com/ComputationalRadiationPhysics/isaac/archive/v1.3.0.tar.gz" git = "https://github.com/ComputationalRadiationPhysics/isaac.git" diff --git a/var/spack/repos/builtin/packages/isl/package.py b/var/spack/repos/builtin/packages/isl/package.py index 6ccc856f83b..82c333dcdd1 100644 --- a/var/spack/repos/builtin/packages/isl/package.py +++ b/var/spack/repos/builtin/packages/isl/package.py @@ -10,7 +10,7 @@ class Isl(AutotoolsPackage): """isl (Integer Set Library) is a thread-safe C library for manipulating sets and relations of integer points bounded by affine constraints.""" - homepage = "http://isl.gforge.inria.fr" + homepage = "https://isl.gforge.inria.fr" url = "http://isl.gforge.inria.fr/isl-0.21.tar.bz2" version('0.21', sha256='d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859') diff --git a/var/spack/repos/builtin/packages/itsx/package.py b/var/spack/repos/builtin/packages/itsx/package.py index e451935f5b5..94424729601 100644 --- a/var/spack/repos/builtin/packages/itsx/package.py +++ b/var/spack/repos/builtin/packages/itsx/package.py @@ -11,7 +11,7 @@ class Itsx(Package): ribosomal ITS sequences of fungi and other eukaryotes for use in environmental sequencing""" - homepage = "http://microbiology.se/software/itsx/" + homepage = "https://microbiology.se/software/itsx/" url = "http://microbiology.se/sw/ITSx_1.0.11.tar.gz" version('1.0.11', sha256='8f4f76fc9c43b61f4dd4cd8dc4e495e9687943e15515396583f7a757651d435e') diff --git a/var/spack/repos/builtin/packages/jansi/package.py b/var/spack/repos/builtin/packages/jansi/package.py index af1ee089883..7747ac6ea16 100644 --- a/var/spack/repos/builtin/packages/jansi/package.py +++ b/var/spack/repos/builtin/packages/jansi/package.py @@ -11,7 +11,7 @@ class Jansi(MavenPackage): ANSI escape codes to format your console output which works even on Windows.""" - homepage = "http://fusesource.github.io/jansi/" + homepage = "https://fusesource.github.io/jansi/" url = "https://github.com/fusesource/jansi/archive/jansi-project-1.18.tar.gz" version('1.18', sha256='73cd47ecf370a33c6e76afb5d9a8abf99489361d7bd191781dbd9b7efd082aa5') diff --git a/var/spack/repos/builtin/packages/jansson/package.py b/var/spack/repos/builtin/packages/jansson/package.py index b781d68dbec..5c80e1a605e 100644 --- a/var/spack/repos/builtin/packages/jansson/package.py +++ b/var/spack/repos/builtin/packages/jansson/package.py @@ -10,7 +10,7 @@ class Jansson(CMakePackage): """Jansson is a C library for encoding, decoding and manipulating JSON data.""" - homepage = "http://www.digip.org/jansson/" + homepage = "https://www.digip.org/jansson/" url = "https://github.com/akheron/jansson/archive/v2.9.tar.gz" maintainers = ['ax3l'] diff --git a/var/spack/repos/builtin/packages/jbigkit/package.py b/var/spack/repos/builtin/packages/jbigkit/package.py index d59712a5655..1b190036a4c 100644 --- a/var/spack/repos/builtin/packages/jbigkit/package.py +++ b/var/spack/repos/builtin/packages/jbigkit/package.py @@ -10,7 +10,7 @@ class Jbigkit(MakefilePackage): """JBIG-Kit is a software implementation of the JBIG1 data compression standard.""" - homepage = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/" + homepage = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/" url = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz" version('2.1', sha256='de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932') diff --git a/var/spack/repos/builtin/packages/jchronoss/package.py b/var/spack/repos/builtin/packages/jchronoss/package.py index c91d18f27d0..2fcc062de26 100644 --- a/var/spack/repos/builtin/packages/jchronoss/package.py +++ b/var/spack/repos/builtin/packages/jchronoss/package.py @@ -11,7 +11,7 @@ class Jchronoss(CMakePackage): """ JCHRONOSS aims to help HPC application testing process to scale as much as the application does. """ - homepage = "http://jchronoss.hpcframework.com" + homepage = "https://jchronoss.hpcframework.com" url = "http://fs.paratools.com/mpc/contrib/apps/jchronoss/JCHRONOSS-1.2.tar.gz" version('1.2', sha256='52a565a28c0b83b433065060863d29f2b3e4b05f4f26b7a5893a21a2c66d6eba') diff --git a/var/spack/repos/builtin/packages/jdk/package.py b/var/spack/repos/builtin/packages/jdk/package.py index a2bdafa5f80..1f8cb534992 100644 --- a/var/spack/repos/builtin/packages/jdk/package.py +++ b/var/spack/repos/builtin/packages/jdk/package.py @@ -16,7 +16,7 @@ class Jdk(Package): form of a binary product aimed at Java developers. Includes a complete JRE plus tools for developing, debugging, and monitoring Java applications.""" - homepage = "http://www.oracle.com/technetwork/java/javase/downloads/index.html" + homepage = "https://www.oracle.com/technetwork/java/javase/downloads/index.html" maintainers = ['justintoo'] diff --git a/var/spack/repos/builtin/packages/jellyfish/package.py b/var/spack/repos/builtin/packages/jellyfish/package.py index 2889bfd2ad0..228aa77fa9d 100644 --- a/var/spack/repos/builtin/packages/jellyfish/package.py +++ b/var/spack/repos/builtin/packages/jellyfish/package.py @@ -10,7 +10,7 @@ class Jellyfish(AutotoolsPackage): """JELLYFISH is a tool for fast, memory-efficient counting of k-mers in DNA.""" - homepage = "http://www.cbcb.umd.edu/software/jellyfish/" + homepage = "https://www.cbcb.umd.edu/software/jellyfish/" url = "https://github.com/gmarcais/Jellyfish/releases/download/v2.2.7/jellyfish-2.2.7.tar.gz" list_url = "http://www.cbcb.umd.edu/software/jellyfish/" diff --git a/var/spack/repos/builtin/packages/jhpcn-df/package.py b/var/spack/repos/builtin/packages/jhpcn-df/package.py index 09ed64922ee..585770fb933 100644 --- a/var/spack/repos/builtin/packages/jhpcn-df/package.py +++ b/var/spack/repos/builtin/packages/jhpcn-df/package.py @@ -18,7 +18,7 @@ class JhpcnDf(CMakePackage): to truncating some lower bits of significand. """ - homepage = "http://avr-aics-riken.github.io/JHPCN-DF/" + homepage = "https://avr-aics-riken.github.io/JHPCN-DF/" url = "https://github.com/avr-aics-riken/JHPCN-DF/archive/1.1.0.tar.gz" version('1.1.0', sha256='106d99cc4faac5c76e51e8bfe3193c1d3dc91648072cf418d868ed830592b04b') diff --git a/var/spack/repos/builtin/packages/json-fortran/package.py b/var/spack/repos/builtin/packages/json-fortran/package.py index 185d747cc80..6e425552a22 100644 --- a/var/spack/repos/builtin/packages/json-fortran/package.py +++ b/var/spack/repos/builtin/packages/json-fortran/package.py @@ -9,7 +9,7 @@ class JsonFortran(CMakePackage): """A Fortran 2008 JSON API""" - homepage = "http://jacobwilliams.github.io/json-fortran/" + homepage = "https://jacobwilliams.github.io/json-fortran/" url = "https://github.com/jacobwilliams/json-fortran/archive/7.0.0.tar.gz" version('7.1.0', sha256='e7aa1f6e09b25ebacb17188147380c3f8c0a254754cd24869c001745fcecc9e6') diff --git a/var/spack/repos/builtin/packages/kallisto/package.py b/var/spack/repos/builtin/packages/kallisto/package.py index e307decfa42..cc32281d0fc 100644 --- a/var/spack/repos/builtin/packages/kallisto/package.py +++ b/var/spack/repos/builtin/packages/kallisto/package.py @@ -10,7 +10,7 @@ class Kallisto(CMakePackage): """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data.""" - homepage = "http://pachterlab.github.io/kallisto" + homepage = "https://pachterlab.github.io/kallisto" url = "https://github.com/pachterlab/kallisto/archive/v0.43.1.tar.gz" version('0.46.2', sha256='c447ca8ddc40fcbd7d877d7c868bc8b72807aa8823a8a8d659e19bdd515baaf2') diff --git a/var/spack/repos/builtin/packages/kbd/package.py b/var/spack/repos/builtin/packages/kbd/package.py index 88d74b83666..3a2d0b5eabf 100644 --- a/var/spack/repos/builtin/packages/kbd/package.py +++ b/var/spack/repos/builtin/packages/kbd/package.py @@ -11,7 +11,7 @@ class Kbd(AutotoolsPackage): (Linux console, virtual terminals, keyboard, etc.) - mainly, what they do is loading console fonts and keyboard maps.""" - homepage = "http://kbd-project.org/" + homepage = "https://kbd-project.org/" url = "https://github.com/legionus/kbd/archive/v2.3.0.tar.gz" version('2.3.0', sha256='28f05450cfde08259341b9641d222027844c075f77a2bac6ce143b3f33a6eb4e') diff --git a/var/spack/repos/builtin/packages/kcov/package.py b/var/spack/repos/builtin/packages/kcov/package.py index f426c0ec872..ddf3554ae97 100644 --- a/var/spack/repos/builtin/packages/kcov/package.py +++ b/var/spack/repos/builtin/packages/kcov/package.py @@ -11,7 +11,7 @@ class Kcov(CMakePackage): debugging information to collect and report data without special compilation options""" - homepage = "http://simonkagstrom.github.io/kcov/index.html" + homepage = "https://simonkagstrom.github.io/kcov/index.html" url = "https://github.com/SimonKagstrom/kcov/archive/38.tar.gz" version('38', sha256='b37af60d81a9b1e3b140f9473bdcb7975af12040feb24cc666f9bb2bb0be68b4') diff --git a/var/spack/repos/builtin/packages/kinesis/package.py b/var/spack/repos/builtin/packages/kinesis/package.py index a9ea2c9b925..1e067bdecdf 100644 --- a/var/spack/repos/builtin/packages/kinesis/package.py +++ b/var/spack/repos/builtin/packages/kinesis/package.py @@ -8,7 +8,7 @@ class Kinesis(MavenPackage): """The Amazon Kinesis Client Library for Java (Amazon KCL) enables Java developers to easily consume and process data from Amazon Kinesis.""" - homepage = "http://aws.amazon.com/kinesis" + homepage = "https://aws.amazon.com/kinesis" url = "https://github.com/awslabs/amazon-kinesis-client/archive/v2.2.10.tar.gz" version('2.2.10', sha256='ab1fa33466d07c41d0bbf0d1c7d2380d6f5d2957dea040ca5fe911be83bfe9f9') diff --git a/var/spack/repos/builtin/packages/knem/package.py b/var/spack/repos/builtin/packages/knem/package.py index 757119017bf..c7131c98675 100644 --- a/var/spack/repos/builtin/packages/knem/package.py +++ b/var/spack/repos/builtin/packages/knem/package.py @@ -10,7 +10,7 @@ class Knem(AutotoolsPackage): """KNEM is a Linux kernel module enabling high-performance intra-node MPI communication for large messages.""" - homepage = "http://knem.gforge.inria.fr" + homepage = "https://knem.gforge.inria.fr" 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" diff --git a/var/spack/repos/builtin/packages/krims/package.py b/var/spack/repos/builtin/packages/krims/package.py index 770c9b5f71d..9127bb9d482 100644 --- a/var/spack/repos/builtin/packages/krims/package.py +++ b/var/spack/repos/builtin/packages/krims/package.py @@ -9,7 +9,7 @@ class Krims(CMakePackage): """The bucket of Krimskrams every C or C++ project needs""" - homepage = "http://lazyten.org/krims" + homepage = "https://lazyten.org/krims" url = "https://github.com/lazyten/krims/archive/v0.2.1.tar.gz" git = "https://github.com/lazyten/krims.git" diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py index 582e6194837..619242fba72 100644 --- a/var/spack/repos/builtin/packages/lammps/package.py +++ b/var/spack/repos/builtin/packages/lammps/package.py @@ -14,7 +14,7 @@ class Lammps(CMakePackage, CudaPackage): See https://github.com/spack/spack/pull/5342 for a detailed discussion. """ - homepage = "http://lammps.sandia.gov/" + homepage = "https://lammps.sandia.gov/" url = "https://github.com/lammps/lammps/archive/patch_1Sep2017.tar.gz" git = "https://github.com/lammps/lammps.git" diff --git a/var/spack/repos/builtin/packages/lazyten/package.py b/var/spack/repos/builtin/packages/lazyten/package.py index 86fc12ab7e7..cd2b7d0f38a 100644 --- a/var/spack/repos/builtin/packages/lazyten/package.py +++ b/var/spack/repos/builtin/packages/lazyten/package.py @@ -11,7 +11,7 @@ class Lazyten(CMakePackage): """Lightweight linear algebra library based on lazy matrices""" - homepage = "http://lazyten.org" + homepage = "https://lazyten.org" url = "https://github.com/lazyten/lazyten/archive/v0.4.1.tar.gz" git = "https://github.com/lazyten/lazyten.git" diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index 43f83812e16..5e1b09f8a03 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -15,7 +15,7 @@ class Lbann(CMakePackage, CudaPackage, ROCmPackage): neural networks. """ - homepage = "http://software.llnl.gov/lbann/" + homepage = "https://software.llnl.gov/lbann/" url = "https://github.com/LLNL/lbann/archive/v0.91.tar.gz" git = "https://github.com/LLNL/lbann.git" diff --git a/var/spack/repos/builtin/packages/lbxproxy/package.py b/var/spack/repos/builtin/packages/lbxproxy/package.py index 51f7038e395..b111c235a68 100644 --- a/var/spack/repos/builtin/packages/lbxproxy/package.py +++ b/var/spack/repos/builtin/packages/lbxproxy/package.py @@ -16,7 +16,7 @@ class Lbxproxy(AutotoolsPackage, XorgPackage): extension, so this program is only useful in connecting to older X servers.""" - homepage = "http://cgit.freedesktop.org/xorg/app/lbxproxy" + homepage = "https://cgit.freedesktop.org/xorg/app/lbxproxy" xorg_mirror_path = "app/lbxproxy-1.0.3.tar.gz" version('1.0.3', sha256='db36251c9656c7da720f31e10df384f8946a9a5395915371b60d9423ad8f6a80') diff --git a/var/spack/repos/builtin/packages/lbzip2/package.py b/var/spack/repos/builtin/packages/lbzip2/package.py index 818bc7828a4..ecfd9667629 100644 --- a/var/spack/repos/builtin/packages/lbzip2/package.py +++ b/var/spack/repos/builtin/packages/lbzip2/package.py @@ -10,7 +10,7 @@ class Lbzip2(AutotoolsPackage): """Multi-threaded compression utility with support for bzip2 compressed file format""" - homepage = "http://lbzip2.org/" + homepage = "https://lbzip2.org/" url = "http://archive.lbzip2.org/lbzip2-2.5.tar.gz" version('2.5', sha256='46c75ee93cc95eedc6005625442b2b8e59a2bef3ba80987d0491f055185650e9') diff --git a/var/spack/repos/builtin/packages/lcms/package.py b/var/spack/repos/builtin/packages/lcms/package.py index 00c7ac190f6..0fffe9799d6 100644 --- a/var/spack/repos/builtin/packages/lcms/package.py +++ b/var/spack/repos/builtin/packages/lcms/package.py @@ -11,7 +11,7 @@ class Lcms(AutotoolsPackage): transforms between ICC profiles. It is focused on speed, and is portable across several platforms (MIT license).""" - homepage = "http://www.littlecms.com" + homepage = "https://www.littlecms.com" url = "http://downloads.sourceforge.net/project/lcms/lcms/2.9/lcms2-2.9.tar.gz" version('2.9', sha256='48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20') diff --git a/var/spack/repos/builtin/packages/ldak/package.py b/var/spack/repos/builtin/packages/ldak/package.py index 12a5e64739e..40327ced4e0 100644 --- a/var/spack/repos/builtin/packages/ldak/package.py +++ b/var/spack/repos/builtin/packages/ldak/package.py @@ -9,7 +9,7 @@ class Ldak(Package): """LDAK is a software package for analyzing GWAS data""" - homepage = "http://dougspeed.com/ldak/" + homepage = "https://dougspeed.com/ldak/" url = "http://dougspeed.com/wp-content/uploads/source.zip" version('5.1', sha256='ae3eb8c2ef31af210e138336fd6edcd0e3a26ea9bae89fd6c0c6ea33e3a1517e') diff --git a/var/spack/repos/builtin/packages/lemon/package.py b/var/spack/repos/builtin/packages/lemon/package.py index 500372aed78..f839a0fe544 100644 --- a/var/spack/repos/builtin/packages/lemon/package.py +++ b/var/spack/repos/builtin/packages/lemon/package.py @@ -12,7 +12,7 @@ class Lemon(CMakePackage): of common data structures and algorithms with focus on combinatorial optimization tasks connected mainly with graphs and networks.""" - homepage = "http://lemon.cs.elte.hu/trac/lemon" + homepage = "https://lemon.cs.elte.hu/trac/lemon" url = "http://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz" version('1.3.1', sha256='71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8') diff --git a/var/spack/repos/builtin/packages/less/package.py b/var/spack/repos/builtin/packages/less/package.py index e6ef02d6fe7..fe7884e7e25 100644 --- a/var/spack/repos/builtin/packages/less/package.py +++ b/var/spack/repos/builtin/packages/less/package.py @@ -11,7 +11,7 @@ class Less(AutotoolsPackage): has more capabilities. Less allows you to move backwards in the file aswell as forwards.""" - homepage = "http://www.greenwoodsoftware.com/less/" + homepage = "https://www.greenwoodsoftware.com/less/" url = "http://www.greenwoodsoftware.com/less/less-551.zip" version('551', sha256='2630db16ef188e88b513b3cc24daa9a798c45643cc7da06e549c9c00cfd84244') diff --git a/var/spack/repos/builtin/packages/lftp/package.py b/var/spack/repos/builtin/packages/lftp/package.py index 559be74da7d..606fc7dbe0f 100644 --- a/var/spack/repos/builtin/packages/lftp/package.py +++ b/var/spack/repos/builtin/packages/lftp/package.py @@ -10,7 +10,7 @@ class Lftp(AutotoolsPackage): """LFTP is a sophisticated file transfer program supporting a number of network protocols (ftp, http, sftp, fish, torrent).""" - homepage = "http://lftp.yar.ru/" + homepage = "https://lftp.yar.ru/" url = "http://lftp.yar.ru/ftp/lftp-4.7.7.tar.gz" version('4.8.1', sha256='6117866215cd889dab30ff73292cd1d35fe0e12a9af5cd76d093500d07ab65a3') diff --git a/var/spack/repos/builtin/packages/lhapdf5/package.py b/var/spack/repos/builtin/packages/lhapdf5/package.py index 7e5879a4342..f9e813221fd 100644 --- a/var/spack/repos/builtin/packages/lhapdf5/package.py +++ b/var/spack/repos/builtin/packages/lhapdf5/package.py @@ -10,7 +10,7 @@ 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/" + homepage = "https://lhapdf.hepforge.org/lhapdf5/" url = "http://lhapdf.hepforge.org/downloads?f=old/lhapdf-5.9.1.tar.gz" version('5.9.1', sha256='86b9b046d7f25627ce2aab6847ef1c5534972f4bae18de98225080cf5086919c') diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py index dba5dde9bff..35c07c0b77f 100644 --- a/var/spack/repos/builtin/packages/libarchive/package.py +++ b/var/spack/repos/builtin/packages/libarchive/package.py @@ -10,7 +10,7 @@ class Libarchive(AutotoolsPackage): """libarchive: C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats.""" - homepage = "http://www.libarchive.org" + homepage = "https://www.libarchive.org" url = "http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz" maintainers = ['haampie'] diff --git a/var/spack/repos/builtin/packages/libcanberra/package.py b/var/spack/repos/builtin/packages/libcanberra/package.py index f0775855f04..5545b71022c 100644 --- a/var/spack/repos/builtin/packages/libcanberra/package.py +++ b/var/spack/repos/builtin/packages/libcanberra/package.py @@ -11,7 +11,7 @@ class Libcanberra(AutotoolsPackage): Name Specifications, for generating event sounds on free desktops, such as GNOME.""" - homepage = "http://0pointer.de/lennart/projects/libcanberra/" + homepage = "https://0pointer.de/lennart/projects/libcanberra/" url = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz" version('0.30', sha256='c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72') diff --git a/var/spack/repos/builtin/packages/libconfig/package.py b/var/spack/repos/builtin/packages/libconfig/package.py index 613fe0ac701..b09cf0e2002 100644 --- a/var/spack/repos/builtin/packages/libconfig/package.py +++ b/var/spack/repos/builtin/packages/libconfig/package.py @@ -9,7 +9,7 @@ class Libconfig(AutotoolsPackage): """C/C++ Configuration File Library""" - homepage = "http://www.hyperrealm.com/libconfig/" + homepage = "https://www.hyperrealm.com/libconfig/" url = "https://github.com/hyperrealm/libconfig/archive/v1.5.tar.gz" force_autoreconf = True diff --git a/var/spack/repos/builtin/packages/libdaemon/package.py b/var/spack/repos/builtin/packages/libdaemon/package.py index 6b1ca538af2..ea0872f660a 100644 --- a/var/spack/repos/builtin/packages/libdaemon/package.py +++ b/var/spack/repos/builtin/packages/libdaemon/package.py @@ -10,7 +10,7 @@ class Libdaemon(AutotoolsPackage): """libdaemon is a lightweight C library which eases the writing of UNIX daemons.""" - homepage = "http://0pointer.de/lennart/projects/libdaemon/" + homepage = "https://0pointer.de/lennart/projects/libdaemon/" url = "http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz" version('0.14', sha256='fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834') diff --git a/var/spack/repos/builtin/packages/libedit/package.py b/var/spack/repos/builtin/packages/libedit/package.py index f9369716617..192842d4c8d 100644 --- a/var/spack/repos/builtin/packages/libedit/package.py +++ b/var/spack/repos/builtin/packages/libedit/package.py @@ -8,7 +8,7 @@ class Libedit(AutotoolsPackage): """An autotools compatible port of the NetBSD editline library""" - homepage = "http://thrysoee.dk/editline/" + homepage = "https://thrysoee.dk/editline/" url = "http://thrysoee.dk/editline/libedit-20170329-3.1.tar.gz" version('3.1-20210216', sha256='2283f741d2aab935c8c52c04b57bf952d02c2c02e651172f8ac811f77b1fc77a') diff --git a/var/spack/repos/builtin/packages/libffs/package.py b/var/spack/repos/builtin/packages/libffs/package.py index 7d1e0d1c6cf..33ca18fa9ce 100644 --- a/var/spack/repos/builtin/packages/libffs/package.py +++ b/var/spack/repos/builtin/packages/libffs/package.py @@ -14,7 +14,7 @@ class Libffs(CMakePackage): and providing complex run-time flexibility. """ - homepage = "http://www.cc.gatech.edu/systems/projects/FFS" + homepage = "https://www.cc.gatech.edu/systems/projects/FFS" url = "https://github.com/GTkorvo/ffs/archive/v1.1.tar.gz" git = "https://github.com/GTkorvo/ffs.git" diff --git a/var/spack/repos/builtin/packages/liblbfgs/package.py b/var/spack/repos/builtin/packages/liblbfgs/package.py index fa6b0703ba9..970cac4ee40 100644 --- a/var/spack/repos/builtin/packages/liblbfgs/package.py +++ b/var/spack/repos/builtin/packages/liblbfgs/package.py @@ -14,7 +14,7 @@ class Liblbfgs(AutotoolsPackage): minimize F(x), x = (x1, x2, ..., xN), only if the objective function F(x) and its gradient G(x) are computable.""" - homepage = "http://www.chokkan.org/software/liblbfgs/" + homepage = "https://www.chokkan.org/software/liblbfgs/" url = "https://github.com/downloads/chokkan/liblbfgs/liblbfgs-1.10.tar.gz" git = "https://github.com/chokkan/liblbfgs.git" diff --git a/var/spack/repos/builtin/packages/libmesh/package.py b/var/spack/repos/builtin/packages/libmesh/package.py index 9b6778aa6d7..8a19a00fe63 100644 --- a/var/spack/repos/builtin/packages/libmesh/package.py +++ b/var/spack/repos/builtin/packages/libmesh/package.py @@ -11,7 +11,7 @@ class Libmesh(AutotoolsPackage): partial differential equations using arbitrary unstructured discretizations on serial and parallel platforms.""" - homepage = "http://libmesh.github.io/" + homepage = "https://libmesh.github.io/" url = "https://github.com/libMesh/libmesh/releases/download/v1.0.0/libmesh-1.0.0.tar.bz2" git = "https://github.com/libMesh/libmesh.git" diff --git a/var/spack/repos/builtin/packages/libpcap/package.py b/var/spack/repos/builtin/packages/libpcap/package.py index ee1c5aae15d..070bdafe67d 100644 --- a/var/spack/repos/builtin/packages/libpcap/package.py +++ b/var/spack/repos/builtin/packages/libpcap/package.py @@ -8,7 +8,7 @@ class Libpcap(AutotoolsPackage): """libpcap is a portable library in C/C++ for packet capture.""" - homepage = "http://www.tcpdump.org/" + homepage = "https://www.tcpdump.org/" list_url = "http://www.tcpdump.org/release/" url = "http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz" diff --git a/var/spack/repos/builtin/packages/libproxy/package.py b/var/spack/repos/builtin/packages/libproxy/package.py index b55e24ca953..ab33c26c1d7 100644 --- a/var/spack/repos/builtin/packages/libproxy/package.py +++ b/var/spack/repos/builtin/packages/libproxy/package.py @@ -10,7 +10,7 @@ class Libproxy(CMakePackage): """libproxy is a library that provides automatic proxy configuration management.""" - homepage = "http://libproxy.github.io/libproxy/" + homepage = "https://libproxy.github.io/libproxy/" url = "https://github.com/libproxy/libproxy/archive/0.4.15.tar.gz" version('0.4.17', sha256='88c624711412665515e2800a7e564aabb5b3ee781b9820eca9168035b0de60a9') diff --git a/var/spack/repos/builtin/packages/librelp/package.py b/var/spack/repos/builtin/packages/librelp/package.py index ca2d668ae76..a8fb33d78a2 100644 --- a/var/spack/repos/builtin/packages/librelp/package.py +++ b/var/spack/repos/builtin/packages/librelp/package.py @@ -11,7 +11,7 @@ class Librelp(AutotoolsPackage): (stands for Reliable Event Logging Protocol) is a general-purpose, extensible logging protocol.""" - homepage = "http://www.rsyslog.com/librelp/" + homepage = "https://www.rsyslog.com/librelp/" url = "https://github.com/rsyslog/librelp/archive/v1.7.0.tar.gz" version('1.7.0', sha256='ff46bdd74798934663d1388d010270325dc6a6ed6d44358ca69b280a8304b1e9') diff --git a/var/spack/repos/builtin/packages/libspatialite/package.py b/var/spack/repos/builtin/packages/libspatialite/package.py index 36c5b737334..8e87ef1cefc 100644 --- a/var/spack/repos/builtin/packages/libspatialite/package.py +++ b/var/spack/repos/builtin/packages/libspatialite/package.py @@ -12,7 +12,7 @@ class Libspatialite(AutotoolsPackage): """SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.""" - homepage = "http://www.gaia-gis.it" + homepage = "https://www.gaia-gis.it" url = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-4.3.0a.tar.gz" manual_download = True diff --git a/var/spack/repos/builtin/packages/libunwind/package.py b/var/spack/repos/builtin/packages/libunwind/package.py index 1192fef2c02..d87581b664c 100644 --- a/var/spack/repos/builtin/packages/libunwind/package.py +++ b/var/spack/repos/builtin/packages/libunwind/package.py @@ -10,7 +10,7 @@ class Libunwind(AutotoolsPackage): """A portable and efficient C programming interface (API) to determine the call-chain of a program.""" - homepage = "http://www.nongnu.org/libunwind/" + homepage = "https://www.nongnu.org/libunwind/" url = "http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz" git = "https://github.com/libunwind/libunwind" maintainers = ['mwkrentel'] diff --git a/var/spack/repos/builtin/packages/libuuid/package.py b/var/spack/repos/builtin/packages/libuuid/package.py index 6e6f36845ff..c39a29f407a 100644 --- a/var/spack/repos/builtin/packages/libuuid/package.py +++ b/var/spack/repos/builtin/packages/libuuid/package.py @@ -9,7 +9,7 @@ class Libuuid(AutotoolsPackage, SourceforgePackage): """Portable uuid C library""" - homepage = "http://sourceforge.net/projects/libuuid/" + homepage = "https://sourceforge.net/projects/libuuid/" sourceforge_mirror_path = "libuuid/libuuid-1.0.3.tar.gz" version('1.0.3', sha256='46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644') diff --git a/var/spack/repos/builtin/packages/libuv/package.py b/var/spack/repos/builtin/packages/libuv/package.py index bcfbcae1e06..c5ef0039d34 100644 --- a/var/spack/repos/builtin/packages/libuv/package.py +++ b/var/spack/repos/builtin/packages/libuv/package.py @@ -4,7 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) class Libuv(AutotoolsPackage): """Multi-platform library with a focus on asynchronous IO""" - homepage = "http://libuv.org" + homepage = "https://libuv.org" url = "https://github.com/libuv/libuv/archive/v1.9.0.tar.gz" version('1.42.0', sha256='371e5419708f6aaeb8656671f89400b92a9bba6443369af1bb70bcd6e4b3c764') diff --git a/var/spack/repos/builtin/packages/libxtrap/package.py b/var/spack/repos/builtin/packages/libxtrap/package.py index 18212be6961..c5dd44779a1 100644 --- a/var/spack/repos/builtin/packages/libxtrap/package.py +++ b/var/spack/repos/builtin/packages/libxtrap/package.py @@ -18,7 +18,7 @@ class Libxtrap(AutotoolsPackage, XorgPackage): As X11R6 was released in 1994, XTrap has now been deprecated for over 15 years, and uses of it should be quite rare.""" - homepage = "http://cgit.freedesktop.org/xorg/lib/libXTrap" + homepage = "https://cgit.freedesktop.org/xorg/lib/libXTrap" xorg_mirror_path = "lib/libXTrap-1.0.1.tar.gz" version('1.0.1', sha256='db748e299dcc9af68428795b898a4a96cf806f79b75786781136503e4fce5e17') diff --git a/var/spack/repos/builtin/packages/ligra/package.py b/var/spack/repos/builtin/packages/ligra/package.py index 3bfa849b5f3..72804c970c1 100644 --- a/var/spack/repos/builtin/packages/ligra/package.py +++ b/var/spack/repos/builtin/packages/ligra/package.py @@ -9,7 +9,7 @@ class Ligra(MakefilePackage): """A Lightweight Graph Processing Framework for Shared Memory""" - homepage = "http://jshun.github.io/ligra/" + homepage = "https://jshun.github.io/ligra/" url = "https://github.com/jshun/ligra/archive/v.1.5.tar.gz" version('1.5', sha256='74113a5a3c19a0e319a5b9ebefc8a67c5d18d4d2a9670363092a966f4163f6b7') diff --git a/var/spack/repos/builtin/packages/listres/package.py b/var/spack/repos/builtin/packages/listres/package.py index c27c30509d2..40e39ae950f 100644 --- a/var/spack/repos/builtin/packages/listres/package.py +++ b/var/spack/repos/builtin/packages/listres/package.py @@ -10,7 +10,7 @@ class Listres(AutotoolsPackage, XorgPackage): """The listres program generates a list of X resources for a widget in an X client written using a toolkit based on libXt.""" - homepage = "http://cgit.freedesktop.org/xorg/app/listres" + homepage = "https://cgit.freedesktop.org/xorg/app/listres" xorg_mirror_path = "app/listres-1.0.3.tar.gz" version('1.0.3', sha256='87d5698b8aa4d841e45e6556932c9914210cbd8b10003d664b31185b087981be') diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index 4c55482347c..bd707f44297 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -19,7 +19,7 @@ class Llvm(CMakePackage, CudaPackage): is not an acronym; it is the full name of the project. """ - homepage = "http://llvm.org/" + homepage = "https://llvm.org/" url = "https://github.com/llvm/llvm-project/archive/llvmorg-7.1.0.tar.gz" list_url = "http://releases.llvm.org/download.html" git = "https://github.com/llvm/llvm-project" diff --git a/var/spack/repos/builtin/packages/lndir/package.py b/var/spack/repos/builtin/packages/lndir/package.py index 0e8891b04ed..7751feb76df 100644 --- a/var/spack/repos/builtin/packages/lndir/package.py +++ b/var/spack/repos/builtin/packages/lndir/package.py @@ -10,7 +10,7 @@ class Lndir(AutotoolsPackage, XorgPackage): """lndir - create a shadow directory of symbolic links to another directory tree.""" - homepage = "http://cgit.freedesktop.org/xorg/util/lndir" + homepage = "https://cgit.freedesktop.org/xorg/util/lndir" xorg_mirror_path = "util/lndir-1.0.3.tar.gz" version('1.0.3', sha256='95b2d26fb3cbe702f828146c7a4c7c48001d2da52b062580227b7b68180be902') diff --git a/var/spack/repos/builtin/packages/lsscsi/package.py b/var/spack/repos/builtin/packages/lsscsi/package.py index 6505d76401b..0e98ba4cb7c 100644 --- a/var/spack/repos/builtin/packages/lsscsi/package.py +++ b/var/spack/repos/builtin/packages/lsscsi/package.py @@ -12,7 +12,7 @@ class Lsscsi(AutotoolsPackage): 'classic'option to mimic the output of 'cat /proc/scsi/scsi' that has been widely used prior to the lk 2.6 series.""" - homepage = "http://sg.danny.cz/scsi/lsscsi.html" + homepage = "https://sg.danny.cz/scsi/lsscsi.html" url = "http://sg.danny.cz/scsi/lsscsi-0.31.tgz" version('0.31', sha256='12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca') diff --git a/var/spack/repos/builtin/packages/lua-luajit/package.py b/var/spack/repos/builtin/packages/lua-luajit/package.py index feab2028a63..68c6f2ec482 100644 --- a/var/spack/repos/builtin/packages/lua-luajit/package.py +++ b/var/spack/repos/builtin/packages/lua-luajit/package.py @@ -11,7 +11,7 @@ class LuaLuajit(MakefilePackage): """Flast flexible JITed lua""" - homepage = "http://www.luajit.org" + homepage = "https://www.luajit.org" url = "http://luajit.org/download/LuaJIT-2.0.5.tar.gz" version('2.1.0-beta3', sha256='1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3') diff --git a/var/spack/repos/builtin/packages/lua/package.py b/var/spack/repos/builtin/packages/lua/package.py index 3290a6fe975..5574d0d59a5 100644 --- a/var/spack/repos/builtin/packages/lua/package.py +++ b/var/spack/repos/builtin/packages/lua/package.py @@ -13,7 +13,7 @@ class Lua(Package): """The Lua programming language interpreter and library.""" - homepage = "http://www.lua.org" + homepage = "https://www.lua.org" url = "http://www.lua.org/ftp/lua-5.3.4.tar.gz" version('5.3.5', sha256='0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac') diff --git a/var/spack/repos/builtin/packages/lz4/package.py b/var/spack/repos/builtin/packages/lz4/package.py index f8a376e64e6..88df78fddef 100644 --- a/var/spack/repos/builtin/packages/lz4/package.py +++ b/var/spack/repos/builtin/packages/lz4/package.py @@ -14,7 +14,7 @@ class Lz4(MakefilePackage): an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems.""" - homepage = "http://lz4.github.io/lz4/" + homepage = "https://lz4.github.io/lz4/" url = "https://github.com/lz4/lz4/archive/v1.9.2.tar.gz" version('1.9.3', sha256='030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1') diff --git a/var/spack/repos/builtin/packages/magma/package.py b/var/spack/repos/builtin/packages/magma/package.py index 15aef600967..26e467fcae2 100644 --- a/var/spack/repos/builtin/packages/magma/package.py +++ b/var/spack/repos/builtin/packages/magma/package.py @@ -13,7 +13,7 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage): current "Multicore+GPU" systems. """ - homepage = "http://icl.cs.utk.edu/magma/" + homepage = "https://icl.cs.utk.edu/magma/" git = 'https://bitbucket.org/icl/magma' url = "http://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-2.2.0.tar.gz" maintainers = ['stomov', 'luszczek', 'G-Ragghianti'] diff --git a/var/spack/repos/builtin/packages/makedepend/package.py b/var/spack/repos/builtin/packages/makedepend/package.py index cae4d4938af..54592030bb8 100644 --- a/var/spack/repos/builtin/packages/makedepend/package.py +++ b/var/spack/repos/builtin/packages/makedepend/package.py @@ -9,7 +9,7 @@ class Makedepend(AutotoolsPackage, XorgPackage): """makedepend - create dependencies in makefiles.""" - homepage = "http://cgit.freedesktop.org/xorg/util/makedepend" + homepage = "https://cgit.freedesktop.org/xorg/util/makedepend" xorg_mirror_path = "util/makedepend-1.0.5.tar.gz" version('1.0.5', sha256='503903d41fb5badb73cb70d7b3740c8b30fe1cc68c504d3b6a85e6644c4e5004') diff --git a/var/spack/repos/builtin/packages/maker/package.py b/var/spack/repos/builtin/packages/maker/package.py index 7d12a0ddb6c..8951b72d823 100644 --- a/var/spack/repos/builtin/packages/maker/package.py +++ b/var/spack/repos/builtin/packages/maker/package.py @@ -31,7 +31,7 @@ class Maker(Package): For instructions on how to set up a mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - homepage = "http://www.yandell-lab.org/software/maker.html" + homepage = "https://www.yandell-lab.org/software/maker.html" manual_download = True version('3.01.03', sha256='d3979af9710d61754a3b53f6682d0e2052c6c3f36be6f2df2286d2587406f07d') diff --git a/var/spack/repos/builtin/packages/man-db/package.py b/var/spack/repos/builtin/packages/man-db/package.py index e5ecc8fc86e..349936af5a8 100644 --- a/var/spack/repos/builtin/packages/man-db/package.py +++ b/var/spack/repos/builtin/packages/man-db/package.py @@ -12,7 +12,7 @@ class ManDb(AutotoolsPackage): a Berkeley DB database in place of the traditional flat-text whatis databases.""" - homepage = "http://www.nongnu.org/man-db/" + homepage = "https://www.nongnu.org/man-db/" url = "http://git.savannah.nongnu.org/cgit/man-db.git/snapshot/man-db-2.7.6.1.tar.gz" version('2.7.6.1', sha256='dd913662e341fc01e6721878b6cbe1001886cc3bfa6632b095937bba3238c779') diff --git a/var/spack/repos/builtin/packages/mariadb-c-client/package.py b/var/spack/repos/builtin/packages/mariadb-c-client/package.py index 4c3a4b1b4ac..e6f2e0904b5 100644 --- a/var/spack/repos/builtin/packages/mariadb-c-client/package.py +++ b/var/spack/repos/builtin/packages/mariadb-c-client/package.py @@ -16,7 +16,7 @@ class MariadbCClient(CMakePackage): Connector', which enables connections to MariaDB and MySQL servers. """ - homepage = "http://mariadb.org/about/" + homepage = "https://mariadb.org/about/" url = "https://downloads.mariadb.com/Connectors/c/connector-c-3.0.3/mariadb-connector-c-3.0.3-src.tar.gz" list_url = "https://downloads.mariadb.com/Connectors/c/" diff --git a/var/spack/repos/builtin/packages/mash/package.py b/var/spack/repos/builtin/packages/mash/package.py index bebcdd69af5..e93cc3d672d 100644 --- a/var/spack/repos/builtin/packages/mash/package.py +++ b/var/spack/repos/builtin/packages/mash/package.py @@ -11,7 +11,7 @@ class Mash(AutotoolsPackage): Fast genome and metagenome distance estimation using MinHash. """ - homepage = "http://mash.readthedocs.org/" + homepage = "https://mash.readthedocs.org/" url = "https://github.com/marbl/Mash/archive/refs/tags/v2.3.tar.gz" maintainers = ['marcusboden'] diff --git a/var/spack/repos/builtin/packages/megadock/package.py b/var/spack/repos/builtin/packages/megadock/package.py index da0182e8217..cdbf870136f 100644 --- a/var/spack/repos/builtin/packages/megadock/package.py +++ b/var/spack/repos/builtin/packages/megadock/package.py @@ -12,7 +12,7 @@ class Megadock(MakefilePackage, CudaPackage): """an ultra-high-performance protein-protein docking for heterogeneous supercomputers""" - homepage = "http://www.bi.cs.titech.ac.jp/megadock/" + homepage = "https://www.bi.cs.titech.ac.jp/megadock/" url = "http://www.bi.cs.titech.ac.jp/megadock/archives/megadock-4.0.3.tgz" version('4.0.3', sha256='c1409a411555f4f7b4eeeda81caf622d8a28259a599ea1d2181069c55f257664') diff --git a/var/spack/repos/builtin/packages/meme/package.py b/var/spack/repos/builtin/packages/meme/package.py index 78e21ca595c..bf6b463e520 100644 --- a/var/spack/repos/builtin/packages/meme/package.py +++ b/var/spack/repos/builtin/packages/meme/package.py @@ -12,7 +12,7 @@ class Meme(AutotoolsPackage): collections of unaligned nucleotide or protein sequences, and to perform a wide variety of other motif-based analyses.""" - homepage = "http://meme-suite.org" + homepage = "https://meme-suite.org" url = "http://meme-suite.org/meme-software/5.1.1/meme-5.1.1.tar.gz" version('5.3.0', sha256='b2ddec9db972fcf77b29c7deb62df8b1dd8a6638c13c1aa06a5d563c4a7ff756') diff --git a/var/spack/repos/builtin/packages/mesa-demos/package.py b/var/spack/repos/builtin/packages/mesa-demos/package.py index f5de75dabe6..8adc35710b1 100644 --- a/var/spack/repos/builtin/packages/mesa-demos/package.py +++ b/var/spack/repos/builtin/packages/mesa-demos/package.py @@ -9,7 +9,7 @@ class MesaDemos(AutotoolsPackage): """This package provides some demo applications for testing Mesa.""" - homepage = "http://www.mesa3d.org" + homepage = "https://www.mesa3d.org" url = "https://github.com/freedesktop/mesa-demos/archive/mesa-demos-8.3.0.tar.gz" version('8.3.0', sha256='9bc1b37f4fc7bfc3f818f2d3851ffde28e8167ef11dca87f4781e9ef6206901f') diff --git a/var/spack/repos/builtin/packages/mesa/package.py b/var/spack/repos/builtin/packages/mesa/package.py index d39c61f519f..4ea29184edf 100644 --- a/var/spack/repos/builtin/packages/mesa/package.py +++ b/var/spack/repos/builtin/packages/mesa/package.py @@ -12,7 +12,7 @@ class Mesa(MesonPackage): """Mesa is an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics.""" - homepage = "http://www.mesa3d.org" + homepage = "https://www.mesa3d.org" maintainers = ['chuckatkins', 'v-dobrev'] git = "https://gitlab.freedesktop.org/mesa/mesa.git" diff --git a/var/spack/repos/builtin/packages/mesa18/package.py b/var/spack/repos/builtin/packages/mesa18/package.py index 89c3a2dce72..b75ef647515 100644 --- a/var/spack/repos/builtin/packages/mesa18/package.py +++ b/var/spack/repos/builtin/packages/mesa18/package.py @@ -12,7 +12,7 @@ class Mesa18(AutotoolsPackage): """Mesa is an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics.""" - homepage = "http://www.mesa3d.org" + homepage = "https://www.mesa3d.org" maintainers = ['v-dobrev', 'chuckatkins', 'ChristianTackeGSI'] # Note that we always want to build from the git repo instead of a diff --git a/var/spack/repos/builtin/packages/meshkit/package.py b/var/spack/repos/builtin/packages/meshkit/package.py index ea3dec2ace8..17ac4379e16 100644 --- a/var/spack/repos/builtin/packages/meshkit/package.py +++ b/var/spack/repos/builtin/packages/meshkit/package.py @@ -13,7 +13,7 @@ class Meshkit(AutotoolsPackage): meshing algorithms for use in real meshing problems, along with other tools commonly needed to support mesh generation""" - homepage = "http://sigma.mcs.anl.gov/meshkit-library" + homepage = "https://sigma.mcs.anl.gov/meshkit-library" url = "http://ftp.mcs.anl.gov/pub/fathom/meshkit-1.5.0.tar.gz" version('1.5.0', sha256='6a4c119af191e24ef40644acb7cfbe967af0678ac3412f38a943fb28d661cac7') diff --git a/var/spack/repos/builtin/packages/migrate/package.py b/var/spack/repos/builtin/packages/migrate/package.py index 340229905ac..408a5fefb6d 100644 --- a/var/spack/repos/builtin/packages/migrate/package.py +++ b/var/spack/repos/builtin/packages/migrate/package.py @@ -11,7 +11,7 @@ class Migrate(AutotoolsPackage): between n population assuming a migration matrix model with asymmetric migration rates and different subpopulation sizes""" - homepage = "http://popgen.sc.fsu.edu/" + homepage = "https://popgen.sc.fsu.edu/" url = "http://popgen.sc.fsu.edu/currentversions/migrate-3.6.11.src.tar.gz" version('3.6.11', sha256='a9ba06a4e995a45b8d04037f5f2da23e1fe64a2f3565189bdd50c62c6fe01fb8') diff --git a/var/spack/repos/builtin/packages/miniaero/package.py b/var/spack/repos/builtin/packages/miniaero/package.py index 3985f03d7d4..65c090d9067 100644 --- a/var/spack/repos/builtin/packages/miniaero/package.py +++ b/var/spack/repos/builtin/packages/miniaero/package.py @@ -12,7 +12,7 @@ class Miniaero(MakefilePackage): of programming models and hardware for next generation platforms. """ - homepage = "http://mantevo.org" + homepage = "https://mantevo.org" git = "https://github.com/Mantevo/miniAero.git" tags = ['proxy-app'] diff --git a/var/spack/repos/builtin/packages/minighost/package.py b/var/spack/repos/builtin/packages/minighost/package.py index 65393d31483..d1575d6c998 100644 --- a/var/spack/repos/builtin/packages/minighost/package.py +++ b/var/spack/repos/builtin/packages/minighost/package.py @@ -15,7 +15,7 @@ class Minighost(MakefilePackage): across a homogenous three dimensional domain. """ - homepage = "http://mantevo.org" + homepage = "https://mantevo.org" url = "http://downloads.mantevo.org/releaseTarballs/miniapps/MiniGhost/miniGhost_1.0.1.tar.gz" tags = ['proxy-app'] diff --git a/var/spack/repos/builtin/packages/minimd/package.py b/var/spack/repos/builtin/packages/minimd/package.py index 0f71b46b783..2fe32090381 100644 --- a/var/spack/repos/builtin/packages/minimd/package.py +++ b/var/spack/repos/builtin/packages/minimd/package.py @@ -11,7 +11,7 @@ class Minimd(MakefilePackage): in a typical molecular dynamics applications. """ - homepage = "http://mantevo.org" + homepage = "https://mantevo.org" url = "http://downloads.mantevo.org/releaseTarballs/miniapps/MiniMD/miniMD_1.2.tgz" tags = ['proxy-app'] diff --git a/var/spack/repos/builtin/packages/minismac2d/package.py b/var/spack/repos/builtin/packages/minismac2d/package.py index b0c70a16d8c..40a61a2acb0 100644 --- a/var/spack/repos/builtin/packages/minismac2d/package.py +++ b/var/spack/repos/builtin/packages/minismac2d/package.py @@ -13,7 +13,7 @@ class Minismac2d(MakefilePackage): turbulence model on a structured body conforming grid. """ - homepage = "http://mantevo.org" + homepage = "https://mantevo.org" url = "http://downloads.mantevo.org/releaseTarballs/miniapps/MiniSMAC2D/miniSMAC2D-2.0.tgz" tags = ['proxy-app'] diff --git a/var/spack/repos/builtin/packages/minivite/package.py b/var/spack/repos/builtin/packages/minivite/package.py index fa355fedf0d..3d92af95c30 100644 --- a/var/spack/repos/builtin/packages/minivite/package.py +++ b/var/spack/repos/builtin/packages/minivite/package.py @@ -12,7 +12,7 @@ class Minivite(MakefilePackage): """ tags = ['proxy-app', 'ecp-proxy-app'] - homepage = "http://hpc.pnl.gov/people/hala/grappolo.html" + homepage = "https://hpc.pnl.gov/people/hala/grappolo.html" git = "https://github.com/Exa-Graph/miniVite.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/minizip/package.py b/var/spack/repos/builtin/packages/minizip/package.py index 28715822952..9c1690ee3e0 100644 --- a/var/spack/repos/builtin/packages/minizip/package.py +++ b/var/spack/repos/builtin/packages/minizip/package.py @@ -9,7 +9,7 @@ class Minizip(AutotoolsPackage): """C library for zip/unzip via zLib.""" - homepage = "http://www.winimage.com/zLibDll/minizip.html" + homepage = "https://www.winimage.com/zLibDll/minizip.html" url = "https://zlib.net/fossils/zlib-1.2.11.tar.gz" version('1.2.11', sha256='c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1') diff --git a/var/spack/repos/builtin/packages/mkfontdir/package.py b/var/spack/repos/builtin/packages/mkfontdir/package.py index a6f8e9aaffa..ac06bfa7047 100644 --- a/var/spack/repos/builtin/packages/mkfontdir/package.py +++ b/var/spack/repos/builtin/packages/mkfontdir/package.py @@ -11,7 +11,7 @@ class Mkfontdir(AutotoolsPackage, XorgPackage): core font system. The current implementation is a simple wrapper script around the mkfontscale program, which must be built and installed first.""" - homepage = "http://cgit.freedesktop.org/xorg/app/mkfontdir" + homepage = "https://cgit.freedesktop.org/xorg/app/mkfontdir" xorg_mirror_path = "app/mkfontdir-1.0.7.tar.gz" version('1.0.7', sha256='bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7') diff --git a/var/spack/repos/builtin/packages/mmg/package.py b/var/spack/repos/builtin/packages/mmg/package.py index caebb025df4..0d985b8bb26 100644 --- a/var/spack/repos/builtin/packages/mmg/package.py +++ b/var/spack/repos/builtin/packages/mmg/package.py @@ -23,7 +23,7 @@ class Mmg(CMakePackage): libmmg3d libraries. """ - homepage = "http://www.mmgtools.org/" + homepage = "https://www.mmgtools.org/" url = "https://github.com/MmgTools/mmg/archive/v5.3.13.tar.gz" version('5.5.2', sha256='58e3b866101e6f0686758e16bcf9fb5fb06c85184533fc5054ef1c8adfd4be73') diff --git a/var/spack/repos/builtin/packages/molcas/package.py b/var/spack/repos/builtin/packages/molcas/package.py index 7fa77cfb463..e6b384f1280 100644 --- a/var/spack/repos/builtin/packages/molcas/package.py +++ b/var/spack/repos/builtin/packages/molcas/package.py @@ -14,7 +14,7 @@ class Molcas(CMakePackage): Please set the path to licence file with the following command export MOLCAS_LICENSE=/path/to/molcas/license/""" - homepage = "http://www.molcas.org/" + homepage = "https://www.molcas.org/" url = "file://{0}/molcas8.2.tar.gz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/mpe2/package.py b/var/spack/repos/builtin/packages/mpe2/package.py index 88a477b644e..1e44f77264a 100644 --- a/var/spack/repos/builtin/packages/mpe2/package.py +++ b/var/spack/repos/builtin/packages/mpe2/package.py @@ -9,7 +9,7 @@ class Mpe2(AutotoolsPackage): """Message Passing Extensions (MPE): Parallel, shared X window graphics""" - homepage = "http://www.mcs.anl.gov/research/projects/perfvis/software/MPE/" + homepage = "https://www.mcs.anl.gov/research/projects/perfvis/software/MPE/" url = "http://ftp.mcs.anl.gov/pub/mpi/mpe/mpe2-1.3.0.tar.gz" version('1.3.0', sha256='0faf32f9adab6fd882be30be913089ebf75272f8b5e4a012bb20c54abc21c0be') diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py index fb66aaa20e2..a958701a6bf 100644 --- a/var/spack/repos/builtin/packages/mpich/package.py +++ b/var/spack/repos/builtin/packages/mpich/package.py @@ -14,7 +14,7 @@ class Mpich(AutotoolsPackage): """MPICH is a high performance and widely portable implementation of the Message Passing Interface (MPI) standard.""" - homepage = "http://www.mpich.org" + homepage = "https://www.mpich.org" url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz" git = "https://github.com/pmodels/mpich.git" list_url = "http://www.mpich.org/static/downloads/" diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py index 64de446e500..931cbbc6962 100644 --- a/var/spack/repos/builtin/packages/mrnet/package.py +++ b/var/spack/repos/builtin/packages/mrnet/package.py @@ -9,7 +9,7 @@ class Mrnet(AutotoolsPackage): """The MRNet Multi-Cast Reduction Network.""" - homepage = "http://paradyn.org/mrnet" + homepage = "https://paradyn.org/mrnet" url = "http://ftp.cs.wisc.edu/pub/paradyn/mrnet/mrnet_5.0.1.tar.gz" git = "https://github.com/dyninst/mrnet.git" list_url = "http://ftp.cs.wisc.edu/paradyn/mrnet" diff --git a/var/spack/repos/builtin/packages/mscgen/package.py b/var/spack/repos/builtin/packages/mscgen/package.py index c663e029bc1..dddee92e84b 100644 --- a/var/spack/repos/builtin/packages/mscgen/package.py +++ b/var/spack/repos/builtin/packages/mscgen/package.py @@ -12,7 +12,7 @@ class Mscgen(AutotoolsPackage): and produces PNG, SVG, EPS or server side image maps (ismaps) as the output.""" - homepage = "http://www.mcternan.me.uk/mscgen/" + homepage = "https://www.mcternan.me.uk/mscgen/" url = "http://www.mcternan.me.uk/mscgen/software/mscgen-src-0.20.tar.gz" version('0.20', sha256='3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23') diff --git a/var/spack/repos/builtin/packages/mumax/package.py b/var/spack/repos/builtin/packages/mumax/package.py index 78755f3cf59..3e810b2736a 100644 --- a/var/spack/repos/builtin/packages/mumax/package.py +++ b/var/spack/repos/builtin/packages/mumax/package.py @@ -12,7 +12,7 @@ class Mumax(MakefilePackage, CudaPackage): """GPU accelerated micromagnetic simulator.""" - homepage = "http://mumax.github.io" + homepage = "https://mumax.github.io" url = "https://github.com/mumax/3/archive/v3.10.tar.gz" maintainers = ['glennpj'] diff --git a/var/spack/repos/builtin/packages/muscle/package.py b/var/spack/repos/builtin/packages/muscle/package.py index b5bb5361097..f874578bac1 100644 --- a/var/spack/repos/builtin/packages/muscle/package.py +++ b/var/spack/repos/builtin/packages/muscle/package.py @@ -11,7 +11,7 @@ class Muscle(MakefilePackage): according to published benchmark tests, with accuracy and speed that are consistently better than CLUSTALW.""" - homepage = "http://drive5.com/muscle/" + homepage = "https://drive5.com/muscle/" version('3.8.31', sha256='43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad') version('3.8.1551', sha256='c70c552231cd3289f1bad51c9bd174804c18bb3adcf47f501afec7a68f9c482e') diff --git a/var/spack/repos/builtin/packages/muse/package.py b/var/spack/repos/builtin/packages/muse/package.py index e9410ba9389..34d0cf5efec 100644 --- a/var/spack/repos/builtin/packages/muse/package.py +++ b/var/spack/repos/builtin/packages/muse/package.py @@ -9,7 +9,7 @@ class Muse(MakefilePackage): """Somatic point mutation caller.""" - homepage = "http://bioinformatics.mdanderson.org/main/MuSE" + homepage = "https://bioinformatics.mdanderson.org/main/MuSE" url = "https://github.com/danielfan/MuSE/archive/v1.0-rc.tar.gz" version('1.0-rc', sha256='b48b8be0044a2249bdc0b625fe0192c65089c598bbd1b1142902dfa81e804023') diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py index faf1d696e0e..92e5ea55db3 100644 --- a/var/spack/repos/builtin/packages/mvapich2/package.py +++ b/var/spack/repos/builtin/packages/mvapich2/package.py @@ -13,7 +13,7 @@ class Mvapich2(AutotoolsPackage): 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/userguide/userguide_spack/" + homepage = "https://mvapich.cse.ohio-state.edu/userguide/userguide_spack/" url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.6.tar.gz" list_url = "http://mvapich.cse.ohio-state.edu/downloads/" diff --git a/var/spack/repos/builtin/packages/mvapich2x/package.py b/var/spack/repos/builtin/packages/mvapich2x/package.py index 0c12ddef598..3a75e3876e1 100755 --- a/var/spack/repos/builtin/packages/mvapich2x/package.py +++ b/var/spack/repos/builtin/packages/mvapich2x/package.py @@ -18,7 +18,7 @@ class Mvapich2x(AutotoolsPackage): http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2x/ """ - homepage = "http://mvapich.cse.ohio-state.edu" + homepage = "https://mvapich.cse.ohio-state.edu" url = "http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2x/mvapich2x-2.3.tar.gz" maintainers = ['natshineman', 'harisubramoni', 'ndcontini'] diff --git a/var/spack/repos/builtin/packages/mxml/package.py b/var/spack/repos/builtin/packages/mxml/package.py index 9a494928f31..24066425766 100644 --- a/var/spack/repos/builtin/packages/mxml/package.py +++ b/var/spack/repos/builtin/packages/mxml/package.py @@ -12,7 +12,7 @@ class Mxml(AutotoolsPackage): non-standard libraries. """ - homepage = "http://michaelrsweet.github.io/mxml/" + homepage = "https://michaelrsweet.github.io/mxml/" url = "https://github.com/michaelrsweet/mxml/releases/download/release-2.10/mxml-2.10.tar.gz" version('2.10', sha256='267ff58b64ddc767170d71dab0c729c06f45e1df9a9b6f75180b564f09767891') diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py index b1735e920fe..dcddb3924ae 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): """The NAG Fortran Compiler.""" - homepage = "http://www.nag.com/nagware/np.asp" + homepage = "https://www.nag.com/nagware/np.asp" maintainers = ['ThemosTsikas'] version('7.0', sha256='6d509208533d79139e5a9f879b7b93e7b58372b78d404d51f35e491ecbaa54c7') diff --git a/var/spack/repos/builtin/packages/namd/package.py b/var/spack/repos/builtin/packages/namd/package.py index 143e2045de6..db75d470f20 100644 --- a/var/spack/repos/builtin/packages/namd/package.py +++ b/var/spack/repos/builtin/packages/namd/package.py @@ -16,7 +16,7 @@ class Namd(MakefilePackage, CudaPackage): """NAMDis a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems.""" - homepage = "http://www.ks.uiuc.edu/Research/namd/" + homepage = "https://www.ks.uiuc.edu/Research/namd/" url = "file://{0}/NAMD_2.12_Source.tar.gz".format(os.getcwd()) git = "https://charm.cs.illinois.edu/gerrit/namd.git" manual_download = True diff --git a/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py b/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py index 95f3a14b14b..702cd664ea1 100644 --- a/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py +++ b/var/spack/repos/builtin/packages/ncbi-rmblastn/package.py @@ -9,7 +9,7 @@ class NcbiRmblastn(AutotoolsPackage): """RMBlast search engine for NCBI""" - homepage = "http://www.repeatmasker.org/RMBlast.html" + homepage = "https://www.repeatmasker.org/RMBlast.html" url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.9.0/ncbi-blast-2.9.0+-src.tar.gz" version('2.11.0', sha256='d88e1858ae7ce553545a795a2120e657a799a6d334f2a07ef0330cc3e74e1954') diff --git a/var/spack/repos/builtin/packages/ndiff/package.py b/var/spack/repos/builtin/packages/ndiff/package.py index f64c260ed41..2397c8eb1c9 100644 --- a/var/spack/repos/builtin/packages/ndiff/package.py +++ b/var/spack/repos/builtin/packages/ndiff/package.py @@ -15,7 +15,7 @@ class Ndiff(Package): """ - homepage = "http://ftp.math.utah.edu/pub/ndiff/" + homepage = "https://ftp.math.utah.edu/pub/ndiff/" url = "http://ftp.math.utah.edu/pub/ndiff/ndiff-2.00.tar.gz" version('2.00', sha256='f2bbd9a2c8ada7f4161b5e76ac5ebf9a2862cab099933167fe604b88f000ec2c') diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py index f65e55eca0e..f3e7da52b29 100644 --- a/var/spack/repos/builtin/packages/netcdf-c/package.py +++ b/var/spack/repos/builtin/packages/netcdf-c/package.py @@ -11,7 +11,7 @@ class NetcdfC(AutotoolsPackage): machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. This is the C distribution.""" - homepage = "http://www.unidata.ucar.edu/software/netcdf" + homepage = "https://www.unidata.ucar.edu/software/netcdf" git = "https://github.com/Unidata/netcdf-c.git" url = "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-c-4.7.3.tar.gz" diff --git a/var/spack/repos/builtin/packages/netcdf-cxx/package.py b/var/spack/repos/builtin/packages/netcdf-cxx/package.py index b00cd17987e..75932f46c3d 100644 --- a/var/spack/repos/builtin/packages/netcdf-cxx/package.py +++ b/var/spack/repos/builtin/packages/netcdf-cxx/package.py @@ -12,7 +12,7 @@ class NetcdfCxx(AutotoolsPackage): maintained by Unidata. Developers should migrate to current NetCDF C++ bindings, in Spack package netcdf-cxx4.""" - homepage = "http://www.unidata.ucar.edu/software/netcdf" + homepage = "https://www.unidata.ucar.edu/software/netcdf" url = "http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-cxx-4.2.tar.gz" version('4.2', sha256='95ed6ab49a0ee001255eac4e44aacb5ca4ea96ba850c08337a3e4c9a0872ccd1') diff --git a/var/spack/repos/builtin/packages/netlib-lapack/package.py b/var/spack/repos/builtin/packages/netlib-lapack/package.py index e2187ab9dd3..92ada1ba051 100644 --- a/var/spack/repos/builtin/packages/netlib-lapack/package.py +++ b/var/spack/repos/builtin/packages/netlib-lapack/package.py @@ -14,7 +14,7 @@ class NetlibLapack(CMakePackage): package that has found extensive use in the scientific community. """ - homepage = "http://www.netlib.org/lapack/" + homepage = "https://www.netlib.org/lapack/" url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz" version('3.9.1', sha256='d0085d2caf997ff39299c05d4bacb6f3d27001d25a4cc613d48c1f352b73e7e0', diff --git a/var/spack/repos/builtin/packages/netlib-scalapack/package.py b/var/spack/repos/builtin/packages/netlib-scalapack/package.py index 03dd89c037e..6227c84cae7 100644 --- a/var/spack/repos/builtin/packages/netlib-scalapack/package.py +++ b/var/spack/repos/builtin/packages/netlib-scalapack/package.py @@ -105,7 +105,7 @@ class NetlibScalapack(ScalapackBase): parallel distributed memory machines """ - homepage = "http://www.netlib.org/scalapack/" + homepage = "https://www.netlib.org/scalapack/" url = "http://www.netlib.org/scalapack/scalapack-2.0.2.tgz" version('2.1.0', sha256='61d9216cf81d246944720cfce96255878a3f85dec13b9351f1fa0fd6768220a6') diff --git a/var/spack/repos/builtin/packages/netlib-xblas/package.py b/var/spack/repos/builtin/packages/netlib-xblas/package.py index b9ca43d64ea..b515ae1e51b 100644 --- a/var/spack/repos/builtin/packages/netlib-xblas/package.py +++ b/var/spack/repos/builtin/packages/netlib-xblas/package.py @@ -20,7 +20,7 @@ class NetlibXblas(AutotoolsPackage): made to optimize performance; performance should be as good as straightforward but careful code written by hand.""" - homepage = "http://www.netlib.org/xblas" + homepage = "https://www.netlib.org/xblas" url = "http://www.netlib.org/xblas/xblas.tar.gz" version('1.0.248', sha256='b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1') diff --git a/var/spack/repos/builtin/packages/nextflow/package.py b/var/spack/repos/builtin/packages/nextflow/package.py index 1f14cf8d9de..b075de775a5 100644 --- a/var/spack/repos/builtin/packages/nextflow/package.py +++ b/var/spack/repos/builtin/packages/nextflow/package.py @@ -9,7 +9,7 @@ class Nextflow(Package): """Data-driven computational pipelines""" - homepage = "http://www.nextflow.io" + homepage = "https://www.nextflow.io" url = "https://github.com/nextflow-io/nextflow/releases/download/v0.24.1/nextflow" version('20.10.0', sha256='54f76c83cbabe8ec68d6a878dcf921e647284499f4ae917356e594d873cb78dd', expand=False) diff --git a/var/spack/repos/builtin/packages/nix/package.py b/var/spack/repos/builtin/packages/nix/package.py index 1dbd50d2314..4abf655a1e2 100644 --- a/var/spack/repos/builtin/packages/nix/package.py +++ b/var/spack/repos/builtin/packages/nix/package.py @@ -9,7 +9,7 @@ class Nix(AutotoolsPackage): """Nix, the purely functional package manager""" - homepage = "http://nixos.org/nix" + homepage = "https://nixos.org/nix" url = "https://github.com/NixOS/nix/archive/2.2.1.zip" version('2.2.1', sha256='b591664dd1b04a8f197407d445799ece41140a3117bcbdf8e3c5e94cd3f59854') diff --git a/var/spack/repos/builtin/packages/nvhpc/package.py b/var/spack/repos/builtin/packages/nvhpc/package.py index cda878e4b62..fbf44692214 100644 --- a/var/spack/repos/builtin/packages/nvhpc/package.py +++ b/var/spack/repos/builtin/packages/nvhpc/package.py @@ -70,7 +70,7 @@ class Nvhpc(Package): and debugging tools simplify porting and optimization of HPC applications.""" - homepage = "http://developer.nvidia.com/hpc-sdk" + homepage = "https://developer.nvidia.com/hpc-sdk" maintainers = ['samcmill'] diff --git a/var/spack/repos/builtin/packages/nyancat/package.py b/var/spack/repos/builtin/packages/nyancat/package.py index a89ba0e9a26..6a6e843038c 100644 --- a/var/spack/repos/builtin/packages/nyancat/package.py +++ b/var/spack/repos/builtin/packages/nyancat/package.py @@ -8,7 +8,7 @@ class Nyancat(MakefilePackage): """Nyancat in your terminal, rendered through ANSI escape sequences.""" - homepage = "http://nyancat.dakko.us/" + homepage = "https://nyancat.dakko.us/" url = "https://github.com/klange/nyancat/archive/1.5.1.tar.gz" version('1.5.2', sha256='88cdcaa9c7134503dd0364a97fa860da3381a09cb555c3aae9918360827c2032') diff --git a/var/spack/repos/builtin/packages/occa/package.py b/var/spack/repos/builtin/packages/occa/package.py index 1868510c89f..688d24adf6f 100644 --- a/var/spack/repos/builtin/packages/occa/package.py +++ b/var/spack/repos/builtin/packages/occa/package.py @@ -16,7 +16,7 @@ class Occa(Package): using run-time compilation for device kernels. """ - homepage = "http://libocca.org" + homepage = "https://libocca.org" git = 'https://github.com/libocca/occa.git' maintainers = ['v-dobrev', 'dmed256'] diff --git a/var/spack/repos/builtin/packages/oclock/package.py b/var/spack/repos/builtin/packages/oclock/package.py index 76fdb6a3825..ac8d9ec1341 100644 --- a/var/spack/repos/builtin/packages/oclock/package.py +++ b/var/spack/repos/builtin/packages/oclock/package.py @@ -10,7 +10,7 @@ class Oclock(AutotoolsPackage, XorgPackage): """oclock is a simple analog clock using the SHAPE extension to make a round (possibly transparent) window.""" - homepage = "http://cgit.freedesktop.org/xorg/app/oclock" + homepage = "https://cgit.freedesktop.org/xorg/app/oclock" xorg_mirror_path = "app/oclock-1.0.3.tar.gz" version('1.0.3', sha256='6628d1abe1612b87db9d0170cbe7f1cf4205cd764274f648c3c1bdb745bff877') diff --git a/var/spack/repos/builtin/packages/ompss/package.py b/var/spack/repos/builtin/packages/ompss/package.py index dc74b656a35..96a946eab55 100644 --- a/var/spack/repos/builtin/packages/ompss/package.py +++ b/var/spack/repos/builtin/packages/ompss/package.py @@ -20,7 +20,7 @@ class Ompss(Package): Nanos++ runtime system. """ - homepage = "http://pm.bsc.es/" + homepage = "https://pm.bsc.es/" url = "http://pm.bsc.es/sites/default/files/ftp/ompss/releases/ompss-14.10.tar.gz" list_url = 'http://pm.bsc.es/ompss-downloads' diff --git a/var/spack/repos/builtin/packages/opa-psm2/package.py b/var/spack/repos/builtin/packages/opa-psm2/package.py index 9f9a248bdd9..5a9044bbd0a 100644 --- a/var/spack/repos/builtin/packages/opa-psm2/package.py +++ b/var/spack/repos/builtin/packages/opa-psm2/package.py @@ -9,7 +9,7 @@ class OpaPsm2(MakefilePackage): """ Omni-Path Performance Scaled Messaging 2 (PSM2) library""" - homepage = "http://github.com/cornelisnetworks/opa-psm2" + homepage = "https://github.com/cornelisnetworks/opa-psm2" url = "https://github.com/cornelisnetworks/opa-psm2/archive/PSM2_10.3-8.tar.gz" version('11.2.185', sha256='8c0446e989feb4a3822791e4a3687060916f7c4612d1e8e493879be66f10db09') diff --git a/var/spack/repos/builtin/packages/opari2/package.py b/var/spack/repos/builtin/packages/opari2/package.py index 56b5af5c21a..3202d9ed142 100644 --- a/var/spack/repos/builtin/packages/opari2/package.py +++ b/var/spack/repos/builtin/packages/opari2/package.py @@ -17,7 +17,7 @@ class Opari2(AutotoolsPackage): tied tasks. """ - homepage = "http://www.vi-hps.org/projects/score-p" + homepage = "https://www.vi-hps.org/projects/score-p" url = "https://www.vi-hps.org/cms/upload/packages/opari2/opari2-2.0.4.tar.gz" version('2.0.6', sha256='55972289ce66080bb48622110c3189a36e88a12917635f049b37685b9d3bbcb0', url='https://perftools.pages.jsc.fz-juelich.de/cicd/opari2/tags/opari2-2.0.6/opari2-2.0.6.tar.gz') diff --git a/var/spack/repos/builtin/packages/openfast/package.py b/var/spack/repos/builtin/packages/openfast/package.py index 1393dd4b1a8..bdd7d7b6d66 100644 --- a/var/spack/repos/builtin/packages/openfast/package.py +++ b/var/spack/repos/builtin/packages/openfast/package.py @@ -9,7 +9,7 @@ class Openfast(CMakePackage): """Wind turbine simulation package from NREL""" - homepage = "http://openfast.readthedocs.io/en/latest/" + homepage = "https://openfast.readthedocs.io/en/latest/" git = "https://github.com/OpenFAST/openfast.git" maintainers = ['jrood-nrel'] diff --git a/var/spack/repos/builtin/packages/openfoam-org/package.py b/var/spack/repos/builtin/packages/openfoam-org/package.py index 58714cbcb77..57b458e6ff5 100644 --- a/var/spack/repos/builtin/packages/openfoam-org/package.py +++ b/var/spack/repos/builtin/packages/openfoam-org/package.py @@ -61,7 +61,7 @@ class OpenfoamOrg(Package): and owner of the OPENFOAM trademark. """ - homepage = "http://www.openfoam.org/" + homepage = "https://www.openfoam.org/" baseurl = "https://github.com/OpenFOAM" url = "https://github.com/OpenFOAM/OpenFOAM-4.x/archive/version-4.1.tar.gz" git = "https://github.com/OpenFOAM/OpenFOAM-dev.git" diff --git a/var/spack/repos/builtin/packages/openfoam/package.py b/var/spack/repos/builtin/packages/openfoam/package.py index ce772f7e3cc..f7b0e0663f2 100644 --- a/var/spack/repos/builtin/packages/openfoam/package.py +++ b/var/spack/repos/builtin/packages/openfoam/package.py @@ -257,7 +257,7 @@ class Openfoam(Package): """ maintainers = ['olesenm'] - homepage = "http://www.openfoam.com/" + homepage = "https://www.openfoam.com/" url = "https://sourceforge.net/projects/openfoam/files/v1906/OpenFOAM-v1906.tgz" git = "https://develop.openfoam.com/Development/openfoam.git" list_url = "https://sourceforge.net/projects/openfoam/files/" diff --git a/var/spack/repos/builtin/packages/openimageio/package.py b/var/spack/repos/builtin/packages/openimageio/package.py index 551d50ade97..91f7881a978 100644 --- a/var/spack/repos/builtin/packages/openimageio/package.py +++ b/var/spack/repos/builtin/packages/openimageio/package.py @@ -10,7 +10,7 @@ class Openimageio(CMakePackage): """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, and applications.""" - homepage = "http://www.openimageio.org" + homepage = "https://www.openimageio.org" url = "https://github.com/OpenImageIO/oiio/archive/Release-1.8.15.tar.gz" version('2.2.7.0', sha256='857ac83798d6d2bda5d4d11a90618ff19486da2e5a4c4ff022c5976b5746fe8c') diff --git a/var/spack/repos/builtin/packages/orthomcl/package.py b/var/spack/repos/builtin/packages/orthomcl/package.py index 5651124ec0e..b3cd6ef889e 100644 --- a/var/spack/repos/builtin/packages/orthomcl/package.py +++ b/var/spack/repos/builtin/packages/orthomcl/package.py @@ -10,7 +10,7 @@ class Orthomcl(Package): """OrthoMCL is a genome-scale algorithm for grouping orthologous protein sequences.""" - homepage = "http://orthomcl.org/orthomcl/" + homepage = "https://orthomcl.org/orthomcl/" url = "http://orthomcl.org/common/downloads/software/v2.0/orthomclSoftware-v2.0.9.tar.gz" version('2.0.9', sha256='5f96d23ff255778535c4926d75b19f059db0c01be1ac599289d2431115d68640') diff --git a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py index d28a5bf3c5f..9faf3ec533b 100644 --- a/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py +++ b/var/spack/repos/builtin/packages/osu-micro-benchmarks/package.py @@ -15,7 +15,7 @@ class OsuMicroBenchmarks(AutotoolsPackage): performance measures such as latency, bandwidth and host overhead and can be used for both traditional and GPU-enhanced nodes.""" - homepage = "http://mvapich.cse.ohio-state.edu/benchmarks/" + homepage = "https://mvapich.cse.ohio-state.edu/benchmarks/" url = "http://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-5.6.3.tar.gz" version('5.7.1', sha256='cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165') diff --git a/var/spack/repos/builtin/packages/otf2/package.py b/var/spack/repos/builtin/packages/otf2/package.py index 0fed25f9200..6079b84a20f 100644 --- a/var/spack/repos/builtin/packages/otf2/package.py +++ b/var/spack/repos/builtin/packages/otf2/package.py @@ -12,7 +12,7 @@ class Otf2(AutotoolsPackage): trace data format plus support library. """ - homepage = "http://www.vi-hps.org/projects/score-p" + homepage = "https://www.vi-hps.org/projects/score-p" url = "https://www.vi-hps.org/cms/upload/packages/otf2/otf2-2.1.1.tar.gz" version('2.3', sha256='36957428d37c40d35b6b45208f050fb5cfe23c54e874189778a24b0e9219c7e3', url='https://perftools.pages.jsc.fz-juelich.de/cicd/otf2/tags/otf2-2.3/otf2-2.3.tar.gz') diff --git a/var/spack/repos/builtin/packages/pacparser/package.py b/var/spack/repos/builtin/packages/pacparser/package.py index 6f8a03f736c..fc59419c616 100644 --- a/var/spack/repos/builtin/packages/pacparser/package.py +++ b/var/spack/repos/builtin/packages/pacparser/package.py @@ -9,7 +9,7 @@ class Pacparser(MakefilePackage): """pacparser is a library to parse proxy auto-config (PAC) files.""" - homepage = "http://pacparser.github.io/" + homepage = "https://pacparser.github.io/" url = "https://github.com/manugarg/pacparser/releases/download/1.3.7/pacparser-1.3.7.tar.gz" version('1.3.7', sha256='eb48ec2fc202d12a4b882133048c7590329849f32c2285bc4dbe418f29aad249') diff --git a/var/spack/repos/builtin/packages/pagit/package.py b/var/spack/repos/builtin/packages/pagit/package.py index 3d1ffa1d697..86e8223f99c 100644 --- a/var/spack/repos/builtin/packages/pagit/package.py +++ b/var/spack/repos/builtin/packages/pagit/package.py @@ -10,7 +10,7 @@ class Pagit(Package): """PAGIT addresses the need for software to generate high quality draft genomes.""" - homepage = "http://www.sanger.ac.uk/science/tools/pagit" + homepage = "https://www.sanger.ac.uk/science/tools/pagit" url = "ftp://ftp.sanger.ac.uk/pub/resources/software/pagit/PAGIT.V1.01.64bit.tgz" version('1.01', sha256='8069c1d236804cf4ea782495adcc50d18561ef466af06b21946b980b3c37ad55') diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py index 824f8115ed3..e8bbb2cd161 100644 --- a/var/spack/repos/builtin/packages/pango/package.py +++ b/var/spack/repos/builtin/packages/pango/package.py @@ -11,7 +11,7 @@ class Pango(AutotoolsPackage): an emphasis on internationalization. It can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit.""" - homepage = "http://www.pango.org" + homepage = "https://www.pango.org" url = "http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.tar.xz" list_url = "http://ftp.gnome.org/pub/gnome/sources/pango/" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/pangomm/package.py b/var/spack/repos/builtin/packages/pangomm/package.py index 49c05abbdfb..9eebf07fd10 100644 --- a/var/spack/repos/builtin/packages/pangomm/package.py +++ b/var/spack/repos/builtin/packages/pangomm/package.py @@ -9,7 +9,7 @@ class Pangomm(AutotoolsPackage): """Pangomm is a C++ interface to Pango.""" - homepage = "http://www.pango.org/" + homepage = "https://www.pango.org/" url = "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.14/pangomm-2.14.1.tar.gz" version('2.43.1', sha256='00483967b4ed0869da09dc0617de45625b9ab846c7b07aa25dfc940a4fc540a4') diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py index 16bdd006fc6..f7a4e40e80c 100644 --- a/var/spack/repos/builtin/packages/papi/package.py +++ b/var/spack/repos/builtin/packages/papi/package.py @@ -19,7 +19,7 @@ class Papi(AutotoolsPackage): addition Component PAPI provides access to a collection of components that expose performance measurement opportunities across the hardware and software stack.""" - homepage = "http://icl.cs.utk.edu/papi/index.html" + homepage = "https://icl.cs.utk.edu/papi/index.html" maintainers = ['G-Ragghianti'] url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz" diff --git a/var/spack/repos/builtin/packages/paradiseo/package.py b/var/spack/repos/builtin/packages/paradiseo/package.py index 8e97a791000..206a920cb59 100644 --- a/var/spack/repos/builtin/packages/paradiseo/package.py +++ b/var/spack/repos/builtin/packages/paradiseo/package.py @@ -10,7 +10,7 @@ class Paradiseo(CMakePackage): """A C++ white-box object-oriented framework dedicated to the reusable design of metaheuristics.""" - homepage = "http://paradiseo.gforge.inria.fr/" + homepage = "https://paradiseo.gforge.inria.fr/" git = "https://gforge.inria.fr/git/paradiseo/paradiseo.git" # Installing from the development version is a better option at this diff --git a/var/spack/repos/builtin/packages/parallel/package.py b/var/spack/repos/builtin/packages/parallel/package.py index deb86860270..28d28a2d56e 100644 --- a/var/spack/repos/builtin/packages/parallel/package.py +++ b/var/spack/repos/builtin/packages/parallel/package.py @@ -12,7 +12,7 @@ class Parallel(AutotoolsPackage, GNUMirrorPackage): script that has to be run for each of the lines in the input. """ - homepage = "http://www.gnu.org/software/parallel/" + homepage = "https://www.gnu.org/software/parallel/" gnu_mirror_path = "parallel/parallel-20170122.tar.bz2" version('20200822', sha256='9654226a808392c365b1e7b8dea91bf4870bc4f306228d853eb700679e21be09') diff --git a/var/spack/repos/builtin/packages/patch/package.py b/var/spack/repos/builtin/packages/patch/package.py index 673f49b5d8a..37b4ec0f3e2 100644 --- a/var/spack/repos/builtin/packages/patch/package.py +++ b/var/spack/repos/builtin/packages/patch/package.py @@ -12,7 +12,7 @@ class Patch(AutotoolsPackage, GNUMirrorPackage): original files, producing patched versions. """ - homepage = "http://savannah.gnu.org/projects/patch/" + homepage = "https://savannah.gnu.org/projects/patch/" gnu_mirror_path = "patch/patch-2.7.6.tar.xz" version('2.7.6', sha256='ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd') diff --git a/var/spack/repos/builtin/packages/pbmpi/package.py b/var/spack/repos/builtin/packages/pbmpi/package.py index 7dd8f14d5c2..d52148d5b59 100644 --- a/var/spack/repos/builtin/packages/pbmpi/package.py +++ b/var/spack/repos/builtin/packages/pbmpi/package.py @@ -10,7 +10,7 @@ class Pbmpi(MakefilePackage): """A Bayesian software for phylogenetic reconstruction using mixture models """ - homepage = "http://megasun.bch.umontreal.ca/People/lartillot/www/index.htm" + homepage = "https://megasun.bch.umontreal.ca/People/lartillot/www/index.htm" git = "https://github.com/bayesiancook/pbmpi.git" version('partition', branch='partition') diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py index 0d2ee335229..67cc84084f6 100644 --- a/var/spack/repos/builtin/packages/pcre/package.py +++ b/var/spack/repos/builtin/packages/pcre/package.py @@ -11,7 +11,7 @@ class Pcre(AutotoolsPackage): libraries. These are useful for implementing regular expression pattern matching using the same syntax and semantics as Perl 5.""" - homepage = "http://www.pcre.org" + homepage = "https://www.pcre.org" url = "https://ftp.pcre.org/pub/pcre/pcre-8.42.tar.bz2" version('8.44', sha256='19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d') diff --git a/var/spack/repos/builtin/packages/pcre2/package.py b/var/spack/repos/builtin/packages/pcre2/package.py index 33d75bb9c9c..4f4dfa6a4f5 100644 --- a/var/spack/repos/builtin/packages/pcre2/package.py +++ b/var/spack/repos/builtin/packages/pcre2/package.py @@ -11,7 +11,7 @@ class Pcre2(AutotoolsPackage): libraries. These are useful for implementing regular expression pattern matching using the same syntax and semantics as Perl 5.""" - homepage = "http://www.pcre.org" + homepage = "https://www.pcre.org" url = "https://ftp.pcre.org/pub/pcre/pcre2-10.31.tar.bz2" version('10.36', sha256='a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c') diff --git a/var/spack/repos/builtin/packages/pflotran/package.py b/var/spack/repos/builtin/packages/pflotran/package.py index e6f4b64468e..7fedce9edfd 100644 --- a/var/spack/repos/builtin/packages/pflotran/package.py +++ b/var/spack/repos/builtin/packages/pflotran/package.py @@ -12,7 +12,7 @@ class Pflotran(AutotoolsPackage): subsurface flow and reactive transport code. """ - homepage = "http://www.pflotran.org" + homepage = "https://www.pflotran.org" git = "https://bitbucket.org/pflotran/pflotran.git" maintainers = ['ghammond86', 'balay'] diff --git a/var/spack/repos/builtin/packages/pgi/package.py b/var/spack/repos/builtin/packages/pgi/package.py index db0f38cf991..2f0f8a47127 100644 --- a/var/spack/repos/builtin/packages/pgi/package.py +++ b/var/spack/repos/builtin/packages/pgi/package.py @@ -19,7 +19,7 @@ class Pgi(Package): file to a mirror so that Spack can find it. For instructions on how to set up a mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - homepage = "http://www.pgroup.com/" + homepage = "https://www.pgroup.com/" manual_download = True version('20.4', sha256='f3ecc2104b304cd5c8b20e3ffdb5da88f2b5f7cc148e8daf00561928a5cbbc2e') diff --git a/var/spack/repos/builtin/packages/photos/package.py b/var/spack/repos/builtin/packages/photos/package.py index 7c7407ba661..d014b081532 100644 --- a/var/spack/repos/builtin/packages/photos/package.py +++ b/var/spack/repos/builtin/packages/photos/package.py @@ -10,7 +10,7 @@ class Photos(AutotoolsPackage): """ Photos is a Monte Carlo program for bremsstrahlung in the decay of particles and resonances.""" - homepage = "http://photospp.web.cern.ch/photospp/" + homepage = "https://photospp.web.cern.ch/photospp/" url = "http://photospp.web.cern.ch/photospp/resources/PHOTOS.3.61/PHOTOS.3.61-LHC.tar.gz" tags = ['hep'] diff --git a/var/spack/repos/builtin/packages/phylip/package.py b/var/spack/repos/builtin/packages/phylip/package.py index 0639f9cfa6a..69885222015 100644 --- a/var/spack/repos/builtin/packages/phylip/package.py +++ b/var/spack/repos/builtin/packages/phylip/package.py @@ -10,7 +10,7 @@ class Phylip(Package): """PHYLIP (the PHYLogeny Inference Package) is a package of programs for inferring phylogenies (evolutionary trees).""" - homepage = "http://evolution.genetics.washington.edu/phylip/" + homepage = "https://evolution.genetics.washington.edu/phylip/" url = "http://evolution.gs.washington.edu/phylip/download/phylip-3.697.tar.gz" version('3.697', sha256='9a26d8b08b8afea7f708509ef41df484003101eaf4beceb5cf7851eb940510c1') diff --git a/var/spack/repos/builtin/packages/picard/package.py b/var/spack/repos/builtin/packages/picard/package.py index 9abbc3cf38d..1d4a0d86426 100644 --- a/var/spack/repos/builtin/packages/picard/package.py +++ b/var/spack/repos/builtin/packages/picard/package.py @@ -15,7 +15,7 @@ class Picard(Package): sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF. """ - homepage = "http://broadinstitute.github.io/picard/" + homepage = "https://broadinstitute.github.io/picard/" url = "https://github.com/broadinstitute/picard/releases/download/2.9.2/picard.jar" _urlfmt = "https://github.com/broadinstitute/picard/releases/download/{0}/picard.jar" _oldurlfmt = 'https://github.com/broadinstitute/picard/releases/download/{0}/picard-tools-{0}.zip' diff --git a/var/spack/repos/builtin/packages/pig/package.py b/var/spack/repos/builtin/packages/pig/package.py index 5a279dd66ae..6af9c1e3c18 100644 --- a/var/spack/repos/builtin/packages/pig/package.py +++ b/var/spack/repos/builtin/packages/pig/package.py @@ -14,7 +14,7 @@ class Pig(Package): transforms data. """ - homepage = "http://archive.apache.org" + homepage = "https://archive.apache.org" url = "http://archive.apache.org/dist/hadoop/pig/stable/pig-0.7.0.tar.gz" version('0.7.0', sha256='fa7211fb339f547f679a3dd90055f1ddc45d5754d88463e4cc39c380ddf8b02a') diff --git a/var/spack/repos/builtin/packages/pigz/package.py b/var/spack/repos/builtin/packages/pigz/package.py index 1af66b3b2e6..ba602d633cf 100644 --- a/var/spack/repos/builtin/packages/pigz/package.py +++ b/var/spack/repos/builtin/packages/pigz/package.py @@ -10,7 +10,7 @@ class Pigz(MakefilePackage): """A parallel implementation of gzip for modern multi-processor, multi-core machines.""" - homepage = "http://zlib.net/pigz/" + homepage = "https://zlib.net/pigz/" url = "https://github.com/madler/pigz/archive/v2.3.4.tar.gz" version('2.4', sha256='e228e7d18b34c4ece8d596eb6eee97bde533c6beedbb728d07d3abe90b4b1b52') diff --git a/var/spack/repos/builtin/packages/pindel/package.py b/var/spack/repos/builtin/packages/pindel/package.py index c69c7768c8c..15226c9520f 100644 --- a/var/spack/repos/builtin/packages/pindel/package.py +++ b/var/spack/repos/builtin/packages/pindel/package.py @@ -9,7 +9,7 @@ class Pindel(MakefilePackage): """Pindel can detect breakpoints from next-gen sequence data.""" - homepage = "http://gmt.genome.wustl.edu/packages/pindel/" + homepage = "https://gmt.genome.wustl.edu/packages/pindel/" url = "https://github.com/genome/pindel/archive/v0.2.5.tar.gz" version('0.2.5b8', sha256='7f21fda0b751d420831724d96e60873ce332139cfd24396e81c7f1ae2f707a19') diff --git a/var/spack/repos/builtin/packages/pixz/package.py b/var/spack/repos/builtin/packages/pixz/package.py index b23b377ae8f..4f1663f3325 100644 --- a/var/spack/repos/builtin/packages/pixz/package.py +++ b/var/spack/repos/builtin/packages/pixz/package.py @@ -9,7 +9,7 @@ class Pixz(AutotoolsPackage): """Pixz (pronounced pixie) is a parallel, indexing version of xz. """ - homepage = "http://www.github.com/vasi/pixz" + homepage = "https://www.github.com/vasi/pixz" url = "https://github.com/vasi/pixz/releases/download/v1.0.6/pixz-1.0.6.tar.xz" version('1.0.6', sha256='02c50746b134fa1b1aae41fcc314d7c6f1919b3d48bcdea01bf11769f83f72e8') diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py index f0f06d81ed7..f8e0c85e2ac 100644 --- a/var/spack/repos/builtin/packages/pkg-config/package.py +++ b/var/spack/repos/builtin/packages/pkg-config/package.py @@ -10,7 +10,7 @@ class PkgConfig(AutotoolsPackage): """pkg-config is a helper tool used when compiling applications and libraries""" - homepage = "http://www.freedesktop.org/wiki/Software/pkg-config/" + homepage = "https://www.freedesktop.org/wiki/Software/pkg-config/" # URL must remain http:// so Spack can bootstrap curl url = "http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz" diff --git a/var/spack/repos/builtin/packages/pmgr-collective/package.py b/var/spack/repos/builtin/packages/pmgr-collective/package.py index 47e60fa550f..df311eb200a 100644 --- a/var/spack/repos/builtin/packages/pmgr-collective/package.py +++ b/var/spack/repos/builtin/packages/pmgr-collective/package.py @@ -9,7 +9,7 @@ class PmgrCollective(Package): """PMGR_COLLECTIVE provides a scalable network for bootstrapping MPI jobs.""" - homepage = "http://www.sourceforge.net/projects/pmgrcollective" + homepage = "https://www.sourceforge.net/projects/pmgrcollective" url = "http://downloads.sourceforge.net/project/pmgrcollective/pmgrcollective/PMGR_COLLECTIVE-1.0/pmgr_collective-1.0.tgz" version('1.0', sha256='c8022d1128ce5e8f637166af6e55c13700e665550e468b8cdb1531441c6bb7f5') diff --git a/var/spack/repos/builtin/packages/poke/package.py b/var/spack/repos/builtin/packages/poke/package.py index 4e2eadc79e3..f90c7149d56 100644 --- a/var/spack/repos/builtin/packages/poke/package.py +++ b/var/spack/repos/builtin/packages/poke/package.py @@ -6,7 +6,7 @@ class Poke(AutotoolsPackage, GNUMirrorPackage): """"The extensible editor for structured binary data""" - homepage = "http://www.jemarch.net/poke.html" + homepage = "https://www.jemarch.net/poke.html" gnu_mirror_path = 'poke/poke-1.0.tar.gz' maintainers = ['ChristianTackeGSI'] diff --git a/var/spack/repos/builtin/packages/porta/package.py b/var/spack/repos/builtin/packages/porta/package.py index 41c5778ea0f..830806d4aeb 100644 --- a/var/spack/repos/builtin/packages/porta/package.py +++ b/var/spack/repos/builtin/packages/porta/package.py @@ -10,7 +10,7 @@ class Porta(Package): """PORTA is a collection of routines for analyzing polytopes and polyhedra""" - homepage = "http://porta.zib.de" + homepage = "https://porta.zib.de" url = "http://porta.zib.de/porta-1.4.1.zip" version('1.4.1', sha256='21e3784f46f4f2154100a0c39cbd9211a26e513ffe0c9f70ab75a3bb2810b059') diff --git a/var/spack/repos/builtin/packages/portage/package.py b/var/spack/repos/builtin/packages/portage/package.py index 29df97cbdbd..331e4aed481 100644 --- a/var/spack/repos/builtin/packages/portage/package.py +++ b/var/spack/repos/builtin/packages/portage/package.py @@ -12,7 +12,7 @@ class Portage(CMakePackage): to build a highly customized, hybrid parallel (MPI+X) conservative remapping library for transfer of field data between meshes. """ - homepage = "http://portage.lanl.gov/" + homepage = "https://portage.lanl.gov/" git = "https://github.com/laristra/portage.git" url = "https://github.com/laristra/portage/releases/download/3.0.0/portage-3.0.0.tar.gz" diff --git a/var/spack/repos/builtin/packages/ppl/package.py b/var/spack/repos/builtin/packages/ppl/package.py index 2439710d1da..81faf811316 100644 --- a/var/spack/repos/builtin/packages/ppl/package.py +++ b/var/spack/repos/builtin/packages/ppl/package.py @@ -20,7 +20,7 @@ class Ppl(Package): solver, and primitives for termination analysis via the automatic synthesis of linear ranking functions.""" - homepage = "http://bugseng.com/products/ppl/" + homepage = "https://bugseng.com/products/ppl/" url = "http://bugseng.com/products/ppl/download/ftp/releases/1.1/ppl-1.1.tar.gz" version('1.2', sha256='6bc36dd4a87abc429d8f9c00c53e334e5041a9b0857cfc00dbad6ef14294aac8') diff --git a/var/spack/repos/builtin/packages/prng/package.py b/var/spack/repos/builtin/packages/prng/package.py index 09eac076d42..b70ae3888af 100644 --- a/var/spack/repos/builtin/packages/prng/package.py +++ b/var/spack/repos/builtin/packages/prng/package.py @@ -9,7 +9,7 @@ class Prng(AutotoolsPackage): """Pseudo-Random Number Generator library.""" - homepage = "http://statmath.wu.ac.at/prng/" + homepage = "https://statmath.wu.ac.at/prng/" url = "http://statmath.wu.ac.at/prng/prng-3.0.2.tar.gz" version('3.0.2', sha256='8299182b97c24b7891d74590a8a8438641a6c681ce34d6c3f7bc98a0649da48b') diff --git a/var/spack/repos/builtin/packages/proxymngr/package.py b/var/spack/repos/builtin/packages/proxymngr/package.py index 7547c7ace33..64c8eedcf48 100644 --- a/var/spack/repos/builtin/packages/proxymngr/package.py +++ b/var/spack/repos/builtin/packages/proxymngr/package.py @@ -12,7 +12,7 @@ class Proxymngr(AutotoolsPackage, XorgPackage): appropriate, and keeping track of all of the available proxy services. The proxy manager strives to reuse existing proxies whenever possible.""" - homepage = "http://cgit.freedesktop.org/xorg/app/proxymngr" + homepage = "https://cgit.freedesktop.org/xorg/app/proxymngr" xorg_mirror_path = "app/proxymngr-1.0.4.tar.gz" version('1.0.4', sha256='d40f2d15985ee8e8ef5320a85c0b1899a7bc95974a65137ae886e499bced86f4') diff --git a/var/spack/repos/builtin/packages/psi4/package.py b/var/spack/repos/builtin/packages/psi4/package.py index a3afc32d010..912dac18541 100644 --- a/var/spack/repos/builtin/packages/psi4/package.py +++ b/var/spack/repos/builtin/packages/psi4/package.py @@ -13,7 +13,7 @@ class Psi4(CMakePackage): programs designed for efficient, high-accuracy simulations of a variety of molecular properties.""" - homepage = "http://www.psicode.org/" + homepage = "https://www.psicode.org/" url = "https://github.com/psi4/psi4/archive/v1.3.2.tar.gz" version('1.3.2', sha256='ed76c67803b6420f35f57a6dd31c47108b9145b8c9fced5c94cdc179f6b5fbf3') diff --git a/var/spack/repos/builtin/packages/pv/package.py b/var/spack/repos/builtin/packages/pv/package.py index 383db4cb2c0..f3cdb7a5a3a 100644 --- a/var/spack/repos/builtin/packages/pv/package.py +++ b/var/spack/repos/builtin/packages/pv/package.py @@ -11,7 +11,7 @@ class Pv(AutotoolsPackage): of data through a pipeline """ - homepage = "http://www.ivarch.com/programs/pv.shtml" + homepage = "https://www.ivarch.com/programs/pv.shtml" url = "http://www.ivarch.com/programs/sources/pv-1.6.6.tar.bz2" version('1.6.6', sha256='608ef935f7a377e1439c181c4fc188d247da10d51a19ef79bcdee5043b0973f1') diff --git a/var/spack/repos/builtin/packages/py-apache-libcloud/package.py b/var/spack/repos/builtin/packages/py-apache-libcloud/package.py index 526ed5a6512..b8340f1ed51 100644 --- a/var/spack/repos/builtin/packages/py-apache-libcloud/package.py +++ b/var/spack/repos/builtin/packages/py-apache-libcloud/package.py @@ -9,7 +9,7 @@ class PyApacheLibcloud(PythonPackage): """Python library for multiple cloud provider APIs""" - homepage = "http://libcloud.apache.org" + homepage = "https://libcloud.apache.org" pypi = "apache-libcloud/apache-libcloud-1.2.1.tar.gz" version('1.2.1', sha256='b26b542c6c9785dd4e34892d87421ffa4c043335c1cba301a97a8d9748c423f2') diff --git a/var/spack/repos/builtin/packages/py-attrs/package.py b/var/spack/repos/builtin/packages/py-attrs/package.py index 7c9ea1d1c0c..d562f160c7c 100644 --- a/var/spack/repos/builtin/packages/py-attrs/package.py +++ b/var/spack/repos/builtin/packages/py-attrs/package.py @@ -9,7 +9,7 @@ class PyAttrs(PythonPackage): """Classes Without Boilerplate""" - homepage = "http://attrs.org/" + homepage = "https://attrs.org/" pypi = "attrs/attrs-20.3.0.tar.gz" version('20.3.0', sha256='832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700') diff --git a/var/spack/repos/builtin/packages/py-avro/package.py b/var/spack/repos/builtin/packages/py-avro/package.py index 8e33156b247..929b6deb4d2 100644 --- a/var/spack/repos/builtin/packages/py-avro/package.py +++ b/var/spack/repos/builtin/packages/py-avro/package.py @@ -9,7 +9,7 @@ class PyAvro(PythonPackage): """Avro is a serialization and RPC framework.""" - homepage = "http://avro.apache.org/docs/current/" + homepage = "https://avro.apache.org/docs/current/" pypi = "avro/avro-1.8.2.tar.gz" version('1.8.2', sha256='8f9ee40830b70b5fb52a419711c9c4ad0336443a6fba7335060805f961b04b59') diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py index 976051f1517..823b5f3b607 100644 --- a/var/spack/repos/builtin/packages/py-babel/package.py +++ b/var/spack/repos/builtin/packages/py-babel/package.py @@ -11,7 +11,7 @@ class PyBabel(PythonPackage): internationalizing and localizing Python applications, with an emphasis on web-based applications.""" - homepage = "http://babel.pocoo.org/en/latest/" + homepage = "https://babel.pocoo.org/en/latest/" pypi = "Babel/Babel-2.7.0.tar.gz" version('2.7.0', sha256='e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28') diff --git a/var/spack/repos/builtin/packages/py-biopandas/package.py b/var/spack/repos/builtin/packages/py-biopandas/package.py index 93fb63e45a9..8dfdeb5bab9 100644 --- a/var/spack/repos/builtin/packages/py-biopandas/package.py +++ b/var/spack/repos/builtin/packages/py-biopandas/package.py @@ -9,7 +9,7 @@ class PyBiopandas(PythonPackage): """Working with molecular structures in pandas DataFrames""" - homepage = "http://rasbt.github.io/biopandas" + homepage = "https://rasbt.github.io/biopandas" pypi = "biopandas/biopandas-0.2.5.tar.gz" git = "https://github.com/rasbt/biopandas.git" diff --git a/var/spack/repos/builtin/packages/py-breakseq2/package.py b/var/spack/repos/builtin/packages/py-breakseq2/package.py index f653a52412e..339404ac00b 100644 --- a/var/spack/repos/builtin/packages/py-breakseq2/package.py +++ b/var/spack/repos/builtin/packages/py-breakseq2/package.py @@ -9,7 +9,7 @@ class PyBreakseq2(PythonPackage): """nucleotide-resolution analysis of structural variants""" - homepage = "http://bioinform.github.io/breakseq2/" + homepage = "https://bioinform.github.io/breakseq2/" url = "https://github.com/bioinform/breakseq2/archive/2.2.tar.gz" version('2.2', sha256='d149e803191e6bb0b749abfba2c258716d94a38e942aaed40eb1630ae84f91ee') diff --git a/var/spack/repos/builtin/packages/py-brian/package.py b/var/spack/repos/builtin/packages/py-brian/package.py index 4bbe434c2d9..d7d6a4c991c 100644 --- a/var/spack/repos/builtin/packages/py-brian/package.py +++ b/var/spack/repos/builtin/packages/py-brian/package.py @@ -9,7 +9,7 @@ class PyBrian(PythonPackage): """A clock-driven simulator for spiking neural networks""" - homepage = "http://www.briansimulator.org" + homepage = "https://www.briansimulator.org" pypi = "brian/brian-1.4.3.tar.gz" version('1.4.3', sha256='c881dcfcd1a21990f9cb3cca76cdd868111cfd9e227ef5c1b13bb372d2efeaa4') diff --git a/var/spack/repos/builtin/packages/py-brian2/package.py b/var/spack/repos/builtin/packages/py-brian2/package.py index 4b627d4b787..35edc028503 100644 --- a/var/spack/repos/builtin/packages/py-brian2/package.py +++ b/var/spack/repos/builtin/packages/py-brian2/package.py @@ -9,7 +9,7 @@ class PyBrian2(PythonPackage): """A clock-driven simulator for spiking neural networks""" - homepage = "http://www.briansimulator.org" + homepage = "https://www.briansimulator.org" pypi = "Brian2/Brian2-2.2.2.1.tar.gz" version('2.4.2', sha256='7a711af40145d8c62b0bc0861d352dc64f341c3a738174d87ef9d71e50e959f2') diff --git a/var/spack/repos/builtin/packages/py-clustershell/package.py b/var/spack/repos/builtin/packages/py-clustershell/package.py index 2134827ae9f..dd37e61019e 100644 --- a/var/spack/repos/builtin/packages/py-clustershell/package.py +++ b/var/spack/repos/builtin/packages/py-clustershell/package.py @@ -11,7 +11,7 @@ class PyClustershell(PythonPackage): node groups and execute commands on cluster nodes in parallel. """ - homepage = "http://cea-hpc.github.io/clustershell/" + homepage = "https://cea-hpc.github.io/clustershell/" url = "https://github.com/cea-hpc/clustershell/archive/v1.8.tar.gz" version('1.8', sha256='ad5a13e2d107b4095229810c35365e22ea94dfd2baf4fdcfcc68ce58ee37cee3') diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py index 2597f15c53e..4902fe3aac3 100644 --- a/var/spack/repos/builtin/packages/py-coverage/package.py +++ b/var/spack/repos/builtin/packages/py-coverage/package.py @@ -9,7 +9,7 @@ class PyCoverage(PythonPackage): """ Testing coverage checker for python """ - homepage = "http://nedbatchelder.com/code/coverage/" + homepage = "https://nedbatchelder.com/code/coverage/" pypi = "coverage/coverage-4.5.4.tar.gz" version('5.3', sha256='280baa8ec489c4f542f8940f9c4c2181f0306a8ee1a54eceba071a449fb870a0') diff --git a/var/spack/repos/builtin/packages/py-current/package.py b/var/spack/repos/builtin/packages/py-current/package.py index 5eb287a38e7..57b05eccc41 100644 --- a/var/spack/repos/builtin/packages/py-current/package.py +++ b/var/spack/repos/builtin/packages/py-current/package.py @@ -9,7 +9,7 @@ class PyCurrent(PythonPackage): """Current module relative paths and imports""" - homepage = "http://github.com/xflr6/current" + homepage = "https://github.com/xflr6/current" pypi = "current/current-0.3.1.zip" version('0.3.1', sha256='207613dc19a6cc8e1a756f26e416733c8f82a70e4ae81103d22f483aae6492a8') diff --git a/var/spack/repos/builtin/packages/py-cvxopt/package.py b/var/spack/repos/builtin/packages/py-cvxopt/package.py index c23bb2c640f..4dcd6e41dd4 100644 --- a/var/spack/repos/builtin/packages/py-cvxopt/package.py +++ b/var/spack/repos/builtin/packages/py-cvxopt/package.py @@ -10,7 +10,7 @@ class PyCvxopt(PythonPackage): """CVXOPT is a free software package for convex optimization based on the Python programming language.""" - homepage = "http://cvxopt.org/" + homepage = "https://cvxopt.org/" pypi = "cvxopt/cvxopt-1.1.9.tar.gz" version('1.2.5', sha256='94ec8c36bd6628a11de9014346692daeeef99b3b7bae28cef30c7490bbcb2d72') diff --git a/var/spack/repos/builtin/packages/py-datalad/package.py b/var/spack/repos/builtin/packages/py-datalad/package.py index 6a5a63515db..c9194bfa320 100644 --- a/var/spack/repos/builtin/packages/py-datalad/package.py +++ b/var/spack/repos/builtin/packages/py-datalad/package.py @@ -17,7 +17,7 @@ class PyDatalad(PythonPackage): permission management, however, remains with the original data providers. """ - homepage = "http://datalad.org/" + homepage = "https://datalad.org/" pypi = "datalad/datalad-0.14.6.tar.gz" version('0.14.6', sha256='149b25a00da133a81be3cbdc041a1985418f0918fa5961ba979e23b5b3c08c63') diff --git a/var/spack/repos/builtin/packages/py-deap/package.py b/var/spack/repos/builtin/packages/py-deap/package.py index 70245812781..7e51cc5c7fb 100644 --- a/var/spack/repos/builtin/packages/py-deap/package.py +++ b/var/spack/repos/builtin/packages/py-deap/package.py @@ -9,7 +9,7 @@ class PyDeap(PythonPackage): """Distributed Evolutionary Algorithms in Python.""" - homepage = "http://deap.readthedocs.org/" + homepage = "https://deap.readthedocs.org/" pypi = "deap/deap-1.3.1.tar.gz" version('1.3.1', sha256='11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f') diff --git a/var/spack/repos/builtin/packages/py-deprecation/package.py b/var/spack/repos/builtin/packages/py-deprecation/package.py index 86dfeb1502a..ba8a64d5671 100644 --- a/var/spack/repos/builtin/packages/py-deprecation/package.py +++ b/var/spack/repos/builtin/packages/py-deprecation/package.py @@ -10,7 +10,7 @@ class PyDeprecation(PythonPackage): """The deprecation library provides a deprecated decorator and a fail_if_not_removed decorator for your tests. """ - homepage = "http://deprecation.readthedocs.io/" + homepage = "https://deprecation.readthedocs.io/" pypi = "deprecation/deprecation-2.0.7.tar.gz" version('2.0.7', sha256='c0392f676a6146f0238db5744d73e786a43510d54033f80994ef2f4c9df192ed') diff --git a/var/spack/repos/builtin/packages/py-elephant/package.py b/var/spack/repos/builtin/packages/py-elephant/package.py index 3fe5a3fb3f4..5b91b032192 100644 --- a/var/spack/repos/builtin/packages/py-elephant/package.py +++ b/var/spack/repos/builtin/packages/py-elephant/package.py @@ -10,7 +10,7 @@ class PyElephant(PythonPackage): """Elephant is a package for analysis of electrophysiology data in Python """ - homepage = "http://neuralensemble.org/elephant" + homepage = "https://neuralensemble.org/elephant" pypi = "elephant/elephant-0.3.0.tar.gz" version('0.4.1', sha256='86b21a44cbacdc09a6ba6f51738dcd5b42ecd553d73acb29f71a0be7c82eac81') diff --git a/var/spack/repos/builtin/packages/py-emcee/package.py b/var/spack/repos/builtin/packages/py-emcee/package.py index 7e0687f228d..b29644662b5 100644 --- a/var/spack/repos/builtin/packages/py-emcee/package.py +++ b/var/spack/repos/builtin/packages/py-emcee/package.py @@ -10,7 +10,7 @@ class PyEmcee(PythonPackage): """emcee is an MIT licensed pure-Python implementation of Goodman & Weare's Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler.""" - homepage = "http://dan.iel.fm/emcee/current/" + homepage = "https://dan.iel.fm/emcee/current/" pypi = "emcee/emcee-2.2.1.tar.gz" version('2.2.1', sha256='b83551e342b37311897906b3b8acf32979f4c5542e0a25786ada862d26241172') diff --git a/var/spack/repos/builtin/packages/py-espresso/package.py b/var/spack/repos/builtin/packages/py-espresso/package.py index 581a670a2a1..208ddfe33b4 100644 --- a/var/spack/repos/builtin/packages/py-espresso/package.py +++ b/var/spack/repos/builtin/packages/py-espresso/package.py @@ -18,7 +18,7 @@ class PyEspresso(CMakePackage): Boltzmann solver for hydrodynamic interactions, and allows several particle couplings to the LB fluid. """ - homepage = "http://espressomd.org/" + homepage = "https://espressomd.org/" git = "https://github.com/espressomd/espresso.git" url = "https://github.com/espressomd/espresso/releases/download/4.0.0/espresso-4.0.0.tar.gz" diff --git a/var/spack/repos/builtin/packages/py-execnet/package.py b/var/spack/repos/builtin/packages/py-execnet/package.py index b8d0a4b5fcb..74c6aaa6c5e 100644 --- a/var/spack/repos/builtin/packages/py-execnet/package.py +++ b/var/spack/repos/builtin/packages/py-execnet/package.py @@ -11,7 +11,7 @@ class PyExecnet(PythonPackage): communication for distributing execution across many Python interpreters across version, platform and network barriers.""" - homepage = "http://codespeak.net/execnet" + homepage = "https://codespeak.net/execnet" pypi = "execnet/execnet-1.7.1.tar.gz" version('1.7.1', sha256='cacb9df31c9680ec5f95553976c4da484d407e85e41c83cb812aa014f0eddc50') diff --git a/var/spack/repos/builtin/packages/py-flexx/package.py b/var/spack/repos/builtin/packages/py-flexx/package.py index f8ec0d645f7..2c3436542f4 100644 --- a/var/spack/repos/builtin/packages/py-flexx/package.py +++ b/var/spack/repos/builtin/packages/py-flexx/package.py @@ -9,7 +9,7 @@ class PyFlexx(PythonPackage): """Write desktop and web apps in pure Python.""" - homepage = "http://flexx.readthedocs.io" + homepage = "https://flexx.readthedocs.io" pypi = "flexx/flexx-0.4.1.zip" version('0.4.1', sha256='54be868f01d943018d0907821f2562f6eb31c568b3932abfd8518f75c29b8be1') diff --git a/var/spack/repos/builtin/packages/py-gevent/package.py b/var/spack/repos/builtin/packages/py-gevent/package.py index a7bf95a17b8..8d915c49846 100644 --- a/var/spack/repos/builtin/packages/py-gevent/package.py +++ b/var/spack/repos/builtin/packages/py-gevent/package.py @@ -9,7 +9,7 @@ class PyGevent(PythonPackage): """gevent is a coroutine-based Python networking library.""" - homepage = "http://www.gevent.org" + homepage = "https://www.gevent.org" pypi = "gevent/gevent-1.3a2.tar.gz" version('1.3a2', sha256='f7ab82697111ea233c7beeadf5240f669dfad9c4bbc89a3ec80a49e2c48a65bd') diff --git a/var/spack/repos/builtin/packages/py-git-review/package.py b/var/spack/repos/builtin/packages/py-git-review/package.py index e4b2c7222cf..6e357bd22b1 100644 --- a/var/spack/repos/builtin/packages/py-git-review/package.py +++ b/var/spack/repos/builtin/packages/py-git-review/package.py @@ -9,7 +9,7 @@ class PyGitReview(PythonPackage): """git-review is a tool that helps submitting git branches to gerrit""" - homepage = "http://docs.openstack.org/infra/git-review" + homepage = "https://docs.openstack.org/infra/git-review" pypi = "git-review/git-review-1.25.0.tar.gz" version('2.1.0', sha256='3a6c775645b1fa8c40c49fbfce6f8d7e225a1e797a0aa92912607b1d97e61ed6') diff --git a/var/spack/repos/builtin/packages/py-gitpython/package.py b/var/spack/repos/builtin/packages/py-gitpython/package.py index 0ed05bb3ee0..509e74c21ef 100644 --- a/var/spack/repos/builtin/packages/py-gitpython/package.py +++ b/var/spack/repos/builtin/packages/py-gitpython/package.py @@ -9,7 +9,7 @@ class PyGitpython(PythonPackage): """GitPython is a python library used to interact with Git repositories.""" - homepage = "http://gitpython.readthedocs.org" + homepage = "https://gitpython.readthedocs.org" pypi = "GitPython/GitPython-3.1.12.tar.gz" version('3.1.12', sha256='42dbefd8d9e2576c496ed0059f3103dcef7125b9ce16f9d5f9c834aed44a1dac') diff --git a/var/spack/repos/builtin/packages/py-google-api-python-client/package.py b/var/spack/repos/builtin/packages/py-google-api-python-client/package.py index 86ddee05bbc..7f9c3476a22 100644 --- a/var/spack/repos/builtin/packages/py-google-api-python-client/package.py +++ b/var/spack/repos/builtin/packages/py-google-api-python-client/package.py @@ -10,7 +10,7 @@ class PyGoogleApiPythonClient(PythonPackage): """The Google API Client for Python is a client library for accessing the Plus, Moderator, and many other Google APIs.""" - homepage = "http://github.com/google/google-api-python-client/" + homepage = "https://github.com/google/google-api-python-client/" pypi = "google-api-python-client/google-api-python-client-1.7.10.tar.gz" version('1.7.10', sha256='2e55a5c7b56233c68945b6804c73e253445933f4d485d4e69e321b38772b9dd6') diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py index bab55b7fe14..e55e365c6cd 100644 --- a/var/spack/repos/builtin/packages/py-h5py/package.py +++ b/var/spack/repos/builtin/packages/py-h5py/package.py @@ -10,7 +10,7 @@ class PyH5py(PythonPackage): """The h5py package provides both a high- and low-level interface to the HDF5 library from Python.""" - homepage = "http://www.h5py.org/" + homepage = "https://www.h5py.org/" pypi = "h5py/h5py-3.3.0.tar.gz" git = "https://github.com/h5py/h5py.git" maintainers = ['bryanherman', 'takluyver'] diff --git a/var/spack/repos/builtin/packages/py-htseq/package.py b/var/spack/repos/builtin/packages/py-htseq/package.py index f604ab61181..3468ed7aa3d 100644 --- a/var/spack/repos/builtin/packages/py-htseq/package.py +++ b/var/spack/repos/builtin/packages/py-htseq/package.py @@ -10,7 +10,7 @@ class PyHtseq(PythonPackage): """HTSeq is a Python package that provides infrastructure to process data from high-throughput sequencing assays.""" - homepage = "http://htseq.readthedocs.io/en/release_0.9.1/overview.html" + homepage = "https://htseq.readthedocs.io/en/release_0.9.1/overview.html" url = "https://github.com/simon-anders/htseq/archive/release_0.9.1.tar.gz" version('0.11.2', sha256='dfc707effa699d5ba9034e1bb9f13c0fb4e9bc60d31ede2444aa49c7e2fc71aa') diff --git a/var/spack/repos/builtin/packages/py-hyperopt/package.py b/var/spack/repos/builtin/packages/py-hyperopt/package.py index 6cd8f64810c..b53c15b10e5 100644 --- a/var/spack/repos/builtin/packages/py-hyperopt/package.py +++ b/var/spack/repos/builtin/packages/py-hyperopt/package.py @@ -11,7 +11,7 @@ class PyHyperopt(PythonPackage): awkward search spaces, which may include real-valued, discrete, and conditional dimensions.""" - homepage = "http://hyperopt.github.io/hyperopt/" + homepage = "https://hyperopt.github.io/hyperopt/" pypi = "hyperopt/hyperopt-0.2.5.tar.gz" version('0.2.5', sha256='bc6047d50f956ae64eebcb34b1fd40f186a93e214957f20e87af2f10195295cc') diff --git a/var/spack/repos/builtin/packages/py-imageio/package.py b/var/spack/repos/builtin/packages/py-imageio/package.py index e49849ab108..b69b0e3ae4b 100644 --- a/var/spack/repos/builtin/packages/py-imageio/package.py +++ b/var/spack/repos/builtin/packages/py-imageio/package.py @@ -12,7 +12,7 @@ class PyImageio(PythonPackage): images, video, volumetric data, and scientific formats. It is cross-platform, runs on Python 2.7 and 3.4+, and is easy to install.""" - homepage = "http://imageio.github.io/" + homepage = "https://imageio.github.io/" pypi = "imageio/imageio-2.3.0.tar.gz" version('2.9.0', sha256='52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0') diff --git a/var/spack/repos/builtin/packages/py-invoke/package.py b/var/spack/repos/builtin/packages/py-invoke/package.py index 1b98a890085..52151c2663a 100644 --- a/var/spack/repos/builtin/packages/py-invoke/package.py +++ b/var/spack/repos/builtin/packages/py-invoke/package.py @@ -9,7 +9,7 @@ class PyInvoke(PythonPackage): """Pythonic task execution""" - homepage = "http://www.pyinvoke.org/" + homepage = "https://www.pyinvoke.org/" pypi = "invoke/invoke-1.4.1.tar.gz" version('1.4.1', sha256='de3f23bfe669e3db1085789fd859eb8ca8e0c5d9c20811e2407fa042e8a5e15d') diff --git a/var/spack/repos/builtin/packages/py-itsdangerous/package.py b/var/spack/repos/builtin/packages/py-itsdangerous/package.py index 566850cee65..168af1fad07 100644 --- a/var/spack/repos/builtin/packages/py-itsdangerous/package.py +++ b/var/spack/repos/builtin/packages/py-itsdangerous/package.py @@ -9,7 +9,7 @@ class PyItsdangerous(PythonPackage): """Various helpers to pass trusted data to untrusted environments.""" - homepage = "http://github.com/mitsuhiko/itsdangerous" + homepage = "https://github.com/mitsuhiko/itsdangerous" pypi = "itsdangerous/itsdangerous-1.1.0.tar.gz" version('1.1.0', sha256='321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19') diff --git a/var/spack/repos/builtin/packages/py-jupyter-core/package.py b/var/spack/repos/builtin/packages/py-jupyter-core/package.py index 88b7c8e8af4..357c89478ea 100644 --- a/var/spack/repos/builtin/packages/py-jupyter-core/package.py +++ b/var/spack/repos/builtin/packages/py-jupyter-core/package.py @@ -9,7 +9,7 @@ class PyJupyterCore(PythonPackage): """Core Jupyter functionality""" - homepage = "http://jupyter-core.readthedocs.io/" + homepage = "https://jupyter-core.readthedocs.io/" pypi = "jupyter-core/jupyter_core-4.6.0.tar.gz" version('4.7.1', sha256='79025cb3225efcd36847d0840f3fc672c0abd7afd0de83ba8a1d3837619122b4') diff --git a/var/spack/repos/builtin/packages/py-latexcodec/package.py b/var/spack/repos/builtin/packages/py-latexcodec/package.py index a782c56a03d..0cf09c3aea2 100644 --- a/var/spack/repos/builtin/packages/py-latexcodec/package.py +++ b/var/spack/repos/builtin/packages/py-latexcodec/package.py @@ -9,7 +9,7 @@ class PyLatexcodec(PythonPackage): """A lexer and codec to work with LaTeX code in Python.""" - homepage = "http://latexcodec.readthedocs.io" + homepage = "https://latexcodec.readthedocs.io" pypi = "latexcodec/latexcodec-1.0.4.tar.gz" version('1.0.4', sha256='62bf8a3ee298f169a4d014dad5522bc1325b54dc98789a453fd338620387cb6c') diff --git a/var/spack/repos/builtin/packages/py-librosa/package.py b/var/spack/repos/builtin/packages/py-librosa/package.py index ca3e62973f1..f579bd8c89d 100644 --- a/var/spack/repos/builtin/packages/py-librosa/package.py +++ b/var/spack/repos/builtin/packages/py-librosa/package.py @@ -9,7 +9,7 @@ class PyLibrosa(PythonPackage): """A python package for music and audio analysis.""" - homepage = "http://github.com/librosa/librosa" + homepage = "https://github.com/librosa/librosa" pypi = "librosa/librosa-0.7.2.tar.gz" version('0.7.2', sha256='656bbda80e98e6330db1ead79cd084b13a762284834d7603fcf7cf7c0dc65f3c') diff --git a/var/spack/repos/builtin/packages/py-llvmlite/package.py b/var/spack/repos/builtin/packages/py-llvmlite/package.py index ff1d4013514..4f8623748d9 100644 --- a/var/spack/repos/builtin/packages/py-llvmlite/package.py +++ b/var/spack/repos/builtin/packages/py-llvmlite/package.py @@ -9,7 +9,7 @@ class PyLlvmlite(PythonPackage): """A lightweight LLVM python binding for writing JIT compilers""" - homepage = "http://llvmlite.readthedocs.io/en/latest/index.html" + homepage = "https://llvmlite.readthedocs.io/en/latest/index.html" pypi = "llvmlite/llvmlite-0.23.0.tar.gz" version('0.34.0', sha256='f03ee0d19bca8f2fe922bb424a909d05c28411983b0c2bc58b020032a0d11f63') diff --git a/var/spack/repos/builtin/packages/py-localcider/package.py b/var/spack/repos/builtin/packages/py-localcider/package.py index 679343d5840..0a6ac349af4 100644 --- a/var/spack/repos/builtin/packages/py-localcider/package.py +++ b/var/spack/repos/builtin/packages/py-localcider/package.py @@ -9,7 +9,7 @@ class PyLocalcider(PythonPackage): """Tools for calculating sequence properties of disordered proteins""" - homepage = "http://pappulab.github.io/localCIDER" + homepage = "https://pappulab.github.io/localCIDER" pypi = "localcider/localcider-0.1.14.tar.gz" version('0.1.14', sha256='54ff29e8a011947cca5df79e96f3c69a76c49c4db41dcf1608663992be3e3f5f') diff --git a/var/spack/repos/builtin/packages/py-memprof/package.py b/var/spack/repos/builtin/packages/py-memprof/package.py index e6af5a333e3..c7d0c650c65 100644 --- a/var/spack/repos/builtin/packages/py-memprof/package.py +++ b/var/spack/repos/builtin/packages/py-memprof/package.py @@ -10,7 +10,7 @@ class PyMemprof(PythonPackage): """memprof logs and plots the memory usage of all the variables during the execution of the decorated methods.""" - homepage = "http://jmdana.github.io/memprof/" + homepage = "https://jmdana.github.io/memprof/" pypi = "memprof/memprof-0.3.6.tar.gz" version('0.3.6', sha256='a8376ce476bf82a5eb465d1a30b8ffc86cc55b0b6de7aa4cdeccb4c99586d967') diff --git a/var/spack/repos/builtin/packages/py-metasv/package.py b/var/spack/repos/builtin/packages/py-metasv/package.py index 72b5a319252..3ddece1a094 100644 --- a/var/spack/repos/builtin/packages/py-metasv/package.py +++ b/var/spack/repos/builtin/packages/py-metasv/package.py @@ -10,7 +10,7 @@ class PyMetasv(PythonPackage): """An accurate and integrative structural-variant caller for next generation sequencing""" - homepage = "http://bioinform.github.io/metasv/" + homepage = "https://bioinform.github.io/metasv/" url = "https://github.com/bioinform/metasv/archive/0.5.4.tar.gz" version('0.5.4', sha256='c8613b56f44b9303b9e126618b2aee9dbc0b26c03d14e70e1aeed918582eeec1') diff --git a/var/spack/repos/builtin/packages/py-misopy/package.py b/var/spack/repos/builtin/packages/py-misopy/package.py index 181481aeefd..a09959c93fe 100644 --- a/var/spack/repos/builtin/packages/py-misopy/package.py +++ b/var/spack/repos/builtin/packages/py-misopy/package.py @@ -12,7 +12,7 @@ class PyMisopy(PythonPackage): RNA-Seq data, and identifies differentially regulated isoforms or exons across samples.""" - homepage = "http://miso.readthedocs.io/en/fastmiso/" + homepage = "https://miso.readthedocs.io/en/fastmiso/" pypi = "misopy/misopy-0.5.4.tar.gz" version('0.5.4', sha256='377a28b0c254b1920ffdc2d89cf96c3a21cadf1cf148ee6d6ef7a88ada067dfc') diff --git a/var/spack/repos/builtin/packages/py-mistune/package.py b/var/spack/repos/builtin/packages/py-mistune/package.py index eeab123626a..ea6402f7ac3 100644 --- a/var/spack/repos/builtin/packages/py-mistune/package.py +++ b/var/spack/repos/builtin/packages/py-mistune/package.py @@ -10,7 +10,7 @@ class PyMistune(PythonPackage): """ Python markdown parser """ - homepage = "http://mistune.readthedocs.org/en/latest/" + homepage = "https://mistune.readthedocs.org/en/latest/" url = "https://github.com/lepture/mistune/archive/v0.7.1.tar.gz" version('0.8.4', sha256='a1443771ea9ed7268a0cb3cf31462604ae148938ba32070bd5c54545f8f36a5d') diff --git a/var/spack/repos/builtin/packages/py-mlxtend/package.py b/var/spack/repos/builtin/packages/py-mlxtend/package.py index c2bc8523b44..6916148f5b2 100644 --- a/var/spack/repos/builtin/packages/py-mlxtend/package.py +++ b/var/spack/repos/builtin/packages/py-mlxtend/package.py @@ -10,7 +10,7 @@ class PyMlxtend(PythonPackage): """Mlxtend (machine learning extensions) is a Python library of useful tools for the day-to-day data science tasks.""" - homepage = "http://rasbt.github.io/mlxtend/" + homepage = "https://rasbt.github.io/mlxtend/" url = "https://github.com/rasbt/mlxtend/archive/v0.16.0.tar.gz" version('0.16.0', sha256='38789b36173630bf18e2244b035e7e6b44a87a0ae65cf04935cd2eecbf6595a1') diff --git a/var/spack/repos/builtin/packages/py-modred/package.py b/var/spack/repos/builtin/packages/py-modred/package.py index cf93181d4df..761410ea02c 100644 --- a/var/spack/repos/builtin/packages/py-modred/package.py +++ b/var/spack/repos/builtin/packages/py-modred/package.py @@ -10,7 +10,7 @@ class PyModred(PythonPackage): """Modred is a parallelized library for finding modal decompositions and reduced-order models. """ - homepage = "http://github.com/belson17/modred" + homepage = "https://github.com/belson17/modred" git = "https://github.com/belson17/modred.git" version('2.0.4', tag='v2.0.4') diff --git a/var/spack/repos/builtin/packages/py-moltemplate/package.py b/var/spack/repos/builtin/packages/py-moltemplate/package.py index 894ba1f5d02..0eff917533f 100644 --- a/var/spack/repos/builtin/packages/py-moltemplate/package.py +++ b/var/spack/repos/builtin/packages/py-moltemplate/package.py @@ -10,7 +10,7 @@ class PyMoltemplate(PythonPackage): """Moltemplate is a general cross-platform text-based molecule builder for LAMMPS.""" - homepage = "http://moltemplate.org" + homepage = "https://moltemplate.org" url = "https://github.com/jewettaij/moltemplate/archive/v2.5.8.tar.gz" version('2.5.8', sha256='f1e2d52249e996d85f5b1b7b50f50037da9e4b9c252cdfc622b21e79aa21162f') diff --git a/var/spack/repos/builtin/packages/py-neo/package.py b/var/spack/repos/builtin/packages/py-neo/package.py index bd301e86291..9e23395cef2 100644 --- a/var/spack/repos/builtin/packages/py-neo/package.py +++ b/var/spack/repos/builtin/packages/py-neo/package.py @@ -11,7 +11,7 @@ class PyNeo(PythonPackage): together with support for reading a wide range of neurophysiology file formats""" - homepage = "http://neuralensemble.org/neo" + homepage = "https://neuralensemble.org/neo" pypi = "neo/neo-0.4.1.tar.gz" version('0.8.0', sha256='3382a37b24a384006238b72981f1e9259de9bfa71886f8ed564d35d254ace458') diff --git a/var/spack/repos/builtin/packages/py-nestle/package.py b/var/spack/repos/builtin/packages/py-nestle/package.py index 66a50453854..7b58ae7d8d3 100644 --- a/var/spack/repos/builtin/packages/py-nestle/package.py +++ b/var/spack/repos/builtin/packages/py-nestle/package.py @@ -9,7 +9,7 @@ class PyNestle(PythonPackage): """Nested sampling algorithms for evaluating Bayesian evidence.""" - homepage = "http://kbarbary.github.io/nestle/" + homepage = "https://kbarbary.github.io/nestle/" pypi = "nestle/nestle-0.1.1.tar.gz" version('0.1.1', sha256='d236a04f25494af5cda572eecf62729592b3231fbd874b1f72aff54718a3bb08') diff --git a/var/spack/repos/builtin/packages/py-networkx/package.py b/var/spack/repos/builtin/packages/py-networkx/package.py index c20a0c1b825..e76b355a5e6 100644 --- a/var/spack/repos/builtin/packages/py-networkx/package.py +++ b/var/spack/repos/builtin/packages/py-networkx/package.py @@ -10,7 +10,7 @@ class PyNetworkx(PythonPackage): """NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.""" - homepage = "http://networkx.github.io/" + homepage = "https://networkx.github.io/" pypi = "networkx/networkx-2.4.tar.gz" version('2.5.1', sha256='109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a') diff --git a/var/spack/repos/builtin/packages/py-nilearn/package.py b/var/spack/repos/builtin/packages/py-nilearn/package.py index 34c305ad33c..8bcdb4ce580 100644 --- a/var/spack/repos/builtin/packages/py-nilearn/package.py +++ b/var/spack/repos/builtin/packages/py-nilearn/package.py @@ -9,7 +9,7 @@ class PyNilearn(PythonPackage): """Statistical learning for neuroimaging in Python.""" - homepage = "http://nilearn.github.io/" + homepage = "https://nilearn.github.io/" pypi = "nilearn/nilearn-0.7.1.tar.gz" version('0.8.0', sha256='f2d3dc81005f829f3a183efa6c90d698ea6818c06264d2e3f03e805c4340febb') diff --git a/var/spack/repos/builtin/packages/py-nipype/package.py b/var/spack/repos/builtin/packages/py-nipype/package.py index 4a387867efc..2b967684874 100644 --- a/var/spack/repos/builtin/packages/py-nipype/package.py +++ b/var/spack/repos/builtin/packages/py-nipype/package.py @@ -9,7 +9,7 @@ class PyNipype(PythonPackage): """Neuroimaging in Python: Pipelines and Interfaces.""" - homepage = "http://nipy.org/nipype" + homepage = "https://nipy.org/nipype" pypi = "nipype/nipype-1.6.0.tar.gz" version('1.6.1', sha256='8428cfc633d8e3b8c5650e241e9eedcf637b7969bcd40f3423334d4c6b0992b5') diff --git a/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py b/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py index fbe922ffac4..ee2e2890af5 100644 --- a/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py +++ b/var/spack/repos/builtin/packages/py-nvidia-ml-py/package.py @@ -7,7 +7,7 @@ class PyNvidiaMlPy(PythonPackage): """Python Bindings for the NVIDIA Management Library.""" - homepage = "http://www.nvidia.com/" + homepage = "https://www.nvidia.com/" pypi = "nvidia-ml-py/nvidia-ml-py-11.450.51.tar.gz" version('11.450.51', sha256='5aa6dd23a140b1ef2314eee5ca154a45397b03e68fd9ebc4f72005979f511c73') diff --git a/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py b/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py index 735331b3732..14db6225631 100644 --- a/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py +++ b/var/spack/repos/builtin/packages/py-nvidia-ml-py3/package.py @@ -7,7 +7,7 @@ class PyNvidiaMlPy3(PythonPackage): """Python Bindings for the NVIDIA Management Library.""" - homepage = "http://www.nvidia.com/" + homepage = "https://www.nvidia.com/" pypi = "nvidia-ml-py3/nvidia-ml-py3-7.352.0.tar.gz" version('7.352.0', sha256='390f02919ee9d73fe63a98c73101061a6b37fa694a793abf56673320f1f51277') diff --git a/var/spack/repos/builtin/packages/py-oauth2client/package.py b/var/spack/repos/builtin/packages/py-oauth2client/package.py index c239617583c..1e64160d4cf 100644 --- a/var/spack/repos/builtin/packages/py-oauth2client/package.py +++ b/var/spack/repos/builtin/packages/py-oauth2client/package.py @@ -13,7 +13,7 @@ class PyOauth2client(PythonPackage): the libraries and the core team is turning down support. We recommend you use google-auth and oauthlib.""" - homepage = "http://github.com/google/oauth2client/" + homepage = "https://github.com/google/oauth2client/" pypi = "oauth2client/oauth2client-4.1.3.tar.gz" version('4.1.3', sha256='d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6') diff --git a/var/spack/repos/builtin/packages/py-openpmd-validator/package.py b/var/spack/repos/builtin/packages/py-openpmd-validator/package.py index cede47169fc..08bd31120b1 100644 --- a/var/spack/repos/builtin/packages/py-openpmd-validator/package.py +++ b/var/spack/repos/builtin/packages/py-openpmd-validator/package.py @@ -11,7 +11,7 @@ class PyOpenpmdValidator(PythonPackage): openPMD is an open standard for particle-mesh data files.""" - homepage = "http://www.openPMD.org" + homepage = "https://www.openPMD.org" url = "https://github.com/openPMD/openPMD-validator/archive/1.0.0.2.tar.gz" maintainers = ['ax3l'] diff --git a/var/spack/repos/builtin/packages/py-openpyxl/package.py b/var/spack/repos/builtin/packages/py-openpyxl/package.py index 45ad7e72936..67ba77c7389 100644 --- a/var/spack/repos/builtin/packages/py-openpyxl/package.py +++ b/var/spack/repos/builtin/packages/py-openpyxl/package.py @@ -9,7 +9,7 @@ class PyOpenpyxl(PythonPackage): """A Python library to read/write Excel 2010 xlsx/xlsm files""" - homepage = "http://openpyxl.readthedocs.org/" + homepage = "https://openpyxl.readthedocs.org/" pypi = "openpyxl/openpyxl-3.0.3.tar.gz" version('3.0.3', sha256='547a9fc6aafcf44abe358b89ed4438d077e9d92e4f182c87e2dc294186dc4b64') diff --git a/var/spack/repos/builtin/packages/py-paramiko/package.py b/var/spack/repos/builtin/packages/py-paramiko/package.py index 598d002d79d..a34870e536e 100644 --- a/var/spack/repos/builtin/packages/py-paramiko/package.py +++ b/var/spack/repos/builtin/packages/py-paramiko/package.py @@ -10,7 +10,7 @@ class PyParamiko(PythonPackage): """SSH2 protocol library""" - homepage = "http://www.paramiko.org/" + homepage = "https://www.paramiko.org/" pypi = "paramiko/paramiko-2.7.1.tar.gz" version('2.7.1', sha256='920492895db8013f6cc0179293147f830b8c7b21fdfc839b6bad760c27459d9f') diff --git a/var/spack/repos/builtin/packages/py-patool/package.py b/var/spack/repos/builtin/packages/py-patool/package.py index c2ea73dab31..a05bc2577c4 100644 --- a/var/spack/repos/builtin/packages/py-patool/package.py +++ b/var/spack/repos/builtin/packages/py-patool/package.py @@ -9,7 +9,7 @@ class PyPatool(PythonPackage): """portable archive file manager""" - homepage = "http://wummel.github.io/patool/" + homepage = "https://wummel.github.io/patool/" pypi = "patool/patool-1.12.tar.gz" version('1.12', sha256='e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097') diff --git a/var/spack/repos/builtin/packages/py-phonopy/package.py b/var/spack/repos/builtin/packages/py-phonopy/package.py index 35e064e6416..26bf06f7dff 100644 --- a/var/spack/repos/builtin/packages/py-phonopy/package.py +++ b/var/spack/repos/builtin/packages/py-phonopy/package.py @@ -9,7 +9,7 @@ class PyPhonopy(PythonPackage): """Phonopy is an open source package for phonon calculations at harmonic and quasi-harmonic levels.""" - homepage = "http://atztogo.github.io/phonopy/index.html" + homepage = "https://atztogo.github.io/phonopy/index.html" url = "http://sourceforge.net/projects/phonopy/files/phonopy/phonopy-1.10/phonopy-1.10.0.tar.gz" version('1.10.0', sha256='6b7c540bbbb033203c45b8472696db02a3a55913a0e5eb23de4dc9a3bee473f7') diff --git a/var/spack/repos/builtin/packages/py-picrust/package.py b/var/spack/repos/builtin/packages/py-picrust/package.py index 3db338577f7..d506dbf43d9 100644 --- a/var/spack/repos/builtin/packages/py-picrust/package.py +++ b/var/spack/repos/builtin/packages/py-picrust/package.py @@ -10,7 +10,7 @@ class PyPicrust(PythonPackage): """bioinformatics software package designed to predict metagenome functional content from marker gene surveys and full genomes.""" - homepage = "http://picrust.github.io/picrust/index.html" + homepage = "https://picrust.github.io/picrust/index.html" url = "https://github.com/picrust/picrust/releases/download/v1.1.3/picrust-1.1.3.tar.gz" version('1.1.3', sha256='7538c8544899b8855deb73a2d7a4ccac4808ff294e161530a8c8762d472d8906') diff --git a/var/spack/repos/builtin/packages/py-py/package.py b/var/spack/repos/builtin/packages/py-py/package.py index f122e5cdb65..aa7ff323a55 100644 --- a/var/spack/repos/builtin/packages/py-py/package.py +++ b/var/spack/repos/builtin/packages/py-py/package.py @@ -9,7 +9,7 @@ class PyPy(PythonPackage): """Library with cross-python path, ini-parsing, io, code, log facilities""" - homepage = "http://pylib.readthedocs.io/en/latest/" + homepage = "https://pylib.readthedocs.io/en/latest/" pypi = "py/py-1.8.0.tar.gz" version('1.9.0', sha256='9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342') diff --git a/var/spack/repos/builtin/packages/py-py6s/package.py b/var/spack/repos/builtin/packages/py-py6s/package.py index c780284f623..6a99032bd8f 100644 --- a/var/spack/repos/builtin/packages/py-py6s/package.py +++ b/var/spack/repos/builtin/packages/py-py6s/package.py @@ -13,7 +13,7 @@ class PyPy6s(PythonPackage): an easily processable form. """ - homepage = "http://py6s.rtwilson.com/" + homepage = "https://py6s.rtwilson.com/" pypi = "py6s/Py6S-1.8.0.tar.gz" version('1.8.0', sha256='256162d2f1f558e601d4f79022c037a0051838ba307b9f4d1f5fcf0b46a0c277') diff --git a/var/spack/repos/builtin/packages/py-pyani/package.py b/var/spack/repos/builtin/packages/py-pyani/package.py index 12f3518acc0..e417b5519a3 100644 --- a/var/spack/repos/builtin/packages/py-pyani/package.py +++ b/var/spack/repos/builtin/packages/py-pyani/package.py @@ -13,7 +13,7 @@ class PyPyani(PythonPackage): available, it takes advantage of multicore systems, and can integrate with SGE/OGE-type job schedulers for the sequence comparisons.""" - homepage = "http://widdowquinn.github.io/pyani" + homepage = "https://widdowquinn.github.io/pyani" pypi = "pyani/pyani-0.2.7.tar.gz" version('0.2.7', sha256='dbc6c71c46fbbfeced3f8237b84474221268b51170caf044bec8559987a7deb9') diff --git a/var/spack/repos/builtin/packages/py-pybedtools/package.py b/var/spack/repos/builtin/packages/py-pybedtools/package.py index f309f9109ba..02c76b11caa 100644 --- a/var/spack/repos/builtin/packages/py-pybedtools/package.py +++ b/var/spack/repos/builtin/packages/py-pybedtools/package.py @@ -9,7 +9,7 @@ class PyPybedtools(PythonPackage): """Python wrapper -- and more -- for Aaron Quinlan's BEDTools""" - homepage = "http://daler.github.io/pybedtools" + homepage = "https://daler.github.io/pybedtools" url = "https://github.com/daler/pybedtools/archive/v0.6.9.tar.gz" version('0.8.0', sha256='f0d9f24135d13d6d02d5c0d1bded771848d3642b00a2d3c3d86b2a1fcd5ce532') diff --git a/var/spack/repos/builtin/packages/py-pyminifier/package.py b/var/spack/repos/builtin/packages/py-pyminifier/package.py index 0bd7e0b2728..ab5394c5013 100644 --- a/var/spack/repos/builtin/packages/py-pyminifier/package.py +++ b/var/spack/repos/builtin/packages/py-pyminifier/package.py @@ -9,7 +9,7 @@ class PyPyminifier(PythonPackage): """Pyminifier is a Python code minifier, obfuscator, and compressor.""" - homepage = "http://liftoff.github.io/pyminifier/" + homepage = "https://liftoff.github.io/pyminifier/" pypi = "pyminifier/pyminifier-2.1.tar.gz" version('2.1', sha256='e192618fe901830e9298825b32828bc9555ae8649e05af37bfab2db328546777') diff --git a/var/spack/repos/builtin/packages/py-pymumps/package.py b/var/spack/repos/builtin/packages/py-pymumps/package.py index 4c457f5be84..c3c1fb4eb64 100644 --- a/var/spack/repos/builtin/packages/py-pymumps/package.py +++ b/var/spack/repos/builtin/packages/py-pymumps/package.py @@ -9,7 +9,7 @@ class PyPymumps(PythonPackage): """Python bindings for MUMPS, a parallel sparse direct solver""" - homepage = "http://github.com/pymumps/pymumps" + homepage = "https://github.com/pymumps/pymumps" pypi = "PyMUMPS/PyMUMPS-0.3.2.tar.gz" git = "https://github.com/PyMumps/pymumps.git" diff --git a/var/spack/repos/builtin/packages/py-pynn/package.py b/var/spack/repos/builtin/packages/py-pynn/package.py index 4044ddb9406..5f5775c77d8 100644 --- a/var/spack/repos/builtin/packages/py-pynn/package.py +++ b/var/spack/repos/builtin/packages/py-pynn/package.py @@ -11,7 +11,7 @@ class PyPynn(PythonPackage): network models """ - homepage = "http://neuralensemble.org/PyNN/" + homepage = "https://neuralensemble.org/PyNN/" pypi = "PyNN/PyNN-0.8.3.tar.gz" git = "https://github.com/NeuralEnsemble/PyNN.git" diff --git a/var/spack/repos/builtin/packages/py-pynvml/package.py b/var/spack/repos/builtin/packages/py-pynvml/package.py index a719194cccd..035b48a3a90 100644 --- a/var/spack/repos/builtin/packages/py-pynvml/package.py +++ b/var/spack/repos/builtin/packages/py-pynvml/package.py @@ -10,7 +10,7 @@ class PyPynvml(PythonPackage): information about the NVML library, see the NVML developer page http://developer.nvidia.com/nvidia-management-library-nvml""" - homepage = "http://www.nvidia.com/" + homepage = "https://www.nvidia.com/" pypi = "pynvml/pynvml-8.0.4.tar.gz" version('8.0.4', sha256='c8d4eadc648c7e12a3c9182a9750afd8481b76412f83747bcc01e2aa829cde5d') diff --git a/var/spack/repos/builtin/packages/py-pysolar/package.py b/var/spack/repos/builtin/packages/py-pysolar/package.py index 8208908e140..1f523c10aa3 100644 --- a/var/spack/repos/builtin/packages/py-pysolar/package.py +++ b/var/spack/repos/builtin/packages/py-pysolar/package.py @@ -11,7 +11,7 @@ class PyPysolar(PythonPackage): irradiation of any point on earth by the sun. It includes code for extremely precise ephemeris calculations, and more.""" - homepage = "http://pysolar.readthedocs.io" + homepage = "https://pysolar.readthedocs.io" pypi = "pysolar/pysolar-0.8.tar.gz" version('0.8', sha256='548c05177acd2845143d9624e670635cd3e5c3a63782449ca35e090ca755c617') diff --git a/var/spack/repos/builtin/packages/py-pyspark/package.py b/var/spack/repos/builtin/packages/py-pyspark/package.py index 1dfb3204c11..68d5be974fa 100644 --- a/var/spack/repos/builtin/packages/py-pyspark/package.py +++ b/var/spack/repos/builtin/packages/py-pyspark/package.py @@ -9,7 +9,7 @@ class PyPyspark(PythonPackage): """Python bindings for Apache Spark""" - homepage = "http://spark.apache.org" + homepage = "https://spark.apache.org" pypi = "pyspark/pyspark-3.0.1.tar.gz" version('3.0.1', sha256='38b485d3634a86c9a2923c39c8f08f003fdd0e0a3d7f07114b2fb4392ce60479') diff --git a/var/spack/repos/builtin/packages/py-pytest-isort/package.py b/var/spack/repos/builtin/packages/py-pytest-isort/package.py index e51634f8bf3..846ac3671b3 100644 --- a/var/spack/repos/builtin/packages/py-pytest-isort/package.py +++ b/var/spack/repos/builtin/packages/py-pytest-isort/package.py @@ -9,7 +9,7 @@ class PyPytestIsort(PythonPackage): """py.test plugin to check import ordering using isort""" - homepage = "http://github.com/moccu/pytest-isort/" + homepage = "https://github.com/moccu/pytest-isort/" pypi = "pytest-isort/pytest-isort-0.3.1.tar.gz" version('0.3.1', sha256='4bfee60dad1870b51700d55a85f5ceda766bd9d3d2878c1bbabee80e61b1be1a') diff --git a/var/spack/repos/builtin/packages/py-pytest/package.py b/var/spack/repos/builtin/packages/py-pytest/package.py index 6dce964724e..65715fff735 100644 --- a/var/spack/repos/builtin/packages/py-pytest/package.py +++ b/var/spack/repos/builtin/packages/py-pytest/package.py @@ -9,7 +9,7 @@ class PyPytest(PythonPackage): """pytest: simple powerful testing with Python.""" - homepage = "http://pytest.org/" + homepage = "https://pytest.org/" pypi = "pytest/pytest-5.2.1.tar.gz" version('6.2.4', sha256='50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b') diff --git a/var/spack/repos/builtin/packages/py-python-engineio/package.py b/var/spack/repos/builtin/packages/py-python-engineio/package.py index fd7e8c1e228..c1e35072db7 100644 --- a/var/spack/repos/builtin/packages/py-python-engineio/package.py +++ b/var/spack/repos/builtin/packages/py-python-engineio/package.py @@ -11,7 +11,7 @@ class PyPythonEngineio(PythonPackage): cross-browser/cross-device bi-directional communication layer for Socket.IO.""" - homepage = "http://python-engineio.readthedocs.io/en/latest/" + homepage = "https://python-engineio.readthedocs.io/en/latest/" url = "https://github.com/miguelgrinberg/python-engineio/archive/v2.0.2.tar.gz" version('2.0.2', sha256='9fbe531108a95bc61518b61c4718e2661fc81d32b54fd6af34799bf10a367a6b') diff --git a/var/spack/repos/builtin/packages/py-python-fmask/package.py b/var/spack/repos/builtin/packages/py-python-fmask/package.py index 51df3a7a43a..9e5acb9b9ef 100644 --- a/var/spack/repos/builtin/packages/py-python-fmask/package.py +++ b/var/spack/repos/builtin/packages/py-python-fmask/package.py @@ -10,7 +10,7 @@ class PyPythonFmask(PythonPackage): """A set of command line utilities and Python modules that implement the FMASK algorithm for Landsat and Sentinel-2""" - homepage = "http://www.pythonfmask.org/en/latest/" + homepage = "https://www.pythonfmask.org/en/latest/" url = "https://github.com/ubarsc/python-fmask/archive/pythonfmask-0.5.4.tar.gz" version('0.5.4', sha256='a216aa3108de837fec182602b2b4708442746be31fc1585906802437784a63fe') diff --git a/var/spack/repos/builtin/packages/py-pytz/package.py b/var/spack/repos/builtin/packages/py-pytz/package.py index bcc1a8327e0..f995af7ac2f 100644 --- a/var/spack/repos/builtin/packages/py-pytz/package.py +++ b/var/spack/repos/builtin/packages/py-pytz/package.py @@ -9,7 +9,7 @@ class PyPytz(PythonPackage): """World timezone definitions, modern and historical.""" - homepage = "http://pythonhosted.org/pytz" + homepage = "https://pythonhosted.org/pytz" pypi = "pytz/pytz-2019.3.tar.gz" version('2020.1', sha256='c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048') diff --git a/var/spack/repos/builtin/packages/py-pyvcf/package.py b/var/spack/repos/builtin/packages/py-pyvcf/package.py index 47ecbb5df9e..9285fc84ebc 100644 --- a/var/spack/repos/builtin/packages/py-pyvcf/package.py +++ b/var/spack/repos/builtin/packages/py-pyvcf/package.py @@ -9,7 +9,7 @@ class PyPyvcf(PythonPackage): """A Variant Call Format reader for Python""" - homepage = "http://pyvcf.readthedocs.org/en/latest/index.html" + homepage = "https://pyvcf.readthedocs.org/en/latest/index.html" url = "https://github.com/jamescasbon/PyVCF/archive/v0.6.0.tar.gz" version('0.6.0', sha256='a360376d445e27b74db3216f6931a94a4ea99aa4a7f4b4a8347e7f11836698b9') diff --git a/var/spack/repos/builtin/packages/py-qtconsole/package.py b/var/spack/repos/builtin/packages/py-qtconsole/package.py index ca0e3a0d13e..8ff12768b1f 100644 --- a/var/spack/repos/builtin/packages/py-qtconsole/package.py +++ b/var/spack/repos/builtin/packages/py-qtconsole/package.py @@ -9,7 +9,7 @@ class PyQtconsole(PythonPackage): """Jupyter Qt console""" - homepage = "http://ipython.org" + homepage = "https://ipython.org" pypi = "qtconsole/qtconsole-4.2.1.tar.gz" version('4.5.1', sha256='4af84facdd6f00a6b9b2927255f717bb23ae4b7a20ba1d9ef0a5a5a8dbe01ae2') diff --git a/var/spack/repos/builtin/packages/py-quantities/package.py b/var/spack/repos/builtin/packages/py-quantities/package.py index 1bee1ac00f8..fcb2abd41a9 100644 --- a/var/spack/repos/builtin/packages/py-quantities/package.py +++ b/var/spack/repos/builtin/packages/py-quantities/package.py @@ -9,7 +9,7 @@ class PyQuantities(PythonPackage): """Support for physical quantities with units, based on numpy""" - homepage = "http://python-quantities.readthedocs.org" + homepage = "https://python-quantities.readthedocs.org" pypi = "quantities/quantities-0.12.1.tar.gz" version('0.12.1', sha256='0a03e8511db603c57ca80dee851c43f08d0457f4d592bcac2e154570756cb934') diff --git a/var/spack/repos/builtin/packages/py-quast/package.py b/var/spack/repos/builtin/packages/py-quast/package.py index e605d1bfb79..b0aaaab286d 100644 --- a/var/spack/repos/builtin/packages/py-quast/package.py +++ b/var/spack/repos/builtin/packages/py-quast/package.py @@ -9,7 +9,7 @@ class PyQuast(PythonPackage): """Quality Assessment Tool for Genome Assemblies""" - homepage = "http://cab.spbu.ru/software/quast" + homepage = "https://cab.spbu.ru/software/quast" url = "https://github.com/ablab/quast/archive/quast_4.6.1.tar.gz" version('4.6.3', sha256='d7f5e670563d17d683f6df057086f7b816b6a088266c6270f7114a1406aaab63') diff --git a/var/spack/repos/builtin/packages/py-rfc3986/package.py b/var/spack/repos/builtin/packages/py-rfc3986/package.py index c7d6353ec78..60af8af5889 100644 --- a/var/spack/repos/builtin/packages/py-rfc3986/package.py +++ b/var/spack/repos/builtin/packages/py-rfc3986/package.py @@ -10,7 +10,7 @@ class PyRfc3986(PythonPackage): """A Python implementation of RFC 3986 including validation and authority parsing.""" - homepage = "http://rfc3986.readthedocs.io/" + homepage = "https://rfc3986.readthedocs.io/" pypi = "rfc3986/rfc3986-1.4.0.tar.gz" version('1.4.0', sha256='112398da31a3344dc25dbf477d8df6cb34f9278a94fee2625d89e4514be8bb9d') diff --git a/var/spack/repos/builtin/packages/py-rios/package.py b/var/spack/repos/builtin/packages/py-rios/package.py index b611cfc10c8..1eac1c5b33c 100644 --- a/var/spack/repos/builtin/packages/py-rios/package.py +++ b/var/spack/repos/builtin/packages/py-rios/package.py @@ -14,7 +14,7 @@ class PyRios(PythonPackage): etc., allowing the programmer to concentrate on the processing involved. """ - homepage = "http://www.rioshome.org/en/latest/" + homepage = "https://www.rioshome.org/en/latest/" url = "https://github.com/ubarsc/rios/archive/rios-1.4.10.tar.gz" version('1.4.10', sha256='7f11b54eb1f2ec551d7fc01c039b60bf2c67f0c2fc5b2946f8d986d6a9bc7063') diff --git a/var/spack/repos/builtin/packages/py-rise/package.py b/var/spack/repos/builtin/packages/py-rise/package.py index 596893f2745..3f4d480dfe4 100644 --- a/var/spack/repos/builtin/packages/py-rise/package.py +++ b/var/spack/repos/builtin/packages/py-rise/package.py @@ -9,7 +9,7 @@ class PyRise(PythonPackage): """Reveal.js - Jupyter/IPython Slideshow Extension""" - homepage = "http://rise.readthedocs.io/" + homepage = "https://rise.readthedocs.io/" pypi = "rise/rise-5.6.1.tar.gz" version('5.6.1', sha256='1343f068d01adc4dd0226d9b278ce93fc92f365d827431a57e8d5679eb39f4d6') diff --git a/var/spack/repos/builtin/packages/py-rnacocktail/package.py b/var/spack/repos/builtin/packages/py-rnacocktail/package.py index b8673a0e2a2..2250d968133 100644 --- a/var/spack/repos/builtin/packages/py-rnacocktail/package.py +++ b/var/spack/repos/builtin/packages/py-rnacocktail/package.py @@ -10,7 +10,7 @@ class PyRnacocktail(PythonPackage): """RNACocktail: A comprehensive framework for accurate and efficient RNA-Seq analysis.""" - homepage = "http://bioinform.github.io/rnacocktail/" + homepage = "https://bioinform.github.io/rnacocktail/" url = "https://github.com/bioinform/rnacocktail/archive/v0.2.2.tar.gz" version('0.2.2', sha256='34aa0d1d7bd9d80303fe7dac5acc0519f7c1ed986397692588343d82ce45c7a5') diff --git a/var/spack/repos/builtin/packages/py-salib/package.py b/var/spack/repos/builtin/packages/py-salib/package.py index 026c1cf2928..8a1de65e0eb 100644 --- a/var/spack/repos/builtin/packages/py-salib/package.py +++ b/var/spack/repos/builtin/packages/py-salib/package.py @@ -9,7 +9,7 @@ class PySalib(PythonPackage): """Python implementations of commonly used sensitivity analysis methods.""" - homepage = "http://salib.readthedocs.org" + homepage = "https://salib.readthedocs.org" pypi = "SALib/SALib-1.4.0.1.tar.gz" maintainers = ['schmitts'] diff --git a/var/spack/repos/builtin/packages/py-seaborn/package.py b/var/spack/repos/builtin/packages/py-seaborn/package.py index 8ecc814ea2e..a2862014ba3 100644 --- a/var/spack/repos/builtin/packages/py-seaborn/package.py +++ b/var/spack/repos/builtin/packages/py-seaborn/package.py @@ -14,7 +14,7 @@ class PySeaborn(PythonPackage): integrated with the PyData stack, including support for numpy and pandas data structures and statistical routines from scipy and statsmodels.""" - homepage = "http://seaborn.pydata.org/" + homepage = "https://seaborn.pydata.org/" pypi = "seaborn/seaborn-0.7.1.tar.gz" version('0.11.1', sha256='44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad') diff --git a/var/spack/repos/builtin/packages/py-sfepy/package.py b/var/spack/repos/builtin/packages/py-sfepy/package.py index aa9845c3fe3..ac2fab19f75 100644 --- a/var/spack/repos/builtin/packages/py-sfepy/package.py +++ b/var/spack/repos/builtin/packages/py-sfepy/package.py @@ -13,7 +13,7 @@ class PySfepy(PythonPackage): package which can be used for building custom applications. """ - homepage = "http://sfepy.org" + homepage = "https://sfepy.org" url = "https://github.com/sfepy/sfepy/archive/release_2017.3.tar.gz" version('2017.3', sha256='d13642b7abed63b83b7eaef4dfce6e84a5afc5798bc7ffa1c413e3e44b5e5996') diff --git a/var/spack/repos/builtin/packages/py-sncosmo/package.py b/var/spack/repos/builtin/packages/py-sncosmo/package.py index ded27737871..cdc2f2e934f 100644 --- a/var/spack/repos/builtin/packages/py-sncosmo/package.py +++ b/var/spack/repos/builtin/packages/py-sncosmo/package.py @@ -10,7 +10,7 @@ class PySncosmo(PythonPackage): """SNCosmo is a Python library for high-level supernova cosmology analysis.""" - homepage = "http://sncosmo.readthedocs.io/" + homepage = "https://sncosmo.readthedocs.io/" pypi = "sncosmo/sncosmo-1.2.0.tar.gz" version('1.2.0', sha256='f3969eec5b25f60c70418dbd64765a2b4735bb53c210c61d0aab68916daea588') diff --git a/var/spack/repos/builtin/packages/py-spglib/package.py b/var/spack/repos/builtin/packages/py-spglib/package.py index 39db9730839..064cec083f9 100644 --- a/var/spack/repos/builtin/packages/py-spglib/package.py +++ b/var/spack/repos/builtin/packages/py-spglib/package.py @@ -10,7 +10,7 @@ class PySpglib(PythonPackage): """Python bindings for C library for finding and handling crystal symmetries.""" - homepage = "http://atztogo.github.io/spglib/" + homepage = "https://atztogo.github.io/spglib/" pypi = "spglib/spglib-1.9.9.18.tar.gz" version('1.9.9.18', sha256='cbbb8383320b500dc6100b83d5e914a26a97ef8fc97c82d8921b10220e4126cd') diff --git a/var/spack/repos/builtin/packages/py-symfit/package.py b/var/spack/repos/builtin/packages/py-symfit/package.py index ce89747216b..0ec51b82c52 100644 --- a/var/spack/repos/builtin/packages/py-symfit/package.py +++ b/var/spack/repos/builtin/packages/py-symfit/package.py @@ -9,7 +9,7 @@ class PySymfit(PythonPackage): """Symbolic Fitting; fitting as it should be.""" - homepage = "http://symfit.readthedocs.org" + homepage = "https://symfit.readthedocs.org" pypi = "symfit/symfit-0.3.5.tar.gz" version('0.3.5', sha256='24c66305895c590249da7e61f62f128ee1c0c43c0a8c8e33b8abd3e0931f0881') diff --git a/var/spack/repos/builtin/packages/py-tables/package.py b/var/spack/repos/builtin/packages/py-tables/package.py index 4daade0be09..551c774f7bb 100644 --- a/var/spack/repos/builtin/packages/py-tables/package.py +++ b/var/spack/repos/builtin/packages/py-tables/package.py @@ -10,7 +10,7 @@ class PyTables(PythonPackage): """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data.""" - homepage = "http://www.pytables.org/" + homepage = "https://www.pytables.org/" pypi = "tables/tables-3.6.1.tar.gz" version('3.6.1', sha256='49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49') diff --git a/var/spack/repos/builtin/packages/py-tomopy/package.py b/var/spack/repos/builtin/packages/py-tomopy/package.py index 421265ed6b3..4eac9165112 100644 --- a/var/spack/repos/builtin/packages/py-tomopy/package.py +++ b/var/spack/repos/builtin/packages/py-tomopy/package.py @@ -11,7 +11,7 @@ class PyTomopy(PythonPackage): """TomoPy is an open-source Python package for tomographic data processing and image reconstruction.""" - homepage = "http://tomopy.readthedocs.io/en/latest/index.html" + homepage = "https://tomopy.readthedocs.io/en/latest/index.html" url = "https://github.com/tomopy/tomopy/archive/1.0.0.tar.gz" version('1.0.0', sha256='ee45f7a062e5a66d6f18a904d2e204e48d85a1ce1464156f9e2f6353057dfe4c') diff --git a/var/spack/repos/builtin/packages/py-tpot/package.py b/var/spack/repos/builtin/packages/py-tpot/package.py index c064797fe66..b595adc69e9 100644 --- a/var/spack/repos/builtin/packages/py-tpot/package.py +++ b/var/spack/repos/builtin/packages/py-tpot/package.py @@ -12,7 +12,7 @@ class PyTpot(PythonPackage): pipelines using genetic programming. """ - homepage = "http://epistasislab.github.io/tpot/" + homepage = "https://epistasislab.github.io/tpot/" pypi = "tpot/TPOT-0.11.5.tar.gz" version('0.11.5', sha256='909be08b29165ce48de5e5d2e3fd73fee9aeeaf1030f2e0912ce0f0bd9c3d2f3') diff --git a/var/spack/repos/builtin/packages/py-urwid/package.py b/var/spack/repos/builtin/packages/py-urwid/package.py index b7dfb6ae42b..a04c4e3e2d8 100644 --- a/var/spack/repos/builtin/packages/py-urwid/package.py +++ b/var/spack/repos/builtin/packages/py-urwid/package.py @@ -8,7 +8,7 @@ class PyUrwid(PythonPackage): """A full-featured console UI library""" - homepage = "http://urwid.org/" + homepage = "https://urwid.org/" pypi = "urwid/urwid-1.3.0.tar.gz" version('1.3.0', sha256='29f04fad3bf0a79c5491f7ebec2d50fa086e9d16359896c9204c6a92bc07aba2') diff --git a/var/spack/repos/builtin/packages/py-wand/package.py b/var/spack/repos/builtin/packages/py-wand/package.py index ae1bf545a2e..8ca6df2c2c4 100644 --- a/var/spack/repos/builtin/packages/py-wand/package.py +++ b/var/spack/repos/builtin/packages/py-wand/package.py @@ -10,7 +10,7 @@ class PyWand(PythonPackage): """Wand is a ctypes-based simple ImageMagick binding for Python. """ - homepage = "http://docs.wand-py.org" + homepage = "https://docs.wand-py.org" pypi = "Wand/Wand-0.5.6.tar.gz" version('0.5.6', sha256='d06b59f36454024ce952488956319eb542d5dc65f1e1b00fead71df94dbfcf88') diff --git a/var/spack/repos/builtin/packages/py-wcsaxes/package.py b/var/spack/repos/builtin/packages/py-wcsaxes/package.py index fe73bb354b8..3072e53da42 100644 --- a/var/spack/repos/builtin/packages/py-wcsaxes/package.py +++ b/var/spack/repos/builtin/packages/py-wcsaxes/package.py @@ -10,7 +10,7 @@ class PyWcsaxes(PythonPackage): """WCSAxes is a framework for making plots of Astronomical data in Matplotlib.""" - homepage = "http://wcsaxes.readthedocs.io/en/latest/index.html" + homepage = "https://wcsaxes.readthedocs.io/en/latest/index.html" url = "https://github.com/astrofrog/wcsaxes/archive/v0.8.tar.gz" version('0.8', sha256='9c6addc1ec04cc99617850354b2c03dbd4099d2e43b45a81f8bc3069de9c8e83') diff --git a/var/spack/repos/builtin/packages/py-zict/package.py b/var/spack/repos/builtin/packages/py-zict/package.py index 58588c26d55..5988c4fb575 100644 --- a/var/spack/repos/builtin/packages/py-zict/package.py +++ b/var/spack/repos/builtin/packages/py-zict/package.py @@ -9,7 +9,7 @@ class PyZict(PythonPackage): """Mutable mapping tools""" - homepage = "http://zict.readthedocs.io/en/latest/" + homepage = "https://zict.readthedocs.io/en/latest/" pypi = "zict/zict-1.0.0.tar.gz" version('1.0.0', sha256='e34dd25ea97def518fb4c77f2c27078f3a7d6c965b0a3ac8fe5bdb0a8011a310') diff --git a/var/spack/repos/builtin/packages/qbank/package.py b/var/spack/repos/builtin/packages/qbank/package.py index 89f0622a213..98f0ff599ee 100644 --- a/var/spack/repos/builtin/packages/qbank/package.py +++ b/var/spack/repos/builtin/packages/qbank/package.py @@ -21,7 +21,7 @@ class Qbank(Package): # QBank is so old that it no longer has (never had?) a homepage # but it was developed at Pacific Northwest National Laboratory # by Scott Jackson - homepage = "http://www.pnnl.gov/" + homepage = "https://www.pnnl.gov/" url = "file://{0}/qbank-2.10.4.tar.gz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/qmcpack/package.py b/var/spack/repos/builtin/packages/qmcpack/package.py index 47320549988..a7124fe946c 100644 --- a/var/spack/repos/builtin/packages/qmcpack/package.py +++ b/var/spack/repos/builtin/packages/qmcpack/package.py @@ -13,7 +13,7 @@ class Qmcpack(CMakePackage, CudaPackage): Carlo (QMC) simulation code.""" # Package information - homepage = "http://www.qmcpack.org/" + homepage = "https://www.qmcpack.org/" git = "https://github.com/QMCPACK/qmcpack.git" maintainers = ['naromero77'] tags = ['ecp', 'ecp-apps'] diff --git a/var/spack/repos/builtin/packages/quartz/package.py b/var/spack/repos/builtin/packages/quartz/package.py index 5dfe077da9d..c5303a937ac 100644 --- a/var/spack/repos/builtin/packages/quartz/package.py +++ b/var/spack/repos/builtin/packages/quartz/package.py @@ -12,7 +12,7 @@ class Quartz(MavenPackage): application - from the smallest stand-alone application to the largest e-commerce system.""" - homepage = "http://www.quartz-scheduler.org/" + homepage = "https://www.quartz-scheduler.org/" url = "https://github.com/quartz-scheduler/quartz/archive/v2.3.2.tar.gz" version('2.3.2', sha256='058c64777956aeaad3e79e2307f0f512c66d29acf026ea8373ad359050f6856c') diff --git a/var/spack/repos/builtin/packages/quinoa/package.py b/var/spack/repos/builtin/packages/quinoa/package.py index 0fb326c7b5e..7188fe029d6 100644 --- a/var/spack/repos/builtin/packages/quinoa/package.py +++ b/var/spack/repos/builtin/packages/quinoa/package.py @@ -14,7 +14,7 @@ class Quinoa(CMakePackage): systems. """ - homepage = "http://quinoacomputing.org" + homepage = "https://quinoacomputing.org" git = "https://github.com/quinoacomputing/quinoa.git" version('develop', branch='master') diff --git a/var/spack/repos/builtin/packages/r-ade4/package.py b/var/spack/repos/builtin/packages/r-ade4/package.py index 61c184ce2ea..84dda495dbe 100644 --- a/var/spack/repos/builtin/packages/r-ade4/package.py +++ b/var/spack/repos/builtin/packages/r-ade4/package.py @@ -17,7 +17,7 @@ class RAde4(RPackage): STATIS, multiple coinertia analysis). The philosophy of the package is described in Dray and Dufour (2007) .""" - homepage = "http://pbil.univ-lyon1.fr/ADE-4" + homepage = "https://pbil.univ-lyon1.fr/ADE-4" url = "https://cloud.r-project.org/src/contrib/ade4_1.7-6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/ade4" diff --git a/var/spack/repos/builtin/packages/r-adegraphics/package.py b/var/spack/repos/builtin/packages/r-adegraphics/package.py index 9be47f468ef..d74f11d9535 100644 --- a/var/spack/repos/builtin/packages/r-adegraphics/package.py +++ b/var/spack/repos/builtin/packages/r-adegraphics/package.py @@ -14,7 +14,7 @@ class RAdegraphics(RPackage): It is a complete re-implementation of the functions available in the 'ade4' package.""" - homepage = "http://pbil.univ-lyon1.fr/ADE-4" + homepage = "https://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" diff --git a/var/spack/repos/builtin/packages/r-anytime/package.py b/var/spack/repos/builtin/packages/r-anytime/package.py index d77250de271..e452285f952 100644 --- a/var/spack/repos/builtin/packages/r-anytime/package.py +++ b/var/spack/repos/builtin/packages/r-anytime/package.py @@ -14,7 +14,7 @@ class RAnytime(RPackage): using one of a number of predefined formats, and relying on Boost facilities for date and time parsing.""" - homepage = "http://dirk.eddelbuettel.com/code/anytime.html" + homepage = "https://dirk.eddelbuettel.com/code/anytime.html" url = "https://cloud.r-project.org/src/contrib/anytime_0.3.9.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/anytime" diff --git a/var/spack/repos/builtin/packages/r-base64enc/package.py b/var/spack/repos/builtin/packages/r-base64enc/package.py index 83c45d7c156..494e3e54ffa 100644 --- a/var/spack/repos/builtin/packages/r-base64enc/package.py +++ b/var/spack/repos/builtin/packages/r-base64enc/package.py @@ -10,7 +10,7 @@ class RBase64enc(RPackage): """This package provides tools for handling base64 encoding. It is more flexible than the orphaned base64 package.""" - homepage = "http://www.rforge.net/base64enc" + homepage = "https://www.rforge.net/base64enc" url = "https://cloud.r-project.org/src/contrib/base64enc_0.1-3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/base64enc" diff --git a/var/spack/repos/builtin/packages/r-beeswarm/package.py b/var/spack/repos/builtin/packages/r-beeswarm/package.py index 4cbef7c186e..37bc2ba755e 100644 --- a/var/spack/repos/builtin/packages/r-beeswarm/package.py +++ b/var/spack/repos/builtin/packages/r-beeswarm/package.py @@ -9,7 +9,7 @@ class RBeeswarm(RPackage): """beeswarm: The Bee Swarm Plot, an Alternative to Stripchart""" - homepage = "http://www.cbs.dtu.dk/~eklund/beeswarm/" + homepage = "https://www.cbs.dtu.dk/~eklund/beeswarm/" url = "https://cloud.r-project.org/src/contrib/beeswarm_0.2.3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/beeswarm" diff --git a/var/spack/repos/builtin/packages/r-broom/package.py b/var/spack/repos/builtin/packages/r-broom/package.py index 68e1dda72af..6153e41a695 100644 --- a/var/spack/repos/builtin/packages/r-broom/package.py +++ b/var/spack/repos/builtin/packages/r-broom/package.py @@ -18,7 +18,7 @@ class RBroom(RPackage): measures like AIC and BIC. augment() adds information about individual observations to a dataset, such as fitted values or influence measures.""" - homepage = "http://github.com/tidyverse/broom" + homepage = "https://github.com/tidyverse/broom" url = "https://cloud.r-project.org/src/contrib/broom_0.4.2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/broom" diff --git a/var/spack/repos/builtin/packages/r-class/package.py b/var/spack/repos/builtin/packages/r-class/package.py index 0dfbb3fafab..b61fb9b8c66 100644 --- a/var/spack/repos/builtin/packages/r-class/package.py +++ b/var/spack/repos/builtin/packages/r-class/package.py @@ -12,7 +12,7 @@ class RClass(RPackage): Various functions for classification, including k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.""" - homepage = "http://www.stats.ox.ac.uk/pub/MASS4/" + homepage = "https://www.stats.ox.ac.uk/pub/MASS4/" url = "https://cloud.r-project.org/src/contrib/class_7.3-14.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/class" diff --git a/var/spack/repos/builtin/packages/r-codex/package.py b/var/spack/repos/builtin/packages/r-codex/package.py index 02ad9e94968..da5678202b2 100644 --- a/var/spack/repos/builtin/packages/r-codex/package.py +++ b/var/spack/repos/builtin/packages/r-codex/package.py @@ -20,7 +20,7 @@ class RCodex(RPackage): segmentation procedure that explicitly models the count-based exome sequencing data.""" - homepage = "http://www.bioconductor.org/packages/release/bioc/html/CODEX.html" + homepage = "https://www.bioconductor.org/packages/release/bioc/html/CODEX.html" git = "https://git.bioconductor.org/packages/CODEX" version('1.22.0', commit='aa0ee4278111a46e0c790312b0526ba07aab22eb') diff --git a/var/spack/repos/builtin/packages/r-copula/package.py b/var/spack/repos/builtin/packages/r-copula/package.py index 7a55eef5704..908bf3ab051 100644 --- a/var/spack/repos/builtin/packages/r-copula/package.py +++ b/var/spack/repos/builtin/packages/r-copula/package.py @@ -22,7 +22,7 @@ class RCopula(RPackage): copula, smoothed versions, and non-parametric estimators of the Pickands dependence function.""" - homepage = "http://copula.r-forge.r-project.org/" + homepage = "https://copula.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/copula_0.999-20.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/copula" diff --git a/var/spack/repos/builtin/packages/r-dada2/package.py b/var/spack/repos/builtin/packages/r-dada2/package.py index b4b82ae150a..3013d434dda 100644 --- a/var/spack/repos/builtin/packages/r-dada2/package.py +++ b/var/spack/repos/builtin/packages/r-dada2/package.py @@ -10,7 +10,7 @@ class RDada2(RPackage): """Accurate sample inference from amplicon data with single nucleotide resolution""" - homepage = "http://benjjneb.github.io/dada2/" + homepage = "https://benjjneb.github.io/dada2/" url = "https://github.com/benjjneb/dada2/archive/v1.14.tar.gz" version('1.14', sha256='19980b9d7b0a0e80e86010357cae11d1fc07c2d02067c4445169143cf1f99906') diff --git a/var/spack/repos/builtin/packages/r-digest/package.py b/var/spack/repos/builtin/packages/r-digest/package.py index ee27fc8af12..07ea211795f 100644 --- a/var/spack/repos/builtin/packages/r-digest/package.py +++ b/var/spack/repos/builtin/packages/r-digest/package.py @@ -26,7 +26,7 @@ class RDigest(RPackage): comprehensive (and widely tested) libraries such as OpenSSL should be used.""" - homepage = "http://dirk.eddelbuettel.com/code/digest.html" + homepage = "https://dirk.eddelbuettel.com/code/digest.html" url = "https://cloud.r-project.org/src/contrib/digest_0.6.12.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/digest" diff --git a/var/spack/repos/builtin/packages/r-diversitree/package.py b/var/spack/repos/builtin/packages/r-diversitree/package.py index ddad9ee891b..8b51ceb4e94 100644 --- a/var/spack/repos/builtin/packages/r-diversitree/package.py +++ b/var/spack/repos/builtin/packages/r-diversitree/package.py @@ -18,7 +18,7 @@ class RDiversitree(RPackage): models of discrete and continuous trait evolution and constant rate 'speciation' and extinction.""" - homepage = "http://www.zoology.ubc.ca/prog/diversitree" + homepage = "https://www.zoology.ubc.ca/prog/diversitree" url = "https://cloud.r-project.org/src/contrib/diversitree_0.9-10.tar.gz" list_url = "https://cron.r-project.org/src/contrib/Archive/diversitree" diff --git a/var/spack/repos/builtin/packages/r-dss/package.py b/var/spack/repos/builtin/packages/r-dss/package.py index 02de075e170..0b66b4ac00e 100644 --- a/var/spack/repos/builtin/packages/r-dss/package.py +++ b/var/spack/repos/builtin/packages/r-dss/package.py @@ -16,7 +16,7 @@ class RDss(RPackage): shrinkage method for estimating the dispersion parameter from Gamma-Poisson or Beta-Binomial distributions.""" - homepage = "http://bioconductor.org/packages/DSS/" + homepage = "https://bioconductor.org/packages/DSS/" git = "https://git.bioconductor.org/packages/DSS" version('2.38.0', commit='82e65b92e6e227f1f99620362db8b03059e07e98') diff --git a/var/spack/repos/builtin/packages/r-dt/package.py b/var/spack/repos/builtin/packages/r-dt/package.py index 3b920485653..a0fc8655a6f 100644 --- a/var/spack/repos/builtin/packages/r-dt/package.py +++ b/var/spack/repos/builtin/packages/r-dt/package.py @@ -14,7 +14,7 @@ class RDt(RPackage): library has been included in this R package. The package name 'DT' is an abbreviation of 'DataTables'.""" - homepage = "http://rstudio.github.io/DT" + homepage = "https://rstudio.github.io/DT" url = "https://cloud.r-project.org/src/contrib/DT_0.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/DT" diff --git a/var/spack/repos/builtin/packages/r-ergm/package.py b/var/spack/repos/builtin/packages/r-ergm/package.py index 8314f66bfa8..67dfc4487cf 100644 --- a/var/spack/repos/builtin/packages/r-ergm/package.py +++ b/var/spack/repos/builtin/packages/r-ergm/package.py @@ -13,7 +13,7 @@ class RErgm(RPackage): exponential-family random graph models (ERGM). "ergm" is a part of the "statnet" suite of packages for network analysis.""" - homepage = "http://statnet.org" + homepage = "https://statnet.org" url = "https://cloud.r-project.org/src/contrib/ergm_3.7.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/ergm" diff --git a/var/spack/repos/builtin/packages/r-exomecopy/package.py b/var/spack/repos/builtin/packages/r-exomecopy/package.py index 63cea83434e..10b5b51b7dc 100644 --- a/var/spack/repos/builtin/packages/r-exomecopy/package.py +++ b/var/spack/repos/builtin/packages/r-exomecopy/package.py @@ -15,7 +15,7 @@ class RExomecopy(RPackage): GC-content, to simultaneously normalize and segment the samples into regions of constant copy count.""" - homepage = "http://www.bioconductor.org/packages/release/bioc/html/exomeCopy.html" + homepage = "https://www.bioconductor.org/packages/release/bioc/html/exomeCopy.html" git = "https://git.bioconductor.org/packages/exomeCopy" version('1.36.0', commit='cbe3134acbbc9b7d5426ae2f142dc64cadb3fc26') diff --git a/var/spack/repos/builtin/packages/r-fastmatch/package.py b/var/spack/repos/builtin/packages/r-fastmatch/package.py index 4b4fe3f9fa8..2af39a39419 100644 --- a/var/spack/repos/builtin/packages/r-fastmatch/package.py +++ b/var/spack/repos/builtin/packages/r-fastmatch/package.py @@ -12,7 +12,7 @@ class RFastmatch(RPackage): function on first match against a table, but extremely fast on any subsequent lookup as it keeps the hash table in memory.""" - homepage = "http://www.rforge.net/fastmatch" + homepage = "https://www.rforge.net/fastmatch" url = "https://cloud.r-project.org/src/contrib/fastmatch_1.1-0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/fastmatch" diff --git a/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg18/package.py b/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg18/package.py index 59907838af9..f84223b4a21 100644 --- a/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg18/package.py +++ b/var/spack/repos/builtin/packages/r-fdb-infiniummethylation-hg18/package.py @@ -12,7 +12,7 @@ class RFdbInfiniummethylationHg18(RPackage): Compiled HumanMethylation27 and HumanMethylation450 annotations""" # This is a bioconductor package but there is no available git repository - homepage = "http://bioconductor.org/packages/release/data/annotation/html/FDb.InfiniumMethylation.hg18.html" + homepage = "https://bioconductor.org/packages/release/data/annotation/html/FDb.InfiniumMethylation.hg18.html" url = "http://bioconductor.org/packages/release/data/annotation/src/contrib/FDb.InfiniumMethylation.hg18_2.2.0.tar.gz" version('2.2.0', sha256='4a9028ac03c11fffbab731ea750bc7f9b0884fc43c6a8dac6eb2c644e4c79f6f') diff --git a/var/spack/repos/builtin/packages/r-ff/package.py b/var/spack/repos/builtin/packages/r-ff/package.py index 8e0552852fa..92ba43bd006 100644 --- a/var/spack/repos/builtin/packages/r-ff/package.py +++ b/var/spack/repos/builtin/packages/r-ff/package.py @@ -51,7 +51,7 @@ class RFf(RPackage): datasets and quickly modify selection criteria. Further high-performance enhancements can be made available upon request.x """ - homepage = "http://ff.r-forge.r-project.org/" + homepage = "https://ff.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/ff_2.2-13.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/ff" diff --git a/var/spack/repos/builtin/packages/r-fpc/package.py b/var/spack/repos/builtin/packages/r-fpc/package.py index 5ed8efa0252..39faad197b5 100644 --- a/var/spack/repos/builtin/packages/r-fpc/package.py +++ b/var/spack/repos/builtin/packages/r-fpc/package.py @@ -26,7 +26,7 @@ class RFpc(RPackage): Modality diagnosis for Gaussian mixtures. For an overview see package?fpc.""" - homepage = "http://www.homepages.ucl.ac.uk/~ucakche" + homepage = "https://www.homepages.ucl.ac.uk/~ucakche" url = "https://cloud.r-project.org/src/contrib/fpc_2.1-10.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/fpc" diff --git a/var/spack/repos/builtin/packages/r-gmodels/package.py b/var/spack/repos/builtin/packages/r-gmodels/package.py index 2244cfdb074..6fc0f8fcd9d 100644 --- a/var/spack/repos/builtin/packages/r-gmodels/package.py +++ b/var/spack/repos/builtin/packages/r-gmodels/package.py @@ -9,7 +9,7 @@ class RGmodels(RPackage): """Various R programming tools for model fitting.""" - homepage = "http://www.sf.net/projects/r-gregmisc" + homepage = "https://www.sf.net/projects/r-gregmisc" url = "https://cloud.r-project.org/src/contrib/gmodels_2.16.2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/gmodels" diff --git a/var/spack/repos/builtin/packages/r-grbase/package.py b/var/spack/repos/builtin/packages/r-grbase/package.py index 05fd96d5a17..0b1a6b9324c 100644 --- a/var/spack/repos/builtin/packages/r-grbase/package.py +++ b/var/spack/repos/builtin/packages/r-grbase/package.py @@ -24,7 +24,7 @@ class RGrbase(RPackage): and 'RBGL' are installed from 'bioconductor'; for installation instructions please refer to the web page given below.""" - homepage = "http://people.math.aau.dk/~sorenh/software/gR/" + homepage = "https://people.math.aau.dk/~sorenh/software/gR/" url = "https://cloud.r-project.org/src/contrib/gRbase_1.8-3.4.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/gRbase" diff --git a/var/spack/repos/builtin/packages/r-gsa/package.py b/var/spack/repos/builtin/packages/r-gsa/package.py index a94a26fb001..a3d524998b1 100644 --- a/var/spack/repos/builtin/packages/r-gsa/package.py +++ b/var/spack/repos/builtin/packages/r-gsa/package.py @@ -9,7 +9,7 @@ class RGsa(RPackage): """Gene Set Analysis.""" - homepage = "http://www-stat.stanford.edu/~tibs/GSA" + homepage = "https://www-stat.stanford.edu/~tibs/GSA" url = "https://cloud.r-project.org/src/contrib/GSA_1.03.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/GSA" diff --git a/var/spack/repos/builtin/packages/r-imager/package.py b/var/spack/repos/builtin/packages/r-imager/package.py index 8819f01f051..7fb01450a05 100644 --- a/var/spack/repos/builtin/packages/r-imager/package.py +++ b/var/spack/repos/builtin/packages/r-imager/package.py @@ -16,7 +16,7 @@ class RImager(RPackage): The package wraps 'CImg', , a simple, modern C++ library for image processing.""" - homepage = "http://dahtah.github.io/imager" + homepage = "https://dahtah.github.io/imager" url = "https://cloud.r-project.org/src/contrib/imager_0.41.2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/imager" diff --git a/var/spack/repos/builtin/packages/r-jpeg/package.py b/var/spack/repos/builtin/packages/r-jpeg/package.py index b1006752dc9..d26f331fecc 100644 --- a/var/spack/repos/builtin/packages/r-jpeg/package.py +++ b/var/spack/repos/builtin/packages/r-jpeg/package.py @@ -13,7 +13,7 @@ class RJpeg(RPackage): bitmap images stored in the JPEG format. It can read and write both files and in-memory raw vectors.""" - homepage = "http://www.rforge.net/jpeg/" + homepage = "https://www.rforge.net/jpeg/" url = "https://cloud.r-project.org/src/contrib/jpeg_0.1-8.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/jpeg" diff --git a/var/spack/repos/builtin/packages/r-lattice/package.py b/var/spack/repos/builtin/packages/r-lattice/package.py index c4df1c633ef..dbb0ce319d4 100644 --- a/var/spack/repos/builtin/packages/r-lattice/package.py +++ b/var/spack/repos/builtin/packages/r-lattice/package.py @@ -14,7 +14,7 @@ class RLattice(RPackage): sufficient for typical graphics needs, and is also flexible enough to handle most nonstandard requirements. See ?Lattice for an introduction.""" - homepage = "http://lattice.r-forge.r-project.org/" + homepage = "https://lattice.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/lattice_0.20-35.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/lattice" diff --git a/var/spack/repos/builtin/packages/r-latticeextra/package.py b/var/spack/repos/builtin/packages/r-latticeextra/package.py index 62303a26c25..5a7f7311560 100644 --- a/var/spack/repos/builtin/packages/r-latticeextra/package.py +++ b/var/spack/repos/builtin/packages/r-latticeextra/package.py @@ -14,7 +14,7 @@ class RLatticeextra(RPackage): as well as additional utilities such as panel and axis annotation functions.""" - homepage = "http://latticeextra.r-forge.r-project.org/" + homepage = "https://latticeextra.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/latticeExtra_0.6-28.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/latticeExtra" diff --git a/var/spack/repos/builtin/packages/r-leaflet/package.py b/var/spack/repos/builtin/packages/r-leaflet/package.py index 810c6e4e8a3..802948d6939 100644 --- a/var/spack/repos/builtin/packages/r-leaflet/package.py +++ b/var/spack/repos/builtin/packages/r-leaflet/package.py @@ -13,7 +13,7 @@ class RLeaflet(RPackage): library and the 'htmlwidgets' package. These maps can be used directly from the R console, from 'RStudio', in Shiny apps and R Markdown documents.""" - homepage = "http://rstudio.github.io/leaflet/" + homepage = "https://rstudio.github.io/leaflet/" url = "https://cloud.r-project.org/src/contrib/leaflet_1.0.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/leaflet" diff --git a/var/spack/repos/builtin/packages/r-lhs/package.py b/var/spack/repos/builtin/packages/r-lhs/package.py index 5345e696d12..dbb209e70d7 100644 --- a/var/spack/repos/builtin/packages/r-lhs/package.py +++ b/var/spack/repos/builtin/packages/r-lhs/package.py @@ -12,7 +12,7 @@ class RLhs(RPackage): Provides a number of methods for creating and augmenting Latin Hypercube Samples.""" - homepage = "http://lhs.r-forge.r-project.org/" + homepage = "https://lhs.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/lhs_0.16.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/lhs" diff --git a/var/spack/repos/builtin/packages/r-matrix/package.py b/var/spack/repos/builtin/packages/r-matrix/package.py index 1eaa980c7f5..172e0687d91 100644 --- a/var/spack/repos/builtin/packages/r-matrix/package.py +++ b/var/spack/repos/builtin/packages/r-matrix/package.py @@ -14,7 +14,7 @@ class RMatrix(RPackage): numeric entries. Numerous methods for and operations on these matrices, using 'LAPACK' and 'SuiteSparse' libraries.""" - homepage = "http://matrix.r-forge.r-project.org/" + homepage = "https://matrix.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/Matrix_1.2-14.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/Matrix" diff --git a/var/spack/repos/builtin/packages/r-matrixmodels/package.py b/var/spack/repos/builtin/packages/r-matrixmodels/package.py index 2962bf5b461..431855d7010 100644 --- a/var/spack/repos/builtin/packages/r-matrixmodels/package.py +++ b/var/spack/repos/builtin/packages/r-matrixmodels/package.py @@ -10,7 +10,7 @@ class RMatrixmodels(RPackage): """Modelling with sparse and dense 'Matrix' matrices, using modular prediction and response module classes.""" - homepage = "http://matrix.r-forge.r-project.org/" + homepage = "https://matrix.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/MatrixModels_0.4-1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/MatrixModels" diff --git a/var/spack/repos/builtin/packages/r-mcmc/package.py b/var/spack/repos/builtin/packages/r-mcmc/package.py index 5e634290fed..0eabfc1491a 100644 --- a/var/spack/repos/builtin/packages/r-mcmc/package.py +++ b/var/spack/repos/builtin/packages/r-mcmc/package.py @@ -17,7 +17,7 @@ class RMcmc(RPackage): , function morph.metrop), which achieves geometric ergodicity by change of variable.""" - homepage = "http://www.stat.umn.edu/geyer/mcmc/" + homepage = "https://www.stat.umn.edu/geyer/mcmc/" cran = "mcmc" version('0.9-7', sha256='b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260') diff --git a/var/spack/repos/builtin/packages/r-minqa/package.py b/var/spack/repos/builtin/packages/r-minqa/package.py index 38d33702a64..19059642c1c 100644 --- a/var/spack/repos/builtin/packages/r-minqa/package.py +++ b/var/spack/repos/builtin/packages/r-minqa/package.py @@ -10,7 +10,7 @@ class RMinqa(RPackage): """Derivative-free optimization by quadratic approximation based on an interface to Fortran implementations by M. J. D. Powell.""" - homepage = "http://optimizer.r-forge.r-project.org/" + homepage = "https://optimizer.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/minqa_1.2.4.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/minqa" diff --git a/var/spack/repos/builtin/packages/r-multcomp/package.py b/var/spack/repos/builtin/packages/r-multcomp/package.py index 13d0319e1a6..78d71603c5f 100644 --- a/var/spack/repos/builtin/packages/r-multcomp/package.py +++ b/var/spack/repos/builtin/packages/r-multcomp/package.py @@ -15,7 +15,7 @@ class RMultcomp(RPackage): reproducing analyzes presented in the book "Multiple Comparisons Using R" (Bretz, Hothorn, Westfall, 2010, CRC Press).""" - homepage = "http://multcomp.r-forge.r-project.org/" + homepage = "https://multcomp.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/multcomp_1.4-6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/multcomp" diff --git a/var/spack/repos/builtin/packages/r-mvtnorm/package.py b/var/spack/repos/builtin/packages/r-mvtnorm/package.py index 510758dcafe..1efdda0e861 100644 --- a/var/spack/repos/builtin/packages/r-mvtnorm/package.py +++ b/var/spack/repos/builtin/packages/r-mvtnorm/package.py @@ -12,7 +12,7 @@ class RMvtnorm(RPackage): Computes multivariate normal and t probabilities, quantiles, random deviates and densities.""" - homepage = "http://mvtnorm.r-forge.r-project.org/" + homepage = "https://mvtnorm.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/mvtnorm_1.0-6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/mvtnorm" diff --git a/var/spack/repos/builtin/packages/r-ncdf4/package.py b/var/spack/repos/builtin/packages/r-ncdf4/package.py index 5e00bf866aa..0b5107945dd 100644 --- a/var/spack/repos/builtin/packages/r-ncdf4/package.py +++ b/var/spack/repos/builtin/packages/r-ncdf4/package.py @@ -24,7 +24,7 @@ class RNcdf4(RPackage): packages installed simultaneously without a problem. However, the ncdf package does not provide an interface for netcdf version 4 files.""" - homepage = "http://cirrus.ucsd.edu/~pierce/ncdf" + homepage = "https://cirrus.ucsd.edu/~pierce/ncdf" url = "https://cloud.r-project.org/src/contrib/ncdf4_1.15.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/ncdf4" diff --git a/var/spack/repos/builtin/packages/r-nmf/package.py b/var/spack/repos/builtin/packages/r-nmf/package.py index 48fd9f93cc8..d100c8bb6d7 100644 --- a/var/spack/repos/builtin/packages/r-nmf/package.py +++ b/var/spack/repos/builtin/packages/r-nmf/package.py @@ -16,7 +16,7 @@ class RNmf(RPackage): the main interface function provides an easy way of performing parallel computations on multicore machines.""" - homepage = "http://renozao.github.io/NMF" + homepage = "https://renozao.github.io/NMF" url = "https://cloud.r-project.org/src/contrib/NMF_0.21.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/NMF" diff --git a/var/spack/repos/builtin/packages/r-nnet/package.py b/var/spack/repos/builtin/packages/r-nnet/package.py index f6806a46fd6..5f5ad228d31 100644 --- a/var/spack/repos/builtin/packages/r-nnet/package.py +++ b/var/spack/repos/builtin/packages/r-nnet/package.py @@ -12,7 +12,7 @@ class RNnet(RPackage): Software for feed-forward neural networks with a single hidden layer, and for multinomial log-linear models.""" - homepage = "http://www.stats.ox.ac.uk/pub/MASS4/" + homepage = "https://www.stats.ox.ac.uk/pub/MASS4/" url = "https://cloud.r-project.org/src/contrib/nnet_7.3-12.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/nnet" diff --git a/var/spack/repos/builtin/packages/r-partykit/package.py b/var/spack/repos/builtin/packages/r-partykit/package.py index c822d274ece..317c24b107a 100644 --- a/var/spack/repos/builtin/packages/r-partykit/package.py +++ b/var/spack/repos/builtin/packages/r-partykit/package.py @@ -21,7 +21,7 @@ class RPartykit(RPackage): published by Hothorn and Zeileis (2015) .""" - homepage = "http://partykit.r-forge.r-project.org/partykit" + homepage = "https://partykit.r-forge.r-project.org/partykit" url = "https://cloud.r-project.org/src/contrib/partykit_1.1-1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/partykit" diff --git a/var/spack/repos/builtin/packages/r-png/package.py b/var/spack/repos/builtin/packages/r-png/package.py index b49ec792821..f7621512dee 100644 --- a/var/spack/repos/builtin/packages/r-png/package.py +++ b/var/spack/repos/builtin/packages/r-png/package.py @@ -11,7 +11,7 @@ class RPng(RPackage): bitmap images stored in the PNG format. It can read and write both files and in-memory raw vectors.""" - homepage = "http://www.rforge.net/png/" + homepage = "https://www.rforge.net/png/" url = "https://cloud.r-project.org/src/contrib/png_0.1-7.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/png" diff --git a/var/spack/repos/builtin/packages/r-prabclus/package.py b/var/spack/repos/builtin/packages/r-prabclus/package.py index be3a4fcc63f..86e8fed0ab6 100644 --- a/var/spack/repos/builtin/packages/r-prabclus/package.py +++ b/var/spack/repos/builtin/packages/r-prabclus/package.py @@ -17,7 +17,7 @@ class RPrabclus(RPackage): between communities. Tests whether various distance-based regressions are equal. Try package?prabclus for on overview.""" - homepage = "http://www.homepages.ucl.ac.uk/~ucakche" + homepage = "https://www.homepages.ucl.ac.uk/~ucakche" url = "https://cloud.r-project.org/src/contrib/prabclus_2.2-6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/prabclus" diff --git a/var/spack/repos/builtin/packages/r-proc/package.py b/var/spack/repos/builtin/packages/r-proc/package.py index a0255604cfb..be5ce7acb61 100644 --- a/var/spack/repos/builtin/packages/r-proc/package.py +++ b/var/spack/repos/builtin/packages/r-proc/package.py @@ -14,7 +14,7 @@ class RProc(RPackage): compared with statistical tests based on U-statistics or bootstrap. Confidence intervals can be computed for (p)AUC or ROC curves.""" - homepage = "http://expasy.org/tools/pROC/" + homepage = "https://expasy.org/tools/pROC/" url = "https://cloud.r-project.org/src/contrib/pROC_1.17.0.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/pROC" diff --git a/var/spack/repos/builtin/packages/r-proj4/package.py b/var/spack/repos/builtin/packages/r-proj4/package.py index c9e58734eed..2324550d146 100644 --- a/var/spack/repos/builtin/packages/r-proj4/package.py +++ b/var/spack/repos/builtin/packages/r-proj4/package.py @@ -13,7 +13,7 @@ class RProj4(RPackage): the PROJ.4 cartographic projections library. It allows transformation of geographic coordinates from one projection and/or datum to another.""" - homepage = "http://www.rforge.net/proj4/" + homepage = "https://www.rforge.net/proj4/" url = "https://cloud.r-project.org/src/contrib/proj4_1.0-8.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/proj4" diff --git a/var/spack/repos/builtin/packages/r-psych/package.py b/var/spack/repos/builtin/packages/r-psych/package.py index b7da4998504..113652dc8ac 100644 --- a/var/spack/repos/builtin/packages/r-psych/package.py +++ b/var/spack/repos/builtin/packages/r-psych/package.py @@ -25,7 +25,7 @@ class RPsych(RPackage): research. For more information, see the web page.""" - homepage = "http://personality-project.org/r/psych" + homepage = "https://personality-project.org/r/psych" url = "https://cloud.r-project.org/src/contrib/psych_1.7.8.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/psych" diff --git a/var/spack/repos/builtin/packages/r-quantmod/package.py b/var/spack/repos/builtin/packages/r-quantmod/package.py index 0bd09828a98..827a470abaa 100644 --- a/var/spack/repos/builtin/packages/r-quantmod/package.py +++ b/var/spack/repos/builtin/packages/r-quantmod/package.py @@ -12,7 +12,7 @@ class RQuantmod(RPackage): Specify, build, trade, and analyse quantitative financial trading strategies.""" - homepage = "http://www.quantmod.com/" + homepage = "https://www.quantmod.com/" url = "https://cloud.r-project.org/src/contrib/quantmod_0.4-5.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/quantmod" diff --git a/var/spack/repos/builtin/packages/r-quickplot/package.py b/var/spack/repos/builtin/packages/r-quickplot/package.py index 4b014288f67..98310e3c935 100644 --- a/var/spack/repos/builtin/packages/r-quickplot/package.py +++ b/var/spack/repos/builtin/packages/r-quickplot/package.py @@ -14,7 +14,7 @@ class RQuickplot(RPackage): for quick visualizations when testing code, with the key benefit that visualizations are updated independently of one another.""" - homepage = "http://quickplot.predictiveecology.org/" + homepage = "https://quickplot.predictiveecology.org/" url = "https://cloud.r-project.org/src/contrib/quickPlot_0.1.6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/quickPlot" diff --git a/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py b/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py index a5c6008f461..8cc247a6cfa 100644 --- a/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py +++ b/var/spack/repos/builtin/packages/r-rcolorbrewer/package.py @@ -10,7 +10,7 @@ class RRcolorbrewer(RPackage): """Provides color schemes for maps (and other graphics) designed by Cynthia Brewer as described at http://colorbrewer2.org""" - homepage = "http://colorbrewer2.org" + homepage = "https://colorbrewer2.org" url = "https://cloud.r-project.org/src/contrib/RColorBrewer_1.1-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/RColorBrewer" diff --git a/var/spack/repos/builtin/packages/r-rcpp/package.py b/var/spack/repos/builtin/packages/r-rcpp/package.py index 2428f88c00a..2c6fca4b332 100644 --- a/var/spack/repos/builtin/packages/r-rcpp/package.py +++ b/var/spack/repos/builtin/packages/r-rcpp/package.py @@ -21,7 +21,7 @@ class RRcpp(RPackage): (2018,; ); see 'citation("Rcpp")' for details.""" - homepage = "http://dirk.eddelbuettel.com/code/rcpp.html" + homepage = "https://dirk.eddelbuettel.com/code/rcpp.html" url = "https://cloud.r-project.org/src/contrib/Rcpp_0.12.13.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/Rcpp" diff --git a/var/spack/repos/builtin/packages/r-rcppeigen/package.py b/var/spack/repos/builtin/packages/r-rcppeigen/package.py index 754a2f0aeab..c538ee8ac3c 100644 --- a/var/spack/repos/builtin/packages/r-rcppeigen/package.py +++ b/var/spack/repos/builtin/packages/r-rcppeigen/package.py @@ -23,7 +23,7 @@ class RRcppeigen(RPackage): 'RcppEigen' (the 'Rcpp' bindings/bridge to 'Eigen') is licensed under the GNU GPL version 2 or later, as is the rest of 'Rcpp'.""" - homepage = "http://eigen.tuxfamily.org/" + homepage = "https://eigen.tuxfamily.org/" url = "https://cloud.r-project.org/src/contrib/RcppEigen_0.3.2.9.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/RcppEigen" diff --git a/var/spack/repos/builtin/packages/r-rcppparallel/package.py b/var/spack/repos/builtin/packages/r-rcppparallel/package.py index 4e84e22021c..3161a89f59a 100644 --- a/var/spack/repos/builtin/packages/r-rcppparallel/package.py +++ b/var/spack/repos/builtin/packages/r-rcppparallel/package.py @@ -14,7 +14,7 @@ class RRcppparallel(RPackage): serial "for" loop into a parallel one and the 'parallelReduce()' function can be used for accumulating aggregate or other values.""" - homepage = "http://rcppcore.github.io/RcppParallel" + homepage = "https://rcppcore.github.io/RcppParallel" url = "https://cloud.r-project.org/src/contrib/RcppParallel_4.4.3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/RcppParallel" diff --git a/var/spack/repos/builtin/packages/r-rgenoud/package.py b/var/spack/repos/builtin/packages/r-rgenoud/package.py index 8066c065abe..cdc9c484120 100644 --- a/var/spack/repos/builtin/packages/r-rgenoud/package.py +++ b/var/spack/repos/builtin/packages/r-rgenoud/package.py @@ -9,7 +9,7 @@ class RRgenoud(RPackage): """A genetic algorithm plus derivative optimizer.""" - homepage = "http://sekhon.berkeley.edu/rgenoud/" + homepage = "https://sekhon.berkeley.edu/rgenoud/" url = "https://cloud.r-project.org/src/contrib/rgenoud_5.8-1.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rgenoud" diff --git a/var/spack/repos/builtin/packages/r-rinside/package.py b/var/spack/repos/builtin/packages/r-rinside/package.py index d9c39404799..09dd72bef09 100644 --- a/var/spack/repos/builtin/packages/r-rinside/package.py +++ b/var/spack/repos/builtin/packages/r-rinside/package.py @@ -24,7 +24,7 @@ class RRinside(RPackage): automatically). Doxygen-generated documentation of the C++ classes is available at the 'RInside' website as well.""" - homepage = "http://dirk.eddelbuettel.com/code/rinside.html" + homepage = "https://dirk.eddelbuettel.com/code/rinside.html" url = "https://cloud.r-project.org/src/contrib/RInside_0.2.15.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/RInside" diff --git a/var/spack/repos/builtin/packages/r-rjava/package.py b/var/spack/repos/builtin/packages/r-rjava/package.py index 073e1a7e730..250fa15ae82 100644 --- a/var/spack/repos/builtin/packages/r-rjava/package.py +++ b/var/spack/repos/builtin/packages/r-rjava/package.py @@ -12,7 +12,7 @@ class RRjava(RPackage): Low-level interface to Java VM very much like .C/.Call and friends. Allows creation of objects, calling methods and accessing fields.""" - homepage = "http://www.rforge.net/rJava/" + homepage = "https://www.rforge.net/rJava/" url = "https://cloud.r-project.org/src/contrib/rJava_0.9-8.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rJava" diff --git a/var/spack/repos/builtin/packages/r-rmpfr/package.py b/var/spack/repos/builtin/packages/r-rmpfr/package.py index 7741017a45c..e0028a11d25 100644 --- a/var/spack/repos/builtin/packages/r-rmpfr/package.py +++ b/var/spack/repos/builtin/packages/r-rmpfr/package.py @@ -15,7 +15,7 @@ class RRmpfr(RPackage): Reliable) Library which itself is based on the GMP (GNU Multiple Precision) Library.""" - homepage = "http://rmpfr.r-forge.r-project.org" + homepage = "https://rmpfr.r-forge.r-project.org" url = "https://cloud.r-project.org/src/contrib/Rmpfr_0.6-1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/Rmpfr" diff --git a/var/spack/repos/builtin/packages/r-rmutil/package.py b/var/spack/repos/builtin/packages/r-rmutil/package.py index 3770e99ff62..34c73292800 100644 --- a/var/spack/repos/builtin/packages/r-rmutil/package.py +++ b/var/spack/repos/builtin/packages/r-rmutil/package.py @@ -14,7 +14,7 @@ class RRmutil(RPackage): 'gnlm', 'stable', 'growth', 'repeated', and 'event' (available at ).""" - homepage = "http://www.commanster.eu/rcode.html" + homepage = "https://www.commanster.eu/rcode.html" url = "https://cloud.r-project.org/src/contrib/rmutil_1.1.3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rmutil" diff --git a/var/spack/repos/builtin/packages/r-rrblup/package.py b/var/spack/repos/builtin/packages/r-rrblup/package.py index 0740b6a3491..e3b51cd5749 100644 --- a/var/spack/repos/builtin/packages/r-rrblup/package.py +++ b/var/spack/repos/builtin/packages/r-rrblup/package.py @@ -15,7 +15,7 @@ class RRrblup(RPackage): calculated based on an additive relationship matrix or a Gaussian kernel.""" - homepage = "http://potatobreeding.cals.wisc.edu/software" + homepage = "https://potatobreeding.cals.wisc.edu/software" url = "https://cloud.r-project.org/src/contrib/rrBLUP_4.6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rrBLUP" diff --git a/var/spack/repos/builtin/packages/r-rsnns/package.py b/var/spack/repos/builtin/packages/r-rsnns/package.py index a408235746a..c9522c30387 100644 --- a/var/spack/repos/builtin/packages/r-rsnns/package.py +++ b/var/spack/repos/builtin/packages/r-rsnns/package.py @@ -18,7 +18,7 @@ class RRsnns(RPackage): high-level interface, so that the most common neural network topologies and learning algorithms integrate seamlessly into R.""" - homepage = "http://sci2s.ugr.es/dicits/software/RSNNS" + homepage = "https://sci2s.ugr.es/dicits/software/RSNNS" url = "https://cloud.r-project.org/src/contrib/RSNNS_0.4-7.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/RSNNS" diff --git a/var/spack/repos/builtin/packages/r-rzmq/package.py b/var/spack/repos/builtin/packages/r-rzmq/package.py index 366c32c2fde..f2c8657a42d 100644 --- a/var/spack/repos/builtin/packages/r-rzmq/package.py +++ b/var/spack/repos/builtin/packages/r-rzmq/package.py @@ -13,7 +13,7 @@ class RRzmq(RPackage): Interface to the 'ZeroMQ' lightweight messaging kernel (see for more information).""" - homepage = "http://github.com/armstrtw/rzmq" + homepage = "https://github.com/armstrtw/rzmq" url = "https://cloud.r-project.org/src/contrib/rzmq_0.7.7.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/rzmq" diff --git a/var/spack/repos/builtin/packages/r-seqinr/package.py b/var/spack/repos/builtin/packages/r-seqinr/package.py index b95ce812b8d..576fc1dab73 100644 --- a/var/spack/repos/builtin/packages/r-seqinr/package.py +++ b/var/spack/repos/builtin/packages/r-seqinr/package.py @@ -14,7 +14,7 @@ class RSeqinr(RPackage): management under the ACNUC system described in Gouy, M. et al. (1984) Nucleic Acids Res. 12:121-127 .""" - homepage = "http://seqinr.r-forge.r-project.org" + homepage = "https://seqinr.r-forge.r-project.org" url = "https://cloud.r-project.org/src/contrib/seqinr_3.3-6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/seqinr" diff --git a/var/spack/repos/builtin/packages/r-smoof/package.py b/var/spack/repos/builtin/packages/r-smoof/package.py index 403f1cf0b95..39ec3041e06 100644 --- a/var/spack/repos/builtin/packages/r-smoof/package.py +++ b/var/spack/repos/builtin/packages/r-smoof/package.py @@ -15,7 +15,7 @@ class RSmoof(RPackage): convenient functions to generate, plot and work with objective functions.""" - homepage = "http://github.com/jakobbossek/smoof" + homepage = "https://github.com/jakobbossek/smoof" url = "https://cloud.r-project.org/src/contrib/smoof_1.5.1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/smoof" diff --git a/var/spack/repos/builtin/packages/r-spades-addins/package.py b/var/spack/repos/builtin/packages/r-spades-addins/package.py index 6bb7fc61092..be41444c3bc 100644 --- a/var/spack/repos/builtin/packages/r-spades-addins/package.py +++ b/var/spack/repos/builtin/packages/r-spades-addins/package.py @@ -12,7 +12,7 @@ class RSpadesAddins(RPackage): Provides 'RStudio' addins for 'SpaDES' packages and 'SpaDES' module development. See '?SpaDES.addins' for an overview of the tools provided.""" - homepage = "http://spades-addins.predictiveecology.org/" + homepage = "https://spades-addins.predictiveecology.org/" url = "https://cloud.r-project.org/src/contrib/SpaDES.addins_0.1.2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/SpaDES.addins" diff --git a/var/spack/repos/builtin/packages/r-spades/package.py b/var/spack/repos/builtin/packages/r-spades/package.py index 0d498a127ac..3ce072f5fd7 100644 --- a/var/spack/repos/builtin/packages/r-spades/package.py +++ b/var/spack/repos/builtin/packages/r-spades/package.py @@ -13,7 +13,7 @@ class RSpades(RPackage): focus on spatially explicit models. These include raster-based, event-based, and agent-based models.""" - homepage = "http://spades.predictiveecology.org/" + homepage = "https://spades.predictiveecology.org/" url = "https://cloud.r-project.org/src/contrib/SpaDES_2.0.6.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/SpaDES" diff --git a/var/spack/repos/builtin/packages/r-squarem/package.py b/var/spack/repos/builtin/packages/r-squarem/package.py index 90ea3b334e5..09a538fa7d0 100644 --- a/var/spack/repos/builtin/packages/r-squarem/package.py +++ b/var/spack/repos/builtin/packages/r-squarem/package.py @@ -17,7 +17,7 @@ class RSquarem(RPackage): vignette("SQUAREM"). Refer to the J Stat Software article: .""" - homepage = "http://www.jhsph.edu/agingandhealth/People/Faculty_personal_pages/Varadhan.html" + homepage = "https://www.jhsph.edu/agingandhealth/People/Faculty_personal_pages/Varadhan.html" url = "https://cloud.r-project.org/src/contrib/SQUAREM_2017.10-1.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/SQUAREM" diff --git a/var/spack/repos/builtin/packages/r-statnet-common/package.py b/var/spack/repos/builtin/packages/r-statnet-common/package.py index a95216cb43d..900a9b5f130 100644 --- a/var/spack/repos/builtin/packages/r-statnet-common/package.py +++ b/var/spack/repos/builtin/packages/r-statnet-common/package.py @@ -12,7 +12,7 @@ class RStatnetCommon(RPackage): Non-statistical utilities used by the software developed by the Statnet Project. They may also be of use to others.""" - homepage = "http://www.statnet.org" + homepage = "https://www.statnet.org" url = "https://cloud.r-project.org/src/contrib/statnet.common_3.3.0.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/statnet.common" diff --git a/var/spack/repos/builtin/packages/r-survey/package.py b/var/spack/repos/builtin/packages/r-survey/package.py index f15be5cfbee..adf6b693c80 100644 --- a/var/spack/repos/builtin/packages/r-survey/package.py +++ b/var/spack/repos/builtin/packages/r-survey/package.py @@ -17,7 +17,7 @@ class RSurvey(RPackage): calibration, and raking. Two-phase subsampling designs. Graphics. PPS sampling without replacement. Principal components, factor analysis.""" - homepage = "http://r-survey.r-forge.r-project.org/survey/" + homepage = "https://r-survey.r-forge.r-project.org/survey/" url = "https://cloud.r-project.org/src/contrib/survey_3.30-3.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/survey" diff --git a/var/spack/repos/builtin/packages/r-threejs/package.py b/var/spack/repos/builtin/packages/r-threejs/package.py index b1b7d52b1dd..b6efcb3082f 100644 --- a/var/spack/repos/builtin/packages/r-threejs/package.py +++ b/var/spack/repos/builtin/packages/r-threejs/package.py @@ -12,7 +12,7 @@ class RThreejs(RPackage): Create interactive 3D scatter plots, network plots, and globes using the 'three.js' visualization library ("http://threejs.org").""" - homepage = "http://bwlewis.github.io/rthreejs" + homepage = "https://bwlewis.github.io/rthreejs" url = "https://cloud.r-project.org/src/contrib/threejs_0.2.2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/threejs" diff --git a/var/spack/repos/builtin/packages/r-tiff/package.py b/var/spack/repos/builtin/packages/r-tiff/package.py index ea2ef4b4c0a..711960574f1 100644 --- a/var/spack/repos/builtin/packages/r-tiff/package.py +++ b/var/spack/repos/builtin/packages/r-tiff/package.py @@ -13,7 +13,7 @@ class RTiff(RPackage): bitmap images stored in the TIFF format. It can read and write both files and in-memory raw vectors.""" - homepage = "http://www.rforge.net/tiff/" + homepage = "https://www.rforge.net/tiff/" url = "https://cloud.r-project.org/src/contrib/tiff_0.1-5.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/tiff" diff --git a/var/spack/repos/builtin/packages/r-trimcluster/package.py b/var/spack/repos/builtin/packages/r-trimcluster/package.py index 17f1e4600aa..c50636e6fd2 100644 --- a/var/spack/repos/builtin/packages/r-trimcluster/package.py +++ b/var/spack/repos/builtin/packages/r-trimcluster/package.py @@ -12,7 +12,7 @@ class RTrimcluster(RPackage): Trimmed k-means clustering. The method is described in Cuesta-Albertos et al. (1997) .""" - homepage = "http://www.homepages.ucl.ac.uk/~ucakche" + homepage = "https://www.homepages.ucl.ac.uk/~ucakche" url = "https://cloud.r-project.org/src/contrib/trimcluster_0.1-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/trimcluster" diff --git a/var/spack/repos/builtin/packages/r-trust/package.py b/var/spack/repos/builtin/packages/r-trust/package.py index 66662d89614..18efac1fc74 100644 --- a/var/spack/repos/builtin/packages/r-trust/package.py +++ b/var/spack/repos/builtin/packages/r-trust/package.py @@ -12,7 +12,7 @@ class RTrust(RPackage): Does local optimization using two derivatives and trust regions. Guaranteed to converge to local minimum of objective function.""" - homepage = "http://www.stat.umn.edu/geyer/trust" + homepage = "https://www.stat.umn.edu/geyer/trust" url = "https://cloud.r-project.org/src/contrib/trust_0.1-7.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/trust" diff --git a/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg18-knowngene/package.py b/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg18-knowngene/package.py index ddb96a7c6b0..f16d663f395 100644 --- a/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg18-knowngene/package.py +++ b/var/spack/repos/builtin/packages/r-txdb-hsapiens-ucsc-hg18-knowngene/package.py @@ -13,7 +13,7 @@ class RTxdbHsapiensUcscHg18Knowngene(RPackage): TxDb objects""" # This is a bioconductor package but ther is no available git repo - homepage = "http://bioconductor.org/packages/release/data/annotation/html/TxDb.Hsapiens.UCSC.hg18.knownGene.html" + homepage = "https://bioconductor.org/packages/release/data/annotation/html/TxDb.Hsapiens.UCSC.hg18.knownGene.html" url = "http://bioconductor.org/packages/release/data/annotation/src/contrib/TxDb.Hsapiens.UCSC.hg18.knownGene_3.2.2.tar.gz" version('3.2.2', sha256='bc9ca40b4eab87f5ca64a4b876d42502b9b8e9f5983d745bfe0ee349d97b69fa') diff --git a/var/spack/repos/builtin/packages/r-uuid/package.py b/var/spack/repos/builtin/packages/r-uuid/package.py index db4c8c1ad6e..3d47bc73a4e 100644 --- a/var/spack/repos/builtin/packages/r-uuid/package.py +++ b/var/spack/repos/builtin/packages/r-uuid/package.py @@ -13,7 +13,7 @@ class RUuid(RPackage): Tools for generating and handling of UUIDs (Universally Unique Identifiers).""" - homepage = "http://www.rforge.net/uuid" + homepage = "https://www.rforge.net/uuid" url = "https://cloud.r-project.org/src/contrib/uuid_0.1-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/uuid" diff --git a/var/spack/repos/builtin/packages/r-varselrf/package.py b/var/spack/repos/builtin/packages/r-varselrf/package.py index 57a23d6a060..258bdb73528 100644 --- a/var/spack/repos/builtin/packages/r-varselrf/package.py +++ b/var/spack/repos/builtin/packages/r-varselrf/package.py @@ -14,7 +14,7 @@ class RVarselrf(RPackage): . Main applications in high-dimensional data (e.g., microarray data, and other genomics and proteomics applications).""" - homepage = "http://ligarto.org/rdiaz/Software/Software.html" + homepage = "https://ligarto.org/rdiaz/Software/Software.html" url = "https://cloud.r-project.org/src/contrib/varSelRF_0.7-8.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/varSelRF" diff --git a/var/spack/repos/builtin/packages/r-withr/package.py b/var/spack/repos/builtin/packages/r-withr/package.py index 657572bb59c..50ba94c8a9b 100644 --- a/var/spack/repos/builtin/packages/r-withr/package.py +++ b/var/spack/repos/builtin/packages/r-withr/package.py @@ -14,7 +14,7 @@ class RWithr(RPackage): 'devtools' package, this provides a simple package with limited dependencies to provide access to these functions.""" - homepage = "http://github.com/jimhester/withr" + homepage = "https://github.com/jimhester/withr" url = "https://cloud.r-project.org/src/contrib/withr_1.0.2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/withr" diff --git a/var/spack/repos/builtin/packages/r-xlconnect/package.py b/var/spack/repos/builtin/packages/r-xlconnect/package.py index def05e88dfa..206eb4420ec 100644 --- a/var/spack/repos/builtin/packages/r-xlconnect/package.py +++ b/var/spack/repos/builtin/packages/r-xlconnect/package.py @@ -12,7 +12,7 @@ class RXlconnect(RPackage): Provides comprehensive functionality to read, write and format Excel data.""" - homepage = "http://miraisolutions.wordpress.com/" + homepage = "https://miraisolutions.wordpress.com/" url = "https://cloud.r-project.org/src/contrib/XLConnect_0.2-11.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/XLConnect" diff --git a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py index c38bfa4f1a6..0ec679d9015 100644 --- a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py +++ b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py @@ -9,7 +9,7 @@ class RXlconnectjars(RPackage): """Provides external JAR dependencies for the XLConnect package.""" - homepage = "http://miraisolutions.wordpress.com/" + homepage = "https://miraisolutions.wordpress.com/" url = "https://cloud.r-project.org/src/contrib/XLConnectJars_0.2-9.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/XLConnectJars" diff --git a/var/spack/repos/builtin/packages/r-xtable/package.py b/var/spack/repos/builtin/packages/r-xtable/package.py index 16cf26086c0..69cb6371d4f 100644 --- a/var/spack/repos/builtin/packages/r-xtable/package.py +++ b/var/spack/repos/builtin/packages/r-xtable/package.py @@ -9,7 +9,7 @@ class RXtable(RPackage): """Coerce data to LaTeX and HTML tables.""" - homepage = "http://xtable.r-forge.r-project.org/" + homepage = "https://xtable.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/xtable_1.8-2.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/xtable" diff --git a/var/spack/repos/builtin/packages/r-zoo/package.py b/var/spack/repos/builtin/packages/r-zoo/package.py index e1000200fca..d8847610c32 100644 --- a/var/spack/repos/builtin/packages/r-zoo/package.py +++ b/var/spack/repos/builtin/packages/r-zoo/package.py @@ -15,7 +15,7 @@ class RZoo(RPackage): index/date/time class and consistency with ts and base R by providing methods to extend standard generics.""" - homepage = "http://zoo.r-forge.r-project.org/" + homepage = "https://zoo.r-forge.r-project.org/" url = "https://cloud.r-project.org/src/contrib/zoo_1.7-14.tar.gz" list_url = "https://cloud.r-project.org/src/contrib/Archive/zoo" diff --git a/var/spack/repos/builtin/packages/ragel/package.py b/var/spack/repos/builtin/packages/ragel/package.py index 586d08f2200..b2e240d5523 100644 --- a/var/spack/repos/builtin/packages/ragel/package.py +++ b/var/spack/repos/builtin/packages/ragel/package.py @@ -15,7 +15,7 @@ class Ragel(AutotoolsPackage): recognition of a regular language. Code embedding is done using inline operators that do not disrupt the regular language syntax. """ - homepage = "http://www.colm.net/open-source/ragel" + homepage = "https://www.colm.net/open-source/ragel" git = "git://colm.net/ragel.git" url = "http://www.colm.net/files/ragel/ragel-6.10.tar.gz" diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py index 205265e7e62..9756dea9568 100644 --- a/var/spack/repos/builtin/packages/raja/package.py +++ b/var/spack/repos/builtin/packages/raja/package.py @@ -9,7 +9,7 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage): """RAJA Parallel Framework.""" - homepage = "http://software.llnl.gov/RAJA/" + homepage = "https://software.llnl.gov/RAJA/" git = "https://github.com/LLNL/RAJA.git" maintainers = ['davidbeckingsale'] diff --git a/var/spack/repos/builtin/packages/rapidjson/package.py b/var/spack/repos/builtin/packages/rapidjson/package.py index 0cd7dac6c14..6b8987da916 100644 --- a/var/spack/repos/builtin/packages/rapidjson/package.py +++ b/var/spack/repos/builtin/packages/rapidjson/package.py @@ -9,7 +9,7 @@ class Rapidjson(CMakePackage): """A fast JSON parser/generator for C++ with both SAX/DOM style API""" - homepage = "http://rapidjson.org" + homepage = "https://rapidjson.org" url = "https://github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz" version('1.1.0', sha256='bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e') diff --git a/var/spack/repos/builtin/packages/re2c/package.py b/var/spack/repos/builtin/packages/re2c/package.py index 0b2b3fbed9a..7cf713c4ce7 100644 --- a/var/spack/repos/builtin/packages/re2c/package.py +++ b/var/spack/repos/builtin/packages/re2c/package.py @@ -10,7 +10,7 @@ class Re2c(AutotoolsPackage): """re2c: a free and open-source lexer generator for C and C++""" - homepage = "http://re2c.org/index.html" + homepage = "https://re2c.org/index.html" url = "https://github.com/skvadrik/re2c/releases/download/1.2.1/re2c-1.2.1.tar.xz" version('2.2', sha256='0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda') diff --git a/var/spack/repos/builtin/packages/rendercheck/package.py b/var/spack/repos/builtin/packages/rendercheck/package.py index eeb893022fe..8a85a40bf53 100644 --- a/var/spack/repos/builtin/packages/rendercheck/package.py +++ b/var/spack/repos/builtin/packages/rendercheck/package.py @@ -10,7 +10,7 @@ class Rendercheck(AutotoolsPackage, XorgPackage): """rendercheck is a program to test a Render extension implementation against separate calculations of expected output.""" - homepage = "http://cgit.freedesktop.org/xorg/app/rendercheck" + homepage = "https://cgit.freedesktop.org/xorg/app/rendercheck" xorg_mirror_path = "app/rendercheck-1.5.tar.gz" version('1.5', sha256='1553fef61c30f2524b597c3758cc8d3f8dc1f52eb8137417fa0667b0adc8a604') diff --git a/var/spack/repos/builtin/packages/repeatmasker/package.py b/var/spack/repos/builtin/packages/repeatmasker/package.py index 180e8a085a9..e6483c56667 100644 --- a/var/spack/repos/builtin/packages/repeatmasker/package.py +++ b/var/spack/repos/builtin/packages/repeatmasker/package.py @@ -12,7 +12,7 @@ class Repeatmasker(Package): """RepeatMasker is a program that screens DNA sequences for interspersed repeats and low complexity DNA sequences.""" - homepage = "http://www.repeatmasker.org" + homepage = "https://www.repeatmasker.org" version('4.1.2-p1', sha256='4be54bf6c050422b211e24a797feb06fd7954c8b4ee6f3ece94cb6faaf6b0e96') version('4.0.9', sha256='8d67415d89ed301670b7632ea411f794c6e30d8ed0f007a726c4b0a39c8638e5') diff --git a/var/spack/repos/builtin/packages/repeatmodeler/package.py b/var/spack/repos/builtin/packages/repeatmodeler/package.py index f703b19dc73..68dbaca0a53 100644 --- a/var/spack/repos/builtin/packages/repeatmodeler/package.py +++ b/var/spack/repos/builtin/packages/repeatmodeler/package.py @@ -10,7 +10,7 @@ class Repeatmodeler(Package): """RepeatModeler is a de-novo repeat family identification and modeling package.""" - homepage = "http://www.repeatmasker.org/RepeatModeler/" + homepage = "https://www.repeatmasker.org/RepeatModeler/" url = "http://www.repeatmasker.org/RepeatModeler/RepeatModeler-open-1.0.11.tar.gz" version('1.0.11', sha256='7ff0d588b40f9ad5ce78876f3ab8d2332a20f5128f6357413f741bb7fa172193') diff --git a/var/spack/repos/builtin/packages/repeatscout/package.py b/var/spack/repos/builtin/packages/repeatscout/package.py index 035c26a5bcc..acc854a47cb 100644 --- a/var/spack/repos/builtin/packages/repeatscout/package.py +++ b/var/spack/repos/builtin/packages/repeatscout/package.py @@ -11,7 +11,7 @@ class Repeatscout(MakefilePackage): """RepeatScout - De Novo Repeat Finder, Price A.L., Jones N.C. and Pevzner P.A.""" - homepage = "http://www.repeatmasker.org/RepeatModeler/" + homepage = "https://www.repeatmasker.org/RepeatModeler/" url = "http://www.repeatmasker.org/RepeatScout-1.0.5.tar.gz" version('1.0.5', sha256='bda6f782382f2b7dcb6a004b7da586d5046b3c12429b158e24787be62de6199c') diff --git a/var/spack/repos/builtin/packages/rgb/package.py b/var/spack/repos/builtin/packages/rgb/package.py index ea5fc4eab40..648abe4158c 100644 --- a/var/spack/repos/builtin/packages/rgb/package.py +++ b/var/spack/repos/builtin/packages/rgb/package.py @@ -15,7 +15,7 @@ class Rgb(AutotoolsPackage, XorgPackage): The "others" subdirectory contains some alternate color databases.""" - homepage = "http://cgit.freedesktop.org/xorg/app/rgb" + homepage = "https://cgit.freedesktop.org/xorg/app/rgb" xorg_mirror_path = "app/rgb-1.0.6.tar.gz" version('1.0.6', sha256='cb998035e08b9f58ad3150cab60461c3225bdd075238cffc665e24da40718933') diff --git a/var/spack/repos/builtin/packages/rngstreams/package.py b/var/spack/repos/builtin/packages/rngstreams/package.py index 45a8ab04b41..3a9d973e844 100644 --- a/var/spack/repos/builtin/packages/rngstreams/package.py +++ b/var/spack/repos/builtin/packages/rngstreams/package.py @@ -9,7 +9,7 @@ class Rngstreams(AutotoolsPackage): """Multiple independent streams of pseudo-random numbers.""" - homepage = "http://statmath.wu.ac.at/software/RngStreams" + homepage = "https://statmath.wu.ac.at/software/RngStreams" url = "http://statmath.wu.ac.at/software/RngStreams/rngstreams-1.0.1.tar.gz" version('1.0.1', sha256='966195febb9fb9417e4e361948843425aee12efc8b4e85332acbcd011ff2d9b0') diff --git a/var/spack/repos/builtin/packages/ross/package.py b/var/spack/repos/builtin/packages/ross/package.py index 21e99499ba6..215942284a8 100644 --- a/var/spack/repos/builtin/packages/ross/package.py +++ b/var/spack/repos/builtin/packages/ross/package.py @@ -9,7 +9,7 @@ class Ross(CMakePackage): """Rensselaer Optimistic Simulation System""" - homepage = "http://ross-org.github.io" + homepage = "https://ross-org.github.io" git = "https://github.com/ROSS-org/ROSS.git" url = "https://github.com/ROSS-org/ROSS/archive/v7.0.0.tar.gz" diff --git a/var/spack/repos/builtin/packages/rrdtool/package.py b/var/spack/repos/builtin/packages/rrdtool/package.py index 99d5170d731..5c615127d9f 100644 --- a/var/spack/repos/builtin/packages/rrdtool/package.py +++ b/var/spack/repos/builtin/packages/rrdtool/package.py @@ -9,7 +9,7 @@ class Rrdtool(AutotoolsPackage): """RA tool for data logging and analysis.""" - homepage = "http://oss.oetiker.ch/rrdtool" + homepage = "https://oss.oetiker.ch/rrdtool" url = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.7.0.tar.gz" version('1.7.2', sha256='a199faeb7eff7cafc46fac253e682d833d08932f3db93a550a4a5af180ca58db') diff --git a/var/spack/repos/builtin/packages/rsem/package.py b/var/spack/repos/builtin/packages/rsem/package.py index eebce12929e..dfad6f33d10 100644 --- a/var/spack/repos/builtin/packages/rsem/package.py +++ b/var/spack/repos/builtin/packages/rsem/package.py @@ -10,7 +10,7 @@ class Rsem(MakefilePackage): """RSEM is a software package for estimating gene and isoform expression levels from RNA-Seq data.""" - homepage = "http://deweylab.github.io/RSEM/" + homepage = "https://deweylab.github.io/RSEM/" url = "https://github.com/deweylab/RSEM/archive/v1.3.0.tar.gz" version('1.3.1', sha256='93c749a03ac16e94b1aab94d032d4fd5687d3261316ce943ecb89d3ae3ec2e11') diff --git a/var/spack/repos/builtin/packages/rstart/package.py b/var/spack/repos/builtin/packages/rstart/package.py index ee13a1987be..33fcb09f217 100644 --- a/var/spack/repos/builtin/packages/rstart/package.py +++ b/var/spack/repos/builtin/packages/rstart/package.py @@ -14,7 +14,7 @@ class Rstart(AutotoolsPackage, XorgPackage): This software has been deprecated in favor of the X11 forwarding provided in common ssh implementations.""" - homepage = "http://cgit.freedesktop.org/xorg/app/rstart" + homepage = "https://cgit.freedesktop.org/xorg/app/rstart" xorg_mirror_path = "app/rstart-1.0.5.tar.gz" version('1.0.5', sha256='5271c0c2675b4ad09aace7edddfdd137af10fc754afa6260d8eb5d0bba7098c7') diff --git a/var/spack/repos/builtin/packages/sailfish/package.py b/var/spack/repos/builtin/packages/sailfish/package.py index cb354e89736..dfd4f40b643 100644 --- a/var/spack/repos/builtin/packages/sailfish/package.py +++ b/var/spack/repos/builtin/packages/sailfish/package.py @@ -9,7 +9,7 @@ class Sailfish(CMakePackage): """Sailfish is a tool for transcript quantification from RNA-seq data.""" - homepage = "http://www.cs.cmu.edu/~ckingsf/software/sailfish" + homepage = "https://www.cs.cmu.edu/~ckingsf/software/sailfish" url = "https://github.com/kingsfordgroup/sailfish/archive/v0.10.1.tar.gz" version('0.10.1', sha256='a0d6d944382f2e07ffbfd0371132588e2f22bb846ecfc3d3435ff3d81b30d6c6') diff --git a/var/spack/repos/builtin/packages/salmon/package.py b/var/spack/repos/builtin/packages/salmon/package.py index bdbc4aca9db..0a6388b34ad 100644 --- a/var/spack/repos/builtin/packages/salmon/package.py +++ b/var/spack/repos/builtin/packages/salmon/package.py @@ -8,7 +8,7 @@ class Salmon(CMakePackage): """Salmon is a tool for quantifying the expression of transcripts using RNA-seq data.""" - homepage = "http://combine-lab.github.io/salmon/" + homepage = "https://combine-lab.github.io/salmon/" url = "https://github.com/COMBINE-lab/salmon/archive/v0.8.2.tar.gz" version('1.4.0', sha256='6d3e25387450710f0aa779a1e9aaa9b4dec842324ff8551d66962d7c7606e71d') diff --git a/var/spack/repos/builtin/packages/sambamba/package.py b/var/spack/repos/builtin/packages/sambamba/package.py index afcac2874bd..a337cddd908 100644 --- a/var/spack/repos/builtin/packages/sambamba/package.py +++ b/var/spack/repos/builtin/packages/sambamba/package.py @@ -9,7 +9,7 @@ class Sambamba(Package): """Sambamba: process your BAM data faster (bioinformatics)""" - homepage = "http://lomereiter.github.io/sambamba/" + homepage = "https://lomereiter.github.io/sambamba/" git = "https://github.com/lomereiter/sambamba.git" version('0.6.6', tag='v0.6.6', submodules=True) diff --git a/var/spack/repos/builtin/packages/samtools/package.py b/var/spack/repos/builtin/packages/samtools/package.py index dff0dbfbb07..c0c27ae32d6 100644 --- a/var/spack/repos/builtin/packages/samtools/package.py +++ b/var/spack/repos/builtin/packages/samtools/package.py @@ -11,7 +11,7 @@ class Samtools(Package): the SAM format, including sorting, merging, indexing and generating alignments in a per-position format""" - homepage = "http://www.htslib.org" + homepage = "https://www.htslib.org" url = "https://github.com/samtools/samtools/releases/download/1.3.1/samtools-1.3.1.tar.bz2" version('1.12', sha256='6da3770563b1c545ca8bdf78cf535e6d1753d6383983c7929245d5dba2902dcb') diff --git a/var/spack/repos/builtin/packages/scalasca/package.py b/var/spack/repos/builtin/packages/scalasca/package.py index 421c629e268..b172d199583 100644 --- a/var/spack/repos/builtin/packages/scalasca/package.py +++ b/var/spack/repos/builtin/packages/scalasca/package.py @@ -16,7 +16,7 @@ class Scalasca(AutotoolsPackage): """ - homepage = "http://www.scalasca.org" + homepage = "https://www.scalasca.org" url = "http://apps.fz-juelich.de/scalasca/releases/scalasca/2.1/dist/scalasca-2.1.tar.gz" list_url = "https://scalasca.org/scalasca/front_content.php?idart=1072" diff --git a/var/spack/repos/builtin/packages/scan-for-matches/package.py b/var/spack/repos/builtin/packages/scan-for-matches/package.py index d76ebff32a2..31a23510a7a 100644 --- a/var/spack/repos/builtin/packages/scan-for-matches/package.py +++ b/var/spack/repos/builtin/packages/scan-for-matches/package.py @@ -10,7 +10,7 @@ class ScanForMatches(Package): """scan_for_matches is a utility written in C for locating patterns in DNA or protein FASTA files.""" - homepage = "http://blog.theseed.org/servers/2010/07/scan-for-matches.html" + homepage = "https://blog.theseed.org/servers/2010/07/scan-for-matches.html" url = "http://www.theseed.org/servers/downloads/scan_for_matches.tgz" version('2010-7-16', sha256='c6b17930efbdfbac28b57c3a0b4f8c26effb36c48988d82e41c81c6962e2d68f') diff --git a/var/spack/repos/builtin/packages/scantailor/package.py b/var/spack/repos/builtin/packages/scantailor/package.py index 97d90b73c09..86cb133972c 100644 --- a/var/spack/repos/builtin/packages/scantailor/package.py +++ b/var/spack/repos/builtin/packages/scantailor/package.py @@ -14,7 +14,7 @@ class Scantailor(CMakePackage): recognition, and assembling multi-page documents are out of scope of this project.""" - homepage = "http://www.scantailor.org" + homepage = "https://www.scantailor.org" url = "https://github.com/trufanov-nok/scantailor/archive/0.2.7.tar.gz" version( diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py index 1f36a17fbcd..4ea8337b0c9 100644 --- a/var/spack/repos/builtin/packages/scorep/package.py +++ b/var/spack/repos/builtin/packages/scorep/package.py @@ -12,7 +12,7 @@ class Scorep(AutotoolsPackage): of HPC applications. """ - homepage = "http://www.vi-hps.org/projects/score-p" + homepage = "https://www.vi-hps.org/projects/score-p" url = "https://www.vi-hps.org/cms/upload/packages/scorep/scorep-4.1.tar.gz" version('7.0', sha256='68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996', url='https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-7.0/scorep-7.0.tar.gz') diff --git a/var/spack/repos/builtin/packages/scripts/package.py b/var/spack/repos/builtin/packages/scripts/package.py index d4346da1bf8..756c93aa55d 100644 --- a/var/spack/repos/builtin/packages/scripts/package.py +++ b/var/spack/repos/builtin/packages/scripts/package.py @@ -9,7 +9,7 @@ class Scripts(AutotoolsPackage, XorgPackage): """Various X related scripts.""" - homepage = "http://cgit.freedesktop.org/xorg/app/scripts" + homepage = "https://cgit.freedesktop.org/xorg/app/scripts" xorg_mirror_path = "app/scripts-1.0.1.tar.gz" version('1.0.1', sha256='0ed6dabdbe821944d61830489ad5f21bd934550456b9157a1cd8a32f76e08279') diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index d1959d61195..c52595d8e90 100644 --- a/var/spack/repos/builtin/packages/seacas/package.py +++ b/var/spack/repos/builtin/packages/seacas/package.py @@ -20,7 +20,7 @@ class Seacas(CMakePackage): translate exodus databases. Default is to build the exodus and IOSS libraries and the io_shell, io_info, struc_to_unstruc apps. """ - homepage = "http://gsjaardema.github.io/seacas/" + homepage = "https://gsjaardema.github.io/seacas/" git = "https://github.com/gsjaardema/seacas.git" url = "https://github.com/gsjaardema/seacas/archive/v2019-08-20.tar.gz" maintainers = ['gsjaardema'] diff --git a/var/spack/repos/builtin/packages/sed/package.py b/var/spack/repos/builtin/packages/sed/package.py index 7ad00ea65e8..836c86c71fa 100644 --- a/var/spack/repos/builtin/packages/sed/package.py +++ b/var/spack/repos/builtin/packages/sed/package.py @@ -10,7 +10,7 @@ class Sed(AutotoolsPackage, GNUMirrorPackage): """GNU implementation of the famous stream editor.""" - homepage = "http://www.gnu.org/software/sed/" + homepage = "https://www.gnu.org/software/sed/" gnu_mirror_path = "sed/sed-4.2.2.tar.bz2" version('4.2.2', sha256='f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7') diff --git a/var/spack/repos/builtin/packages/seqkit/package.py b/var/spack/repos/builtin/packages/seqkit/package.py index 386de590579..bb85b1e03bf 100644 --- a/var/spack/repos/builtin/packages/seqkit/package.py +++ b/var/spack/repos/builtin/packages/seqkit/package.py @@ -10,7 +10,7 @@ class Seqkit(Package): """A cross-platform and ultrafast toolkit for FASTA/Q file manipulation in Golang.""" - homepage = "http://bioinf.shenwei.me/seqkit" + homepage = "https://bioinf.shenwei.me/seqkit" url = "https://github.com/shenwei356/seqkit/releases/download/v0.10.1/seqkit_linux_amd64.tar.gz" version('0.10.1', sha256='82f1c86dc4bd196403a56c2bf3ec063e5674a71777e68d940c4cc3d8411d2e9d') diff --git a/var/spack/repos/builtin/packages/sessreg/package.py b/var/spack/repos/builtin/packages/sessreg/package.py index 0d0cf125cb8..2eb69fa164b 100644 --- a/var/spack/repos/builtin/packages/sessreg/package.py +++ b/var/spack/repos/builtin/packages/sessreg/package.py @@ -11,7 +11,7 @@ class Sessreg(AutotoolsPackage, XorgPackage): sessions. It was originally written for use with xdm, but may also be used with other display managers such as gdm or kdm.""" - homepage = "http://cgit.freedesktop.org/xorg/app/sessreg" + homepage = "https://cgit.freedesktop.org/xorg/app/sessreg" xorg_mirror_path = "app/sessreg-1.1.0.tar.gz" version('1.1.0', sha256='e561edb48dfc3b0624554169c15f9dd2c3139e83084cb323b0c712724f2b6043') diff --git a/var/spack/repos/builtin/packages/shark/package.py b/var/spack/repos/builtin/packages/shark/package.py index d163dcc96e6..71b11ae611e 100644 --- a/var/spack/repos/builtin/packages/shark/package.py +++ b/var/spack/repos/builtin/packages/shark/package.py @@ -10,7 +10,7 @@ class Shark(CMakePackage): """Shark is a fast, modular, general open-source C++ machine learning library. """ - homepage = "http://www.shark-ml.org/" + homepage = "https://www.shark-ml.org/" url = "https://github.com/Shark-ML/Shark/archive/v4.0.1.tar.gz" version('4.0.1', sha256='1caf9c73c5ebf54f9543a090e2b05ac646f95559aa1de483cd7662c378c1ec21') diff --git a/var/spack/repos/builtin/packages/shortstack/package.py b/var/spack/repos/builtin/packages/shortstack/package.py index d28aef0c79e..ced100a5e9a 100644 --- a/var/spack/repos/builtin/packages/shortstack/package.py +++ b/var/spack/repos/builtin/packages/shortstack/package.py @@ -11,7 +11,7 @@ class Shortstack(Package): with respect to a reference genome, and output a comprehensive and informative annotation of all discovered small RNA genes.""" - homepage = "http://sites.psu.edu/axtell/software/shortstack/" + homepage = "https://sites.psu.edu/axtell/software/shortstack/" url = "https://github.com/MikeAxtell/ShortStack/archive/v3.8.3.tar.gz" version('3.8.3', sha256='7c76f51ed949ca95ec5df7cb54803ae2350658fd64c75909351d5a856abb0dbe') diff --git a/var/spack/repos/builtin/packages/showfont/package.py b/var/spack/repos/builtin/packages/showfont/package.py index ef2b09d9b0c..e6d1822d4d9 100644 --- a/var/spack/repos/builtin/packages/showfont/package.py +++ b/var/spack/repos/builtin/packages/showfont/package.py @@ -11,7 +11,7 @@ class Showfont(AutotoolsPackage, XorgPackage): The information shown includes font information, font properties, character metrics, and character bitmaps.""" - homepage = "http://cgit.freedesktop.org/xorg/app/showfont" + homepage = "https://cgit.freedesktop.org/xorg/app/showfont" xorg_mirror_path = "app/showfont-1.0.5.tar.gz" version('1.0.5', sha256='566e34a145ea73397724d46e84f6a9b3691cf55d0fcb96ec7f917b2b39265ebb') diff --git a/var/spack/repos/builtin/packages/signalp/package.py b/var/spack/repos/builtin/packages/signalp/package.py index 831cbb1515d..73d69cf2471 100644 --- a/var/spack/repos/builtin/packages/signalp/package.py +++ b/var/spack/repos/builtin/packages/signalp/package.py @@ -18,7 +18,7 @@ class Signalp(Package): For instructions on how to set up a mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - homepage = "http://www.cbs.dtu.dk/services/SignalP/" + homepage = "https://www.cbs.dtu.dk/services/SignalP/" url = "file://{0}/signalp-4.1f.Linux.tar.gz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/simgrid/package.py b/var/spack/repos/builtin/packages/simgrid/package.py index 188f227c17b..e22cd1d2586 100644 --- a/var/spack/repos/builtin/packages/simgrid/package.py +++ b/var/spack/repos/builtin/packages/simgrid/package.py @@ -10,7 +10,7 @@ class Simgrid(CMakePackage): """To study the behavior of large-scale distributed systems such as Grids, Clouds, HPC or P2P systems.""" - homepage = "http://simgrid.org/" + homepage = "https://simgrid.org/" url = "https://github.com/simgrid/simgrid/releases/download/v3.27/simgrid-3.27.tar.gz" git = 'https://framagit.org/simgrid/simgrid.git' diff --git a/var/spack/repos/builtin/packages/smproxy/package.py b/var/spack/repos/builtin/packages/smproxy/package.py index c487121c065..e2aed9086a9 100644 --- a/var/spack/repos/builtin/packages/smproxy/package.py +++ b/var/spack/repos/builtin/packages/smproxy/package.py @@ -10,7 +10,7 @@ class Smproxy(AutotoolsPackage, XorgPackage): """smproxy allows X applications that do not support X11R6 session management to participate in an X11R6 session.""" - homepage = "http://cgit.freedesktop.org/xorg/app/smproxy" + homepage = "https://cgit.freedesktop.org/xorg/app/smproxy" xorg_mirror_path = "app/smproxy-1.0.6.tar.gz" version('1.0.6', sha256='a01374763426a5fdcbc7a65edc54e2070cdbca4df41dddd3051c7586e4c814c9') diff --git a/var/spack/repos/builtin/packages/snap-berkeley/package.py b/var/spack/repos/builtin/packages/snap-berkeley/package.py index 7cf465a4ca9..c120e4d9e0a 100644 --- a/var/spack/repos/builtin/packages/snap-berkeley/package.py +++ b/var/spack/repos/builtin/packages/snap-berkeley/package.py @@ -12,7 +12,7 @@ class SnapBerkeley(MakefilePackage): advantage of these reads to align data quickly through a hash-based indexing scheme.""" - homepage = "http://snap.cs.berkeley.edu/" + homepage = "https://snap.cs.berkeley.edu/" url = "https://github.com/amplab/snap/archive/v1.0beta.18.tar.gz" version('1.0beta.18', sha256='9e8a8dc3f17e3f533d34011afe98316c19cbd70cc8b4830375611e003697daee') diff --git a/var/spack/repos/builtin/packages/somatic-sniper/package.py b/var/spack/repos/builtin/packages/somatic-sniper/package.py index adabe87392a..37548e856ca 100644 --- a/var/spack/repos/builtin/packages/somatic-sniper/package.py +++ b/var/spack/repos/builtin/packages/somatic-sniper/package.py @@ -9,7 +9,7 @@ class SomaticSniper(CMakePackage): """A tool to call somatic single nucleotide variants.""" - homepage = "http://gmt.genome.wustl.edu/packages/somatic-sniper" + homepage = "https://gmt.genome.wustl.edu/packages/somatic-sniper" url = "https://github.com/genome/somatic-sniper/archive/v1.0.5.0.tar.gz" version('1.0.5.0', sha256='fc41e90237b059fcc591e404830c4b1be678642dd5afd76ce545b97b4b7b3de1') diff --git a/var/spack/repos/builtin/packages/sowing/package.py b/var/spack/repos/builtin/packages/sowing/package.py index 55dbb3017fe..b6ab80d442e 100644 --- a/var/spack/repos/builtin/packages/sowing/package.py +++ b/var/spack/repos/builtin/packages/sowing/package.py @@ -12,7 +12,7 @@ class Sowing(AutotoolsPackage): and MPICH. """ - homepage = "http://www.mcs.anl.gov/petsc/index.html" + homepage = "https://www.mcs.anl.gov/petsc/index.html" url = "http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sowing-1.1.23-p1.tar.gz" version('1.1.26-p1', sha256='fa0bd07295e5d768f2c33c8ab32205cc6411d42cb40bde0700fb57f9ee31c3d9') diff --git a/var/spack/repos/builtin/packages/spades/package.py b/var/spack/repos/builtin/packages/spades/package.py index 9c535b2be16..ddcf5ffcc05 100644 --- a/var/spack/repos/builtin/packages/spades/package.py +++ b/var/spack/repos/builtin/packages/spades/package.py @@ -10,7 +10,7 @@ class Spades(CMakePackage): """SPAdes - St. Petersburg genome assembler - is intended for both standard isolates and single-cell MDA bacteria assemblies.""" - homepage = "http://cab.spbu.ru/software/spades/" + homepage = "https://cab.spbu.ru/software/spades/" url = "https://github.com/ablab/spades/releases/download/v3.15.0/SPAdes-3.15.0.tar.gz" version('3.15.0', sha256='6719489fa4bed6dd96d78bdd4001a30806d5469170289085836711d1ffb8b28b') diff --git a/var/spack/repos/builtin/packages/spark/package.py b/var/spack/repos/builtin/packages/spark/package.py index 3d341bf9dbc..24f228bc122 100644 --- a/var/spack/repos/builtin/packages/spark/package.py +++ b/var/spack/repos/builtin/packages/spark/package.py @@ -13,7 +13,7 @@ class Spark(Package): for large-scale data processing. """ - homepage = "http://spark.apache.org" + homepage = "https://spark.apache.org" url = "http://archive.apache.org/dist/spark/spark-2.0.0/spark-2.0.0-bin-without-hadoop.tgz" variant('hadoop', default=False, diff --git a/var/spack/repos/builtin/packages/spectrum-mpi/package.py b/var/spack/repos/builtin/packages/spectrum-mpi/package.py index b1e03f15932..ceca784288f 100644 --- a/var/spack/repos/builtin/packages/spectrum-mpi/package.py +++ b/var/spack/repos/builtin/packages/spectrum-mpi/package.py @@ -11,7 +11,7 @@ class SpectrumMpi(Package): has_code = False - homepage = "http://www-03.ibm.com/systems/spectrum-computing/products/mpi" + homepage = "https://www-03.ibm.com/systems/spectrum-computing/products/mpi" provides('mpi') diff --git a/var/spack/repos/builtin/packages/sqoop/package.py b/var/spack/repos/builtin/packages/sqoop/package.py index e29293ce796..2dad3cc2662 100644 --- a/var/spack/repos/builtin/packages/sqoop/package.py +++ b/var/spack/repos/builtin/packages/sqoop/package.py @@ -9,7 +9,7 @@ class Sqoop(MavenPackage): data between Apache Hadoop and structured datastores such as relational databases.""" - homepage = "http://sqoop.apache.org/" + homepage = "https://sqoop.apache.org/" url = "https://downloads.apache.org/sqoop/1.99.7/sqoop-1.99.7.tar.gz" list_url = "https://downloads.apache.org/sqoop/" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/stacks/package.py b/var/spack/repos/builtin/packages/stacks/package.py index 2fa6c1f4cdb..68cbef188c7 100644 --- a/var/spack/repos/builtin/packages/stacks/package.py +++ b/var/spack/repos/builtin/packages/stacks/package.py @@ -10,7 +10,7 @@ class Stacks(AutotoolsPackage): """Stacks is a software pipeline for building loci from short-read sequences, such as those generated on the Illumina platform.""" - homepage = "http://catchenlab.life.illinois.edu/stacks/" + homepage = "https://catchenlab.life.illinois.edu/stacks/" url = "http://catchenlab.life.illinois.edu/stacks/source/stacks-1.46.tar.gz" version('2.53', sha256='ee1efceaeeeb7a39f0c2e804ad7c0a003094db28c9101120c38ddb02846e90fd') diff --git a/var/spack/repos/builtin/packages/star-ccm-plus/package.py b/var/spack/repos/builtin/packages/star-ccm-plus/package.py index 0b39c0d6c71..80671994852 100644 --- a/var/spack/repos/builtin/packages/star-ccm-plus/package.py +++ b/var/spack/repos/builtin/packages/star-ccm-plus/package.py @@ -12,7 +12,7 @@ class StarCcmPlus(Package): """STAR-CCM+ (Computational Continuum Mechanics) CFD solver.""" - homepage = "http://mdx.plm.automation.siemens.com/star-ccm-plus" + homepage = "https://mdx.plm.automation.siemens.com/star-ccm-plus" url = "file://{0}/STAR-CCM+11.06.010_02_linux-x86_64.tar.gz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/stat/package.py b/var/spack/repos/builtin/packages/stat/package.py index a36c073651a..0027cfd1ea3 100644 --- a/var/spack/repos/builtin/packages/stat/package.py +++ b/var/spack/repos/builtin/packages/stat/package.py @@ -9,7 +9,7 @@ class Stat(AutotoolsPackage): """Library to create, manipulate, and export graphs Graphlib.""" - homepage = "http://paradyn.org/STAT/STAT.html" + homepage = "https://paradyn.org/STAT/STAT.html" url = "https://github.com/LLNL/STAT/archive/v2.0.0.tar.gz" git = "https://github.com/llnl/stat.git" maintainers = ['lee218llnl'] diff --git a/var/spack/repos/builtin/packages/structure/package.py b/var/spack/repos/builtin/packages/structure/package.py index adf52faefa4..a1388f9c5a0 100644 --- a/var/spack/repos/builtin/packages/structure/package.py +++ b/var/spack/repos/builtin/packages/structure/package.py @@ -10,7 +10,7 @@ class Structure(MakefilePackage): """Structure is a free software package for using multi-locus genotype data to investigate population structure.""" - homepage = "http://web.stanford.edu/group/pritchardlab/structure.html" + homepage = "https://web.stanford.edu/group/pritchardlab/structure.html" url = "http://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v2.3.4/structure_kernel_source.tar.gz" version('2.3.4', sha256='f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37') diff --git a/var/spack/repos/builtin/packages/sublime-text/package.py b/var/spack/repos/builtin/packages/sublime-text/package.py index f16a6a3ea13..52e6a0ad046 100644 --- a/var/spack/repos/builtin/packages/sublime-text/package.py +++ b/var/spack/repos/builtin/packages/sublime-text/package.py @@ -10,7 +10,7 @@ class SublimeText(Package): """Sublime Text is a sophisticated text editor for code, markup and prose.""" - homepage = "http://www.sublimetext.com/" + homepage = "https://www.sublimetext.com/" url = "https://download.sublimetext.com/sublime_text_3_build_3211_x64.tar.bz2" version('3.2.2.3211', sha256='0b3c8ca5e6df376c3c24a4b9ac2e3b391333f73b229bc6e87d0b4a5f636d74ee') diff --git a/var/spack/repos/builtin/packages/sumo/package.py b/var/spack/repos/builtin/packages/sumo/package.py index 93339afe149..3d67eaeddd7 100644 --- a/var/spack/repos/builtin/packages/sumo/package.py +++ b/var/spack/repos/builtin/packages/sumo/package.py @@ -12,7 +12,7 @@ class Sumo(CMakePackage): networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.""" - homepage = "http://projects.eclipse.org/projects/technology.sumo" + homepage = "https://projects.eclipse.org/projects/technology.sumo" url = "https://github.com/eclipse/sumo/archive/v1_5_0.tar.gz" version('1.5.0', sha256='be6ba0361b487a5e71c81e60b4c07a67826d5e170500c10c37374c1086ac2cb6') diff --git a/var/spack/repos/builtin/packages/superlu-dist/package.py b/var/spack/repos/builtin/packages/superlu-dist/package.py index a757ee71021..8f4a9dc2606 100644 --- a/var/spack/repos/builtin/packages/superlu-dist/package.py +++ b/var/spack/repos/builtin/packages/superlu-dist/package.py @@ -10,7 +10,7 @@ class SuperluDist(CMakePackage, CudaPackage): """A general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.""" - homepage = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/" + homepage = "https://crd-legacy.lbl.gov/~xiaoye/SuperLU/" url = "https://github.com/xiaoyeli/superlu_dist/archive/v6.0.0.tar.gz" git = "https://github.com/xiaoyeli/superlu_dist.git" diff --git a/var/spack/repos/builtin/packages/superlu-mt/package.py b/var/spack/repos/builtin/packages/superlu-mt/package.py index 56c73e17425..e82d1416cf4 100644 --- a/var/spack/repos/builtin/packages/superlu-mt/package.py +++ b/var/spack/repos/builtin/packages/superlu-mt/package.py @@ -14,7 +14,7 @@ class SuperluMt(Package): sparse, nonsymmetric systems of linear equations on high performance machines. SuperLU_MT is designed for shared memory parallel machines.""" - homepage = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlu_mt" + homepage = "https://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlu_mt" url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_mt_3.1.tar.gz" version('3.1', sha256='407b544b9a92b2ed536b1e713e80f986824cf3016657a4bfc2f3e7d2a76ecab6') diff --git a/var/spack/repos/builtin/packages/superlu/package.py b/var/spack/repos/builtin/packages/superlu/package.py index d77b1666a99..58081298bec 100644 --- a/var/spack/repos/builtin/packages/superlu/package.py +++ b/var/spack/repos/builtin/packages/superlu/package.py @@ -9,7 +9,7 @@ class Superlu(CMakePackage): sparse, nonsymmetric systems of linear equations on high performance machines. SuperLU is designed for sequential machines.""" - homepage = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlu" + homepage = "https://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlu" url = "https://github.com/xiaoyeli/superlu/archive/refs/tags/v5.2.2.tar.gz" version('5.2.2', sha256='470334a72ba637578e34057f46948495e601a5988a602604f5576367e606a28c') diff --git a/var/spack/repos/builtin/packages/sympol/package.py b/var/spack/repos/builtin/packages/sympol/package.py index 746c55ac8ca..016cd8e76d8 100644 --- a/var/spack/repos/builtin/packages/sympol/package.py +++ b/var/spack/repos/builtin/packages/sympol/package.py @@ -9,7 +9,7 @@ class Sympol(CMakePackage): """SymPol is a C++ tool to work with symmetric polyhedra""" - homepage = "http://www.math.uni-rostock.de/~rehn/software/sympol.html" + homepage = "https://www.math.uni-rostock.de/~rehn/software/sympol.html" url = "http://www.math.uni-rostock.de/~rehn/software/sympol-0.1.8.tar.gz" version('0.1.8', sha256='8f4c013fa563e696fc8c27c408fd1f3d47783639815e8141e3a99826f1f3d54f') diff --git a/var/spack/repos/builtin/packages/tajo/package.py b/var/spack/repos/builtin/packages/tajo/package.py index 0c4be5927eb..6c25df22616 100644 --- a/var/spack/repos/builtin/packages/tajo/package.py +++ b/var/spack/repos/builtin/packages/tajo/package.py @@ -18,7 +18,7 @@ class Tajo(Package): and and its optimizer. """ - homepage = "http://tajo.apache.org/" + homepage = "https://tajo.apache.org/" url = "https://www-eu.apache.org/dist/tajo/tajo-0.11.3/tajo-0.11.3.tar.gz" list_url = "https://www-eu.apache.org/dist/tajo/" list_depth = 1 diff --git a/var/spack/repos/builtin/packages/targetp/package.py b/var/spack/repos/builtin/packages/targetp/package.py index 2a4daf56578..32fc0c97397 100644 --- a/var/spack/repos/builtin/packages/targetp/package.py +++ b/var/spack/repos/builtin/packages/targetp/package.py @@ -17,7 +17,7 @@ class Targetp(Package): For instructions on how to set up a mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - homepage = "http://www.cbs.dtu.dk/services/TargetP/" + homepage = "https://www.cbs.dtu.dk/services/TargetP/" url = "file://{0}/targetp-1.1b.Linux.tar.gz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/task/package.py b/var/spack/repos/builtin/packages/task/package.py index 52d07136696..5ff196e456c 100644 --- a/var/spack/repos/builtin/packages/task/package.py +++ b/var/spack/repos/builtin/packages/task/package.py @@ -8,7 +8,7 @@ class Task(CMakePackage): """Feature-rich console based todo list manager""" - homepage = "http://www.taskwarrior.org" + homepage = "https://www.taskwarrior.org" url = "http://taskwarrior.org/download/task-2.4.4.tar.gz" version('2.5.1', sha256='d87bcee58106eb8a79b850e9abc153d98b79e00d50eade0d63917154984f2a15') diff --git a/var/spack/repos/builtin/packages/taskd/package.py b/var/spack/repos/builtin/packages/taskd/package.py index 6f906e70ff0..6c3b5d35e53 100644 --- a/var/spack/repos/builtin/packages/taskd/package.py +++ b/var/spack/repos/builtin/packages/taskd/package.py @@ -9,7 +9,7 @@ class Taskd(CMakePackage): """TaskWarrior task synchronization daemon""" - homepage = "http://www.taskwarrior.org" + homepage = "https://www.taskwarrior.org" url = "http://taskwarrior.org/download/taskd-1.1.0.tar.gz" version('1.1.0', sha256='7b8488e687971ae56729ff4e2e5209ff8806cf8cd57718bfd7e521be130621b4') diff --git a/var/spack/repos/builtin/packages/tassel/package.py b/var/spack/repos/builtin/packages/tassel/package.py index 1b51edbc0e6..51d788934ab 100644 --- a/var/spack/repos/builtin/packages/tassel/package.py +++ b/var/spack/repos/builtin/packages/tassel/package.py @@ -10,7 +10,7 @@ class Tassel(Package): """TASSEL is a software package to evaluate traits associations, evolutionary patterns, and linkage disequilibrium.""" - homepage = "http://www.maizegenetics.net/tassel" + homepage = "https://www.maizegenetics.net/tassel" git = "https://bitbucket.org/tasseladmin/tassel-5-standalone.git" version('2017-07-22', commit='ae96ae75c3c9a9e8026140b6c775fa4685bdf531') diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py index ae20635829a..b9da99973b1 100644 --- a/var/spack/repos/builtin/packages/tau/package.py +++ b/var/spack/repos/builtin/packages/tau/package.py @@ -21,7 +21,7 @@ class Tau(Package): """ maintainers = ['wspear', 'eugeneswalker', 'khuck', 'sameershende'] - homepage = "http://www.cs.uoregon.edu/research/tau" + homepage = "https://www.cs.uoregon.edu/research/tau" url = "https://www.cs.uoregon.edu/research/tau/tau_releases/tau-2.30.tar.gz" git = "https://github.com/UO-OACISS/tau2" diff --git a/var/spack/repos/builtin/packages/tealeaf/package.py b/var/spack/repos/builtin/packages/tealeaf/package.py index a25c605034a..e878e4f7124 100644 --- a/var/spack/repos/builtin/packages/tealeaf/package.py +++ b/var/spack/repos/builtin/packages/tealeaf/package.py @@ -15,7 +15,7 @@ class Tealeaf(MakefilePackage): regularly grid using a 5 point stencil with implicit solvers. """ - homepage = "http://uk-mac.github.io/TeaLeaf/" + homepage = "https://uk-mac.github.io/TeaLeaf/" url = "http://downloads.mantevo.org/releaseTarballs/miniapps/TeaLeaf/TeaLeaf-1.0.tar.gz" tags = ['proxy-app'] diff --git a/var/spack/repos/builtin/packages/tengine/package.py b/var/spack/repos/builtin/packages/tengine/package.py index e7cf6f03a3f..a5ae78a45f3 100644 --- a/var/spack/repos/builtin/packages/tengine/package.py +++ b/var/spack/repos/builtin/packages/tengine/package.py @@ -9,7 +9,7 @@ class Tengine(AutotoolsPackage): """A distribution of Nginx with some advanced features.""" - homepage = "http://tengine.taobao.org/" + homepage = "https://tengine.taobao.org/" url = "https://github.com/alibaba/tengine/archive/2.3.2.tar.gz" version('2.3.2', sha256='a65998a35739a59f8a16ec4c6090a59e569ba5a1a3f68fecad952057c1a18fea') diff --git a/var/spack/repos/builtin/packages/termcap/package.py b/var/spack/repos/builtin/packages/termcap/package.py index cdacf46938e..b03d8aae600 100644 --- a/var/spack/repos/builtin/packages/termcap/package.py +++ b/var/spack/repos/builtin/packages/termcap/package.py @@ -11,7 +11,7 @@ class Termcap(AutotoolsPackage): enable programs to send control strings to terminals in a way independent of the terminal type.""" - homepage = "http://www.gnu.org/software/termutils/manual/termcap-1.3/html_mono/termcap.html" + homepage = "https://www.gnu.org/software/termutils/manual/termcap-1.3/html_mono/termcap.html" url = "http://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz" version('1.3.1', sha256='91a0e22e5387ca4467b5bcb18edf1c51b930262fd466d5fda396dd9d26719100') diff --git a/var/spack/repos/builtin/packages/tetgen/package.py b/var/spack/repos/builtin/packages/tetgen/package.py index 503c6bd2974..a3bb57569a0 100644 --- a/var/spack/repos/builtin/packages/tetgen/package.py +++ b/var/spack/repos/builtin/packages/tetgen/package.py @@ -16,7 +16,7 @@ class Tetgen(Package): boundary conforming Delaunay meshes, and Voronoi paritions. """ - homepage = "http://wias-berlin.de/software/tetgen/" + homepage = "https://wias-berlin.de/software/tetgen/" version('1.5.0', sha256='4d114861d5ef2063afd06ef38885ec46822e90e7b4ea38c864f76493451f9cf3', url='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz') version('1.4.3', sha256='952711bb06b7f64fd855eb24c33f08e3faf40bdd54764de10bbe5ed5b0dce034', url='http://www.tetgen.org/files/tetgen1.4.3.tar.gz') diff --git a/var/spack/repos/builtin/packages/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py index 6447a51a4db..0ef1b56edf3 100644 --- a/var/spack/repos/builtin/packages/texlive/package.py +++ b/var/spack/repos/builtin/packages/texlive/package.py @@ -19,7 +19,7 @@ class Texlive(AutotoolsPackage): and fonts that are free software, including support for many languages around the world.""" - homepage = "http://www.tug.org/texlive" + homepage = "https://www.tug.org/texlive" 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' diff --git a/var/spack/repos/builtin/packages/thrift/package.py b/var/spack/repos/builtin/packages/thrift/package.py index 56f0edec41e..1919a08529d 100644 --- a/var/spack/repos/builtin/packages/thrift/package.py +++ b/var/spack/repos/builtin/packages/thrift/package.py @@ -16,7 +16,7 @@ class Thrift(Package): """ - homepage = "http://thrift.apache.org" + homepage = "https://thrift.apache.org" url = "http://apache.mirrors.ionfish.org/thrift/0.11.0/thrift-0.11.0.tar.gz" version('0.13.0', sha256='7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179') diff --git a/var/spack/repos/builtin/packages/tmalign/package.py b/var/spack/repos/builtin/packages/tmalign/package.py index 9a11d590d04..0635d7a70c1 100644 --- a/var/spack/repos/builtin/packages/tmalign/package.py +++ b/var/spack/repos/builtin/packages/tmalign/package.py @@ -10,7 +10,7 @@ class Tmalign(Package): """TM-align is an algorithm for sequence-order independent protein structure comparisons.""" - homepage = "http://zhanglab.ccmb.med.umich.edu/TM-align" + homepage = "https://zhanglab.ccmb.med.umich.edu/TM-align" url = "http://zhanglab.ccmb.med.umich.edu/TM-align/TM-align-C/TMalignc.tar.gz" version('2016-05-25', sha256='ce7f68289f3766d525afb0a58e3acfc28ae05f538d152bd33d57f8708c60e2af') diff --git a/var/spack/repos/builtin/packages/tmux/package.py b/var/spack/repos/builtin/packages/tmux/package.py index c8d0bd96506..f073df0fdee 100644 --- a/var/spack/repos/builtin/packages/tmux/package.py +++ b/var/spack/repos/builtin/packages/tmux/package.py @@ -14,7 +14,7 @@ class Tmux(AutotoolsPackage): background) and reattach them to a different terminal. And do a lot more. """ - homepage = "http://tmux.github.io" + homepage = "https://tmux.github.io" url = "https://github.com/tmux/tmux/releases/download/2.6/tmux-2.6.tar.gz" version('3.2a', sha256='551553a4f82beaa8dadc9256800bcc284d7c000081e47aa6ecbb6ff36eacd05f') diff --git a/var/spack/repos/builtin/packages/tophat/package.py b/var/spack/repos/builtin/packages/tophat/package.py index cc6ed66a6f4..4ff94d4a24e 100644 --- a/var/spack/repos/builtin/packages/tophat/package.py +++ b/var/spack/repos/builtin/packages/tophat/package.py @@ -9,7 +9,7 @@ class Tophat(AutotoolsPackage): """Spliced read mapper for RNA-Seq.""" - homepage = "http://ccb.jhu.edu/software/tophat/index.shtml" + homepage = "https://ccb.jhu.edu/software/tophat/index.shtml" url = "https://github.com/infphilo/tophat/archive/v2.1.1.tar.gz" version('2.1.2', sha256='15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1') diff --git a/var/spack/repos/builtin/packages/transabyss/package.py b/var/spack/repos/builtin/packages/transabyss/package.py index f867732d0a5..0813edef1ca 100644 --- a/var/spack/repos/builtin/packages/transabyss/package.py +++ b/var/spack/repos/builtin/packages/transabyss/package.py @@ -9,7 +9,7 @@ class Transabyss(Package): """De novo assembly of RNAseq data using ABySS""" - homepage = "http://www.bcgsc.ca/platform/bioinfo/software/trans-abyss" + homepage = "https://www.bcgsc.ca/platform/bioinfo/software/trans-abyss" url = "http://www.bcgsc.ca/platform/bioinfo/software/trans-abyss/releases/1.5.5/transabyss-1.5.5.zip" version('1.5.5', sha256='7804961c13296c587a1b22180dd3f02091a4494cbbd04fc33c2060599caadb0b') diff --git a/var/spack/repos/builtin/packages/transdecoder/package.py b/var/spack/repos/builtin/packages/transdecoder/package.py index c173f3e6c28..0d8d0641101 100644 --- a/var/spack/repos/builtin/packages/transdecoder/package.py +++ b/var/spack/repos/builtin/packages/transdecoder/package.py @@ -12,7 +12,7 @@ class Transdecoder(MakefilePackage): assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.""" - homepage = "http://transdecoder.github.io/" + homepage = "https://transdecoder.github.io/" url = "https://github.com/TransDecoder/TransDecoder/archive/TransDecoder-v5.5.0.tar.gz" version('5.5.0', sha256='c800d9226350817471e9f51267c91f7cab99dbc9b26c980527fc1019e7d90a76') diff --git a/var/spack/repos/builtin/packages/transrate/package.py b/var/spack/repos/builtin/packages/transrate/package.py index b9d1f6bf995..9db7a278db8 100644 --- a/var/spack/repos/builtin/packages/transrate/package.py +++ b/var/spack/repos/builtin/packages/transrate/package.py @@ -12,7 +12,7 @@ class Transrate(Package): """Transrate is software for de-novo transcriptome assembly quality analysis.""" - homepage = "http://hibberdlab.com/transrate/" + homepage = "https://hibberdlab.com/transrate/" if sys.platform == 'darwin': version('1.0.3', sha256='039eba81747dd53f65a99a61923369aae4ba341891215d31a2babe574ac99ca8', diff --git a/var/spack/repos/builtin/packages/transset/package.py b/var/spack/repos/builtin/packages/transset/package.py index 49dcdcf98d6..69de59dc8e2 100644 --- a/var/spack/repos/builtin/packages/transset/package.py +++ b/var/spack/repos/builtin/packages/transset/package.py @@ -9,7 +9,7 @@ class Transset(AutotoolsPackage, XorgPackage): """transset is an utility for setting opacity property.""" - homepage = "http://cgit.freedesktop.org/xorg/app/transset" + homepage = "https://cgit.freedesktop.org/xorg/app/transset" xorg_mirror_path = "app/transset-1.0.1.tar.gz" version('1.0.1', sha256='87c560e69e05ae8a5bad17ff62ac31cda43a5065508205b109c756c0ab857d55') diff --git a/var/spack/repos/builtin/packages/triangle/package.py b/var/spack/repos/builtin/packages/triangle/package.py index c7528b7078d..df2513de14e 100644 --- a/var/spack/repos/builtin/packages/triangle/package.py +++ b/var/spack/repos/builtin/packages/triangle/package.py @@ -13,7 +13,7 @@ class Triangle(Package): triangulations, Voronoi diagrams, and high-quality triangular meshes.""" - homepage = "http://www.cs.cmu.edu/~quake/triangle.html" + homepage = "https://www.cs.cmu.edu/~quake/triangle.html" url = "http://www.netlib.org/voronoi/triangle.zip" version('1.6', sha256='1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480') diff --git a/var/spack/repos/builtin/packages/trinity/package.py b/var/spack/repos/builtin/packages/trinity/package.py index d1f557895d7..5562a135e89 100644 --- a/var/spack/repos/builtin/packages/trinity/package.py +++ b/var/spack/repos/builtin/packages/trinity/package.py @@ -19,7 +19,7 @@ class Trinity(MakefilePackage): derived from paralogous genes. """ - homepage = "http://trinityrnaseq.github.io/" + homepage = "https://trinityrnaseq.github.io/" url = "https://github.com/trinityrnaseq/trinityrnaseq/archive/Trinity-v2.6.6.tar.gz" version('2.12.0.FULL', sha256='0d47dc433cc3003e1c732b97da605e29c6ccafa38cd52cdb8ecc42399a9195d0', diff --git a/var/spack/repos/builtin/packages/tut/package.py b/var/spack/repos/builtin/packages/tut/package.py index 927fda58ca5..00b2b76feda 100644 --- a/var/spack/repos/builtin/packages/tut/package.py +++ b/var/spack/repos/builtin/packages/tut/package.py @@ -9,7 +9,7 @@ class Tut(WafPackage): """TUT is a small and portable unit test framework for C++.""" - homepage = "http://mrzechonek.github.io/tut-framework/" + homepage = "https://mrzechonek.github.io/tut-framework/" url = "https://github.com/mrzechonek/tut-framework/tarball/2016-12-19" version('2016-12-19', sha256='9fc0325d6db9709cc5213773bf4fd84f2a95154f18f7f8a553e1e52392e15691') diff --git a/var/spack/repos/builtin/packages/typhonio/package.py b/var/spack/repos/builtin/packages/typhonio/package.py index a409a92e3da..b70655b677c 100644 --- a/var/spack/repos/builtin/packages/typhonio/package.py +++ b/var/spack/repos/builtin/packages/typhonio/package.py @@ -10,7 +10,7 @@ class Typhonio(CMakePackage): """TyphonIO is a library of routines that perform input/output (I/O) of scientific data within application codes""" - homepage = "http://uk-mac.github.io/typhonio/" + homepage = "https://uk-mac.github.io/typhonio/" url = "https://github.com/UK-MAC/typhonio/archive/v1.6_CMake.tar.gz" git = "https://github.com/UK-MAC/typhonio.git" diff --git a/var/spack/repos/builtin/packages/udunits/package.py b/var/spack/repos/builtin/packages/udunits/package.py index 4c6ae1f2aca..6da4e90d244 100644 --- a/var/spack/repos/builtin/packages/udunits/package.py +++ b/var/spack/repos/builtin/packages/udunits/package.py @@ -9,7 +9,7 @@ class Udunits(AutotoolsPackage): """Automated units conversion""" - homepage = "http://www.unidata.ucar.edu/software/udunits" + homepage = "https://www.unidata.ucar.edu/software/udunits" url = "https://artifacts.unidata.ucar.edu/repository/downloads-udunits/udunits-2.2.28.tar.gz" version('2.2.28', sha256='590baec83161a3fd62c00efa66f6113cec8a7c461e3f61a5182167e0cc5d579e') diff --git a/var/spack/repos/builtin/packages/unblur/package.py b/var/spack/repos/builtin/packages/unblur/package.py index f16f73761ee..bbbbe381cf8 100644 --- a/var/spack/repos/builtin/packages/unblur/package.py +++ b/var/spack/repos/builtin/packages/unblur/package.py @@ -10,7 +10,7 @@ class Unblur(AutotoolsPackage): """Unblur is used to align the frames of movies recorded on an electron microscope to reduce image blurring due to beam-induced motion.""" - homepage = "http://grigoriefflab.janelia.org/unblur" + homepage = "https://grigoriefflab.janelia.org/unblur" url = "http://grigoriefflab.janelia.org/sites/default/files/unblur_1.0.2.tar.gz" version('1.0.2', sha256='1aa72b1f944114987ede644e1866eaebc08e191ecc566b3461409449360931e2') diff --git a/var/spack/repos/builtin/packages/unuran/package.py b/var/spack/repos/builtin/packages/unuran/package.py index 62ab5fa9d21..32177270f48 100644 --- a/var/spack/repos/builtin/packages/unuran/package.py +++ b/var/spack/repos/builtin/packages/unuran/package.py @@ -9,7 +9,7 @@ class Unuran(AutotoolsPackage): """Universal Non-Uniform Random number generator.""" - homepage = "http://statmath.wu.ac.at/unuran" + homepage = "https://statmath.wu.ac.at/unuran" url = "http://statmath.wu.ac.at/unuran/unuran-1.8.1.tar.gz" version('1.8.1', sha256='c270ae96857857dbac6450043df865e0517f52856ddbe5202fd35583b13c5193') diff --git a/var/spack/repos/builtin/packages/usearch/package.py b/var/spack/repos/builtin/packages/usearch/package.py index d43f8bb593d..fdf7fb46fec 100644 --- a/var/spack/repos/builtin/packages/usearch/package.py +++ b/var/spack/repos/builtin/packages/usearch/package.py @@ -18,7 +18,7 @@ class Usearch(Package): For instructions on how to set up a mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - homepage = "http://www.drive5.com/usearch/" + homepage = "https://www.drive5.com/usearch/" manual_download = True version('10.0.240', '05192b6d5e291530c190a19a3cc82b53', expand=False) diff --git a/var/spack/repos/builtin/packages/userspace-rcu/package.py b/var/spack/repos/builtin/packages/userspace-rcu/package.py index 1e6030e2471..9bb673f9574 100644 --- a/var/spack/repos/builtin/packages/userspace-rcu/package.py +++ b/var/spack/repos/builtin/packages/userspace-rcu/package.py @@ -11,7 +11,7 @@ class UserspaceRcu(AutotoolsPackage): data synchronization library provides read-side access which scales linearly with the number of cores.""" - homepage = "http://liburcu.org/" + homepage = "https://liburcu.org/" url = "https://github.com/urcu/userspace-rcu/archive/v0.11.1.tar.gz" version('0.11.1', sha256='a0ed8995edfbeac5f5eb2f152a8f3654040ecfc99a746bfe3da3bccf435b7d5d') diff --git a/var/spack/repos/builtin/packages/valgrind/package.py b/var/spack/repos/builtin/packages/valgrind/package.py index dd5caef082f..fc36453d1a3 100644 --- a/var/spack/repos/builtin/packages/valgrind/package.py +++ b/var/spack/repos/builtin/packages/valgrind/package.py @@ -19,7 +19,7 @@ class Valgrind(AutotoolsPackage, SourcewarePackage): Valgrind is Open Source / Free Software, and is freely available under the GNU General Public License, version 2. """ - homepage = "http://valgrind.org/" + homepage = "https://valgrind.org/" sourceware_mirror_path = "valgrind/valgrind-3.13.0.tar.bz2" git = "git://sourceware.org/git/valgrind.git" diff --git a/var/spack/repos/builtin/packages/varscan/package.py b/var/spack/repos/builtin/packages/varscan/package.py index 69e42a86175..45addad46e1 100644 --- a/var/spack/repos/builtin/packages/varscan/package.py +++ b/var/spack/repos/builtin/packages/varscan/package.py @@ -12,7 +12,7 @@ class Varscan(Package): """Variant calling and somatic mutation/CNV detection for next-generation sequencing data""" - homepage = "http://dkoboldt.github.io/varscan/" + homepage = "https://dkoboldt.github.io/varscan/" url = "https://github.com/dkoboldt/varscan/releases/download/2.4.2/VarScan.v2.4.2.jar" version('2.4.2', sha256='34ff6462f91fb6ed3f11e867ab4a179efae5dd8214b97fa261fc616f23d4d031', expand=False) diff --git a/var/spack/repos/builtin/packages/vasp/package.py b/var/spack/repos/builtin/packages/vasp/package.py index 525876e6e11..b1a671117f8 100644 --- a/var/spack/repos/builtin/packages/vasp/package.py +++ b/var/spack/repos/builtin/packages/vasp/package.py @@ -16,7 +16,7 @@ class Vasp(MakefilePackage): and quantum-mechanical molecular dynamics, from first principles. """ - homepage = "http://vasp.at" + homepage = "https://vasp.at" url = "file://{0}/vasp.5.4.4.pl2.tgz".format(os.getcwd()) manual_download = True diff --git a/var/spack/repos/builtin/packages/vesta/package.py b/var/spack/repos/builtin/packages/vesta/package.py index 5875ffc65b4..9599eabdf8c 100644 --- a/var/spack/repos/builtin/packages/vesta/package.py +++ b/var/spack/repos/builtin/packages/vesta/package.py @@ -10,7 +10,7 @@ class Vesta(Package): """VESTA is a 3D visualization program for structural models, volumetric data such as electron/nuclear densities, and crystal morphologies.""" - homepage = "http://jp-minerals.org/vesta" + homepage = "https://jp-minerals.org/vesta" url = "https://jp-minerals.org/vesta/archives/3.4.6/VESTA-x86_64.tar.bz2" version('3.4.6', sha256='fb00ac9a7bf46a3d9a1d745859c5e8757ba30f017a46470eb2c123b9afcf66ee') diff --git a/var/spack/repos/builtin/packages/viewres/package.py b/var/spack/repos/builtin/packages/viewres/package.py index 028968f1763..996dfb157c3 100644 --- a/var/spack/repos/builtin/packages/viewres/package.py +++ b/var/spack/repos/builtin/packages/viewres/package.py @@ -10,7 +10,7 @@ class Viewres(AutotoolsPackage, XorgPackage): """viewres displays a tree showing the widget class hierarchy of the Athena Widget Set (libXaw).""" - homepage = "http://cgit.freedesktop.org/xorg/app/viewres" + homepage = "https://cgit.freedesktop.org/xorg/app/viewres" xorg_mirror_path = "app/viewres-1.0.4.tar.gz" version('1.0.4', sha256='fd2aaec85c952fd6984fe14d0fcbda4d2ab9849a9183e4787b0ef552a10a87a1') diff --git a/var/spack/repos/builtin/packages/vim/package.py b/var/spack/repos/builtin/packages/vim/package.py index dad889c9926..62af8abb714 100644 --- a/var/spack/repos/builtin/packages/vim/package.py +++ b/var/spack/repos/builtin/packages/vim/package.py @@ -15,7 +15,7 @@ class Vim(AutotoolsPackage): composing email to editing configuration files. """ - homepage = "http://www.vim.org" + homepage = "https://www.vim.org" url = "https://github.com/vim/vim/archive/v8.1.0338.tar.gz" maintainers = ['sethrj'] diff --git a/var/spack/repos/builtin/packages/virtualgl/package.py b/var/spack/repos/builtin/packages/virtualgl/package.py index 8aa30eeba02..5d4f0cff458 100644 --- a/var/spack/repos/builtin/packages/virtualgl/package.py +++ b/var/spack/repos/builtin/packages/virtualgl/package.py @@ -13,7 +13,7 @@ class Virtualgl(CMakePackage): stream with which remote clients can interact to view and control the 3D application in real time.""" - homepage = "http://www.virtualgl.org/Main/HomePage" + homepage = "https://www.virtualgl.org/Main/HomePage" url = "http://downloads.sourceforge.net/project/virtualgl/2.5.2/VirtualGL-2.5.2.tar.gz" version('2.5.2', sha256='4f43387678b289a24139c5b7c3699740ca555a9f10011c979e51aa4df2b93238') diff --git a/var/spack/repos/builtin/packages/vizglow/package.py b/var/spack/repos/builtin/packages/vizglow/package.py index 8ae1dd5187f..1e68e9632c9 100644 --- a/var/spack/repos/builtin/packages/vizglow/package.py +++ b/var/spack/repos/builtin/packages/vizglow/package.py @@ -19,7 +19,7 @@ class Vizglow(Package): file to a mirror so that Spack can find it. For instructions on how to set up a mirror, see http://spack.readthedocs.io/en/latest/mirrors.html""" - homepage = "http://esgeetech.com/products/vizglow-plasma-modeling/" + homepage = "https://esgeetech.com/products/vizglow-plasma-modeling/" manual_download = True version('2.2alpha20', '2bef890c66f3a44aaf96f7c96788c89e', expand=False, diff --git a/var/spack/repos/builtin/packages/vt/package.py b/var/spack/repos/builtin/packages/vt/package.py index e923b4907ab..7ad58d10528 100644 --- a/var/spack/repos/builtin/packages/vt/package.py +++ b/var/spack/repos/builtin/packages/vt/package.py @@ -9,7 +9,7 @@ class Vt(MakefilePackage): """A tool set for short variant discovery in genetic sequence data.""" - homepage = "http://genome.sph.umich.edu/wiki/vt" + homepage = "https://genome.sph.umich.edu/wiki/vt" url = "https://github.com/atks/vt/archive/0.577.tar.gz" version('0.5772', sha256='b147520478a2f7c536524511e48133d0360e88282c7159821813738ccbda97e7') diff --git a/var/spack/repos/builtin/packages/wayland-protocols/package.py b/var/spack/repos/builtin/packages/wayland-protocols/package.py index 0510751b686..10016191f19 100644 --- a/var/spack/repos/builtin/packages/wayland-protocols/package.py +++ b/var/spack/repos/builtin/packages/wayland-protocols/package.py @@ -13,7 +13,7 @@ class WaylandProtocols(AutotoolsPackage): protocol either in Wayland core, or some other protocol i n wayland-protocols.""" - homepage = "http://wayland.freedesktop.org/" + homepage = "https://wayland.freedesktop.org/" url = "https://github.com/wayland-project/wayland-protocols/archive/1.20.tar.gz" version('1.20', sha256='b59cf0949aeb1f71f7db46b63b1c5a6705ffde8cb5bd194f843fbd9b41308dda') diff --git a/var/spack/repos/builtin/packages/wayland/package.py b/var/spack/repos/builtin/packages/wayland/package.py index 7dabbd827ca..b28a69aadc8 100644 --- a/var/spack/repos/builtin/packages/wayland/package.py +++ b/var/spack/repos/builtin/packages/wayland/package.py @@ -14,7 +14,7 @@ class Wayland(AutotoolsPackage): wayland client itself. The clients can be traditional applications, X servers(rootless or fullscreen) or other display servers.""" - homepage = "http://wayland.freedesktop.org/" + homepage = "https://wayland.freedesktop.org/" url = "https://github.com/wayland-project/wayland/archive/1.18.0.tar.gz" version('1.18.0', sha256='8d375719ebfa36b6f2968096fdf0bfa7d39ba110b7956c0032e395e7e012f332') diff --git a/var/spack/repos/builtin/packages/weighttp/package.py b/var/spack/repos/builtin/packages/weighttp/package.py index 1a9d36cbdd4..67e75907144 100644 --- a/var/spack/repos/builtin/packages/weighttp/package.py +++ b/var/spack/repos/builtin/packages/weighttp/package.py @@ -9,7 +9,7 @@ class Weighttp(AutotoolsPackage): """A lightweight and simple webserver benchmarking tool""" - homepage = "http://weighttp.lighttpd.net/" + homepage = "https://weighttp.lighttpd.net/" url = "https://github.com/lighttpd/weighttp/archive/weighttp-0.4.tar.gz" version('0.4', sha256='b4954f2a1eca118260ffd503a8e3504dd32942e2e61d0fa18ccb6b8166594447') diff --git a/var/spack/repos/builtin/packages/wget/package.py b/var/spack/repos/builtin/packages/wget/package.py index 978f7bf7059..297f8338a61 100644 --- a/var/spack/repos/builtin/packages/wget/package.py +++ b/var/spack/repos/builtin/packages/wget/package.py @@ -12,7 +12,7 @@ class Wget(AutotoolsPackage, GNUMirrorPackage): non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.""" - homepage = "http://www.gnu.org/software/wget/" + homepage = "https://www.gnu.org/software/wget/" gnu_mirror_path = "wget/wget-1.19.1.tar.gz" version('1.21.1', sha256='59ba0bdade9ad135eda581ae4e59a7a9f25e3a4bde6a5419632b31906120e26e') diff --git a/var/spack/repos/builtin/packages/workrave/package.py b/var/spack/repos/builtin/packages/workrave/package.py index 5b6b1d939fd..6098b37fe04 100644 --- a/var/spack/repos/builtin/packages/workrave/package.py +++ b/var/spack/repos/builtin/packages/workrave/package.py @@ -13,7 +13,7 @@ class Workrave(AutotoolsPackage): The program runs on GNU/Linux and Microsoft Windows. """ - homepage = "http://www.workrave.org/" + homepage = "https://www.workrave.org/" url = "https://github.com/rcaelers/workrave/archive/v1_10_20.tar.gz" version('1_10_20', sha256='a89c6e82d5bbbaae5e171100b87c4efd8316ab8a18d82b83714035e1116983ec') diff --git a/var/spack/repos/builtin/packages/wxwidgets/package.py b/var/spack/repos/builtin/packages/wxwidgets/package.py index d503fa51996..a439c4c9445 100644 --- a/var/spack/repos/builtin/packages/wxwidgets/package.py +++ b/var/spack/repos/builtin/packages/wxwidgets/package.py @@ -18,7 +18,7 @@ class Wxwidgets(AutotoolsPackage): rather than emulating the GUI. It's also extensive, free, open-source and mature.""" - homepage = "http://www.wxwidgets.org/" + homepage = "https://www.wxwidgets.org/" url = "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2" git = "https://github.com/wxWidgets/wxWidgets.git" diff --git a/var/spack/repos/builtin/packages/x11perf/package.py b/var/spack/repos/builtin/packages/x11perf/package.py index ed0350728b5..24bbb999600 100644 --- a/var/spack/repos/builtin/packages/x11perf/package.py +++ b/var/spack/repos/builtin/packages/x11perf/package.py @@ -9,7 +9,7 @@ class X11perf(AutotoolsPackage, XorgPackage): """Simple X server performance benchmarker.""" - homepage = "http://cgit.freedesktop.org/xorg/app/x11perf" + homepage = "https://cgit.freedesktop.org/xorg/app/x11perf" xorg_mirror_path = "app/x11perf-1.6.0.tar.gz" version('1.6.0', sha256='d33051c4e93100ab60609aee14ff889bb2460f28945063d793e21eda19381abb') diff --git a/var/spack/repos/builtin/packages/xbiff/package.py b/var/spack/repos/builtin/packages/xbiff/package.py index bc259eee76b..78fa4781077 100644 --- a/var/spack/repos/builtin/packages/xbiff/package.py +++ b/var/spack/repos/builtin/packages/xbiff/package.py @@ -11,7 +11,7 @@ class Xbiff(AutotoolsPackage, XorgPackage): It only handles mail stored in a filesystem accessible file, not via IMAP, POP or other remote access protocols.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xbiff" + homepage = "https://cgit.freedesktop.org/xorg/app/xbiff" xorg_mirror_path = "app/xbiff-1.0.3.tar.gz" version('1.0.3', sha256='b4b702348674985741685e3ec7fcb5640ffb7bf20e753fc2d708f70f2e4c304d') diff --git a/var/spack/repos/builtin/packages/xclipboard/package.py b/var/spack/repos/builtin/packages/xclipboard/package.py index 2d201265af5..b1630ed5bd4 100644 --- a/var/spack/repos/builtin/packages/xclipboard/package.py +++ b/var/spack/repos/builtin/packages/xclipboard/package.py @@ -12,7 +12,7 @@ class Xclipboard(AutotoolsPackage, XorgPackage): CLIPBOARD selections for later use. It stores each CLIPBOARD selection as a separate string, each of which can be selected.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xclipboard" + homepage = "https://cgit.freedesktop.org/xorg/app/xclipboard" xorg_mirror_path = "app/xclipboard-1.1.3.tar.gz" version('1.1.3', sha256='a8c335cf166cbb27ff86569503db7e639f85741ad199bfb3ba45dd0cfda3da7f') diff --git a/var/spack/repos/builtin/packages/xcmsdb/package.py b/var/spack/repos/builtin/packages/xcmsdb/package.py index ec9c9549e1b..b3a0d5b3aa1 100644 --- a/var/spack/repos/builtin/packages/xcmsdb/package.py +++ b/var/spack/repos/builtin/packages/xcmsdb/package.py @@ -12,7 +12,7 @@ class Xcmsdb(AutotoolsPackage, XorgPackage): specified in section 7, Device Color Characterization, of the X11 Inter-Client Communication Conventions Manual (ICCCM).""" - homepage = "http://cgit.freedesktop.org/xorg/app/xcmsdb" + homepage = "https://cgit.freedesktop.org/xorg/app/xcmsdb" xorg_mirror_path = "app/xcmsdb-1.0.5.tar.gz" version('1.0.5', sha256='8442352ee5eb3ea0d3a489c26d734e784ef6964150c2a173401d0dc6638ca236') diff --git a/var/spack/repos/builtin/packages/xconsole/package.py b/var/spack/repos/builtin/packages/xconsole/package.py index 628be26d8ad..64d5dab629f 100644 --- a/var/spack/repos/builtin/packages/xconsole/package.py +++ b/var/spack/repos/builtin/packages/xconsole/package.py @@ -10,7 +10,7 @@ class Xconsole(AutotoolsPackage, XorgPackage): """xconsole displays in a X11 window the messages which are usually sent to /dev/console.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xconsole" + homepage = "https://cgit.freedesktop.org/xorg/app/xconsole" xorg_mirror_path = "app/xconsole-1.0.6.tar.gz" version('1.0.6', sha256='28151453a0a687462516de133bac0287b488a2ff56da78331fee34bc1bf3e7d5') diff --git a/var/spack/repos/builtin/packages/xcursorgen/package.py b/var/spack/repos/builtin/packages/xcursorgen/package.py index 1836d64dde5..a5629720773 100644 --- a/var/spack/repos/builtin/packages/xcursorgen/package.py +++ b/var/spack/repos/builtin/packages/xcursorgen/package.py @@ -9,7 +9,7 @@ class Xcursorgen(AutotoolsPackage, XorgPackage): """xcursorgen prepares X11 cursor sets for use with libXcursor.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xcursorgen" + homepage = "https://cgit.freedesktop.org/xorg/app/xcursorgen" xorg_mirror_path = "app/xcursorgen-1.0.6.tar.gz" version('1.0.6', sha256='4559f2b6eaa93de4cb6968679cf40e39bcbe969b62ebf3ff84f6780f8048ef8c') diff --git a/var/spack/repos/builtin/packages/xdbedizzy/package.py b/var/spack/repos/builtin/packages/xdbedizzy/package.py index cc7227e2613..2781ac25eec 100644 --- a/var/spack/repos/builtin/packages/xdbedizzy/package.py +++ b/var/spack/repos/builtin/packages/xdbedizzy/package.py @@ -10,7 +10,7 @@ class Xdbedizzy(AutotoolsPackage, XorgPackage): """xdbedizzy is a demo of the X11 Double Buffer Extension (DBE) creating a double buffered spinning scene.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xdbedizzy" + homepage = "https://cgit.freedesktop.org/xorg/app/xdbedizzy" xorg_mirror_path = "app/xdbedizzy-1.1.0.tar.gz" version('1.1.0', sha256='810e88b087b76f8b5993db4fc5165de3e5d29b0d4bf0e893750ee408fc7a5c0a') diff --git a/var/spack/repos/builtin/packages/xditview/package.py b/var/spack/repos/builtin/packages/xditview/package.py index 82e834b02ac..fcadbd360b7 100644 --- a/var/spack/repos/builtin/packages/xditview/package.py +++ b/var/spack/repos/builtin/packages/xditview/package.py @@ -9,7 +9,7 @@ class Xditview(AutotoolsPackage, XorgPackage): """xditview displays ditroff output on an X display.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xditview" + homepage = "https://cgit.freedesktop.org/xorg/app/xditview" xorg_mirror_path = "app/xditview-1.0.4.tar.gz" version('1.0.4', sha256='73ad88cfc879edcc6ede65999c11d670da27575388126795d71f3ad60286d379') diff --git a/var/spack/repos/builtin/packages/xdmf3/package.py b/var/spack/repos/builtin/packages/xdmf3/package.py index b4ff900c360..17b2084d0cf 100644 --- a/var/spack/repos/builtin/packages/xdmf3/package.py +++ b/var/spack/repos/builtin/packages/xdmf3/package.py @@ -12,7 +12,7 @@ class Xdmf3(CMakePackage): codes and tools. """ - homepage = "http://xdmf.org" + homepage = "https://xdmf.org" git = "https://gitlab.kitware.com/xdmf/xdmf.git" # There is no official release of XDMF and development has largely ceased, diff --git a/var/spack/repos/builtin/packages/xf86dga/package.py b/var/spack/repos/builtin/packages/xf86dga/package.py index ad5c89a766b..928743163c6 100644 --- a/var/spack/repos/builtin/packages/xf86dga/package.py +++ b/var/spack/repos/builtin/packages/xf86dga/package.py @@ -9,7 +9,7 @@ class Xf86dga(AutotoolsPackage, XorgPackage): """dga is a simple test client for the XFree86-DGA extension.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xf86dga" + homepage = "https://cgit.freedesktop.org/xorg/app/xf86dga" xorg_mirror_path = "app/xf86dga-1.0.3.tar.gz" version('1.0.3', sha256='acbf89f60a99b18c161d2beb0e4145a0fdf6c516f7f45fa52e547d88491f75c9') diff --git a/var/spack/repos/builtin/packages/xfd/package.py b/var/spack/repos/builtin/packages/xfd/package.py index 1d1c0e60f20..a29cd05bc3b 100644 --- a/var/spack/repos/builtin/packages/xfd/package.py +++ b/var/spack/repos/builtin/packages/xfd/package.py @@ -10,7 +10,7 @@ class Xfd(AutotoolsPackage, XorgPackage): """xfd - display all the characters in a font using either the X11 core protocol or libXft2.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xfd" + homepage = "https://cgit.freedesktop.org/xorg/app/xfd" xorg_mirror_path = "app/xfd-1.1.2.tar.gz" version('1.1.3', sha256='4a1bd18f324c239b1a807ed4ccaeb172ba771d65a7307fb492d8dd8d27f01527') diff --git a/var/spack/repos/builtin/packages/xfindproxy/package.py b/var/spack/repos/builtin/packages/xfindproxy/package.py index f40a1d334a8..a0a49bde365 100644 --- a/var/spack/repos/builtin/packages/xfindproxy/package.py +++ b/var/spack/repos/builtin/packages/xfindproxy/package.py @@ -14,7 +14,7 @@ class Xfindproxy(AutotoolsPackage, XorgPackage): services, starts new proxies when necessary, and makes sure that proxies are shared whenever possible.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xfindproxy" + homepage = "https://cgit.freedesktop.org/xorg/app/xfindproxy" xorg_mirror_path = "app/xfindproxy-1.0.4.tar.gz" version('1.0.4', sha256='fa6152fcf9c16fbb2ef52259731df5df899a39a86894b0508456613f26ff924a') diff --git a/var/spack/repos/builtin/packages/xfontsel/package.py b/var/spack/repos/builtin/packages/xfontsel/package.py index 472d598dda6..4cc6360663f 100644 --- a/var/spack/repos/builtin/packages/xfontsel/package.py +++ b/var/spack/repos/builtin/packages/xfontsel/package.py @@ -11,7 +11,7 @@ class Xfontsel(AutotoolsPackage, XorgPackage): protocol fonts known to your X server, examine samples of each, and retrieve the X Logical Font Description ("XLFD") full name for a font.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xfontsel" + homepage = "https://cgit.freedesktop.org/xorg/app/xfontsel" xorg_mirror_path = "app/xfontsel-1.0.5.tar.gz" version('1.0.5', sha256='9b3ad0cc274398d22be9fa7efe930f4e3749fd4b1b61d9c31a7fb6c1f1ff766e') diff --git a/var/spack/repos/builtin/packages/xforms/package.py b/var/spack/repos/builtin/packages/xforms/package.py index 74faa5aa221..ad2a48df938 100644 --- a/var/spack/repos/builtin/packages/xforms/package.py +++ b/var/spack/repos/builtin/packages/xforms/package.py @@ -10,7 +10,7 @@ class Xforms(AutotoolsPackage): """This is the Free Software distribution of the XForms Library, a graphical user interface toolkit for X Window Systems.""" - homepage = "http://www.nongnu.org/xforms/" + homepage = "https://www.nongnu.org/xforms/" url = "http://download.savannah.gnu.org/releases/xforms/xforms-1.0.91.tar.gz" version('1.2.4', sha256='78cc6b07071bbeaa1f906e0a22d5e9980e48f8913577bc082d661afe5cb75696') diff --git a/var/spack/repos/builtin/packages/xfs/package.py b/var/spack/repos/builtin/packages/xfs/package.py index a7e7b13fca7..a783143bcc8 100644 --- a/var/spack/repos/builtin/packages/xfs/package.py +++ b/var/spack/repos/builtin/packages/xfs/package.py @@ -9,7 +9,7 @@ class Xfs(AutotoolsPackage, XorgPackage): """X Font Server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xfs" + homepage = "https://cgit.freedesktop.org/xorg/app/xfs" xorg_mirror_path = "app/xfs-1.1.4.tar.gz" version('1.1.4', sha256='28f89b854d1ff14fa1efa5b408e5e1c4f6a145420310073c4e44705feeb6d23b') diff --git a/var/spack/repos/builtin/packages/xfwp/package.py b/var/spack/repos/builtin/packages/xfwp/package.py index c5ada1a2201..0f8493c0772 100644 --- a/var/spack/repos/builtin/packages/xfwp/package.py +++ b/var/spack/repos/builtin/packages/xfwp/package.py @@ -9,7 +9,7 @@ class Xfwp(AutotoolsPackage, XorgPackage): """xfwp proxies X11 protocol connections, such as through a firewall.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xfwp" + homepage = "https://cgit.freedesktop.org/xorg/app/xfwp" xorg_mirror_path = "app/xfwp-1.0.3.tar.gz" version('1.0.3', sha256='6fe243bde0374637e271a3f038b5d6d79a04621fc18162727782392069c5c04d') diff --git a/var/spack/repos/builtin/packages/xgamma/package.py b/var/spack/repos/builtin/packages/xgamma/package.py index 07fcd6f8721..d80412b1420 100644 --- a/var/spack/repos/builtin/packages/xgamma/package.py +++ b/var/spack/repos/builtin/packages/xgamma/package.py @@ -10,7 +10,7 @@ class Xgamma(AutotoolsPackage, XorgPackage): """xgamma allows X users to query and alter the gamma correction of a monitor via the X video mode extension (XFree86-VidModeExtension).""" - homepage = "http://cgit.freedesktop.org/xorg/app/xgamma" + homepage = "https://cgit.freedesktop.org/xorg/app/xgamma" xorg_mirror_path = "app/xgamma-1.0.6.tar.gz" version('1.0.6', sha256='66da1d67e84146518b69481c6283c5d8f1027ace9ff7e214d3f81954842e796a') diff --git a/var/spack/repos/builtin/packages/xgc/package.py b/var/spack/repos/builtin/packages/xgc/package.py index 8466e5f5958..754d21c8462 100644 --- a/var/spack/repos/builtin/packages/xgc/package.py +++ b/var/spack/repos/builtin/packages/xgc/package.py @@ -10,7 +10,7 @@ class Xgc(AutotoolsPackage, XorgPackage): """xgc is an X11 graphics demo that shows various features of the X11 core protocol graphics primitives.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xgc" + homepage = "https://cgit.freedesktop.org/xorg/app/xgc" xorg_mirror_path = "app/xgc-1.0.5.tar.gz" version('1.0.5', sha256='16645fb437699bad2360f36f54f42320e33fce5a0ab9a086f6e0965963205b02') diff --git a/var/spack/repos/builtin/packages/xkbevd/package.py b/var/spack/repos/builtin/packages/xkbevd/package.py index 2ed9670bae6..8a4c6aaa37f 100644 --- a/var/spack/repos/builtin/packages/xkbevd/package.py +++ b/var/spack/repos/builtin/packages/xkbevd/package.py @@ -9,7 +9,7 @@ class Xkbevd(AutotoolsPackage, XorgPackage): """XKB event daemon demo.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xkbevd" + homepage = "https://cgit.freedesktop.org/xorg/app/xkbevd" xorg_mirror_path = "app/xkbevd-1.1.4.tar.gz" version('1.1.4', sha256='97dc2c19617da115c3d1183807338fa78c3fd074d8355d10a484f7b1c5b18459') diff --git a/var/spack/repos/builtin/packages/xkbprint/package.py b/var/spack/repos/builtin/packages/xkbprint/package.py index bfaaad82b7a..c54fd16f96e 100644 --- a/var/spack/repos/builtin/packages/xkbprint/package.py +++ b/var/spack/repos/builtin/packages/xkbprint/package.py @@ -10,7 +10,7 @@ class Xkbprint(AutotoolsPackage, XorgPackage): """xkbprint generates a printable or encapsulated PostScript description of an XKB keyboard description.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xkbprint" + homepage = "https://cgit.freedesktop.org/xorg/app/xkbprint" xorg_mirror_path = "app/xkbprint-1.0.4.tar.gz" version('1.0.4', sha256='169ebbf57fc8b7685c577c73a435998a38c27e0d135ce0a55fccc64cbebec768') diff --git a/var/spack/repos/builtin/packages/xkbutils/package.py b/var/spack/repos/builtin/packages/xkbutils/package.py index 686a72e8378..effd9e0c15e 100644 --- a/var/spack/repos/builtin/packages/xkbutils/package.py +++ b/var/spack/repos/builtin/packages/xkbutils/package.py @@ -10,7 +10,7 @@ class Xkbutils(AutotoolsPackage, XorgPackage): """xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) extension to the X11 protocol.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xkbutils" + homepage = "https://cgit.freedesktop.org/xorg/app/xkbutils" xorg_mirror_path = "app/xkbutils-1.0.4.tar.gz" version('1.0.4', sha256='cf31303cbdd6a86c34cab46f4b6e0c7acd2e84578593b334a146142894529bca') diff --git a/var/spack/repos/builtin/packages/xkill/package.py b/var/spack/repos/builtin/packages/xkill/package.py index fa87924552b..69cb307d28e 100644 --- a/var/spack/repos/builtin/packages/xkill/package.py +++ b/var/spack/repos/builtin/packages/xkill/package.py @@ -11,7 +11,7 @@ class Xkill(AutotoolsPackage, XorgPackage): clients. This program is very dangerous, but is useful for aborting programs that have displayed undesired windows on a user's screen.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xkill" + homepage = "https://cgit.freedesktop.org/xorg/app/xkill" xorg_mirror_path = "app/xkill-1.0.4.tar.gz" version('1.0.4', sha256='f80115f2dcca3d4b61f3c28188752c21ca7b2718b54b6e0274c0497a7f827da0') diff --git a/var/spack/repos/builtin/packages/xload/package.py b/var/spack/repos/builtin/packages/xload/package.py index c4ae7501b7b..33d881b1435 100644 --- a/var/spack/repos/builtin/packages/xload/package.py +++ b/var/spack/repos/builtin/packages/xload/package.py @@ -10,7 +10,7 @@ class Xload(AutotoolsPackage, XorgPackage): """xload displays a periodically updating histogram of the system load average.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xload" + homepage = "https://cgit.freedesktop.org/xorg/app/xload" xorg_mirror_path = "app/xload-1.1.2.tar.gz" version('1.1.2', sha256='4863ad339d22c41a0ca030dc5886404f5ae8b8c47cd5e09f0e36407edbdbe769') diff --git a/var/spack/repos/builtin/packages/xlogo/package.py b/var/spack/repos/builtin/packages/xlogo/package.py index 30d741a5c22..d74cfb9e411 100644 --- a/var/spack/repos/builtin/packages/xlogo/package.py +++ b/var/spack/repos/builtin/packages/xlogo/package.py @@ -9,7 +9,7 @@ class Xlogo(AutotoolsPackage, XorgPackage): """The xlogo program simply displays the X Window System logo.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xlogo" + homepage = "https://cgit.freedesktop.org/xorg/app/xlogo" xorg_mirror_path = "app/xlogo-1.0.4.tar.gz" version('1.0.4', sha256='0072eb3b41af77d5edfafb12998c7dd875f2795dc94735a998fd2ed8fc246e57') diff --git a/var/spack/repos/builtin/packages/xlsatoms/package.py b/var/spack/repos/builtin/packages/xlsatoms/package.py index a05b8637654..d317731586b 100644 --- a/var/spack/repos/builtin/packages/xlsatoms/package.py +++ b/var/spack/repos/builtin/packages/xlsatoms/package.py @@ -9,7 +9,7 @@ class Xlsatoms(AutotoolsPackage, XorgPackage): """xlsatoms lists the interned atoms defined on an X11 server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xlsatoms" + homepage = "https://cgit.freedesktop.org/xorg/app/xlsatoms" xorg_mirror_path = "app/xlsatoms-1.1.2.tar.gz" version('1.1.2', sha256='5400e22211795e40c4c4d28a048250f92bfb8c373004f0e654a2ad3138c2b36d') diff --git a/var/spack/repos/builtin/packages/xlsclients/package.py b/var/spack/repos/builtin/packages/xlsclients/package.py index da8df482393..2542dcbb505 100644 --- a/var/spack/repos/builtin/packages/xlsclients/package.py +++ b/var/spack/repos/builtin/packages/xlsclients/package.py @@ -10,7 +10,7 @@ class Xlsclients(AutotoolsPackage, XorgPackage): """xlsclients is a utility for listing information about the client applications running on a X11 server.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xlsclients" + homepage = "https://cgit.freedesktop.org/xorg/app/xlsclients" xorg_mirror_path = "app/xlsclients-1.1.3.tar.gz" version('1.1.3', sha256='4670a4003aae01e9172efb969246c3d8f33481f290aa8726ff50398c838e6994') diff --git a/var/spack/repos/builtin/packages/xlsfonts/package.py b/var/spack/repos/builtin/packages/xlsfonts/package.py index c0b0888ca2b..28de0bce599 100644 --- a/var/spack/repos/builtin/packages/xlsfonts/package.py +++ b/var/spack/repos/builtin/packages/xlsfonts/package.py @@ -10,7 +10,7 @@ class Xlsfonts(AutotoolsPackage, XorgPackage): """xlsfonts lists fonts available from an X server via the X11 core protocol.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xlsfonts" + homepage = "https://cgit.freedesktop.org/xorg/app/xlsfonts" xorg_mirror_path = "app/xlsfonts-1.0.5.tar.gz" version('1.0.5', sha256='2a7aeca1023a3918ad2a1af2258ed63d8f8b6c48e53841b3a3f15fb9a0c008ce') diff --git a/var/spack/repos/builtin/packages/xmag/package.py b/var/spack/repos/builtin/packages/xmag/package.py index 6e802b5c715..4f96c145470 100644 --- a/var/spack/repos/builtin/packages/xmag/package.py +++ b/var/spack/repos/builtin/packages/xmag/package.py @@ -9,7 +9,7 @@ class Xmag(AutotoolsPackage, XorgPackage): """xmag displays a magnified snapshot of a portion of an X11 screen.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xmag" + homepage = "https://cgit.freedesktop.org/xorg/app/xmag" xorg_mirror_path = "app/xmag-1.0.6.tar.gz" version('1.0.6', sha256='07c5ec9114376dcd9a3303a38779e79b949d486f3b832d4a438550357d797aa5') diff --git a/var/spack/repos/builtin/packages/xman/package.py b/var/spack/repos/builtin/packages/xman/package.py index d70099ed04e..ae8f927c10d 100644 --- a/var/spack/repos/builtin/packages/xman/package.py +++ b/var/spack/repos/builtin/packages/xman/package.py @@ -10,7 +10,7 @@ class Xman(AutotoolsPackage, XorgPackage): """xman is a graphical manual page browser using the Athena Widgets (Xaw) toolkit.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xman" + homepage = "https://cgit.freedesktop.org/xorg/app/xman" xorg_mirror_path = "app/xman-1.1.4.tar.gz" version('1.1.4', sha256='72fd0d479624a31d9a7330e5fdd220b7aa144744781f8e78aa12deece86e05c7') diff --git a/var/spack/repos/builtin/packages/xmh/package.py b/var/spack/repos/builtin/packages/xmh/package.py index 2c3ea1d8cb9..b2688c2eac0 100644 --- a/var/spack/repos/builtin/packages/xmh/package.py +++ b/var/spack/repos/builtin/packages/xmh/package.py @@ -11,7 +11,7 @@ class Xmh(AutotoolsPackage, XorgPackage): MH Message Handling System. To actually do things with your mail, it makes calls to the MH package.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xmh" + homepage = "https://cgit.freedesktop.org/xorg/app/xmh" xorg_mirror_path = "app/xmh-1.0.3.tar.gz" version('1.0.3', sha256='f90baf2615a4e1e01232c50cfd36ee4d50ad2fb2f76b8b5831fb796661f194d2') diff --git a/var/spack/repos/builtin/packages/xmodmap/package.py b/var/spack/repos/builtin/packages/xmodmap/package.py index 4f986b24b93..0176baae3d9 100644 --- a/var/spack/repos/builtin/packages/xmodmap/package.py +++ b/var/spack/repos/builtin/packages/xmodmap/package.py @@ -13,7 +13,7 @@ class Xmodmap(AutotoolsPackage, XorgPackage): session startup script to configure the keyboard according to personal tastes.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xmodmap" + homepage = "https://cgit.freedesktop.org/xorg/app/xmodmap" xorg_mirror_path = "app/xmodmap-1.0.9.tar.gz" version('1.0.9', sha256='73427a996f0fcda2a2c7ac96cfc4edd5985aeb13b48053f55ae7f63a668fadef') diff --git a/var/spack/repos/builtin/packages/xplsprinters/package.py b/var/spack/repos/builtin/packages/xplsprinters/package.py index 2cbe6558da5..d2c9a6945a4 100644 --- a/var/spack/repos/builtin/packages/xplsprinters/package.py +++ b/var/spack/repos/builtin/packages/xplsprinters/package.py @@ -9,7 +9,7 @@ class Xplsprinters(AutotoolsPackage, XorgPackage): """List Xprint printers.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xplsprinters" + homepage = "https://cgit.freedesktop.org/xorg/app/xplsprinters" xorg_mirror_path = "app/xplsprinters-1.0.1.tar.gz" version('1.0.1', sha256='33377e499429ce3e100fbd7b59153c87ad79bf55872561db08419f69cac4fbfd') diff --git a/var/spack/repos/builtin/packages/xpr/package.py b/var/spack/repos/builtin/packages/xpr/package.py index e19849e7ce8..75206ce0833 100644 --- a/var/spack/repos/builtin/packages/xpr/package.py +++ b/var/spack/repos/builtin/packages/xpr/package.py @@ -10,7 +10,7 @@ class Xpr(AutotoolsPackage, XorgPackage): """xpr takes as input a window dump file produced by xwd and formats it for output on various types of printers.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xpr" + homepage = "https://cgit.freedesktop.org/xorg/app/xpr" xorg_mirror_path = "app/xpr-1.0.4.tar.gz" version('1.0.4', sha256='9ec355388ae363fd40239a3fa56908bb2f3e53b5bfc872cf0182d14d730c6207') diff --git a/var/spack/repos/builtin/packages/xproto/package.py b/var/spack/repos/builtin/packages/xproto/package.py index d1e27975e85..7169870a751 100644 --- a/var/spack/repos/builtin/packages/xproto/package.py +++ b/var/spack/repos/builtin/packages/xproto/package.py @@ -16,7 +16,7 @@ class Xproto(AutotoolsPackage, XorgPackage): but are depended upon by many other X Window System packages to provide common definitions and porting layer.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/x11proto" + homepage = "https://cgit.freedesktop.org/xorg/proto/x11proto" xorg_mirror_path = "proto/xproto-7.0.31.tar.gz" version('7.0.31', sha256='6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7') diff --git a/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py b/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py index 0c590a5b96a..b479dbc5a88 100644 --- a/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py +++ b/var/spack/repos/builtin/packages/xproxymanagementprotocol/package.py @@ -11,7 +11,7 @@ class Xproxymanagementprotocol(AutotoolsPackage, XorgPackage): way for application servers to easily locate proxy services available to them.""" - homepage = "http://cgit.freedesktop.org/xorg/proto/pmproto" + homepage = "https://cgit.freedesktop.org/xorg/proto/pmproto" xorg_mirror_path = "proto/xproxymanagementprotocol-1.0.3.tar.gz" version('1.0.3', sha256='c1501045ec781f36b6f867611ab2b4e81be542f5c669b2fd0cc4ec1340c42bcf') diff --git a/var/spack/repos/builtin/packages/xrefresh/package.py b/var/spack/repos/builtin/packages/xrefresh/package.py index b359e08d479..d2174ad3dd0 100644 --- a/var/spack/repos/builtin/packages/xrefresh/package.py +++ b/var/spack/repos/builtin/packages/xrefresh/package.py @@ -9,7 +9,7 @@ class Xrefresh(AutotoolsPackage, XorgPackage): """xrefresh - refresh all or part of an X screen.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xrefresh" + homepage = "https://cgit.freedesktop.org/xorg/app/xrefresh" xorg_mirror_path = "app/xrefresh-1.0.5.tar.gz" version('1.0.5', sha256='b373cc1ecd37c3d787e7074ce89a8a06ea173d7ba9e73fa48de973c759fbcf38') diff --git a/var/spack/repos/builtin/packages/xsdk/package.py b/var/spack/repos/builtin/packages/xsdk/package.py index 2c07cd94de0..0ee4c051619 100644 --- a/var/spack/repos/builtin/packages/xsdk/package.py +++ b/var/spack/repos/builtin/packages/xsdk/package.py @@ -15,7 +15,7 @@ class Xsdk(BundlePackage): packages """ - homepage = "http://xsdk.info" + homepage = "https://xsdk.info" maintainers = ['balay', 'luszczek'] diff --git a/var/spack/repos/builtin/packages/xsm/package.py b/var/spack/repos/builtin/packages/xsm/package.py index 01fb4fdc431..7f0e8c998bf 100644 --- a/var/spack/repos/builtin/packages/xsm/package.py +++ b/var/spack/repos/builtin/packages/xsm/package.py @@ -9,7 +9,7 @@ class Xsm(AutotoolsPackage, XorgPackage): """X Session Manager.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xsm" + homepage = "https://cgit.freedesktop.org/xorg/app/xsm" xorg_mirror_path = "app/xsm-1.0.3.tar.gz" version('1.0.3', sha256='f70815139d62416dbec5915ec37db66f325932a69f6350bb1a74c0940cdc796a') diff --git a/var/spack/repos/builtin/packages/xstdcmap/package.py b/var/spack/repos/builtin/packages/xstdcmap/package.py index 5c73f588142..2be0f1f7ecc 100644 --- a/var/spack/repos/builtin/packages/xstdcmap/package.py +++ b/var/spack/repos/builtin/packages/xstdcmap/package.py @@ -12,7 +12,7 @@ class Xstdcmap(AutotoolsPackage, XorgPackage): create standard colormap definitions in order to facilitate sharing of scarce colormap resources among clients using PseudoColor visuals.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xstdcmap" + homepage = "https://cgit.freedesktop.org/xorg/app/xstdcmap" xorg_mirror_path = "app/xstdcmap-1.0.3.tar.gz" version('1.0.3', sha256='b97aaa883a9eedf9c3056ea1a7e818e3d93b63aa1f54193ef481d392bdef5711') diff --git a/var/spack/repos/builtin/packages/xvidtune/package.py b/var/spack/repos/builtin/packages/xvidtune/package.py index 33497835078..7ee7ee844b3 100644 --- a/var/spack/repos/builtin/packages/xvidtune/package.py +++ b/var/spack/repos/builtin/packages/xvidtune/package.py @@ -10,7 +10,7 @@ class Xvidtune(AutotoolsPackage, XorgPackage): """xvidtune is a client interface to the X server video mode extension (XFree86-VidModeExtension).""" - homepage = "http://cgit.freedesktop.org/xorg/app/xvidtune" + homepage = "https://cgit.freedesktop.org/xorg/app/xvidtune" xorg_mirror_path = "app/xvidtune-1.0.3.tar.gz" version('1.0.3', sha256='c0e158388d60e1ce054ce462958a46894604bd95e13093f3476ec6d9bbd786d4') diff --git a/var/spack/repos/builtin/packages/xvinfo/package.py b/var/spack/repos/builtin/packages/xvinfo/package.py index 87d202e448e..df3f2e635e4 100644 --- a/var/spack/repos/builtin/packages/xvinfo/package.py +++ b/var/spack/repos/builtin/packages/xvinfo/package.py @@ -10,7 +10,7 @@ class Xvinfo(AutotoolsPackage, XorgPackage): """xvinfo prints out the capabilities of any video adaptors associated with the display that are accessible through the X-Video extension.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xvinfo" + homepage = "https://cgit.freedesktop.org/xorg/app/xvinfo" xorg_mirror_path = "app/xvinfo-1.1.3.tar.gz" version('1.1.3', sha256='1c1c2f97abfe114389e94399cc7bf3dfd802ed30ad41ba23921d005bd8a6c39f') diff --git a/var/spack/repos/builtin/packages/xwininfo/package.py b/var/spack/repos/builtin/packages/xwininfo/package.py index 6632d16f16b..198a3da86b1 100644 --- a/var/spack/repos/builtin/packages/xwininfo/package.py +++ b/var/spack/repos/builtin/packages/xwininfo/package.py @@ -10,7 +10,7 @@ class Xwininfo(AutotoolsPackage, XorgPackage): """xwininfo prints information about windows on an X server. Various information is displayed depending on which options are selected.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xwininfo" + homepage = "https://cgit.freedesktop.org/xorg/app/xwininfo" xorg_mirror_path = "app/xwininfo-1.1.3.tar.gz" version('1.1.3', sha256='784f8b9c9ddab24ce4faa65fde6430a8d7cf3c0564573582452cc99c599bd941') diff --git a/var/spack/repos/builtin/packages/xwud/package.py b/var/spack/repos/builtin/packages/xwud/package.py index f0ef776f806..3f9a82db5a5 100644 --- a/var/spack/repos/builtin/packages/xwud/package.py +++ b/var/spack/repos/builtin/packages/xwud/package.py @@ -10,7 +10,7 @@ class Xwud(AutotoolsPackage, XorgPackage): """xwud allows X users to display in a window an image saved in a specially formatted dump file, such as produced by xwd.""" - homepage = "http://cgit.freedesktop.org/xorg/app/xwud" + homepage = "https://cgit.freedesktop.org/xorg/app/xwud" xorg_mirror_path = "app/xwud-1.0.4.tar.gz" version('1.0.4', sha256='b7c124ccd87f529daedb7ef01c670ce6049fe141fd9ba7f444361de34510cd6c') diff --git a/var/spack/repos/builtin/packages/yajl/package.py b/var/spack/repos/builtin/packages/yajl/package.py index da39126f397..49b84f9c899 100644 --- a/var/spack/repos/builtin/packages/yajl/package.py +++ b/var/spack/repos/builtin/packages/yajl/package.py @@ -9,7 +9,7 @@ class Yajl(CMakePackage): """Yet Another JSON Library (YAJL)""" - homepage = "http://lloyd.github.io/yajl/" + homepage = "https://lloyd.github.io/yajl/" url = "https://github.com/lloyd/yajl/archive/2.1.0.zip" git = "https://github.com/lloyd/yajl.git" diff --git a/var/spack/repos/builtin/packages/yara/package.py b/var/spack/repos/builtin/packages/yara/package.py index 6d2fa15e462..8e016db6d09 100644 --- a/var/spack/repos/builtin/packages/yara/package.py +++ b/var/spack/repos/builtin/packages/yara/package.py @@ -10,7 +10,7 @@ class Yara(AutotoolsPackage): """YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples""" - homepage = "http://virustotal.github.io/yara/" + homepage = "https://virustotal.github.io/yara/" url = "https://github.com/VirusTotal/yara/archive/v3.9.0.tar.gz" version('3.9.0', sha256='ebe7fab0abadb90449a62afbd24e196e18b177efe71ffd8bf22df95c5386f64d') diff --git a/var/spack/repos/builtin/packages/yasm/package.py b/var/spack/repos/builtin/packages/yasm/package.py index 6ad054229b8..e881f659491 100644 --- a/var/spack/repos/builtin/packages/yasm/package.py +++ b/var/spack/repos/builtin/packages/yasm/package.py @@ -12,7 +12,7 @@ class Yasm(AutotoolsPackage): GAS assembler syntaxes and outputs binary, ELF32 and ELF64 object formats.""" - homepage = "http://yasm.tortall.net" + homepage = "https://yasm.tortall.net" url = "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz" git = "https://github.com/yasm/yasm.git" diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py index 1b084383c64..28b73aa18e8 100644 --- a/var/spack/repos/builtin/packages/zlib/package.py +++ b/var/spack/repos/builtin/packages/zlib/package.py @@ -11,7 +11,7 @@ class Zlib(Package): data-compression library. """ - homepage = "http://zlib.net" + homepage = "https://zlib.net" # URL must remain http:// so Spack can bootstrap curl url = "http://zlib.net/fossils/zlib-1.2.11.tar.gz" diff --git a/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py b/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py index 1c1261bfb63..ec9decccaf5 100644 --- a/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py +++ b/var/spack/repos/builtin/packages/zookeeper-benchmark/package.py @@ -8,7 +8,7 @@ class ZookeeperBenchmark(MavenPackage): """It is designed to measure the per-request latency of a ZooKeeper ensemble for a predetermined length of time""" - homepage = "http://zookeeper.apache.org" + homepage = "https://zookeeper.apache.org" git = "https://github.com/brownsys/zookeeper-benchmark.git" version('master', branch='master') diff --git a/var/spack/repos/builtin/packages/zstd/package.py b/var/spack/repos/builtin/packages/zstd/package.py index ee47a82a322..bbee22d7b59 100644 --- a/var/spack/repos/builtin/packages/zstd/package.py +++ b/var/spack/repos/builtin/packages/zstd/package.py @@ -11,7 +11,7 @@ class Zstd(MakefilePackage): algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.""" - homepage = "http://facebook.github.io/zstd/" + homepage = "https://facebook.github.io/zstd/" url = "https://github.com/facebook/zstd/archive/v1.4.3.tar.gz" git = "https://github.com/facebook/zstd.git" From 2d78045cdde0b03b8f61b82ab249cd75c7514d35 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Thu, 2 Sep 2021 19:18:05 +0900 Subject: [PATCH 413/414] gromacs: add v2021.3 (#25750) --- var/spack/repos/builtin/packages/gromacs/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/gromacs/package.py b/var/spack/repos/builtin/packages/gromacs/package.py index 5b0a87a66e5..102d484122d 100644 --- a/var/spack/repos/builtin/packages/gromacs/package.py +++ b/var/spack/repos/builtin/packages/gromacs/package.py @@ -25,6 +25,7 @@ class Gromacs(CMakePackage): maintainers = ['junghans', 'marvinbernhardt'] version('master', branch='master') + version('2021.3', sha256='e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6') version('2021.2', sha256='d940d865ea91e78318043e71f229ce80d32b0dc578d64ee5aa2b1a4be801aadb') version('2021.1', sha256='bc1d0a75c134e1fb003202262fe10d3d32c59bbb40d714bc3e5015c71effe1e5') version('2021', sha256='efa78ab8409b0f5bf0fbca174fb8fbcf012815326b5c71a9d7c385cde9a8f87b') From f71d93fc55f2aaf955a31779b2fd2d0bbd17a37a Mon Sep 17 00:00:00 2001 From: Gianluca Ficarelli <26835404+GianlucaFicarelli@users.noreply.github.com> Date: Thu, 2 Sep 2021 14:58:02 +0200 Subject: [PATCH 414/414] py-submitit: add new package (#25699) --- .../builtin/packages/py-submitit/package.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-submitit/package.py diff --git a/var/spack/repos/builtin/packages/py-submitit/package.py b/var/spack/repos/builtin/packages/py-submitit/package.py new file mode 100644 index 00000000000..0e8bfa31e9d --- /dev/null +++ b/var/spack/repos/builtin/packages/py-submitit/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PySubmitit(PythonPackage): + """Python toolbox for submitting jobs to Slurm.""" + + homepage = "https://github.com/facebookincubator/submitit" + pypi = "submitit/submitit-1.3.3.tar.gz" + + version('1.3.3', sha256='efaa77b2df9ea9ee02545478cbfc377853ddf8016bff59df6988bebcf51ffa7e') + + depends_on('python@3.6:', type=('build', 'run')) + depends_on('py-setuptools', type=('build', 'run')) + + depends_on('py-cloudpickle@1.2.1:', type=('build', 'run')) + depends_on('py-typing-extensions@3.7.4.2:', type=('build', 'run'))